/* One editorial scale, purposeful movement, visible recovery. */
/* Main-controller failure keeps native navigation and no dead actions. Reserve
   action geometry so the ordinary deferred-script path does not shift layout. */
body:not(.main-app-ready) :is(.menu-button,.motion-state,.motion-panel,#research-open,#economics-open){visibility:hidden;pointer-events:none}
body:not(.main-app-ready) .poster-initial{opacity:0}
body:not(.main-app-ready) .poster-resolved{opacity:1}
@media(max-width:700px){body:not(.main-app-ready) .header nav{position:absolute;top:87px;left:0;right:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 8px;padding:0 var(--pad);background:#101211;border:0;backdrop-filter:none}body:not(.main-app-ready) .header nav a{font-size:10px;line-height:1.5;min-height:32px;display:inline-flex;align-items:center;white-space:nowrap;padding:0;margin:0;border:0}body:not(.main-app-ready) .header .nav-contact .ui-icon{display:none}}
.hero-actions{display:grid;gap:8px;flex:0 0 auto;pointer-events:auto}.hero-story{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;color:#c2c5bf;font-size:12px;border-bottom:1px solid #ffffff35}.hero-story:hover{color:#f2f0e9}.hero-story:focus-visible{outline:2px solid #d3c3a5;outline-offset:5px}@media(max-width:700px){.hero-actions{margin-top:12px;max-width:260px}.hero-actions .hero-explore{margin-top:0}.hero-story{font-size:12px}}
:root{--ink:#101211;--paper:#f2f0e9;--bronze:#d3c3a5;--pad:clamp(22px,5.4vw,104px)}
html{scroll-padding-top:100px}body{overflow-x:clip}.header{height:104px;border-bottom:1px solid #ffffff19;padding:24px var(--pad);background:linear-gradient(#10121199,transparent)}.header .brand{font-size:12px}.header nav{font-size:12px;gap:34px}.header .nav-contact{border:1px solid #ffffff3c;padding:11px 18px;display:flex;align-items:center;gap:26px;margin-left:10px}.header .nav-contact:hover{background:var(--paper);color:var(--ink)}
.hero{height:100svh;min-height:820px;max-height:1200px;isolation:isolate;background:radial-gradient(ellipse at 74% 46%,#242b2d,transparent 55%),#101211}.hero-grid{position:absolute;inset:0 var(--pad);display:grid;grid-template-columns:repeat(3,1fr);z-index:-1;pointer-events:none}.hero-grid>span{border-left:1px solid #ffffff05}.hero-grid>span:last-child{border-right:1px solid #ffffff05}.hero-art{left:43%;right:-10%;top:90px;bottom:70px;z-index:0;pointer-events:auto}#brand-sculpture{min-height:0;height:100%;width:100%;background:none}.hero-art-vignette{background:linear-gradient(90deg,#101211,transparent 35%),linear-gradient(0deg,#101211,transparent 19%);pointer-events:none}.hero-content{width:100%;max-width:none;padding:160px var(--pad) 130px;z-index:2;pointer-events:none}.hero .eyebrow{font-size:10px;letter-spacing:.18em;color:#c2c6c2;margin-bottom:36px}.hero h1{font-size:clamp(86px,11.2vw,198px);line-height:.88;letter-spacing:-.075em;margin:0;max-width:830px;font-weight:500}.hero h1>span{display:block}.hero h1 em{display:block;font-size:.51em;line-height:1.1;color:var(--bronze);letter-spacing:-.045em;margin-top:22px;white-space:nowrap}.hero-intro{display:flex;align-items:end;gap:50px;margin-top:36px;max-width:680px}.hero-intro p{color:#c2c5bf;font-size:14px;line-height:1.8;max-width:350px}.hero-explore{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:48px;border-bottom:1px solid #b9bdb48c;flex:0 0 auto;font-size:12px;pointer-events:auto}.hero-explore .ui-icon{width:20px;height:20px}.hero-explore:hover .ui-icon{transform:translate(3px,-3px)}.hero-side-label{position:absolute;right:26px;top:40%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;color:#959f9a;z-index:2}.hero-baseline{left:var(--pad);right:var(--pad);bottom:22px;padding-top:16px;z-index:5;gap:20px;align-items:center}.scroll-cue{font-size:9px;letter-spacing:.09em;gap:18px;min-height:44px}.scroll-symbol{font-size:26px;color:#e5decf}.hero-caption{font-size:10px;color:#929b95}.motion-state{display:flex;align-items:center;gap:12px;margin-left:auto;max-width:430px}.motion-state .hero-play{display:inline-flex!important;position:static;min-height:44px;white-space:nowrap;align-items:center;gap:14px;padding:9px 14px;border:1px solid #858b8266;border-radius:2px;background:#151a17d9;color:#e9e7dd;font-size:11px}.motion-state .hero-play [data-control-label]{font-size:11px}.motion-state .hero-play .ui-icon{width:15px;height:15px}.motion-state .hero-play:disabled{opacity:.6}.motion-state #motion-status{font-size:10px;line-height:1.5;max-width:180px;color:#afb8af}.motion-state[data-motion-state="reduced"] #hero-play,.motion-state[data-motion-state="still"] #hero-play{border-color:#d3c3a5;color:#f4ead8;background:#282b25}.motion-panel{flex:0 0 auto}.motion-panel summary{font-size:10px;gap:8px;min-height:44px}.motion-panel-inner{bottom:52px}
.section-pad{padding:100px var(--pad)}.section-top{margin-bottom:50px}.section-index{font-size:9px;letter-spacing:.12em}.eyebrow{font-size:10px}.group{padding-top:84px;padding-bottom:44px}.group-layout{grid-template-columns:1.2fr .8fr;gap:10%;align-items:start}.group h2{font-size:clamp(42px,5vw,80px);line-height:1.08;letter-spacing:-.06em}.group h2 em{color:#6a6d62}.group-copy .lead{font-size:20px;line-height:1.65;margin-bottom:24px}.group-copy>p:not(.lead){font-size:14px;line-height:1.85;color:#565f54}.connection-drawing{position:relative;margin-top:36px;overflow:hidden}.connection-drawing svg{display:block;width:100%;height:150px;fill:none;overflow:visible}.connection-track{stroke:#737d6d30;stroke-width:1}.connection-trace{stroke:#5d6754;stroke-width:1.8;stroke-dasharray:1000;stroke-dashoffset:var(--connection-offset,0)}.connection-drawing circle{stroke:#707a65;fill:var(--paper);stroke-width:1.3}.connection-drawing>div{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;color:#656e5c}
.worlds{padding-top:90px;padding-bottom:70px}.worlds-heading{align-items:end;margin:0 0 30px}.worlds h2{font-size:clamp(45px,5.5vw,87px);line-height:1.06}.worlds-heading>p{font-size:14px;color:#b4b9af;line-height:1.8}.world-giant-number{display:none}.concept-note{font-size:11px;max-width:780px;margin-top:22px;line-height:1.7;color:#a2aa9f}
.company-film-section{padding-top:80px;padding-bottom:70px;border-top:1px solid #ffffff1f;background:#191d1b}.company-film-heading{margin-bottom:32px}.company-film-section h2{font-size:clamp(44px,5vw,78px)}.company-film-heading>p{font-size:14px;max-width:440px;line-height:1.8}.company-film-frame{border:none;background:#101211}.company-film-stage{position:relative;aspect-ratio:16/9;min-height:0}.company-film-video{height:100%;width:100%;object-fit:cover;display:block}.company-film-caption{background:#101211;padding:8px 20px}.company-film-caption>span{font-size:11px}#company-film-status{position:static!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;overflow:visible!important;white-space:normal!important;padding:0 20px 14px!important;margin:0!important;font-size:11px;color:#a8b5a5;min-height:22px;background:#101211}#company-film-status:empty{display:none}.scene-caption strong{font-size:clamp(22px,3.4vw,52px)!important;line-height:1.16!important;max-width:650px}.scene-caption span{font-size:10px!important}#story-open{display:flex;gap:25px;align-items:center;min-height:54px;margin-top:22px;padding:10px 0;border-bottom:1px solid #9da08b;font-size:13px;max-width:100%;line-height:1.6}#story-open>span{color:#b6bfad;white-space:nowrap;font-size:11px}.company-film-concepts{font-size:11px;line-height:1.8}.company-film-story{margin-top:16px;padding:18px 0;border-color:#ffffff25}.company-film-story summary{font-size:12px}.company-film-story p,.company-film-story li{font-size:14px;line-height:1.85}
.approach{background:#e9e7df}.approach-layout{gap:10%}.approach h2{font-size:clamp(46px,5vw,78px)}.principles summary{font-size:20px}.principles p{font-size:15px;color:#53604e}.research-strip{margin-top:55px}.research-strip p{font-size:14px}.contact h2{font-size:clamp(48px,5.7vw,89px)}.contact-heading{margin-bottom:15px}.enquiry-layout{margin-top:40px}.enquiry-lead{font-size:26px!important}.contact .section-top{margin-bottom:40px}.footer{border-top:1px solid #ffffff25}.footer-word{font-size:clamp(48px,10.5vw,190px);letter-spacing:-.075em;line-height:1;margin-top:52px}.footer-bottom{font-size:9px}.footer-top>div{font-size:11px}.js .reveal,.js .reveal:not(.visible){opacity:1;transform:none}
.privacy-banner{max-width:750px;left:auto;right:22px;bottom:22px;border:1px solid #6d7568;box-shadow:0 20px 90px #0008}.privacy-banner h2{font-size:26px}.privacy-banner p{font-size:12px;line-height:1.8}.privacy-banner .eyebrow{font-size:8px}
@media(min-width:1600px){.hero-content{padding-top:190px}.hero-intro{margin-top:50px}.hero-art{left:40%;right:-5%}}
@media(min-width:701px) and (max-width:1100px){.hero{min-height:820px;max-height:none}.hero-content{padding-top:190px;width:100%}.hero h1{font-size:clamp(82px,11.5vw,130px)}.hero-art{left:40%;right:-20%;top:130px;bottom:110px}.hero-intro{display:block;max-width:340px}.hero-explore{margin-top:20px}.hero-caption{display:none}.motion-state{max-width:360px}.motion-state #motion-status{max-width:165px}.header nav{gap:20px}.header .nav-contact{gap:15px;padding:10px}.group-layout{gap:7%;grid-template-columns:1fr 1fr}.group h2{font-size:50px}.worlds h2{font-size:60px}.worlds-heading>p{max-width:200px}}
@media(max-width:700px){html{scroll-padding-top:25px}.header{height:88px;padding:20px var(--pad)}.header .brand{font-size:10px}.header .brand-group{font-size:6px}.header nav{top:87px;background:#101211f7;padding:22px var(--pad);border-color:#ffffff30}.header nav a{font-size:17px;min-height:48px}.header .nav-contact{margin:8px 0 0;justify-content:space-between;padding:12px 15px}.menu-button{border-color:#797f74}
.hero{height:auto;min-height:0;max-height:none;padding:0 0 24px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 70% 46%,#252e30,transparent 60%),#101211}.hero-content{padding:128px var(--pad) 0;width:100%;max-width:none;order:0}.hero .eyebrow{font-size:8px;line-height:1.6;margin-bottom:27px;letter-spacing:.11em;max-width:280px}.hero h1{font-size:clamp(72px,17vw,116px);line-height:.9;letter-spacing:-.075em;margin:0;max-width:100%}.hero h1 em{font-size:.49em;margin-top:18px;white-space:normal;line-height:1.1}.hero-intro{display:block;margin-top:24px;max-width:100%}.hero-intro p{font-size:13px;line-height:1.8}.hero-explore{margin-top:12px;gap:45px;font-size:12px}.hero-art{position:relative;inset:auto;z-index:0;height:360px;width:100%;margin:-35px 0 -25px;order:1;pointer-events:none}.hero-art-vignette{background:linear-gradient(0deg,#101211,transparent 18%,transparent 80%,#101211);inset:0}#brand-sculpture{height:360px;min-height:0}.hero-grid,.hero-side-label{display:none}.hero-baseline{position:relative;inset:auto;order:2;margin:0 var(--pad);padding-top:17px;display:grid;grid-template-columns:1fr auto;gap:12px}.hero-caption{display:none}.scroll-cue{font-size:8px;gap:12px}.motion-state{grid-row:2;grid-column:1/-1;margin:0;max-width:none;justify-content:space-between;align-items:center;gap:18px}.motion-state #motion-status{max-width:220px;font-size:10px;flex:1}.motion-state .hero-play{font-size:11px;padding:9px 13px;min-height:44px}.motion-panel{grid-column:2;grid-row:1}.motion-panel summary{font-size:9px}.motion-panel-inner{bottom:48px}
.section-pad{padding:62px var(--pad)}.section-top{margin-bottom:30px}.eyebrow{font-size:8px;letter-spacing:.11em}.section-index{font-size:8px}.group-layout{grid-template-columns:1fr;gap:29px}.group h2{font-size:clamp(40px,9.3vw,62px);line-height:1.12}.group-copy .lead{font-size:20px}.group-copy>p:not(.lead){font-size:14px;line-height:1.85}.connection-drawing{margin-top:22px}.connection-drawing svg{height:95px}.connection-drawing>div{font-size:6px;letter-spacing:.07em}.worlds-heading{display:block;margin-bottom:25px}.worlds h2{font-size:clamp(42px,10vw,70px)}.worlds-heading>p{font-size:13px;margin-top:20px}.concept-note{font-size:10px;margin-top:20px}.company-film-section h2{font-size:45px}.company-film-heading{display:block;margin-bottom:24px}.company-film-heading>p{margin-top:20px;font-size:13px;line-height:1.85}.company-film-stage{aspect-ratio:1.1}.company-film-video{object-fit:cover;object-position:center}.company-film-caption{padding:8px 14px;min-height:56px;font-size:10px}.company-film-caption>span{font-size:10px;max-width:190px}#company-film-status{padding:0 14px 12px!important;font-size:10px}.scene-caption strong{font-size:clamp(23px,6.4vw,38px)!important;max-width:90%}.scene-caption span{font-size:8px!important}.scene-caption{padding-left:20px!important;padding-right:20px!important}.company-film-frame{margin-inline:calc(-1 * var(--pad))}#story-open{font-size:12px;gap:20px;justify-content:space-between;width:100%;line-height:1.65}#story-open>span{font-size:10px}.company-film-story summary{font-size:11px}.company-film-story p,.company-film-story li{font-size:13px}.approach-layout{grid-template-columns:1fr;gap:30px}.approach h2{font-size:48px}.approach-intro p{font-size:14px}.principles summary{font-size:18px}.principles p{font-size:14px;margin-left:25px}.research-strip{margin-top:38px}.research-strip p{font-size:13px}.research-button{font-size:12px}.contact h2{font-size:clamp(43px,10vw,65px)}.contact-arrow{margin-top:24px;width:60px;height:60px}.enquiry-layout{margin-top:30px}.enquiry-lead{font-size:25px!important}.faq-row{margin-top:35px}.faq-row summary{font-size:13px}.footer{padding-top:32px}.footer-top{gap:20px}.footer-top>div{font-size:11px;gap:14px;max-width:150px}.footer-word{font-size:10.4vw;margin-top:38px}.footer-bottom{font-size:8px;gap:10px}.footer-bottom>span:last-child{display:block}.privacy-banner{left:12px;right:12px;bottom:12px;max-width:none;padding:20px;max-height:70svh;overflow:auto}.privacy-banner-copy .eyebrow{display:none}.privacy-banner h2{font-size:24px}.privacy-banner p{font-size:11px}.privacy-banner-preference{font-size:11px}.privacy-banner-actions{display:flex;flex-wrap:wrap;gap:6px}.privacy-banner-actions button{font-size:10px;min-height:44px;padding:9px 10px}}
@media(max-width:360px){.hero-content{padding-top:122px}.hero h1{font-size:69px}.hero-art,#brand-sculpture{height:320px}.hero-art{margin-top:-10px}.motion-state{gap:12px}.motion-state #motion-status{font-size:9px}.hero-baseline{margin-inline:20px}.section-top{gap:16px}.section-index{font-size:7px}.group h2{font-size:37px}.company-film-section h2{font-size:40px}.worlds h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.connection-trace{stroke-dashoffset:0}.hero-explore:hover .ui-icon{transform:none}}

/* Motion opt-in stays in the opening viewport rather than a collapsed menu. */
.hero>.motion-state{position:absolute;right:var(--pad);top:125px;z-index:6;max-width:360px}.hero{min-height:760px}.hero-baseline{min-height:60px}@media(max-width:700px){.hero{min-height:0}.hero>.motion-state{position:relative;inset:auto;order:1;margin:20px var(--pad) 0;max-width:none;justify-content:flex-start}.hero-art{order:2;margin-top:-15px}.hero-baseline{order:3}.hero-intro{padding-bottom:0}}

@media(prefers-reduced-motion:reduce){body.motion-opt-in:not(.page-motion-paused) .connection-trace{stroke-dashoffset:var(--connection-offset,0)}}

/* Phone captions occupy their own rail, never a clipped fixed-ratio stage. */
@media(max-width:700px){.company-film-stage{aspect-ratio:auto}.company-film-video{height:auto;aspect-ratio:1.1}.scene-captions{position:relative;height:112px}.scene-caption{padding:0!important;top:18px;left:var(--pad);right:var(--pad)}}

/* Let the opening grow with its copy at short heights and larger text sizes.
   The content's bottom padding reserves the discovery rail below both links. */
@media(min-width:701px){.hero{height:auto;min-height:max(760px,100svh);max-height:none}}

/* Light chapters need a darker focus edge and readable small annotations. */
.group .section-index,.approach .section-index,.principles summary>span{color:#59644f;font-size:11px}
.group :is(a,button,summary,input):focus-visible,.approach :is(a,button,summary,input):focus-visible,.detail-dialog :is(a,button,summary,input):focus-visible{outline:2px solid #44543a;outline-offset:4px}
