:root{--bg:#08090b;--ink:#eeefed;--muted:#a3a5aa;--line:#35363b;--paper:#15161a;--pad:clamp(24px,5vw,88px);--signal:#4062ff;color-scheme:dark}
html{background:var(--bg);scroll-padding-top:90px}body{background:var(--bg);color:var(--ink)}
.noise{opacity:.045}main{overflow:clip;position:relative;z-index:1}
#journey-field{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.48}
.topbar{background:rgba(8,9,11,.85);backdrop-filter:blur(18px);border-bottom:1px solid #ffffff18;color:#eeefed;padding-top:18px;padding-bottom:18px}
.topbar .brand-logo{filter:invert(1);width:180px}.site-nav{gap:28px}.site-nav a{color:#9b9da4;transition:color .2s}.site-nav a[aria-current=true]{color:#fff}.lang{border:1px solid #ffffff40;border-radius:0;padding:8px 14px}
.hero{height:auto;min-height:120svh;padding:26svh var(--pad) 160px;display:flex;align-items:center;background:transparent;border-bottom:1px solid var(--line)}
.hero-copy{position:relative;z-index:2;max-width:1100px;padding:0}
.hero .eyebrow{margin-bottom:40px;font-size:12px;letter-spacing:.19em}
.hero h1{font-size:clamp(68px,11.5vw,188px);max-width:9ch;line-height:.89;letter-spacing:-.06em;font-weight:600}
.hero h1 .cn{font-size:26px;line-height:1.5;margin-top:28px;letter-spacing:0}
.hero-sub{font-size:clamp(20px,2vw,30px);line-height:1.5;max-width:28ch;margin-top:42px;color:#bdc0c7}
.coin-wrap{right:-8vw;top:51%;width:min(57vw,840px);opacity:.58;filter:drop-shadow(0 35px 100px #000);transform:translateY(-50%) rotate(-12deg)}
.coin{animation:none}.hero-foot{bottom:50px;left:var(--pad);right:var(--pad);line-height:1.7;color:#a7a9af}
.hero-cities{max-width:65%}
section{border-bottom:1px solid var(--line);padding-top:130px;padding-bottom:130px;background:transparent}
.section-head{grid-template-columns:200px 1fr;gap:40px;margin-bottom:80px;align-items:start}
.section-title{font-size:clamp(48px,8vw,126px);line-height:.98;letter-spacing:-.055em;max-width:15ch;font-weight:500}
.section-title .cn{font-size:24px;margin-top:30px;color:#a8abb4}.index{font-family:ui-monospace,monospace;font-size:12px;line-height:1.7;letter-spacing:.12em;color:#969aa5}
#about{min-height:140svh;padding-top:22svh}.copy-grid{margin-top:65px}.copy{grid-column:6/span 6;max-width:58ch}
.copy p{font-size:21px;line-height:1.65;color:#d5d7dd;margin-bottom:35px}.copy p .cn{font-size:18px;color:#a7aab4}
.principles{padding:0;background:transparent;border-bottom:0}
.principles>.section-head{padding:130px var(--pad) 40px;margin:0;background:#102cae}
.principles>.section-head .index,.principles>.section-head .cn{color:#c1cbff}
.principle-grid{display:block;border:0}
.principle{min-height:100svh;padding:18svh var(--pad) 14svh;border:0;border-bottom:1px solid #ffffff26;display:grid;grid-template-columns:200px 1fr;column-gap:40px;align-content:center;background:#102cae;position:relative}
.principle:nth-child(even){background:#0c2391}.principle .index{color:#a7b7ff;grid-column:1;grid-row:1/3}
.principle h3{grid-column:2;font-size:clamp(45px,7vw,108px);line-height:1;letter-spacing:-.055em;margin:0 0 55px;max-width:15ch;font-weight:500}
.principle h3 .cn{font-size:24px;margin-top:22px;color:#ccd4ff}
.principle p{grid-column:2;max-width:52ch;font-size:21px;line-height:1.7;color:#e7eafe}.principle p .cn{font-size:18px;color:#c4cdf5}
.people{padding-top:150px;padding-bottom:0}.people>.section-head{margin-bottom:90px}.people-grid{display:block;margin:0 calc(var(--pad)*-1);border:0}
.person{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:8vw;min-height:105svh;padding:110px var(--pad);align-content:center;border:0;border-top:1px solid var(--line);background:rgba(8,9,11,.75);overflow:visible;position:relative}
.person:nth-child(even){background:rgba(18,19,23,.9)}.person:hover{background:rgba(18,19,23,.9)}
.person-number{grid-column:1/-1;margin:0 0 45px;font-family:ui-monospace,monospace;color:#9296a3}
.person-top{grid-column:1;grid-row:2/6;position:sticky;top:160px;align-self:start}
.person-name{font-size:clamp(54px,7vw,110px);line-height:1;letter-spacing:-.055em;max-width:10ch;font-weight:500;text-wrap:balance}
.person-desc{grid-column:2;margin:0 0 32px;font-size:22px;line-height:1.6;max-width:50ch}.person-desc .cn{font-size:18px;color:#a8acb8}
.client-block{grid-column:2;margin:0 0 30px}.client-label{color:#8e93a1}.client-name{font-size:19px;color:#d7dae2}.client-name .cn{color:#9fa5b3}
.profile-highlights{grid-column:2;margin:0 0 28px}.profile-highlights li{border-color:var(--line);font-size:16px;color:#bec3ce}
.person-meta{grid-column:2}.profile-open{font-size:16px;color:#e9ebf4}.person .profile-open{border-bottom:1px solid #74798c;padding:12px 38px 18px 0}
.evidence{background:#17191e;padding-top:100px;padding-bottom:100px}.evidence .section-title{font-size:clamp(44px,6vw,92px)}.evidence .lede{font-size:30px;line-height:1.3}.e-row strong{font-weight:400}.e-row{padding:25px 0}.practice-note{color:#b6bac5}
.projects{padding-bottom:0}.project-intro{margin-left:calc(200px + 40px);max-width:55ch;font-size:23px;line-height:1.6;color:#b9becb}
.project-list{margin:90px calc(var(--pad)*-1) 0;border:0}
.project-editorial{min-height:110svh;padding:130px var(--pad);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8vw;border-top:1px solid var(--line);border-bottom:0;background:rgba(8,9,11,.9);align-items:start}
.project-editorial:nth-child(2){background:#242017}.project-editorial:nth-child(3){background:#17221f}.project-editorial:nth-child(4){background:#1a1c2a}.project-editorial:nth-child(5){background:#191919}
.project-heading{position:sticky;top:150px;align-self:start}.project-heading h3{font-size:clamp(44px,6vw,94px);line-height:1.03;letter-spacing:-.05em;font-weight:500;margin:36px 0;max-width:13ch}
.project-content{padding:0}.project-content>p{font-size:20px;line-height:1.75;color:#d7d9df;margin-bottom:38px}.project-content>p .cn{font-size:18px;color:#aeb1bb}
.project-field,.project-status{color:#abb1c0}.project-link{color:#dde3f4}.project-editorial img{background:transparent;border:1px solid #ffffff18}.project-card figcaption{color:#afb3bf}
.structure{padding-top:140px;padding-bottom:140px;background:rgba(8,9,11,.95)}.structure .section-title{font-size:clamp(48px,7vw,100px)}.s-row p{color:#b4b9c5}.s-row strong{font-weight:400;font-size:32px;line-height:1.3}
.terminal{position:relative;z-index:1;background:#0d0e10}.terminal-head h2{font-size:14px;line-height:1.6}.terminal-board{max-width:1100px;margin:auto}
footer{position:relative;z-index:1;background:#08090b;padding-bottom:100px}
.profile-dialog{background:#15161a;color:#eeefed}.dialog-toolbar{background:#15161a}.dialog-brand .brand-logo{filter:invert(1)}.profile-row dd{color:#c2c7d2}.profile-row{border-color:var(--line)}.profile-sources{color:#a9b0bf}.profile-dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}
.journey-readout{position:fixed;bottom:0;left:0;right:0;z-index:80;display:flex;justify-content:space-between;align-items:center;padding:15px var(--pad);background:rgba(8,9,11,.86);backdrop-filter:blur(15px);border-top:1px solid #ffffff20;font:12px/1.5 ui-monospace,monospace;letter-spacing:.1em;color:#a8afbd;pointer-events:none}
.journey-readout strong{color:#e0e5ef;font-weight:400}.journey-track{width:120px;height:2px;background:#ffffff26;overflow:hidden}.journey-track i{display:block;height:100%;width:100%;background:#7290ff;transform-origin:left;transform:scaleX(0)}
.scroll-cue{display:flex;gap:20px;align-items:center;font:12px/1.5 ui-monospace,monospace;letter-spacing:.14em;color:#9da4b3;margin-top:60px}.scroll-cue i{height:60px;width:1px;background:linear-gradient(#607fff,transparent)}
body.profile-is-open .journey-readout{visibility:hidden}
@media(min-width:900px){body.journey-ready .journey-scene{will-change:transform;transform:translate3d(0,var(--scene-y,0px),0)}body.journey-ready .journey-scene h3{transition:color .3s}body.journey-ready .journey-scene.is-current h3{color:#fff}}
@media(max-width:900px){
 .topbar{padding-top:14px;padding-bottom:10px}.topbar .brand-logo{width:155px}.site-nav{gap:22px}.site-nav a{font-size:14px}
 .hero{min-height:110svh;padding-top:180px;padding-bottom:140px}.hero-copy{padding-top:160px}.hero h1{font-size:clamp(64px,15vw,110px)}.hero h1 .cn{font-size:22px}.hero-sub{font-size:22px}.coin-wrap{top:30%;right:-15vw;width:85vw;opacity:.36}.hero-foot{bottom:45px}.hero-cities{max-width:100%}
 .section-head{grid-template-columns:1fr;gap:24px}.section-title{font-size:clamp(48px,10vw,82px)}.section-title .cn{font-size:22px}
 #about{min-height:100svh;padding-top:120px}.copy{grid-column:1/-1}.copy p{font-size:20px}
 .principle{grid-template-columns:1fr;min-height:90svh;padding-top:110px;padding-bottom:110px}.principle .index{grid-column:1;grid-row:auto;margin-bottom:45px}.principle h3,.principle p{grid-column:1}.principle h3{font-size:clamp(44px,9vw,75px);margin-bottom:35px}.principle p{font-size:20px}
 .person{grid-template-columns:1fr;min-height:100svh;padding-top:85px;padding-bottom:85px;row-gap:0}.person-number{grid-column:1;margin-bottom:30px}.person-top{grid-column:1;grid-row:auto;position:static;margin-bottom:40px}.person-name{font-size:clamp(48px,10vw,82px);max-width:16ch}.person-desc,.client-block,.profile-highlights,.person-meta{grid-column:1}.person-desc{font-size:20px}
 .project-intro{margin-left:0;font-size:20px}.project-editorial{grid-template-columns:1fr;gap:40px;padding-top:90px;padding-bottom:90px;min-height:100svh}.project-heading{position:static}.project-heading h3{font-size:clamp(42px,9vw,75px);max-width:18ch}.project-content>p{font-size:19px}
 .structure .section-title{font-size:clamp(44px,9vw,78px)}.journey-readout{padding:12px var(--pad)}.journey-track{width:65px}.scroll-cue{margin-top:35px}.scroll-cue i{height:40px}
}
@media(prefers-reduced-motion:reduce){#journey-field{display:none}.journey-scene{transform:none!important;will-change:auto!important}html{scroll-behavior:auto}.coin{transform:none!important}}

/* Shared people overview: each card opens its complete profile */
.people{padding-bottom:110px}
.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;border:0;align-items:stretch}
.people .person{display:flex;flex-direction:column;min-height:0;padding:30px 24px;gap:0;border:1px solid var(--line);background:#121419;position:relative;transform:none!important;will-change:auto!important;transition:border-color .2s,background .2s}
.people .person:hover,.people .person:focus-within{background:#1b1e27;border-color:#7890dd}
.people .person-number{font-size:12px;margin:0 0 32px;line-height:1.6}
.people .person-top{position:static;margin:0 0 25px;display:block}
.people .person-name{font-size:clamp(30px,2.8vw,48px);max-width:none;line-height:1.07;letter-spacing:-.035em}
.people .person-desc{font-size:16px;line-height:1.6;margin:0 0 25px;max-width:none}
.people .person-desc .cn{font-size:16px}
.people .client-block{margin:0 0 24px}.people .client-name{font-size:14px;line-height:1.6}.people .client-label{font-size:12px}
.people .profile-highlights{margin:0 0 24px}.people .profile-highlights li{font-size:14px}
.people .person-meta{margin-top:auto;padding-top:20px}
.people .profile-open{position:static;width:100%;font-size:14px;text-align:left;padding:12px 30px 12px 0;border-bottom:1px solid #74798c}
.people .profile-open::after{content:"";position:absolute;inset:0;z-index:2;cursor:pointer}
.people .profile-open:focus-visible{outline:none}.people .person:has(.profile-open:focus-visible){outline:2px solid #91a7ff;outline-offset:4px}
@media(max-width:1150px){.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.people .person-name{font-size:42px}}
@media(max-width:600px){.people-grid{grid-template-columns:1fr}.people .person{padding:30px}.people .person-name{font-size:40px}}
@media(prefers-reduced-motion:reduce){.people .person{transition:none}}

/* Keep short ideas together rather than stretching them into empty screens */
#about{min-height:0;padding-top:120px;padding-bottom:110px}
.principles{background:#102cae;padding:100px var(--pad);border-bottom:1px solid #ffffff26}
.principles>.section-head{padding:0;margin-bottom:70px;background:transparent}
.principle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 70px;border-top:1px solid #ffffff40}
.principle,.principle:nth-child(even){min-height:0;display:block;padding:42px 0 48px;background:transparent;border-bottom:1px solid #ffffff40;transform:none!important;will-change:auto!important}
.principle .index{margin-bottom:24px}
.principle h3{font-size:clamp(32px,3.8vw,58px);line-height:1.1;max-width:18ch;margin:0 0 24px}
.principle h3 .cn{font-size:20px;margin-top:14px}
.principle p{font-size:19px;line-height:1.7;max-width:56ch}
.principle p .cn{font-size:18px}
.projects>.section-head{margin-bottom:45px}.project-list{margin-top:55px}
.project-editorial{min-height:0;padding-top:85px;padding-bottom:85px}
.structure{padding-top:100px;padding-bottom:100px}
@media(max-width:900px){#about{padding-top:100px;padding-bottom:90px}.principles{padding:80px var(--pad)}.principles>.section-head{margin-bottom:45px}.principle-grid{gap:0 36px}.principle{padding-top:35px;padding-bottom:40px}.principle h3{font-size:36px}.project-editorial{min-height:0;padding-top:70px;padding-bottom:70px}}
@media(max-width:650px){.principle-grid{grid-template-columns:1fr}.principle h3{font-size:36px;max-width:none}.principle p{font-size:18px}}

/* Official project identities above quiet image backgrounds */
.coin-wrap{width:clamp(230px,30vw,460px);right:7vw;opacity:.9;filter:drop-shadow(0 22px 40px #0008);transform:translateY(-50%)}
.project-editorial{position:relative;isolation:isolate;overflow:clip;transform:none!important;will-change:auto!important;background:#08090b!important}
.project-backdrop{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.project-backdrop img{width:100%;height:100%;max-height:none;object-fit:cover;border:0;opacity:.55;transform:scale(1.06) translateY(var(--background-y,0px));will-change:transform}
.project-editorial::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,9,11,.58),rgba(8,9,11,.87) 54%,rgba(8,9,11,.94)),linear-gradient(0deg,#08090b99,transparent 35%,#08090b88)}
.project-logo-panel{display:flex;align-items:center;justify-content:center;width:min(100%,320px);min-height:120px;padding:24px;background:#eeefed;margin-bottom:35px}
.project-heading .project-logo{display:block;width:100%;height:auto;max-height:120px;object-fit:contain;border:0;background:none}
.project-heading h3{font-size:clamp(32px,4vw,64px);margin:25px 0}
.project-content>p{color:#f1f2f4}.project-content>p .cn{color:#c6c9d2}.project-field,.project-status{color:#c8cdd6}
@media(max-width:900px){.coin-wrap{width:min(49vw,310px);right:5vw;top:25%;opacity:.8}.hero-copy{padding-top:110px}.project-editorial::before{background:linear-gradient(0deg,#08090bf2 15%,#08090bda 55%,#08090b99)}.project-logo-panel{width:250px;min-height:100px}.project-backdrop img{opacity:.45}}
@media(prefers-reduced-motion:reduce){.project-backdrop img{transform:none;will-change:auto}}

/* A quiet night atmosphere, with sparse abstract points of light */
html{background:#070a10}body{background:radial-gradient(ellipse at 75% 5%,#131d2e55,transparent 50%),radial-gradient(ellipse at 12% 45%,#101a2855,transparent 55%),#070a10;background-attachment:fixed}
#journey-field{opacity:.36}.noise{opacity:.022}
.night-glints{position:fixed;inset:0;z-index:0;pointer-events:none}
.night-glints i{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;border-radius:50%;background:#b9c6df;box-shadow:0 0 7px 2px #a0b6de20;opacity:.12;animation:night-glint var(--duration) ease-in-out var(--delay) infinite}
@keyframes night-glint{0%,100%{opacity:.08}45%{opacity:.55}65%{opacity:.15}}
body.page-hidden .night-glints i{animation-play-state:paused}
.principles{background:#0c1629c9}.principles>.section-head{background:transparent}.principle,.principle:nth-child(even){background:transparent}
.people .person{background:#111722b8}.people .person:hover,.people .person:focus-within{background:#192333dc}
.evidence{background:#101725b8}.structure{background:#0b101ab8}.terminal{background:#0a0f18c9}footer{background:#080c14d9}
.people .profile-open .open-plus{position:static;float:right;top:auto;right:auto;margin-right:-26px;font-size:24px;line-height:1}
@media(prefers-reduced-motion:reduce){.night-glints i{animation:none;opacity:.16}}

/* Official transparent identities, without a panel behind them */
.project-logo-panel{background:transparent;padding:0;justify-content:flex-start;min-height:0;margin-bottom:40px}
.project-heading .project-logo{background:transparent;filter:invert(1);max-height:140px;width:100%;object-position:left center}
#project-3 .project-logo{filter:none}
/* About: concise homepage overview and three short editorial pages */
.about-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:52px}
.about-links a{display:block;padding:24px 0;border-top:1px solid #ffffff35;transition:border-color .2s}
.about-links a:hover,.about-links a:focus-visible{border-color:#eeefed}
.about-links h3{font-size:clamp(24px,2.5vw,36px);line-height:1.25;font-weight:400;margin:22px 0 0;text-wrap:balance}
.about-links .cn{font-size:18px;line-height:1.6}
.about-page #about{min-height:0;padding-top:160px;padding-bottom:80px}
.about-page .section-head{margin-top:52px;margin-bottom:48px}
.about-page .section-title{max-width:15ch;font-size:clamp(44px,7vw,96px);line-height:1.08}
.about-page .copy-grid{margin-top:0}.about-page .copy{grid-column:5/span 7;max-width:62ch}
.about-page .copy p{margin-bottom:32px;font-size:20px;line-height:1.75}
.about-page .copy .cn{font-size:18px;line-height:1.85}
.about-return{display:inline-block;font-size:16px;color:#bdc0c7;text-decoration:underline;text-underline-offset:6px}
.about-page-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;border-top:1px solid #ffffff35;margin-top:64px;padding-top:28px}
.about-page-nav a{font-size:18px;line-height:1.5;color:#a3a5aa}
.about-page-nav a[aria-current=page]{color:#eeefed}.about-page-nav .cn{font-size:16px}
@media(max-width:700px){.about-links,.about-page-nav{grid-template-columns:1fr;gap:20px}.about-page #about{padding-top:125px}.about-page .copy{grid-column:1/-1}.about-page .section-head{margin-top:40px}.about-page .copy p{font-size:18px}}
/* Three visible reading chapters, with no click-through requirement */
.about-chapters{display:grid;gap:0}
.about-chapter{display:grid;grid-template-columns: minmax(0,1fr) minmax(0,1.35fr);gap:clamp(36px,8vw,150px);padding:60px 0;border-top:1px solid #ffffff26;scroll-margin-top:110px}
.about-chapter-heading h3{font-size:clamp(30px,3.5vw,54px);font-weight:400;line-height:1.16;letter-spacing:-.035em;max-width:15ch;margin:28px 0 0;text-wrap:balance}
.about-chapter-heading h3 .cn{font-size:20px;line-height:1.6}
.about-chapter .copy{max-width:60ch;grid-column:auto;font-size:20px}
.about-chapter .copy p{font-size:20px;line-height:1.75;margin:0 0 28px}
.about-chapter .copy p:last-child{margin-bottom:0}
.about-chapter .copy .cn{font-size:18px;line-height:1.85}
@media(max-width:800px){.about-chapter{grid-template-columns:1fr;gap:30px;padding:40px 0}.about-chapter-heading h3{max-width:22ch;margin-top:18px}.about-chapter .copy p{font-size:18px}}
#project-5 .project-logo{filter:invert(1)}

/* Keep hero metadata below the copy as bilingual text wraps or grows. */
.hero{flex-direction:column;align-items:flex-start;justify-content:center;gap:48px}
.hero-foot{position:relative;inset:auto;width:100%;flex:none;z-index:2}
@media(max-width:900px){
 .hero{gap:40px;padding-bottom:80px}
 .hero-foot{flex-direction:column;align-items:flex-start;gap:20px}
 .hero-cities{max-width:100%;text-align:left}
}

/* Project names support the brand marks without repeating their scale. */
.project-heading h3{font-size:clamp(24px,2.2vw,34px);line-height:1.2;letter-spacing:-.025em;margin:18px 0 14px;max-width:28ch}
.project-logo-panel{margin-bottom:28px}
@media(max-width:900px){.project-heading h3{font-size:26px;max-width:28ch}.project-logo-panel{margin-bottom:24px}}

/* Footer: identity, both offices and the closing emblem share one desktop line. */
footer{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(340px,1.35fr) minmax(310px,1.15fr) minmax(84px,.34fr);align-items:start;gap:clamp(24px,3vw,54px)}
.footer-brand{justify-self:start;padding-top:3px}.footer-wordmark{display:block;width:min(100%,190px);height:auto;filter:invert(1);margin:0}
.footer-address{min-width:0;font-style:normal;font-size:clamp(12px,1vw,15px);line-height:1.65;letter-spacing:0;text-transform:none;color:#c6c9d2;margin:0;white-space:nowrap}
.footer-address strong{display:inline-block;margin-bottom:5px;color:#eeefed;font-weight:600}
.footer-signoff{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:14px;min-width:84px}
.footer-signoff .footer-emblem{width:64px;height:64px}.footer-signoff .footer-copy{text-align:right;white-space:nowrap}
@media(max-width:1180px){footer{grid-template-columns:minmax(160px,.7fr) minmax(0,1.3fr);gap:40px 60px}.footer-address{white-space:normal}.footer-signoff{justify-self:start;align-items:flex-start}.footer-signoff .footer-copy{text-align:left}}
@media(max-width:680px){footer{grid-template-columns:1fr;gap:34px;padding-bottom:90px}.footer-wordmark{width:175px}.footer-address{font-size:15px}.footer-signoff{flex-direction:row;align-items:center;gap:18px}}

/* The closing line occupies the final site readout; footer elements share the content edge. */
.journey-slogan{white-space:nowrap;letter-spacing:.14em;color:#d7dbe4}
@media(max-width:650px){.journey-readout{gap:18px}.journey-readout .journey-track{display:none}.journey-readout strong,.journey-slogan{font-size:10px}.journey-slogan{margin-left:auto}}

/* Keep mobile text sizing and flex widths within the actual viewport. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.hero-copy{width:100%;min-width:0;max-width:1100px}
.hero h1{width:100%;max-width:100%}
@media(max-width:900px){
 .hero-copy{max-width:100%}
 .hero h1{font-size:clamp(32px,10.8vw,88px);line-height:1;letter-spacing:-.055em}
 .hero-sub{max-width:100%}
 .topbar{min-width:0;max-width:100%}
 .site-nav{min-width:0;max-width:100%}
}

/* Hero descriptor stays on one viewport-fitted line in both language views. */
.hero-copy{container-type:inline-size}
.hero-sub{width:100%;max-width:none}
.hero-sub-en{display:block;width:max-content;max-width:100%;white-space:nowrap;font-size:min(30px,3.2vw);letter-spacing:-.025em}
@supports(font-size:1cqi){.hero-sub-en{font-size:min(30px,3.8cqi)}}
body:not(.hide-cn) .hero-sub .cn{white-space:normal}

/* Restrained motion: arrival, emphasis and clear feedback on interactive areas. */
.hero-sub-en.is-typing::after{content:"";display:inline-block;width:.06em;height:.9em;margin-left:.13em;background:#8da4ff;vertical-align:-.06em;animation:type-caret .75s steps(1,end) infinite}
@keyframes type-caret{0%,48%{opacity:1}49%,100%{opacity:0}}
.principle h3,.about-chapter h3,.chain-step h3,.project-heading h3,.network-closing .section-title{transition:transform .38s cubic-bezier(.2,.7,.2,1),color .25s ease}
.project-backdrop img{transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .35s ease}
.site-nav a,.chain-person,.chain-websites a,.profile-websites a,.about-return{transition:color .2s ease,border-color .2s ease,opacity .2s ease}
@media(hover:hover) and (pointer:fine){
 .principle:hover h3,.about-chapter:hover h3,.chain-step:hover h3,.project-editorial:hover .project-heading h3,.network-closing:hover .section-title{transform:translateX(10px);color:#fff}
 .project-editorial:hover .project-backdrop img{transform:scale(1.085) translateY(var(--background-y,0px));opacity:.64}
 .site-nav a:hover,.chain-person:hover,.chain-websites a:hover,.profile-websites a:hover,.about-return:hover{color:#fff}
}
@media(max-width:600px){.hero-sub-en{font-size:clamp(12px,3.65vw,17px);letter-spacing:-.035em}}
@media(prefers-reduced-motion:reduce){.hero-sub-en.is-typing::after{display:none}.principle h3,.about-chapter h3,.chain-step h3,.project-heading h3,.network-closing .section-title,.project-backdrop img{transition:none!important;transform:none!important}}

/* Connected work, with independent practices attached to each stage. */
.chain-intro{max-width:900px;font-size:20px;line-height:1.65;margin:24px 0 48px}.chain-step{display:grid;grid-template-columns:72px minmax(0,1fr);gap:24px;padding:36px 0;border-top:1px solid var(--line)}.chain-number{color:#aab2c2;font-size:16px;display:flex;flex-direction:column;gap:24px}.chain-number span{font-size:28px;color:#e8c84b}.chain-step:last-child .chain-number span{visibility:hidden}.chain-content h3{font-size:clamp(26px,3vw,40px);line-height:1.2;font-weight:400;margin:0 0 20px}.chain-text{max-width:920px;font-size:18px;line-height:1.7;color:#c6cad3;margin:0 0 24px}.chain-people{display:flex;flex-wrap:wrap;gap:12px 24px}.chain-person{display:block;text-align:left;font:inherit;font-size:16px;line-height:1.5;color:#c6cad3;background:none;border:0;border-bottom:1px solid #737b89;padding:5px 0;cursor:pointer}.chain-person:hover{color:#fff}.chain-person:focus-visible{outline:2px solid #e8c84b;outline-offset:5px}.chain-person .cn{font-size:inherit}.work-chain .practice-note{max-width:900px;font-size:16px;line-height:1.6;margin-top:32px}@media(max-width:600px){.chain-step{grid-template-columns:28px minmax(0,1fr);gap:16px;padding:28px 0}.chain-intro{font-size:18px}.chain-text{font-size:17px}.chain-people{gap:12px 18px}}

.chain-websites{font-size:16px;line-height:1.6;color:#b6bac5;margin-top:24px}.chain-websites summary{cursor:pointer;width:fit-content}.chain-websites nav,.profile-websites{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px}.chain-websites a,.profile-websites a{color:#b6bac5;text-underline-offset:5px}.profile-websites{font-size:16px;line-height:1.6;margin:32px 0}.chain-websites a:hover,.profile-websites a:hover{color:#fff}

/* Extend the original glass layers beyond both mobile viewport edges. */
@media(max-width:900px){
 .topbar{top:0;z-index:120;isolation:isolate;overflow:visible;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding-top:calc(14px + env(safe-area-inset-top,0px))}
 .topbar::before{content:"";position:absolute;inset:-150px 0 0;background:rgba(8,9,11,.85);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:-1;pointer-events:none}
 .journey-readout{bottom:0;z-index:120;isolation:isolate;overflow:visible;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 .journey-readout::before{content:"";position:absolute;inset:0 0 -150px;background:rgba(8,9,11,.86);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:-1;pointer-events:none}
 html{scroll-padding-top:calc(130px + env(safe-area-inset-top,0px))}
 footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
}

/* Quiet language controls, aligned with the profile close icon. */
.topbar .lang,.dialog-toolbar .dialog-lang{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px 6px;border:0;border-radius:0;background:transparent;color:#bfc2c9;font-size:13px;font-weight:400;line-height:1;letter-spacing:.08em;text-decoration:none;outline:none;-webkit-tap-highlight-color:transparent;transition:color .2s}
.topbar .lang::after,.dialog-toolbar .dialog-lang::after{content:"";position:absolute;bottom:7px;left:50%;width:18px;height:1px;background:currentColor;opacity:0;transform:translateX(-50%);transition:opacity .2s}
.topbar .lang[aria-pressed=true],.dialog-toolbar .dialog-lang[aria-pressed=true]{font-weight:400;text-decoration:none;color:#eeefed}
.topbar .lang[aria-pressed=true]::after,.dialog-toolbar .dialog-lang[aria-pressed=true]::after{opacity:.65}
.topbar .lang:hover,.dialog-toolbar .dialog-lang:hover{color:#fff}
.topbar .lang:focus-visible,.dialog-toolbar .dialog-lang:focus-visible{outline:1px solid #aab4c5;outline-offset:2px;border-radius:3px}
@media(prefers-reduced-motion:reduce){.topbar .lang,.dialog-toolbar .dialog-lang,.topbar .lang::after,.dialog-toolbar .dialog-lang::after{transition:none}}
