/* 13781 one-site page: the main site's menu in the top bar and its footer at the bottom (Matt, 2026-10-23: the top and
   bottom look like every other page; the top bar keeps this home's night palette). Footer rules copied from app/globals.css. */
.topbar.is-solid { background: rgba(10, 19, 34, .93); color: #fff; box-shadow: 0 1px 0 rgba(255, 255, 255, .08); }
.topbar__site { display: flex; align-items: center; gap: clamp(14px, 1.8vw, 28px); }
.topbar__site a { position: relative; text-decoration: none; font-size: 13.5px; letter-spacing: .04em; opacity: .85; padding: 4px 0; }
.topbar__site a:hover, .topbar__site a[aria-current] { opacity: 1; }
.topbar__site a[aria-current]::after { content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 1px; background: var(--copper); }
.topbar__site .topbar__home-link, .topbar__this { display: none; }
@media (max-width: 1240px) {
  .topbar__nav { justify-content: flex-start; align-items: stretch; gap: 0; padding: 92px var(--gutter) 48px; }
  .topbar__site { flex-direction: column; align-items: flex-start; gap: 14px; }
  .topbar__site .topbar__home-link { display: block; }
  .topbar__nav .topbar__site a { font: 400 30px/1.1 var(--display); padding: 0; }
  .topbar__site a[aria-current]::after { bottom: -6px; right: auto; width: 48px; }
  .topbar__this { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; margin-top: 34px; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .16); }
  .topbar__this > span { grid-column: 1 / -1; font: 600 11px/1.4 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--copper); }
  .topbar__nav .topbar__this a { font: 400 18px/1.3 var(--sans); opacity: .82; }
}
.site-footer { font-family: Arial, Helvetica, sans-serif; font-size: .68rem; line-height: 1.8; letter-spacing: .08em; --font-display: 'Grogan Display', Baskerville, 'Iowan Old Style', Georgia, serif; --ink: #002349; --ink-label: #46617f; --ink-secondary: #526983; --line: rgba(0, 35, 73, .16); }
.site-footer p { margin: 0; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.footer-mark{color: white;}
.brand-mark{width: clamp(168px, 15vw, 218px);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-self: start;}
.brand-mark img{width: 100%;
  height: auto;
  display: block;}
.brand-mark span{margin-top: 2px;
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.36em;
  text-transform: uppercase;}
.site-header .brand-mark img,
.site-footer .brand-mark img{filter: none;
  mix-blend-mode: normal;}
.site-header .brand-mark span,
.site-footer .brand-mark span{color: var(--ink);}
.site-footer{padding: 78px 6vw 34px;
  display: grid;
  grid-template-columns: minmax(240px, 1.45fr) repeat(3, minmax(130px, 0.72fr));
  gap: 48px;
  align-items: start;}
.site-footer > div{display: flex;
  flex-direction: column;}
.footer-identity .brand-mark{width: 220px;}
.footer-identity > p{max-width: 330px;
  margin-top: 27px;
  color: rgba(255, 255, 255, 0.62);
  font-family: var(--font-display);
  font-size: 1rem;
  line-height: 1.55;
  letter-spacing: 0;}
.footer-column > span{margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.48);
  font-size: 0.53rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;}
.footer-column > a{width: max-content;
  max-width: 100%;
  margin: 4px 0;}
.footer-contact p{margin: 13px 0 8px;
  color: rgba(255, 255, 255, 0.62);}
.footer-bottom{grid-column: 1 / -1;
  margin-top: 24px;
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  display: grid !important;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 30px;
  color: rgba(255, 255, 255, 0.48);
  font-size: 0.54rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;}
.footer-bottom img{width: min(230px, 23vw);
  height: auto;
  filter: brightness(0) invert(1);
  opacity: 0.82;}
.footer-bottom nav{justify-self: end;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px 18px;}
@media (max-width: 1100px){.site-footer{grid-template-columns: 1.25fr repeat(3, 1fr); gap: 32px;}}
@media (max-width: 760px){.brand-mark{width: 158px;}.site-footer{padding: 62px 24px 30px; grid-template-columns: 1fr;}.footer-bottom{grid-template-columns: 1fr; justify-items: start;}.footer-bottom nav{justify-self: start; justify-content: flex-start;}.footer-bottom img{width: 220px;}}
.site-footer{border-top: 1px solid var(--line);
  background: #fff;
  color: var(--ink);}
.footer-identity > p,
.footer-contact p{color: rgba(0, 35, 73, 0.68);}
.footer-column > span,
.footer-bottom{color: var(--ink-label);}
.footer-bottom{border-top-color: var(--line);}
.footer-bottom img{filter: none;
  opacity: 1;}
.site-header .brand-mark img,
.site-footer .brand-mark img{filter: none;
  mix-blend-mode: normal;}
.header-brand-lockup .brand-mark{width: clamp(142px, 11vw, 176px);
  flex: 0 0 auto;}
.footer-legal-identity{display: flex;
  flex-direction: column;
  gap: 7px;
  line-height: 1.5;}
.footer-legal-identity .footer-site-credit{margin-top: 3px;
  color: var(--ink-secondary);
  letter-spacing: 0.09em;}
@media (max-width: 520px){.header-brand-lockup .brand-mark{width: 142px;}}
.site-footer > div,
.footer-contact,
.footer-bottom{min-width: 0;}
.footer-contact a,
.footer-contact p,
.footer-bottom p{overflow-wrap: anywhere;}
@media (min-width: 761px) and (max-width: 900px){.site-footer{grid-template-columns: repeat(2, minmax(0, 1fr));}.footer-bottom{grid-template-columns: minmax(0, 1fr) minmax(180px, 0.8fr);}.footer-bottom nav{grid-column: 1 / -1;
    justify-self: start;
    justify-content: flex-start;}}