:root{
  --font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --font-display:Georgia,"Times New Roman",serif;
}

body,button,input,textarea,select{font-family:var(--font-sans)!important}
.serif,.footer-brand,.hero-aside strong,.hero-note strong,.identity span,.metric strong,.manifesto-item h2,.support h3,.panel h3,.team h2,.statement h2,.section-head h2,.method-card h3,.format h3,.fit-grid h2,.cta h2,.work h2,.role strong,.topic h3,.offer-teaser h3,.fact strong,.step h3,.card h3,.offer h2,.price strong,.legal-hero h1,.legal-copy h2{font-family:var(--font-display)!important}

main figure img,.about-photo img,.identity-photo img,.image-break img{
  filter:saturate(.9) contrast(1.02)!important;
}

.footer-grid{
  display:grid!important;
  grid-template-columns:minmax(210px,.8fr) minmax(360px,1.45fr) minmax(220px,.75fr);
  gap:46px!important;
  align-items:start!important;
}
.footer-title{display:block;color:#fff;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px}
.footer-pages{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px;font-size:.78rem}
.footer-pages a,.footer-links a,.footer-contact a{transition:color .2s ease}
.footer-pages a:hover,.footer-links a:hover,.footer-contact a:hover{color:#fff}
.footer-links{display:grid!important;grid-template-columns:1fr 1fr;gap:10px 22px!important;font-size:.82rem!important}
.footer-contact{display:grid;gap:9px}
.footer-contact a{display:flex;justify-content:space-between;gap:8px 18px;flex-wrap:wrap;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:.82rem;overflow-wrap:anywhere}
.footer-contact a:first-of-type{border-top:1px solid rgba(255,255,255,.16)}

a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2px solid var(--olive);
  outline-offset:4px;
}

::selection{background:var(--sage);color:var(--ink)}

@media(max-width:420px){
  .hero h1{font-size:clamp(2.72rem,13.5vw,3.15rem)!important}
  .brand{font-size:.88rem;letter-spacing:.1em}
  .actions .btn{width:100%}
}

@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr!important}
  .footer-links{grid-template-columns:1fr 1fr!important}
}

@media(max-width:480px){
  .footer-links{grid-template-columns:1fr!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1!important;transform:none!important}
}

/* Shared navigation: three clear paths plus offers and contact. */
.links{gap:16px}
.nav-topics summary{font-size:inherit;white-space:nowrap}
.nav-topics.active summary{color:var(--ink)}
.nav-topics.active summary:before{content:"";position:absolute;left:0;right:16px;bottom:-8px;height:1px;background:var(--ink)}
.nav-about .nav-submenu{width:180px}
.nav-submenu a.active{font-weight:600}
@media(max-width:960px){
  .links{gap:15px}
  .nav-topics summary{padding:11px 18px 11px 0;min-height:44px;display:flex;align-items:center}
  .nav-topics.active summary:before{display:none}
  .nav-topics .nav-submenu,.nav-about .nav-submenu{width:100%}
  .links>a{min-height:44px;display:flex;align-items:center}
}

/* Keep the voice portrait monochrome while other photography stays warmer. */
.home-voice figure img,.voice-special-image img{filter:grayscale(1) contrast(1.05)!important}

/* Desktop portrait stages keep the full head in view on wide screens. */
@media(min-width:701px){
  .editorial-band.portrait,.network-portrait{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;background:var(--deep)}
  .editorial-band.portrait::before,.network-portrait::before{content:"";position:absolute;inset:-38px;background-image:linear-gradient(rgba(18,29,20,.36),rgba(18,29,20,.36)),var(--portrait-photo);background-size:cover;background-position:center 28%;filter:blur(30px);z-index:-1}
  .editorial-band.portrait img,.network-portrait img{position:relative;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:center;box-shadow:0 0 55px rgba(8,17,10,.22)}
  .social-photo img{object-position:center top}
  .identity-photo img{object-position:center 10%}
  .image-break{background-position:center 12%!important}
  .home-intro-image img{object-position:55% top}
  .home-about-photo img{object-position:center 10%}
  .venture-panel:nth-child(2) img{object-position:center 8%}
}
