@charset "UTF-8";
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased;--bg:#f6f4ed;--ink:#282c26;--muted:#74756b;--line:#d8d8cf;--accent:#7b6749}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}a:hover{color:var(--accent)}p{font-size:16px;line-height:1.95;color:var(--muted);margin:0}h1,h2,h3,figure{margin:0}h1,h2{font-weight:400;letter-spacing:-.055em}h1{font-size:clamp(50px,5.8vw,88px);line-height:1.25}h2{font-size:clamp(30px,3vw,44px);line-height:1.45}h3{font-size:20px;font-weight:500}em{font-style:normal}header,main,footer{max-width:1600px;margin:auto}header{height:128px;padding:46px 6% 0;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:550;font-size:29px;letter-spacing:-1.5px;display:inline-flex;align-items:center;gap:8px}.brand-icon{font-size:36px;line-height:1;transform:rotate(-18deg)}.brand-dot{align-self:flex-start;font-size:10px;letter-spacing:0;padding-top:5px}nav{display:flex;gap:38px;font-size:13px}nav a{padding:12px 0}section{scroll-margin-top:25px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:500;display:block}.hero{padding:84px 6% 70px}.hero p{margin-top:28px}.text-link{display:inline-flex;align-items:center;gap:40px;border-bottom:1px solid var(--ink);padding:0 0 12px;margin-top:40px;font-size:13px}.hero h1{margin-top:30px}.hero figure img{width:100%;display:block}.hero figcaption{font-family:"Courier New",monospace;font-size:10px;letter-spacing:1px;color:var(--muted)}.belief{padding:95px 6% 110px;display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line)}.belief>div>p{max-width:580px;margin-top:30px}.principles{display:flex;gap:44px;margin-top:36px;font-size:13px}.principles span:before{content:'＋';margin-right:12px;color:var(--accent)}.backing{margin:0 6%;padding:75px 0 90px;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 2fr;align-items:start}.section-head h2{font-size:30px}.partners{display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px}.partners>a,.partner{display:flex;align-items:center;justify-content:space-between;min-height:85px;border-bottom:1px solid var(--line);font-family:"Helvetica Neue","PingFang SC",sans-serif;font-size:19px;font-weight:500;letter-spacing:-.5px;padding:16px 20px 16px 0}.partners>a>span{font-size:12px;opacity:0;transform:translate(-4px,4px);transition:all .2s}.partners a:hover span{opacity:1;transform:none}.join{padding:85px 6%;background:#eae8de}.join h2{margin-top:28px;font-size:48px}.join-bottom{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-top:35px}.cta{display:flex;align-items:center;justify-content:space-between;min-width:220px;padding:20px 24px;background:var(--ink);color:var(--bg);font-size:14px;transition:transform .2s,background .2s}.cta:hover{transform:translateY(-3px);background:var(--accent);color:var(--bg)}.email{display:inline-block;font-size:12px;border-bottom:1px solid currentColor;margin-top:25px}.join-bottom p{font-size:14px}footer{padding:32px 6%;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}footer .brand{font-size:24px;color:var(--ink)}.skip{position:fixed;top:-100px;z-index:100;background:white;color:black;padding:15px}.skip:focus{top:45px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:10px}.research-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:545px}.hero-rule{display:flex;justify-content:space-between;font:10px "Courier New",monospace;border-top:1px solid var(--line);padding:23px 0;color:var(--muted)}.research-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:60px}.research-principles article>span{font:11px "Courier New",monospace;color:var(--accent)}.research-principles h3{margin:22px 0 15px;font-size:17px}.research-principles p{font-size:13px}.circle-link{border:1px solid #a7b09b;border-radius:50%;height:38px;width:38px;display:grid;place-items:center;margin:30px auto 40px;transition:background .2s}.circle-link:hover{background:#e5e9dd}.organic-values{display:flex;align-items:center;gap:30px;margin-top:40px;font-size:12px}.organic-values i{width:4px;height:4px;border-radius:50%;background:#80936d}
.v4{--bg:#f3f1e9;--ink:#24251f;--muted:#727168;--line:#cfcec3;--accent:#b73925}.v4 .brand-icon{display:none}.v4 header{height:126px}.v4 .hero{padding:38px 6% 40px;background:#b73925;color:#f9f2df;margin:25px 3% 0}.poster-meta{display:flex;justify-content:space-between;font-size:10px;line-height:1.6;letter-spacing:1px}.poster-meta span:last-child{text-align:right}.v4 h1{font-size:clamp(80px,11.2vw,164px);font-weight:550;letter-spacing:-.075em;line-height:1.05;margin-top:42px!important}.v4 .outline{color:transparent;-webkit-text-stroke:1.5px #f9f2df}.period{letter-spacing:-.35em}.poster-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;margin-top:34px}.poster-bottom p{color:#f9f2df;font-size:15px;line-height:1.7;margin:0}.poster-arrow{font-size:95px;text-align:center;line-height:1}.poster-arrow:hover{color:#fff}.poster-bottom>span{font-size:11px;line-height:1.8;justify-self:end}.v4 .belief{border-top:0;padding-top:95px}.v4 .belief h2{font-size:44px;font-weight:500}.manifesto-lines{margin:30px 0}.manifesto-lines p{padding:18px 0;color:var(--ink);font-size:21px;border-bottom:1px solid var(--line)}.manifesto-lines span{font:10px "Courier New",monospace;display:inline-block;width:44px;color:var(--accent)}.v4 .belief>div>p{font-size:14px}.v4 .partners{grid-template-columns:repeat(3,1fr)}.v4 .partners>a,.v4 .partner{font-size:22px;min-height:85px}.v4 .join{background:var(--ink);color:#f3f1e9;margin:0 3%}.v4 .join h2{font-size:48px;max-width:650px}.v4 .join p{color:#b9b9af}.v4 .cta{background:#f3f1e9;color:#24251f}.v4 .cta:hover{background:#b73925;color:#fff}.v4 .join .eyebrow{color:#dc745f}@media(max-width:900px){nav{gap:22px}.research-grid{min-height:490px}.belief,.section-head{grid-template-columns:1fr 2.4fr}.partners{grid-template-columns:repeat(3,1fr)}.partners>a,.partner{font-size:16px}.research-principles{gap:18px}.v4 h1{font-size:110px}.v4 .join h2{font-size:40px}}
@media(max-width:600px){html{scroll-padding-top:70px}header{height:117px;padding-top:39px}.brand{font-size:24px}.brand-icon{font-size:29px}nav{gap:15px;font-size:11px}nav a:first-child{display:none}h1{font-size:46px}h2{font-size:30px}.eyebrow{font-size:9px;letter-spacing:1.3px}.hero p{font-size:13px!important;margin-top:23px}.text-link{margin-top:26px;font-size:12px}.belief{display:block;padding:60px 6%}.belief>div{margin-top:28px}.belief>div>p{font-size:14px;margin-top:22px}.principles{gap:22px;font-size:11px}.section-head{display:block}.section-head h2{margin-top:22px;font-size:27px}.backing{padding:55px 0 60px}.partners{grid-template-columns:repeat(2,1fr);margin-top:30px}.partners>a,.partner{font-size:15px;min-height:72px;padding-right:12px}.partners a>span{opacity:.6}.join{padding:60px 6%}.join h2{font-size:35px}.join-bottom{align-items:stretch;flex-direction:column;gap:27px}.join-bottom p{font-size:13px}.cta{min-width:0;width:100%;font-size:13px}footer{padding:26px 6%;font-size:9px}footer .brand{font-size:22px}.research-grid{display:block;min-height:0;margin-top:50px}.hero-rule{font-size:8px;gap:15px;margin-top:30px}.hero-rule>span:last-child{max-width:115px;text-align:right}.research-principles{grid-template-columns:1fr;margin-top:30px;gap:23px}.research-principles article{display:grid;grid-template-columns:35px 1fr;align-items:baseline}.research-principles h3{margin:0 0 10px}.research-principles p{grid-column:2}.organic-values{gap:18px;font-size:11px}.v4 .hero{padding:25px 6% 28px;margin-top:0}.v4 h1{font-size:76px!important;margin-top:60px!important}.poster-meta{font-size:8px}.poster-bottom{grid-template-columns:1fr auto;margin-top:45px}.poster-bottom p{font-size:12px!important}.poster-bottom>span{display:none}.poster-arrow{font-size:65px}.v4 .belief{padding-top:60px}.v4 .belief h2{font-size:32px}.manifesto-lines p{font-size:17px}.manifesto-lines span{width:25px}.v4 .partners{grid-template-columns:repeat(2,1fr)}.v4 .partners>a,.v4 .partner{font-size:15px;min-height:72px}.v4 .join h2{font-size:35px}.v4 .join{padding:60px 6%}}
@media(prefers-reduced-motion:no-preference){.hero-copy,.research-grid>div,.v4 .hero>h1{animation:enter .85s ease-out both}.hero figure{animation:enter 1.1s ease-out both}@keyframes enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}} @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:600px){.v4 h1{font-size:clamp(48px,16vw,64px)!important}.v4 .outline{white-space:nowrap}}
.v4{--bg:#f6f7f9;--ink:#07101d;--muted:#445064;--line:rgba(7,16,29,.12);--accent:#5f73ff;--night:#060914;--white:#f8fbff}
.v4 .hero{background:var(--night);color:var(--white)}
.v4 .outline{-webkit-text-stroke-color:var(--white)}
.v4 .period{color:var(--accent)}
.v4 .poster-bottom p{color:var(--white)}
.v4 .poster-bottom>span{color:#b7bdca}
.v4 .poster-arrow:hover{color:var(--accent)}
.v4 .letter-section{grid-template-columns:1fr 2fr;padding-top:115px;padding-bottom:125px;gap:0}
.letter-margin{display:flex;flex-direction:column;gap:30px}
.letter-note{font-size:10px;line-height:2.1;letter-spacing:1px;color:var(--muted)}
.vision-letter{max-width:690px}
.letter-kicker{color:var(--muted);margin-bottom:22px}
.v4 .vision-letter h2{font-size:48px;letter-spacing:-.045em;margin-bottom:48px}
.v4 .vision-letter p{font-size:16px;line-height:2.15;color:var(--muted);margin:0 0 25px;text-align:justify;letter-spacing:.02em}
.v4 .vision-letter .salutation{color:var(--ink);font-weight:500;margin-bottom:32px}
.letter-signature{border-top:1px solid var(--line);margin-top:45px;padding-top:27px;display:flex;flex-direction:column;gap:18px}
.letter-signature>span{font-size:13px;letter-spacing:.04em}
.letter-signature strong{font:italic 31px Georgia,serif;letter-spacing:-1px;font-weight:400}
/* Services: three restrained white cards with hairline borders and thin line illustrations in the globe's visual language. */
.v4 .services{margin:0 var(--hero-inset);padding:clamp(60px,8vw,110px) 0 clamp(64px,8vw,120px)}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px);margin-top:clamp(40px,5vw,64px)}
.service-card{background:#fff;padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;gap:14px;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.service-card:hover{transform:translateY(-8px)}
/* Service figures: isometric glass slabs with depth of field (material A). Animations run only while the figure is in view (site.js adds .is-on) and are disabled under reduced motion. The slow float is a compositor-driven transform on the <svg> itself, so it never re-rasterises the drawing. */
.service-figure{margin:0 0 6px;color:var(--ink)}.service-figure svg{display:block;width:100%;height:auto;will-change:transform;animation:svc-floaty 7s ease-in-out infinite alternate}
.service-figure *{animation-play-state:paused!important}.service-figure.is-on *{animation-play-state:running!important}
.svc-spin{transform-box:view-box;animation:svc-spin var(--t,12s) linear infinite}@keyframes svc-spin{to{transform:rotate(360deg)}}
.svc-pulse{transform-box:view-box;animation:svc-pulse 3s ease-out infinite}@keyframes svc-pulse{0%{transform:scale(.7);opacity:.75}100%{transform:scale(2.4);opacity:0}}
.svc-blink{animation:svc-blink 2.6s ease-in-out infinite}@keyframes svc-blink{0%,100%{opacity:.25}50%{opacity:1}}
.svc-cursor{offset-rotate:0deg;animation:svc-cursor var(--t,7s) ease-in-out infinite alternate}@keyframes svc-cursor{from{offset-distance:0%}to{offset-distance:100%}}
.svc-wave{transform-box:fill-box;transform-origin:bottom;animation:svc-wave 3.8s ease-in-out infinite;animation-delay:var(--d,0s);opacity:.25}@keyframes svc-wave{0%,100%{transform:scaleY(.16);opacity:.16}50%{transform:scaleY(1);opacity:.9}}
.svc-settle{animation:svc-settle 1.2s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)}@keyframes svc-settle{from{transform:translateY(14px);opacity:0}}
@keyframes svc-floaty{to{transform:translateY(-3px)}}
.svc-sweep-l{animation:svc-sweepl 8s ease-in-out infinite}@keyframes svc-sweepl{0%{transform:translate(70px,50px);opacity:0}12%{opacity:1}42%{transform:translate(200px,120px);opacity:1}52%{opacity:0}100%{transform:translate(200px,120px);opacity:0}}
.svc-bob{animation:svc-bob 5s ease-in-out infinite alternate}@keyframes svc-bob{to{transform:translateY(-3px)}}
@keyframes svc-drift0{to{transform:translate(6px,-5px)}}@keyframes svc-drift1{to{transform:translate(-5px,4px)}}@keyframes svc-drift2{to{transform:translate(4px,6px)}}
@media(prefers-reduced-motion:reduce){.service-figure *,.service-figure svg{animation:none!important}}
@keyframes svc-k1{0%{opacity:0}37.5%{opacity:0}39%{opacity:1}48.75%{opacity:1}51.25%{opacity:0}100%{opacity:0}}
@keyframes svc-k2{0%{opacity:0}40.62%{opacity:0}42.12%{opacity:1}48.75%{opacity:1}51.25%{opacity:0}100%{opacity:0}}
@keyframes svc-k3{0%{opacity:0}43.75%{opacity:0}45.25%{opacity:1}48.75%{opacity:1}51.25%{opacity:0}100%{opacity:0}}
@keyframes svc-k4{0%{offset-distance:0%;opacity:0}10%{offset-distance:0%;opacity:0}11.2%{opacity:1}36.3%{opacity:1}37.5%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
@keyframes svc-k5{0%{offset-distance:0%;opacity:0}11%{offset-distance:0%;opacity:0}12.2%{opacity:0.6}37.3%{opacity:0.6}38.5%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
@keyframes svc-k6{0%{offset-distance:0%;opacity:0}12%{offset-distance:0%;opacity:0}13.2%{opacity:0.35}38.3%{opacity:0.35}39.5%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
@keyframes svc-k7{0%{offset-distance:0%;opacity:0}13%{offset-distance:0%;opacity:0}14.2%{opacity:0.18}39.3%{opacity:0.18}40.5%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
@keyframes svc-k8{0%{offset-distance:100%;opacity:0}48.75%{offset-distance:100%;opacity:0}49.95%{opacity:1}61.3%{opacity:1}62.5%{offset-distance:0%;opacity:0}100%{offset-distance:0%;opacity:0}}
@keyframes svc-k9{0%{opacity:0}8.12%{opacity:0}10%{opacity:1}16.88%{opacity:0}100%{opacity:0}}
@keyframes svc-k10{0%{opacity:0}17.29%{opacity:0}19.17%{opacity:1}26.04%{opacity:0}100%{opacity:0}}
@keyframes svc-k11{0%{opacity:0}26.46%{opacity:0}28.33%{opacity:1}35.21%{opacity:0}100%{opacity:0}}
@keyframes svc-k12{0%{opacity:0}35.62%{opacity:0}37.5%{opacity:1}44.38%{opacity:0}100%{opacity:0}}
@keyframes svc-k13{0%{opacity:1}32.22%{opacity:1}40%{opacity:.3}82.22%{opacity:.3}91.11%{opacity:1}100%{opacity:1}}
@keyframes svc-k14{0%{transform:scale(.2);opacity:0}3.33%{transform:scale(.2);opacity:.9}11.11%{transform:scale(1);opacity:0}100%{transform:scale(1);opacity:0}}
@keyframes svc-k15{0%{transform:scale(.2);opacity:0}7.33%{transform:scale(.2);opacity:.9}15.11%{transform:scale(1);opacity:0}100%{transform:scale(1);opacity:0}}
@keyframes svc-k16{0%{transform:scale(.2);opacity:0}11.33%{transform:scale(.2);opacity:.9}19.11%{transform:scale(1);opacity:0}100%{transform:scale(1);opacity:0}}
@keyframes svc-k17{0%{transform:scale(.2);opacity:0}15.33%{transform:scale(.2);opacity:.9}23.11%{transform:scale(1);opacity:0}100%{transform:scale(1);opacity:0}}
@keyframes svc-k18{0%{transform:scale(.2);opacity:0}19.33%{transform:scale(.2);opacity:.9}27.11%{transform:scale(1);opacity:0}100%{transform:scale(1);opacity:0}}
@keyframes svc-k19{0%{transform:scale(.2);opacity:0}23.33%{transform:scale(.2);opacity:.9}31.11%{transform:scale(1);opacity:0}100%{transform:scale(1);opacity:0}}
@keyframes svc-k20{0%{transform:scale(.2);opacity:0}27.33%{transform:scale(.2);opacity:.9}35.11%{transform:scale(1);opacity:0}100%{transform:scale(1);opacity:0}}
@keyframes svc-k21{0%{stroke-dashoffset:100;opacity:1}33.33%{stroke-dashoffset:100;opacity:1}38.89%{stroke-dashoffset:0;opacity:1}82.22%{stroke-dashoffset:0;opacity:1}88.22%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:100;opacity:0}}
@keyframes svc-k22{0%{stroke-dashoffset:100;opacity:1}39.44%{stroke-dashoffset:100;opacity:1}45%{stroke-dashoffset:0;opacity:1}82.22%{stroke-dashoffset:0;opacity:1}88.22%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:100;opacity:0}}
@keyframes svc-k23{0%{offset-distance:0%;opacity:0}46.67%{offset-distance:0%;opacity:0}47.87%{opacity:1}58.8%{opacity:1}60%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
@keyframes svc-k24{0%{offset-distance:0%;opacity:0}47.56%{offset-distance:0%;opacity:0}48.76%{opacity:0.6}59.69%{opacity:0.6}60.89%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
@keyframes svc-k25{0%{offset-distance:0%;opacity:0}48.44%{offset-distance:0%;opacity:0}49.64%{opacity:0.35}60.58%{opacity:0.35}61.78%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
@keyframes svc-k26{0%{offset-distance:0%;opacity:0}49.33%{offset-distance:0%;opacity:0}50.53%{opacity:0.18}61.47%{opacity:0.18}62.67%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
@keyframes svc-k27{0%{opacity:0}58.89%{opacity:0}62.22%{opacity:1}80%{opacity:1}86.67%{opacity:0}100%{opacity:0}}
@keyframes svc-k28{0%{offset-distance:0%;opacity:0}0%{offset-distance:0%;opacity:0}1.2%{opacity:1}4.36%{opacity:1}5.56%{offset-distance:100%;opacity:0}100%{offset-distance:100%;opacity:0}}
.service-card h3{font-size:clamp(18px,1.5vw,21px);font-weight:500;letter-spacing:-.01em;line-height:1.4;margin-top:6px}
.service-card p{font-size:14px;line-height:1.85}
.service-card ul{list-style:none;margin:auto 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:9px;font-size:12.5px;color:var(--ink)}
.service-card li{display:flex;gap:10px;align-items:baseline}
.service-card li::before{content:"";width:5px;height:5px;background:var(--accent);flex-shrink:0;transform:translateY(-1px)}
@media(max-width:820px){.service-grid{grid-template-columns:1fr}}
.v4 .join{background:var(--night);color:var(--white)}
.v4 .join .eyebrow{color:#b7bdca}
.v4 .join p{color:#b7bdca}
.v4 .cta{background:var(--white);color:var(--night)}
.v4 .cta:hover,.v4 .cta:focus-visible{background:var(--white);color:var(--night);transform:scale(1.03)}.v4 .cta .cta-icon{width:18px;height:18px;flex-shrink:0;margin-left:16px}
.v4 nav a[aria-current="location"]{text-decoration:underline;text-underline-offset:6px}
@media(max-width:900px){.v4 .letter-section{grid-template-columns:1fr 2.5fr;gap:25px}.v4 .vision-letter h2{font-size:39px}}
@media(max-width:600px){.v4 .letter-section{display:block;padding:65px 7% 70px}.letter-margin{gap:12px;margin-bottom:38px}.letter-note{font-size:9px}.v4 .vision-letter h2{font-size:33px;margin-bottom:32px}.v4 .vision-letter p{font-size:15px;line-height:2.05;margin-bottom:24px;letter-spacing:0}.v4 .vision-letter .salutation{font-size:14px}.letter-kicker{margin-bottom:18px}.v4 .services{padding:55px 0 60px}.service-card p{font-size:13px}.letter-signature{margin-top:30px}}
.v4 .hero .agent-economy-title{font-size:clamp(44px,10.7vw,154px);line-height:1.13}
.agent-economy-title>span{display:block;white-space:nowrap}
.agent-economy-title .title-accent{color:#5f73ff}
@media(max-width:600px){.v4 .hero .agent-economy-title{font-size:clamp(38px,13.5vw,64px)!important;line-height:1.22}}

/* Single site: no fixed proposal switcher. */
.v4 header{height:88px;padding:0 6%}
html{scroll-padding-top:24px}
.skip:focus{top:12px}
@media(max-width:600px){.v4 header{height:80px;padding-top:0}}
/* Viewport-sized hero with a shared responsive page frame. */
.v4{--hero-inset:32px;--header-height:88px;--hero-top-gap:24px}
.v4 header{height:var(--header-height);max-width:none;padding:0 var(--hero-inset)}
.v4 main{max-width:none}
.v4 .hero{box-sizing:border-box;container-type:size;display:flex;flex-direction:column;margin:var(--hero-top-gap) var(--hero-inset) var(--hero-inset);height:calc(100vh - var(--header-height) - var(--hero-top-gap) - var(--hero-inset));height:calc(100dvh - var(--header-height) - var(--hero-top-gap) - var(--hero-inset));min-height:0;padding:clamp(16px,4vh,40px) clamp(20px,4vw,64px);overflow:auto}
.v4 .hero .poster-meta{flex-shrink:0}
.v4 .hero .agent-economy-title{flex-shrink:0;font-size:clamp(20px,min(13.2cqw,22.9cqh),136px)!important;line-height:1.13;margin:clamp(12px,6cqh,42px) 0 0!important}
.v4 .hero .poster-bottom{flex-shrink:0;margin-top:auto;padding-top:16px;align-items:end}
.v4 .hero .poster-arrow{font-size:clamp(32px,14cqh,95px)}
.v4 .letter-section{max-width:1600px;margin-inline:auto}
@media(max-height:450px){.v4 .hero{padding-top:12px;padding-bottom:12px}.v4 .hero .poster-meta{font-size:8px;line-height:1.5}.v4 .hero .agent-economy-title{font-size:clamp(18px,min(13.2cqw,21.1cqh),136px)!important;margin-top:12px!important}.v4 .hero .poster-bottom{padding-top:8px}.v4 .hero .poster-bottom p,.v4 .hero .poster-bottom>span{font-size:10px!important;line-height:1.5}.v4 .hero .poster-arrow{font-size:32px}}
/* Desktop frame is 64px; smaller viewports smoothly reduce it to 20px.
   Measure the hero top gap from the navigation content, not its wrapper. */
.v4{--hero-inset:clamp(20px,5vw,64px);--navigation-height:40px;--header-height:clamp(72px,7vw,88px);--hero-top-gap:max(0px,calc(var(--hero-inset)*0.75 - (var(--header-height) - var(--navigation-height))/2))}
.v4 header{height:var(--header-height);padding:0 var(--hero-inset);align-items:center}
.v4 header .brand{line-height:40px}
.v4 header nav{height:40px;align-items:flex-start}
.v4 header nav a{line-height:16px;padding-top:12px;padding-bottom:12px}
.v4 .join{margin:0 var(--hero-inset);padding:clamp(40px,6vw,85px) clamp(20px,4vw,64px)}
.v4 footer{max-width:none;padding:24px var(--hero-inset) var(--hero-inset);gap:16px}
@media(max-width:600px){.v4 .join h2{font-size:clamp(23px,6vw,35px)}.v4 footer{flex-wrap:wrap;row-gap:16px}.v4 footer .brand{flex-basis:100%}.v4 .hero .poster-meta{gap:12px}}
@media(max-width:360px){.v4 header nav{gap:20px}.v4 .hero .poster-meta{font-size:7px;letter-spacing:0}}

/* Simplified section labels and an open backer grid. */
.v4 .letter-section{display:block}
.v4 .vision-letter{margin-inline:auto;width:100%}
.v4 .services .section-head{display:block;text-align:center;padding-bottom:28px}
.v4 .services .section-head h2{margin:0}
.v4 .join h2{margin-top:0}

/* Scroll motion keeps the page geometry and native scrolling intact. */
.v4 .hero>h1{animation:none}
.v4 .services .section-head{position:relative}
.v4 .services .section-head::after{content:"";position:absolute;left:50%;bottom:0;width:clamp(72px,7vw,96px);height:1px;background:var(--line);transform:translateX(-50%) scaleX(var(--rule-scale,1));transform-origin:center}
@media(prefers-reduced-motion:reduce){.vision-letter>p{clip-path:none!important;mask:none!important;opacity:1!important}}
@media print{.vision-letter>p{clip-path:none!important;mask:none!important;opacity:1!important} .v4 [style]{opacity:1!important;transform:none!important}}

/* A square reading link sits flush with the hero's lower-right corner. */
.v4 .hero{position:relative;--arrow-size:clamp(72px,12vw,160px)}
.v4 .hero .poster-bottom{display:block;padding-right:var(--arrow-size)}
.v4 .hero .poster-arrow{position:absolute;right:0;bottom:0;width:var(--arrow-size);height:var(--arrow-size);display:grid;place-items:center;background:transparent;color:var(--white);isolation:isolate;transition:color .3s ease}
.v4 .hero .poster-arrow::before{content:"";position:absolute;inset:0;background:var(--bg);z-index:-1;pointer-events:none;transform:scale(0);transform-origin:100% 100%;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.v4 .hero .poster-arrow>span{display:block;font-size:calc(var(--arrow-size)*.6);line-height:1;pointer-events:none}
.v4 .hero .poster-arrow:hover,.v4 .hero .poster-arrow:focus-visible{background:transparent;color:#000}
.v4 .hero .poster-arrow:hover::before,.v4 .hero .poster-arrow:focus-visible::before{transform:scale(1)}
.v4 .hero .poster-arrow:focus-visible{outline-offset:-5px}
@media(max-height:450px){.v4 .hero{--arrow-size:64px}}

/* A quiet, oversized Earth occupies the negative space of the opening card. */
.v4 .hero{isolation:isolate}
.hero-globe{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
/* Fade the globe under the headline with an overlay of the card colour rather than a CSS mask: the same composite over the flat card, without a mask surface every frame. */
.hero-globe::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#060914 18%,rgba(6,9,20,.94) 35%,rgba(6,9,20,.58) 53%,rgba(6,9,20,0) 76%)}
/* The scene alpha is applied per SVG layer rather than as a group opacity, which would composite the whole scene through an extra offscreen surface every frame. */
.globe-scene{position:absolute;width:min(138cqh,104cqw);aspect-ratio:1;right:-18%;top:55%;transform:translateY(-50%);--globe-alpha:.92}
.globe-scene>svg{display:block;width:100%;height:100%;overflow:visible;opacity:0;transition:opacity 1.5s ease}
.globe-scene.is-ready>svg{opacity:var(--globe-alpha)}
.globe-scene>svg.satellite-overlay{position:absolute;inset:0;isolation:isolate}
/* On desktop the satellite labels repaint on their own compositor layer: squashed together with the geography, Chromium's raster serialisation cost rose about tenfold at viewports up to 1120px wide. Small screens keep the single layer, which costs less GPU at 3x density. */
@media(min-width:601px){.globe-scene>svg.satellite-overlay{will-change:transform}}
/* Brand mark: the supplied SVG logo replaces the text wordmark in the header and footer; the hero's small LIANFANG caption stays text. */
.brand img{display:block;height:40px;width:auto}
.v4 footer .brand img{height:26px}
@media(max-width:600px){.brand img{height:32px}.v4 footer .brand img{height:24px}}
/* The static glass material is rasterised once on its own compositor layer. */
.globe-scene>svg.globe-glass-static{position:absolute;inset:0;will-change:transform}
.globe-fallback{position:absolute;inset:5%;border-radius:50%;border:1px solid rgba(218,224,236,.2);background:radial-gradient(circle at 65% 35%,rgba(180,192,212,.055),transparent 65%);opacity:.6}
.globe-fallback::before,.globe-fallback::after{content:"";position:absolute;inset:0 25%;border-radius:50%;border:1px solid rgba(218,224,236,.13);transform:rotate(-18deg)}
.globe-fallback::after{inset:25% 0}
.globe-scene.is-ready .globe-fallback{opacity:0}
.v4 .hero .poster-meta,.v4 .hero .agent-economy-title,.v4 .hero .poster-bottom{position:relative;z-index:1}
.v4 .hero .poster-arrow{z-index:2}
@media(max-width:600px){.hero-globe::after{background:linear-gradient(180deg,#060914 15%,rgba(6,9,20,.7) 38%,rgba(6,9,20,0) 66%,rgba(6,9,20,.6) 100%)}.globe-scene{width:155%;right:-56%;top:69%;--globe-alpha:.76}}
@media(max-height:450px){.globe-scene{width:65%;right:-8%;top:57%;--globe-alpha:.72}}
@media(prefers-reduced-motion:reduce){.globe-scene>svg{transition:none}}
