/* Final responsive and type-quality pass. Loaded last so every public route shares the same rules. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizeLegibility}
body{font-synthesis:none}
h1,h2,h3,blockquote{text-wrap:balance}
p,li,small{overflow-wrap:break-word}
.topbar{background:#07121f;backdrop-filter:none}
.topbar a,.button,.mobile-dock a,.mobile-dock button{-webkit-tap-highlight-color:transparent}

@media(min-width:1800px){
  .hero,.journey-hero,.selection-hero,.framework-hero,.section,.speaker-call,.application-section,.decision-note,.version-section,.framework-manifesto,.framework-close{padding-left:max(100px,calc((100vw - 1600px)/2));padding-right:max(100px,calc((100vw - 1600px)/2))}
  .capacity-band{padding-left:max(0px,calc((100vw - 1800px)/2));padding-right:max(0px,calc((100vw - 1800px)/2))}
}

@media(max-width:1180px){
  .topbar nav a:not(.nav-cta){display:none}
  .topbar{min-height:68px}
  .topbar nav{gap:0}
}

@media(max-width:760px){
  body{font-size:17px;line-height:1.62}
  h1{font-size:clamp(2.75rem,12.6vw,3.45rem);letter-spacing:-.038em}
  h2{font-size:clamp(2.15rem,10vw,3rem);letter-spacing:-.036em}
  .eyebrow{font-size:.82rem;line-height:1.45;letter-spacing:.12em}
  .topbar{min-height:64px;padding:11px 15px;border-bottom-color:rgba(255,255,255,.16)}
  .brand{font-size:1.34rem}
  .nav-cta{min-height:42px;padding:10px 13px;font-size:.65rem;letter-spacing:.05em}
  .section{padding-top:54px;padding-bottom:54px}
  .lede,.body-copy{font-size:1rem;line-height:1.65}
  .hero .lede,.journey-hero .lede,.framework-hero .lede,.selection-hero .lede{color:rgba(255,255,255,.86)}
  .pathway-grid>a{min-height:0;padding:24px}
  .relay-how-grid p,.pathway-grid p,.speaker-brief p,.nextgen-pillars p,.travelling-questions p{font-size:1.05rem}
  .journey-strip>a{transform:none!important}
  .button{font-size:.72rem;line-height:1.25;text-align:center}
  .mobile-dock{background:#07172a;backdrop-filter:none}
  .mobile-dock small{font-size:.58rem;letter-spacing:.02em}
}

@media(max-width:900px){
  .founder-note{grid-template-columns:1fr;gap:18px;padding:58px 20px}
  .founder-note .eyebrow{margin:0}
  .founder-note>p:last-child{margin-top:4px}
}

@media(max-width:390px){
  .topbar{padding-inline:12px}
  .nav-cta{padding-inline:10px;font-size:.61rem}
  .section,.fit-section,.speaker-call{padding-left:16px;padding-right:16px}
  .event-anchor{padding:16px}
  .event-anchor time{font-size:clamp(1.55rem,8.2vw,2rem)}
  .mobile-dock{left:5px;right:5px;padding:4px}
  .mobile-dock small{font-size:.54rem}
}

@media(max-height:540px) and (max-width:760px){
  .mobile-dock{bottom:max(4px,env(safe-area-inset-bottom));padding:3px;border-radius:14px}
  .mobile-dock a,.mobile-dock button{min-height:42px}
  .mobile-dock span{font-size:.88rem}
  .mobile-dock small{font-size:.5rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.pathway-grid>a,.movement-card,.movement-intro{transition:none!important}}
