
.main-nav { gap: clamp(14px,1.5vw,25px); }
.main-nav a { font-size: .67rem; letter-spacing: .08em; white-space: nowrap; }
.main-nav a[aria-current="page"] { color: var(--acid); }
.main-nav a[aria-current="page"]::after { transform: scaleX(1); }
a:focus-visible,button:focus-visible { outline: 2px solid var(--acid); outline-offset: 5px; }
.section-acid a:focus-visible { outline-color: var(--ink); }
.page-breadcrumb { padding: calc(var(--header-height) + 30px) 0 0; }
.page-breadcrumb .wrap { display:flex; align-items:center; flex-wrap:wrap; gap:12px; font-size:.75rem; }
.page-breadcrumb a { text-decoration:none; opacity:.75; }
.page-breadcrumb a:hover { opacity:1; text-decoration:underline; }
.subpage main > section:first-of-type { padding-top:55px; }
.subpage main > section:first-of-type > .split-intro,
.subpage main > section:first-of-type > .section-heading { padding-top:0; }
.subpage h1 { font-size:clamp(2.7rem,5.2vw,5rem); line-height:1.04; letter-spacing:-.055em; }
.subpage .section-acid h1 em { color:var(--white); }
.subpage .section-light h1 em { color:#397600; }
.subpage .founder-copy h1 { margin-bottom:8px; }
.subpage .contact h1 { max-width:1020px; margin:42px 0 65px; }
.subpage section[id],.subpage figure[id],.subpage article[id] { scroll-margin-top:100px; }
.topic-overview { padding:100px 0 90px; }
.topic-overview h2 { max-width:850px; margin:28px 0 50px; }
.topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line-light); border-left:1px solid var(--line-light); }
.topic-card { position:relative; min-height:280px; padding:28px; border-right:1px solid var(--line-light); border-bottom:1px solid var(--line-light); text-decoration:none; transition:background .25s; }
.topic-card:hover { background:var(--white); }
.topic-number { color:#397600; font-size:.7rem; font-weight:850; }
.topic-card h3 { margin:35px 0 15px; font-size:1.45rem; letter-spacing:-.035em; }
.topic-card p { color:#5d635b; font-size:.95rem; margin-bottom:35px; }
.topic-card > b { position:absolute; bottom:23px; right:28px; font-size:1.3rem; }
.home-visual { padding-bottom:100px; }
.home-visual .visual-story { margin-block:0; }
.next-step,.home-next { padding:65px 0; }
.next-step-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.next-step h2,.home-next h2 { margin:20px 0 0; font-size:clamp(1.9rem,3vw,3rem); max-width:760px; }
.next-step .button,.home-next .button { flex-shrink:0; }
.button-dark { color:var(--white); background:var(--ink); border-color:var(--ink); }
.media-intro { padding-bottom:70px; }
.media-intro h1 { max-width:1000px; margin:30px 0; }
.media-intro .lead { max-width:800px; color:rgba(255,255,255,.65); }
.media-library { padding:75px 0 95px; }
.media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.media-card { overflow:hidden; border:1px solid var(--line-light); background:var(--white); }
.media-image { display:flex; align-items:center; justify-content:center; aspect-ratio:16/9; background:var(--ink-soft); overflow:hidden; }
.media-image img { width:100%; height:100%; object-fit:cover; }
.media-image.contain { padding:22px; background:#e7e4db; }
.media-image.contain img { object-fit:contain; }
.media-body { padding:32px; }
.media-kicker { color:#397600; font-size:.68rem; letter-spacing:.09em; font-weight:850; text-transform:uppercase; }
.media-body h2 { font-size:clamp(1.65rem,2.3vw,2.4rem); line-height:1.13; letter-spacing:-.04em; margin-bottom:20px; }
.media-body > p { font-size:.97rem; line-height:1.65; }
.media-body .media-credit,.media-body .media-context { color:#656b61; font-size:.8rem; }
.media-links { display:flex; flex-direction:column; align-items:flex-start; gap:18px; margin-top:26px; }
.media-links .text-link { color:var(--ink); gap:18px; font-size:.68rem; }
.media-context { margin:22px 0 0; }
.media-book { padding:70px 0 95px; }
.media-book .book-feature { margin-top:0; padding-top:0; border:0; }
.media-book h2 { font-size:clamp(2rem,3.5vw,3rem); }
@media (max-width:1120px) {
 :root { --header-height:70px; }
 .site-header,.site-header.scrolled { height:70px; grid-template-columns:70px 1fr auto auto; gap:15px; padding:0 24px; }
 .brand,.scrolled .brand { width:70px; height:70px; }
 .nav-toggle { grid-column:4; justify-self:end; display:grid; gap:5px; width:34px; padding:7px 2px; border:0; color:var(--white); background:transparent; cursor:pointer; }
 .nav-toggle > span:not(.sr-only) { display:block; width:100%; height:1px; background:currentColor; transition:transform .3s,opacity .3s; }
 .nav-toggle[aria-expanded="true"] > span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
 .nav-toggle[aria-expanded="true"] > span:nth-child(2) { opacity:0; }
 .nav-toggle[aria-expanded="true"] > span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
 .main-nav { position:fixed; inset:70px 0 auto; display:grid; justify-items:start; gap:0; padding:20px 24px 28px; background:rgba(9,11,9,.98); border-bottom:1px solid var(--line-dark); transform:translateY(-120%); opacity:0; pointer-events:none; visibility:hidden; max-height:calc(100dvh - 70px); overflow-y:auto; transition:transform .3s var(--ease),opacity .25s; }
 .main-nav.open { transform:translateY(0); opacity:1; pointer-events:auto; visibility:visible; }
 .main-nav a { width:100%; padding:13px 0; border-bottom:1px solid var(--line-dark); font-size:.8rem; }
 .main-nav a::after { display:none; }
 .language-switch { grid-column:3; grid-row:1; }
 .topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
 .subpage h1 { font-size:clamp(2.5rem,8.6vw,4rem); }
 .next-step-inner { flex-direction:column; align-items:flex-start; gap:30px; }
 .media-grid { grid-template-columns:1fr; }
 .media-image { max-height:390px; }
 .topic-overview { padding-block:70px; }
 .home-visual { padding-bottom:70px; }
}
@media (max-width:560px) {
 .site-header { padding:0 14px; }
 .subpage h1,body.subpage[data-lang="zh"] h1 { font-size:clamp(2rem,9vw,3rem); line-height:1.08; }
 .topic-grid { grid-template-columns:1fr; }
 .topic-card { min-height:240px; padding:25px; }
 .page-breadcrumb { padding-top:95px; }
 .subpage main > section:first-of-type { padding-top:35px; }
 .media-library { padding:40px 0 60px; }
 .media-body { padding:25px; }
 .media-body h2 { font-size:1.8rem; }
 .media-links .text-link { letter-spacing:.04em; line-height:1.5; }
 .media-book { padding:50px 0 65px; }
}
@media (prefers-reduced-motion:reduce) { .topic-card,.main-nav { transition:none; } }
