/* Shared responsive refinement for the exported static site. */
html,body{max-width:100%;overflow-x:clip}
body{overflow-wrap:anywhere}
.nav-links a,.wordmark,.start-links a,.contact-block .big-link,.elsewhere a,.research-entry a,.coverage a{min-height:44px;align-items:center;display:inline-flex}
.nav-links a{padding:10px 2px}
.wordmark{padding:7px 0}
.start-links a,.elsewhere a,.research-entry a,.coverage a{padding-top:9px;padding-bottom:9px}
.contact-block .big-link{max-width:100%}
.wordmark{gap:10px}
.brand-mark{flex:0 0 auto;width:34px;height:34px;object-fit:contain}
.menu-toggle{display:none}

@media (width<=980px){
  nav{align-items:flex-start;flex-direction:column;gap:10px;padding:24px 32px}
  .nav-links{justify-content:space-between;gap:6px;width:100%}
  .page-header{padding-top:76px}
  .hero{height:68vh;min-height:500px}
  .recognition{margin-bottom:112px;padding-left:32px;padding-right:32px}
  .latest-idea{padding-left:32px;padding-right:32px}
  .latest-idea-inner{grid-template-columns:1fr 1fr;gap:44px}
  .newsletter{padding-left:32px;padding-right:32px}
  .newsletter-inner{grid-template-columns:1fr 1fr;gap:44px}
  .pathways{gap:40px}
  .gallery{grid-template-columns:1.2fr 1fr}
}

@media (width<=760px){
  nav{padding:18px 24px}
  .nav-ready nav{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px}
  .nav-ready .menu-toggle{appearance:none;background:transparent;border:1px solid var(--line);border-radius:2px;cursor:pointer;display:grid;place-content:center;gap:5px;width:46px;height:46px;padding:0}
  .menu-toggle span{background:var(--navy);display:block;width:21px;height:1.5px;transition:transform .2s,opacity .2s}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}
  .nav-ready .nav-links{display:none;grid-column:1/-1}
  .nav-ready .nav-links.is-open{display:grid}
  .nav-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px;width:100%}
  .nav-links a{justify-content:center;padding:10px 2px}
  .hero{height:64svh;min-height:460px;max-height:640px}
  .hero img{object-position:62% 20%}
  .page-header h1{font-size:clamp(30px,9vw,42px)}
  .thesis{font-size:clamp(27px,8vw,38px)}
  .prose p{font-size:17px;line-height:1.78}
  .prose .thesis-line{font-size:22px;padding-left:20px}
  .gallery{grid-template-columns:1fr 1fr}
  .start-links{gap:10px 28px}
  footer{align-items:flex-start;flex-direction:column}
  .latest-idea{padding-left:24px;padding-right:24px}
  .latest-idea-inner,.newsletter-inner{grid-template-columns:1fr}
  .newsletter{padding-left:24px;padding-right:24px}
  .recognition{padding-left:24px;padding-right:24px}
  .recognition li{line-height:1.6}
  .newsletter input,.newsletter button{min-height:48px}
  .text-link{min-height:44px;align-items:center;display:inline-flex}
}

@media (width<=520px){
  .hero{margin:0 10px;min-height:430px}
  .hero-caption{bottom:24px;left:20px;right:20px}
  .hero-caption .role{max-width:24ch}
  .thesis-section,.page-header{padding-left:20px;padding-right:20px}
  .chain-section{padding-left:20px;padding-right:20px}
  .chain{align-items:stretch;display:grid;gap:12px}
  .chain-link{display:none}
  .chain-node{align-items:center;flex-direction:row}
  .chain-dot,.chain-node:first-child .chain-dot,.chain-node:nth-child(3) .chain-dot,.chain-node:nth-child(5) .chain-dot,.chain-node:nth-child(7) .chain-dot,.chain-node:nth-child(9) .chain-dot{flex:0 0 auto;width:10px;height:10px;margin:0 14px 0 0}
  .chain-label{font-size:11.5px}
  .pathways,.speaking-topics,.timeline,.findings,.coverage,.research-list,.about-photo-wrap,.prose,.contact-block{padding-left:20px;padding-right:20px}
  .gallery{grid-template-columns:1fr;padding-left:20px;padding-right:20px}
  .gallery figure:first-child{grid-column:auto}
  .timeline-photos.three-up{grid-template-columns:1fr 1fr}
  .hero-actions{align-items:stretch;flex-direction:column}
  .button{justify-content:center;min-height:46px;display:flex}
  .start-links{align-items:flex-start;flex-direction:column}
  .contact-block .big-link{font-size:clamp(22px,7vw,29px)}
  footer{padding-left:20px;padding-right:20px}
  .recognition{margin-bottom:80px;padding-left:20px;padding-right:20px}
  .recognition ul{align-items:flex-start;flex-direction:column;gap:8px}
  .recognition li:not(:last-child):after{content:"";padding:0}
  .latest-idea{padding-left:20px;padding-right:20px;padding-bottom:80px}
  .latest-idea-inner{gap:28px}
  .latest-idea h2,.newsletter h2{font-size:clamp(27px,8vw,34px)}
  .newsletter{padding:56px 20px}
  .newsletter-inner{gap:36px}
  .newsletter button{text-align:center}
  .positioning{font-size:16.5px}
  .hero-actions .button{width:100%}
}
