.container { width: min(100% - (2 * var(--gutter-page)), var(--measure-content)); margin-inline: auto; }
.reading { max-width: var(--measure-reading); }
.section { padding-block: var(--space-section); }
.section--muted { background: var(--color-surface-muted); }
.section--blue { background: var(--color-brand-blue-deep); color: #fff; }
.section--blue h2, .section--blue h3, .section--blue .eyebrow { color: #fff; }
.flow > * + * { margin-top: var(--space-6); }
.grid { display: grid; gap: var(--space-6); }
.grid--2, .grid--3 { grid-template-columns: 1fr; }
.site-header { position: sticky; z-index: 100; top: 0; background: var(--color-surface); border-bottom: 1px solid var(--color-border); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 4.5rem; gap: var(--space-4); }
.brand img { width: clamp(11.25rem, 42vw, 13.75rem); height: auto; }
.menu-toggle { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .65rem .85rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); font-weight: 700; }
.site-nav { position: fixed; z-index: 99; inset: 4.5rem 0 0; display: none; overflow-y: auto; padding: var(--space-8) var(--gutter-page); background: var(--color-surface); }
.site-nav.is-open { display: block; }
.site-nav ul { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.site-nav a { display: flex; align-items: center; min-height: 2.75rem; padding: .55rem .75rem; color: var(--color-text); font-weight: 600; text-decoration: none; }
.site-nav a[aria-current="page"] { color: var(--color-brand-blue); text-decoration: underline; text-decoration-thickness: .18em; }
.nav-cta { margin-top: var(--space-4); }
.site-footer { padding-block: var(--space-16) var(--space-8); background: var(--color-ink); color: #fff; }
.site-footer a { color: #fff; }
.site-footer h2, .site-footer h3 { color: #fff; font-size: 1rem; }
.footer-brand { filter: brightness(0) invert(1); width: 13rem; margin-bottom: var(--space-4); }
.footer-grid { display: grid; gap: var(--space-8); }
.footer-list { margin: 0; padding: 0; list-style: none; }
.footer-list li + li { margin-top: var(--space-2); }
.footer-meta { margin-top: var(--space-12); padding-top: var(--space-6); border-top: 1px solid rgba(255,255,255,.35); font-size: .875rem; }
.page-hero { padding-block: clamp(4rem, 10vw, 7rem); background: var(--color-brand-blue-soft); }
.page-hero h1 { max-width: 18ch; }
.breadcrumb { margin-bottom: var(--space-6); font-size: .9rem; }
.bottom-cta { position: sticky; z-index: 80; bottom: 0; display: flex; justify-content: center; padding: .65rem max(var(--gutter-page), env(safe-area-inset-left)) calc(.65rem + env(safe-area-inset-bottom)); background: var(--color-surface); border-top: 1px solid var(--color-border); }
@media (min-width: 48rem) {
  .grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: 1.6fr repeat(3, 1fr); }
}
@media (min-width: 64rem) {
  .menu-toggle { display: none; }
  .site-nav { position: static; display: flex; align-items: center; overflow: visible; padding: 0; background: transparent; }
  .site-nav ul { display: flex; align-items: center; gap: 0; }
  .site-nav a { padding-inline: .65rem; font-size: .9rem; }
  .site-nav .nav-cta { margin: 0 0 0 var(--space-2); color: #fff; }
  .bottom-cta { display: none; }
}
