/* Shared workflow navigation; native details keeps it usable without JavaScript. */
.flow-menu{position:relative}
.flow-menu>summary{cursor:pointer;list-style:none;color:var(--ink-mid)}
/* Links and the native disclosure share one header type scale on every page. */
.bar .nav>a,.bar .flow-menu>summary,.bar .nav-cta,.bar .menu>summary,.bar .lang button[data-lang]{font:500 .875rem/1.3 var(--f-body);letter-spacing:0;text-transform:none;white-space:nowrap}
.bar .nav>a,.bar .flow-menu>summary{display:flex;align-items:center;min-height:2.75rem;padding:.8rem 0}
.bar .nav-cta{min-height:2.75rem}
:root[lang="zh"] .bar .nav>a,:root[lang="zh"] .bar .flow-menu>summary{letter-spacing:0}
.flow-menu>summary::-webkit-details-marker{display:none}
.flow-menu>summary::after{content:"⌄";margin-left:.5rem;color:var(--accent)}
.flow-menu[open]>summary,.flow-menu.is-current>summary{color:var(--ink)}
.flow-menu.is-current>summary{border-bottom:1px solid var(--accent)}
.flow-panel{position:absolute;top:100%;left:-1rem;z-index:50;min-width:17rem;padding:.5rem;background:var(--card);border:1px solid var(--line);border-radius:10px}
.nav .flow-panel a{display:grid;gap:.35rem;padding:1rem;font:500 .875rem/1.3 var(--f-body);text-transform:none;letter-spacing:0;border:0}
.flow-panel a:hover,.flow-panel a[aria-current="page"]{background:var(--raise)}
.flow-panel small{font:400 .75rem/1.4 var(--f-body);color:var(--ink-mid)}
.menu-panel .flow-mobile{padding-left:1.5rem}
/* Dropdown rows already have real padding: no animated underline or expanded hit overlay. */
.nav .flow-panel a::before,.nav .flow-panel a::after{content:none}
.bar .lang button{min-width:2.75rem}
.workflow-switch{display:flex;gap:2rem;border-bottom:1px solid var(--line);padding-top:1.5rem}
.workflow-switch a{display:grid;gap:.35rem;padding:.8rem 0 1.1rem;text-decoration:none;border-bottom:2px solid transparent;font-size:1.05rem}
.workflow-switch a[aria-current="page"]{border-color:var(--accent)}
.workflow-switch small{color:var(--ink-mid);font-size:.75rem}
.workflow-switch a:hover{color:var(--accent-lift)}
.imaging-hero{padding-block:clamp(2.75rem,6vw,5rem)}
.imaging-hero h1{max-width:48rem}
.page-actions{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:.5rem}
.text-link{display:inline-block;min-height:2.75rem;padding:.5rem 0;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.4em;font-size:.95rem}
.text-link:hover{text-decoration-color:var(--accent);color:var(--accent-lift)}
.status-live{color:#476F53}
.capability{display:grid;grid-template-columns:1.1fr 1fr 1.25fr auto;gap:1.5rem;align-items:start;padding:1.8rem 0;border-top:1px solid var(--line)}
.capability-name{display:grid;gap:.8rem}
.capability h3{font:400 clamp(1.5rem,2.2vw,2rem)/1.15 var(--f-display);margin:0}
.capability p{margin:0;color:var(--ink-mid);font-size:.95rem}
.capability .mono{margin-bottom:.6rem;font-size:.7rem}
.capability>a{align-self:center;white-space:nowrap}
.preparation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:clamp(2rem,5vw,5rem);row-gap:1.25rem;align-items:start}
.preparation>.mono{grid-column:1/-1;margin:0}
.preparation>h2{grid-column:1;grid-row:2;font-size:clamp(2rem,1.5rem + 2vw,3.4rem)}
.preparation>.preparation-copy{grid-column:2;grid-row:2;min-width:0}
.preparation-copy p{margin:0 0 1.2rem;color:var(--ink-mid);max-width:42rem}
.roadmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.roadmap img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px}
.roadmap h3{font:400 clamp(1.5rem,2.2vw,2rem)/1.2 var(--f-display);margin:1.2rem 0 .6rem}
.roadmap p{font-size:.95rem;color:var(--ink-mid);margin:0}
.pave-hero,.founder-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.pave-intro,.founder-copy{display:grid;gap:1.4rem}
.pave-hero h1,.founder-hero h1{font-size:clamp(2.5rem,4.5vw,4.7rem)}
.development-note{padding-block:1rem;border-block:1px solid var(--line);color:var(--ink-mid);font-size:.9rem;margin:0}
.project-note{background:var(--raise);padding:clamp(1.5rem,3vw,3rem);border:1px solid var(--line);display:grid;align-content:space-between;min-height:25rem}
.project-note p{margin:0}
.project-note .project-word{font:italic 400 clamp(4rem,8vw,7rem)/1 var(--f-display);color:var(--accent-lift);padding-block:3rem}
.project-note .mono:last-child{margin-top:2rem;text-transform:none;letter-spacing:0}
.founder-portrait{margin:0;width:min(100%,24rem);justify-self:center}
.founder-portrait img{display:block;width:100%;height:auto;border-radius:12px}
.project-links{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:2.5rem;row-gap:.75rem}
.project-links>a{position:relative;border-block:1px solid var(--line);padding:1.5rem 2rem 1.5rem 0;text-decoration:none;display:grid;grid-template-rows:auto auto 1fr;gap:.75rem;align-content:start}
/* Share caption, heading and description tracks instead of independent text flow. */
@supports(grid-template-rows:subgrid){.project-links>a{grid-row:span 3;grid-template-rows:subgrid}}
.project-links>a:hover{border-color:var(--accent)}
.project-links small{display:block;font-size:.8rem;line-height:1.5;color:var(--ink-mid)}
.project-links h3{font:400 2rem/1.2 var(--f-display);margin:0}
.project-links p{color:var(--ink-mid);margin:0;max-width:27rem}
.project-links>a>span:last-child{position:absolute;top:1.5rem;right:0;color:var(--accent)}
:root[lang="zh"] .capability h3,:root[lang="zh"] .roadmap h3,:root[lang="zh"] .project-links h3{font-family:"Songti SC","STSong",serif;line-height:1.3}
/* CJK headings fill their available measure instead of balancing individual characters. */
:root[lang="zh"] .display{text-wrap:wrap;line-break:strict}
.heading-phrase{display:inline-block;max-width:100%;text-wrap:wrap}
.heading-line{display:block}
:root[lang="zh"] .preparation>h2{font-size:clamp(1.5rem,3vw,2.75rem)}
:root[lang="zh"] .section:not(.preparation)>.section-head,:root[lang="zh"] .cta h2{max-width:none}
:root[lang="zh"] .section-head h2,:root[lang="zh"] .cta h2{font-size:clamp(1.75rem,1.25rem + 2.4vw,3.4rem)}
:root[lang="zh"] .pave-hero h1{font-size:clamp(2.25rem,1.25rem + 3vw,4rem)}
@media(max-width:1000px){.capability{grid-template-columns:1fr 1fr}.capability-name{grid-row:span 2}.capability>a{grid-column:2}.pave-hero,.founder-hero{gap:2rem}}
@media(max-width:700px){.preparation>h2,.preparation>.preparation-copy{grid-column:1;grid-row:auto}}
@media(max-width:700px){.workflow-switch{gap:1.5rem}.workflow-switch a{font-size:.95rem;flex:1}.preparation,.pave-hero,.founder-hero,.project-links{grid-template-columns:1fr}.founder-hero .founder-portrait{width:min(100%,22rem);justify-self:start}.roadmap{grid-template-columns:1fr;gap:2.2rem}.roadmap article{max-width:32rem}.project-note{min-height:19rem}.project-note .project-word{padding-block:1.5rem}.capability{grid-template-columns:1fr;gap:1rem}.capability-name{grid-row:auto}.capability>a{grid-column:1}.imaging-hero{padding-block:2.5rem}}
/* Mobile menu: anchor the panel to the header bar, not the Menu button, so it cannot leave the viewport (was clipped ~20px at left on iPhone). */
.bar{position:relative}.menu{position:static}.menu-panel{left:var(--gutter);right:var(--gutter);top:calc(100% + .4rem)}
