:root{--black:#000;--ink:#0a0a0b;--raised:#101012;--card:#16171a;--hover:#1e1f23;--line:#26272b;--teal:#0abab5;--bright:#12d4cd;--deep:#06807c;--white:#f4f4f2;--muted:#a6a6a3;--dim:#6e6f70;--pad:clamp(24px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:"gotham",Arial,sans-serif;font-weight:400;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.cursor{position:fixed;width:10px;height:10px;border:1px solid var(--bright);border-radius:50%;pointer-events:none;z-index:100;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;display:none}.cursor.big{width:44px;height:44px;background:#12d4cd18}.loader{position:fixed;inset:0;background:#000;z-index:200;display:grid;place-items:center;transition:opacity .7s,visibility .7s}.loader span{font-size:28px;letter-spacing:.45em;margin-right:-.45em}.loader span span,.wordmark>span,.seal b span{color:var(--bright)}.loader i{position:absolute;bottom:0;left:0;height:1px;background:var(--bright);animation:load 1.1s both}@keyframes load{from{width:0}to{width:100%}}body.loaded .loader{opacity:0;visibility:hidden}.nav{position:fixed;top:0;left:0;width:100%;height:96px;display:flex;align-items:center;padding:0 var(--pad);z-index:50;border-bottom:1px solid #ffffff18;mix-blend-mode:difference}.wordmark{position:relative;font-size:21px;letter-spacing:.45em;line-height:1;padding-bottom:12px}.wordmark:after{content:"";position:absolute;left:0;right:.45em;bottom:5px;height:1px;background:#aaa}.wordmark small{position:absolute;top:27px;right:.6em;font-size:5px;letter-spacing:.55em;color:var(--muted)}.nav-meta{margin-left:auto;margin-right:48px;font-size:9px;letter-spacing:.22em;color:var(--muted)}.nav-meta span{color:var(--bright)}.menu-toggle{border:0;background:transparent;text-transform:uppercase;font-size:9px;letter-spacing:.22em;padding:16px 0 16px 20px;cursor:pointer;display:flex;gap:14px;align-items:center}.menu-toggle i,.menu-toggle i:after{display:block;width:24px;height:1px;background:var(--white);content:"";transition:.3s}.menu-toggle i:after{transform:translateY(6px)}.menu-toggle[aria-expanded=true] i{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] i:after{transform:rotate(90deg)}.menu{position:fixed;z-index:40;inset:0;background:#080809f5;padding:150px var(--pad) 60px;display:flex;flex-direction:column;justify-content:center;transform:translateY(-100%);transition:transform .7s cubic-bezier(.76,0,.24,1)}.menu.open{transform:none}.menu-index{position:absolute;top:130px;color:var(--bright);font-size:9px;letter-spacing:.22em}.menu a{display:flex;align-items:center;gap:30px;font-size:clamp(36px,6vw,82px);font-weight:500;line-height:1.15;border-bottom:1px solid var(--line);padding:8px 0;transition:color .25s}.menu a:hover{color:var(--bright)}.menu a span{font-size:9px;letter-spacing:.2em;color:var(--dim);min-width:20px}.hero{height:100svh;min-height:720px;position:relative;overflow:hidden;padding:160px var(--pad) 80px;display:flex;align-items:center}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 45%,transparent 0,transparent 18%,#000 72%);pointer-events:none}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:8.333vw 8.333vw;mask-image:linear-gradient(to right,transparent,black 70%);opacity:.45}.orb{position:absolute;right:-8vw;top:5%;width:min(70vw,950px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,#2a2b2c 0,#0b0c0e 26%,#020303 54%,#0abab525 68%,#000 72%);box-shadow:inset 1px 1px 0 #ffffff66,0 0 110px #0abab518;animation:float 8s ease-in-out infinite}.orb:before{content:"";position:absolute;inset:2%;border-radius:50%;border:1px solid #9bffff33;filter:blur(.2px)}.orb-core{position:absolute;inset:35%;border-radius:50%;background:radial-gradient(circle at 30% 30%,#32363a,#020303 65%);box-shadow:-18px -15px 50px #ffffff08,10px 8px 40px #0abab530}@keyframes float{50%{transform:translateY(-18px) rotate(4deg)}}.hero-copy{position:relative;z-index:2;width:min(840px,70vw)}.eyebrow,.section-no,.section-head>span,.contact-top,.statement-kicker{font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.eyebrow span{color:var(--bright)}h1{font-size:clamp(54px,7.4vw,118px);line-height:.94;letter-spacing:-.055em;font-weight:400;margin:28px 0 38px}h1 em{font-style:normal;color:var(--bright)}.hero-intro{font-size:clamp(14px,1.3vw,19px);line-height:1.7;color:var(--muted);width:min(560px,90%)}.scroll-cue{position:absolute;z-index:3;left:var(--pad);bottom:46px;font-size:8px;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;gap:18px}.scroll-cue i{width:64px;height:1px;background:var(--line);position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;inset:0;background:var(--bright);transform:translateX(-100%);animation:scan 2s infinite}@keyframes scan{to{transform:translateX(100%)}}.hero-count{position:absolute;z-index:2;right:var(--pad);bottom:43px;font-size:9px;letter-spacing:.2em;color:var(--dim)}.hero-count span{color:var(--bright)}.statement{padding:180px var(--pad);border-top:1px solid var(--line)}.statement-kicker{color:var(--bright);margin:90px 0 28px}.statement h2{max-width:1200px;font-size:clamp(36px,5.4vw,80px);line-height:1.15;letter-spacing:-.045em;font-weight:400;margin:0}.statement-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:100px;padding-top:22px;font-size:11px;color:var(--muted)}.system,.sectors{padding:150px var(--pad);background:var(--ink);border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:60px;margin-bottom:100px}.section-head>span{color:var(--bright);padding-top:12px}.section-head h2,.approach h2{font-size:clamp(36px,4.7vw,72px);line-height:1.08;letter-spacing:-.04em;font-weight:400;margin:0}.pillars{border-top:1px solid var(--line)}.pillar{display:grid;grid-template-columns:90px 1fr 1fr;align-items:center;min-height:130px;border-bottom:1px solid var(--line);padding:25px 0;cursor:pointer;transition:.4s;position:relative}.pillar:after{content:"";position:absolute;inset:0;background:var(--card);transform:scaleY(0);transform-origin:bottom;transition:.4s;z-index:0}.pillar:hover:after,.pillar.active:after,.pillar.scroll-metal-active:after{transform:scaleY(1)}.pillar>*{position:relative;z-index:1}.pillar>span{font-size:9px;letter-spacing:.2em;color:var(--dim)}.pillar h3{font-size:clamp(25px,3vw,45px);font-weight:400;margin:0}.pillar p{max-width:430px;color:var(--muted);font-size:13px;line-height:1.7;margin:0}.interlude{height:85vh;min-height:620px;display:flex;flex-direction:column;justify-content:center;padding:var(--pad);position:relative;overflow:hidden;background:radial-gradient(circle at 72% 45%,#0c2424 0,#060808 26%,#000 60%)}.interlude:after{content:"";position:absolute;width:45vw;height:45vw;border:1px solid #f4f4f230;border-radius:50%;right:8vw;top:50%;transform:translateY(-50%);box-shadow:0 0 50px #0abab516,inset 0 0 50px #0abab516}.beam{position:absolute;right:28%;top:-20%;width:2px;height:140%;background:linear-gradient(transparent,var(--bright),transparent);transform:rotate(35deg);filter:blur(2px);box-shadow:0 0 25px var(--bright)}.interlude p{position:relative;z-index:2;font-size:9px;letter-spacing:.22em;color:var(--muted);text-transform:uppercase}.interlude p span{color:var(--bright)}.interlude h2{position:relative;z-index:2;font-size:clamp(52px,7.5vw,112px);font-weight:400;letter-spacing:-.05em;line-height:.96;margin:24px 0 0}.sectors{background:#050506}.split{grid-template-columns:1fr 2fr}.sector-list{border-top:1px solid var(--line)}.sector-list article{display:grid;grid-template-columns:70px 1.4fr 1fr 30px;align-items:center;min-height:120px;border-bottom:1px solid var(--line);transition:.3s}.sector-list article:hover{padding-left:18px;background:var(--raised)}.sector-list span{color:var(--bright);font-size:9px}.sector-list h3{font-weight:400;font-size:clamp(24px,3.2vw,48px);margin:0}.sector-list p{color:var(--muted);font-size:12px}.sector-list i{font-style:normal;color:var(--dim)}.approach{min-height:85vh;display:grid;grid-template-columns:1fr 1fr;background:var(--ink);border-top:1px solid var(--line)}.approach-visual{min-height:650px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle,#103333 0,#080c0d 26%,#050506 60%)}.approach-visual:before{content:"";position:absolute;width:80%;height:130%;background:linear-gradient(105deg,transparent 40%,#12d4cd12 48%,#fff3 50%,transparent 54%);animation:sheen 7s infinite}@keyframes sheen{50%{transform:translateX(20%)}}.seal{width:min(360px,55%);aspect-ratio:1;border:1px solid var(--muted);border-right-color:var(--bright);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.seal b{font-size:clamp(28px,4vw,54px);font-weight:400;letter-spacing:.42em;margin-right:-.42em}.seal:after{content:"";width:55%;height:1px;background:linear-gradient(90deg,#fff,var(--bright));margin:20px 0}.seal i{font-size:7px;letter-spacing:.45em;font-style:normal}.approach-copy{padding:120px var(--pad);display:flex;flex-direction:column;justify-content:center}.approach-copy h2{margin:42px 0}.approach-copy>p{color:var(--muted);font-size:16px;line-height:1.8;max-width:520px}.approach dl{margin-top:70px;border-top:1px solid var(--line)}.approach dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:20px 0}.approach dt{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}.approach dd{font-size:11px;margin:0}.contact{min-height:100vh;padding:130px var(--pad) 0;display:flex;flex-direction:column;background:linear-gradient(135deg,#000,#050708)}.contact-top{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px}.contact h2{font-weight:400;font-size:clamp(70px,11.3vw,180px);line-height:.9;letter-spacing:-.06em;margin:auto 0}.contact h2 a{position:relative}.contact h2 a:after{content:"";position:absolute;height:3px;left:0;right:0;bottom:-8px;background:var(--bright);transform-origin:left;transition:transform .4s}.contact h2 a:hover:after{transform:scaleX(.35)}.contact h2 span{color:var(--bright);font-size:.5em;margin-left:.15em}.contact footer{min-height:120px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;font-size:8px;letter-spacing:.18em;color:var(--dim)}.contact footer p:last-child{text-align:right}.contact footer .wordmark{width:max-content;color:var(--white)}.reveal{opacity:0;transform:translateY(30px);transition:1s ease}.loaded .reveal{opacity:1;transform:none}.reveal-text{transition:opacity 1s,transform 1s;opacity:.25;transform:translateY(30px)}.reveal-text.visible{opacity:1;transform:none}
@media (pointer:fine){.cursor{display:block}body{cursor:none}a,button,.pillar{cursor:none}}
@media(max-width:800px){.nav{height:76px}.nav-meta{display:none}.hero{padding-top:130px;align-items:flex-end;padding-bottom:150px}.hero-copy{width:100%}.orb{width:110vw;right:-35vw;top:0}.hero-intro{font-size:13px}.hero-count{display:none}.section-head,.split{grid-template-columns:1fr;gap:30px}.pillar{grid-template-columns:45px 1fr}.pillar p{grid-column:2;margin-top:12px}.statement,.system,.sectors{padding-top:110px;padding-bottom:110px}.statement-foot{flex-direction:column}.sector-list article{grid-template-columns:40px 1fr 20px;padding:26px 0}.sector-list p{grid-column:2}.sector-list i{grid-column:3;grid-row:1}.approach{grid-template-columns:1fr}.approach-visual{min-height:500px}.approach-copy{padding-top:90px;padding-bottom:90px}.contact{padding-top:100px}.contact footer{grid-template-columns:1fr 1fr}.contact footer p:nth-child(2){display:none}.menu{padding-top:100px}.menu-index{top:100px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Use the supplied HACQ logoset as the official seal artwork. */
.seal{width:min(430px,70%);background-image:var(--mobile-image-10,url('assets/hacq-logoset.jpg'));background-size:300% 100%;background-position:left center;background-repeat:no-repeat;border:0;box-shadow:0 0 70px #0abab516}
.seal b,.seal i,.seal:after{display:none}

/* WebGL scene and spatial interaction layer. */
#webgl-scene{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;transition:opacity 1.4s ease;pointer-events:none}
.webgl-ready #webgl-scene{opacity:1}
.webgl-ready .orb{opacity:0}
.hero-copy,.scroll-cue,.hero-count{transform-style:preserve-3d;will-change:transform}
.hero{perspective:1200px}
.pillar{transform-style:preserve-3d;will-change:transform;transition:transform .22s ease,background .4s}
.pillar h3{transform:translateZ(22px)}
.pillar p{transform:translateZ(12px)}
.interlude{perspective:1000px}
.interlude:after{transform:translateY(-50%)}
.section-head h2,.statement h2,.interlude h2,.approach-visual .seal{will-change:transform;transform-style:preserve-3d}
.approach-visual{perspective:1100px}
.engine{padding:150px var(--pad);background:var(--ink);border-top:1px solid var(--line);perspective:1200px}
.engine .section-head h2 em{font-style:normal;color:var(--bright)}
.engine-model{position:relative;border-bottom:1px solid var(--line);padding:38px 0 54px;display:grid;grid-template-columns:.7fr 2.3fr;gap:22px 60px;margin-bottom:72px}
.engine-model:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--bright) 0,var(--deep) 28%,var(--line) 76%,transparent 100%)}
.engine-model-copy{grid-column:2;display:grid;gap:0;margin-top:0}
.engine-model-copy p{margin:0;padding:19px 0;border-top:1px solid var(--line);color:var(--muted);font-size:clamp(14px,1.35vw,19px);line-height:1.45}
.engine-model-copy p:last-child{color:var(--white)}
.engine-model-copy em{font-style:normal;color:var(--bright)}
.engine-track{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:2px;position:relative}
.engine-track:before{content:"";position:absolute;top:-26px;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--bright),var(--line) 70%)}
.engine-track article{position:relative;padding:45px 34px;background:var(--card);border:1px solid var(--line);transform-style:preserve-3d;will-change:transform}
.engine-track article:nth-child(1){z-index:3;height:350px}
.engine-track article:nth-child(2){z-index:2;height:410px}
.engine-track article:nth-child(3){z-index:1;height:470px}
.engine-track span{display:block;color:var(--bright);font-size:9px;letter-spacing:.24em;margin-bottom:10px}
.engine-track h3{font-size:clamp(28px,3vw,45px);line-height:1.05;font-weight:400;margin:66px 0 24px;transform:translateZ(28px)}
.engine-track p{color:var(--muted);font-size:12px;line-height:1.8;transform:translateZ(14px)}
.engine-card-arrow{position:absolute;z-index:3;right:-18px;top:50%;transform:translateY(-50%);color:var(--bright);font-size:30px;line-height:1;font-style:normal;font-weight:300}
@media(max-width:800px){.engine{padding:110px var(--pad)}.engine-model{grid-template-columns:1fr;gap:22px;padding:30px 0 40px;margin-bottom:64px}.engine-model-copy{grid-column:1;margin-top:0}.engine-track{grid-template-columns:1fr;align-items:stretch}.engine-track article:nth-child(n){height:auto;min-height:330px}.engine-track h3{margin-top:52px}.engine-card-arrow{right:22px;top:auto;bottom:22px;transform:none}}
.brand-film{height:100vh;min-height:720px;padding:var(--pad);display:grid;grid-template-columns:1.35fr .65fr;gap:10px;background:#030304;border-top:1px solid var(--line);overflow:hidden}
.brand-shot-stack{display:grid;grid-template-rows:1fr 1fr;gap:10px;min-height:0}
.brand-shot{position:relative;overflow:hidden;margin:0;border:1px solid var(--line);min-height:0;background:#050506}
.brand-shot:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,#000 100%);pointer-events:none}
.brand-shot img{width:100%;height:120%;object-fit:cover;position:absolute;inset:-10% 0 0;filter:saturate(.86) contrast(1.06);will-change:transform;transform:scale(1.05)}
.brand-shot-main img{object-position:58% center}
.brand-shot figcaption{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px}
.brand-shot figcaption span{font-size:8px;letter-spacing:.24em;color:var(--bright)}
.brand-shot figcaption b{font-size:11px;font-weight:400;letter-spacing:.08em;color:var(--white)}
.interlude{background-image:linear-gradient(90deg,#000 0,#000b 45%,#0003),var(--mobile-image-1,url('assets/brand/operating-system-bg-subtle-v1.png'));background-size:cover;background-position:center}
.approach-visual{background-image:linear-gradient(#0003,#0003),var(--mobile-image-0,url('assets/brand/guide-12-1.png'));background-size:cover;background-position:center}
@media(max-width:800px){.brand-film{height:auto;min-height:0;grid-template-columns:1fr;padding:24px}.brand-shot-main{height:72vh}.brand-shot-stack{grid-template-rows:none}.brand-shot-stack .brand-shot{height:48vh}.brand-shot figcaption{left:18px;right:18px}.brand-shot figcaption b{max-width:45%;text-align:right}}

/* Cinematic introduction: line-reveal typography and an incoming wire globe. */
.loader{display:block;background:#050708;overflow:hidden;transition:opacity .8s .1s,visibility .8s .1s}
.loader:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 66% 48%,#0abab516,transparent 40%);pointer-events:none}
.loader-top,.loader-bottom{position:absolute;z-index:3;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:8px;letter-spacing:.24em;color:var(--muted)}
.loader-top{top:36px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.loader-bottom{bottom:34px;align-items:flex-end}
.loader-top span,.loader-bottom span{font-size:8px;letter-spacing:.24em;margin:0}
.loader-brand{position:absolute;z-index:3;left:50%;top:41%;width:min(33.6vw,416px);transform:translate3d(-50%,-50%,0) scale(.9);opacity:0;filter:drop-shadow(0 16px 42px #000) drop-shadow(0 0 24px #12d4cd20);animation:loaderBrandIn 1.15s .08s cubic-bezier(.16,1,.3,1) forwards}
.loader-brand img{display:block;width:100%;height:auto}
.loader-status{position:absolute;z-index:3;left:50%;top:53%;transform:translate(-50%,-50%);display:flex;align-items:baseline;gap:18px;color:var(--muted);white-space:nowrap}
.loader-status span{font-size:9px;line-height:1;letter-spacing:.28em;margin:0}
.loader-status b{display:inline-flex;align-items:baseline;justify-content:flex-end;width:4.8em;font-size:17px;line-height:1;font-weight:400;color:var(--white);letter-spacing:.08em}
.loader-status em{display:inline-block;min-width:3ch;text-align:right;font-style:normal;color:var(--bright);font-size:inherit;line-height:inherit;font-variant-numeric:tabular-nums}
.loader-progress{position:absolute;z-index:3;left:50%;top:58%;width:min(46vw,520px);height:2px;transform:translateX(-50%);overflow:hidden;background:#ffffff1a}
.loader-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#067f7b,var(--bright) 72%,#b8fffc);box-shadow:0 0 14px #12d4cdcc;will-change:width}
.loader-title{position:absolute;z-index:3;left:var(--pad);right:var(--pad);top:65%;height:72px;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;text-align:center;contain:layout}
.loader-title span{display:block;width:100%;font-size:72px;line-height:1;letter-spacing:-.045em;margin:0;font-weight:400;text-align:center;text-transform:none;white-space:nowrap;clip-path:inset(100% 0 0);transform:translateY(70px);animation:introText 1s cubic-bezier(.16,1,.3,1) forwards}
.loader-line{position:absolute;z-index:4;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,#067f7b,var(--bright) 72%,#b8fffc);box-shadow:0 0 14px #12d4cdcc;animation:introLoad 6s linear both;will-change:width}
@keyframes introLoad{from{width:0}to{width:100%}}
@keyframes introText{to{clip-path:inset(0);transform:none}}
@keyframes loaderBrandIn{to{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}}
.loader-globe{position:absolute;z-index:1;width:min(72vw,940px);aspect-ratio:1;right:-12vw;top:50%;transform:translateY(-50%) rotate(-25deg) scale(.55);border:1px solid #0abab570;border-radius:50%;transform-style:preserve-3d;animation:globeIn 2.2s cubic-bezier(.16,1,.3,1) forwards;display:none}
.loader-globe:before,.loader-globe:after,.loader-globe i{content:"";position:absolute;display:block;inset:0;bottom:auto;left:0;width:auto;height:auto;background:transparent;border:1px solid #8fa7b238;border-radius:50%;animation:none}
.loader-globe:before{transform:rotateY(62deg)}.loader-globe:after{transform:rotateX(62deg)}
.loader-globe i:nth-child(1){transform:rotateY(35deg)}.loader-globe i:nth-child(2){transform:rotateY(75deg)}.loader-globe i:nth-child(3){transform:rotateX(35deg)}.loader-globe i:nth-child(4){transform:rotateX(75deg)}.loader-globe i:nth-child(5){inset:18% 0;transform:rotateX(10deg)}.loader-globe i:nth-child(6){inset:36% 0;transform:rotateX(10deg)}
@keyframes globeIn{to{transform:translateY(-50%) rotate(8deg) scale(1)}}
h1>span{display:block;clip-path:inset(0 0 100%);transform:translateY(55px);transition:clip-path 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}
.loaded h1>span{clip-path:inset(0);transform:none}.loaded h1>span:nth-child(2){transition-delay:.12s}
@media(max-width:800px){.loader-brand{top:39%;width:min(65.6vw,344px)}.loader-status{top:51%;gap:12px}.loader-status b{width:4.8em;font-size:14px}.loader-status em{font-size:inherit}.loader-progress{top:56%;width:min(72vw,420px)}.loader-title{top:64%;height:58px}.loader-title span{font-size:clamp(24px,7.4vw,40px);line-height:1.02}.loader-globe{width:125vw;right:-55vw}.loader-top span:last-child{display:none}}

/* RE-ORDERED / early commercial framing. This section deliberately reuses
   the established HACQ lines, typography and stepped model language. */
.commercial-frame{position:relative;padding:150px var(--pad) 135px;background:#070809;border-top:1px solid var(--line);overflow:hidden}
.commercial-frame:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 22%,#0abab512,transparent 34%);pointer-events:none}
.commercial-frame-head{position:relative;display:grid;grid-template-columns:.8fr 1.25fr;column-gap:70px;align-items:start;padding-bottom:92px;border-bottom:1px solid var(--line)}
.commercial-frame-head>span,.commercial-frame-head>p,.commercial-frame-model span{font-size:9px;line-height:1.4;letter-spacing:.24em;text-transform:uppercase;color:var(--bright)}
.commercial-frame-head>span{grid-column:1;grid-row:1;padding-top:12px}
.commercial-frame-head>p{grid-column:2;margin:0 0 26px;color:var(--muted)}
.commercial-frame-head h2{grid-column:2;margin:0;font-size:clamp(44px,5.8vw,88px);font-weight:400;line-height:1.02;letter-spacing:-.05em}
.commercial-frame-head h2 em{font-style:normal;color:var(--bright)}
.commercial-frame-head>div{grid-column:2;margin-top:34px;max-width:700px;color:var(--muted);font-size:clamp(14px,1.35vw,19px);line-height:1.75}
.commercial-frame-model{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:72px}
.commercial-frame-model article{position:relative;min-height:360px;padding:38px 34px;background:var(--card);border:1px solid var(--line)}
.commercial-frame-model article:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:1px;background:linear-gradient(90deg,var(--bright),var(--deep) 46%,transparent)}
.commercial-frame-model h3{margin:76px 0 25px;font-size:clamp(30px,3.15vw,48px);font-weight:400;line-height:1.04;letter-spacing:-.035em}
.commercial-frame-model p{margin:0;color:var(--muted);font-size:13px;line-height:1.8;max-width:370px}
#at-a-glance .commercial-frame-model>article>span{font-size:18px}
.commercial-frame-link{position:relative;display:flex;align-items:center;justify-content:space-between;width:min(100%,420px);margin:48px 0 0 auto;padding:19px 0;border-bottom:1px solid var(--bright);font-size:9px;letter-spacing:.22em;color:var(--bright)}
.commercial-frame-link i{font-style:normal;font-size:18px;transition:transform .3s ease}.commercial-frame-link:hover i{transform:translateY(5px)}
.at-a-glance-engine-head{
  grid-template-columns:1fr;
  gap:0;
  margin:clamp(50px,4.5vw,70px) 0 56px;
  padding-top:36px;
}
.at-a-glance-engine-head h2{
  max-width:900px;
}
.at-a-glance-engine-head h2 em{
  color:var(--bright);
  font-style:normal;
}
#at-a-glance>.engine-model{
  padding-bottom:0;
  border-bottom:0;
  margin-bottom:0;
}
.engine-cards-head{
  margin-bottom:72px;
}
/* Kept in the markup so “Explore the HACQ Model” can be restored later. */
.commercial-frame-link{display:none}
@media(max-width:800px){.commercial-frame{padding:110px var(--pad) 100px}.commercial-frame-head{grid-template-columns:1fr;gap:0;padding-bottom:64px}.commercial-frame-head>span,.commercial-frame-head>p,.commercial-frame-head h2,.commercial-frame-head>div{grid-column:1}.commercial-frame-head>span{grid-row:auto;margin-bottom:58px}.commercial-frame-head>p{margin-bottom:22px}.commercial-frame-head>div{margin-top:28px}.commercial-frame-model{grid-template-columns:1fr;margin-top:48px}.commercial-frame-model article{min-height:290px}.commercial-frame-model h3{margin-top:52px}.at-a-glance-engine-head{margin-top:40px;margin-bottom:40px;padding-top:28px}.commercial-frame-link{margin-top:38px}}

/* PREFINAL desktop title system: primary section headlines share one size. */
@media(min-width:801px){
  .commercial-frame-head h2,
  .statement h2,
  .system .section-head h2,
  .interlude h2,
  .sectors .section-head h2,
  .one-of-one-intro h2,
  .approach-copy h2{
    font-size:54px;
  }
}

/* PREFINAL-20 — left-aligned editorial heads and refined One of One scale. */
@media(min-width:801px){
  .at-a-glance-engine-head h2{
    font-size:54px;
  }
  .commercial-frame-head{
    grid-template-columns:1fr;
    column-gap:0;
  }
  .commercial-frame-head>span,
  .commercial-frame-head>p,
  .commercial-frame-head h2,
  .commercial-frame-head>div{
    grid-column:1;
    max-width:760px;
  }
  .commercial-frame-head>span{
    grid-row:auto;
    margin-bottom:48px;
  }
  .commercial-frame-head>p{margin-bottom:24px}

  .system .section-head,
  .sectors .section-head{
    grid-template-columns:1fr;
    gap:38px;
  }
  .system .section-head h2,
  .sectors .section-head h2{
    max-width:900px;
  }

  .one-of-one-card{
    width:clamp(176px,18.4vw,280px)!important;
    padding:19px 20px 18px!important;
    border-radius:18px!important;
  }
}

.interlude .interlude-ring-copy{
  position:absolute;
  z-index:3;
  inset:0;
  display:grid;
  place-items:center;
  margin:0;
  padding:0 11%;
  color:#d9e3e2;
  text-align:center;
  line-height:1.8;
  pointer-events:none;
}

@media(max-width:800px){
  .one-of-one-card{
    width:clamp(144px,38.4vw,208px)!important;
    padding:14px 15px 13px!important;
    border-radius:13px!important;
  }
  .interlude .interlude-ring-copy{
    padding:0 16%;
    font-size:7px;
    line-height:1.65;
  }
}

/* Final desktop size for the One of One introduction heading. */
@media(min-width:801px){
  .one-of-one-intro h2{font-size:54px!important}
}

/* PREFINAL-21 — Essence statements and the operating-system ring copy. */
#essence{
  background:
    linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.28) 54%,rgba(0,0,0,.5) 100%),
    var(--mobile-image-3,url("assets/essence/essence-background-no-streak-v1.png")) center / cover no-repeat;
}

#essence>.section-no{
  color:var(--bright);
}

#essence .statement-foot{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:18px;
  border-top:0;
  color:var(--bright);
  text-align:left;
}

#essence .statement-foot p{
  margin:0;
  color:var(--bright);
  font-size:54px;
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.04em;
  text-align:left;
}

#essence .statement-foot p.scroll-copy .word{
  opacity:var(--word-opacity,0);
}

.interlude .interlude-ring-copy{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(8px,1vw,18px);
  padding:0 8%;
  color:var(--bright);
  white-space:nowrap;
}

.interlude .interlude-ring-copy span{
  color:var(--bright);
}

@media(max-width:800px){
  #essence .statement-foot p{
    font-size:clamp(30px,9vw,44px);
  }

  .interlude .interlude-ring-copy{
    gap:6px;
    padding:0 7%;
    font-size:clamp(5px,1.7vw,7px);
  }
}

/* Site-wide scrollytelling timeline. */
.scroll-rail{position:fixed;z-index:45;right:18px;top:50%;height:160px;width:10px;transform:translateY(-50%);border-left:1px solid #ffffff25;pointer-events:none}
.scroll-rail i{position:absolute;top:0;left:-1px;width:1px;height:var(--scroll-page,0%);background:var(--bright);box-shadow:0 0 10px #12d4cd99}
.scroll-rail span{position:absolute;bottom:-25px;left:-8px;font-size:7px;letter-spacing:.14em;color:var(--dim)}
.scene-wipe{position:fixed;z-index:39;inset:0;pointer-events:none;overflow:hidden;visibility:hidden}
.scene-wipe i{position:absolute;top:-20%;height:140%;width:38%;background:linear-gradient(90deg,#050708,#0b1112);border-right:1px solid #0abab54d;transform:translateX(calc(-145% + var(--scene-wipe,0%))) rotate(9deg);will-change:transform}
.scene-wipe i:nth-child(2){left:31%;transition-delay:.02s}.scene-wipe i:nth-child(3){left:62%;transition-delay:.04s}
.scene-wipe.active{visibility:visible}
.scroll-copy .word{display:inline-block;white-space:pre;opacity:var(--word-opacity,.08);color:rgb(var(--word-r,10),var(--word-g,186),var(--word-b,181));transform:translate3d(0,var(--word-y,34px),0) rotateX(var(--word-x,10deg));filter:blur(var(--word-blur,5px));transform-origin:left bottom;transition:color .18s linear,filter .18s linear;will-change:transform,opacity,color,filter}
.scroll-copy br{display:block}
.loader-title span:first-child{animation:introText 1s cubic-bezier(.16,1,.3,1) forwards,introColor 1.65s .2s ease forwards;color:var(--bright)}
@keyframes introColor{0%,35%{color:var(--bright)}100%{color:var(--white)}}
.system,.sectors,.engine,.approach,.brand-film,.statement,.interlude{view-transition-name:none;transform-style:preserve-3d}
@media(max-width:800px){.scroll-rail{right:8px}.scene-wipe i{width:45%}}

/* Calm hero hand-off: keep foreground copy unobstructed. */
.scene-wipe{display:none!important}
h1>span{transform:translateY(28px);opacity:0;transition:clip-path 1.15s cubic-bezier(.16,1,.3,1),transform 1.15s cubic-bezier(.16,1,.3,1),opacity .75s ease}
.loaded h1>span{opacity:1}.loaded h1>span:nth-child(2){transition-delay:.1s}

/* Official HACQ artwork, cropped to the wordmark only (no outer seal). */
.official-wordmark{display:block;width:122px;height:48px;padding:0;overflow:hidden}
.official-wordmark:after{display:none}
.official-wordmark .logo-crop{position:relative;display:block;width:100%;height:100%;overflow:hidden}
.official-wordmark img{position:absolute;width:674px;height:auto;max-width:none;left:-51px;top:-92px;display:block}
.contact footer .footer-wordmark{width:122px;height:48px}
@media(max-width:800px){.contact footer .footer-wordmark{width:108px;height:43px}}
@media(max-width:800px){.official-wordmark{width:108px;height:43px}.official-wordmark img{width:596px;left:-45px;top:-81px}}

/* Official chrome wordmark: no seal, no black plate, composited onto the globe. */
.approach-visual .seal{width:min(390px,72%);height:auto;aspect-ratio:2.62/1;border-radius:0;background:none;box-shadow:none;overflow:hidden;transform-style:preserve-3d}
.approach-visual .seal img{display:block!important;position:absolute;width:482%;max-width:none;height:auto;left:-356%;top:-170%;mix-blend-mode:screen;filter:contrast(1.08);pointer-events:none}
.approach-visual .seal img{position:static;width:100%;max-width:100%;height:auto;mix-blend-mode:normal;filter:none}

/* Sector image reveal: brand photography appears only when Sports is explored. */
.sector-list article{position:relative;overflow:hidden;isolation:isolate;transition:min-height .55s cubic-bezier(.16,1,.3,1),padding .35s,background .35s}
.sector-list article>*:not(.sector-media){z-index:2}
.sector-media{position:absolute!important;z-index:0!important;inset:0 0 0 auto;width:62%;overflow:hidden;opacity:0;clip-path:inset(0 0 0 100%);transition:clip-path .75s cubic-bezier(.16,1,.3,1),opacity .45s ease}
.sector-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050506 0,transparent 45%,#0002)}
.sector-media img{width:100%;height:120%;object-fit:cover;object-position:center;transform:translate3d(8%,0,0) scale(1.08);filter:saturate(.85) contrast(1.08);transition:transform 1s cubic-bezier(.16,1,.3,1)}
.sector-sports:hover,.sector-sports:focus-visible{min-height:300px;background:#050506;outline:0}
.sector-sports:hover .sector-media,.sector-sports:focus-visible .sector-media{opacity:1;clip-path:inset(0)}
.sector-sports:hover .sector-media img,.sector-sports:focus-visible .sector-media img{transform:translate3d(0,-8%,0) scale(1.02)}
.sector-sports:hover h3,.sector-sports:focus-visible h3{text-shadow:0 2px 22px #000}
@media(max-width:800px){.sector-sports{min-height:240px!important}.sector-media{width:100%;opacity:.62;clip-path:inset(0)}.sector-media:after{background:linear-gradient(90deg,#050506 0,#050506aa 50%,#0001)}.sector-media img{transform:translate3d(0,-5%,0) scale(1.04)}}

.sector-feature:hover,.sector-feature:focus-visible{min-height:200px;background-color:#050506;outline:0}
.sector-feature:hover .sector-media,.sector-feature:focus-visible .sector-media{opacity:1;clip-path:inset(0)}
.sector-feature:hover .sector-media img,.sector-feature:focus-visible .sector-media img{transform:translate3d(0,-8%,0) scale(1.02)}
.sector-feature:hover h3,.sector-feature:focus-visible h3{text-shadow:0 2px 22px #000}
.sector-entertainment .sector-media img{object-position:center 44%}
@media(max-width:800px){.sector-feature{min-height:180px!important}}

/* On reveal, move supporting copy into the quiet black column beside the image. */
.sector-feature p{transition:opacity .25s ease,transform .5s cubic-bezier(.16,1,.3,1),color .3s ease}
.sector-feature:hover p,.sector-feature:focus-visible p{position:absolute;left:70px;bottom:38px;width:min(34%,420px);max-width:none;color:var(--white);font-size:12px;line-height:1.7;transform:translateY(0);text-shadow:0 2px 18px #000}
.sector-feature:hover h3,.sector-feature:focus-visible h3{align-self:start;margin-top:48px}
@media(max-width:800px){.sector-feature p,.sector-feature:hover p,.sector-feature:focus-visible p{position:absolute;left:40px;right:20px;bottom:22px;width:auto;max-width:360px;color:var(--white);text-shadow:0 2px 18px #000}.sector-feature h3,.sector-feature:hover h3,.sector-feature:focus-visible h3{align-self:start;margin-top:24px}}

/* Scroll-active sector scene and sequential Tiffany word highlight. */
.sector-feature.scroll-active{min-height:200px;background-color:#050506;outline:0}
.sector-feature.scroll-active .sector-media{opacity:1;clip-path:inset(0)}
.sector-feature.scroll-active .sector-media img{transform:translate3d(0,-8%,0) scale(1.02)}
.sector-feature.scroll-active h3{align-self:start;margin-top:48px;text-shadow:0 2px 22px #000}
.sector-feature.scroll-active p{position:absolute;left:70px;bottom:38px;width:min(34%,430px);max-width:none;color:var(--white);font-size:clamp(16px,1.3vw,20px);font-weight:600;line-height:1.55;letter-spacing:-.01em;text-shadow:0 2px 18px #000}
.sector-word{color:var(--white);transition:color .22s ease,text-shadow .22s ease}
.sector-word.current{color:var(--bright);text-shadow:0 0 16px #12d4cd66}
@media(max-width:800px){.sector-feature.scroll-active{min-height:180px!important}.sector-feature.scroll-active h3{margin-top:16px}.sector-feature.scroll-active p{left:40px;right:20px;bottom:18px;width:auto;font-size:15px}}

/* Keep sector descriptions anchored in their original grid column. */
.sector-feature:hover p,.sector-feature:focus-visible p,.sector-feature.scroll-active p{position:relative;left:auto;right:auto;bottom:auto;width:auto;max-width:430px;align-self:center;transform:none}
@media(max-width:800px){.sector-feature p,.sector-feature:hover p,.sector-feature:focus-visible p,.sector-feature.scroll-active p{position:relative;left:auto;right:auto;bottom:auto;width:auto;max-width:none;grid-column:2}}

/* Accordion invariant: only the JS-selected sector may remain expanded. */
.sector-feature:not(.scroll-active):not(:hover):not(:focus-visible){min-height:120px!important}
.sector-feature:not(.scroll-active) .sector-media{opacity:0!important;clip-path:inset(0 0 0 100%)!important}
.sector-feature:not(.scroll-active) .sector-media img{transform:translate3d(8%,0,0) scale(1.08)!important}
.sector-feature:not(.scroll-active) h3{align-self:center!important;margin-top:0!important}
@media(max-width:800px){.sector-feature:not(.scroll-active):not(:hover):not(:focus-visible){min-height:130px!important}}

/* Match sector descriptions to the Pillars body-copy scale. */
.sector-list p,.sector-feature.scroll-active p{font-size:13px;line-height:1.7}
@media(max-width:800px){.sector-list p,.sector-feature.scroll-active p{font-size:13px}}

/* Active-sector contrast layer and true one-word Tiffany highlight. */
.sector-feature:after{content:"";position:absolute;z-index:0;inset:0;background-image:linear-gradient(90deg,#0005,#0001 48%,#0005),var(--mobile-image-20,url("assets/sectors/expanded-sector-bg.png"));background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.015);transition:opacity .35s ease,transform .7s cubic-bezier(.16,1,.3,1);pointer-events:none}
.sector-feature:hover:after,.sector-feature:focus-visible:after,.sector-feature.scroll-active:after{opacity:1;transform:scale(1)}
.sector-feature:before{content:"";position:absolute;z-index:1;left:0;right:0;top:50%;height:108px;background:rgba(0,0,0,.56);border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;transform:translate3d(-102%,-50%,0);transition:transform .7s cubic-bezier(.16,1,.3,1),background .35s ease;pointer-events:none}
.sector-feature:hover:before,.sector-feature:focus-visible:before,.sector-feature.scroll-active:before{transform:translate3d(0,-50%,0)}
.sector-feature.scroll-active h3{align-self:center;margin-top:0}
.sector-word{color:var(--muted)}
.sector-feature.scroll-active .sector-word{color:#c7c7c3}
.sector-feature.scroll-active .sector-word.current{color:var(--bright);text-shadow:0 0 16px #12d4cd66}
.sector-feature:not(.scroll-active) .sector-word{color:var(--dim)!important;text-shadow:none!important}
@media(max-width:800px){.sector-feature:before{height:132px;background:rgba(0,0,0,.64)}}
.sector-list article p,
.sector-list article.sector-feature p,
.sector-list article.sector-feature.scroll-active p,
.sector-list article.sector-feature p .sector-word{
  font-family:"gotham",Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.7!important;
  letter-spacing:normal!important;
}
.sector-list article.sector-feature p,
.sector-list article.sector-feature.scroll-active p{
  color:var(--muted)!important;
}

/* Pillar-style brushed silver hover for all five sectors; photography is retired. */
.sector-media{display:none!important}
.sector-list article h3{position:relative;width:max-content;color:var(--white);text-shadow:none!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto}
.sector-list article h3:after{content:attr(data-title);position:absolute;inset:0;color:transparent;background-image:linear-gradient(105deg,#666b6d 0%,#858b8d 41%,#f5f6f5 49%,#aeb4b6 56%,#666b6d 100%);background-size:300% 100%;background-position:-100% 50%;background-clip:text;-webkit-background-clip:text;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;opacity:0;transform:translateZ(0);backface-visibility:hidden;transition:opacity .5s cubic-bezier(.22,1,.36,1);pointer-events:none}
.sector-list article:hover h3:after,.sector-list article:focus-visible h3:after{opacity:.88;animation:pillar-metal-shimmer 3.8s cubic-bezier(.4,0,.2,1) 1 both}
@media(prefers-reduced-motion:reduce){.sector-list article:hover h3:after,.sector-list article:focus-visible h3:after{animation:none}}

#sectors{position:relative;overflow:hidden;isolation:isolate}
#sectors>*:not(#soccerbal-scene){position:relative;z-index:2}
.sector-list{background:#050506}
#soccerbal-scene{position:absolute;z-index:1;inset:0;width:100%;height:100vh;opacity:0;pointer-events:none;transition:opacity 1s ease;mix-blend-mode:screen}
#soccerbal-scene.ready{opacity:.96;mix-blend-mode:normal}
@media(max-width:800px){#soccerbal-scene{height:100svh}#soccerbal-scene.ready{opacity:.72}}
.pillar-title{display:flex;flex-direction:column;gap:9px;transform:translateZ(22px)}
.pillar-title small{font-size:8px;font-weight:600;letter-spacing:.24em;color:var(--bright)}
.pillar-title h3{transform:none}

/* Crossfade chrome over the stable white title to avoid exit flicker. */
.pillar .pillar-title h3,.pillar:hover .pillar-title h3,.pillar:focus-within .pillar-title h3{position:relative;width:max-content;color:var(--white);background:none;filter:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto}
.pillar .pillar-title h3:after{content:attr(data-title);position:absolute;inset:0;color:transparent;background-image:linear-gradient(105deg,#666b6d 0%,#858b8d 41%,#f5f6f5 49%,#aeb4b6 56%,#666b6d 100%);background-size:300% 100%;background-position:-100% 50%;background-clip:text;-webkit-background-clip:text;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;opacity:0;transform:translateZ(0);backface-visibility:hidden;transition:opacity .5s cubic-bezier(.22,1,.36,1);pointer-events:none}
.pillar:hover .pillar-title h3:after,.pillar:focus-within .pillar-title h3:after,.pillar.scroll-metal-active .pillar-title h3:after{opacity:.88;animation:pillar-metal-shimmer 3.8s cubic-bezier(.4,0,.2,1) 1 both}
.pillar.scroll-metal-active .pillar-title h3:after{animation-duration:.9s}
@keyframes pillar-metal-shimmer{
  0%{background-position:-100% 50%}
  78%{background-position:100% 50%}
  100%{background-position:100% 50%}
}
@media(prefers-reduced-motion:reduce){.pillar:hover .pillar-title h3:after,.pillar:focus-within .pillar-title h3:after,.pillar.scroll-metal-active .pillar-title h3:after{animation:none}}

/* Compact editorial navigation panel, inspired by the reference interaction. */
.menu{inset:auto;top:14px;left:50%;width:min(390px,calc(100vw - 32px));height:auto;min-height:0;padding:82px 26px 24px;background:rgba(235,244,243,.97);color:#071011;border:1px solid #0abab566;box-shadow:0 22px 70px #0008;justify-content:flex-start;transform:translate3d(-50%,-125%,0) scale(.96);transform-origin:top center;opacity:0;visibility:hidden;transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .35s ease,visibility .65s;backdrop-filter:blur(14px)}
.menu.open{transform:translate3d(-50%,0,0) scale(1);opacity:1;visibility:visible}
.menu-index{top:28px;left:26px;right:26px;padding-bottom:22px;border-bottom:1px solid #07101122;color:#06807c;font-size:8px;letter-spacing:.24em}
.menu-index:after{content:"×";position:absolute;right:0;top:-8px;font-size:25px;font-weight:400;color:#071011;letter-spacing:0}
.menu a{gap:16px;font-size:23px;font-weight:400;line-height:1.05;border-bottom:1px solid #0710111f;padding:10px 0;color:#071011;opacity:0;transform:translateY(-12px);transition:color .2s,opacity .35s ease,transform .5s cubic-bezier(.16,1,.3,1)}
.menu.open a{opacity:1;transform:none}.menu.open a:nth-of-type(1){transition-delay:.08s}.menu.open a:nth-of-type(2){transition-delay:.12s}.menu.open a:nth-of-type(3){transition-delay:.16s}.menu.open a:nth-of-type(4){transition-delay:.2s}.menu.open a:nth-of-type(5){transition-delay:.24s}.menu.open a:nth-of-type(6){transition-delay:.28s}
.menu.open a:nth-of-type(7){transition-delay:.32s}
.menu a:last-child{border-bottom:0}.menu a:hover,.menu a.current{color:var(--deep)}
.menu a span{font-size:8px;letter-spacing:.16em;color:#06807c;min-width:22px}
@media(max-width:800px){.menu{top:8px;width:calc(100vw - 16px);padding:74px 22px 20px}.menu-index{top:25px;left:22px;right:22px}.menu a{font-size:21px;padding:9px 0}}

.menu-toggle{position:absolute;left:50%;transform:translateX(-50%);padding:16px;min-width:150px;justify-content:center}
.menu-toggle i{width:18px;height:18px;background:radial-gradient(circle,#f4f4f2 0 1.8px,transparent 2.15px);background-size:8.4px 8.4px;box-shadow:none}
.menu-toggle i:after{display:none}
.menu-toggle[aria-expanded=true] i{background:linear-gradient(#f4f4f2,#f4f4f2) center/17px 1px no-repeat;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] i:after{display:block;width:17px;height:1px;background:#f4f4f2;transform:rotate(90deg)}
.nav-meta{margin-right:0}
@media(max-width:800px){.menu-toggle{min-width:120px}.menu-toggle span{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* Scroll-scrubbed global presence film. */
.approach-visual{background:#020304;isolation:isolate}
.globe-scroll-video{position:absolute;z-index:0;inset:-6%;width:112%;height:112%;object-fit:cover;object-position:center;filter:saturate(.9) contrast(1.08) brightness(.82);pointer-events:none;will-change:transform}
.approach-visual:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#0004,transparent 45%,#0002);pointer-events:none}
.approach-visual .seal{z-index:2}

.approach{position:relative;overflow:hidden;isolation:isolate}
.approach-visual{overflow:visible;z-index:1;background:#020304}
.globe-scroll-video{inset:-6% auto -6% -4%;width:208%;height:112%;object-position:center;transform:none!important}
.approach-copy{position:relative;z-index:2;background:rgba(10,10,11,.76);backdrop-filter:blur(2px)}
@media(max-width:800px){.globe-scroll-video{width:112%;inset:-6%}.approach-copy{background:rgba(10,10,11,.82)}}

/* Full-bleed seamless contact-film loop. */
.contact{min-height:auto}
.contact-photo{position:relative;isolation:isolate;width:calc(100% + var(--pad) + var(--pad));aspect-ratio:3/2;margin:clamp(34px,5vw,70px) 0 clamp(54px,7vw,100px);margin-left:calc(0px - var(--pad));background:#020405;overflow:hidden}
.contact-loop-video,.contact-background-image{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}

/* Original single contact button. */
.contact-pillar-button{position:absolute;z-index:3;top:clamp(28px,3vw,44px);right:auto;bottom:auto;left:0;isolation:isolate;display:inline-flex;align-items:center;justify-content:space-between;gap:clamp(36px,6vw,96px);width:max-content;max-width:100%;min-width:min(620px,100%);margin:0;padding:24px 30px 24px var(--pad);border:0;background:#050506b8;color:var(--white);overflow:hidden;cursor:pointer;-webkit-appearance:none;appearance:none;backdrop-filter:blur(7px)}
.contact-pillar-button:before{content:"";position:absolute;z-index:-1;inset:0;background:var(--card);transform:scaleY(0);transform-origin:bottom;transition:transform .4s ease}
.contact-pillar-button:hover:before,.contact-pillar-button:focus-visible:before{transform:scaleY(1)}
.contact-pillar-button:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--bright)}
.contact-pillar-button>span{position:relative;color:var(--white);font-size:54px;font-weight:400;letter-spacing:-.035em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto;transition:color .35s ease}
.contact-pillar-button>span:after{content:attr(data-title);position:absolute;inset:0;color:transparent;background-image:linear-gradient(105deg,#666b6d 0%,#858b8d 41%,#f5f6f5 49%,#aeb4b6 56%,#666b6d 100%);background-size:300% 100%;background-position:-100% 50%;background-clip:text;-webkit-background-clip:text;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;opacity:0;transform:translateZ(0);backface-visibility:hidden;transition:opacity .5s cubic-bezier(.22,1,.36,1);pointer-events:none}
.contact-pillar-button>i{color:var(--dim);font-size:clamp(20px,2vw,32px);font-style:normal;transition:color .35s ease,transform .35s ease}
.contact-pillar-button:hover>span,.contact-pillar-button:focus-visible>span{color:#f8faf9}
.contact-pillar-button:hover>span:after,.contact-pillar-button:focus-visible>span:after{opacity:.88;animation:pillar-metal-shimmer 3.8s cubic-bezier(.4,0,.2,1) 1 both}
.contact-pillar-button:hover>i,.contact-pillar-button:focus-visible>i{color:#dfe3e3;transform:translateX(5px)}
@media(max-width:800px){.contact-photo{margin-top:28px;aspect-ratio:4/3}.contact-background-image{object-position:center}.contact-pillar-button{top:14px;right:auto;bottom:auto;left:0;width:100%;max-width:none;min-width:0;padding:20px 22px}.contact-pillar-button>span{font-size:clamp(30px,10vw,44px)}}
@media(prefers-reduced-motion:reduce){.contact-pillar-button:hover>span:after,.contact-pillar-button:focus-visible>span:after{animation:none}}

/* Private Enquiries decision flow. */
body.contact-flow-open{overflow:hidden}
.contact-flow{position:fixed;z-index:180;inset:0;display:flex;flex-direction:column;padding:0 var(--pad) var(--pad);background:rgba(5,5,6,.985);visibility:hidden;transform:translate3d(0,100%,0);transition:transform .85s cubic-bezier(.76,0,.24,1),visibility .85s;overflow:auto}
.contact-flow.open{visibility:visible;transform:none}
.contact-flow-bar{min-height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);color:var(--muted);font-size:8px;letter-spacing:.22em}
.contact-flow-bar>span:nth-child(2){color:var(--bright)}
.contact-flow-nav{display:flex;align-items:center;gap:22px}
.contact-flow-back{padding:12px 0;border:0;background:transparent;color:var(--bright);font:inherit;letter-spacing:inherit;text-transform:uppercase;cursor:pointer}
.contact-flow-back[hidden],.contact-flow-step[hidden]{display:none}
.contact-flow-close{position:absolute;z-index:2;top:28px;right:32px;display:flex;align-items:center;gap:18px;padding:16px;border:1px solid #07101145;background:transparent;color:#071011;font-size:12px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
.contact-flow-close:hover,.contact-flow-close:focus-visible{background:#071011;color:#81d8d0}
.contact-flow-close i,.contact-flow-close i:after{display:block;width:25px;height:2px;background:currentColor;content:"";transform:rotate(45deg)}
.contact-flow-close i:after{transform:rotate(90deg)}
.contact-flow-panel{position:relative;width:min(1240px,100%);margin:auto;padding:clamp(82px,8vw,120px) clamp(28px,6vw,88px) clamp(48px,6vw,82px);background:#81d8d0;color:#071011}
.contact-flow-kicker{margin:0 0 24px;color:#075c59;font-size:9px;letter-spacing:.24em;text-transform:uppercase}
.contact-flow h2{margin:0 0 70px;color:#071011;font-size:clamp(44px,6.3vw,96px);font-weight:400;line-height:1;letter-spacing:-.05em}
.contact-flow-step[data-flow-step="investor-details"] h2,.contact-flow-step[data-flow-step="entrepreneur-details"] h2{max-width:1050px;font-size:clamp(38px,5vw,76px)}
.contact-flow-options{border-top:1px solid #07101142}
.contact-flow-options button{position:relative;isolation:isolate;width:100%;min-height:112px;display:grid;grid-template-columns:70px 1fr 30px;align-items:center;padding:22px 0;border:0;border-bottom:1px solid #07101142;background:transparent;color:#071011;text-align:left;cursor:pointer;overflow:hidden}
.contact-flow-options button:before{content:"";position:absolute;z-index:-1;inset:0;background:#81d8d0;transform:scaleY(0);transform-origin:bottom;transition:transform .4s ease}
.contact-flow-options button:hover:before,.contact-flow-options button:focus-visible:before,.contact-flow-options button[aria-pressed="true"]:before{transform:scaleY(1)}
.contact-flow-options button>span{color:#075c59;font-size:9px;letter-spacing:.2em}
.contact-flow-options button>strong{font-size:clamp(28px,3.2vw,48px);font-weight:400}
.contact-flow-options button>i{justify-self:end;color:#075c59;font-style:normal;transition:color .3s ease,transform .3s ease}
.contact-flow-options button:hover>i,.contact-flow-options button:focus-visible>i,.contact-flow-options button[aria-pressed="true"]>i{color:#071011;transform:translateX(5px)}
.contact-flow-form{display:grid;gap:18px}
.contact-flow-form label{color:#075c59;font-size:9px;letter-spacing:.22em;text-transform:uppercase}
.contact-flow-form textarea{width:100%;min-height:190px;padding:25px;border:1px solid #07101166;border-radius:0;resize:vertical;background:#eafffc;color:#071011;font-family:"gotham",Arial,sans-serif;font-size:clamp(10px,1vw,15px);font-weight:400;line-height:1.4;outline:none;transition:border-color .3s,background .3s}
.contact-flow-form textarea:focus{border-color:#071011;background:#fff}
.contact-flow-form textarea::placeholder{color:#075c5988}
.contact-flow-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-flow-fields label{display:grid;gap:10px}
.contact-flow-fields input{width:100%;min-height:62px;padding:16px 18px;border:1px solid #07101166;border-radius:0;background:#eafffc;color:#071011;font-family:"gotham",Arial,sans-serif;font-size:17px;font-weight:400;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .3s,background .3s}
.contact-flow-fields input:focus{border-color:#071011;background:#fff}
.contact-flow-fields input::placeholder{color:#075c5988}
.contact-flow-form button{justify-self:start;display:flex;align-items:center;justify-content:space-between;gap:70px;min-width:260px;margin-top:12px;padding:22px 25px;border:1px solid #071011;background:#071011;color:#81d8d0;font-family:"gotham",Arial,sans-serif;font-size:22px;font-weight:400;cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.contact-flow-form button:hover,.contact-flow-form button:focus-visible{background:transparent;border-color:#071011;color:#071011}
.contact-flow-form button:disabled{cursor:wait;opacity:.55}
.contact-flow-form button i{font-style:normal;color:currentColor}
.contact-flow-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.contact-flow-status{min-height:1.4em;margin:0;color:#7b1621;font-size:13px;letter-spacing:.02em}
.contact-flow-foot{min-height:76px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:var(--dim);font-size:8px;letter-spacing:.2em}
@media(max-width:800px){.contact-flow{padding:0 14px 14px}.contact-flow-bar{min-height:64px;grid-template-columns:1fr auto}.contact-flow-progress{display:none}.contact-flow-nav>span{display:none}.contact-flow-panel{padding:88px 22px 42px}.contact-flow-close{top:16px;right:16px;padding:13px}.contact-flow-close span{display:none}.contact-flow h2{margin-bottom:48px}.contact-flow-options button{grid-template-columns:42px 1fr 24px;min-height:92px}.contact-flow-foot{display:none}.contact-flow-form textarea{min-height:160px;padding:18px}.contact-flow-form button{width:100%;min-width:0}}
@media(max-width:800px){.contact-flow-fields{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.contact-flow{transition-duration:.01ms}}

/* Compact private-enquiries drawer: slides out below the contact trigger. */
.contact-flow{
  position:fixed;
  z-index:180;
  inset:auto;
  top:var(--contact-flow-top,180px);
  left:var(--contact-flow-left,0);
  width:var(--contact-flow-width,min(1040px,calc(100vw - var(--pad))));
  max-width:calc(100vw - 14px);
  max-height:var(--contact-flow-max-height,calc(100vh - 204px));
  display:flex;
  flex-direction:column;
  padding:0;
  overflow:auto;
  overscroll-behavior:contain;
  background-color:rgba(72,180,172,.18);
  background-image:linear-gradient(125deg,rgba(154,231,224,.42),rgba(41,133,128,.24));
  border:1px solid rgba(205,255,250,.34);
  box-shadow:0 28px 90px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(4,58,56,.16);
  -webkit-backdrop-filter:blur(28px) saturate(1.22) brightness(.9);
  backdrop-filter:blur(28px) saturate(1.22) brightness(.9);
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translate3d(-105%,0,0);
  transition:transform .82s cubic-bezier(.16,1,.3,1),opacity .38s ease,visibility .82s;
}
.contact-flow.open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translate3d(0,0,0);
}
.contact-flow-bar{
  flex:0 0 auto;
  min-height:62px;
  padding:0 28px;
  border-bottom-color:rgba(7,16,17,.25);
  color:rgba(7,16,17,.62);
}
.contact-flow-bar>span:nth-child(2),.contact-flow-back{color:#075c59}
.contact-flow-panel{
  width:100%;
  margin:0;
  padding:clamp(68px,6vw,92px) clamp(30px,5vw,68px) clamp(42px,5vw,64px);
  background:linear-gradient(180deg,rgba(226,255,252,.08),rgba(5,75,72,.04));
}
.contact-flow h2{
  margin-bottom:46px;
  font-size:clamp(38px,4.4vw,64px);
}
.contact-flow-step[data-flow-step="investor-details"] h2,
.contact-flow-step[data-flow-step="entrepreneur-details"] h2{
  font-size:clamp(34px,3.8vw,56px);
}
.contact-flow-options button{min-height:82px}
.contact-flow-options button>strong{font-size:clamp(26px,2.6vw,38px)}
.contact-flow-foot{
  flex:0 0 auto;
  min-height:54px;
  padding:0 28px;
  border-top-color:rgba(7,16,17,.25);
  color:rgba(7,16,17,.55);
}
@media(max-width:800px){
  .contact-flow{
    max-width:calc(100vw - 14px);
    border-left:0;
  }
  .contact-flow-bar{min-height:56px;padding:0 18px}
  .contact-flow-panel{padding:72px 20px 36px}
  .contact-flow h2{margin-bottom:36px;font-size:clamp(34px,10vw,48px)}
  .contact-flow-options button{min-height:76px}
}

/* Contact footer: include the Dubai office address without crowding the legal line. */
.contact footer{
  grid-template-columns:auto minmax(300px,1.7fr) 1fr auto;
  gap:clamp(24px,3vw,54px);
}
.contact-address{line-height:1.65;color:#7f8484}
.contact-establishment{text-align:center;white-space:nowrap}
.contact-copyright{text-align:right;white-space:nowrap}
@media(max-width:800px){
  .contact footer{
    min-height:160px;
    grid-template-columns:1fr auto;
    gap:20px;
    align-content:center;
  }
  .contact footer p.contact-address{
    display:block;
    grid-column:1/-1;
    grid-row:2;
  }
  .contact-establishment{display:none}
  .contact-copyright{grid-column:2;grid-row:1}
}

/* Scroll-controlled opening film. */
.story-film{
  position:relative;
  z-index:3;
  height:900svh;
  background:#000;
  border-bottom:1px solid var(--line);
}
.story-film-sticky{
  position:sticky;
  top:0;
  height:100svh;
  min-height:620px;
  overflow:hidden;
  isolation:isolate;
  background:#020203;
}
.story-film-media,.story-film-frame,.story-film-frame img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.story-film-media{z-index:0;background:#000}
.story-film-video{
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% center;
  opacity:0;
  filter:contrast(1.06) brightness(.76) saturate(.86);
  transition:opacity .45s ease;
  will-change:opacity;
}
.story-film.story-video-ready .story-film-video{opacity:1}
.story-film-opening-bridge,.story-film-opening-globe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% center;
  pointer-events:none;
}
.story-film-opening-bridge{
  z-index:2;
  opacity:var(--story-opening-bridge-opacity,0);
  filter:contrast(1.06) brightness(.76) saturate(.86);
  will-change:opacity;
}
.story-film-opening-globe{
  z-index:3;
  opacity:var(--story-opening-globe-opacity,1);
  filter:contrast(1.05) brightness(.76) saturate(.84);
  transform:translate3d(0,-2.55%,0);
  will-change:opacity,transform;
}
.story-film-frame{
  z-index:0;
  margin:0;
  opacity:0;
  overflow:hidden;
  will-change:opacity;
}
.story-film-frame:first-child{opacity:1}
.story-film-frame img{
  object-fit:cover;
  object-position:58% center;
  filter:contrast(1.08) brightness(.72) saturate(.82);
  transform:scale(var(--story-scale,1.055)) translate3d(var(--story-x,0),var(--story-y,0),0);
  transform-origin:58% 50%;
  will-change:transform;
}
.story-film-media:after{
  content:"";
  position:absolute;
  z-index:4;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.92) 0,rgba(0,0,0,.66) 31%,rgba(0,0,0,.14) 64%,rgba(0,0,0,.32) 100%),
    linear-gradient(180deg,rgba(0,0,0,.55),transparent 18%,transparent 76%,rgba(0,0,0,.72));
  pointer-events:none;
}
.story-film-shutter{
  position:absolute;
  z-index:3;
  inset:0;
  opacity:.24;
  background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.045) 48%,transparent 67%);
  transform:translate3d(-35%,0,0);
  mix-blend-mode:screen;
  will-change:transform;
}
.story-film-grain{display:none}
.story-film-chrome{
  position:absolute;
  z-index:10;
  top:116px;
  left:var(--pad);
  right:var(--pad);
  display:flex;
  justify-content:space-between;
  padding-top:16px;
  border-top:0;
  color:rgba(244,244,242,.62);
  font-size:8px;
  letter-spacing:.24em;
}
.story-film-counter{color:var(--bright)}
.story-film-captions{
  position:absolute;
  z-index:8;
  inset:0;
  pointer-events:none;
}
.story-film-caption{
  position:absolute;
  left:var(--pad);
  top:50%;
  width:min(820px,62vw);
  margin:0;
  opacity:0;
  transform:translate3d(0,42px,0);
  filter:blur(6px);
  will-change:opacity,transform,filter;
  transition:opacity .42s ease,transform .72s cubic-bezier(.16,1,.3,1),filter .42s ease;
}
.story-film-caption:first-child{opacity:1;transform:translate3d(0,0,0);filter:none}
.story-film-caption p{
  margin:0 0 25px;
  color:var(--bright);
  font-size:9px;
  font-weight:500;
  letter-spacing:.27em;
  text-transform:uppercase;
}
.story-film-caption h2{
  max-width:760px;
  margin:0;
  color:var(--white);
  font-size:54px;
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.052em;
  text-wrap:balance;
  text-shadow:0 3px 35px #000;
}
.story-film-caption h2 em,.story-film-caption strong em{
  color:var(--bright);
  font-style:normal;
}
.story-film-caption-opening{width:min(1050px,82vw)}
.story-film-caption-opening h2{
  max-width:none;
  font-size:72px;
  line-height:.94;
}
.story-film-caption-opening h2 span{display:block}
.story-film-caption-opening h2 span:nth-child(2){margin-left:.62em}
.story-film-caption>div{
  max-width:600px;
  margin-top:28px;
  color:rgba(244,244,242,.72);
  font-size:clamp(13px,1.15vw,17px);
  line-height:1.65;
  letter-spacing:.01em;
}
.story-film-caption-wide{width:min(990px,72vw)}
.story-film-caption-wide h2{max-width:940px;font-size:54px;line-height:1.08}
.story-film-caption-mark strong{
  display:block;
  margin-top:28px;
  color:var(--white);
  font-size:54px;
  font-weight:400;
  letter-spacing:-.025em;
}
.story-one-link{position:relative;display:inline-block;pointer-events:none;outline-offset:7px}
.story-film-caption[aria-hidden="false"] .story-one-link{pointer-events:auto}
.story-one-link:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:linear-gradient(90deg,var(--bright),#d7f5f2);transform:scaleX(.18);transform-origin:left;opacity:.52;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s ease}
.story-one-link:hover:after,.story-one-link:focus-visible:after{transform:scaleX(1);opacity:1}
.story-film-caption-end h2 span{display:block}
.story-film-caption-end h2 span:nth-child(2){margin-left:.8em}
.story-film-caption-end h2 span:nth-child(3){margin-left:1.6em}
.story-film-scroll-cue{
  z-index:11;
  color:var(--white);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(0,10px,0);
  transition:opacity .55s ease,transform .55s ease,visibility 0s .55s;
}
.story-film.is-final-chapter .story-film-scroll-cue{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
  transition:opacity .55s ease,transform .55s ease,visibility 0s;
}
.story-film-progress{
  position:absolute;
  z-index:10;
  right:var(--pad);
  bottom:40px;
  display:flex;
  align-items:center;
  gap:18px;
  color:rgba(244,244,242,.58);
  font-size:8px;
  letter-spacing:.22em;
}
.story-film-progress i{
  position:relative;
  display:block;
  width:110px;
  height:1px;
  overflow:hidden;
  background:rgba(255,255,255,.22);
}
.story-film-progress i:after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--bright);
  transform:scaleX(var(--story-progress,0));
  transform-origin:left;
  box-shadow:0 0 12px #12d4cd99;
}
.story-film-progress span{transition:opacity .3s ease}
.story-film.is-complete .story-film-progress span{opacity:0}
.story-film.is-final-chapter .story-film-progress{opacity:0}

@media(max-width:800px){
  .story-film{height:900svh}
  .story-film-sticky{min-height:560px}
  .story-film-chrome{top:88px;padding-top:12px;font-size:7px}
  .story-film-video,.story-film-opening-bridge,.story-film-opening-globe{object-position:66% center}
  .story-film-frame img{object-position:66% center;transform-origin:66% 50%}
  .story-film-media:after{
    background:
      linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.16)),
      linear-gradient(180deg,rgba(0,0,0,.48) 0,rgba(0,0,0,.08) 30%,rgba(0,0,0,.32) 58%,rgba(0,0,0,.92) 100%);
  }
  .story-film-caption,.story-film-caption-wide{
    top:auto;
    left:24px;
    right:24px;
    bottom:clamp(94px,14svh,138px);
    width:auto;
  }
  .story-film-caption p{margin-bottom:15px;font-size:7px;line-height:1.5}
  .story-film-caption h2,.story-film-caption-wide h2{
    max-width:none;
    font-size:clamp(34px,10.5vw,55px);
    line-height:1.03;
  }
  .story-film-caption>div{margin-top:18px;font-size:12px;line-height:1.55}
  .story-film-caption-mark strong{
    margin-top:18px;
    font-size:clamp(34px,10.5vw,55px);
    line-height:1.03;
  }
  .story-film-caption-opening h2{font-size:clamp(43px,13vw,64px);line-height:.98}
  .story-film-caption-opening h2 span:nth-child(2){margin-left:0}
  .story-film-caption-end h2 span:nth-child(2),
  .story-film-caption-end h2 span:nth-child(3){margin-left:0}
  .story-film-progress{left:24px;right:24px;bottom:28px;justify-content:space-between;font-size:7px}
  .story-film-progress i{width:84px}
  .story-film-scroll-cue{left:24px;bottom:28px}
}
@media(prefers-reduced-motion:reduce){
  .story-film-video{display:none}
  .story-film-frame img{transform:none!important}
  .story-film-shutter{display:none}
}
@media(pointer:fine){body.contact-flow-open,body.contact-flow-open .contact-flow{cursor:default}body.contact-flow-open .cursor{display:none}.contact-flow button{cursor:pointer}.contact-flow input,.contact-flow textarea{cursor:text}}

/* 04 / The One of One Operating System — one pinned scroll scene. */
.one-of-one{position:relative;height:260svh;padding-top:9svh;background:#020405;border-top:1px solid var(--line)}
.one-of-one-stage{position:sticky;top:9svh;height:82svh;min-height:0;display:grid;place-items:center;isolation:isolate;overflow:hidden;background-color:#020405;background-image:var(--mobile-image-19,url("assets/one-of-one/faces-grid-v6.png"));background-position:center 25%;background-size:contain;background-repeat:no-repeat}
.one-of-one-stage:after{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(circle at center,#02040538 0,#0006 58%,#000c 100%),linear-gradient(180deg,#0004,#0002 48%,#0007);pointer-events:none}
.one-of-one-label{position:absolute;z-index:4;top:42px;left:var(--pad);color:var(--bright);font-size:9px;letter-spacing:.24em;text-transform:uppercase}
.one-of-one-stage .beam{display:none}
.one-of-one-face-glows{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}.one-of-one-face-glows span{--scan-y:0%;--scan-strength:0;position:absolute;overflow:hidden;border-radius:2px;opacity:0;mix-blend-mode:screen;will-change:opacity,transform}.one-of-one-face-glows span:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0,transparent calc(var(--scan-y) - 24%),#81d8d052 calc(var(--scan-y) - 15%),#aafff7bd calc(var(--scan-y) - 3%),#fff var(--scan-y),#42e9dff0 calc(var(--scan-y) + 1%),#14cfc7b8 calc(var(--scan-y) + 10%),transparent calc(var(--scan-y) + 25%),transparent 100%);filter:contrast(1.25) saturate(1.1);opacity:calc(.52 + var(--scan-strength)*.48)}.one-of-one-face-glows span:after{content:"";position:absolute;left:2%;right:2%;top:var(--scan-y);height:3px;transform:translateY(-50%);background:linear-gradient(90deg,transparent,#81d8d0 10%,#fff 50%,#45eee4 90%,transparent);box-shadow:0 0 8px #fff,0 0 20px #81d8d0,0 0 42px #12d4cd;opacity:var(--scan-strength)}
.one-of-one-intro{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:flex-start;padding:120px var(--pad);pointer-events:none;will-change:opacity}
.one-of-one-intro h2{max-width:52%;margin:0;font-size:clamp(52px,7.5vw,112px);font-weight:400;letter-spacing:-.05em;line-height:.96;text-shadow:0 5px 40px #000;will-change:transform}
.one-of-one-card-track{position:absolute;z-index:3;top:0;left:0;width:max-content;height:max-content;pointer-events:none;will-change:transform;outline:0}.one-of-one-card-track.is-active{pointer-events:auto;cursor:pointer;touch-action:manipulation}
.one-of-one-card{--card-light-x:50%;--card-light-y:30%;position:relative;width:clamp(220px,23vw,350px);aspect-ratio: .64;padding:24px 25px 22px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid #dffcff80;border-radius:22px;background:linear-gradient(145deg,#d8e9f244,#07131ed9),var(--mobile-image-11,url("assets/one-of-one/background-04.png")) center/cover no-repeat;box-shadow:0 28px 90px #000b,inset 0 1px 0 #fff9;backdrop-filter:blur(10px);will-change:transform}
.one-of-one-card-track.is-active .one-of-one-card{animation:one-of-one-card-idle 12s ease-in-out infinite}
@keyframes one-of-one-card-idle{
  0%,100%{transform:perspective(1100px) rotateY(0deg) scale(1)}
  25%{transform:perspective(1100px) rotateY(15deg) scale(1)}
  75%{transform:perspective(1100px) rotateY(-15deg) scale(1)}
}
.one-of-one-card:before{content:"";position:absolute;z-index:0;inset:-35%;background:radial-gradient(circle at var(--card-light-x) var(--card-light-y),#fff9 0,#bffeff44 12%,transparent 34%),linear-gradient(115deg,transparent 24%,#fff8 44%,#65e5df35 50%,transparent 68%);mix-blend-mode:screen;filter:blur(3px);opacity:.82}
.one-of-one-card:after{content:"";position:absolute;z-index:0;inset:0;background:repeating-linear-gradient(105deg,#fff0 0 7px,#fff09 8px,#fff0 10px 18px);mix-blend-mode:soft-light;opacity:.18}
.one-of-one-card>*{position:relative;z-index:1}
.one-of-one-card header,.one-of-one-card footer{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid #fff5;color:#efffff;font-size:7px;font-weight:600;letter-spacing:.24em}
.one-of-one-card header span:last-child{display:flex;align-items:center;gap:8px}.one-of-one-card header i{width:6px;height:6px;border-radius:50%;background:var(--bright);box-shadow:0 0 12px var(--bright)}
.one-of-one-card footer{padding:16px 0 0;border-top:1px solid #fff5;border-bottom:0}
.one-of-one-card-mark{display:grid;place-items:center;flex:1}.one-of-one-card-mark img{display:block;width:80%;height:auto;filter:drop-shadow(0 12px 22px #0008)}
.one-of-one-explore{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:16px;padding:18px 4px 15px;border-bottom:1px solid #81d8d0;color:#eafffc;font-size:clamp(17px,1.7vw,25px);letter-spacing:.13em;opacity:0;transform:translateY(14px);transition:color .25s;will-change:opacity,transform}.one-of-one-explore i{font-size:clamp(20px,2vw,28px);font-style:normal;color:var(--bright)}.one-of-one-card-track.is-active:hover .one-of-one-explore{color:var(--bright)}
@media(max-width:800px){.one-of-one{height:240svh;padding-top:8svh}.one-of-one-stage{top:8svh;height:84svh;min-height:0}.one-of-one-label{top:24px;left:24px;right:24px}.one-of-one-intro{align-items:flex-end;padding:82px 24px 54px}.one-of-one-intro h2{max-width:90%;font-size:clamp(46px,14vw,68px)}.one-of-one-card{width:clamp(180px,48vw,260px);padding:17px 18px 16px;border-radius:16px}.one-of-one-card header,.one-of-one-card footer{font-size:5px;letter-spacing:.18em}.one-of-one-explore{font-size:clamp(14px,4vw,18px)}}
@media(prefers-reduced-motion:reduce){.one-of-one-card-track.is-active .one-of-one-card{animation:none}}

/* In-page One of One destination: slides in from the right while the group site recedes. */
main,.nav,.scroll-rail{transition:transform .95s cubic-bezier(.76,0,.24,1),filter .95s cubic-bezier(.76,0,.24,1)}
body.one-of-one-page-open{overflow:hidden}body.one-of-one-page-open main,body.one-of-one-page-open .nav,body.one-of-one-page-open .scroll-rail{transform:translate3d(-18vw,0,0);filter:brightness(.42)}
.one-of-one-page{--ooo-ink:#111719;--ooo-copy:#4e585a;--ooo-line:#17242622;position:fixed;z-index:90;inset:0;overflow:auto;background:#f6f7f5;color:var(--ooo-ink);transform:translate3d(100%,0,0);visibility:hidden;transition:transform .95s cubic-bezier(.76,0,.24,1),visibility 0s .95s;isolation:isolate}
.one-of-one-page:before{content:"";position:fixed;z-index:0;inset:0;background:linear-gradient(115deg,#fff8,#eef8f766 62%,#fff4);pointer-events:none}.one-of-one-page.open{transform:none;visibility:visible;transition:transform .95s cubic-bezier(.76,0,.24,1),visibility 0s}
.one-of-one-page-header{position:relative;z-index:5;height:100px;margin:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--ooo-line);font-size:8px;letter-spacing:.22em;color:var(--ooo-ink)}.one-of-one-page-header>img{width:112px;height:auto;filter:drop-shadow(0 2px 2px #fff) contrast(1.25)}.one-of-one-page-close{justify-self:end;display:flex;align-items:center;gap:12px;border:0;background:none;color:var(--ooo-ink);font-size:8px;letter-spacing:.22em;cursor:pointer}.one-of-one-page-close i{color:#0aaea8;font-size:16px;font-style:normal}
.one-of-one-page-hero{position:relative;z-index:1;min-height:calc(100svh - 100px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:110px var(--pad) 80px;background:linear-gradient(90deg,#fbfaf7fa 0,#fbfaf7d8 43%,#fbfaf738 70%),var(--mobile-image-12,url("assets/one-of-one/brand-backgrounds/oneofone-light-01-silicone-membrane.png")) center/cover no-repeat}.one-of-one-page-hero>span{position:absolute;top:42px;left:var(--pad);color:#079d98;font-size:9px;letter-spacing:.24em}.one-of-one-page-hero>div:not(.one-of-one-phone-visual):not(.one-of-one-page-scroll){grid-column:1;grid-row:1}.one-of-one-page-hero p{margin:0 0 24px;color:#079d98;font-size:9px;letter-spacing:.28em}.one-of-one-page-hero h2{margin:0;font-size:clamp(48px,6.5vw,100px);font-weight:400;line-height:.96;letter-spacing:-.055em;color:var(--ooo-ink);text-shadow:0 1px 0 #fff}
.one-of-one-phone-visual{position:relative;grid-column:2;grid-row:1;justify-self:stretch;align-self:stretch;min-height:560px;pointer-events:none}.one-of-one-phone-visual:after{content:"";position:absolute;left:18%;right:12%;bottom:9%;height:10%;border-radius:50%;background:#4a6f6d42;filter:blur(38px);transform:scaleX(.78);opacity:.55}.one-of-one-phone-visual canvas{position:relative;z-index:1;display:block;width:100%;height:100%;opacity:0;transition:opacity .45s ease}.one-of-one-phone-visual.ready canvas{opacity:1}.one-of-one-phone-fallback{position:absolute;z-index:0;inset:24% 16%;width:68%;height:52%;object-fit:contain;opacity:.5;filter:drop-shadow(0 20px 35px #71807d48)}.one-of-one-phone-visual.ready .one-of-one-phone-fallback{opacity:0}
.one-of-one-page-hero>.one-of-one-page-scroll{position:absolute;z-index:3;left:var(--pad);bottom:34px;display:flex;align-items:center;gap:18px;color:var(--ooo-ink);font-size:8px;letter-spacing:.2em}.one-of-one-page-scroll i{position:relative;width:64px;height:1px;overflow:hidden;background:#101a1c2b}.one-of-one-page-scroll i:after{content:"";position:absolute;inset:0;background:#0bbeb7;transform:translateX(-100%);animation:scan 2s infinite}
.one-of-one-page-content{--ooo-section-title-size:27px;--ooo-small-copy-size:13px;position:relative;z-index:1;padding:0 var(--pad) 120px;background:#f7f8f6}
.one-of-one-copy-section,.one-of-one-principles,.one-of-one-promise{position:relative;isolation:isolate;margin:0 calc(var(--pad) * -1);padding-left:var(--pad)!important;padding-right:var(--pad)!important;background-color:#f7f8f6;background-position:center;background-size:cover;background-repeat:no-repeat}
.one-of-one-copy-section:before,.one-of-one-principles:before,.one-of-one-promise:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#fbfcfaf5 0,#fbfcfae8 52%,#fbfcfa8f 100%)}
.one-of-one-copy-section:nth-of-type(1){background-image:var(--mobile-image-13,url("assets/one-of-one/brand-backgrounds/oneofone-light-03-hydrogel-particles.png"))}
.one-of-one-copy-section:nth-of-type(2){background-image:var(--mobile-image-14,url("assets/one-of-one/brand-backgrounds/oneofone-light-04-biomaterial-fibres.png"))}
.one-of-one-copy-section:nth-of-type(3){background-image:var(--mobile-image-17,url("assets/one-of-one/brand-backgrounds/oneofone-light-15-optical-glass-ribbons.png"))}
.one-of-one-principles{background-image:var(--mobile-image-15,url("assets/one-of-one/brand-backgrounds/oneofone-light-06-aerogel-layers.png"))}
.one-of-one-promise{background-image:var(--mobile-image-16,url("assets/one-of-one/brand-backgrounds/oneofone-light-09-liquid-crystal-film.png"))}
.one-of-one-copy-section{display:grid;grid-template-columns:minmax(180px,.65fr) 1.35fr;gap:8vw;padding-top:150px;padding-bottom:150px;border-top:1px solid var(--ooo-line)}.one-of-one-copy-section>span,.one-of-one-principles-head>span,.one-of-one-promise>span{padding-top:13px;color:#078f8b;font-size:9px;letter-spacing:.24em}.one-of-one-copy-section>div{max-width:900px}.one-of-one-copy-section h3,.one-of-one-principles h3,.one-of-one-promise h3{margin:0 0 58px;font-size:clamp(40px,5.5vw,82px);font-weight:400;line-height:1.03;letter-spacing:-.045em;color:var(--ooo-ink)}.one-of-one-copy-section h3 em,.one-of-one-promise em{color:#079d98;font-style:normal}.one-of-one-copy-section p{max-width:760px;margin:0 0 28px;color:var(--ooo-copy);font-size:clamp(16px,1.5vw,21px);line-height:1.75}.one-of-one-copy-section .one-of-one-lead{color:var(--ooo-ink);font-size:clamp(24px,2.8vw,42px);line-height:1.35}.one-of-one-copy-section .one-of-one-statement{margin:56px 0;color:#079d98;font-size:clamp(54px,8vw,120px);line-height:.9;letter-spacing:-.055em}
.one-of-one-principles{padding-top:150px;padding-bottom:50px;border-top:1px solid var(--ooo-line)}.one-of-one-principles-head{display:grid;grid-template-columns:minmax(180px,.65fr) 1.35fr;gap:8vw}.one-of-one-principles-head h3{margin-bottom:90px}.one-of-one-principle-list{border-top:1px solid var(--ooo-line)}.one-of-one-principle-list article{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:70px .75fr 1fr;gap:40px;align-items:center;min-height:150px;border-bottom:1px solid var(--ooo-line)}.one-of-one-principle-list article:before{content:"";position:absolute;z-index:-1;inset:0;background:#ffffffb5;backdrop-filter:blur(12px);transform:scaleY(0);transform-origin:bottom;transition:transform .4s ease}.one-of-one-principle-list article:hover:before{transform:scaleY(1)}.one-of-one-principle-list article>span{color:#078f8b;font-size:9px;letter-spacing:.18em}.one-of-one-principle-list h4{position:relative;width:max-content;margin:0;color:var(--ooo-ink);font-size:clamp(27px,3.2vw,48px);font-weight:400;letter-spacing:-.035em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:auto}.one-of-one-principle-list h4:after{content:attr(data-title);position:absolute;inset:0;color:transparent;background-image:linear-gradient(105deg,#5a6264 0%,#828a8c 41%,#e8eeee 49%,#9ba3a5 56%,#4e5658 100%);background-size:300% 100%;background-position:-100% 50%;background-clip:text;-webkit-background-clip:text;opacity:0;transition:opacity .5s cubic-bezier(.22,1,.36,1);pointer-events:none}.one-of-one-principle-list article:hover h4:after{opacity:.88;animation:pillar-metal-shimmer 3.8s cubic-bezier(.4,0,.2,1) 1 both}.one-of-one-principle-list p{max-width:520px;margin:0;color:var(--ooo-copy);font-size:15px;line-height:1.7;transition:color .35s ease}.one-of-one-principle-list article:hover p{color:#243033}@media(prefers-reduced-motion:reduce){.one-of-one-principle-list article:hover h4:after{animation:none}}
.one-of-one-promise{padding-top:60px;padding-bottom:150px;border-top:1px solid var(--ooo-line)}.one-of-one-promise>h3{max-width:1100px;margin:70px 0;font-size:clamp(32px,4.4vw,66px);line-height:1.42}.one-of-one-question-label{margin:100px 0 24px;color:var(--ooo-copy);font-size:15px}.one-of-one-promise blockquote{max-width:1200px;margin:0 0 70px;padding:0;color:var(--ooo-ink);font-size:clamp(44px,6.8vw,100px);font-weight:400;line-height:1;letter-spacing:-.05em}.one-of-one-promise>p:last-child{max-width:760px;color:var(--ooo-copy);font-size:clamp(18px,1.8vw,25px);line-height:1.7}
@media(max-width:800px){body.one-of-one-page-open main,body.one-of-one-page-open .nav,body.one-of-one-page-open .scroll-rail{transform:translate3d(-28vw,0,0)}.one-of-one-page-header{height:82px;grid-template-columns:1fr 1fr;margin:0 22px}.one-of-one-page-header>span{display:none}.one-of-one-page-header>img{width:92px}.one-of-one-page-hero{min-height:calc(100svh - 82px);grid-template-columns:1fr;padding:92px 24px 88px;background-position:58% center}.one-of-one-phone-visual{grid-column:1;grid-row:1;min-height:50svh;align-self:start;margin-top:20px}.one-of-one-page-hero>div:not(.one-of-one-phone-visual):not(.one-of-one-page-scroll){grid-column:1;grid-row:1;z-index:2;align-self:end}.one-of-one-page-hero h2{font-size:clamp(43px,12.5vw,66px)}.one-of-one-page-hero>.one-of-one-page-scroll{left:24px;bottom:28px}.one-of-one-page-content{padding:0 24px 80px}.one-of-one-copy-section,.one-of-one-principles,.one-of-one-promise{margin:0 -24px;padding-left:24px!important;padding-right:24px!important}.one-of-one-copy-section{grid-template-columns:1fr;gap:42px;padding-top:95px;padding-bottom:95px;background-position:62% center}.one-of-one-copy-section h3,.one-of-one-principles h3,.one-of-one-promise h3{margin-bottom:42px}.one-of-one-principles{padding-top:95px;padding-bottom:40px}.one-of-one-principles-head{grid-template-columns:1fr;gap:42px}.one-of-one-principles-head h3{margin-bottom:54px}.one-of-one-principle-list article{grid-template-columns:38px 1fr;gap:20px;padding:28px 0}.one-of-one-principle-list p{grid-column:2}.one-of-one-promise{padding-top:50px;padding-bottom:95px}.one-of-one-promise>h3{margin:54px 0}.one-of-one-question-label{margin-top:72px}.one-of-one-promise blockquote{margin-bottom:48px}}

/* Keep the white One of One destination aligned with the site's restrained type scale. */
.one-of-one-page-hero{min-height:calc(80svh - 80px);padding:88px var(--pad) 64px}
.one-of-one-page-hero>span{top:34px}
.one-of-one-phone-visual{min-height:448px}
.one-of-one-page-hero>.one-of-one-page-scroll{bottom:27px}
.one-of-one-page-hero h2,
.one-of-one-copy-section h3,
.one-of-one-principles h3,
.one-of-one-promise h3,
.one-of-one-copy-section .one-of-one-statement,
.one-of-one-promise blockquote{font-size:clamp(38px,4.2vw,52px)}
.one-of-one-promise>h3{font-size:38px}
.one-of-one-copy-section p:not(.one-of-one-lead):not(.one-of-one-statement),
.one-of-one-principle-list p,
.one-of-one-question-label,
.one-of-one-promise>p:last-child{font-size:13px}

/* Halve the white breathing room around each blue One of One section label. */
.one-of-one-copy-section>span,
.one-of-one-principles-head>span,
.one-of-one-promise>span{
  display:block;
  align-self:start;
  padding-top:4px;
  font-size:var(--ooo-section-title-size);
  line-height:1.3;
  letter-spacing:.08em;
  text-wrap:balance;
}
.one-of-one-page-content{padding-bottom:60px}
/* The chapter label already names this section; keep the existing spacing. */
.one-of-one-principles-head>h3{visibility:hidden}
.one-of-one-copy-section{padding-top:75px;padding-bottom:75px}
.one-of-one-principles{padding-top:75px;padding-bottom:25px}
.one-of-one-promise{padding-top:30px;padding-bottom:75px}
/* Halve both promise-copy gaps, including the adjoining collapsed margins. */
.one-of-one-promise>h3{margin-bottom:35px}
.one-of-one-question-label{margin-top:50px}
.one-of-one-promise blockquote{margin-bottom:35px}
@media(max-width:800px){
  .one-of-one-page-hero{min-height:calc(80svh - 66px);padding:74px 24px 70px}
  .one-of-one-phone-visual{min-height:40svh}
  .one-of-one-page-content{padding-bottom:40px}
  .one-of-one-copy-section{padding-top:48px;padding-bottom:48px}
  .one-of-one-principles{padding-top:48px;padding-bottom:20px}
  .one-of-one-promise{padding-top:25px;padding-bottom:48px}
  .one-of-one-promise>h3{margin-bottom:27px}
  .one-of-one-question-label{margin-top:36px}
  .one-of-one-promise blockquote{margin-bottom:24px}
}

/* Reliable sector arrows and touch states. */
.sector-list article>i{position:relative;width:18px;height:18px;font-size:0}
.sector-list article>i:before{content:"";position:absolute;top:1px;right:1px;width:11px;height:11px;border-top:1px solid currentColor;border-right:1px solid currentColor}
.sector-list article>i:after{content:"";position:absolute;top:8px;right:0;width:17px;height:1px;background:currentColor;transform:rotate(-45deg);transform-origin:right center}
.sector-feature:focus:after{opacity:1;transform:scale(1)}
.sector-feature:focus:before{transform:translate3d(0,-50%,0)}

@media(max-width:800px){
  .approach{display:block;min-height:100svh}
  .approach-visual{position:absolute;inset:0;min-height:100%;overflow:hidden}
  .globe-scroll-video{width:150%;height:112%;inset:-6% auto -6% -25%;filter:saturate(.9) contrast(1.08) brightness(.92)}
  .approach-copy{min-height:100svh;background:rgba(10,10,11,.52);backdrop-filter:none}
  .approach-visual:after{background:linear-gradient(180deg,#0005,#0002 45%,#0006)}
  .sector-feature:focus{min-height:180px!important;background-color:#050506;outline:0}
  .sector-feature:focus p{position:relative;left:auto;right:auto;bottom:auto;width:auto;max-width:none;grid-column:2;color:var(--white)}
  .sector-list article>i{justify-self:end;color:#9b9d9d}
}

.approach-section-label{position:absolute;z-index:4;top:42px;left:var(--pad);color:var(--bright)}
.approach-mobile-intro{display:none}
@media(max-width:800px){.approach-section-label{top:28px;left:var(--pad)}}

/* Mobile Global Experience: one fully scaled composition with the scrubbed globe behind it. */
@media(max-width:800px){
  .approach{display:block;min-height:138svh;overflow:hidden;background:#030506}
  .approach-section-label{display:none}
  .approach-mobile-intro{position:relative;z-index:3;height:38svh;min-height:280px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:32px var(--pad) 42px;background:#030506}
  .approach-mobile-intro .section-no{color:var(--bright)}
  .approach-mobile-intro img{display:block;width:min(62vw,280px);height:auto;align-self:center}
  .approach-visual{position:absolute;z-index:0;top:max(38svh,280px);right:0;bottom:0;left:0;width:100%;height:auto;min-height:0;display:block;overflow:hidden;background:#030506}
  .globe-scroll-video{inset:0 auto 0 -32%;width:164%;height:100%;object-fit:cover;object-position:center;filter:saturate(.95) contrast(1.12) brightness(.88);opacity:1}
  .approach-visual:after{background:linear-gradient(180deg,#0003 0,#0003 38%,#000b 100%)}
  .approach-visual .seal{display:none}
  .approach-copy{position:relative;z-index:2;min-height:100svh;margin-top:0;padding:clamp(112px,17svh,155px) var(--pad) 72px;background:linear-gradient(180deg,rgba(3,5,6,.08) 0,rgba(10,10,11,.25) 35%,rgba(10,10,11,.88) 100%);backdrop-filter:none}
  .approach-copy h2{margin:26px 0 34px;font-size:clamp(42px,13vw,64px);line-height:1.02}
  .approach-copy>p{font-size:14px;line-height:1.65}
  .approach dl{margin-top:44px}
  .approach dl div{gap:18px;padding:16px 0}
  .approach dd{max-width:62%;text-align:right;line-height:1.45}
  .approach-section-label{top:28px;left:var(--pad)}
}

/* Operating-system interlude: particle image with a chrome ring and orbiting light. */
.interlude{
  isolation:isolate;
  background-image:
    linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.9) 39%,rgba(0,8,9,.62) 70%,rgba(0,0,0,.48) 100%),
    radial-gradient(circle at 73% 48%,rgba(10,186,181,.055),transparent 43%),
    var(--mobile-image-1,url("assets/brand/operating-system-bg-subtle-v1.png"));
  background-size:cover;
  background-position:center;
}
.interlude:after{content:none}
.interlude:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 24%,transparent 74%,rgba(0,0,0,.35));
  pointer-events:none;
}
@media(min-width:801px){
  .interlude{
    height:clamp(720px,72vh,980px);
    min-height:0;
  }
}
@media(min-width:801px){
  .interlude{
    display:grid;
    grid-template-columns:max-content minmax(0,690px);
    grid-template-rows:auto;
    column-gap:60px;
    align-content:center;
    align-items:center;
    justify-content:start;
  }
  .interlude h2{
    grid-column:1;
    grid-row:1;
  }
}
.interlude-ring-wrap{
  --interlude-light-angle:0deg;
  --interlude-light-sweep:50%;
  position:absolute;
  z-index:1;
  top:50%;
  right:8vw;
  width:min(45vw,690px);
  aspect-ratio:1;
  container-type:inline-size;
  transform:translateY(-50%);
  transform-style:flat;
  pointer-events:none;
  animation:interlude-light-phase 60s linear infinite;
}
.interlude-ring-wrap:before{
  content:"";
  position:absolute;
  z-index:0;
  inset:8px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,0,0,.36) 0%,rgba(0,0,0,.24) 66%,rgba(0,0,0,.1) 100%);
  -webkit-backdrop-filter:brightness(.8) saturate(.82);
  backdrop-filter:brightness(.8) saturate(.82);
}
.interlude-ring{
  position:absolute;
  z-index:1;
  inset:0;
  border-radius:50%;
  animation:interlude-ring-turn 18s linear infinite;
}
.interlude-ring:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:conic-gradient(
    from 0deg,
    #242728 0deg,
    #7d8587 22deg,
    #f5f6f4 42deg,
    #777d7f 64deg,
    #181a1b 105deg,
    #9ba1a2 148deg,
    #fdfdf9 174deg,
    #474c4e 207deg,
    #151718 256deg,
    #e1e4e3 295deg,
    #5b6264 330deg,
    #242728 360deg
  );
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));
  filter:drop-shadow(0 0 5px rgba(255,255,255,.25)) drop-shadow(0 0 22px rgba(10,186,181,.14));
}
.interlude-ring:after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 302deg,rgba(255,255,255,.08) 315deg,#fff 329deg,#93fff9 335deg,rgba(10,186,181,.35) 342deg,transparent 354deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 10px),#000 calc(100% - 8px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 10px),#000 calc(100% - 8px));
  filter:drop-shadow(0 0 6px rgba(255,255,255,.7)) drop-shadow(0 0 13px rgba(10,186,181,.4));
  animation:interlude-glimmer 21.6s linear infinite;
}
.interlude-ring-light{
  position:absolute;
  z-index:2;
  inset:-13px;
  border-radius:50%;
  transform:rotate(var(--interlude-light-angle));
}
.interlude-ring-light:after{
  content:"";
  position:absolute;
  top:-4px;
  left:50%;
  width:clamp(8px,1vw,15px);
  aspect-ratio:1;
  border-radius:50%;
  background:#a7fff9;
  box-shadow:
    0 0 10px 3px rgba(167,255,249,.65),
    0 0 28px 11px rgba(10,186,181,.26),
    0 0 68px 28px rgba(10,186,181,.11);
  transform:translateX(-50%);
}
@keyframes interlude-ring-turn{to{transform:rotate(360deg)}}
@keyframes interlude-glimmer{to{transform:rotate(360deg)}}
@property --interlude-light-angle{
  syntax:"<angle>";
  inherits:true;
  initial-value:0deg;
}
@property --interlude-light-sweep{
  syntax:"<percentage>";
  inherits:true;
  initial-value:-160%;
}
@keyframes interlude-light-phase{
  0%{
    --interlude-light-angle:0deg;
    --interlude-light-sweep:50%;
  }
  25%{
    --interlude-light-angle:90deg;
    --interlude-light-sweep:260%;
  }
  50%{
    --interlude-light-angle:180deg;
    --interlude-light-sweep:50%;
  }
  75%{
    --interlude-light-angle:270deg;
    --interlude-light-sweep:-160%;
  }
  100%{
    --interlude-light-angle:360deg;
    --interlude-light-sweep:50%;
  }
}
@media(prefers-reduced-motion:reduce){
  .interlude-ring-wrap,.interlude-ring,.interlude-ring:after{animation:none}
}
@media(max-width:800px){
  .interlude-ring-wrap{right:-20vw;top:44%;width:min(78vw,440px);opacity:.88}
  .interlude-ring-wrap .interlude-ring-copy{font-size:clamp(26px,7.2vw,40px)}
  .interlude h2{max-width:88%;margin-bottom:44px}
}
.interlude-ring-wrap .interlude-ring-copy{
  position:absolute;
  z-index:3;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  margin:0;
  padding:0 8%;
  color:transparent;
  font-size:7.826cqi;
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.045em;
  text-align:center;
  text-transform:none;
  white-space:normal;
  text-shadow:none;
}
.interlude-ring-copy-line{
  display:block;
  color:transparent!important;
  white-space:nowrap;
}
.interlude-ring-copy-dot{
  display:block;
  width:1.304cqi;
  height:1.304cqi;
  margin:2.435cqi 0;
  overflow:hidden;
  border-radius:50%;
  color:transparent!important;
  background:#0abab5;
  font-size:0;
  line-height:0;
}
.interlude-ring-copy-line{
  background-image:linear-gradient(
    112deg,
    #424749 0%,
    #747b7d 22%,
    #aeb4b5 38%,
    #f3f4f2 49%,
    #c9cccb 56%,
    #858b8d 72%,
    #4b5052 100%
  );
  background-size:260% 100%;
  background-position:var(--interlude-light-sweep) center;
  -webkit-background-clip:text;
  background-clip:text;
  filter:none;
}
.interlude h2{margin:0 0 68px}
.interlude p{margin:0}

/* Smooth the hard edit between the final two hero-film shots. */
.story-film-cut-bridge{
  position:absolute;
  inset:0;
  z-index:2;
  opacity:var(--story-cut-opacity,0);
  pointer-events:none;
}
.story-film-cut-bridge img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% center;
  filter:contrast(1.06) brightness(.76) saturate(.86);
}
.story-film-cut-before{opacity:calc(1 - var(--story-cut-mix,0))}
.story-film-cut-after{opacity:var(--story-cut-mix,0)}
@media(max-width:800px){
  .story-film-cut-bridge img{object-position:66% center}
}

/* Sector showcase: sticky 3D stage on the right, copy protected by a glass bar. */
#sectors{
  overflow:visible;
  background-color:transparent!important;
  background-image:none!important;
}
#soccerbal-scene{
  position:sticky;
  top:0;
  left:auto;
  display:block;
  width:100vw;
  height:100svh;
  margin:-150px calc(50% - 50vw) calc(-100svh + 150px);
  z-index:0;
}
#sectors>.section-head{z-index:3}
#sectors>.sector-list{
  position:relative;
  z-index:2;
  background:transparent!important;
  border-top:0;
}
.sector-list article{
  grid-template-columns:minmax(330px,var(--sector-title-panel-width,474px)) minmax(320px,1fr);
  height:120px;
  min-height:120px;
  padding:0;
  background-color:transparent!important;
  background-image:none!important;
  border-bottom:0;
}
.sector-title-panel{
  grid-column:1;
  align-self:stretch;
  display:grid;
  grid-template-columns:70px minmax(260px,1fr);
  align-items:center;
  height:120px;
  padding:22px 0;
  width:min(100%,var(--sector-title-panel-width,474px));
  background:rgba(0,0,0,.5)!important;
  background-image:none!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  position:relative;
  z-index:2;
}
.sector-list article>i{display:none!important}
.sector-list article:hover,
.sector-list article:focus,
.sector-list article:focus-visible,
.sector-list article.scroll-active{
  height:120px;
  min-height:120px!important;
  padding-top:0;
  padding-bottom:0;
  padding-left:0;
  background-color:transparent!important;
  background-image:none!important;
}
.sector-feature:before{
  content:none!important;
  display:none!important;
}
.sector-feature:after{
  content:none!important;
  display:none!important;
  opacity:0!important;
}
.sector-feature:hover:before,
.sector-feature:focus:before,
.sector-feature:focus-visible:before,
.sector-feature.scroll-active:before{
  content:none!important;
  display:none!important;
}
.sector-feature:hover:after,
.sector-feature:focus:after,
.sector-feature:focus-visible:after,
.sector-feature.scroll-active:after{
  content:none!important;
  display:none!important;
  opacity:0!important;
}
.sector-feature h3,
.sector-feature:hover h3,
.sector-feature:focus h3,
.sector-feature:focus-visible h3,
.sector-feature.scroll-active h3{
  align-self:center;
  margin-top:0;
}
.sector-list article p,
.sector-list article.sector-feature p,
.sector-list article.sector-feature.scroll-active p{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  grid-column:2;
  align-self:center;
  justify-self:end;
  width:min(100%,470px);
  max-width:470px;
  margin:0 18px 0 0;
  padding:0;
  color:var(--muted);
  background:transparent;
  border:1px solid transparent;
  transform:translate3d(-18px,0,0);
  transition:opacity .35s ease,transform .6s cubic-bezier(.16,1,.3,1),background .35s ease,border-color .35s ease,color .3s ease,backdrop-filter .35s ease;
}
#sectors .sector-list article.sector-feature p{
  height:0;
  min-height:0;
  max-height:0;
  margin:0;
  padding:0;
  overflow:hidden!important;
  opacity:0;
  visibility:hidden;
  border:0;
  outline:0;
  pointer-events:none;
  transform:translate3d(-18px,8px,0);
}
.sector-feature:hover p,
.sector-feature:focus p,
.sector-feature:focus-visible p,
.sector-feature.scroll-active p{
  padding:16px 20px;
  color:var(--white);
  background:transparent;
  border-color:#8ffcf31f;
  border-left-color:#31d8d05c;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  transform:translate3d(18px,0,0);
  text-shadow:0 2px 18px #000;
}
#sectors .sector-list article.sector-feature:hover p,
#sectors .sector-list article.sector-feature:focus p,
#sectors .sector-list article.sector-feature:focus-visible p,
#sectors .sector-list article.sector-feature.scroll-active p{
  z-index:6;
  height:auto;
  min-height:0;
  max-height:none;
  margin:0 18px 0 0;
  padding:16px 20px;
  overflow:visible!important;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  color:var(--white);
  background:transparent;
  border:0;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  transform:translate3d(18px,0,0);
}

@media(max-width:800px){
  #soccerbal-scene{
    width:100vw;
    height:100svh;
    margin:-110px calc(50% - 50vw) calc(-100svh + 110px);
  }
  #soccerbal-scene.ready{opacity:.9}
  .sector-list article{
    grid-template-columns:minmax(0,1fr);
    height:auto;
    min-height:124px;
    padding:0;
    background-color:transparent!important;
    background-image:none!important;
  }
  .sector-title-panel{
    grid-column:1;
    grid-template-columns:38px minmax(0,1fr);
    height:124px;
    padding:22px 0;
  }
  .sector-list article:hover,
  .sector-list article:focus,
  .sector-list article:focus-visible,
  .sector-list article.scroll-active{
    height:auto;
    min-height:124px!important;
    background-color:transparent!important;
    background-image:none!important;
  }
  .sector-feature h3,
  .sector-feature:hover h3,
  .sector-feature:focus h3,
  .sector-feature:focus-visible h3,
  .sector-feature.scroll-active h3{
    grid-column:2;
    align-self:start;
    margin-top:20px;
  }
  .sector-list article p,
  .sector-list article.sector-feature p,
  .sector-list article.sector-feature.scroll-active p{
    grid-column:1;
    align-self:end;
    width:auto;
    max-width:none;
    margin:0 12px 18px 0;
    transform:none;
  }
  .sector-feature:hover p,
  .sector-feature:focus p,
  .sector-feature:focus-visible p,
  .sector-feature.scroll-active p{
    padding:14px 16px;
    transform:none;
    background:transparent;
  }
  #sectors .sector-list article.sector-feature:hover p,
  #sectors .sector-list article.sector-feature:focus p,
  #sectors .sector-list article.sector-feature:focus-visible p,
  #sectors .sector-list article.sector-feature.scroll-active p{
    height:auto;
    max-height:none;
    margin:0 12px 14px 0;
    padding:14px 16px;
    overflow:visible!important;
    opacity:1;
    visibility:visible;
    transform:none;
    background:transparent;
  }
}

/* Keep the rebuilt sector objects in one broad black-fade stage. */
#soccerbal-scene{
  -webkit-mask-image:linear-gradient(to bottom,transparent 2%,rgba(0,0,0,.2) 15%,#000 30%,#000 73%,rgba(0,0,0,.65) 86%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 2%,rgba(0,0,0,.2) 15%,#000 30%,#000 73%,rgba(0,0,0,.65) 86%,transparent 100%)!important;
}

/* The circular sector cards render their real multiline title; disable the
   legacy hover duplicate that was previously painted from data-title. */
#sectors .sector-feature h3::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  animation:none!important;
}

/* PREFINAL-38O — circular sector matrix with a shared rising detail field. */
#sectors{
  position:relative;
  min-height:1180px;
  padding:130px var(--pad) 150px;
  isolation:isolate;
  overflow:clip;
  background:#030405!important;
}
#sectors:after{
  content:"";
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  bottom:0;
  width:48%;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.1) 28%,rgba(0,0,0,.62) 100%);
}
#sectors>.section-head{
  position:relative;
  z-index:4;
  width:min(100%,940px);
  margin-bottom:82px;
}
#soccerbal-scene{
  z-index:2;
  margin:-130px calc(50% - 50vw) calc(-100svh + 130px);
  pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,transparent 2%,rgba(0,0,0,.2) 15%,#000 30%,#000 73%,rgba(0,0,0,.65) 86%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 2%,rgba(0,0,0,.2) 15%,#000 30%,#000 73%,rgba(0,0,0,.65) 86%,transparent 100%)!important;
}
#sectors>.sector-list{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(3,218px);
  gap:74px 50px;
  width:790px;
  min-height:650px;
  margin:0;
  padding:158px 18px 34px;
  overflow:visible;
  border:0;
  background:transparent!important;
}
.sector-detail-panel{
  position:absolute;
  z-index:0;
  top:0;
  left:0;
  right:0;
  height:360px;
  overflow:hidden;
  border-radius:30px;
  opacity:0;
  pointer-events:none;
  clip-path:inset(92% 0 0 round 30px);
  transform:translate3d(0,76px,0) scale(.985,.94);
  transform-origin:center bottom;
  filter:blur(7px) brightness(.58) saturate(.75);
  background:linear-gradient(180deg,rgba(111,228,220,.96) 0%,rgba(48,137,133,.8) 30%,rgba(8,34,35,.5) 58%,rgba(0,0,0,0) 100%);
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 24%,rgba(0,0,0,.9) 38%,rgba(0,0,0,.58) 54%,rgba(0,0,0,.2) 70%,transparent 88%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 24%,rgba(0,0,0,.9) 38%,rgba(0,0,0,.58) 54%,rgba(0,0,0,.2) 70%,transparent 88%,transparent 100%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  box-shadow:0 -18px 64px rgba(91,216,209,.07);
  transition:opacity .28s ease,clip-path .94s cubic-bezier(.16,1,.3,1),transform .94s cubic-bezier(.16,1,.3,1),filter .72s cubic-bezier(.16,1,.3,1),box-shadow .8s ease;
  will-change:opacity,clip-path,transform,filter;
}
.sector-detail-panel:before{
  content:"";
  position:absolute;
  z-index:1;
  inset:-25% -35%;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-62%,0,0) skewX(-12deg);
  background:linear-gradient(105deg,transparent 34%,rgba(231,255,253,.06) 44%,rgba(188,255,250,.32) 50%,rgba(69,222,213,.1) 56%,transparent 66%);
}
.sector-detail-panel:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 0 54px rgba(223,249,247,.11);
}
.sector-detail-panel.is-visible{
  opacity:1;
  clip-path:inset(0 0 0 round 30px);
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0) brightness(1) saturate(1);
  box-shadow:0 -24px 82px rgba(91,216,209,.1);
}
.sector-detail-panel.is-visible:before{
  animation:sector-detail-sweep 1.2s .13s cubic-bezier(.16,1,.3,1) both;
}
.sector-panel-image .sector-detail-panel{
  background:
    linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,.02) 56%,rgba(0,0,0,.12)),
    var(--mobile-image-21,url("assets/sectors/sector-detail-metal-black.png")) center/cover no-repeat;
  box-shadow:0 -18px 68px rgba(9,35,38,.2);
}
.sector-panel-image .sector-detail-panel:after{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),inset 0 0 56px rgba(7,27,30,.18);
}
#sectors .sector-detail-title,
#sectors .sector-detail-panel p{
  position:relative;
  z-index:2;
  width:569px;
  max-width:none;
  margin:0;
  color:#041010;
  font-size:13px;
  line-height:1.5;
  opacity:0;
  transform:translateY(18px);
  transition:opacity .34s .16s ease,transform .62s .12s cubic-bezier(.16,1,.3,1);
}
#sectors .sector-detail-title{
  display:block;
  padding:38px 42px 0;
  font-weight:700;
}
#sectors .sector-detail-panel p{
  padding:3px 42px 0;
  font-weight:500;
}
.sector-panel-image #sectors .sector-detail-title{
  color:#eef1ef;
  text-shadow:0 2px 18px rgba(0,0,0,.76),0 0 18px rgba(18,212,205,.1);
}
.sector-panel-image #sectors .sector-detail-panel p{
  color:#b9c2c1;
  text-shadow:0 2px 16px rgba(0,0,0,.86);
}
#sectors .sector-detail-panel.is-visible .sector-detail-title,
#sectors .sector-detail-panel.is-visible p{
  opacity:1;
  transform:none;
}
#sectors .sector-feature{
  position:relative;
  z-index:2;
  display:block;
  justify-self:center;
  width:218px;
  min-width:218px;
  max-width:218px;
  height:auto;
  min-height:0!important;
  aspect-ratio:1;
  padding:0!important;
  overflow:visible;
  border:0;
  outline:0;
  background:transparent!important;
  transform:none;
  transition:transform .45s cubic-bezier(.16,1,.3,1),filter .4s ease;
  cursor:pointer;
}
#sectors .sector-feature:hover,
#sectors .sector-feature:focus-visible,
#sectors .sector-feature.is-active{
  height:auto;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  transform:translateY(-8px) scale(1.025);
}
#sectors .sector-title-panel{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr;
  place-items:center;
  width:100%;
  height:100%;
  padding:18%;
  border-radius:50%;
  background:#020303!important;
  filter:none;
  transition:background .4s ease,box-shadow .4s ease,filter .4s ease;
}
#sectors .sector-title-panel:before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:50%;
  padding:8px;
  background:conic-gradient(from 0deg,#202425 0deg,#858c8e 34deg,#eef0ee 58deg,#656b6d 93deg,#17191a 142deg,#abb0b1 190deg,#f7f8f5 221deg,#4c5254 266deg,#151718 311deg,#9da3a4 345deg,#202425 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.16));
  animation:sector-ring-turn 20s linear infinite;
  animation-play-state:paused;
}
#sectors .sector-title-panel:after{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  box-shadow:inset 0 0 28px rgba(255,255,255,.025);
}
#sectors .sector-feature:hover .sector-title-panel,
#sectors .sector-feature:focus-visible .sector-title-panel,
#sectors .sector-feature.is-active .sector-title-panel{
  background:#061011!important;
  box-shadow:inset 0 0 36px rgba(10,186,181,.055);
}
#sectors .sector-feature:hover .sector-title-panel:before,
#sectors .sector-feature:focus-visible .sector-title-panel:before,
#sectors .sector-feature.is-active .sector-title-panel:before{
  filter:drop-shadow(0 0 6px rgba(255,255,255,.3));
}
#sectors .sector-feature:hover .sector-title-panel:before,
#sectors .sector-feature:focus-visible .sector-title-panel:before{
  filter:drop-shadow(0 0 6px rgba(255,255,255,.3)) drop-shadow(0 0 11px rgba(18,212,205,.28)) drop-shadow(0 0 27px rgba(18,212,205,.13));
  animation-play-state:running;
}
#sectors .sector-feature:hover .sector-title-panel,
#sectors .sector-feature:focus-visible .sector-title-panel{
  box-shadow:0 0 0 2px rgba(18,212,205,.17),0 0 20px 5px rgba(18,212,205,.15),0 0 48px 10px rgba(18,212,205,.075),inset 0 0 36px rgba(10,186,181,.055);
  filter:drop-shadow(0 0 10px rgba(18,212,205,.38)) drop-shadow(0 0 26px rgba(18,212,205,.18));
}
#sectors .sector-feature h3,
#sectors .sector-feature:hover h3,
#sectors .sector-feature:focus-visible h3,
#sectors .sector-feature.is-active h3{
  position:relative;
  z-index:1;
  grid-column:1;
  align-self:center;
  max-width:100%;
  margin:0;
  color:var(--white);
  font-size:20px;
  font-weight:400;
  line-height:1.12;
  letter-spacing:-.025em;
  text-align:center;
  text-shadow:0 4px 24px #000;
}
#sectors .sector-feature h3 span{
  color:inherit;
  font-size:inherit;
}
#sectors .sector-index{
  position:absolute;
  z-index:4;
  left:-2px;
  bottom:-31px;
  color:#5bd8d1;
  font-size:56px;
  font-weight:600;
  line-height:1;
  letter-spacing:-.075em;
  text-shadow:0 5px 22px rgba(0,0,0,.85);
  pointer-events:none;
  display:none;
}
#sectors .sector-source-copy[hidden]{display:none!important}
#sectors .sector-detail-index{
  position:absolute;
  z-index:2;
  top:28px;
  right:34px;
  color:var(--bright);
  font-size:56px;
  font-weight:500;
  line-height:1;
  letter-spacing:-.06em;
  opacity:.2;
  pointer-events:none;
}
@keyframes sector-ring-turn{to{transform:rotate(360deg)}}
@keyframes sector-detail-sweep{
  0%{opacity:0;transform:translate3d(-62%,0,0) skewX(-12deg)}
  28%{opacity:.72}
  100%{opacity:0;transform:translate3d(62%,0,0) skewX(-12deg)}
}

@media(max-width:800px){
  #sectors{
    min-height:1050px;
    padding:110px var(--pad) 120px;
  }
  #sectors:after{width:100%;opacity:.72}
  #sectors>.section-head{margin-bottom:58px}
  #soccerbal-scene{
    margin:-110px calc(50% - 50vw) calc(-100svh + 110px);
    opacity:.72;
  }
  #sectors>.sector-list{
    grid-template-columns:repeat(2,164px);
    gap:48px 20px;
    width:348px;
    max-width:100%;
    min-height:0;
    padding:136px 0 30px;
  }
  .sector-detail-panel{height:300px;border-radius:22px}
  #sectors .sector-detail-title{width:100%;padding:26px 24px 0;font-size:12px;line-height:1.45}
  #sectors .sector-detail-panel p{width:100%;padding:3px 24px 0;font-size:12px;line-height:1.45}
  #sectors .sector-feature{width:164px;min-width:164px;max-width:164px}
  #sectors .sector-index{left:0;bottom:-23px;font-size:44px}
  #sectors .sector-detail-index{top:20px;right:22px;font-size:42px}
  #sectors .sector-title-panel:before{padding:6px}
  #sectors .sector-feature h3,
  #sectors .sector-feature:hover h3,
  #sectors .sector-feature:focus-visible h3,
  #sectors .sector-feature.is-active h3{font-size:clamp(15px,4.5vw,20px)}
}
@media(prefers-reduced-motion:reduce){
  #sectors .sector-title-panel:before{animation:none}
}

/* PREFINAL-33 — left-aligned HACQ Model copy and a restrained metallic
   Tiffany reflection across the three value cards on hover. */
.engine-model{
  grid-template-columns:1fr;
}
.engine-model-copy{
  grid-column:1;
  width:100%;
  text-align:left;
}
#at-a-glance .engine-model-copy p,
#at-a-glance .engine-model-copy p:last-child{
  color:var(--muted);
  border-top:0;
  background-image:linear-gradient(105deg,#aeb4b5 0%,#eef1f0 34%,#ffffff 49%,#d9ffff 58%,#aeb4b5 100%);
  background-position:100% 50%;
  background-size:300% 100%;
  background-clip:text;
  -webkit-background-clip:text;
  transition:color .32s ease,background-position .9s cubic-bezier(.16,1,.3,1),text-shadow .45s ease,filter .45s ease;
}
#at-a-glance .engine-model-copy p:hover{
  color:transparent;
  background-position:0 50%;
  text-shadow:0 0 7px rgba(255,255,255,.52),0 0 22px rgba(18,212,205,.48),0 0 44px rgba(18,212,205,.22);
  filter:brightness(1.4) drop-shadow(0 0 8px rgba(18,212,205,.38));
}
#at-a-glance .engine-model-copy .engine-period{
  color:var(--bright);
  -webkit-text-fill-color:var(--bright);
}
.engine-track article{
  overflow:hidden;
  transition:border-color .45s ease,box-shadow .45s ease;
}
.engine-track article::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 78% 18%,rgba(18,212,205,.13),transparent 37%),
    linear-gradient(118deg,transparent 14%,rgba(226,239,240,.075) 43%,rgba(18,212,205,.09) 57%,transparent 78%);
  transform:translateX(-14%);
  transition:opacity .5s ease,transform .8s cubic-bezier(.2,.7,.2,1);
}
.engine-track article > :not(.engine-card-arrow){
  position:relative;
  z-index:1;
}
.engine-track article:hover{
  border-color:rgba(129,216,208,.34);
  box-shadow:inset 0 0 42px rgba(18,212,205,.035),0 0 28px rgba(18,212,205,.035);
}
.engine-track article:hover::before{
  opacity:1;
  transform:translateX(0);
}
.commercial-frame-model article{
  isolation:isolate;
  overflow:hidden;
  transition:border-color .45s ease,box-shadow .45s ease;
}
.commercial-frame-model article::before{
  z-index:2;
}
.commercial-frame-model article::after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:
    radial-gradient(circle at 78% 18%,rgba(18,212,205,.13),transparent 37%),
    linear-gradient(118deg,transparent 14%,rgba(226,239,240,.075) 43%,rgba(18,212,205,.09) 57%,transparent 78%);
  transform:translateX(-14%);
  transition:opacity .5s ease,transform .8s cubic-bezier(.2,.7,.2,1);
}
.commercial-frame-model article > *{
  position:relative;
  z-index:1;
}
.commercial-frame-model article:hover{
  border-color:rgba(129,216,208,.34);
  box-shadow:inset 0 0 42px rgba(18,212,205,.035),0 0 28px rgba(18,212,205,.035);
}
.commercial-frame-model article:hover::after{
  opacity:1;
  transform:translateX(0);
}
@media(hover:none){
  .engine-track article::before,
  .commercial-frame-model article::after{display:none}
}

/* PREFINAL-28 — align the HACQ Model heading with the editorial left edge
   and reduce the One of One call-to-action to 80% of its previous size. */
@media(min-width:801px){
  .engine .section-head{
    grid-template-columns:1fr;
    gap:38px;
  }
  .engine .section-head h2{
    max-width:900px;
  }
}
.one-of-one-explore{
  font-size:clamp(13.6px,1.36vw,20px);
}
.one-of-one-explore i{
  font-size:clamp(16px,1.6vw,22.4px);
}
@media(max-width:800px){
  .one-of-one-explore{
    font-size:clamp(11.2px,3.2vw,14.4px);
  }
}

/* PREFINAL-26 — the readability plate waits until the corresponding object
   has completed most of its lift, then fades in behind description copy. */
#sectors .sector-list article.sector-feature.object-arrived p,
#sectors .sector-list article.sector-feature.object-arrived:hover p,
#sectors .sector-list article.sector-feature.object-arrived:focus-visible p,
#sectors .sector-list article.sector-feature.object-arrived.scroll-active p{
  background:rgba(0,0,0,.5)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  backdrop-filter:blur(7px)!important;
}

/* PREFINAL-25 — a row-height visibility window for the sector 3D objects.
   Only the Three.js canvas is masked. The compact central band follows the
   active sector row and fades fully out above and below it. */
#soccerbal-scene{
  --sector-mask-y:50vh;
  -webkit-mask-image:linear-gradient(
    to bottom,
    transparent 0,
    transparent calc(var(--sector-mask-y) - 104px),
    rgba(0,0,0,.12) calc(var(--sector-mask-y) - 90px),
    rgba(0,0,0,.5) calc(var(--sector-mask-y) - 72px),
    rgba(0,0,0,.9) calc(var(--sector-mask-y) - 56px),
    #000 calc(var(--sector-mask-y) - 44px),
    #000 calc(var(--sector-mask-y) + 44px),
    rgba(0,0,0,.9) calc(var(--sector-mask-y) + 56px),
    rgba(0,0,0,.5) calc(var(--sector-mask-y) + 72px),
    rgba(0,0,0,.12) calc(var(--sector-mask-y) + 90px),
    transparent calc(var(--sector-mask-y) + 104px),
    transparent 100%
  );
  mask-image:linear-gradient(
    to bottom,
    transparent 0,
    transparent calc(var(--sector-mask-y) - 104px),
    rgba(0,0,0,.12) calc(var(--sector-mask-y) - 90px),
    rgba(0,0,0,.5) calc(var(--sector-mask-y) - 72px),
    rgba(0,0,0,.9) calc(var(--sector-mask-y) - 56px),
    #000 calc(var(--sector-mask-y) - 44px),
    #000 calc(var(--sector-mask-y) + 44px),
    rgba(0,0,0,.9) calc(var(--sector-mask-y) + 56px),
    rgba(0,0,0,.5) calc(var(--sector-mask-y) + 72px),
    rgba(0,0,0,.12) calc(var(--sector-mask-y) + 90px),
    transparent calc(var(--sector-mask-y) + 104px),
    transparent 100%
  );
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
}
@media(max-width:800px){
  #soccerbal-scene{
    -webkit-mask-image:linear-gradient(
      to bottom,
      transparent 0,
      transparent calc(var(--sector-mask-y) - 94px),
      rgba(0,0,0,.16) calc(var(--sector-mask-y) - 80px),
      rgba(0,0,0,.62) calc(var(--sector-mask-y) - 62px),
      #000 calc(var(--sector-mask-y) - 46px),
      #000 calc(var(--sector-mask-y) + 46px),
      rgba(0,0,0,.62) calc(var(--sector-mask-y) + 62px),
      rgba(0,0,0,.16) calc(var(--sector-mask-y) + 80px),
      transparent calc(var(--sector-mask-y) + 94px),
      transparent 100%
    );
    mask-image:linear-gradient(
      to bottom,
      transparent 0,
      transparent calc(var(--sector-mask-y) - 94px),
      rgba(0,0,0,.16) calc(var(--sector-mask-y) - 80px),
      rgba(0,0,0,.62) calc(var(--sector-mask-y) - 62px),
      #000 calc(var(--sector-mask-y) - 46px),
      #000 calc(var(--sector-mask-y) + 46px),
      rgba(0,0,0,.62) calc(var(--sector-mask-y) + 62px),
      rgba(0,0,0,.16) calc(var(--sector-mask-y) + 80px),
      transparent calc(var(--sector-mask-y) + 94px),
      transparent 100%
    );
  }
}

/* Final sector-stage mask: one broad fade so objects rise out of black. */
#soccerbal-scene{
  -webkit-mask-image:linear-gradient(to bottom,transparent 2%,rgba(0,0,0,.2) 14%,#000 28%,#000 56%,rgba(0,0,0,.92) 62%,rgba(0,0,0,.68) 69%,rgba(0,0,0,.38) 76%,rgba(0,0,0,.12) 83%,transparent 91%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 2%,rgba(0,0,0,.2) 14%,#000 28%,#000 56%,rgba(0,0,0,.92) 62%,rgba(0,0,0,.68) 69%,rgba(0,0,0,.38) 76%,rgba(0,0,0,.12) 83%,transparent 91%,transparent 100%)!important;
}

/* Tighter section rhythm: halve only the space above each numbered label. */
#at-a-glance{padding-top:75px}
#essence{padding-top:90px}
#system{padding-top:75px}
#sectors{padding-top:65px}
#sectors #soccerbal-scene{margin-top:-65px;margin-bottom:calc(-100svh + 65px)}
.one-of-one-label{top:21px}
.approach-section-label{top:21px}

/* PREFINAL-38BK — Global Experience becomes a scroll-led still-image journey. */
#approach.approach{
  position:relative;
  display:block;
  min-height:430svh;
  overflow:clip;
  background:#000;
  border-top:1px solid var(--line);
}
#approach .approach-stage{
  position:sticky;
  top:0;
  width:100%;
  height:100svh;
  min-height:680px;
  overflow:hidden;
  isolation:isolate;
  background:#000;
}
#approach .approach-section-label{
  position:absolute;
  z-index:4;
  top:calc(9svh + 21px);
  left:var(--pad);
  color:var(--bright);
}
#approach .approach-visual{
  position:absolute;
  z-index:0;
  inset:0;
  width:100%;
  min-height:0;
  overflow:hidden;
  background:#000;
}
#approach .approach-visual:before{content:none}
#approach .approach-visual:after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.22) 0%,transparent 42%,rgba(0,0,0,.04) 100%);
}
#approach .global-experience-frame,
#approach .global-experience-motion-frame{
  position:absolute;
  z-index:1;
  inset:-3%;
  width:106%;
  height:106%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  filter:hue-rotate(-10deg) saturate(.92) contrast(1.06) brightness(.88);
  will-change:transform,opacity;
}
#approach .global-experience-frame[data-global-first]{opacity:1}
#approach .global-experience-motion-frame{display:none}
.global-motion #approach .global-experience-frame{display:none}
.global-motion #approach .global-experience-motion-frame{display:block}
.global-motion #approach .global-experience-frame.global-video-fallback{display:block}
#approach .approach-copy{
  position:absolute;
  z-index:3;
  inset:0;
  width:min(860px,58vw);
  min-height:0;
  padding:130px var(--pad) 82px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  background:none;
  backdrop-filter:none;
  text-align:left;
  pointer-events:none;
}
#approach .approach-copy h2{
  width:100%;
  margin:0 0 44px;
  text-align:left;
  font-size:54px;
  line-height:1.03;
  letter-spacing:-.045em;
}
#approach .approach-copy>p{
  width:min(680px,100%);
  max-width:none;
  margin:0;
  color:#a5a7a7;
  font-size:16px;
  line-height:1.75;
  text-align:left;
}
#approach .global-experience-line{
  display:block;
  opacity:var(--global-line-opacity,0);
  transform:translate3d(0,var(--global-line-y,30px),0);
  filter:blur(var(--global-line-blur,5px));
  will-change:transform,opacity,filter;
}
#approach .approach-copy h2 .global-experience-line{color:var(--white)}
#approach .approach-copy>p .global-experience-line{margin-top:3px}
#approach .approach-copy>p .global-experience-line:first-child{margin-top:0}
#approach .approach-copy>p .global-experience-payoff{margin-top:24px}
#approach .approach-copy dl{display:none}
#approach .approach-mobile-intro{display:none}

@media(max-width:800px){
  #approach.approach{min-height:400svh}
  #approach .approach-stage{min-height:100svh}
  #approach .approach-section-label{display:block;top:calc(8svh + 12px);left:var(--pad)}
  #approach .global-experience-frame,
  #approach .global-experience-motion-frame{inset:-2% -26%;width:152%;height:104%;object-position:center}
  #approach .approach-visual:after{background:linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.05) 50%,rgba(0,0,0,.5))}
  #approach .approach-copy{
    inset:0;
    width:100%;
    padding:104px var(--pad) 64px;
    justify-content:center;
    background:none;
  }
  #approach .approach-copy h2{margin:0 0 34px;font-size:clamp(42px,13vw,64px);line-height:1.02}
  #approach .approach-copy>p{font-size:14px;line-height:1.65;text-shadow:0 2px 18px #000}
}

@media(prefers-reduced-motion:reduce){
  #approach .global-experience-frame,
  #approach .global-experience-motion-frame{transform:none!important}
  #approach .global-experience-line{filter:none}
}

/* Safari/iOS resilience: keep pinned scenes tied to the small, stable
   viewport rather than the address-bar-driven dynamic viewport. */
html.ios-webkit .story-film-sticky,
html.ios-webkit #approach .approach-stage{
  height:calc(var(--safari-vh,1svh) * 100);
  min-height:calc(var(--safari-vh,1svh) * 100);
}
html.ios-webkit .one-of-one-stage{height:calc(var(--safari-vh,1svh) * 82)}
html.ios-webkit #soccerbal-scene{height:calc(var(--safari-vh,1svh) * 100)}
html.ios-webkit .menu{max-height:calc(var(--safari-vh,1svh) * 100 - 16px)}
html.ios-webkit .contact-flow{max-height:calc(var(--safari-vh,1svh) * 100 - 24px)!important}

/* Mobile's chapter images are the primary intro, not a temporary video fallback. */
html.story-mobile-stills .story-film-video,
html.story-mobile-stills .story-film-opening-bridge,
html.story-mobile-stills .story-film-cut-bridge{display:none}
html.story-mobile-stills .story-film-frame[data-story-frame="1"] img{
  object-position:83% center;
  transform-origin:83% 50%;
}
html.ios-webkit:not(.story-mobile-video) .story-film-video{display:none}
.story-video-test-panel{position:fixed;z-index:160;top:80px;left:12px;right:12px;max-width:430px;padding:12px;background:#071a1af2;border:1px solid #12d4cd88;border-radius:8px;color:#fff;font:12px/1.4 Arial,sans-serif;box-shadow:0 4px 24px #0006}
.story-video-test-panel strong{font-size:10px;letter-spacing:.1em;color:#70ded8}
.story-video-test-panel p{margin:6px 0}
.story-video-test-panel .story-video-test-details{font-size:10px;color:#bcd0cf}
.story-video-test-panel button{min-height:40px;margin-top:5px;padding:8px 12px;border:1px solid #70ded8;border-radius:4px;background:#123b3a;color:#fff;font:12px Arial,sans-serif;cursor:pointer}
.story-video-test-panel button:disabled{opacity:.45;cursor:default}
#contact{padding-top:65px}
#contact .contact-top{padding-top:11px}
#contact .contact-top span{color:var(--bright)}
html{scrollbar-gutter:stable}

/* Keep numbered section labels clear of the fixed navigation after anchor jumps. */
#at-a-glance,
#essence,
#system,
#sectors{
  scroll-margin-top:32px;
}

/* PREFINAL-38CD — Contact image, trigger and glass questionnaire as one scene. */
#contact{padding-top:0}
#contact .contact-photo{margin-top:0}
#contact .contact-top{
  position:absolute;
  z-index:4;
  top:calc(9svh + 21px);
  left:var(--pad);
  right:var(--pad);
  padding:0;
  border-top:0;
  pointer-events:none;
}
#contact .contact-pillar-button{
  top:50%;
  left:0;
  right:auto;
  bottom:auto;
  transform:translate3d(0,-50%,0);
  transition:transform .78s cubic-bezier(.76,0,.24,1),opacity .34s ease,box-shadow .35s ease;
  will-change:transform,opacity;
}
body.contact-flow-open #contact .contact-pillar-button{
  opacity:0;
  pointer-events:none;
  transform:translate3d(-120%,-50%,0) scale(1.12);
}
.contact-flow{
  transform-origin:left center;
  transform:translate3d(-90px,-50%,0) scaleX(.94);
  clip-path:inset(0 100% 0 0);
  filter:blur(10px);
  scrollbar-width:none;
  -ms-overflow-style:none;
  transition:clip-path .88s cubic-bezier(.16,1,.3,1),transform .88s cubic-bezier(.16,1,.3,1),opacity .32s ease,filter .55s ease,visibility .88s;
}
.contact-flow::-webkit-scrollbar{display:none;width:0;height:0}
.contact-flow.open{
  transform:translate3d(0,-50%,0) scaleX(1);
  clip-path:inset(0 0 0 0);
  filter:blur(0);
  transition-delay:.16s;
}
.contact-flow>.contact-flow-bar,
.contact-flow>.contact-flow-panel,
.contact-flow>.contact-flow-foot{
  opacity:0;
  transform:translate3d(-30px,0,0);
  transition:opacity .36s ease,transform .62s cubic-bezier(.16,1,.3,1);
}
.contact-flow.open>.contact-flow-bar,
.contact-flow.open>.contact-flow-panel,
.contact-flow.open>.contact-flow-foot{
  opacity:1;
  transform:none;
  transition-delay:.46s;
}
.contact-flow-step:not([hidden]){animation:contact-step-build .62s cubic-bezier(.16,1,.3,1) both}
@keyframes contact-step-build{
  from{opacity:0;transform:translate3d(-28px,12px,0);filter:blur(5px)}
  to{opacity:1;transform:none;filter:blur(0)}
}

@media(max-width:800px){
  #at-a-glance{padding-top:55px}
  #essence,#system,#sectors{padding-top:55px}
  #sectors #soccerbal-scene{margin-top:-55px;margin-bottom:calc(-100svh + 55px)}
  .one-of-one-label{top:12px}
  .approach-mobile-intro{padding-top:16px}
  #contact{padding-top:0}
  #contact .contact-top{top:calc(8svh + 12px);left:24px;right:24px}
  #contact .contact-pillar-button{top:52%;left:0;width:100%;max-width:none}
}

@media(min-width:801px){
  .interlude .interlude-ring-wrap{
    position:absolute;
    top:50%;
    right:var(--pad);
    width:min(45vw,690px,100%);
    transform:translateY(-50%);
  }
}

/* Keep the Essence copy on the quiet side of the no-streak artwork. */
@media(min-width:901px){
  #essence{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:#000;
  }
  #essence:before,
  #essence:after{
    content:"";
    position:absolute;
    z-index:0;
    inset:0;
    pointer-events:none;
  }
  #essence:before{
    background:var(--mobile-image-3,url("assets/essence/essence-background-no-streak-v1.png")) center / cover no-repeat;
    transform:none;
  }
  #essence:after{
    background:linear-gradient(90deg,rgba(0,0,0,.62) 0%,rgba(0,0,0,.28) 54%,rgba(0,0,0,.5) 100%);
  }
  #essence>*{
    position:relative;
    z-index:1;
  }
}

/* PREFINAL-38DC — consolidated mobile composition.
   Desktop remains governed by the approved rules above; this final layer
   replaces the remaining desktop-sized geometry and scroll timing on phones
   and portrait tablets, without touching the desktop composition. */
@media(max-width:900px){
  :root{--pad:24px}
  html,body{max-width:100%;overflow-x:clip}
  .scroll-rail{display:none!important}

  .nav{
    height:72px;
    padding:0 20px;
    background:linear-gradient(180deg,rgba(0,0,0,.92),rgba(0,0,0,.66) 72%,transparent);
    border-bottom-color:rgba(255,255,255,.1);
    mix-blend-mode:normal;
  }
  .nav-meta{display:none}
  .nav .official-wordmark,
  .contact footer .footer-wordmark{width:88px;height:36px}
  .nav .official-wordmark{height:44px}
  .nav .official-wordmark .logo-crop,
  .contact footer .footer-wordmark .logo-crop{display:flex;align-items:center;overflow:visible}
  .nav .official-wordmark img,
  .contact footer .footer-wordmark img{
    content:url("assets/logos/hacq-chrome-wordmark.png");
    position:static;
    width:88px;
    height:auto;
    max-width:100%;
  }
  .menu-toggle{min-width:clamp(92px,31vw,120px);min-height:44px;padding:12px 6px;font-size:7px;gap:8px}
  .menu-toggle span{max-width:88px}
  .menu-toggle i{flex:0 0 18px}
  .menu{top:8px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto}
  .menu a{min-height:44px;align-items:center}

  #at-a-glance,#essence,#system,#sectors,#one-of-one,#approach,#contact{scroll-margin-top:76px}

  .commercial-frame{
    padding:86px 24px 82px;
  }
  .commercial-frame-head{padding-bottom:50px}
  .commercial-frame-head>span{margin-bottom:38px}
  .commercial-frame-head>p{font-size:8px;line-height:1.55}
  .commercial-frame-head h2{font-size:clamp(36px,10.4vw,44px);line-height:1.04}
  .commercial-frame-head>div{font-size:13px;line-height:1.65}
  .commercial-frame-model{gap:10px;margin-top:38px}
  .commercial-frame-model article{min-height:245px;padding:28px 26px}
  .commercial-frame-model h3{margin:48px 0 20px;font-size:34px}
  .at-a-glance-engine-head{margin:56px 0 28px;padding-top:24px}
  .at-a-glance-engine-head h2{font-size:36px;line-height:1.07}
  #at-a-glance .engine-model{padding:18px 0 0;margin:0}
  #at-a-glance .engine-model-copy p{padding:14px 0;font-size:15px;line-height:1.4}

  #essence.statement{
    min-height:auto;
    padding:86px 24px 88px;
    background-position:36% center!important;
  }
  #essence .statement-kicker{margin:52px 0 24px}
  #essence .statement h2,#essence h2{
    max-width:100%;
    font-size:clamp(29px,8.3vw,36px);
    line-height:1.16;
    letter-spacing:-.038em;
  }
  #essence h2 br{display:none}

  #system.system{padding:86px 24px 80px}
  #system .section-head{gap:34px;margin-bottom:52px}
  #system .section-head>span{padding-top:0}
  #system .section-head h2{font-size:clamp(34px,9.8vw,42px);line-height:1.06}
  #system .pillar{
    grid-template-columns:34px 1fr;
    min-height:118px;
    padding:22px 0;
  }
  #system .pillar h3{font-size:30px}
  #system .pillar p{grid-column:2;margin-top:10px;font-size:12px;line-height:1.55}

  .interlude{
    display:flex;
    flex-direction:column;
    height:680px;
    min-height:680px;
    padding:92px 24px 50px;
    justify-content:flex-end;
    background:radial-gradient(circle at 56% 38%,#102c2c 0,#060909 32%,#000 70%);
  }
  .interlude:after{display:none}
  .interlude .interlude-ring-wrap{
    position:absolute;
    top:40%;
    right:50%;
    width:min(72vw,270px);
    transform:translate(50%,-50%);
    opacity:.94;
  }
  .interlude h2{max-width:285px;margin:0;font-size:clamp(40px,11.5vw,49px);line-height:.99}
  .interlude p{margin:0 0 18px;font-size:8px}

  #sectors{
    min-height:1220px;
    padding:86px 24px 96px;
  }
  #sectors>.section-head{margin-bottom:42px}
  #sectors .section-head>span{padding-top:0}
  #sectors .section-head h2{font-size:clamp(31px,8.8vw,38px);line-height:1.08}
  #sectors #soccerbal-scene{margin-top:-86px;margin-bottom:calc(-100svh + 86px);opacity:.66}
  #sectors>.sector-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:42px 14px;
    width:100%;
    max-width:342px;
    padding:128px 0 28px;
  }
  #sectors .sector-feature{
    width:min(40vw,154px);
    min-width:0;
    max-width:154px;
  }
  #sectors .sector-feature:hover,
  #sectors .sector-feature:focus-visible,
  #sectors .sector-feature.is-active{transform:translateY(-4px) scale(1.015)}
  #sectors .sector-detail-panel{height:278px;border-radius:20px}
  #sectors .sector-detail-title{padding:24px 20px 0;font-size:11px}
  #sectors .sector-detail-panel p{padding:3px 20px 0;font-size:11px;line-height:1.48}
  #sectors .sector-detail-index{top:18px;right:19px;font-size:38px}
  #sectors .sector-index{bottom:-21px;font-size:40px}
  #sectors .sector-feature h3,
  #sectors .sector-feature:hover h3,
  #sectors .sector-feature:focus-visible h3,
  #sectors .sector-feature.is-active h3{font-size:clamp(14px,4.25vw,17px)}

  .one-of-one{height:190svh;padding-top:0}
  .one-of-one-stage{top:0;height:82svh;min-height:620px}
  .one-of-one-label{top:88px;left:24px;right:24px}
  .one-of-one-intro{align-items:flex-end;padding:100px 24px 58px}
  .one-of-one-intro h2{max-width:82%;font-size:clamp(39px,11.5vw,48px);line-height:.98}
  .one-of-one-card{width:min(50vw,206px)}
  .one-of-one-explore{font-size:12px}

  #approach.approach{min-height:300svh}
  #approach .approach-stage{height:100svh;min-height:620px}
  #approach .approach-section-label{top:88px;left:24px}
  #approach .global-experience-frame,
  #approach .global-experience-motion-frame{inset:-2% -34%;width:168%;height:104%}
  #approach .approach-visual:after{
    background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,.04) 40%,rgba(0,0,0,.58) 100%);
  }
  #approach .approach-copy{padding:112px 24px 58px;justify-content:center}
  #approach .approach-copy h2{margin-bottom:28px;font-size:clamp(38px,10.8vw,46px);line-height:1.03}
  #approach .approach-copy>p{max-width:330px;font-size:13px;line-height:1.58;color:#c0c4c3}

  #contact{min-height:auto}
  #contact .contact-photo{
    width:100vw;
    min-height:640px;
    aspect-ratio:3/4;
    margin:0 0 48px calc(50% - 50vw);
  }
  #contact .contact-background-image{object-fit:cover;object-position:center center}
  #contact .contact-top{top:88px;left:24px;right:24px}
  #contact .contact-pillar-button{
    top:50%;
    left:0;
    width:calc(100% - 18px);
    padding:21px 22px 21px 24px;
    gap:18px;
  }
  #contact .contact-pillar-button>span{font-size:clamp(31px,9.3vw,40px);line-height:1.02}
  #contact footer{
    min-height:0;
    grid-template-columns:1fr;
    gap:18px;
    padding:30px 24px 38px;
    align-items:start;
  }
  #contact footer p.contact-address,
  #contact footer .contact-establishment,
  #contact footer .contact-copyright{
    grid-column:1;
    grid-row:auto;
    display:block;
    margin:0;
    text-align:left;
    white-space:normal;
    line-height:1.65;
  }

  .contact-flow{
    left:7px!important;
    width:calc(100vw - 14px)!important;
    max-width:none;
    max-height:calc(100dvh - 24px)!important;
    overflow:auto;
  }
  .contact-flow-bar{min-height:50px;padding:0 16px}
  .contact-flow-panel{padding:74px 18px 28px}
  .contact-flow-close{top:13px;right:13px;min-width:48px;min-height:48px}
  .contact-flow h2{margin-bottom:28px;font-size:clamp(30px,8.4vw,36px);line-height:1.04}
  .contact-flow-step[data-flow-step="investor-details"] h2,
  .contact-flow-step[data-flow-step="entrepreneur-details"] h2{font-size:30px}
  .contact-flow-kicker{margin-bottom:16px}
  .contact-flow-options button{grid-template-columns:34px 1fr 22px;min-height:64px;padding:12px 0}
  .contact-flow-options button>strong{font-size:clamp(20px,5.7vw,25px);line-height:1.08}
  .contact-flow-form{gap:12px}
  .contact-flow-form textarea{min-height:118px;padding:15px}
  .contact-flow-fields{gap:12px}
  .contact-flow-fields input{min-height:54px}
  .contact-flow-form button{min-height:54px;margin-top:4px;padding:15px 18px}

  .one-of-one-page-header{
    position:sticky;
    top:0;
    height:66px;
    margin:0;
    padding:0 20px;
    background:rgba(246,247,245,.9);
    backdrop-filter:blur(12px);
  }
  .one-of-one-page-close{min-height:44px;padding:10px 0 10px 10px}
  .one-of-one-page-hero{min-height:calc(90svh - 66px);padding:68px 24px 72px;background-position:60% center}
  .one-of-one-page-hero>span{top:22px}
  .one-of-one-phone-visual{min-height:42svh;margin-top:0}
  .one-of-one-page-hero h2{font-size:clamp(38px,10.8vw,46px);line-height:1}
  .one-of-one-copy-section h3,
  .one-of-one-principles h3,
  .one-of-one-promise h3,
  .one-of-one-copy-section .one-of-one-statement,
  .one-of-one-promise blockquote{font-size:clamp(34px,9.6vw,44px)}
  .one-of-one-principle-list h4{font-size:clamp(24px,7vw,30px)}
  .one-of-one-copy-section p:not(.one-of-one-lead):not(.one-of-one-statement),
  .one-of-one-principle-list p,
  .one-of-one-question-label,
  .one-of-one-promise>p:last-child{font-size:13px}
}

/* iPad portrait: use the available width without turning it into a second
   desktop design. iPad landscape remains on the approved desktop layout. */
@media(min-width:700px) and (max-width:900px){
  :root{--pad:42px}
  .commercial-frame{padding-left:42px;padding-right:42px}
  .commercial-frame-model{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .commercial-frame-model article{min-height:300px;padding:28px 22px}
  .commercial-frame-model h3{font-size:31px}
  #essence.statement,#system.system,#sectors{padding-left:42px;padding-right:42px}
  #essence .statement h2,#essence h2{max-width:650px;font-size:42px}
  #system .section-head{grid-template-columns:.65fr 1.35fr;align-items:start}
  #system .section-head h2{font-size:42px}
  #system .pillar{grid-template-columns:42px .85fr 1.15fr}
  #system .pillar p{grid-column:3;margin-top:0}
  .interlude .interlude-ring-wrap{width:330px}
  .interlude h2{max-width:410px;font-size:54px}
  #sectors{min-height:970px}
  #sectors>.sector-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:52px 26px;
    width:min(100%,620px);
    max-width:none;
  }
  #sectors .sector-feature{width:min(22vw,180px);max-width:180px}
  #sectors .sector-feature h3,
  #sectors .sector-feature:hover h3,
  #sectors .sector-feature:focus-visible h3,
  #sectors .sector-feature.is-active h3{font-size:18px}
  .one-of-one-intro{padding-left:42px;padding-right:42px}
  .one-of-one-intro h2{max-width:66%;font-size:52px}
  #approach .global-experience-frame,
  #approach .global-experience-motion-frame{inset:-2% -17%;width:134%}
  #approach .approach-copy{padding-left:42px;padding-right:42px}
  #approach .approach-copy h2{font-size:52px}
  #approach .approach-copy>p{max-width:520px;font-size:14px}
  #contact .contact-photo{min-height:690px;aspect-ratio:16/11}
  #contact .contact-pillar-button{width:min(680px,88%);padding-left:42px}
  #contact .contact-pillar-button>span{font-size:46px}
}

/* PREFINAL-38ER — quieter title scale after the intro film. */
@media(min-width:901px){
  #at-a-glance .commercial-frame-head h2,
  #at-a-glance .at-a-glance-engine-head h2,
  #at-a-glance .commercial-frame-model h3,
  #essence.statement h2,
  #essence .statement-foot p,
  #system .section-head h2,
  .interlude h2,
  #sectors .section-head h2,
  .one-of-one-intro h2,
  #approach .approach-copy h2,
  #contact .contact-pillar-button>span{
    font-size:35px!important;
  }
}

#essence .essence-supporting-copy{
  display:block;
  margin-top:28px;
  font-size:clamp(14px,1.35vw,19px);
  line-height:1.75;
  letter-spacing:.01em;
}

#essence .statement-kicker{
  margin:48px 0 24px;
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
  letter-spacing:.24em;
}
@media(max-width:900px){
  #essence .scroll-copy br.essence-desktop-break{display:none}
  #essence .statement-kicker{
    margin:38px 0 22px;
    font-size:8px;
    line-height:1.55;
  }
  #essence .essence-supporting-copy{
    margin-top:22px;
    font-size:13px;
    line-height:1.65;
  }
}

/* PREFINAL-38DN — Glass location card on the Emirates Towers image. */
.contact-location-card{
  position:absolute;
  z-index:3;
  right:0;
  bottom:0;
  width:min(420px,34vw);
  min-height:154px;
  padding:30px 34px;
  color:#eafffd;
  border:0;
  background:rgba(10,186,181,.34);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  backdrop-filter:blur(16px) saturate(125%);
  box-shadow:0 18px 55px rgba(0,0,0,.2);
}
.contact-location-card:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(117,255,248,.16),rgba(0,68,66,.08));
}
.contact-location-card strong,
.contact-location-card .contact-location-floor,
.contact-location-card address{position:relative;z-index:1}
.contact-location-card strong{
  display:block;
  margin-bottom:7px;
  font-size:9px;
  font-weight:500;
  letter-spacing:.24em;
}
.contact-location-card .contact-location-floor{
  display:block;
  margin-bottom:22px;
  color:rgba(234,255,253,.62);
  font-size:8px;
  letter-spacing:.22em;
}
.contact-location-card address{
  color:rgba(234,255,253,.78);
  font-size:11px;
  font-style:normal;
  line-height:1.7;
  letter-spacing:.04em;
}
#contact footer p.contact-address{display:none}

@media(max-width:900px){
  .contact-location-card{
    left:0;
    right:0;
    bottom:0;
    width:100%;
    min-height:128px;
    padding:24px;
  }
  .contact-location-card .contact-location-floor{margin-bottom:17px}
}

/* PREFINAL-38EH — phone-only Where We Build layout. Keep the six controls in
   two rows of three and place every selected 3D presentation in one separate,
   full-width stage below the complete control grid. Tablet and desktop rules
   above remain unchanged. */
@media(max-width:699px){
  #sectors{
    display:flex;
    flex-direction:column;
    min-height:0;
    padding-bottom:24px;
    overflow:hidden;
    overflow:clip;
  }
  #sectors>.section-head{
    order:1;
    width:100%;
  }
  #sectors>.sector-list{
    order:2;
    align-self:stretch;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px 6px;
    width:100%;
    max-width:none;
    min-height:0;
    padding:128px 0 0;
  }
  #sectors .sector-feature{
    width:100%;
    min-width:0;
    max-width:none;
  }
  #sectors .sector-feature:hover,
  #sectors .sector-feature:focus-visible,
  #sectors .sector-feature.is-active{
    transform:translateY(-2px) scale(1.012);
  }
  #sectors .sector-title-panel{padding:15%}
  #sectors .sector-title-panel:before{padding:4px}
  #sectors .sector-title-panel:after{inset:6px}
  #sectors .sector-feature h3,
  #sectors .sector-feature:hover h3,
  #sectors .sector-feature:focus-visible h3,
  #sectors .sector-feature.is-active h3{
    font-size:clamp(9px,2.75vw,11px);
    line-height:1.08;
  }
  #sectors #soccerbal-scene{
    --phone-sector-stage-h:clamp(330px,92vw,420px);
    order:3;
    position:relative;
    top:auto;
    left:auto;
    align-self:center;
    flex:0 0 auto;
    width:100vw;
    height:var(--phone-sector-stage-h);
    margin:-92px calc(50% - 50vw) calc(188px - var(--phone-sector-stage-h));
    opacity:.78;
  }
}

/* PREFINAL-38EX — final desktop rhythm and legibility pass. */
@media(min-width:901px){
  /* The heading and circle now share the same horizontal optical centre. */
  .interlude h2{margin:0}

  /* Keep the detail-panel geometry intact while tightening the visible space
     above the controls, then halve the approved lower breathing room. */
  #sectors{
    min-height:0;
    padding-bottom:58px;
  }
  /* The list's own 158px top field is reserved for the hover/click detail
     panel. Removing the negative pull keeps that field clear below the title. */
  #sectors>.section-head{margin-bottom:0}

  /* Give the image the regular site gutter on the left while keeping its
     right edge full bleed. Overlay copy stays on the site's original axis. */
  #one-of-one{
    padding-left:var(--pad);
    padding-right:0;
  }
  #one-of-one .one-of-one-label{left:0}
  #one-of-one .one-of-one-intro{padding-left:0}

  /* Only the page content passing behind the fixed navigation is softened. */
  body::before{
    content:"";
    position:fixed;
    z-index:30;
    inset:0 0 auto;
    height:96px;
    pointer-events:none;
    background:rgba(0,0,0,.55);
    -webkit-backdrop-filter:blur(7px) saturate(.82);
    backdrop-filter:blur(7px) saturate(.82);
  }
}

@media(max-width:900px){
  #sectors .scroll-copy br.sectors-desktop-break{display:none}
}

/* PREFINAL-38FD — let the sector detail plate clearly sit above the heading. */
@media(min-width:901px){
  #sectors>.sector-list{z-index:5}
  .sector-panel-image #sectors .sector-detail-panel.is-visible{
    box-shadow:
      0 -14px 32px rgba(0,0,0,.62),
      0 18px 42px rgba(0,0,0,.28),
      0 0 0 1px rgba(255,255,255,.045);
  }
}

/* PREFINAL-38FE — raise the three At a Glance card titles by one title line. */
@media(min-width:901px){
  #at-a-glance .commercial-frame-model h3{margin-top:40px}
}

/* PREFINAL-38HK — chapter headlines match the blue labels in size only.
   Keep their existing sentence case, colour, weight and spacing. */
.one-of-one-page-content .one-of-one-copy-section h3,
.one-of-one-page-content .one-of-one-copy-section .one-of-one-lead,
.one-of-one-page-content .one-of-one-copy-section .one-of-one-statement,
.one-of-one-page-content .one-of-one-principles h3,
.one-of-one-page-content .one-of-one-principle-list h4,
.one-of-one-page-content .one-of-one-promise h3{
  font-size:var(--ooo-section-title-size);
}
.one-of-one-page-content .one-of-one-question-label,
.one-of-one-page-content .one-of-one-promise blockquote{
  font-size:var(--ooo-small-copy-size);
}
.one-of-one-page-content .one-of-one-promise blockquote{
  color:var(--ooo-copy);
  line-height:1.7;
  letter-spacing:normal;
}
.one-of-one-page-content .one-of-one-promise blockquote br{display:none}
/* PREFINAL-38HM — keep the three small promise lines together, without
   paragraph-sized gaps. The space below the larger promise stays intact. */
.one-of-one-page-content .one-of-one-question-label{
  margin-bottom:0;
  line-height:1.7;
}
.one-of-one-page-content .one-of-one-promise blockquote{margin-bottom:0}
.one-of-one-page-content .one-of-one-promise>p:last-child{margin-top:0}
/* PREFINAL-38HO — the first three chapters share one headline-to-body gap. */
.one-of-one-page-content .one-of-one-belief .one-of-one-lead,
.one-of-one-page-content .one-of-one-copy-section:nth-of-type(2) h3,
.one-of-one-page-content .one-of-one-copy-section:nth-of-type(3) h3{
  margin-bottom:28px;
}

/* PREFINAL-38FH — tighten the One of One editorial rhythm and accents. */
.one-of-one-accent,
.one-of-one-period{color:#079d98}

/* PREFINAL-38HP — start the people sentence on its own mobile line, while
   preserving the desktop sentence flow and compact paragraph spacing. */
.one-of-one-mobile-copy-break{display:none}
@media(max-width:800px), (orientation:landscape) and (max-height:520px) and (hover:none) and (pointer:coarse){
  .one-of-one-mobile-copy-break{display:inline}
}

@media(min-width:901px){
  .one-of-one-page-content .one-of-one-copy-section:nth-of-type(2) h3{
    line-height:1.35;
  }

  .one-of-one-page-content .one-of-one-belief h3{margin-bottom:0}

  .one-of-one-page-content .one-of-one-copy-section:nth-of-type(3) .one-of-one-statement{
    margin-top:0;
    margin-bottom:23px;
  }

  .one-of-one-page-content .one-of-one-principle-list article{min-height:128px}
}

@media(max-width:900px){
  .one-of-one-promise .one-of-one-desktop-break{display:none}
}

/* PREFINAL-38FI — dissolve Global Experience into black, then let Private
   Enquiries emerge from that same black bridge. Copy and controls stay above
   both image-only fades. */
#approach .approach-stage::after{
  content:"";
  position:absolute;
  z-index:2;
  right:0;
  bottom:0;
  left:0;
  height:clamp(72px,10svh,130px);
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    transparent 0%,
    rgba(0,0,0,.55) 58%,
    #000 100%
  );
}

#contact .contact-photo::before{
  content:"";
  position:absolute;
  z-index:1;
  top:0;
  right:0;
  left:0;
  height:clamp(72px,10svh,130px);
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    #000 0%,
    rgba(0,0,0,.55) 42%,
    transparent 100%
  );
}

/* PREFINAL-38FJ — on mobile the At a Glance value line travels with the
   animated two-line heading, so it can never intersect “Becomes Value”. */
@media(max-width:900px){
  #at-a-glance .at-a-glance-engine-head h2::after{
    content:"";
    display:block;
    width:100%;
    height:1px;
    margin-top:14px;
    background:linear-gradient(
      90deg,
      var(--bright) 0,
      var(--deep) 28%,
      var(--line) 76%,
      transparent 100%
    );
  }

  #at-a-glance>.engine-model::before{content:none}
}

/* PREFINAL-38FK — lock the opening rhythm of story frame 07 on mobile while
   preserving its approved desktop line composition. */
.story-mobile-break{display:none}

@media(max-width:900px){
  .story-film-caption .story-mobile-break{display:inline}
  .story-film-caption .story-desktop-break{display:none}
}

/* PREFINAL-38FM — carry the five Operating System pillars around one inner
   circular text path, separated by restrained Tiffany Blue points. */
.interlude-ring-copy-orbit{
  position:absolute;
  z-index:3;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
  transform-origin:50% 50%;
  animation:interlude-copy-orbit-turn 64s linear infinite;
}

.interlude-ring-copy-orbit text{
  fill:url(#interlude-ring-copy-metal);
  font-family:"gotham",Arial,sans-serif;
  font-size:4.8px;
  font-weight:400;
  letter-spacing:.04em;
  text-rendering:geometricPrecision;
}

.interlude-orbit-copy-mobile{display:none}

.interlude-ring-copy-orbit .interlude-orbit-dot{
  fill:var(--bright);
  stroke:transparent;
  stroke-width:0;
  paint-order:stroke;
  opacity:.52;
  filter:url(#interlude-orbit-dot-lens);
  animation:interlude-orbit-dot-pulse 10s ease-in-out infinite;
}

.interlude-ring-copy-orbit .interlude-orbit-dot:nth-of-type(2){animation-delay:0s}
.interlude-ring-copy-orbit .interlude-orbit-dot:nth-of-type(4){animation-delay:2s}
.interlude-ring-copy-orbit .interlude-orbit-dot:nth-of-type(6){animation-delay:4s}
.interlude-ring-copy-orbit .interlude-orbit-dot:nth-of-type(8){animation-delay:6s}
.interlude-ring-copy-orbit .interlude-orbit-dot:nth-of-type(10){animation-delay:8s}

@keyframes interlude-copy-orbit-turn{
  to{transform:rotate(360deg)}
}

@keyframes interlude-orbit-dot-pulse{
  0%,16%,100%{
    fill:#089b96;
    stroke:transparent;
    stroke-width:0;
    opacity:.52;
  }
  5%,10%{
    fill:#efffff;
    stroke:#12d4cd;
    stroke-width:.48px;
    opacity:1;
  }
}

@media(prefers-reduced-motion:reduce){
  .interlude-ring-copy-orbit,
  .interlude-ring-copy-orbit .interlude-orbit-dot{animation:none}
}

/* Phone-specific circle labels and Tiffany points. The actual word geometry
   is defined in the SVG so Safari never needs to scale desktop textLength. */
@media(max-width:600px){
  .interlude-orbit-copy-desktop{display:none}
  .interlude-orbit-copy-mobile{display:block}
  .interlude-orbit-copy-mobile text{
    fill:#e5eae8;
    font-size:5.25px;
    letter-spacing:.025em;
    stroke:none;
    paint-order:normal;
  }
  .interlude-orbit-copy-mobile .mobile-orbit-text-pad{
    fill:#e5eae8;
    fill-opacity:.001;
    stroke:none;
  }
}

/* PREFINAL-38GM — iOS Safari evaluates an object-bounding-box gradient and
   stroke separately for every rotated textPath. That made the outer pixels of
   first and final glyphs look clipped. Phone labels therefore use one stable
   light fill plus symmetric near-invisible buffer glyphs that safely enlarge
   each paint box; their curved paths and orbit remain unchanged. */

/* PREFINAL-38FO — decouple the outer travelling light from both ring speeds
   and give every inner Tiffany point a more pronounced peak glow. */
.interlude-ring-wrap{animation:none}

.interlude-ring-light{
  transform-origin:50% 50%;
  animation:interlude-outer-light-orbit 96s linear infinite;
}

@keyframes interlude-outer-light-orbit{
  to{transform:rotate(360deg)}
}

@media(prefers-reduced-motion:reduce){
  .interlude-ring-light{animation:none}
}

/* PREFINAL-38FP — give each sequential inner point a restrained optical
   lens flare whose streaks and halo peak with the existing Tiffany pulse. */

/* PREFINAL-38FR — keep the complete Operating System circle composition
   responsive to width, but cap its desktop diameter at three fifths of the
   section height. Because it remains vertically centred, the unused two
   fifths become one-third-of-a-diameter margins above and below. */
@media(min-width:801px){
  #operating-system-circle .interlude-ring-wrap{
    width:min(
      45vw,
      532px,
      clamp(432px,43.2vh,588px)
    );
  }
}

/* PREFINAL-38FW — reserve the dedicated portrait contact sheet for phone
   widths only. It now contains four faces across and seven rows high; tablets
   and every intermediate width keep the approved eight-by-four desktop plate. */
@media(max-width:600px){
  .one-of-one-stage{
    background-image:var(--mobile-image-18,url("assets/one-of-one/faces-grid-mobile-v2.png"));
    background-position:center;
    background-size:contain;
  }
}

/* PREFINAL-38FV — let the sector information plate cast a short, soft shadow
   upward across the heading it overlaps. A filter shadow remains visible
   outside the plate's existing image mask on desktop and mobile. */
.sector-panel-image #sectors .sector-detail-panel.is-visible{
  filter:
    blur(0)
    brightness(1)
    saturate(1)
    drop-shadow(0 -9px 14px rgba(0,0,0,.55));
}

/* PREFINAL-38FY — phone-only One of One composition: centre and reduce the
   card, give the section label more air, and lock the title to three lines so
   card, Explore More and title retain a clear visual gap. */
.one-of-one-phone-break{display:none}
@media(max-width:600px){
  .one-of-one-phone-break{display:inline}
  .one-of-one-card{width:min(39vw,160px)}
  .one-of-one-intro{padding:100px 24px 20px}
  .one-of-one-intro h2{
    max-width:82%;
    font-size:clamp(38px,10.5vw,42px);
    line-height:.98;
  }
}

/* PREFINAL-38HC — let portrait phone copy grow below the ring instead of
   colliding with an absolutely positioned image inside a fixed-height stage.
   Keep the approved ring size, type, tablet and landscape compositions. */
@media(max-width:699px) and (orientation:portrait){
  #operating-system-circle.interlude{
    height:auto;
    justify-content:flex-start;
    gap:40px;
  }
  #operating-system-circle .interlude-ring-wrap{
    position:relative;
    top:auto;
    right:auto;
    transform:none;
    flex:0 0 auto;
    align-self:center;
  }
  /* Use the available phone width; keep natural wrapping when words do not fit. */
  #operating-system-circle h2{max-width:100%}
}

/* PREFINAL-38GG — compact touch-landscape mode. A phone held sideways has
   desktop-like width but very little height; width-only breakpoints therefore
   mixed phone, tablet and desktop geometry. This final layer uses the desktop
   composition in a shorter form and is deliberately height- and input-bound,
   so a normal iPad landscape viewport never enters this mode. */
@media (orientation:landscape) and (max-height:520px) and (hover:none) and (pointer:coarse){
  :root{--pad:clamp(22px,4vw,40px)}
  html,body{max-width:100%;overflow-x:clip}
  html{scroll-padding-top:60px}
  .scroll-rail{display:none!important}

  .nav{
    height:60px;
    padding:0 var(--pad);
    background:linear-gradient(180deg,rgba(0,0,0,.96),rgba(0,0,0,.72) 76%,transparent);
  }
  .nav .official-wordmark{width:82px;height:38px}
  .nav .official-wordmark img{width:82px}
  .nav-meta{display:flex;font-size:6px}
  .menu-toggle{min-width:118px;min-height:40px;padding:9px 8px;font-size:6px}
  .menu{
    top:6px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:min(620px,calc(100vw - 12px));
    max-height:calc(100svh - 12px);
    padding:48px 18px 12px;
    overflow:auto;
  }
  .menu-index{top:17px;left:18px;right:18px;padding-bottom:12px}
  .menu a{min-height:32px;padding:7px 10px;font-size:16px}

  #at-a-glance,#essence,#system,#sectors,#one-of-one,#approach,#contact{
    scroll-margin-top:60px;
  }

  .story-film-sticky,
  html.ios-webkit .story-film-sticky{
    height:100svh;
    min-height:0;
  }
  .story-film-chrome{top:66px;padding-top:7px;font-size:6px}
  .story-film-caption,
  .story-film-caption-wide{
    top:44%;
    right:auto;
    bottom:auto;
    left:var(--pad);
    width:min(62vw,620px);
  }
  .story-film-caption p{margin-bottom:10px;font-size:6px}
  .story-film-caption h2,
  .story-film-caption-wide h2{font-size:clamp(25px,5.2vw,40px);line-height:1}
  .story-film-caption-opening h2{font-size:clamp(31px,6.1vw,47px)}
  .story-film-caption>div{max-width:520px;margin-top:12px;font-size:10px;line-height:1.42}
  .story-film-caption-mark strong{margin-top:12px;font-size:clamp(25px,5.2vw,40px)}
  .story-film-caption .story-mobile-break{display:none}
  .story-film-caption .story-desktop-break{display:inline}
  .story-film-progress{right:var(--pad);bottom:14px;left:auto;font-size:6px}
  .story-film-progress i{width:72px}
  .story-film-scroll-cue{bottom:14px;left:var(--pad)}

  .commercial-frame{padding:76px var(--pad) 58px}
  .commercial-frame-head{
    grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr);
    column-gap:34px;
    padding-bottom:38px;
  }
  .commercial-frame-head>span{grid-column:1;grid-row:1;margin:0;padding-top:4px}
  .commercial-frame-head>p,
  .commercial-frame-head h2,
  .commercial-frame-head>div{grid-column:2}
  .commercial-frame-head>p{margin-bottom:10px;font-size:7px}
  .commercial-frame-head h2{font-size:clamp(27px,4.2vw,36px);line-height:1.02}
  .commercial-frame-head>div{margin-top:15px;font-size:11px;line-height:1.48}
  .commercial-frame-model{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:28px}
  .commercial-frame-model article{min-height:190px;padding:20px}
  .commercial-frame-model h3{margin:32px 0 13px;font-size:clamp(23px,3.4vw,30px)}
  .commercial-frame-model p{font-size:10px;line-height:1.5}
  .at-a-glance-engine-head{margin:34px 0 18px;padding-top:18px}
  .at-a-glance-engine-head h2{font-size:31px}
  #at-a-glance .engine-model-copy p{padding:9px 0;font-size:12px}

  #essence.statement{min-height:0;padding:76px var(--pad) 62px}
  #essence .statement-kicker{margin:22px 0 14px}
  #essence .statement h2,#essence h2{
    max-width:78%;
    font-size:clamp(25px,4vw,34px);
    line-height:1.08;
  }
  #essence h2 br.essence-desktop-break{display:block}
  #essence .essence-supporting-copy{margin-top:16px;font-size:11px;line-height:1.5}

  #system.system{padding:76px var(--pad) 56px}
  #system .section-head{
    grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr);
    gap:34px;
    margin-bottom:30px;
  }
  #system .section-head h2{font-size:clamp(27px,4vw,35px)}
  #system .pillar{
    grid-template-columns:34px minmax(150px,.85fr) minmax(0,1.15fr);
    min-height:82px;
    padding:13px 0;
  }
  #system .pillar h3{font-size:25px}
  #system .pillar p{grid-column:3;margin:0;font-size:10px;line-height:1.45}

  #operating-system-circle.interlude{
    display:grid;
    grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);
    align-items:center;
    justify-content:start;
    height:100svh;
    min-height:0;
    padding:60px var(--pad) 18px;
  }
  #operating-system-circle .interlude-ring-wrap{
    top:50%;
    right:8vw;
    width:min(48svh,255px);
    transform:translateY(-50%);
  }
  #operating-system-circle h2{
    max-width:280px;
    margin:0;
    font-size:clamp(29px,4.5vw,38px);
    line-height:1;
  }

  #sectors{
    display:block;
    min-height:0;
    padding:70px var(--pad) 54px;
  }
  #sectors>.section-head{
    display:grid;
    grid-template-columns:minmax(150px,.65fr) minmax(0,1.35fr);
    gap:34px;
    margin-bottom:0;
  }
  #sectors .section-head h2{font-size:clamp(25px,3.8vw,34px)}
  #sectors .scroll-copy br.sectors-desktop-break{display:block}
  #sectors>.sector-list{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:8px;
    width:100%;
    max-width:none;
    padding:92px 0 24px;
  }
  #sectors .sector-feature{width:100%;max-width:none;min-height:0!important}
  #sectors .sector-title-panel{height:auto;padding:14%}
  #sectors .sector-feature h3,
  #sectors .sector-feature:hover h3,
  #sectors .sector-feature:focus-visible h3,
  #sectors .sector-feature.is-active h3{font-size:clamp(8px,1.25vw,12px)}
  #sectors #soccerbal-scene{
    width:100vw;
    height:100svh;
    margin:-70px calc(50% - 50vw) calc(-100svh + 70px);
  }

  .one-of-one{height:230svh;padding:0}
  .one-of-one-stage,
  html.ios-webkit .one-of-one-stage{
    top:0;
    height:100svh;
    min-height:0;
    background-image:var(--mobile-image-19,url("assets/one-of-one/faces-grid-v6.png"));
    background-position:center 25%;
    background-size:contain;
  }
  .one-of-one-label{top:70px;left:var(--pad);right:auto;font-size:7px}
  .one-of-one-phone-break{display:none}
  .one-of-one-intro{align-items:center;padding:70px var(--pad) 24px}
  .one-of-one-intro h2{max-width:38%;font-size:clamp(31px,5vw,42px);line-height:.96}
  .one-of-one-card{width:min(29svh,132px)!important;padding:11px 12px;border-radius:12px}
  .one-of-one-card header,.one-of-one-card footer{padding-bottom:8px;font-size:4px}
  .one-of-one-card footer{padding:8px 0 0}
  .one-of-one-explore{margin-top:7px;padding:8px 2px 7px;font-size:8px}

  #approach.approach{min-height:360svh}
  #approach .approach-stage,
  html.ios-webkit #approach .approach-stage{height:100svh;min-height:0}
  #approach .approach-section-label{display:block;top:70px;left:var(--pad);font-size:7px}
  #approach .global-experience-frame,
  #approach .global-experience-motion-frame{inset:-3%;width:106%;height:106%}
  #approach .approach-copy{
    width:min(590px,62vw);
    padding:82px var(--pad) 25px;
    justify-content:center;
  }
  #approach .approach-copy h2{margin-bottom:18px;font-size:clamp(28px,4.5vw,38px)}
  #approach .approach-copy>p{font-size:10px;line-height:1.48}

  #contact .contact-photo{
    width:100vw;
    min-height:0;
    aspect-ratio:16/9;
    margin:0 0 28px calc(50% - 50vw);
  }
  #contact .contact-top{top:70px;left:var(--pad);right:var(--pad)}
  #contact .contact-pillar-button{
    top:50%;
    left:0;
    width:min(570px,72%);
    padding:15px 20px 15px var(--pad);
  }
  #contact .contact-pillar-button>span{font-size:clamp(26px,4.5vw,38px)}
  .contact-location-card{right:0;bottom:0;left:auto;width:min(300px,36%);min-height:104px;padding:17px 20px}
  #contact footer{grid-template-columns:auto 1fr auto;gap:28px;padding:22px var(--pad) 28px}
  #contact footer .contact-establishment,
  #contact footer .contact-copyright{grid-column:auto;grid-row:1;align-self:center}

  .one-of-one-page-header{height:58px;padding:0 var(--pad)}
  .one-of-one-page-hero{
    min-height:calc(100svh - 58px);
    grid-template-columns:1.05fr .95fr;
    padding:54px var(--pad) 28px;
  }
  .one-of-one-phone-visual{grid-column:2;grid-row:1;min-height:calc(100svh - 86px)}
  .one-of-one-page-hero>div:not(.one-of-one-phone-visual):not(.one-of-one-page-scroll){grid-column:1;grid-row:1}
  .one-of-one-page-hero h2{font-size:clamp(29px,5vw,42px)}
  .one-of-one-page-hero>.one-of-one-page-scroll{bottom:12px}

  .contact-flow{left:6px!important;width:calc(100vw - 12px)!important;max-height:calc(100svh - 12px)!important}
  .contact-flow-bar{min-height:42px}
  .contact-flow-panel{padding:50px 24px 22px}
  .contact-flow h2{margin-bottom:18px;font-size:clamp(25px,4vw,34px)}
  .contact-flow-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
  .contact-flow-options button{min-height:48px}
  .contact-flow-form textarea{min-height:70px}
}

/* PREFINAL-38GK — concise Where We Build proposition. Its supporting line is
   nested in the animated title, just like Essence, so the same word fade runs
   after the large heading rather than appearing at the same time. */
#sectors .sectors-head-copy{min-width:0}
#operating-system-circle h2,
#sectors .sectors-head-copy>h2{line-height:1.08}
#sectors .sectors-supporting-copy{
  display:block;
  max-width:700px;
  margin:28px 0 0;
  color:var(--muted);
  font-size:clamp(14px,1.35vw,19px);
  line-height:1.75;
  letter-spacing:.01em;
}

@media(max-width:900px){
  #sectors .sectors-supporting-copy{margin-top:22px;font-size:13px;line-height:1.65}
}

@media (orientation:landscape) and (max-height:520px) and (hover:none) and (pointer:coarse){
  #sectors .sectors-head-copy{grid-column:2}
  #sectors .sectors-supporting-copy{margin-top:16px;font-size:11px;line-height:1.5}
}

/* PREFINAL-38GR — the standalone 3D logo keeps the former phone's stage.
   Absolute canvas sizing avoids intrinsic drawing-buffer dimensions feeding
   back into the grid row when ResizeObserver updates a high-DPI renderer. */
/* Match the 835px review viewport; never enlarge the mark on wider screens. */
.one-of-one-logo-visual{min-width:0;width:100%;max-width:374px;justify-self:center}
.one-of-one-logo-visual canvas{position:absolute;inset:0;width:100%;height:100%}

/* PREFINAL-38HL — mobile portrait: reserve independent rows for the whole
   logo, the hero copy and the scroll cue. Let the hero grow on short screens
   instead of overlaying the wordmark and the One of One kicker. */
@media(max-width:800px) and (orientation:portrait){
  .one-of-one-page-hero{
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto auto;
    align-content:start;
    row-gap:24px;
    padding-bottom:28px;
  }
  .one-of-one-page-hero>.one-of-one-logo-visual{
    grid-column:1;
    grid-row:1;
    align-self:start;
    height:clamp(260px,42svh,380px);
    min-height:0;
    margin-top:0;
  }
  .one-of-one-page-hero>div:not(.one-of-one-phone-visual):not(.one-of-one-page-scroll){
    grid-column:1;
    grid-row:2;
    align-self:start;
    min-width:0;
  }
  .one-of-one-page-hero>.one-of-one-page-scroll{
    position:static;
    grid-column:1;
    grid-row:3;
    align-self:start;
    margin-top:12px;
  }
}

/* PREFINAL-38GQ — a larger complete globe with a locked-camera contour glow.
   Apply the same uncropped composition to the video and its fallback still. */
#approach .global-experience-overview{
  inset:0 -5% 0 auto;
  width:76%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

@media(max-width:900px) and (orientation:portrait){
  #approach .global-experience-overview{
    inset:74px 0 auto;
    width:100%;
    height:39svh;
    object-position:center;
  }
  #approach .approach-copy{
    transform:translate3d(0,calc(var(--global-overview-progress,0) * 16svh),0);
  }
}


/* PREFINAL-38HQ — same artwork, smaller mobile decode surfaces. The flag is set
   in the head so the desktop raster is not fetched before CSS is applied. */
html.mobile-memory {
  --mobile-image-10:url("assets/mobile/hacq-logoset.webp");
  --mobile-image-1:url("assets/mobile/brand/operating-system-bg-subtle-v1.webp");
  --mobile-image-0:url("assets/mobile/brand/guide-12-1.webp");
  --mobile-image-3:url("assets/mobile/essence/essence-background-no-streak-v1.webp");
  --mobile-image-20:url("assets/mobile/sectors/expanded-sector-bg.webp");
  --mobile-image-19:url("assets/mobile/one-of-one/faces-grid-v6.webp");
  --mobile-image-11:url("assets/mobile/one-of-one/background-04.webp");
  --mobile-image-12:url("assets/mobile/one-of-one/brand-backgrounds/oneofone-light-01-silicone-membrane.webp");
  --mobile-image-13:url("assets/mobile/one-of-one/brand-backgrounds/oneofone-light-03-hydrogel-particles.webp");
  --mobile-image-14:url("assets/mobile/one-of-one/brand-backgrounds/oneofone-light-04-biomaterial-fibres.webp");
  --mobile-image-17:url("assets/mobile/one-of-one/brand-backgrounds/oneofone-light-15-optical-glass-ribbons.webp");
  --mobile-image-15:url("assets/mobile/one-of-one/brand-backgrounds/oneofone-light-06-aerogel-layers.webp");
  --mobile-image-16:url("assets/mobile/one-of-one/brand-backgrounds/oneofone-light-09-liquid-crystal-film.webp");
  --mobile-image-21:url("assets/mobile/sectors/sector-detail-metal-black.webp");
  --mobile-image-18:url("assets/mobile/one-of-one/faces-grid-mobile-v2.webp");
}
html.mobile-memory .story-film-frame,
html.mobile-memory .story-film-frame img,
html.mobile-memory .story-film-opening-globe,
html.mobile-memory .scroll-copy .word,
html.mobile-memory .global-experience-line,
html.mobile-memory #approach .global-experience-frame,
html.mobile-memory #approach .global-experience-motion-frame{will-change:auto}
html.mobile-memory .story-film:not(.story-scene-active) .story-film-media{visibility:hidden}
/* The separate page is initially closed; do not decode six hidden backgrounds. */
html.mobile-memory .one-of-one-page:not(.open)>.one-of-one-page-hero,
html.mobile-memory .one-of-one-page:not(.open)>.one-of-one-page-content{display:none}
