@import url("./brand-logo.css?v=supplied-blue-1");
@import url("./audit-notes.css?v=annotated-six-1");
@font-face{font-family:Outfit;src:url('fonts/outfit-latin.woff2') format('woff2');font-weight:300 500;font-display:swap}
@font-face{font-family:Outfit;src:url('fonts/outfit-latin-ext.woff2') format('woff2');font-weight:300 500;font-display:swap;unicode-range:U+0100-024F}
@font-face{font-family:Inter;src:url('fonts/inter-latin.woff2') format('woff2');font-weight:400 500;font-display:swap}
@font-face{font-family:Inter;src:url('fonts/inter-latin-ext.woff2') format('woff2');font-weight:400 500;font-display:swap;unicode-range:U+0100-024F}
:root{--ink:#090b0e;--muted:#626b75;--paper:#f7f8fa;--white:#fff;--night:#07090c;--cool:#9ac7ff;--edge:clamp(24px,4vw,64px);font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:75px}
body{margin:0;overflow-x:clip}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:4px}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:Outfit,Arial,sans-serif;font-weight:300;letter-spacing:-.055em}
p{line-height:1.55}
img{display:block;max-width:100%}
.section-light{background:var(--white);color:var(--ink)}
.section-dark{background:var(--night);color:#f4f6f8}
.site-nav{position:fixed;z-index:30;top:0;left:0;right:0;min-height:78px;display:flex;align-items:center;gap:24px;padding:16px var(--edge);transition:color .35s,background .35s;color:var(--ink)}
.site-nav.on-dark{color:#fff;background:rgba(7,9,12,.5)}
.site-nav.after-hero:not(.on-dark){background:rgba(255,255,255,.92);backdrop-filter:blur(12px)}
.brand{font:500 23px Outfit,Arial,sans-serif;letter-spacing:-.07em;white-space:nowrap}
.site-nav .brand{display:flex;align-items:center;min-height:44px}
.nav-links{display:flex;align-items:center;gap:4px;margin-left:clamp(25px,5vw,90px);margin-right:auto}
.menu-toggle{display:none;border:0;cursor:pointer}
.nav-links a,.nav-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:100px;background:rgba(239,242,245,.9);font-size:12px;white-space:nowrap}
.nav-links a[aria-current="page"]{color:#fff;background:var(--ink)}
.site-nav.on-dark .nav-links a{background:rgba(255,255,255,.12)}
.site-nav.on-dark .nav-links a[aria-current="page"]{color:var(--ink);background:#fff}
.site-nav.on-dark .nav-action{background:#f4f6f8;color:var(--ink)}
.nav-action{gap:12px}.round-icon{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--ink);color:#fff;font-size:10px}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:100px;font-size:13px;white-space:nowrap}
.pill-dark{background:var(--ink);color:#fff}.pill-light{background:rgba(255,255,255,.9);border:1px solid #c9ced3}
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;overflow:hidden}
.hero-image,.hero-wash{position:absolute;inset:0}
.hero-image{background:#fff url('assets/hero-hands-v2.png') center/100% auto no-repeat;transform:scale(1.03);animation:hero-breathe 13s ease-in-out infinite alternate}
.scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}
.hero-image .scene-video{object-fit:contain}
.has-scene-video .scene-video{opacity:1}
.hero-image.has-scene-video,.engine-image.has-scene-video{animation:none;transform:none;will-change:auto}
@media(max-width:900px),(prefers-reduced-motion:reduce){.scene-video{display:none}}
.hero-wash{background:radial-gradient(ellipse 42% 24% at 50% 47%,rgba(255,255,255,.96),rgba(255,255,255,.62) 55%,transparent 100%),linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 25%,rgba(255,255,255,.04) 67%,#fff 100%)}
@keyframes hero-breathe{to{transform:scale(1.08)}}
.hero-title,.hero-bottom,.scroll-hint{position:relative;z-index:1}
.hero-title{display:grid;place-items:center;flex:1;text-align:center;padding:110px 24px 30px}
.hero h1{font-size:clamp(56px,6vw,98px);line-height:.91;max-width:15ch;text-wrap:balance}
.hero h1 span{display:block;color:#343c44}
.hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:35px;padding:15px var(--edge) clamp(32px,4vw,58px)}
.hero-copy{max-width:620px;font-size:16px}.hero-lead{font-size:clamp(23px,2.2vw,32px);line-height:1.25;letter-spacing:-.025em;font-weight:400;text-wrap:balance}.hero-detail{max-width:54ch;margin-top:16px;color:#4f5862;line-height:1.55}.hero-copy small{display:block;margin-top:17px;color:#4d5660;font-size:12px;line-height:1.45}
.hero-actions{display:flex;gap:8px;align-items:end}
.scroll-hint{position:absolute;left:calc(50% - 22px);bottom:28px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:transparent;color:var(--ink)}
.engine{position:relative;min-height:100svh;text-align:center}
.engine-stage{position:relative;min-height:100svh;display:grid;place-items:center;padding:140px var(--edge) 120px;overflow:hidden}
.engine-image,.engine-overlay{position:absolute;inset:0}
.engine-image{background:url('../web/src/assets/apple/tunnel.png') center/cover no-repeat;transform:none}
.engine-overlay{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.08) 36%,rgba(0,0,0,.65))}
.engine-stage>*:not(.engine-image):not(.engine-overlay){position:relative;z-index:1}
.scene-kicker{font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:500;line-height:1.3}
.engine .scene-kicker{position:absolute!important;top:112px;left:var(--edge)}
.engine h2{font-size:clamp(30px,3.4vw,54px);max-width:none;line-height:1.12;letter-spacing:-.025em;white-space:nowrap}
.engine-word{color:#fff}
.engine-arrow{color:#8b9eb1;margin:0 .15em}
.engine-copy{position:absolute!important;bottom:62px;right:var(--edge);max-width:42ch;text-align:left;font-size:14px;color:#e7edf4}
.services{min-height:100svh;padding:105px var(--edge) 65px}
.section-heading{display:flex;align-items:baseline;gap:9vw}.section-heading h2{font-size:clamp(30px,3vw,48px)}
.service-rows{margin:30px 0 28px}
.service-row{display:grid;grid-template-columns:36px minmax(280px,1fr) 40%;gap:20px;align-items:center;min-height:145px;border-top:1px solid #f0f1f3;padding:18px 0;position:relative}
.service-row:last-child{border-bottom:1px solid #f0f1f3}
.row-no{font-size:12px;color:#8a939d}.service-row h3{font-size:clamp(32px,3.4vw,54px);line-height:1.03}.service-row h3{grid-column:2;grid-row:1}.service-row p{grid-column:2;grid-row:2;font-size:12px;color:#626b75;max-width:50ch}.row-no{grid-row:1}.service-row{row-gap:8px}
.row-mark{grid-column:3;grid-row:1/3;justify-self:end;width:90%;height:86px;border-radius:100px 12px 12px 100px;background:linear-gradient(90deg,#eceef0,#fafafa);position:relative}
.row-mark:before{content:"";position:absolute;top:8px;left:8px;width:70px;height:70px;border-radius:50%;background:#fff;box-shadow:0 0 12px #dce0e4,inset 0 0 10px #f0f1f3;transform:translateX(calc(var(--row-progress,0)*20px))}
.service-row:nth-child(2) .row-mark{width:43%;justify-self:start;background:linear-gradient(90deg,#f3f7fa,#fff)}
.service-row:nth-child(3) .row-mark{width:62%;background:linear-gradient(90deg,#eeecef,#faf9fb)}
.service-row:nth-child(4) .row-mark{width:74%}
.inline-link{display:inline-flex;min-height:44px;align-items:center;gap:30px;border-bottom:1px solid currentColor;padding:0 0 7px;font-size:14px}
.gallery{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:115px var(--edge) 65px;overflow:hidden;text-align:center}
.gallery h2{font-size:clamp(48px,5vw,78px);margin:22px 0 40px}.gallery h2 span{color:#858b92}
.gallery-strip{display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.5vw,22px);min-height:390px}
.gallery-strip figure{width:min(12vw,185px);height:clamp(240px,22.2vw,320px);flex-shrink:0;overflow:hidden;border-radius:12px;position:relative;background:#111820;transform:translateY(calc(var(--shift,0px) + var(--gallery-lift,0px))) rotate(var(--rotate,0deg))}
.gallery-strip figure:nth-child(1){--rotate:-7deg;--shift:30px}.gallery-strip figure:nth-child(2){--rotate:4deg;--shift:-35px}.gallery-strip figure:nth-child(3){--rotate:3deg;--shift:25px}.gallery-strip figure:nth-child(4){--rotate:-3deg;--shift:-22px}
.gallery-strip figure:nth-child(5){--rotate:-7deg;--shift:40px}
.gallery-strip img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.gallery-strip figure:nth-child(4) img{object-position:100% center}.gallery-strip figure:nth-child(4) figcaption{color:#101317;text-shadow:none}
.gallery-strip figcaption{position:absolute;left:16px;bottom:16px;right:16px;color:#fff;font-size:14px;text-shadow:0 1px 8px #000}
.gallery-note{margin:55px auto 0;color:var(--muted);font-size:13px;max-width:54ch}
.start{padding:85px var(--edge);overflow:hidden;border-top:1px solid #edf0f2}
.start-layout{display:grid;grid-template-columns:1fr;align-items:center;gap:5vw}
.start-giant{font:300 clamp(210px,30vw,510px)/.7 Outfit,Arial,sans-serif;letter-spacing:-.1em;color:#e9ecf0}
.start-copy{display:grid;grid-template-columns:1.1fr .9fr;gap:24px 10vw;margin-top:35px}.start h2{font-size:clamp(32px,3.1vw,48px);line-height:1.08;max-width:22ch;grid-row:1/3}
.start-copy p{max-width:54ch;color:var(--muted);font-size:17px}.start-copy .inline-link{margin-top:4px;justify-self:start;align-self:start}
.enterprise{position:relative;min-height:82svh;display:flex;flex-direction:column;justify-content:center;padding:130px var(--edge);overflow:hidden}
.enterprise-backdrop{position:absolute;inset:0;background:url('../web/src/assets/apple/tunnel.png') center/cover;opacity:.22;filter:grayscale(1)}
.enterprise>*:not(.enterprise-backdrop){position:relative}
.enterprise h2{font-size:clamp(55px,7vw,112px);max-width:14ch;margin:24px 0}
.enterprise>p:not(.scene-kicker){max-width:51ch;color:#d8dde4}.enterprise .inline-link{margin-top:32px;align-self:flex-start}
.about{min-height:100svh;padding:130px var(--edge);display:grid;grid-template-columns:1fr 1fr;gap:30px 7vw;align-content:center;align-items:start}
.about .scene-kicker{grid-column:1/-1}.about h2{font-size:clamp(58px,7vw,112px);line-height:.95}.about>p:not(.scene-kicker){align-self:end;color:var(--muted);max-width:40ch}
.about-photo{grid-column:1/-1;min-height:38vh;display:grid;place-items:center;background:#e9edf1;color:#5a6570;text-align:center;padding:30px}
.meeting{min-height:100svh;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:120px var(--edge) 80px;overflow:hidden}
.meeting-marquee{font:300 clamp(100px,12vw,195px)/1.1 Outfit,Arial,sans-serif;white-space:nowrap;letter-spacing:-.06em;color:#090b0e;transform:translateX(var(--marquee-x,-10vw));width:max-content;margin:55px 0 65px}
.meeting-marquee span:last-child{color:#b4b7bc}
.meeting-content{max-width:490px;position:relative;margin-top:auto}.meeting h2{font-size:clamp(24px,2.1vw,32px);line-height:1.18}.meeting-content p{margin:24px 0 28px;max-width:48ch;color:var(--muted)}
.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px var(--edge);background:#e9edf1;color:#36404a;font-size:12px}
.will-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.will-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){.nav-links{display:none;position:absolute;top:100%;left:var(--edge);right:var(--edge);margin:0;padding:10px;background:#fff;color:var(--ink);box-shadow:0 18px 45px rgba(0,0,0,.15);border-radius:18px;flex-direction:column;align-items:stretch}.nav-links.is-open{display:flex}.nav-links a,.nav-links a[aria-current="page"],.site-nav.on-dark .nav-links a,.site-nav.on-dark .nav-links a[aria-current="page"]{background:#f0f2f5;color:var(--ink);justify-content:flex-start}.menu-toggle{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#f0f2f5;color:#101317;font-size:19px;margin-left:auto}.site-nav.on-dark .menu-toggle{background:#fff;color:#101317}.nav-action{margin-left:0}.scroll-hint{display:none}.service-row{grid-template-columns:32px 1fr}.service-row p{grid-column:2}.row-mark{display:none}.section-heading{display:block}.section-heading h2{margin-top:14px}.about{grid-template-columns:1fr}.about .scene-kicker,.about-photo{grid-column:auto}}
@media(max-width:700px){
  :root{--edge:24px}
  html{scroll-padding-top:66px}
  .site-nav{min-height:64px;padding:10px 24px;gap:8px}.brand{font-size:21px}.nav-action{padding:0 13px}
  .hero-image{background-image:url('../web/src/assets/apple/hero-human-ai.png');background-size:auto 68%;background-position:center 25%;background-repeat:no-repeat}
  .hero-wash{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.02) 23%,rgba(255,255,255,.15) 53%,#fff 75%)}
  .hero-title{min-height:62svh;align-items:end;padding:0 24px 22px}.hero h1{font-size:clamp(51px,14vw,78px);max-width:9ch}
  .hero-bottom{display:block;padding:0 24px 28px}.hero-copy{max-width:36ch}.hero-lead{font-size:24px}.hero-detail{font-size:15px}.hero-actions{margin-top:24px;flex-wrap:wrap}.pill{padding:0 17px}
  .engine{min-height:100svh;text-align:left}.engine-stage{min-height:100svh;padding:120px 24px 215px;place-items:center start}.engine .scene-kicker{top:110px;left:24px}.engine h2{font-size:clamp(45px,12vw,68px)}.engine h2{white-space:normal}.engine-word{display:block}.engine-arrow{display:block;font-size:24px;line-height:1.6}.scene-progress{display:none}.engine-copy{left:24px;right:24px;bottom:58px;font-size:14px}.scene-index{display:none}
  .services,.gallery,.start,.enterprise,.about,.meeting{padding:105px 24px 80px}.services,.gallery{min-height:auto}
  .section-heading h2,.gallery h2{font-size:clamp(50px,13vw,68px)}.service-rows{margin-top:50px}.service-row{gap:8px 14px;padding:28px 0;min-height:0}.service-row h3{font-size:clamp(32px,9vw,45px)}.service-row p{font-size:14px;grid-row:auto}
  .gallery-strip{justify-content:flex-start;gap:12px;overflow-x:auto;padding:12px 12px 25px;min-height:300px;scroll-snap-type:x mandatory}.gallery-strip figure{flex:0 0 60vw;height:280px;scroll-snap-align:center;transform:none!important}.gallery-note{margin-top:20px}
  .start{min-height:0}.start-layout{display:block;position:relative;min-height:0}.start-giant{position:absolute;top:65px;right:0;font-size:55vw}.start-copy{display:block;position:relative;padding-top:0}.start-copy .inline-link{margin-top:28px}.start h2{margin-bottom:24px}.start h2{font-size:clamp(43px,11vw,60px)}.start-copy p{font-size:15px}
  .enterprise{min-height:85svh}.enterprise h2{font-size:clamp(52px,12vw,74px)}
  .about h2{font-size:clamp(54px,13vw,77px)}.about-photo{min-height:270px}
  .meeting{min-height:100svh}.meeting-marquee{font-size:30vw;transform:translateX(-3vw)}.meeting h2{font-size:clamp(30px,8vw,40px)}.meeting-content p{font-size:15px}
  .footer{display:block}.footer span{display:block;margin-bottom:10px}
}
@media(max-width:380px){.hero h1{font-size:49px}.hero-copy{font-size:15px}.hero-copy small{font-size:12px}.hero-actions .pill{font-size:12px;padding:0 13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.engine-image{transform:none!important}.gallery-strip figure{--gallery-lift:0px!important}.meeting-marquee{transform:none!important}.hero-image,.engine-image,.meeting-marquee{animation:none!important}.will-reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* Keep every destination reachable when JavaScript is unavailable. */
@media(max-width:900px){
  html:not(.js-ready) .site-nav{position:relative;flex-wrap:wrap;background:#fff;color:var(--ink)}
  html:not(.js-ready) .nav-action{margin-left:auto}
  html:not(.js-ready) .menu-toggle{display:none}
  html:not(.js-ready) .nav-links{display:flex;position:static;order:4;flex-basis:100%;margin:0;padding:8px 0;box-shadow:none;background:transparent;border-radius:0}
}

@media(max-width:900px){.nav-links a[aria-current="page"],.site-nav.on-dark .nav-links a[aria-current="page"]{background:var(--ink);color:#fff}}

/* Prominent introduction: a full-width statement below the visual. */
.hero-title{flex:none;min-height:72svh;padding-bottom:70px}
.hero-bottom{background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px 56px;padding:48px var(--edge) 72px}
.hero-copy{display:contents}
.hero-copy .hero-lead{grid-column:1 / -1;max-width:720px;font-family:Outfit,Arial,sans-serif;font-size:clamp(28px,2.7vw,38px);font-weight:300;line-height:1.08;letter-spacing:-.04em;text-wrap:balance}
.hero-copy .hero-detail{grid-column:1;grid-row:2;max-width:54ch;font-size:18px;margin:0;line-height:1.5}
.hero-copy small{grid-column:1;grid-row:3;margin:0;font-size:13px}
.hero-actions{grid-column:2;grid-row:2;align-self:center}
.hero .scroll-hint{display:none}
@media(max-width:700px){
 .hero-title{min-height:62svh;padding-bottom:30px}
 .hero-bottom{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding:32px 24px 48px}
 .hero-copy .hero-lead{font-size:clamp(28px,7vw,34px);line-height:1.1;text-wrap:pretty}
 .hero-copy .hero-detail{font-size:17px}
 .hero-copy small{font-size:13px}
 .hero-actions{margin:0;align-self:flex-start;flex-wrap:wrap}
}

/* Tighter spacing between the introduction sentences. */
.hero-bottom{row-gap:14px}
@media(max-width:700px){.hero-bottom{gap:14px}}

/* Services: stagger the title, explanation and sculpted bar on entry. */
@media(prefers-reduced-motion:no-preference){
 .service-motion .row-no,.service-motion h3,.service-motion p{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .8s cubic-bezier(.22,1,.36,1)}
 .service-motion h3{transition-delay:.07s}
 .service-motion p{transition-delay:.16s}
 .service-motion .row-mark{opacity:0;transform:translateX(34px) scaleX(.72);transform-origin:right center;transition:opacity .8s ease .12s,transform 1.1s cubic-bezier(.22,1,.36,1) .12s}
 .service-motion:nth-child(even) .row-mark{transform-origin:left center;transform:translateX(-24px) scaleX(.72)}
 .service-entered .row-no,.service-entered h3,.service-entered p,.service-entered .row-mark,.service-entered:nth-child(even) .row-mark{opacity:1;transform:none}
 .row-mark:before{transform:translateX(calc(var(--row-progress,0)*48px));transition:transform .18s linear}
}
@media(prefers-reduced-motion:reduce){.row-mark:before{transform:none}}

/* More visible travel, with a restrained translucent cool tint. */
.service-row .row-mark{background:linear-gradient(90deg,rgba(154,199,255,.28),rgba(154,199,255,.07));overflow:hidden}
.service-row:nth-child(2) .row-mark{background:linear-gradient(90deg,rgba(144,196,214,.27),rgba(144,196,214,.06))}
.service-row:nth-child(3) .row-mark{background:linear-gradient(90deg,rgba(158,183,218,.29),rgba(158,183,218,.07))}
.service-row:nth-child(4) .row-mark{background:linear-gradient(90deg,rgba(154,199,255,.25),rgba(154,199,255,.05))}
.row-mark:before{box-shadow:0 0 15px rgba(119,165,206,.22),inset 0 0 12px rgba(154,199,255,.13)}
@media(prefers-reduced-motion:no-preference){
 .service-motion .row-mark{transform:translateX(64px) scaleX(.5);transition-duration:.8s,1.35s}
 .service-motion:nth-child(even) .row-mark{transform:translateX(-48px) scaleX(.5)}
 .service-entered .row-mark,.service-entered:nth-child(even) .row-mark{transform:none}
 .service-row .row-mark:before{left:calc(8px + (100% - 86px)*var(--row-progress,0));transform:none;transition:left .16s linear}
}

/* Reference gallery choreography: layered stack -> upright fan -> open row. */
.gallery-stage{width:100%}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){
 .gallery.gallery-animated{height:270svh;min-height:0;display:block;overflow:visible;padding:0}
 .gallery-animated .gallery-stage{position:sticky;top:0;height:100svh;min-height:640px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:95px var(--edge) 35px;overflow:clip}
 .gallery-animated h2{font-size:clamp(42px,4.6vw,68px);margin:18px 0 16px}
 .gallery-animated .gallery-strip{display:block;position:relative;width:100%;height:clamp(320px,43svh,460px);min-height:320px;perspective:1100px;overflow:visible;transform-style:preserve-3d}
 .gallery-animated .gallery-strip figure{position:absolute;left:50%;top:50%;width:min(12vw,170px);height:clamp(235px,29svh,310px);transform-origin:center;box-shadow:0 12px 22px rgba(7,9,12,.1);will-change:transform;backface-visibility:hidden}
 .gallery-animated .gallery-strip figcaption{opacity:var(--caption-opacity,0)}
 .gallery-animated .gallery-note{margin:20px auto 0}
}
.services{overflow:clip}
@media(min-width:901px) and (max-height:720px) and (prefers-reduced-motion:no-preference){
 .gallery-animated .gallery-stage{min-height:0;padding-top:80px;padding-bottom:16px}
 .gallery-animated h2{font-size:42px;margin:10px 0}
 .gallery-animated .gallery-strip{height:280px;min-height:280px}
 .gallery-animated .gallery-strip figure{height:220px}
 .gallery-animated .gallery-note{margin-top:8px;font-size:12px}
}

/* Keep both faces visible throughout the single spatial revolution. */
.gallery-animated .gallery-strip figure{backface-visibility:visible}

@media(min-width:901px) and (prefers-reduced-motion:no-preference){.gallery-animated .gallery-note{margin-top:40px}}

/* Uploaded photos: center the subject and keep labels legible. */
.gallery-strip figure:nth-child(3) img{object-position:50% 42%}
.gallery-strip figure:nth-child(4) img{object-position:50% 38%}
.gallery-strip figure:nth-child(5) img{object-position:55% 45%}
.gallery-strip figcaption,.gallery-strip figure:nth-child(4) figcaption{color:#fff;text-shadow:0 1px 5px #000;background:linear-gradient(transparent,rgba(0,0,0,.65));left:0;right:0;bottom:0;padding:35px 12px 14px}
/* Delivered clips: one playback, matching posters and explicit motion control. */
.hero-image{background-image:url('media/hero-hands-poster.webp');animation:none;background-size:100% auto}
.engine-image{background-image:url('media/tunnel-forward-poster.webp')}
.hero-image .scene-video{mask-image:linear-gradient(to bottom,transparent,black 12%,black 88%,transparent)}
.hero-image.has-scene-video:after{content:'';position:absolute;left:50%;top:48%;width:23%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff9 8%,#d6eaff65 35%,#b5d6ff20 55%,transparent 72%);opacity:var(--orb-glow,0);mix-blend-mode:screen;pointer-events:none;transition:opacity .25s}
.scene-control{position:absolute;right:var(--edge);top:100px;z-index:4;border:1px solid #adb9c7;border-radius:30px;background:#ffffffdf;color:#344359;min-height:44px;padding:10px 16px;font:12px Inter,sans-serif;cursor:pointer}.scene-control[hidden]{display:none}.engine-stage>.scene-control{position:absolute;top:24px;right:var(--edge);color:#edf3fa;background:#121c29cf;border-color:#64758a}.scene-control:focus-visible{outline:3px solid #789ad2;outline-offset:3px}
@media(max-width:900px){.scene-video{display:block}.hero-image{background-image:url('media/hero-hands-poster.webp');background-size:100% auto;background-position:center 25%}.hero-image .scene-video{height:65%;object-fit:contain;object-position:center center}.hero-image.has-scene-video:after{top:32%;width:26%}.scene-control{top:85px;right:24px;font-size:10px;padding:8px 12px}.engine-stage>.scene-control{right:24px;top:16px}}
@media(prefers-reduced-motion:reduce){.scene-video,.scene-control{display:none!important}.hero-image:after{display:none}}
/* Remove the milky title wash: retain the delivered clip's original contrast. */
.hero-wash{background:none!important;pointer-events:none}
.hero-image.has-scene-video:after{display:none!important}
.hero-image .scene-video{mask-image:none;filter:none}
/* Tunnel timeline follows normal page scrolling in both directions. */
.engine.engine-scrub{height:340svh;min-height:0;overflow:visible}
.engine-scrub .engine-stage{position:sticky;top:0;height:100svh;min-height:0;overflow:hidden}
.engine-scrub #engine-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0}
.engine-scrub .engine-stage>.tunnel-words{position:absolute;inset:0;pointer-events:none;z-index:2}
.tunnel-words span{position:absolute;left:50%;top:48%;white-space:nowrap;font:300 clamp(28px,4.7vw,78px)/1 Outfit,sans-serif;letter-spacing:-.045em;color:#fff;text-shadow:0 2px 20px #000a;opacity:0;will-change:transform,opacity}
.engine-scrub .engine-copy{position:absolute!important;bottom:7%;right:var(--edge);max-width:390px;font-size:14px;line-height:1.6;text-align:left}
.engine-scrub .scene-kicker{position:absolute!important;left:var(--edge);top:110px}
@media(max-width:900px){.engine.engine-scrub{height:300svh}.tunnel-words span{font-size:clamp(24px,6.3vw,42px)}.engine-scrub .engine-copy{left:24px;right:24px;bottom:6%;font-size:13px;max-width:none}.engine-scrub .scene-kicker{top:100px;left:24px}}
