:root{
  --bg:#090c12;
  --bg-2:#0d1119;
  --panel:#0f141e;
  --panel-2:#121824;
  --fg:#f5f4f0;
  --muted:#9da4ad;
  --muted-2:#6f7782;
  --line:rgba(255,255,255,.09);
  --line-hi:rgba(255,255,255,.18);
  --pad:clamp(18px,3.5vw,64px);
  --max:1510px;
  --ease:cubic-bezier(.22,.8,.18,1);
  --accent-rgb:69,214,255;
  --accent:rgb(var(--accent-rgb));
  --warm:#ff6f4a;
  --sun:#eebf5b;
  --violet:#9b77ff;
  --mint:#5beba4;
  --cyan:#45d6ff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;
  min-width:320px;
  background:
    linear-gradient(180deg,#080b10 0%,#0a0e15 42%,#090c12 100%);
  color:var(--fg);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5;
  overflow-x:clip;
}
body::selection{background:rgba(var(--accent-rgb),.25);color:#fff}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:14px;top:-60px;z-index:9999;padding:10px 14px;border-radius:999px;background:#fff;color:#000;transition:top .2s}
.skip-link:focus{top:14px}
.shell{width:min(calc(100% - var(--pad)*2),var(--max));margin-inline:auto}
.section-index,.eyebrow{font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.42)}
.section-index{display:inline-flex;align-items:center;gap:10px}
.section-index::after{content:"";width:34px;height:1px;background:linear-gradient(90deg,rgba(var(--accent-rgb),.7),transparent)}
h1,h2,h3,p{margin:0} h1,h2,h3{font-weight:510;letter-spacing:-.055em;line-height:.92} em{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic}
p{color:var(--muted)}
.reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity .78s var(--ease),transform .82s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid var(--line-hi);border-radius:999px;background:rgba(255,255,255,.025);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;overflow:hidden;transition:border-color .35s,transform .35s,background .35s,box-shadow .35s}
.button::before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 50% 120%,rgba(var(--accent-rgb),.24),transparent 62%);opacity:0;transition:opacity .35s;pointer-events:none}
.button:hover,.button:focus-visible{transform:translateY(-2px);border-color:rgba(var(--accent-rgb),.48);box-shadow:0 0 34px rgba(var(--accent-rgb),.13)}
.button:hover::before,.button:focus-visible::before{opacity:1}
.button--solid{background:linear-gradient(135deg,rgba(var(--accent-rgb),.22),rgba(255,255,255,.045));border-color:rgba(var(--accent-rgb),.38)}
.button--ghost{background:rgba(255,255,255,.018)}
.button--large{min-height:58px;padding-inline:24px;font-size:11px}
.text-link{display:inline-flex;align-items:center;gap:9px;color:#fff;font-size:12px;border-bottom:1px solid rgba(var(--accent-rgb),.45);padding-bottom:6px}

/* Fixed ambient: one dark page, active section feeds the glow. */
.page-ambient{position:fixed;inset:0;z-index:-5;pointer-events:none;overflow:hidden}
.page-ambient__glow{position:absolute;width:72vw;height:72vw;right:-24vw;top:12vh;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.15),rgba(var(--accent-rgb),.055) 28%,transparent 67%);transition:background .8s ease,transform 1s var(--ease);transform:translate3d(0,0,0)}
.page-ambient__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,black 20%,black 80%,transparent);opacity:.45}
.page-ambient__grain{position:absolute;inset:0;opacity:.045;background-image:radial-gradient(rgba(255,255,255,.65) .45px,transparent .55px);background-size:5px 5px;mix-blend-mode:soft-light}

.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px var(--pad);border-bottom:1px solid rgba(255,255,255,.055);background:linear-gradient(180deg,rgba(7,10,15,.92),rgba(7,10,15,.56));backdrop-filter:blur(10px);transition:background .35s,padding .35s}
.site-header.is-scrolled{background:rgba(7,10,15,.88);padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:11px;font-size:12px;letter-spacing:.035em;font-weight:600;white-space:nowrap}.brand img{width:34px;height:34px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 0 30px rgba(var(--accent-rgb),.13)}
.desktop-nav{display:flex;align-items:center;gap:3px}.desktop-nav a{padding:8px 11px;border-radius:999px;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.58);transition:color .25s,background .25s}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:#fff;background:rgba(255,255,255,.04)}.desktop-nav .nav-application{color:#fff;border:1px solid rgba(var(--accent-rgb),.28);background:linear-gradient(135deg,rgba(var(--accent-rgb),.12),rgba(255,255,255,.02))}
.menu-button{display:none;border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:999px;padding:9px 12px;align-items:center;gap:7px;color:#fff}.menu-button span{font-size:9px;text-transform:uppercase;letter-spacing:.14em}.menu-button i{display:block;width:13px;height:1px;background:#fff}.menu-button i+ i{margin-left:-20px;transform:translateY(4px)}
.mobile-menu{position:fixed;top:68px;right:12px;z-index:99;width:min(88vw,340px);padding:14px;border:1px solid var(--line);border-radius:20px;background:rgba(9,12,18,.96);backdrop-filter:blur(10px);box-shadow:0 30px 90px rgba(0,0,0,.48)}.mobile-menu nav{display:grid;gap:6px}.mobile-menu a{padding:12px;border-radius:13px;background:rgba(255,255,255,.025);color:rgba(255,255,255,.78);font-size:11px;letter-spacing:.04em}.mobile-menu p{font-size:11px;margin:13px 4px 2px;color:rgba(255,255,255,.4)}
.progress-rail{position:fixed;right:16px;top:50%;transform:translateY(-50%);z-index:60;display:grid;justify-items:center;gap:12px;pointer-events:none}.progress-rail__chapter,.progress-rail__version{writing-mode:vertical-rl;transform:rotate(180deg);font-size:7px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.32)}.progress-rail__track{width:1px;height:22vh;background:rgba(255,255,255,.09);overflow:hidden}.progress-rail__track i{display:block;width:100%;height:100%;transform:scaleY(0);transform-origin:top;background:linear-gradient(180deg,rgb(var(--accent-rgb)),rgba(var(--accent-rgb),.18));box-shadow:0 0 12px rgba(var(--accent-rgb),.4)}

.zone{position:relative;padding:15vh 0;isolation:isolate}.zone::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.28),transparent);opacity:.45}.zone.is-active::after{content:"";position:absolute;left:8%;right:8%;top:3.5vh;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.65),transparent);box-shadow:0 0 18px rgba(var(--accent-rgb),.36);pointer-events:none}

/* HERO */
.hero{min-height:100svh;padding-top:13vh;padding-bottom:8vh;display:flex;flex-direction:column;justify-content:center}.hero::before{display:none}.hero__meta{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:8px;text-transform:uppercase;letter-spacing:.17em;color:rgba(255,255,255,.36);margin-bottom:3vh}.hero__meta span:nth-child(2){text-align:center}.hero__meta span:last-child{text-align:right}.hero__identity{font-size:clamp(78px,13.1vw,216px);line-height:.76;letter-spacing:-.075em;font-weight:640;text-transform:uppercase}.hero__name{display:block;position:relative}.hero__name--christian{transform:translateX(-.5%)}.hero__name--pohler{text-align:right;color:rgba(255,255,255,.90);text-shadow:0 0 70px rgba(var(--accent-rgb),.08)}
.hero__lower{margin-top:5vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:clamp(40px,7vw,120px);align-items:center}.hero__copy{max-width:760px}.hero__copy h1{font-size:clamp(31px,3.6vw,62px);margin:13px 0 24px}.hero__copy h1 em{color:rgb(var(--accent-rgb));text-shadow:0 0 34px rgba(var(--accent-rgb),.16)}.hero__lead{max-width:650px;font-size:clamp(15px,1.18vw,19px);line-height:1.65}.hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.hero-reactor{position:relative;min-height:460px;aspect-ratio:1;max-width:560px;justify-self:end;transform-style:preserve-3d;perspective:900px}.reactor-svg{position:absolute;inset:7%;width:86%;height:86%;overflow:visible}.reactor-svg polygon,.reactor-svg line,.reactor-svg ellipse{fill:none;stroke:rgba(255,255,255,.12);stroke-width:1}.reactor-svg--back{animation:reactorSpin 28s linear infinite}.reactor-svg--front{animation:reactorSpinReverse 21s linear infinite}.reactor-orbit ellipse:nth-child(1){stroke:rgba(69,214,255,.22)}.reactor-orbit ellipse:nth-child(2){stroke:rgba(155,119,255,.20)}.reactor-orbit ellipse:nth-child(3){stroke:rgba(238,191,91,.18)}.reactor-nodes circle{fill:rgb(var(--accent-rgb));stroke:none;filter:drop-shadow(0 0 8px rgb(var(--accent-rgb)))}.reactor-core{position:absolute;left:50%;top:50%;width:108px;height:108px;transform:translate(-50%,-50%);border:1px solid rgba(var(--accent-rgb),.28);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(var(--accent-rgb),.22),rgba(var(--accent-rgb),.05) 48%,rgba(7,10,15,.55) 71%);box-shadow:0 0 60px rgba(var(--accent-rgb),.20),inset 0 0 28px rgba(var(--accent-rgb),.09)}.reactor-core::before,.reactor-core::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.09)}.reactor-core::before{inset:-28px}.reactor-core::after{inset:-55px}.reactor-core i{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 18px #fff;animation:coreOrbit 4.2s linear infinite;transform-origin:54px 54px;left:50%;top:0}.reactor-core span{font-size:25px;font-weight:700;letter-spacing:-.06em}.reactor-scan{position:absolute;left:16%;right:16%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--accent-rgb)),transparent);box-shadow:0 0 16px rgba(var(--accent-rgb),.4);animation:reactorScan 5.5s ease-in-out infinite}.hero-reactor__hud{position:absolute;z-index:3;min-width:118px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);background:rgba(9,12,18,.7);box-shadow:0 0 28px rgba(var(--accent-rgb),.04)}.hero-reactor__hud span,.hero-reactor__hud strong{display:block;font-size:7px;letter-spacing:.15em;text-transform:uppercase}.hero-reactor__hud span{color:rgba(255,255,255,.34)}.hero-reactor__hud strong{color:rgba(255,255,255,.72);margin-top:3px}.hero-reactor__hud--a{left:0;top:18%}.hero-reactor__hud--b{right:0;top:38%}.hero-reactor__hud--c{left:8%;bottom:12%}.hero__enter{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.28);font-size:7px;letter-spacing:.17em}.hero__enter i{width:45px;height:1px;background:linear-gradient(90deg,rgba(var(--accent-rgb),.5),transparent);animation:enterPulse 1.8s ease-in-out infinite}
@keyframes reactorSpin{to{transform:rotate(360deg)}}@keyframes reactorSpinReverse{to{transform:rotate(-360deg)}}@keyframes reactorScan{0%,100%{transform:translateY(-145px);opacity:.1}50%{transform:translateY(145px);opacity:.75}}@keyframes coreOrbit{to{transform:rotate(360deg)}}@keyframes enterPulse{50%{width:74px;opacity:.4}}

/* POSITION */
.position__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:clamp(50px,8vw,130px);align-items:end}.position h2{font-size:clamp(52px,7.3vw,118px);margin-top:20px;max-width:1100px}.position h2 em{color:rgb(var(--accent-rgb));text-shadow:0 0 36px rgba(var(--accent-rgb),.12)}.position__copy{padding-bottom:1vh;display:grid;gap:22px}.position__copy p{font-size:clamp(15px,1.18vw,19px);line-height:1.68}

/* SYSTEM INTRO */
.systems__intro,.process__intro,.film__intro,.quality__intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.65fr);gap:clamp(50px,8vw,130px);align-items:end;margin-bottom:8vh}.systems__intro h2,.process__intro h2,.film__intro h2,.quality__intro h2{font-size:clamp(52px,6.8vw,110px);margin-top:18px}.systems__intro h2 em,.process__intro h2 em,.film__intro h2 em,.quality__intro h2 em{color:rgb(var(--accent-rgb));text-shadow:0 0 40px rgba(var(--accent-rgb),.10)}.systems__intro>p,.process__intro>p,.film__intro>p,.quality__intro>p{font-size:clamp(14px,1.08vw,18px);line-height:1.68}
.domain-sequence{margin-top:2vh}.domain-chapter{position:relative;height:185vh}.domain-stage{--domain-rgb:255,255,255;position:sticky;top:70px;height:calc(100svh - 70px);width:min(calc(100% - var(--pad)*2),var(--max));margin-inline:auto;display:grid;grid-template-columns:minmax(330px,.88fr) minmax(0,1.12fr);gap:clamp(35px,5vw,80px);align-items:center;padding:clamp(26px,4vw,62px);overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.075);background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.015));box-shadow:0 28px 100px rgba(0,0,0,.38);transition:border-color .35s}.domain-chapter--film .domain-stage{--domain-rgb:255,111,74}.domain-chapter--brand .domain-stage{--domain-rgb:238,191,91}.domain-chapter--digital .domain-stage{--domain-rgb:69,214,255}.domain-stage::before{content:"";position:absolute;width:65%;aspect-ratio:1;right:-20%;top:50%;transform:translateY(-50%) scale(calc(.72 + .28 * var(--open,0)));border-radius:50%;background:radial-gradient(circle,rgba(var(--domain-rgb),.16),rgba(var(--domain-rgb),.05) 32%,transparent 68%);opacity:calc(.22 + .32 * var(--open,0));z-index:-2}.domain-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(var(--domain-rgb),.025),transparent 28%,transparent 72%,rgba(var(--domain-rgb),.03));pointer-events:none;z-index:-1}.domain-stage__frame{position:absolute;inset:15px;pointer-events:none}.domain-stage__frame i{position:absolute;width:34px;height:34px;border-color:rgba(var(--domain-rgb),.45);border-style:solid;opacity:.55}.domain-stage__frame i:nth-child(1){left:0;top:0;border-width:1px 0 0 1px}.domain-stage__frame i:nth-child(2){right:0;top:0;border-width:1px 1px 0 0}.domain-stage__frame i:nth-child(3){right:0;bottom:0;border-width:0 1px 1px 0}.domain-stage__frame i:nth-child(4){left:0;bottom:0;border-width:0 0 1px 1px}.domain-stage__visual{position:relative;height:min(68vh,710px);border:1px solid rgba(255,255,255,.07);background:rgba(5,8,12,.36);overflow:hidden;transform:translate3d(calc(-28px + 28px * var(--open,0)),0,0);opacity:calc(.45 + .55 * var(--open,0));transition:border-color .35s}.domain-stage__visual::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at center,black 30%,transparent 85%);pointer-events:none}.domain-stage__copy{position:relative;z-index:3;transform:translate3d(calc(30px - 30px * var(--open,0)),0,0);opacity:calc(.5 + .5 * var(--open,0))}.domain-stage__meta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;font-size:7px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:7vh}.domain-stage__meta i{height:1px;background:linear-gradient(90deg,rgba(var(--domain-rgb),.75),rgba(255,255,255,.05))}.domain-stage__copy h3{font-size:clamp(66px,8.5vw,142px);color:#fff}.domain-stage__lead{font-size:clamp(15px,1.15vw,19px);line-height:1.65;max-width:620px;margin-top:28px}.domain-stage__features{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.domain-stage__features span{padding:8px 10px;border:1px solid rgba(255,255,255,.09);border-radius:999px;font-size:7px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.54);background:rgba(255,255,255,.015)}.domain-stage__promise{margin-top:28px;color:rgb(var(--domain-rgb));font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(21px,2vw,32px);text-shadow:0 0 22px rgba(var(--domain-rgb),.14)}.domain-stage__status{position:absolute;right:28px;bottom:24px;display:flex;align-items:center;gap:10px;font-size:7px;text-transform:uppercase;letter-spacing:.17em;color:rgba(255,255,255,.32)}.domain-stage__status strong{font-weight:500;color:rgba(var(--domain-rgb),.78)}
/* film visual machine */
.film-machine,.brand-machine,.digital-machine{position:absolute;inset:0}.film-machine__aperture{position:absolute;left:50%;top:48%;width:42%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 6vw rgba(255,255,255,.008),0 0 60px rgba(255,111,74,.12)}.film-machine__aperture i{position:absolute;left:50%;top:50%;width:47%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,111,74,.55),transparent);transform-origin:left center}.film-machine__aperture i:nth-child(1){transform:rotate(0deg)}.film-machine__aperture i:nth-child(2){transform:rotate(60deg)}.film-machine__aperture i:nth-child(3){transform:rotate(120deg)}.film-machine__aperture i:nth-child(4){transform:rotate(180deg)}.film-machine__aperture i:nth-child(5){transform:rotate(240deg)}.film-machine__aperture i:nth-child(6){transform:rotate(300deg)}.film-machine__timeline{position:absolute;left:8%;right:8%;bottom:10%;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.film-machine__timeline i{height:4px;background:rgba(255,255,255,.08);overflow:hidden}.film-machine__timeline i::after{content:"";display:block;height:100%;width:60%;background:rgb(var(--domain-rgb));box-shadow:0 0 10px rgba(var(--domain-rgb),.3);animation:timelinePulse 2.4s ease-in-out infinite alternate}.film-machine__timeline i:nth-child(2)::after{animation-delay:-.5s}.film-machine__timeline i:nth-child(3)::after{animation-delay:-1s}.film-machine__timeline i:nth-child(4)::after{animation-delay:-1.5s}.film-machine__timeline i:nth-child(5)::after{animation-delay:-2s}.film-machine__frames span{position:absolute;border:1px solid rgba(255,255,255,.09)}.film-machine__frames span:nth-child(1){left:10%;top:14%;width:30%;height:24%;transform:rotate(-5deg)}.film-machine__frames span:nth-child(2){right:8%;top:18%;width:32%;height:28%;transform:rotate(7deg)}.film-machine__frames span:nth-child(3){right:15%;bottom:22%;width:28%;height:18%;transform:rotate(-3deg)}.film-machine__wave{position:absolute;left:12%;right:12%;top:48%;display:flex;align-items:center;justify-content:center;gap:6px}.film-machine__wave i{width:2px;height:30px;background:rgba(255,111,74,.6);box-shadow:0 0 8px rgba(255,111,74,.25);animation:wave 1.4s ease-in-out infinite alternate}.film-machine__wave i:nth-child(2){height:60px;animation-delay:-.2s}.film-machine__wave i:nth-child(3){height:42px;animation-delay:-.4s}.film-machine__wave i:nth-child(4){height:82px;animation-delay:-.6s}.film-machine__wave i:nth-child(5){height:68px;animation-delay:-.8s}.film-machine__wave i:nth-child(6){height:48px;animation-delay:-1s}.film-machine__wave i:nth-child(7){height:72px;animation-delay:-1.2s}.film-machine__wave i:nth-child(8){height:34px;animation-delay:-1.4s}.film-machine small,.brand-machine small,.digital-machine small{position:absolute;left:7%;top:7%;font-size:7px;letter-spacing:.18em;color:rgba(255,255,255,.36)}
/* brand machine */
.brand-machine__axis{position:absolute;background:linear-gradient(90deg,transparent,rgba(238,191,91,.22),transparent)}.brand-machine__axis--x{left:10%;right:10%;top:50%;height:1px}.brand-machine__axis--y{top:10%;bottom:10%;left:50%;width:1px;background:linear-gradient(180deg,transparent,rgba(238,191,91,.22),transparent)}.brand-machine__orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(255,255,255,.09);border-radius:50%;transform:translate(-50%,-50%)}.brand-machine__orbit--1{width:52%;aspect-ratio:1;animation:brandOrbit 12s linear infinite}.brand-machine__orbit--2{width:34%;aspect-ratio:1;border-color:rgba(238,191,91,.24);animation:brandOrbit 8s linear infinite reverse}.brand-machine__glyph{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(44px,5vw,86px);letter-spacing:-.07em;font-weight:620;color:rgba(255,255,255,.86);text-shadow:0 0 34px rgba(238,191,91,.12)}.brand-machine__node{position:absolute;width:13px;height:13px;border-radius:50%;background:rgb(var(--domain-rgb));box-shadow:0 0 20px rgba(var(--domain-rgb),.6)}.brand-machine__node--a{left:22%;top:30%}.brand-machine__node--b{right:21%;top:42%}.brand-machine__node--c{left:44%;bottom:18%}
/* digital machine */
.digital-machine__screen{position:absolute;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(69,214,255,.055),rgba(255,255,255,.015));box-shadow:0 20px 50px rgba(0,0,0,.2);transition:transform .5s}.digital-machine__screen span{position:absolute;right:12px;top:10px;font-size:7px;letter-spacing:.14em;color:rgba(255,255,255,.35)}.digital-machine__screen--a{left:14%;top:18%;width:62%;height:48%;transform:perspective(600px) rotateY(8deg) rotateX(3deg)}.digital-machine__screen--b{right:12%;top:28%;width:50%;height:44%;transform:perspective(600px) rotateY(-8deg) translateZ(20px)}.digital-machine__screen--c{left:21%;bottom:13%;width:55%;height:30%;transform:perspective(600px) rotateX(-5deg)}.digital-machine__mesh{position:absolute;inset:12%;background-image:linear-gradient(rgba(69,214,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(69,214,255,.06) 1px,transparent 1px);background-size:30px 30px;transform:perspective(560px) rotateX(55deg) rotateZ(-9deg);transform-origin:center bottom;opacity:.7}.digital-machine__cursor{position:absolute;width:24px;height:24px;border:1px solid rgba(69,214,255,.55);border-radius:50%;left:54%;top:42%;box-shadow:0 0 26px rgba(69,214,255,.25);animation:cursorDrift 5s var(--ease) infinite alternate}.digital-machine__pulse{position:absolute;left:50%;top:50%;width:120px;height:120px;transform:translate(-50%,-50%);border:1px solid rgba(69,214,255,.25);border-radius:50%;box-shadow:0 0 40px rgba(69,214,255,.18);animation:digitalPulse 3.5s ease-in-out infinite}
@keyframes timelinePulse{to{width:100%;opacity:.35}}@keyframes wave{to{transform:scaleY(.28);opacity:.25}}@keyframes brandOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes cursorDrift{to{transform:translate(80px,60px) scale(.7)}}@keyframes digitalPulse{50%{transform:translate(-50%,-50%) scale(1.35);opacity:.3}}
.cross-skills{margin-top:4vh;padding:24px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,100px);align-items:start}.cross-skills h3{font-size:clamp(28px,3.2vw,50px);margin-top:15px}.cross-skills__tags{display:flex;flex-wrap:wrap;gap:8px}.cross-skills__tags span{border:1px solid var(--line);border-radius:999px;padding:8px 10px;font-size:7px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.46);background:rgba(255,255,255,.016)}

/* PROCESS */
.process-system{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.process-system__path{position:absolute;left:10%;right:10%;top:52px;height:1px;background:rgba(255,255,255,.07);z-index:-1}.process-system__path i{display:block;width:60%;height:1px;background:linear-gradient(90deg,rgb(var(--accent-rgb)),rgba(var(--accent-rgb),.1));box-shadow:0 0 14px rgba(var(--accent-rgb),.2);animation:processFlow 5s ease-in-out infinite alternate}.process-system article{min-height:320px;padding:24px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.012));position:relative;overflow:hidden}.process-system article::after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-70px;bottom:-70px;background:radial-gradient(circle,rgba(var(--accent-rgb),.1),transparent 70%)}.process-system article>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(var(--accent-rgb),.28);border-radius:50%;font-size:8px;color:rgba(255,255,255,.7);box-shadow:0 0 24px rgba(var(--accent-rgb),.08)}.process-system h3{font-size:clamp(34px,3vw,50px);margin:65px 0 18px}.process-system p{line-height:1.65}.process-system small{display:block;margin-top:22px;font-size:7px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.35)}@keyframes processFlow{to{width:100%}}

/* WORK: old visual language + v0.1 overlapping stack, with slower chapters. */
.work__intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.7fr);gap:clamp(50px,8vw,130px);align-items:end;margin-bottom:9vh}.work__intro h2{font-size:clamp(56px,7.4vw,122px);margin-top:18px}.work__intro h2 em{color:rgb(var(--accent-rgb));text-shadow:0 0 38px rgba(var(--accent-rgb),.12)}.work__intro>p{font-size:clamp(14px,1.08vw,18px);line-height:1.68}.work-stack{width:min(calc(100% - var(--pad)*2),var(--max));margin-inline:auto;position:relative;padding-bottom:10vh}.work-case{position:relative;height:176vh;z-index:calc(10 + var(--case-index,0))}.work-case__sticky{--case-rgb:200,231,255;position:sticky;top:74px;height:calc(100svh - 88px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:clamp(28px,4vw,70px);align-items:center;padding:clamp(18px,2.6vw,38px);overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(12,16,23,.98),rgba(8,11,17,.98));box-shadow:0 28px 110px rgba(0,0,0,.48),0 0 60px rgba(var(--case-rgb),.035);transform:translate3d(0,calc((1 - var(--case-open,1))*18vh),0) scale(calc(.94 + .06*var(--case-open,1)));transform-origin:center bottom;transition:border-color .3s}.work-case.is-active .work-case__sticky{border-color:rgba(var(--case-rgb),.28);box-shadow:0 30px 120px rgba(0,0,0,.52),0 0 76px rgba(var(--case-rgb),.065)}.work-case__sticky::before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(56vw 56vw at 76% 44%,rgba(var(--case-rgb),.055),transparent 63%)}.work-case__preview{position:relative;height:min(73vh,800px);overflow:hidden;border:1px solid rgba(255,255,255,.09);transform:translate3d(calc(var(--case-shift,0)*-18px),0,0);box-shadow:0 20px 70px rgba(0,0,0,.35)}.work-case__preview::after{content:"";position:absolute;inset:0;border:1px solid rgba(var(--case-rgb),.0);transition:border-color .35s;pointer-events:none}.work-case.is-active .work-case__preview::after{border-color:rgba(var(--case-rgb),.22)}.work-case__copy{position:relative;z-index:3;padding-right:2vw;transform:translate3d(calc(var(--case-shift,0)*18px),0,0);opacity:calc(.56 + .44*var(--case-focus,1))}.work-case__meta{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;font-size:7px;text-transform:uppercase;letter-spacing:.17em;color:rgba(255,255,255,.36);margin-bottom:7vh}.work-case__meta i{height:1px;background:linear-gradient(90deg,rgba(var(--case-rgb),.75),rgba(255,255,255,.05))}.work-case__copy h3{font-size:clamp(54px,5.7vw,96px);margin:14px 0 28px}.work-case__copy>p{font-size:clamp(14px,1.1vw,18px);line-height:1.65;max-width:580px}.work-case__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.work-case__counter{position:absolute;right:2.4vw;bottom:-.12em;font-size:clamp(150px,22vw,330px);line-height:.78;font-weight:700;letter-spacing:-.08em;color:rgba(255,255,255,.035);z-index:-1;pointer-events:none}.work-case__rail{position:absolute;right:14px;top:20%;bottom:20%;display:grid;justify-items:center;gap:10px}.work-case__rail span,.work-case__rail b{writing-mode:vertical-rl;transform:rotate(180deg);font-size:6px;letter-spacing:.17em;font-weight:500;color:rgba(255,255,255,.28)}.work-case__rail i{width:1px;height:100%;background:linear-gradient(180deg,rgba(var(--case-rgb),.78),rgba(var(--case-rgb),.08));box-shadow:0 0 10px rgba(var(--case-rgb),.25)}.work-case__rail b{color:rgba(var(--case-rgb),.64)}.mech-frame{position:absolute;inset:12px;pointer-events:none;z-index:6}.mech-frame i{position:absolute;width:42px;height:42px;border-style:solid;border-color:rgba(var(--case-rgb),.38)}.mech-frame i:nth-child(1){left:0;top:0;border-width:1px 0 0 1px}.mech-frame i:nth-child(2){right:0;top:0;border-width:1px 1px 0 0}.mech-frame i:nth-child(3){right:0;bottom:0;border-width:0 1px 1px 0}.mech-frame i:nth-child(4){left:0;bottom:0;border-width:0 0 1px 1px}
/* Keep the proven preview visuals from the previous redesign */
.preview-amigos{background:linear-gradient(135deg,#db705b 0 46%,#8ea88f 46% 100%);padding:clamp(28px,4vw,62px)}.preview-amigos strong{position:relative;z-index:3;display:flex;flex-direction:column;font-size:clamp(58px,7vw,118px);line-height:.72;letter-spacing:-.075em;font-weight:640;color:#241b18}.preview-amigos strong span:nth-child(2){padding-left:9%}.preview-amigos strong span:nth-child(3){padding-left:18%}.preview-amigos b{position:absolute;right:18px;bottom:10px;font-size:clamp(90px,12vw,180px);line-height:.7;color:rgba(36,27,24,.08);letter-spacing:-.08em}.amigos-motion{position:absolute;right:8%;top:20%;display:grid;grid-template-columns:repeat(2,76px);gap:10px;transform:rotate(8deg)}.amigos-motion i{aspect-ratio:1;border-radius:50%;background:#f2d674;animation:amigoFloat 5.2s ease-in-out infinite}.amigos-motion i:nth-child(2){background:#1e1d1a;animation-delay:-1.1s}.amigos-motion i:nth-child(3){background:#f4e8db;animation-delay:-2.2s}.amigos-motion i:nth-child(4){background:#97b79c;animation-delay:-3.3s}@keyframes amigoFloat{50%{transform:translateY(-13px) scale(1.06)}}
.preview-faia{background:radial-gradient(circle at 66% 35%,rgba(255,205,93,.85) 0 8%,transparent 9%),linear-gradient(135deg,#c9350b 0%,#8f170d 56%,#28100e 100%);padding:clamp(30px,4vw,64px)}.preview-faia::before{content:"";position:absolute;width:52%;aspect-ratio:1;right:5%;top:7%;border-radius:50%;border:1px solid rgba(255,230,166,.15);box-shadow:0 0 0 6vw rgba(255,189,74,.025),0 0 70px rgba(255,145,55,.14)}.preview-faia strong{position:absolute;left:7%;bottom:17%;font-size:clamp(72px,8.2vw,136px);line-height:.74;letter-spacing:-.075em}.preview-faia b{position:absolute;right:3%;bottom:2%;font-size:clamp(74px,10vw,160px);line-height:.7;color:rgba(255,255,255,.045);letter-spacing:-.07em}.faia-sun{position:absolute;width:16%;aspect-ratio:1;right:26%;top:24%;border-radius:50%;background:#ffcf61;box-shadow:0 0 50px rgba(255,189,74,.36)}.faia-switch{position:absolute;right:12%;top:12%;display:flex;align-items:center;gap:9px;font-size:6px;letter-spacing:.15em;color:rgba(255,255,255,.68)}.faia-switch i{position:relative;width:40px;height:15px;border:1px solid rgba(255,255,255,.2);border-radius:999px}.faia-switch i::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;left:3px;top:2px;background:#ffcf61;box-shadow:0 0 12px rgba(255,207,97,.55);animation:faiaToggle 3.8s ease-in-out infinite alternate}@keyframes faiaToggle{to{transform:translateX(23px)}}
.preview-hvc{background:radial-gradient(circle at 76% 35%,rgba(229,85,255,.18),transparent 28%),linear-gradient(135deg,#120819,#07070a 68%);padding:clamp(30px,4vw,64px)}.preview-hvc strong{position:relative;z-index:3;display:flex;flex-direction:column;font-size:clamp(58px,7vw,118px);line-height:.72;letter-spacing:-.075em;font-weight:640}.preview-hvc strong span:nth-child(2){padding-left:10%}.preview-hvc strong span:nth-child(3){padding-left:23%;color:#e8a8ff}.preview-hvc b{position:absolute;right:20px;bottom:14px;font-size:clamp(70px,10vw,160px);line-height:.7;letter-spacing:-.08em;color:rgba(255,255,255,.045)}.hvc-signal{position:absolute;right:7%;top:11%;width:38%;aspect-ratio:1;border:1px solid rgba(232,129,255,.16);border-radius:50%;animation:hvcOrbit 14s linear infinite}.hvc-signal i{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08)}.hvc-signal i:nth-child(1){inset:18%}.hvc-signal i:nth-child(2){inset:36%}.hvc-signal i:nth-child(3){width:7px;height:7px;right:12%;top:22%;background:#e881ff;box-shadow:0 0 28px rgba(232,129,255,.8)}@keyframes hvcOrbit{to{transform:rotate(360deg)}}
.preview-loving{background:radial-gradient(circle at 73% 34%,rgba(255,255,255,.7),transparent 24%),linear-gradient(145deg,#efe8d7,#bbc2a4 68%);padding:clamp(30px,4vw,64px);color:#27231b}.preview-loving strong{position:relative;z-index:3;display:flex;flex-direction:column;font-size:clamp(52px,6.5vw,106px);line-height:.8;letter-spacing:-.06em;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;color:#2e3427}.preview-loving strong span:nth-child(2){padding-left:12%}.preview-loving strong span:nth-child(3){padding-left:27%}.preview-loving b{position:absolute;right:20px;bottom:14px;font-size:clamp(90px,12vw,190px);line-height:.7;color:rgba(46,52,39,.06)}.loving-orbit{position:absolute;right:8%;top:16%;width:210px;height:210px;border:1px solid rgba(55,65,47,.16);border-radius:50%;animation:lovingBreath 7s ease-in-out infinite}.loving-orbit i{position:absolute;border-radius:50%;border:1px solid rgba(55,65,47,.12)}.loving-orbit i:first-child{inset:22%}.loving-orbit i:last-child{inset:43%;background:rgba(55,65,47,.08)}@keyframes lovingBreath{50%{transform:scale(1.08);opacity:.65}}
.preview-ergo{background:linear-gradient(145deg,#ece9df 0 42%,#cbdad5 42% 70%,#9fbeb5 70%);padding:clamp(30px,4vw,64px);color:#233a35}.preview-ergo strong{position:relative;z-index:3;display:flex;flex-direction:column;font-size:clamp(62px,7vw,118px);line-height:.75;letter-spacing:-.07em;font-weight:650;color:#233a35}.preview-ergo b{position:absolute;right:22px;bottom:16px;font-size:11px;letter-spacing:.18em;color:rgba(35,58,53,.4)}.ergo-line{position:absolute;right:10%;bottom:18%;display:flex;gap:8px;align-items:flex-end}.ergo-line i{width:4px;height:60px;background:#233a35;opacity:.24;animation:ergoPulse 1.8s ease-in-out infinite alternate}.ergo-line i:nth-child(2){height:100px;animation-delay:-.6s}.ergo-line i:nth-child(3){height:38px;animation-delay:-1.2s}@keyframes ergoPulse{to{transform:scaleY(.45);opacity:.1}}
.work__outro{min-height:55vh;display:grid;grid-template-columns:.6fr 1.2fr auto;gap:36px;align-items:center;border-top:1px solid var(--line)}.work__outro h3{font-size:clamp(52px,7vw,112px)}.work__outro h3 em{color:rgb(var(--accent-rgb))}.work__outro .text-link{justify-self:end}

/* FILM */
.film-sequence{margin-top:4vh}.film-chapter{height:160vh;position:relative}.film-chapter__sticky{position:sticky;top:76px;height:calc(100svh - 90px);display:grid;grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);gap:clamp(28px,5vw,84px);align-items:center}.film-copy h3{font-size:clamp(52px,5.6vw,96px);margin:18px 0 24px}.film-copy h3 em{color:rgb(var(--accent-rgb))}.film-copy>p{font-size:clamp(14px,1.08vw,18px);line-height:1.65}.film-copy__meta{font-size:7px;text-transform:uppercase;letter-spacing:.17em;color:rgba(255,255,255,.36)}.film-copy__tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:23px}.film-copy__tags span{font-size:7px;text-transform:uppercase;letter-spacing:.14em;border:1px solid var(--line);border-radius:999px;padding:7px 9px;color:rgba(255,255,255,.45)}
.cp-video{--case-rgb:255,120,76;position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;aspect-ratio:16/10;border:1px solid rgba(255,255,255,.1);background:#05070b;overflow:hidden;isolation:isolate;box-shadow:0 28px 100px rgba(0,0,0,.44);transition:width .6s var(--ease),height .6s var(--ease),border-radius .6s var(--ease),box-shadow .6s var(--ease)}.cp-video__stage{position:relative;min-height:0;overflow:hidden;background:#07090d}.cp-video__host,.cp-video__host iframe{position:absolute;inset:0;width:100%;height:100%}.cp-video__host iframe{border:0}.cp-video__host::before,.cp-video__host::after{content:"";position:absolute;left:0;right:0;z-index:3;pointer-events:none}.cp-video__host::before{top:0;height:36px;background:linear-gradient(180deg,rgba(3,3,3,.78),transparent)}.cp-video__host::after{bottom:0;height:40px;background:linear-gradient(0deg,rgba(3,3,3,.78),transparent)}.cp-video__poster{position:absolute;inset:0;z-index:4;padding:clamp(24px,3vw,48px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#0a0a0a;transition:opacity .38s,visibility .38s}.cp-video__poster.is-hidden{opacity:0;visibility:hidden}.cp-video__poster::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.82));pointer-events:none}.cp-video__poster-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.8) contrast(1.05) brightness(.74)}.cp-video__poster>span,.cp-video__poster>strong,.cp-video__poster>small{position:relative;z-index:2}.cp-video__poster>span{font-size:7px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.64)}.cp-video__poster>strong{font-size:clamp(46px,6.4vw,100px);line-height:.8;letter-spacing:-.07em;margin:10px 0 14px}.cp-video__poster>small{font-size:8px;letter-spacing:.08em;color:rgba(255,255,255,.42)}.cp-video__poster--volkshilfe{background:#170a08}.cp-video__poster--caa{background:radial-gradient(circle at 70% 20%,rgba(255,196,128,.3),transparent 25%),linear-gradient(135deg,#24130f,#090b0f 68%)}.cp-video__poster-gadget{position:absolute;right:8%;top:13%;width:34%;aspect-ratio:1;border:1px solid rgba(255,255,255,.1);z-index:2;transform:rotate(8deg)}.cp-video__poster-gadget::before,.cp-video__poster-gadget::after{content:"";position:absolute;inset:15%;border:1px solid rgba(255,255,255,.07)}.cp-video__poster-gadget::after{inset:32%;border-color:rgba(var(--case-rgb),.26);box-shadow:0 0 34px rgba(var(--case-rgb),.12)}.cp-video__center{position:absolute;left:50%;top:50%;z-index:6;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(6,8,12,.48);backdrop-filter:blur(8px);color:#fff;cursor:pointer;transition:opacity .25s,transform .25s,border-color .25s}.cp-video__center:hover{transform:translate(-50%,-50%) scale(1.06);border-color:rgba(var(--case-rgb),.5)}.cp-video.is-playing .cp-video__center{opacity:0}.cp-video__stage:hover .cp-video__center{opacity:1}.cp-video__controls{position:relative;z-index:8;display:flex;align-items:center;gap:10px;min-height:54px;padding:0 12px;border-top:1px solid rgba(255,255,255,.07);background:rgba(5,7,10,.96);transition:opacity .32s,transform .32s}.cp-video.is-playing.controls-hidden .cp-video__controls{opacity:0;transform:translateY(100%);pointer-events:none}.cp-video__controls button{border:0;background:none;color:rgba(255,255,255,.66);font-size:7px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;padding:7px}.cp-video__controls button:hover{color:#fff}.cp-video__progress{position:relative;flex:1;height:16px!important;padding:7px 0!important;cursor:pointer!important}.cp-video__progress::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(255,255,255,.16)}.cp-video__progress i{position:absolute;left:0;top:50%;height:1px;width:0;background:linear-gradient(90deg,rgb(var(--case-rgb)),rgba(255,255,255,.82));box-shadow:0 0 12px rgba(var(--case-rgb),.28)}.cp-video__time{min-width:74px;font-size:8px;letter-spacing:.07em;color:rgba(255,255,255,.46);font-variant-numeric:tabular-nums}.cp-video__volume{width:78px;display:flex;align-items:center}.cp-video__volume input{width:100%;accent-color:rgb(var(--case-rgb))}
.video-lightbox[hidden]{display:none!important}.video-lightbox{position:fixed;inset:0;z-index:2147483000;opacity:0;pointer-events:none;transition:opacity .75s ease}.video-lightbox.is-visible{opacity:1;pointer-events:auto}.video-lightbox__backdrop{position:absolute;inset:0;background:rgba(1,2,4,.985)}.video-lightbox__backdrop::before,.video-lightbox__backdrop::after{content:"";position:absolute;left:0;right:0;height:25vh;background:linear-gradient(180deg,#000,rgba(0,0,0,.4),transparent);transition:transform 1s var(--ease)}.video-lightbox__backdrop::before{top:0;transform:translateY(-100%)}.video-lightbox__backdrop::after{bottom:0;transform:translateY(100%) rotate(180deg)}.video-lightbox.is-visible .video-lightbox__backdrop::before,.video-lightbox.is-visible .video-lightbox__backdrop::after{transform:translateY(0)}.video-lightbox.is-visible .video-lightbox__backdrop::after{transform:translateY(0) rotate(180deg)}.video-lightbox__close{position:fixed;top:20px;right:22px;z-index:2147483647;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:rgba(10,12,17,.72);color:#fff;font-size:28px;cursor:pointer;transition:transform .25s,border-color .25s}.video-lightbox__close:hover{transform:rotate(8deg) scale(1.05);border-color:rgba(var(--accent-rgb),.55)}.cp-video.is-enlarged{position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;width:var(--video-enlarged-width)!important;height:var(--video-enlarged-height)!important;min-height:0!important;transform:translate(-50%,-50%)!important;z-index:2147483646!important;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 40px 150px rgba(0,0,0,.9),0 0 80px rgba(var(--case-rgb),.08);animation:cinemaScreenIn .9s var(--ease);background:#000}.video-layer-open{overflow:visible!important;transform:none!important;filter:none!important;clip-path:none!important;contain:none!important;isolation:auto!important;z-index:auto!important}.video-modal-open{overflow:hidden}.video-modal-open-root .video-layer-open{position:static!important;transform:none!important;filter:none!important;backdrop-filter:none!important;contain:none!important;clip-path:none!important;isolation:auto!important;overflow:visible!important}.video-modal-open-root .cp-video.is-enlarged{position:fixed!important}.video-modal-open-root .cp-video.is-enlarged .cp-video__stage{z-index:1!important}.video-modal-open-root .cp-video.is-enlarged .cp-video__controls{z-index:20!important}.cp-video:fullscreen{width:100vw!important;height:100vh!important;aspect-ratio:auto;border:0;background:#000}.cp-video:fullscreen .cp-video__stage{height:calc(100vh - 58px)}@keyframes cinemaScreenIn{0%{opacity:.15;transform:translate(-50%,-50%) scale(.72);border-radius:34px;filter:brightness(.25)}55%{filter:brightness(.65)}100%{opacity:1;transform:translate(-50%,-50%) scale(1);border-radius:0;filter:brightness(1)}}
.frames{margin-top:4vh;padding-top:30px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(300px,.6fr) minmax(0,1.4fr);gap:clamp(35px,6vw,80px);align-items:end}.frames__copy h3{font-size:clamp(30px,3.8vw,58px);margin:14px 0 18px}.frames__copy h3 em{color:rgb(var(--accent-rgb))}.frames__strip{display:grid;grid-template-columns:1fr .8fr 1.15fr;gap:8px;align-items:end}.frames__strip figure{margin:0;overflow:hidden;border:1px solid var(--line);background:#080b10}.frames__strip figure:nth-child(1){height:330px}.frames__strip figure:nth-child(2){height:260px}.frames__strip figure:nth-child(3){height:390px}.frames__strip img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.02);transition:transform .8s var(--ease),filter .6s}.frames__strip figure:hover img{transform:scale(1.045);filter:saturate(1) contrast(1.03)}

/* QUALITY */
.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quality-card{min-height:310px;padding:22px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012));position:relative;overflow:hidden}.quality-card::after{content:"";position:absolute;width:180px;height:180px;right:-80px;bottom:-80px;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.12),transparent 68%)}.quality-card>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(var(--accent-rgb),.28);border-radius:50%;font-size:7px;color:rgba(255,255,255,.65)}.quality-card h3{font-size:clamp(25px,2.1vw,38px);margin:74px 0 16px}.quality-card p{line-height:1.6}

/* ABOUT */
.about__grid,.lab__grid,.contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.85fr);gap:clamp(50px,8vw,120px);align-items:center}.about__copy h2{font-size:clamp(48px,5.8vw,96px);margin:17px 0 28px}.about__copy h2 em{color:rgb(var(--accent-rgb));text-shadow:0 0 36px rgba(var(--accent-rgb),.1)}.about__copy>p{font-size:clamp(14px,1.08vw,18px);line-height:1.68;max-width:780px}.about-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:34px}.about-steps article{padding:18px;border:1px solid var(--line);background:rgba(255,255,255,.015)}.about-steps span{font-size:7px;color:rgba(var(--accent-rgb),.7);letter-spacing:.16em}.about-steps strong{display:block;font-size:20px;margin:26px 0 8px}.about-steps p{font-size:12px}.about-machine{position:relative;min-height:560px;border:1px solid var(--line);overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(var(--accent-rgb),.09),transparent 35%),rgba(255,255,255,.012)}.about-machine__mesh{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at center,black 20%,transparent 78%)}.about-machine__node{position:absolute;width:16px;height:16px;border-radius:50%;background:rgb(var(--accent-rgb));box-shadow:0 0 28px rgba(var(--accent-rgb),.65)}.about-machine__node--1{left:21%;top:25%}.about-machine__node--2{right:18%;top:38%;animation:aboutFloat 5s ease-in-out infinite alternate}.about-machine__node--3{left:48%;bottom:18%;animation:aboutFloat 6s ease-in-out infinite alternate-reverse}.about-machine__beam{position:absolute;left:15%;right:15%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.55),transparent);transform:rotate(-14deg);box-shadow:0 0 18px rgba(var(--accent-rgb),.18)}.about-machine__word{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(40px,5vw,80px);line-height:.78;letter-spacing:-.06em;text-align:center;color:rgba(255,255,255,.84);text-shadow:0 0 34px rgba(var(--accent-rgb),.1)}.about-machine__status{position:absolute;left:18px;bottom:16px;display:flex;gap:11px;align-items:center;font-size:7px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.36)}.about-machine__status strong{font-weight:500;color:rgba(var(--accent-rgb),.72)}@keyframes aboutFloat{to{transform:translate(40px,26px)}}

/* LAB */
.lab__grid h2{font-size:clamp(60px,8vw,132px);margin:18px 0 25px}.lab__grid h2 em{color:rgb(var(--accent-rgb));text-shadow:0 0 44px rgba(var(--accent-rgb),.14)}.lab__grid>div:first-child>p:last-of-type{font-size:clamp(14px,1.08vw,18px);line-height:1.68;max-width:700px;margin-bottom:28px}.lab-machine{position:relative;min-height:540px;border:1px solid var(--line);background:radial-gradient(circle at center,rgba(var(--accent-rgb),.10),transparent 35%),rgba(255,255,255,.012);overflow:hidden}.lab-machine__orb{position:absolute;width:52%;aspect-ratio:1;left:50%;top:48%;transform:translate(-50%,-50%);border:1px solid rgba(var(--accent-rgb),.25);border-radius:50%;box-shadow:0 0 60px rgba(var(--accent-rgb),.12);animation:labOrbit 12s linear infinite}.lab-machine__orb i{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08)}.lab-machine__orb i:nth-child(1){inset:16%}.lab-machine__orb i:nth-child(2){inset:33%;border-color:rgba(155,119,255,.26)}.lab-machine__orb i:nth-child(3){width:10px;height:10px;right:6%;top:45%;background:rgb(var(--accent-rgb));border:0;box-shadow:0 0 24px rgba(var(--accent-rgb),.75)}.lab-machine__wave{position:absolute;left:8%;right:8%;bottom:10%;display:flex;align-items:end;justify-content:center;gap:7px;height:70px}.lab-machine__wave i{width:2px;height:24px;background:rgba(var(--accent-rgb),.55);animation:labWave 1.6s ease-in-out infinite alternate}.lab-machine__wave i:nth-child(2){height:48px;animation-delay:-.25s}.lab-machine__wave i:nth-child(3){height:60px;animation-delay:-.5s}.lab-machine__wave i:nth-child(4){height:34px;animation-delay:-.75s}.lab-machine__wave i:nth-child(5){height:68px;animation-delay:-1s}.lab-machine__wave i:nth-child(6){height:40px;animation-delay:-1.25s}.lab-machine__wave i:nth-child(7){height:28px;animation-delay:-1.5s}.lab-machine__label{position:absolute;padding:8px 10px;border:1px solid var(--line);background:rgba(7,10,15,.65);font-size:7px;letter-spacing:.16em;color:rgba(255,255,255,.5)}.lab-machine__label--a{left:7%;top:12%}.lab-machine__label--b{right:6%;top:32%}.lab-machine__label--c{left:12%;bottom:22%}@keyframes labOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes labWave{to{transform:scaleY(.25);opacity:.25}}

/* CONTACT */
.contact__grid h2{font-size:clamp(50px,6vw,100px);margin:18px 0 25px}.contact__grid h2 em{color:rgb(var(--accent-rgb));text-shadow:0 0 38px rgba(var(--accent-rgb),.12)}.contact__grid>div:first-child>p:last-child{font-size:clamp(14px,1.08vw,18px);line-height:1.68;max-width:760px}.contact-panel{padding:clamp(26px,4vw,54px);border:1px solid rgba(var(--accent-rgb),.18);background:radial-gradient(circle at 82% 12%,rgba(var(--accent-rgb),.12),transparent 32%),linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.012));box-shadow:0 30px 100px rgba(0,0,0,.36)}.contact-panel__status{display:flex;align-items:center;gap:8px;font-size:7px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.42)}.contact-panel__status i{width:7px;height:7px;border-radius:50%;background:rgb(var(--accent-rgb));box-shadow:0 0 16px rgba(var(--accent-rgb),.8);animation:statusPulse 1.6s ease-in-out infinite alternate}.contact-panel h3{font-size:clamp(38px,4.6vw,72px);margin:40px 0 18px}.contact-panel p{line-height:1.6;margin-bottom:28px}.contact-panel__mail{display:block;margin-top:26px;font-size:clamp(16px,1.6vw,24px);letter-spacing:-.03em}.contact-panel small{display:block;margin-top:26px;color:rgba(255,255,255,.32);font-size:8px;letter-spacing:.12em;text-transform:uppercase}@keyframes statusPulse{to{opacity:.35;box-shadow:0 0 6px rgba(var(--accent-rgb),.3)}}

.site-footer{display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:end;padding:34px 0 42px;border-top:1px solid var(--line);font-size:9px}.site-footer strong,.site-footer span{display:block}.site-footer span,.site-footer a{color:rgba(255,255,255,.36)}.site-footer nav{display:flex;flex-wrap:wrap;gap:16px}

/* Live site preview: user always remains on CP site, with new-tab fallback. */
.site-preview-modal{width:min(96vw,1500px);height:min(92vh,920px);max-width:none;max-height:none;padding:0;border:1px solid rgba(255,255,255,.12);background:#080b10;color:#fff;box-shadow:0 40px 150px rgba(0,0,0,.8)}.site-preview-modal::backdrop{background:rgba(2,3,5,.9);backdrop-filter:blur(8px)}.site-preview-modal__bar{height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 16px;border-bottom:1px solid var(--line);background:#0b0f16}.site-preview-modal__bar>div{display:flex;align-items:center;gap:12px}.site-preview-modal__bar span,.site-preview-modal__bar strong{display:block}.site-preview-modal__bar span{font-size:6px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.35)}.site-preview-modal__bar strong{font-size:12px;font-weight:500}.site-preview-modal__bar button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.025);color:#fff;font-size:24px;cursor:pointer}.preview-open-new{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}.site-preview-modal__stage{position:relative;height:calc(100% - 58px);background:#0a0d12}.site-preview-modal__stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}.site-preview-modal__loading{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.4);font-size:8px;letter-spacing:.15em;text-transform:uppercase}


/* inherited performance hardening
   Decorative motion is paused outside a generous viewport margin.
   Sticky chapters avoid dynamic clip-path/filter paints; scroll JS only changes transforms/opacity vars. */
.domain-stage,.work-case__sticky{contain:paint style;}
.domain-stage__visual,.domain-stage__copy,.work-case__sticky,.work-case__preview,.work-case__copy{backface-visibility:hidden;}

.hero-reactor:not(.motion-active) .reactor-svg,
.hero-reactor:not(.motion-active) .reactor-core i,
.hero-reactor:not(.motion-active) .reactor-scan,
.hero-reactor:not(.motion-active) .hero__enter i,
.domain-chapter:not(.motion-active) *,
.process:not(.motion-active) *,
.work-case:not(.motion-active) *,
.about:not(.motion-active) *,
.lab:not(.motion-active) *,
.contact:not(.motion-active) *{animation-play-state:paused!important;}

.hero-reactor.motion-active .reactor-svg,
.hero-reactor.motion-active .reactor-core i,
.hero-reactor.motion-active .reactor-scan,
.hero-reactor.motion-active .hero__enter i,
.domain-chapter.motion-active *,
.process.motion-active *,
.work-case.motion-active *,
.about.motion-active *,
.lab.motion-active *,
.contact.motion-active *{animation-play-state:running;}

@media(max-width:920px){
  .page-ambient__glow{opacity:.7;transform:none!important;}
}

@media(max-width:1180px){
  .progress-rail{display:none}.hero__lower,.position__grid,.systems__intro,.process__intro,.film__intro,.quality__intro,.work__intro,.about__grid,.lab__grid,.contact__grid{grid-template-columns:1fr;gap:42px}.hero-reactor{justify-self:center;max-width:520px;width:100%}.domain-stage,.work-case__sticky,.film-chapter__sticky{grid-template-columns:1fr}.domain-stage__visual{height:38vh;min-height:280px}.domain-stage__meta,.work-case__meta{margin-bottom:28px}.work-case__preview{height:45vh;min-height:340px}.film-chapter{height:auto;padding:0 0 14vh}.film-chapter__sticky{position:relative;top:auto;height:auto}.film-copy{order:2}.frames{grid-template-columns:1fr}.quality-grid{grid-template-columns:repeat(2,1fr)}.about-machine,.lab-machine{min-height:450px}.work__outro{grid-template-columns:1fr 1fr}.work__outro .text-link{grid-column:1/-1;justify-self:start}.cross-skills{grid-template-columns:1fr}
}
@media(max-width:920px){.desktop-nav{display:none}.menu-button{display:flex}.hero__meta{display:flex;flex-direction:column;gap:6px;text-align:center}.hero__meta span:last-child{text-align:center}.hero__identity{font-size:clamp(60px,17.5vw,112px)}.domain-chapter{height:auto;padding-bottom:13vh}.domain-stage{position:relative;top:auto;height:auto;min-height:0;clip-path:none}.domain-stage__copy,.domain-stage__visual{transform:none!important;opacity:1!important}.work-case{height:auto;padding-bottom:12vh}.work-case__sticky{position:relative;top:auto;height:auto;min-height:0;transform:none!important}.quality-grid,.process-system{grid-template-columns:1fr}.process-system__path{display:none}.about-steps{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}.site-footer nav{margin-top:8px}.frames__strip{grid-template-columns:1fr 1fr}.frames__strip figure:nth-child(3){grid-column:1/-1}.cp-video{aspect-ratio:16/11}}
@media(max-width:640px){:root{--pad:14px}.site-header{padding-inline:12px}.brand span{display:none}.hero{padding-top:16vh}.hero__identity{font-size:19vw}.hero__lower{margin-top:4vh}.hero__copy h1{font-size:32px}.hero-reactor{min-height:360px}.hero-reactor__hud{min-width:96px;padding:7px}.zone{padding:11vh 0}.position h2,.systems__intro h2,.process__intro h2,.film__intro h2,.quality__intro h2,.work__intro h2,.about__copy h2,.lab__grid h2,.contact__grid h2{font-size:12vw}.domain-stage{padding:22px 16px}.domain-stage__visual{height:320px}.domain-stage__copy h3{font-size:15vw}.domain-stage__features{gap:6px}.work-case__sticky{padding:16px}.work-case__preview{height:390px;min-height:0}.work-case__copy{padding:0 2px 20px}.work-case__copy h3{font-size:13.2vw}.work-case__meta{grid-template-columns:1fr}.work-case__meta i,.work-case__meta span:last-child{display:none}.work-case__rail{display:none}.work-case__actions{flex-direction:column}.work-case__actions .button{width:100%}.amigos-motion{grid-template-columns:repeat(2,48px)}.frames__strip{grid-template-columns:1fr}.frames__strip figure:nth-child(1),.frames__strip figure:nth-child(2),.frames__strip figure:nth-child(3){height:280px;grid-column:auto}.quality-grid{grid-template-columns:1fr}.cp-video__controls{gap:4px;padding:0 6px}.cp-video__controls button{padding:6px 4px;font-size:6px}.cp-video__volume{display:none}.cp-video__time{display:none}.cp-video__progress{min-width:60px}.cp-video__poster>strong{font-size:13vw}.site-preview-modal{width:98vw;height:92vh}.site-preview-modal__bar{height:auto;min-height:58px;padding:8px 10px;align-items:flex-start}.site-preview-modal__bar>div:last-child{margin-left:auto}.preview-open-new{display:none}.site-preview-modal__stage{height:calc(100% - 58px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.domain-stage,.work-case__sticky{transform:none!important}.page-ambient__glow{transition:none}.cp-video.is-enlarged{animation:none!important}}

/* Legal pages carried over from the supplied redesign backup. */
.legal-page{min-height:100vh;background:#080b10;color:var(--fg)}
.legal-page .grain{position:fixed}
.legal-header{min-height:72px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(8,11,16,.9);backdrop-filter:blur(18px)}
.legal-header a{font-size:11px;text-transform:uppercase;letter-spacing:.14em}.legal-header__brand{display:flex;align-items:center;gap:12px}.legal-header__mark{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:9px}
.legal-main{width:min(980px,calc(100% - 2*var(--pad)));margin:0 auto;padding:12vh 0 14vh}.legal-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--accent)}.legal-main h1{font-size:clamp(56px,9vw,140px);line-height:.84;letter-spacing:-.07em;font-weight:520;margin:20px 0 10vh}.legal-section{display:grid;grid-template-columns:220px 1fr;gap:clamp(35px,7vw,100px);padding:42px 0;border-top:1px solid var(--line)}.legal-section:last-of-type{border-bottom:1px solid var(--line)}.legal-section h2{font-size:18px;font-weight:500;margin:0}.legal-section__body{color:rgba(245,244,240,.72);line-height:1.72}.legal-section__body p:first-child{margin-top:0}.legal-section__body a{color:var(--fg);text-decoration:underline;text-underline-offset:4px}.legal-section__body ul{padding-left:1.2em}.legal-note{padding:22px;border:1px solid rgba(var(--accent-rgb),.18);background:rgba(var(--accent-rgb),.025)}.legal-footer{width:min(980px,calc(100% - 2*var(--pad)));margin:0 auto;padding:28px 0 60px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:10px}.legal-footer nav{display:flex;gap:16px;flex-wrap:wrap}.legal-table-wrap{overflow-x:auto;border:1px solid var(--line)}.legal-table{width:100%;border-collapse:collapse;min-width:650px;font-size:12px}.legal-table th,.legal-table td{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.legal-table th{color:var(--fg);font-weight:500}.legal-table td{color:var(--muted)}
@media(max-width:720px){.legal-main{padding-top:9vh}.legal-main h1{font-size:16vw;margin-bottom:8vh}.legal-section{grid-template-columns:1fr;gap:18px;padding:32px 0}}

/* mobile compositor guard */
@media(max-width:920px){
  .hero-reactor .reactor-svg--back,
  .hero-reactor .reactor-svg--front{animation:none!important;}
  .hero-reactor{filter:none!important;}
  .page-ambient__glow{width:92vw;height:92vw;right:-48vw;}
}

/* ==========================================================
   v0.4.2 — IMMERSIVE STACK SYSTEM
   Based on the v0.1 spatial rhythm: each panel is itself sticky
   and later panels rise over it from below. No scroll hijacking.
   ========================================================== */

/* Stronger but restrained active-zone energy. */
.zone.is-active::after{opacity:.9;box-shadow:0 0 24px rgba(var(--accent-rgb),.46)}
.page-ambient__glow{width:78vw;height:78vw;right:-26vw;top:8vh;background:radial-gradient(circle,rgba(var(--accent-rgb),.18),rgba(var(--accent-rgb),.065) 28%,transparent 68%)}

/* Discipline rooms: same spatial principle as v0.1 work cards. */
.discipline-stack{padding-top:4vh;padding-bottom:18vh}
.discipline-card{
  --card-rgb:255,255,255;
  position:sticky;
  top:84px;
  min-height:calc(100svh - 104px);
  border-radius:30px;
  overflow:hidden;
  margin-bottom:16vh;
  padding:clamp(24px,3.2vw,48px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  isolation:isolate;
  background:#0d1118;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 34px 110px rgba(0,0,0,.52),0 0 0 1px rgba(255,255,255,.02) inset;
  transform-origin:center top;
}
.discipline-card--film{--card-rgb:255,111,74;background:radial-gradient(circle at 74% 42%,rgba(255,111,74,.18),transparent 28%),linear-gradient(135deg,#171014 0%,#0a0d13 60%,#07090d 100%)}
.discipline-card--brand{--card-rgb:238,191,91;background:radial-gradient(circle at 74% 40%,rgba(238,191,91,.15),transparent 30%),linear-gradient(135deg,#17150f 0%,#0b0e13 62%,#07090d 100%)}
.discipline-card--digital{--card-rgb:69,214,255;background:radial-gradient(circle at 74% 42%,rgba(69,214,255,.18),transparent 28%),linear-gradient(135deg,#0b161b 0%,#090d14 62%,#07090d 100%)}
.discipline-card__visual,.discipline-card__overlay{position:absolute;inset:0;z-index:-2}
.discipline-card__overlay{z-index:-1;background:linear-gradient(90deg,rgba(2,4,8,.88) 0%,rgba(2,4,8,.69) 42%,rgba(2,4,8,.18) 72%,rgba(2,4,8,.08) 100%),linear-gradient(to top,rgba(2,4,8,.66),transparent 55%)}
.discipline-card__topline{display:flex;justify-content:space-between;gap:18px;font-size:8px;text-transform:uppercase;letter-spacing:.17em;color:rgba(255,255,255,.56);position:relative;z-index:3}
.discipline-card__copy{width:min(720px,58%);margin-top:auto;position:relative;z-index:3}
.discipline-card__copy .eyebrow{color:rgba(255,255,255,.58)}
.discipline-card__copy h3{font-size:clamp(58px,7.1vw,120px);line-height:.82;letter-spacing:-.075em;margin:14px 0 24px}
.discipline-card__copy h3 em{color:rgb(var(--card-rgb));text-shadow:0 0 32px rgba(var(--card-rgb),.16)}
.discipline-card__lead{max-width:650px;font-size:clamp(15px,1.18vw,19px);line-height:1.62;color:rgba(255,255,255,.76)}
.discipline-card__features{display:flex;flex-wrap:wrap;gap:7px;margin-top:26px}
.discipline-card__features span{padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.025);font-size:7px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.54)}
.discipline-card__number{position:absolute;right:2.4vw;bottom:-.16em;font-size:clamp(180px,26vw,390px);line-height:.8;font-weight:700;letter-spacing:-.085em;color:rgba(255,255,255,.045);z-index:-1}

.mech-corners{position:absolute;inset:16px;pointer-events:none;z-index:6}
.mech-corners i{position:absolute;width:30px;height:30px;border-color:rgba(var(--card-rgb,255,255,255),.42);filter:drop-shadow(0 0 6px rgba(var(--card-rgb,255,255,255),.28))}
.mech-corners i:nth-child(1){left:0;top:0;border-left:1px solid;border-top:1px solid}
.mech-corners i:nth-child(2){right:0;top:0;border-right:1px solid;border-top:1px solid}
.mech-corners i:nth-child(3){left:0;bottom:0;border-left:1px solid;border-bottom:1px solid}
.mech-corners i:nth-child(4){right:0;bottom:0;border-right:1px solid;border-bottom:1px solid}

/* Animated discipline graphics, intentionally running only while visible via main.js. */
.film-core,.brand-core,.digital-core{position:absolute;right:4%;top:50%;width:min(52vw,780px);aspect-ratio:1.15;transform:translateY(-50%);opacity:.94}
.film-core__aperture{position:absolute;right:16%;top:13%;width:48%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 70px rgba(255,111,74,.18),inset 0 0 50px rgba(255,111,74,.08)}
.film-core__aperture i{position:absolute;left:50%;top:50%;width:34%;height:52%;transform-origin:0 0;background:linear-gradient(90deg,rgba(255,111,74,.28),rgba(255,255,255,.025));clip-path:polygon(0 0,100% 38%,70% 100%,0 70%)}
.film-core__aperture i:nth-child(1){transform:rotate(0deg) translate(4px,-50%)}
.film-core__aperture i:nth-child(2){transform:rotate(60deg) translate(4px,-50%)}
.film-core__aperture i:nth-child(3){transform:rotate(120deg) translate(4px,-50%)}
.film-core__aperture i:nth-child(4){transform:rotate(180deg) translate(4px,-50%)}
.film-core__aperture i:nth-child(5){transform:rotate(240deg) translate(4px,-50%)}
.film-core__aperture i:nth-child(6){transform:rotate(300deg) translate(4px,-50%)}
.motion-active .film-core__aperture{animation:slowSpin 18s linear infinite}
.film-core__timecode{position:absolute;right:9%;top:6%;font-size:clamp(34px,5vw,78px);font-weight:650;letter-spacing:-.06em;color:rgba(255,255,255,.07)}
.film-core__timeline{position:absolute;left:12%;right:9%;bottom:18%;height:44px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.07)}
.film-core__timeline i{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.12)}
.film-core__timeline i:nth-child(1){left:8%}.film-core__timeline i:nth-child(2){left:30%}.film-core__timeline i:nth-child(3){left:51%}.film-core__timeline i:nth-child(4){left:72%}.film-core__timeline i:nth-child(5){left:91%}
.film-core__timeline::after{content:"";position:absolute;left:24%;top:-1px;bottom:-1px;width:22%;background:rgba(255,111,74,.18);border-left:1px solid rgba(255,111,74,.6);box-shadow:0 0 22px rgba(255,111,74,.2)}
.film-core__wave{position:absolute;left:16%;right:12%;bottom:7%;height:60px;display:flex;align-items:center;gap:7px}
.film-core__wave i{display:block;width:2px;height:30%;background:rgba(255,111,74,.7);box-shadow:0 0 8px rgba(255,111,74,.35);transform-origin:center}
.motion-active .film-core__wave i:nth-child(2n){animation:wavePulse 1.8s ease-in-out infinite alternate}.motion-active .film-core__wave i:nth-child(3n){animation:wavePulse 1.25s ease-in-out infinite alternate-reverse}

.brand-core__axis{position:absolute;background:rgba(255,255,255,.09)}
.brand-core__axis--x{left:6%;right:6%;top:50%;height:1px}.brand-core__axis--y{top:5%;bottom:5%;left:50%;width:1px}
.brand-core__orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(238,191,91,.20);border-radius:50%;transform:translate(-50%,-50%) rotate(-16deg)}
.brand-core__orbit--1{width:66%;height:66%}.brand-core__orbit--2{width:43%;height:43%;transform:translate(-50%,-50%) rotate(24deg)}.brand-core__orbit--3{width:83%;height:35%;transform:translate(-50%,-50%) rotate(48deg)}
.motion-active .brand-core__orbit--1{animation:slowSpinCentered 24s linear infinite}.motion-active .brand-core__orbit--2{animation:slowSpinCenteredReverse 18s linear infinite}
.brand-core__glyph{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(48px,7vw,106px);font-weight:650;letter-spacing:-.07em;color:rgba(255,255,255,.08)}
.brand-core__node{position:absolute;width:9px;height:9px;border-radius:50%;background:#eebf5b;box-shadow:0 0 24px rgba(238,191,91,.55)}
.brand-core__node--a{left:19%;top:24%}.brand-core__node--b{right:16%;top:52%}.brand-core__node--c{left:54%;bottom:11%}

.digital-core__mesh{position:absolute;inset:7%;background-image:linear-gradient(rgba(69,214,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(69,214,255,.07) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at 58% 45%,black 35%,transparent 76%);transform:perspective(680px) rotateX(58deg) rotateZ(-7deg);transform-origin:center}
.digital-core__screen{position:absolute;width:42%;aspect-ratio:1.55;border:1px solid rgba(69,214,255,.26);background:linear-gradient(145deg,rgba(69,214,255,.11),rgba(255,255,255,.02));box-shadow:0 0 42px rgba(69,214,255,.10);border-radius:10px;transform-style:preserve-3d}
.digital-core__screen span{position:absolute;left:10px;top:8px;font-size:7px;letter-spacing:.16em;color:rgba(255,255,255,.45)}
.digital-core__screen--a{right:11%;top:13%;transform:perspective(700px) rotateY(-18deg) rotateX(4deg)}
.digital-core__screen--b{right:30%;top:39%;transform:perspective(700px) rotateY(-18deg) rotateX(4deg) translateZ(40px)}
.digital-core__screen--c{right:6%;bottom:8%;transform:perspective(700px) rotateY(-18deg) rotateX(4deg) translateZ(80px)}
.motion-active .digital-core__screen--a{animation:floatA 6s ease-in-out infinite alternate}.motion-active .digital-core__screen--b{animation:floatB 7.4s ease-in-out infinite alternate}.motion-active .digital-core__screen--c{animation:floatC 8.1s ease-in-out infinite alternate}
.digital-core__cursor{position:absolute;right:35%;top:46%;width:12px;height:12px;border:1px solid #fff;border-radius:50%;box-shadow:0 0 18px rgba(69,214,255,.7)}
.digital-core__pulse{position:absolute;right:23%;top:30%;width:32%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(69,214,255,.18);box-shadow:0 0 70px rgba(69,214,255,.15),inset 0 0 40px rgba(69,214,255,.06)}
.motion-active .digital-core__pulse{animation:pulseSoft 3.8s ease-in-out infinite}

/* Selected Work — intentionally follows v0.1 directly. */
.case-stack{width:min(calc(100% - var(--pad)*2),var(--max));margin-inline:auto;padding-bottom:18vh}
.case{
  --card-rgb:255,255,255;
  position:sticky;
  top:84px;
  min-height:calc(100svh - 104px);
  border-radius:30px;
  overflow:hidden;
  margin-bottom:16vh;
  padding:clamp(24px,3.2vw,48px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  isolation:isolate;
  box-shadow:0 34px 110px rgba(0,0,0,.54),0 0 0 1px rgba(255,255,255,.02) inset;
  transform-origin:center top;
}
.case__media,.case__overlay{position:absolute;inset:0;z-index:-2}.case__overlay{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.50) 47%,rgba(0,0,0,.10) 100%),linear-gradient(to top,rgba(0,0,0,.62),transparent 54%)}
.case__topline{display:flex;justify-content:space-between;gap:20px;font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.70);position:relative;z-index:3}
.case__content{width:min(700px,62%);margin-top:auto;position:relative;z-index:3}.case__content .eyebrow{color:rgba(255,255,255,.62)}
.case h3{font-size:clamp(58px,7.5vw,124px);line-height:.81;letter-spacing:-.078em;margin:14px 0 24px}.case__lead{max-width:610px;color:rgba(255,255,255,.82);font-size:clamp(15px,1.18vw,19px);line-height:1.58}.case__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.case__number{position:absolute;right:2.5vw;bottom:-.15em;font-size:clamp(180px,26vw,390px);line-height:.8;font-weight:700;letter-spacing:-.085em;color:rgba(255,255,255,.07);z-index:-1}
.case-status{position:absolute;right:25px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:8px;writing-mode:vertical-rl;font-size:6px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.34);z-index:4}.case-status i{width:1px;height:48px;background:linear-gradient(rgb(var(--card-rgb)),transparent);box-shadow:0 0 10px rgba(var(--card-rgb),.38)}.case-status b{font-weight:500;color:rgba(var(--card-rgb),.82)}
.case-tech-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:62px 62px;opacity:.36;mask-image:linear-gradient(90deg,transparent 0,transparent 30%,black 65%,black)}
.case--amigos{--card-rgb:219,112,91;background:#153b32}.case--amigos .case__media{background:linear-gradient(135deg,#245f4d,#11332e 62%,#0b2320)}
.amigos-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,transparent 25%,#000)}.amigos-a{position:absolute;right:7%;top:14%;font-size:clamp(100px,18vw,280px);line-height:.75;font-weight:700;letter-spacing:-.1em;color:#e5cf41}.amigos-copy{position:absolute;right:8%;bottom:13%;text-align:right;font-size:clamp(46px,7vw,105px);font-weight:700;line-height:.72;letter-spacing:-.065em;color:#db6554}.amigos-copy i{font-family:Georgia,serif;font-weight:400;color:#e5cf41}.amigos-dot{position:absolute;right:6.4%;top:19%;width:26px;height:26px;border-radius:50%;background:#e5cf41;box-shadow:0 0 28px rgba(229,207,65,.28)}
.case--faia{--card-rgb:255,164,52;background:#ef641e}.case--faia .case__media{background:radial-gradient(circle at 72% 40%,#ffce62 0 9%,transparent 10%),linear-gradient(135deg,#f17a25 0%,#ce2f0c 54%,#55120a 100%)}.faia-sun{position:absolute;right:19%;top:18%;width:20%;aspect-ratio:1;border-radius:50%;background:#ffd76c;box-shadow:0 0 70px rgba(255,211,100,.24)}.faia-word{position:absolute;right:4%;top:29%;font-size:clamp(110px,22vw,320px);font-weight:800;line-height:.75;letter-spacing:-.09em;color:rgba(255,255,255,.11)}.faia-switch{position:absolute;right:8%;top:14%;display:flex;align-items:center;gap:9px;font-size:7px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72)}.faia-switch i{position:relative;width:42px;height:18px;border-radius:999px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.2)}.faia-switch i::after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#ffdf74;top:2px;left:3px;box-shadow:0 0 12px rgba(255,223,116,.45)}.motion-active .faia-switch i::after{animation:switchSlide 3.4s ease-in-out infinite alternate}
.case--hvc{--card-rgb:232,129,255;background:#271231}.case--hvc .case__media{background:radial-gradient(circle at 76% 45%,#8820b7,transparent 28%),radial-gradient(circle at 66% 30%,#e15b9c,transparent 24%),linear-gradient(135deg,#1b0c24,#0a0b13)}.hvc-ring{position:absolute;right:7%;top:8%;width:54%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.13)}.hvc-ring--2{right:10%;top:20%;width:43%}.hvc-ring--3{right:12%;top:31%;width:31%;border-color:rgba(232,129,255,.25)}.motion-active .hvc-ring--1{animation:slowSpin 30s linear infinite}.motion-active .hvc-ring--2{animation:slowSpinReverse 24s linear infinite}.hvc-heart{position:absolute;right:19%;top:41%;font-size:clamp(82px,10vw,150px);color:#d85d9f;text-shadow:0 0 45px rgba(216,93,159,.4)}.hvc-frequency{position:absolute;right:5%;bottom:6%;font-size:clamp(80px,15vw,220px);line-height:.8;font-weight:700;letter-spacing:-.08em;color:rgba(255,255,255,.11)}
.case--loving{--card-rgb:222,208,173;background:#191813}.case--loving .case__media{background:radial-gradient(circle at 72% 38%,rgba(214,197,153,.22),transparent 30%),linear-gradient(135deg,#191a18,#0c0d0d 68%,#090a0b)}.loving-orbit{position:absolute;right:10%;top:12%;width:49%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(222,208,173,.18);transform:rotate(18deg)}.loving-orbit--2{right:18%;top:24%;width:34%;transform:rotate(-24deg);border-color:rgba(222,208,173,.28)}.motion-active .loving-orbit--1{animation:slowSpin 32s linear infinite}.motion-active .loving-orbit--2{animation:slowSpinReverse 28s linear infinite}.loving-copy{position:absolute;right:8%;bottom:12%;font-family:Georgia,serif;font-style:italic;font-size:clamp(46px,7vw,108px);line-height:.75;letter-spacing:-.055em;text-align:right;color:rgba(222,208,173,.80)}.loving-mark{position:absolute;right:11%;top:11%;font-size:clamp(96px,16vw,250px);font-weight:700;color:rgba(255,255,255,.06);letter-spacing:-.08em}
.case--ergo{--card-rgb:196,216,209;background:#16211e}.case--ergo .case__media{background:radial-gradient(circle at 72% 38%,rgba(196,216,209,.16),transparent 30%),linear-gradient(135deg,#17251f,#0d1513 70%,#090d0c)}.ergo-word{position:absolute;right:8%;top:23%;display:grid;font-size:clamp(80px,14vw,220px);font-weight:650;line-height:.72;letter-spacing:-.08em;color:rgba(225,236,232,.82)}.ergo-word span:last-child{color:rgba(196,216,209,.38)}.ergo-line{position:absolute;right:10%;left:58%;bottom:21%;display:grid;gap:12px}.ergo-line i{height:1px;background:linear-gradient(90deg,rgba(196,216,209,.15),rgba(196,216,209,.8));box-shadow:0 0 14px rgba(196,216,209,.15)}.ergo-meta{position:absolute;right:9%;bottom:12%;font-size:7px;letter-spacing:.18em;color:rgba(255,255,255,.48)}

/* Film panels use the same stacked/full-screen grammar. */
.film-stack{padding-top:3vh;padding-bottom:18vh}.film-card{--card-rgb:255,120,76;position:sticky;top:84px;min-height:calc(100svh - 104px);margin-bottom:16vh;padding:clamp(20px,2.8vw,42px);border:1px solid rgba(255,255,255,.1);border-radius:30px;background:radial-gradient(circle at 70% 40%,rgba(var(--card-rgb),.10),transparent 33%),linear-gradient(135deg,#10141c,#080b10);box-shadow:0 34px 110px rgba(0,0,0,.54);display:grid;grid-template-columns:minmax(260px,.58fr) minmax(0,1.42fr);gap:clamp(30px,5vw,78px);align-items:center;overflow:hidden;isolation:isolate}.film-card__copy{padding-left:1vw}.film-card__copy h3{font-size:clamp(54px,6vw,100px);margin:16px 0 24px}.film-card__copy h3 em{color:rgb(var(--card-rgb))}.film-card__copy>p{font-size:clamp(14px,1.05vw,18px);line-height:1.62}.film-card .cp-video{--case-rgb:var(--card-rgb)}

/* Cinema mode: slower, darker, more theatrical. */
.video-lightbox{transition:opacity 1.15s cubic-bezier(.22,.8,.18,1)}
.video-lightbox__backdrop{background:rgba(0,0,0,.992)}
.video-lightbox__backdrop::before,.video-lightbox__backdrop::after{height:31vh;transition:transform 1.35s cubic-bezier(.22,.8,.18,1)}
.cp-video.is-enlarged{animation:cinemaScreenInV042 1.15s cubic-bezier(.16,.78,.16,1) both}
@keyframes cinemaScreenInV042{0%{opacity:.08;transform:translate(-50%,-50%) scale(.62);border-radius:34px;filter:brightness(.18)}45%{opacity:.8;filter:brightness(.55)}100%{opacity:1;transform:translate(-50%,-50%) scale(1);border-radius:2px;filter:brightness(1)}}

/* Subtle entrance state added by IntersectionObserver, never driven frame-by-frame. */
.discipline-card,.case,.film-card{transition:box-shadow .6s ease,border-color .6s ease}
.discipline-card.is-stack-active,.case.is-stack-active,.film-card.is-stack-active{border-color:rgba(var(--card-rgb),.24);box-shadow:0 36px 120px rgba(0,0,0,.58),0 0 54px rgba(var(--card-rgb),.08),0 0 0 1px rgba(var(--card-rgb),.08) inset}

@keyframes slowSpin{to{transform:rotate(360deg)}}
@keyframes slowSpinReverse{to{transform:rotate(-360deg)}}
@keyframes slowSpinCentered{from{transform:translate(-50%,-50%) rotate(-16deg)}to{transform:translate(-50%,-50%) rotate(344deg)}}
@keyframes slowSpinCenteredReverse{from{transform:translate(-50%,-50%) rotate(24deg)}to{transform:translate(-50%,-50%) rotate(-336deg)}}
@keyframes wavePulse{from{transform:scaleY(.45);opacity:.42}to{transform:scaleY(1.7);opacity:1}}
@keyframes floatA{to{transform:perspective(700px) rotateY(-13deg) rotateX(2deg) translate3d(-12px,8px,0)}}
@keyframes floatB{to{transform:perspective(700px) rotateY(-15deg) rotateX(2deg) translate3d(14px,-9px,40px)}}
@keyframes floatC{to{transform:perspective(700px) rotateY(-12deg) rotateX(1deg) translate3d(-9px,-12px,80px)}}
@keyframes pulseSoft{0%,100%{transform:scale(.94);opacity:.42}50%{transform:scale(1.04);opacity:.92}}
@keyframes switchSlide{to{transform:translateX(22px)}}

/* Performance: all looping visuals are paused when their panel is outside observer range. */
[data-stack-card]:not(.motion-active) *,
.hero-reactor:not(.motion-active) *{animation-play-state:paused!important}
[data-stack-card].motion-active *,
.hero-reactor.motion-active *{animation-play-state:running}

@media(max-width:1180px){
  .discipline-card__copy,.case__content{width:min(760px,72%)}
  .film-core,.brand-core,.digital-core{right:-6%;width:min(62vw,720px)}
  .film-card{grid-template-columns:1fr;align-content:center}.film-card__copy{padding:0}.film-card .cp-video{max-height:56vh}
}
@media(max-width:920px){
  .discipline-card,.case,.film-card{position:relative;top:auto;min-height:0;margin-bottom:10vh}
  .discipline-card{padding:24px;min-height:760px}.discipline-card__copy,.case__content{width:100%}.discipline-card__topline,.case__topline{flex-direction:column;gap:5px}
  .discipline-card__visual{opacity:.82}.discipline-card__overlay{background:linear-gradient(to top,rgba(2,4,8,.94) 0%,rgba(2,4,8,.62) 54%,rgba(2,4,8,.18) 100%)}
  .discipline-card__copy{padding-top:360px}.film-core,.brand-core,.digital-core{right:0;left:0;top:3%;width:100%;height:410px;transform:none}.discipline-card__number{font-size:48vw;right:-3vw}
  .case{min-height:760px}.case__content{padding-top:320px}.case__overlay{background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.5) 65%,rgba(0,0,0,.12))}.case-status{display:none}.case__number{font-size:50vw;right:-4vw}.case--amigos .amigos-a,.case--faia .faia-word,.case--hvc .hvc-frequency,.case--loving .loving-mark,.case--ergo .ergo-word{opacity:.55}
  .film-card{position:relative;top:auto;min-height:0;grid-template-columns:1fr;padding:22px}.film-card__copy{order:2}.film-card .cp-video{order:1;max-height:none}
}
@media(max-width:640px){
  .discipline-stack,.case-stack,.film-stack{width:calc(100% - 24px)}
  .discipline-card,.case,.film-card{border-radius:22px;padding:18px;margin-bottom:8vh}.discipline-card{min-height:720px}.discipline-card__copy{padding-top:300px}.discipline-card__copy h3{font-size:15vw}.discipline-card__lead,.case__lead{font-size:14px;max-width:92%}.discipline-card__features{gap:5px}.discipline-card__features span{font-size:6px;padding:6px 8px}.mech-corners{inset:10px}.mech-corners i{width:22px;height:22px}
  .film-core,.brand-core,.digital-core{height:340px}.case{min-height:720px}.case__content{padding-top:300px}.case h3{font-size:14.5vw}.case__actions{flex-direction:column}.case__actions .button{width:100%}.amigos-copy{font-size:15vw}.faia-switch{right:6%;top:10%}.hvc-heart{top:25%;right:25%}.loving-copy{font-size:14vw}.ergo-word{font-size:18vw}.film-card__copy h3{font-size:14vw}
}
@media(prefers-reduced-motion:reduce){
  .discipline-card,.case,.film-card{transition:none!important}.motion-active *{animation:none!important}
}

/* v0.4.2 mobile visual separation: project artwork stays above copy instead of competing with text. */
@media(max-width:640px){
  .case .case__media{height:54%;bottom:auto}
  .case .case__overlay{background:linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.48) 54%,rgba(0,0,0,.08) 100%)}
  .case__content{padding-top:310px}
  .case--amigos .amigos-copy{top:24%;bottom:auto;right:7%;font-size:12vw;opacity:.36}
  .case--amigos .amigos-a{top:9%;right:8%;font-size:29vw;opacity:.88}
  .case--faia .faia-word{top:23%;right:2%;font-size:34vw;opacity:.18}
  .case--faia .faia-sun{top:12%;right:18%;width:38%}
  .case--hvc .hvc-frequency{bottom:auto;top:33%;right:3%;font-size:28vw;opacity:.18}
  .case--hvc .hvc-heart{top:21%;right:27%;font-size:23vw}
  .case--loving .loving-copy{top:26%;bottom:auto;right:6%;font-size:12vw;opacity:.34}
  .case--loving .loving-mark{top:8%;right:8%;font-size:34vw;opacity:.10}
  .case--ergo .ergo-word{top:14%;right:6%;font-size:22vw;opacity:.48}
  .case--ergo .ergo-line{bottom:auto;top:38%;left:48%;right:8%}
  .case--ergo .ergo-meta{bottom:auto;top:48%}
}

/* ==========================================================
   v0.4.3 — MILESTONE REFINEMENT
   Loader, reading holds, signature hero, project systems,
   film vault and full photographic series.
   ========================================================== */

body.is-scroll-locked{
  position:fixed;
  left:0;
  right:0;
  width:100%;
  overflow-y:scroll;
}
.brand__logo,
.boot-loader__logo,
.hero-signature__logo{filter:brightness(0) invert(1);}

/* Five-second operating-system-style arrival */
.boot-loader{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  background:#0b0f16;
  color:#fff;
  overflow:hidden;
  opacity:1;
  visibility:visible;
  transition:opacity .8s var(--ease),visibility .8s step-end;
}
.boot-loader[hidden]{display:none}
.boot-loader::before,
.boot-loader::after{
  content:"";
  position:absolute;
  inset:-25%;
  pointer-events:none;
}
.boot-loader::before{
  background:
    radial-gradient(circle at 24% 30%,rgba(69,214,255,.10),transparent 28%),
    radial-gradient(circle at 78% 64%,rgba(155,119,255,.08),transparent 32%),
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:auto,auto,64px 64px,64px 64px;
  animation:bootMesh 9s linear infinite;
}
.boot-loader::after{
  inset:0;
  background:linear-gradient(180deg,transparent 0%,rgba(69,214,255,.06) 48%,rgba(69,214,255,.20) 50%,rgba(69,214,255,.04) 52%,transparent 100%);
  transform:translateY(-100%);
  animation:bootSweep 2.3s ease-in-out 1.1s 2;
}
.boot-loader.is-leaving{opacity:0;visibility:hidden;transition-timing-function:var(--ease),step-end}
.boot-loader__shell{
  position:relative;
  z-index:2;
  width:min(88vw,680px);
  display:grid;
  gap:44px;
  padding:clamp(24px,5vw,52px);
}
.boot-loader__brand{display:grid;justify-items:center;text-align:center;gap:28px}
.boot-loader__logo-wrap{
  position:relative;
  width:184px;
  height:184px;
  display:grid;
  place-items:center;
  opacity:0;
  transform:scale(.86);
  animation:bootLogoIn 1.25s var(--ease) .25s forwards;
}
.boot-loader__logo{width:154px;height:154px;opacity:.96;filter:brightness(0) invert(1) drop-shadow(0 0 24px rgba(255,255,255,.08));}
.boot-loader__scan{position:absolute;left:16px;right:16px;height:1px;top:20%;background:linear-gradient(90deg,transparent,rgba(69,214,255,.85),transparent);box-shadow:0 0 18px rgba(69,214,255,.55);animation:bootLogoScan 1.9s ease-in-out .6s 2}
.boot-loader__corner{position:absolute;width:22px;height:22px;border-color:rgba(255,255,255,.38);border-style:solid}
.boot-loader__corner--a{left:0;top:0;border-width:1px 0 0 1px}.boot-loader__corner--b{right:0;top:0;border-width:1px 1px 0 0}.boot-loader__corner--c{left:0;bottom:0;border-width:0 0 1px 1px}.boot-loader__corner--d{right:0;bottom:0;border-width:0 1px 1px 0}
.boot-loader__copy{display:grid;gap:8px;justify-items:center;opacity:0;transform:translateY(12px);animation:bootCopyIn .85s var(--ease) 1s forwards}
.boot-loader__discipline{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.boot-loader__copy strong{font-size:clamp(28px,5vw,48px);font-weight:560;letter-spacing:-.055em}
.boot-loader__copy p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(17px,2.2vw,24px);font-style:italic;color:rgba(255,255,255,.74)}
.boot-loader__system{display:grid;gap:13px;opacity:0;animation:bootCopyIn .7s var(--ease) 1.45s forwards}
.boot-loader__bar{height:2px;background:rgba(255,255,255,.08);overflow:hidden}.boot-loader__bar i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#45d6ff,#9b77ff,#eebf5b);box-shadow:0 0 16px rgba(69,214,255,.4);animation:bootProgress 3.2s cubic-bezier(.18,.7,.18,1) 1.5s forwards}
.boot-loader__status{display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.48)}
.boot-loader__status b{font-weight:500;color:#fff}
.boot-loader__log{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.boot-loader__log span{padding:8px 7px;border:1px solid rgba(255,255,255,.07);color:rgba(255,255,255,.26);font-size:6px;letter-spacing:.13em;text-transform:uppercase;animation:bootLog 3s steps(1,end) 1.7s forwards}.boot-loader__log span:nth-child(2){animation-delay:2.2s}.boot-loader__log span:nth-child(3){animation-delay:2.8s}.boot-loader__log span:nth-child(4){animation-delay:3.5s}
@keyframes bootMesh{to{transform:translate3d(64px,64px,0)}}
@keyframes bootSweep{0%{transform:translateY(-110%)}100%{transform:translateY(110%)}}
@keyframes bootLogoIn{to{opacity:1;transform:scale(1)}}
@keyframes bootLogoScan{0%{transform:translateY(-52px);opacity:0}20%,80%{opacity:1}100%{transform:translateY(108px);opacity:0}}
@keyframes bootCopyIn{to{opacity:1;transform:none}}
@keyframes bootProgress{0%{transform:scaleX(0)}38%{transform:scaleX(.28)}62%{transform:scaleX(.56)}82%{transform:scaleX(.78)}100%{transform:scaleX(1)}}
@keyframes bootLog{to{color:rgba(255,255,255,.74);border-color:rgba(69,214,255,.18);background:rgba(69,214,255,.025)}}

/* Global four-second reading hold indicator */
.reading-hold{
  position:fixed;
  left:50%;
  bottom:24px;
  z-index:4500;
  width:min(420px,calc(100vw - 30px));
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(7,10,15,.82);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 70px rgba(0,0,0,.34),0 0 30px rgba(var(--accent-rgb),.06);
  opacity:0;
  transform:translate3d(-50%,20px,0);
  pointer-events:none;
  transition:opacity .25s,transform .35s var(--ease);
}
.reading-hold.is-active{opacity:1;transform:translate3d(-50%,0,0)}
.reading-hold>span,.reading-hold>small{font-size:7px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.reading-hold>div{height:1px;background:rgba(255,255,255,.09);overflow:hidden}.reading-hold>div i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,rgb(var(--accent-rgb)),rgba(255,255,255,.85));box-shadow:0 0 12px rgba(var(--accent-rgb),.42)}
.reading-hold.is-active>div i{animation:readingProgress 4s linear forwards}
@keyframes readingProgress{to{transform:scaleX(1)}}

/* Hero: real CP mark as visual anchor instead of generic geometry */
.hero-signature{position:relative;min-height:470px;aspect-ratio:1.04;max-width:570px;justify-self:end;perspective:1000px;transform-style:preserve-3d}
.hero-signature__frame{position:absolute;inset:5%;border:1px solid rgba(255,255,255,.09);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));overflow:hidden;box-shadow:0 36px 100px rgba(0,0,0,.30),0 0 70px rgba(var(--accent-rgb),.07),inset 0 0 0 1px rgba(255,255,255,.018)}
.hero-signature__frame::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at center,black,transparent 78%)}
.hero-signature__filmrail{position:absolute;left:5%;right:5%;height:10px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.10) 0 16px,transparent 16px 25px);opacity:.48}.hero-signature__filmrail--top{top:7%}.hero-signature__filmrail--bottom{bottom:7%}
.hero-signature__hud{position:absolute;z-index:3;font-size:6px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.38)}.hero-signature__hud--a{left:8%;top:16%}.hero-signature__hud--b{right:8%;top:27%}.hero-signature__hud--c{left:9%;bottom:19%}
.hero-signature__logo-wrap{position:absolute;left:50%;top:47%;width:250px;height:250px;transform:translate(-50%,-50%);display:grid;place-items:center}
.hero-signature__halo{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.055),rgba(var(--accent-rgb),.06) 46%,transparent 68%);animation:signatureBreath 5.5s ease-in-out infinite}
.hero-signature__logo{position:relative;z-index:2;width:220px;height:220px;opacity:.97;filter:brightness(0) invert(1) drop-shadow(0 0 24px rgba(255,255,255,.07));}
.hero-signature__scan{position:absolute;z-index:3;left:24px;right:24px;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--accent-rgb)),transparent);box-shadow:0 0 18px rgba(var(--accent-rgb),.65);animation:signatureScan 4.3s ease-in-out infinite}
.hero-signature__caption{position:absolute;left:8%;right:8%;bottom:12%;display:flex;align-items:end;justify-content:space-between;gap:16px;z-index:3}.hero-signature__caption strong{font-size:7px;letter-spacing:.2em;color:rgba(255,255,255,.65)}.hero-signature__caption p{font-family:Georgia,"Times New Roman",serif;font-style:italic;color:rgba(255,255,255,.55);font-size:13px;text-align:right}
.hero-signature__signal{position:absolute;z-index:3;right:8%;top:14%;display:flex;align-items:flex-end;gap:3px;height:24px}.hero-signature__signal i{width:2px;background:rgb(var(--accent-rgb));box-shadow:0 0 8px rgba(var(--accent-rgb),.45);animation:signatureSignal 1.8s ease-in-out infinite alternate}.hero-signature__signal i:nth-child(1){height:7px}.hero-signature__signal i:nth-child(2){height:18px;animation-delay:.2s}.hero-signature__signal i:nth-child(3){height:11px;animation-delay:.5s}.hero-signature__signal i:nth-child(4){height:22px;animation-delay:.8s}.hero-signature__signal i:nth-child(5){height:9px;animation-delay:1s}
@keyframes signatureBreath{50%{transform:scale(1.05);opacity:.72}}
@keyframes signatureScan{0%,100%{transform:translateY(-80px);opacity:0}18%,82%{opacity:.85}50%{transform:translateY(90px)}}
@keyframes signatureSignal{to{transform:scaleY(.42);opacity:.38}}

/* Elegant motion in the page itself: colored light, never a colored page. */
.page-ambient__aurora{position:absolute;width:62vw;height:62vw;border-radius:50%;opacity:.12;will-change:transform}
.page-ambient__aurora--a{left:-28vw;top:30vh;background:radial-gradient(circle,rgba(155,119,255,.35),rgba(69,214,255,.12) 34%,transparent 67%);animation:ambientDriftA 28s ease-in-out infinite alternate}
.page-ambient__aurora--b{right:-32vw;top:115vh;background:radial-gradient(circle,rgba(238,191,91,.24),rgba(255,111,74,.10) 36%,transparent 67%);animation:ambientDriftB 34s ease-in-out infinite alternate}
.page-ambient__trace{position:absolute;left:-10%;right:-10%;top:55%;height:1px;background:linear-gradient(90deg,transparent,rgba(69,214,255,.12),rgba(155,119,255,.18),rgba(238,191,91,.12),transparent);transform:rotate(-6deg);animation:ambientTrace 16s ease-in-out infinite alternate;box-shadow:0 0 14px rgba(69,214,255,.08)}
@keyframes ambientDriftA{to{transform:translate3d(22vw,28vh,0) scale(1.12)}}
@keyframes ambientDriftB{to{transform:translate3d(-18vw,-34vh,0) scale(.92)}}
@keyframes ambientTrace{to{transform:translate3d(0,34vh,0) rotate(5deg);opacity:.42}}

/* Project feature reveal — information only after active request */
.button--features{border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.018)}
.project-features-modal{width:min(94vw,980px);max-height:min(88vh,820px);padding:0;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:rgba(8,11,17,.97);color:#fff;box-shadow:0 36px 120px rgba(0,0,0,.62),0 0 70px rgba(var(--accent-rgb),.08);overflow:hidden}
.project-features-modal::backdrop,.photo-gallery-modal::backdrop{background:rgba(3,5,8,.78);backdrop-filter:blur(9px);animation:dialogBackdropIn .38s ease both}
.project-features-modal[open]{animation:dialogPanelIn .48s var(--ease) both}
.project-features-modal__top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.018)}.project-features-modal__top>div{display:grid;gap:3px}.project-features-modal__top span{font-size:6px;letter-spacing:.2em;color:rgba(255,255,255,.38)}.project-features-modal__top strong{font-size:15px;font-weight:540}.project-features-modal__top button,.photo-gallery-modal__close{width:38px;height:38px;border:1px solid rgba(255,255,255,.11);border-radius:50%;background:rgba(255,255,255,.025);color:#fff;cursor:pointer;font-size:20px}
.project-features-modal__body{padding:clamp(20px,4vw,42px);overflow:auto;max-height:calc(88vh - 125px)}.project-features-modal__body>p{max-width:760px;font-size:15px;line-height:1.65;margin-bottom:24px}.project-features-modal__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-feature{position:relative;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));overflow:hidden}.project-feature::after{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,rgb(var(--accent-rgb)),transparent);opacity:.7}.project-feature span{display:block;font-size:6px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.36);margin-bottom:7px}.project-feature strong{display:block;font-size:15px;margin-bottom:6px}.project-feature p{font-size:12px;line-height:1.55}.project-features-modal__footer{display:flex;justify-content:space-between;gap:20px;padding:13px 18px;border-top:1px solid rgba(255,255,255,.08);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.42)}.project-features-modal__footer a{color:#fff}
@keyframes dialogBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes dialogPanelIn{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}

/* Film archive, quiet until requested */
.film-vault{width:min(calc(100% - var(--pad)*2),var(--max));margin:7vh auto 0;border:1px solid rgba(255,255,255,.08);border-radius:26px;background:rgba(255,255,255,.018);overflow:hidden}.film-vault summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:18px}.film-vault summary::-webkit-details-marker{display:none}.film-vault summary>div{display:grid;gap:4px}.film-vault summary>div:last-child{grid-auto-flow:column;align-items:center;gap:14px}.film-vault summary span,.film-vault summary small{font-size:7px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.38)}.film-vault summary strong{font-size:20px;letter-spacing:-.03em}.film-vault summary i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.10);font-style:normal;transition:transform .35s var(--ease)}.film-vault[open] summary i{transform:rotate(45deg)}.film-vault__body{padding:0 22px 24px;border-top:1px solid rgba(255,255,255,.06);animation:vaultOpen .55s var(--ease) both}.film-vault__intro{max-width:760px;padding:22px 0;font-size:13px}.film-vault__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.film-vault-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(180px,.95fr);gap:12px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:19px;background:rgba(255,255,255,.018)}.film-vault-card__copy{display:grid;align-content:center;gap:6px}.film-vault-card__copy span{font-size:6px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.36)}.film-vault-card__copy h4{margin:0;font-size:18px;letter-spacing:-.035em}.film-vault-card__copy p{font-size:11px;line-height:1.55}.cp-video--compact{min-height:180px}.cp-video--compact .cp-video__poster strong{font-size:17px;line-height:1}.cp-video--compact .cp-video__poster small{font-size:6px}.cp-video--compact .cp-video__controls{padding:0 5px}.cp-video--compact .cp-video__controls button{font-size:6px;padding:6px 5px}.cp-video--compact .cp-video__time,.cp-video--compact .cp-video__volume{display:none}
@keyframes vaultOpen{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}

/* Photo essay and full series overlay */
.photo-essay{padding-top:12vh}.photo-essay__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:50px;align-items:end}.photo-essay__head h2{font-size:clamp(54px,7vw,112px);margin-top:12px}.photo-essay__head>p{max-width:520px;justify-self:end;font-size:15px;line-height:1.65}.photo-strip{display:grid;grid-template-columns:1.15fr .9fr .95fr .52fr;gap:10px;margin-top:38px;align-items:stretch}.photo-strip__item,.photo-strip__open{position:relative;min-height:360px;border:0;border-radius:22px;overflow:hidden;background:#111722;padding:0;cursor:pointer}.photo-strip__item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .55s}.photo-strip__item::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.08);border-radius:inherit;box-shadow:inset 0 -90px 90px rgba(0,0,0,.12);pointer-events:none}.photo-strip__item:hover img,.photo-strip__item:focus-visible img{transform:scale(1.035);filter:saturate(1.08)}.photo-strip__open{display:grid;align-content:end;text-align:left;padding:20px;color:#fff;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 70% 20%,rgba(155,119,255,.15),transparent 42%),linear-gradient(145deg,#111723,#0a0e14)}.photo-strip__open span{font-size:7px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4)}.photo-strip__open strong{font-size:18px;margin-top:5px}.photo-strip__open i{position:absolute;right:18px;top:17px;font-style:normal}.photo-essay__hint{margin-top:12px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.34)}
.photo-gallery-modal{width:min(96vw,1500px);height:min(94vh,960px);padding:0;border:1px solid rgba(255,255,255,.10);border-radius:28px;background:rgba(6,8,12,.96);color:#fff;overflow:hidden;box-shadow:0 40px 140px rgba(0,0,0,.7)}.photo-gallery-modal[open]{animation:galleryIn .52s var(--ease) both}.photo-gallery-modal__close{position:absolute;right:16px;top:16px;z-index:5}.photo-gallery-modal__stage{height:calc(100% - 92px);display:grid;grid-template-columns:70px 1fr 70px;align-items:center;gap:10px;padding:22px}.photo-gallery-modal__stage figure{margin:0;position:relative;height:100%;display:grid;place-items:center;overflow:hidden;border-radius:20px;background:#080b10}.photo-gallery-modal__stage img{max-width:100%;max-height:100%;object-fit:contain;animation:galleryImageIn .42s var(--ease) both}.photo-gallery-modal__stage figcaption{position:absolute;left:15px;right:15px;bottom:14px;display:flex;justify-content:space-between;gap:20px;padding:9px 12px;border-radius:999px;background:rgba(6,8,12,.62);backdrop-filter:blur(10px);font-size:8px;letter-spacing:.10em;color:rgba(255,255,255,.68)}.photo-gallery-modal__nav{width:54px;height:54px;border:1px solid rgba(255,255,255,.10);border-radius:50%;background:rgba(255,255,255,.025);color:#fff;cursor:pointer}.photo-gallery-modal__thumbs{height:92px;display:flex;gap:6px;padding:10px 18px;border-top:1px solid rgba(255,255,255,.06);overflow-x:auto}.photo-gallery-modal__thumbs button{flex:0 0 92px;height:70px;padding:0;border:1px solid transparent;border-radius:10px;overflow:hidden;background:#111;cursor:pointer;opacity:.55}.photo-gallery-modal__thumbs button.is-active{opacity:1;border-color:rgba(var(--accent-rgb),.5)}.photo-gallery-modal__thumbs img{width:100%;height:100%;object-fit:cover}.photo-gallery-modal__thumbs button:nth-child(3) img{content:url('../media/gallery/strip-boa-tattoo.webp')}
@keyframes galleryIn{from{opacity:0;transform:translateY(26px) scale(.985)}to{opacity:1;transform:none}}@keyframes galleryImageIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}

/* Cinema mode: slow, theatrical fade and real player node preserved. */
.video-lightbox{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .95s ease,visibility .95s step-end;background:rgba(2,4,7,.16)}.video-lightbox[hidden]{display:none}.video-lightbox.is-visible{opacity:1;visibility:visible;transition-timing-function:ease,step-start}.video-lightbox__backdrop{position:absolute;inset:0;background:rgba(2,4,7,.88);backdrop-filter:blur(5px)}.video-lightbox::before,.video-lightbox::after{content:"";position:absolute;left:0;right:0;height:14vh;background:#020306;z-index:1;transition:transform 1.1s var(--ease)}.video-lightbox::before{top:0;transform:translateY(-100%)}.video-lightbox::after{bottom:0;transform:translateY(100%)}.video-lightbox.is-visible::before,.video-lightbox.is-visible::after{transform:none}.video-lightbox__stage{position:relative;z-index:2;width:min(94vw,1500px);height:min(82vh,900px);display:grid;place-items:center}.video-lightbox__close{position:fixed;right:22px;top:20px;z-index:5;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(5,8,12,.72);color:#fff;font-size:24px;opacity:0;transform:translateY(-10px);transition:.5s .6s}.video-lightbox.is-visible .video-lightbox__close{opacity:1;transform:none}.cp-video.is-enlarged{position:relative!important;z-index:3!important;width:min(92vw,1460px)!important;height:min(80vh,820px)!important;max-width:none!important;max-height:none!important;aspect-ratio:16/9!important;margin:auto!important;border-radius:12px!important;animation:cinemaScreenIn 1.15s var(--ease) both;box-shadow:0 40px 130px rgba(0,0,0,.72),0 0 42px rgba(var(--accent-rgb),.06)}@keyframes cinemaScreenIn{from{opacity:.25;transform:scale(.72) translateY(40px)}to{opacity:1;transform:none}}

/* Better actions when third button is present */
.case__actions{display:flex;flex-wrap:wrap;gap:9px}.case__actions .button{flex:0 0 auto}

@media(max-width:1100px){
  .boot-loader__log{grid-template-columns:1fr 1fr}.hero-signature{justify-self:center;width:min(100%,560px)}.project-features-modal__grid{grid-template-columns:1fr}.film-vault__grid{grid-template-columns:1fr}.photo-essay__head{grid-template-columns:1fr}.photo-essay__head>p{justify-self:start}.photo-strip{grid-template-columns:1fr 1fr}.photo-strip__open{min-height:220px}.photo-gallery-modal__stage{grid-template-columns:50px 1fr 50px}
}
@media(max-width:720px){
  .boot-loader__shell{gap:30px;padding:20px}.boot-loader__logo-wrap{width:150px;height:150px}.boot-loader__logo{width:128px;height:128px}.boot-loader__log{grid-template-columns:1fr 1fr}.reading-hold{bottom:14px}.hero-signature{min-height:370px}.hero-signature__logo-wrap{width:190px;height:190px}.hero-signature__logo{width:170px;height:170px}.hero-signature__caption{display:grid;gap:5px}.hero-signature__caption p{text-align:left;font-size:11px}.film-vault summary{padding:15px}.film-vault__body{padding:0 12px 15px}.film-vault-card{grid-template-columns:1fr}.photo-strip{grid-template-columns:1fr}.photo-strip__item,.photo-strip__open{min-height:300px}.photo-gallery-modal{width:100vw;height:100svh;max-width:none;max-height:none;border-radius:0}.photo-gallery-modal__stage{height:calc(100% - 78px);grid-template-columns:1fr;padding:14px}.photo-gallery-modal__nav{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:42px;height:42px;background:rgba(5,8,12,.65)}.photo-gallery-modal__nav--prev{left:10px}.photo-gallery-modal__nav--next{right:10px}.photo-gallery-modal__thumbs{height:78px}.photo-gallery-modal__thumbs button{flex-basis:74px;height:58px}.project-features-modal{width:100vw;max-width:none;height:100svh;max-height:none;border-radius:0}.project-features-modal__body{max-height:calc(100svh - 126px)}.case__actions{flex-direction:column}.case__actions .button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .boot-loader::before,.boot-loader::after,.boot-loader__logo-wrap,.boot-loader__scan,.boot-loader__copy,.boot-loader__system,.boot-loader__bar i,.boot-loader__log span,.hero-signature__halo,.hero-signature__scan,.hero-signature__signal i,.page-ambient__aurora,.page-ambient__trace{animation:none!important;opacity:1!important;transform:none!important}
}
.cp-video__fallback{position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:rgba(7,10,15,.92);font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:5px}.hero-signature:not(.motion-active) .hero-signature__halo,.hero-signature:not(.motion-active) .hero-signature__scan,.hero-signature:not(.motion-active) .hero-signature__signal i{animation-play-state:paused!important}.hero-signature.motion-active .hero-signature__halo,.hero-signature.motion-active .hero-signature__scan,.hero-signature.motion-active .hero-signature__signal i{animation-play-state:running}
.about-quote{margin:34px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.08);font-family:Georgia,"Times New Roman",serif;font-size:clamp(20px,2.3vw,31px);font-style:italic;line-height:1.35;color:rgba(255,255,255,.82)}
/* v0.4.3 gallery follows the current christianpohler.at logic: whole series at once. */
.photo-gallery-modal{width:min(96vw,1560px);height:min(94vh,980px);padding:0;overflow:hidden}
.photo-gallery-modal__head{height:68px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 16px 12px 20px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.012)}
.photo-gallery-modal__head>div{display:grid;gap:3px}.photo-gallery-modal__head span{font-size:6px;letter-spacing:.18em;color:rgba(255,255,255,.36)}.photo-gallery-modal__head strong{font-size:14px;font-weight:520}
.photo-gallery-modal__close{position:static;z-index:auto}
.photo-gallery-modal__grid{height:calc(100% - 68px);padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:auto;overscroll-behavior:contain}
.photo-gallery-modal__grid figure{margin:0;position:relative;min-height:260px;border-radius:16px;overflow:hidden;background:#0b0e14;border:1px solid rgba(255,255,255,.06);opacity:0;transform:translateY(24px) scale(.985);animation:galleryTileIn .62s var(--ease) forwards;animation-delay:calc(var(--gallery-index)*45ms)}
.photo-gallery-modal__grid figure:nth-child(1),.photo-gallery-modal__grid figure:nth-child(6){grid-column:span 2}
.photo-gallery-modal__grid img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s}
.photo-gallery-modal__grid figure:hover img{transform:scale(1.025);filter:saturate(1.06)}
@keyframes galleryTileIn{to{opacity:1;transform:none}}
@media(max-width:900px){.photo-gallery-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-gallery-modal__grid figure:nth-child(1),.photo-gallery-modal__grid figure:nth-child(6){grid-column:span 1}}
@media(max-width:620px){.photo-gallery-modal{width:100vw;height:100svh;max-width:none;max-height:none;border-radius:0}.photo-gallery-modal__grid{grid-template-columns:1fr;padding:10px}.photo-gallery-modal__grid figure{min-height:300px}}

/* ==========================================================
   v0.4.3.1 — READING HOLD HOTFIX
   The previous body freeze could stop a sticky panel halfway
   through its entrance. Holds now align first and only block
   user scroll input, so the sticky layout remains intact.
   ========================================================== */
.reading-hold.is-aligning{
  opacity:.72;
  transform:translate3d(-50%,0,0);
}
.reading-hold.is-aligning>div i{animation:none!important;transform:scaleX(0)}
body.is-reading-hold{overscroll-behavior:none}

/* Presentation anchors. The JS snaps these directly below the header. */
[data-read-hold],
.position__grid,
.process__intro,
.photo-essay__head,
.quality__intro,
.about__grid,
.lab__grid,
.contact__grid{scroll-margin-top:82px}

/* On desktop the immersive cards are exactly viewport sized so the
   whole card remains visible during the 4 s read hold. */
@media(min-width:921px){
  .discipline-card,.case,.film-card{
    height:calc(100svh - 104px);
    min-height:0;
  }
  .discipline-card__copy,.case__content,.film-card__copy{max-height:calc(100svh - 190px)}
}

/* The 921–1180px range previously stacked the film text above the
   player and could make a hold taller than the viewport. Keep the
   cinematic two-column composition until the mobile breakpoint. */
@media(min-width:921px) and (max-width:1180px){
  .film-card{
    grid-template-columns:minmax(220px,.60fr) minmax(0,1.40fr);
    align-content:stretch;
  }
  .film-card__copy{order:initial}
  .film-card .cp-video{order:initial;max-height:none}
  .film-card__copy h3{font-size:clamp(42px,5.3vw,72px)}
}

/* Short desktop windows: retain the whole composition instead of
   clipping copy below the fold. */
@media(min-width:921px) and (max-height:820px){
  .zone{padding-top:10vh;padding-bottom:10vh}
  .position h2{font-size:clamp(46px,6.3vw,86px)}
  .systems__intro h2,.process__intro h2,.film__intro h2,.quality__intro h2{font-size:clamp(44px,5.6vw,78px)}
  .systems__intro,.process__intro,.film__intro,.quality__intro{margin-bottom:5vh}
  .discipline-card,.case,.film-card{top:70px;height:calc(100svh - 84px)}
  .discipline-card__copy h3,.case h3{font-size:clamp(48px,6vw,82px);margin-bottom:16px}
  .discipline-card__lead,.case__lead,.film-card__copy>p{font-size:14px;line-height:1.48}
  .discipline-card__features,.case__actions{margin-top:16px}
  .process-system article{min-height:250px;padding:18px}
  .process-system h3{margin:40px 0 12px;font-size:clamp(30px,2.5vw,40px)}
  .quality-card{min-height:250px}
  .quality-card h3{margin-top:48px}
}

/* Mobile cards already become normal-flow panels. Make the hold
   anchor land immediately below the compact header and keep the
   entire card inside common portrait viewports. */
@media(max-width:920px){
  [data-read-hold],.position__grid,.process__intro,.photo-essay__head,.quality__intro,.about__grid,.lab__grid,.contact__grid{scroll-margin-top:72px}
  .discipline-card,.case{min-height:min(720px,calc(100svh - 86px))}
}

@media(max-width:920px) and (orientation:landscape) and (max-height:620px){
  .discipline-card,.case,.film-card{min-height:0;padding:16px}
  .discipline-card__copy,.case__content{padding-top:210px}
  .film-core,.brand-core,.digital-core{height:230px}
  .discipline-card__copy h3,.case h3,.film-card__copy h3{font-size:clamp(34px,7vw,56px);margin:10px 0 12px}
  .discipline-card__lead,.case__lead,.film-card__copy>p{font-size:12px;line-height:1.4}
  .discipline-card__features,.case__actions{margin-top:12px}
}

/* ==========================================================
   v0.4.3.2 — STABLE DWELL / NO-JUMP SCROLL SYSTEM
   All timed scroll interception has been removed. Reading time
   is created spatially with native sticky positioning only.
   ========================================================== */
body.is-booting{overflow:hidden}
body{position:relative;isolation:isolate}
.page-ambient{z-index:0}
main,.site-footer{position:relative;z-index:1}

/* Ambient motion is visible from the first screen and stays subtle.
   Only transform/opacity animate; no large blur filters or JS loops. */
.page-ambient__aurora,.page-ambient__signal{position:absolute;pointer-events:none;will-change:transform,opacity}
.page-ambient__aurora{width:58vw;height:58vw;border-radius:50%;opacity:.12}
.page-ambient__aurora--a{left:-20vw;top:18vh;background:radial-gradient(circle at 50% 50%,rgba(69,214,255,.42),rgba(155,119,255,.15) 34%,transparent 68%);animation:ambientDriftA 24s ease-in-out infinite alternate}
.page-ambient__aurora--b{right:-24vw;top:56vh;background:radial-gradient(circle at 50% 50%,rgba(238,191,91,.30),rgba(219,112,91,.12) 36%,transparent 70%);animation:ambientDriftB 31s ease-in-out infinite alternate}
.page-ambient__signal{height:1px;width:42vw;opacity:.14;background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.70),transparent);box-shadow:0 0 12px rgba(var(--accent-rgb),.18)}
.page-ambient__signal--a{left:-8vw;top:28vh;transform:rotate(-18deg);animation:ambientSignalA 18s ease-in-out infinite alternate}
.page-ambient__signal--b{right:-12vw;top:73vh;transform:rotate(12deg);animation:ambientSignalB 22s ease-in-out infinite alternate}
@keyframes ambientDriftA{to{transform:translate3d(18vw,14vh,0) scale(1.08);opacity:.17}}
@keyframes ambientDriftB{to{transform:translate3d(-16vw,-18vh,0) scale(.92);opacity:.15}}
@keyframes ambientSignalA{to{transform:translate3d(30vw,20vh,0) rotate(-12deg);opacity:.22}}
@keyframes ambientSignalB{to{transform:translate3d(-26vw,-26vh,0) rotate(6deg);opacity:.20}}

/* The statement now dwells by scroll distance, never by blocking input. */
.position{min-height:190svh;padding-top:0;padding-bottom:0}
.position__grid{position:sticky;top:74px;min-height:calc(100svh - 88px);align-items:center;padding-top:6vh;padding-bottom:6vh}

/* Long native dwell for immersive stacks. The next panel approaches
   slowly while the current panel remains perfectly stationary. */
@media(min-width:921px){
  .discipline-card,.case,.film-card{margin-bottom:48vh}
  .discipline-stack,.case-stack,.film-stack{padding-bottom:88vh}
  .discipline-card:last-child,.case:last-child,.film-card:last-child{margin-bottom:0}
}

/* Give the non-stacked editorial chapters more breathing room without
   any snapping or input interception. */
.process,.photo-essay,.quality,.about,.lab,.contact{padding-top:18vh;padding-bottom:18vh}

/* Remove all visual remnants of the old timed-hold UI. */
.reading-hold{display:none!important}
body.is-reading-hold{overscroll-behavior:auto!important}

/* Short desktop windows: keep every sticky panel entirely in frame. */
@media(min-width:921px) and (max-height:760px){
  .position__grid{top:64px;min-height:calc(100svh - 72px);padding-block:3vh}
  .discipline-card,.case,.film-card{top:64px;height:calc(100svh - 72px);margin-bottom:42vh}
  .discipline-card__copy h3,.case h3,.film-card__copy h3{font-size:clamp(38px,5.2vw,70px)}
  .discipline-card__lead,.case__lead,.film-card__copy>p{font-size:13px;line-height:1.42}
  .discipline-card__features,.case__actions{margin-top:12px}
}

/* Mobile remains free-flowing: no sticky trap, no forced pauses. */
@media(max-width:920px){
  .position{min-height:auto;padding-top:12vh;padding-bottom:12vh}
  .position__grid{position:relative;top:auto;min-height:0;padding:0}
  .discipline-stack,.case-stack,.film-stack{padding-bottom:10vh}
  .discipline-card,.case,.film-card{margin-bottom:10vh}
  .page-ambient__aurora{width:96vw;height:96vw;opacity:.09}
  .page-ambient__signal{width:78vw;opacity:.11}
}

@media(prefers-reduced-motion:reduce){
  .page-ambient__aurora,.page-ambient__signal{animation:none!important}
}

/* Explicit trailing dwell blocks keep the LAST sticky card pinned too.
   Padding alone is not a reliable sticky boundary in all engines. */
@media(min-width:921px){
  .discipline-stack,.case-stack,.film-stack{padding-bottom:0}
  .discipline-stack::after,.case-stack::after,.film-stack::after{content:"";display:block;height:88vh;pointer-events:none}
}
@media(min-width:921px){.position__grid{top:62px}}

/* ==========================================================
   v0.4.3.3 — FLOW / CINEMA / ENERGY REFINEMENT
   Native dwell, section-specific ambient motion, smoother energy
   changes, more informative cases, theatrical video behavior.
   ========================================================== */

/* ---------- Section-specific background energy ---------- */
.ambient-scenes{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}
.ambient-scene{position:absolute;inset:0;opacity:0;transition:opacity 1.8s cubic-bezier(.22,.8,.18,1);color:rgb(var(--accent-rgb));}
body[data-ambient="hero"] .ambient-scene--hero,
body[data-ambient="position"] .ambient-scene--position,
body[data-ambient="systems"] .ambient-scene--systems,
body[data-ambient="process"] .ambient-scene--process,
body[data-ambient="work"] .ambient-scene--work,
body[data-ambient="film"] .ambient-scene--film,
body[data-ambient="photo"] .ambient-scene--photo,
body[data-ambient="quality"] .ambient-scene--quality,
body[data-ambient="about"] .ambient-scene--about,
body[data-ambient="lab"] .ambient-scene--lab,
body[data-ambient="contact"] .ambient-scene--contact{opacity:.32}
.ambient-scene i{position:absolute;display:block;box-sizing:border-box;will-change:transform,opacity}
.ambient-scene .scene-dot,.ambient-scene .scene-node,.ambient-scene .scene-particle{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor;opacity:.62}

/* HERO — moving film frames / focus line */
.ambient-scene--hero .scene-frame{right:7vw;top:18vh;width:30vw;height:18vw;border:1px solid rgba(var(--accent-rgb),.14);transform:rotate(-6deg)}
.ambient-scene--hero .scene-frame.b{right:13vw;top:28vh;width:23vw;height:14vw;transform:rotate(5deg);opacity:.55}
.ambient-scene--hero .scene-line{left:-8vw;top:61vh;width:55vw;height:1px;background:linear-gradient(90deg,transparent,currentColor,transparent);box-shadow:0 0 10px currentColor;animation:sceneSweep 13s ease-in-out infinite alternate}
.ambient-scene--hero .scene-dot{right:25vw;top:35vh;animation:scenePulse 4.8s ease-in-out infinite}

/* POSITION — two energies finding equilibrium */
.ambient-scene--position .scene-balance{left:10vw;top:48vh;width:42vw;height:1px;background:linear-gradient(90deg,transparent,currentColor,transparent);transform:rotate(-9deg);animation:balanceFlow 14s ease-in-out infinite alternate}
.ambient-scene--position .scene-balance.b{left:48vw;top:55vh;transform:rotate(7deg);opacity:.55;animation-delay:-5s}
.ambient-scene--position .scene-dot.a{left:42vw;top:42vh}.ambient-scene--position .scene-dot.b{right:34vw;top:62vh;opacity:.35}

/* SYSTEMS — three pillars connected */
.ambient-scene--systems .scene-node.a{left:22vw;top:35vh}.ambient-scene--systems .scene-node.b{left:50vw;top:50vh}.ambient-scene--systems .scene-node.c{right:20vw;top:31vh}
.ambient-scene--systems .scene-link{left:22vw;top:35vh;width:31vw;height:1px;background:linear-gradient(90deg,currentColor,rgba(var(--accent-rgb),.12));transform:rotate(16deg);transform-origin:left;animation:energyBreath 7s ease-in-out infinite}
.ambient-scene--systems .scene-link.b{left:50vw;top:50vh;width:31vw;transform:rotate(-20deg);animation-delay:-3s}

/* PROCESS — current moving through three stages */
.ambient-scene--process .scene-flow{left:8vw;right:8vw;top:57vh;height:1px;background:linear-gradient(90deg,transparent,currentColor,transparent);box-shadow:0 0 12px rgba(var(--accent-rgb),.22)}
.ambient-scene--process .scene-node.a{left:24vw;top:calc(57vh - 3px)}.ambient-scene--process .scene-node.b{left:50vw;top:calc(57vh - 3px)}.ambient-scene--process .scene-node.c{left:76vw;top:calc(57vh - 3px)}
.ambient-scene--process .scene-node{animation:processNode 5.8s ease-in-out infinite}.ambient-scene--process .scene-node.b{animation-delay:1.4s}.ambient-scene--process .scene-node.c{animation-delay:2.8s}

/* WORK — frame corners and a slow scan */
.ambient-scene--work .scene-corner{width:90px;height:90px;border-color:currentColor;opacity:.45}.ambient-scene--work .scene-corner.a{left:6vw;top:22vh;border-left:1px solid;border-top:1px solid}.ambient-scene--work .scene-corner.b{right:8vw;bottom:20vh;border-right:1px solid;border-bottom:1px solid}
.ambient-scene--work .scene-scan{left:12vw;right:12vw;top:50vh;height:1px;background:linear-gradient(90deg,transparent,currentColor,transparent);animation:workScan 10s ease-in-out infinite alternate}
.ambient-scene--work .scene-line{right:20vw;top:28vh;width:19vw;height:1px;background:currentColor;opacity:.22;transform:rotate(28deg)}

/* FILM — subtle perforation / audio wave */
.ambient-scene--film .scene-filmrail{left:5vw;right:5vw;height:8px;background:repeating-linear-gradient(90deg,rgba(var(--accent-rgb),.25) 0 12px,transparent 12px 20px);opacity:.35}.ambient-scene--film .scene-filmrail.a{top:18vh}.ambient-scene--film .scene-filmrail.b{bottom:15vh}
.ambient-scene--film .scene-wave{left:16vw;top:50vh;width:68vw;height:42px;border-top:1px solid rgba(var(--accent-rgb),.32);border-radius:50%;transform:skewX(-28deg);animation:waveDrift 9s ease-in-out infinite alternate}.ambient-scene--film .scene-wave.b{top:54vh;opacity:.38;animation-delay:-4s}

/* PHOTO — focus brackets */
.ambient-scene--photo .scene-focus{left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(var(--accent-rgb),.22);width:28vw;height:28vw;animation:focusBreath 8s ease-in-out infinite}.ambient-scene--photo .scene-focus.b{width:18vw;height:18vw;opacity:.45;animation-delay:-2s}.ambient-scene--photo .scene-focus.c{width:7vw;height:7vw;opacity:.65;animation-delay:-4s}.ambient-scene--photo .scene-dot{left:50%;top:50%}

/* QUALITY — circuit / system check */
.ambient-scene--quality .scene-circuit{left:10vw;top:36vh;width:32vw;height:22vh;border-left:1px solid rgba(var(--accent-rgb),.28);border-bottom:1px solid rgba(var(--accent-rgb),.28);border-radius:0 0 0 24px}.ambient-scene--quality .scene-circuit.b{left:56vw;top:52vh;width:28vw;height:16vh;border:0;border-top:1px solid rgba(var(--accent-rgb),.22);border-right:1px solid rgba(var(--accent-rgb),.22);border-radius:0 22px 0 0}.ambient-scene--quality .scene-node.a{left:10vw;top:36vh}.ambient-scene--quality .scene-node.b{right:16vw;top:52vh;animation:scenePulse 5s ease-in-out infinite}

/* ABOUT — three ideas converging */
.ambient-scene--about .scene-orbit{right:14vw;top:29vh;width:25vw;height:25vw;border:1px solid rgba(var(--accent-rgb),.18);border-radius:50%;animation:slowSpin 35s linear infinite}.ambient-scene--about .scene-orbit.b{right:20vw;top:37vh;width:13vw;height:13vw;animation-direction:reverse;opacity:.5}.ambient-scene--about .scene-node.a{right:33vw;top:31vh}.ambient-scene--about .scene-node.b{right:15vw;top:50vh}.ambient-scene--about .scene-node.c{right:28vw;top:69vh}

/* LAB — orbits and particles */
.ambient-scene--lab .scene-orbit{left:56vw;top:28vh;width:27vw;height:27vw;border:1px solid rgba(var(--accent-rgb),.22);border-radius:50%;animation:slowSpin 28s linear infinite}.ambient-scene--lab .scene-orbit.b{left:61vw;top:34vh;width:18vw;height:18vw;animation-direction:reverse;opacity:.55}.ambient-scene--lab .scene-orbit.c{left:66vw;top:40vh;width:9vw;height:9vw;opacity:.7}.ambient-scene--lab .scene-particle.a{left:60vw;top:27vh}.ambient-scene--lab .scene-particle.b{left:78vw;top:58vh}.ambient-scene--lab .scene-particle.c{left:67vw;top:69vh}

/* CONTACT — quiet gateway / invitation */
.ambient-scene--contact .scene-gate{left:62vw;top:22vh;width:18vw;height:56vh;border:1px solid rgba(var(--accent-rgb),.16);border-bottom:0;border-radius:50% 50% 0 0}.ambient-scene--contact .scene-gate.b{left:65vw;top:28vh;width:12vw;height:46vh;opacity:.5}.ambient-scene--contact .scene-gate.c{left:68vw;top:35vh;width:6vw;height:35vh;opacity:.72}.ambient-scene--contact .scene-dot{left:71vw;top:51vh;animation:scenePulse 4s ease-in-out infinite}

@keyframes sceneSweep{to{transform:translate3d(38vw,14vh,0) rotate(4deg);opacity:.5}}
@keyframes scenePulse{50%{transform:scale(1.8);opacity:1}}
@keyframes balanceFlow{to{transform:translate3d(10vw,8vh,0) rotate(4deg);opacity:.28}}
@keyframes energyBreath{50%{opacity:.22;transform:rotate(12deg) scaleX(1.08)}}
@keyframes processNode{0%,100%{opacity:.28;transform:scale(.8)}50%{opacity:.95;transform:scale(1.45)}}
@keyframes workScan{to{transform:translateY(30vh);opacity:.2}}
@keyframes waveDrift{to{transform:translateX(8vw) skewX(20deg);opacity:.18}}
@keyframes focusBreath{50%{transform:translate(-50%,-50%) scale(1.1);opacity:.3}}

/* ---------- Dwell without jumping: spatial / native only ---------- */
.editorial-zone{padding:0!important;min-height:185svh;position:relative}
.editorial-stage{position:sticky;top:62px;min-height:calc(100svh - 72px);display:flex;flex-direction:column;justify-content:center;padding:10vh 0 8vh;overflow:hidden}
.editorial-tail{height:82vh;pointer-events:none}
.process .editorial-stage,.quality .editorial-stage,.about .editorial-stage,.lab .editorial-stage,.contact .editorial-stage,.photo-essay .editorial-stage{gap:5vh}
.work-outro-dwell{position:relative;min-height:178svh;margin-top:24vh}
.work-outro-dwell .work__outro{position:sticky;top:62px;min-height:calc(100svh - 72px);padding-block:8vh;border-top:1px solid var(--line);align-content:center}
.work-outro-tail{height:76vh;pointer-events:none}
.work__outro-copy{grid-column:2;max-width:720px;margin-top:14px;font-size:clamp(14px,1.05vw,18px);line-height:1.6;color:rgba(255,255,255,.58)}
.work__outro .text-link{align-self:center}

/* The last content cards need a little more room to breathe before the next chapter. */
@media(min-width:921px){
  .discipline-card,.case,.film-card{margin-bottom:62vh}
  .discipline-stack::after,.case-stack::after,.film-stack::after{height:104vh}
}

/* ---------- Film composition: never let copy disappear under player ---------- */
.film-card{grid-template-columns:minmax(390px,.72fr) minmax(0,1.28fr);gap:clamp(34px,4vw,66px)}
.film-card__copy{min-width:0;padding-left:1vw;padding-right:clamp(16px,2vw,36px);position:relative;z-index:2}
.film-card__copy h3{font-size:clamp(48px,4.45vw,78px);line-height:.88;max-width:100%;overflow-wrap:normal;hyphens:auto}
.film-card .cp-video{min-width:0;position:relative;z-index:1}

/* ---------- CP Player: readable controls ---------- */
.cp-video__controls{min-height:60px;padding-inline:14px;gap:11px}
.cp-video__controls button{font-size:8px;min-height:38px;padding:7px 9px}
.cp-video__fullscreen{display:inline-flex!important;align-items:center;gap:7px!important;color:rgba(255,255,255,.86)!important}
.cp-video__fullscreen-icon{position:relative;width:22px;height:22px;display:block;flex:0 0 22px}
.cp-video__fullscreen-icon i{position:absolute;width:7px;height:7px;border-color:currentColor;border-style:solid}
.cp-video__fullscreen-icon i:nth-child(1){left:0;top:0;border-width:2px 0 0 2px}.cp-video__fullscreen-icon i:nth-child(2){right:0;top:0;border-width:2px 2px 0 0}.cp-video__fullscreen-icon i:nth-child(3){right:0;bottom:0;border-width:0 2px 2px 0}.cp-video__fullscreen-icon i:nth-child(4){left:0;bottom:0;border-width:0 0 2px 2px}
.cp-video--compact .cp-video__fullscreen-label{display:none}.cp-video--compact .cp-video__fullscreen-icon{width:20px;height:20px;flex-basis:20px}
.cp-video.is-transitioning{pointer-events:none}.cp-video.is-fading-out{opacity:.35;transition:opacity .65s ease}.cp-video.is-fading-in{animation:videoSoftIn .9s ease both}@keyframes videoSoftIn{from{opacity:.35}to{opacity:1}}

/* ---------- Cinema Mode: darkness first, screen second, film third ---------- */
.video-lightbox{display:grid;place-items:center;background:transparent;opacity:0;visibility:hidden;transition:opacity 3s cubic-bezier(.2,.72,.2,1),visibility 3s step-end}
.video-lightbox[hidden]{display:none!important}
.video-lightbox.is-visible{opacity:1;visibility:visible;transition:opacity 3s cubic-bezier(.2,.72,.2,1),visibility 0s step-start}
.video-lightbox__backdrop{position:absolute;inset:0;background:rgba(2,4,7,.94);backdrop-filter:blur(6px);opacity:0;transition:opacity 3s cubic-bezier(.2,.72,.2,1)}
.video-lightbox.is-visible .video-lightbox__backdrop{opacity:1}
.video-lightbox::before,.video-lightbox::after{height:10vh;background:#010204;opacity:.92;transition:transform 2.7s cubic-bezier(.2,.72,.2,1)}
.video-lightbox__stage{width:min(76vw,1180px);height:min(68vh,690px);display:grid;place-items:center;perspective:1200px;opacity:0;transform:scale(.92) translateY(24px);transition:opacity .9s ease,transform 1.1s var(--ease)}
.video-lightbox.is-screen-ready .video-lightbox__stage{opacity:1;transform:none}
.video-lightbox.is-screen-leaving .video-lightbox__stage{opacity:0;transform:scale(.95) translateY(18px);transition-duration:.7s}
.video-lightbox__close{opacity:0;transition:opacity .5s ease,transform .5s ease,border-color .25s;pointer-events:none}
.video-lightbox.is-screen-ready .video-lightbox__close{opacity:1;pointer-events:auto}
.cp-video.is-enlarged{position:relative!important;width:min(74vw,1120px)!important;height:auto!important;max-height:66vh!important;aspect-ratio:16/9!important;border-radius:14px!important;margin:0!important;box-shadow:0 34px 120px rgba(0,0,0,.82),0 0 60px rgba(var(--case-rgb),.10)!important;animation:none!important;transform:none!important}
.cp-video.is-enlarged .cp-video__stage{min-height:0}.cp-video.is-enlarged .cp-video__controls{min-height:58px}
.video-modal-open{overflow:hidden}

/* ---------- Film vault: inviting, cinematic, smoothly unrolling ---------- */
.film-vault{margin-top:10vh;border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.01));box-shadow:0 28px 90px rgba(0,0,0,.26);position:relative;overflow:hidden}
.film-vault::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 10%,rgba(255,112,72,.10),transparent 30%),linear-gradient(120deg,transparent 40%,rgba(255,255,255,.018) 50%,transparent 60%)}
.film-vault::after{content:"";position:absolute;right:5%;top:20px;width:180px;height:80px;border-top:1px solid rgba(255,112,72,.22);border-right:1px solid rgba(255,112,72,.12);border-radius:0 28px 0 0;pointer-events:none}
.film-vault__trigger{position:relative;z-index:2;width:100%;border:0;background:transparent;color:#fff;cursor:pointer;padding:28px clamp(20px,3vw,38px);display:flex;align-items:center;justify-content:space-between;gap:22px;text-align:left}
.film-vault__trigger>div{display:grid;gap:6px}.film-vault__trigger>div:last-child{grid-auto-flow:column;align-items:center;gap:15px}
.film-vault__trigger span,.film-vault__trigger small{font-size:7px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.42)}.film-vault__trigger strong{font-size:clamp(22px,2.2vw,36px);letter-spacing:-.045em}.film-vault__trigger i{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,112,72,.24);font-style:normal;font-size:19px;transition:transform .75s var(--ease),box-shadow .5s;background:rgba(255,112,72,.04)}
.film-vault__trigger:hover i{box-shadow:0 0 26px rgba(255,112,72,.16)}.film-vault[data-open="true"] .film-vault__trigger i{transform:rotate(45deg)}
.film-vault__reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 1.05s var(--ease),opacity .85s ease;border-top:1px solid transparent}
.film-vault__reveal-inner{overflow:hidden;min-height:0;padding:0 clamp(16px,2vw,28px);transform:translateY(-18px);transition:transform 1.05s var(--ease),padding 1.05s var(--ease)}
.film-vault[data-open="true"] .film-vault__reveal{grid-template-rows:1fr;opacity:1;border-top-color:rgba(255,255,255,.06)}
.film-vault[data-open="true"] .film-vault__reveal-inner{padding-top:0;padding-bottom:28px;transform:none}
.film-vault__intro{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(15px,1.15vw,19px);color:rgba(255,255,255,.62);max-width:850px;padding:28px 4px 24px}
.film-vault__grid{gap:16px}.film-vault-card{border-radius:22px;background:radial-gradient(circle at 100% 0%,rgba(255,112,72,.07),transparent 38%),rgba(255,255,255,.017);transition:border-color .45s,transform .45s,box-shadow .45s}.film-vault-card:hover{transform:translateY(-3px);border-color:rgba(255,112,72,.20);box-shadow:0 20px 55px rgba(0,0,0,.22)}

/* ---------- Richer project cards without visual clutter ---------- */
.case-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:.32}
.case-atmosphere i{position:absolute;display:block}
.case-atmosphere--amigos i{width:34px;height:34px;border-radius:50%;border:1px solid rgba(246,225,127,.35)}.case-atmosphere--amigos i:nth-child(1){right:34%;top:18%}.case-atmosphere--amigos i:nth-child(2){right:25%;top:25%;width:12px;height:12px}.case-atmosphere--amigos i:nth-child(3){right:18%;top:20%;width:18px;height:18px}.case-atmosphere--amigos i:nth-child(4){right:11%;top:30%;width:8px;height:8px}.case-atmosphere--amigos i:nth-child(5){right:5%;top:22%;width:24px;height:24px}
.case-atmosphere--faia i{left:55%;right:5%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,235,178,.35),transparent);transform:rotate(-8deg)}.case-atmosphere--faia i:nth-child(1){top:20%}.case-atmosphere--faia i:nth-child(2){top:27%;opacity:.7}.case-atmosphere--faia i:nth-child(3){top:34%;opacity:.5}.case-atmosphere--faia i:nth-child(4){top:41%;opacity:.34}.case-atmosphere--faia i:nth-child(5){top:48%;opacity:.22}
.case-atmosphere--hvc i{right:5%;width:2px;bottom:15%;background:linear-gradient(180deg,rgba(232,129,255,.65),transparent);border-radius:999px}.case-atmosphere--hvc i:nth-child(1){height:12%;right:38%}.case-atmosphere--hvc i:nth-child(2){height:24%;right:33%}.case-atmosphere--hvc i:nth-child(3){height:16%;right:28%}.case-atmosphere--hvc i:nth-child(4){height:30%;right:23%}.case-atmosphere--hvc i:nth-child(5){height:19%;right:18%}
.case-atmosphere--loving i{right:5%;top:12%;width:32%;height:1px;background:linear-gradient(90deg,transparent,rgba(222,208,173,.30));transform-origin:right;transform:rotate(-14deg)}.case-atmosphere--loving i:nth-child(2){top:24%;transform:rotate(9deg);opacity:.65}.case-atmosphere--loving i:nth-child(3){top:36%;transform:rotate(-4deg);opacity:.45}.case-atmosphere--loving i:nth-child(4){top:48%;transform:rotate(13deg);opacity:.3}.case-atmosphere--loving i:nth-child(5){top:60%;transform:rotate(-10deg);opacity:.22}
.case-atmosphere--ergo i{right:8%;top:12%;width:28%;height:28%;border-right:1px solid rgba(196,216,209,.24);border-top:1px solid rgba(196,216,209,.18);border-radius:0 30px 0 0}.case-atmosphere--ergo i:nth-child(2){top:28%;right:14%;width:20%;height:20%;opacity:.6}.case-atmosphere--ergo i:nth-child(3){top:46%;right:8%;width:26%;height:1px;border:0;background:linear-gradient(90deg,transparent,rgba(196,216,209,.28))}.case-atmosphere--ergo i:nth-child(4){top:52%;right:8%;width:22%;height:1px;border:0;background:linear-gradient(90deg,transparent,rgba(196,216,209,.20))}.case-atmosphere--ergo i:nth-child(5){top:58%;right:8%;width:18%;height:1px;border:0;background:linear-gradient(90deg,transparent,rgba(196,216,209,.14))}

/* FAIASALAMANDA: sun and horizon instead of oversized competing circles */
.case--faia .faia-sun{right:20%;top:23%;width:13%;box-shadow:0 0 38px rgba(255,211,100,.20)}
.case--faia .faia-word{right:4%;top:32%;font-size:clamp(96px,18vw,260px);color:rgba(255,255,255,.10)}
.faia-horizon{position:absolute;right:7%;left:54%;top:55%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,231,174,.48),transparent);box-shadow:0 0 12px rgba(255,191,83,.18)}
.faia-wave{position:absolute;right:6%;left:57%;top:62%;height:80px}.faia-wave i{position:absolute;left:0;right:0;height:1px;border-top:1px solid rgba(255,235,190,.20);border-radius:50%;transform:skewX(-20deg)}.faia-wave i:nth-child(2){top:16px;opacity:.72}.faia-wave i:nth-child(3){top:32px;opacity:.48}.faia-wave i:nth-child(4){top:48px;opacity:.28}

/* HeartVibe: frequencies orbit the emotional center instead of hiding behind 03. */
.hvc-frequencies{position:absolute;right:7%;top:20%;width:52%;height:60%;pointer-events:none}.hvc-frequencies span{position:absolute;font-size:clamp(13px,1.5vw,22px);letter-spacing:.08em;color:rgba(255,255,255,.28);text-shadow:0 0 14px rgba(232,129,255,.16)}.hvc-frequencies .f1{left:8%;top:16%;opacity:.48}.hvc-frequencies .f2{right:4%;top:18%;opacity:.34}.hvc-frequencies .f3{left:18%;bottom:18%;opacity:.32}.hvc-frequencies .f4{left:48%;top:49%;font-size:clamp(18px,2.4vw,38px);color:rgba(255,226,244,.64);text-shadow:0 0 24px rgba(232,129,255,.28)}.hvc-frequencies .f5{right:8%;bottom:14%;opacity:.40}.hvc-spectrum{position:absolute;right:10%;bottom:12%;width:33%;height:70px;display:flex;align-items:flex-end;justify-content:center;gap:6px;opacity:.32}.hvc-spectrum i{width:2px;background:linear-gradient(180deg,#f1a4ff,transparent);box-shadow:0 0 8px rgba(232,129,255,.24)}.hvc-spectrum i:nth-child(1){height:18%}.hvc-spectrum i:nth-child(2){height:42%}.hvc-spectrum i:nth-child(3){height:28%}.hvc-spectrum i:nth-child(4){height:66%}.hvc-spectrum i:nth-child(5){height:50%}.hvc-spectrum i:nth-child(6){height:88%}.hvc-spectrum i:nth-child(7){height:58%}.hvc-spectrum i:nth-child(8){height:76%}.hvc-spectrum i:nth-child(9){height:38%}.hvc-spectrum i:nth-child(10){height:54%}.hvc-spectrum i:nth-child(11){height:24%}.motion-active .hvc-spectrum i{animation:wavePulse 1.8s ease-in-out infinite alternate}.motion-active .hvc-spectrum i:nth-child(2n){animation-delay:-.6s}.motion-active .hvc-spectrum i:nth-child(3n){animation-delay:-1.1s}

/* ---------- End-of-page selection psychology: invitation + mutual fit ---------- */
.contact .editorial-stage{padding-bottom:7vh}
.contact-panel{background:radial-gradient(circle at 90% 10%,rgba(228,182,91,.11),transparent 35%),linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));border-color:rgba(228,182,91,.15);box-shadow:0 28px 90px rgba(0,0,0,.28)}
.contact-panel__status span{color:rgba(228,182,91,.72)}
.contact-panel>p{font-size:clamp(14px,1vw,17px);line-height:1.68}
.contact-panel>small{max-width:420px;line-height:1.5;color:rgba(255,255,255,.42)}

/* ---------- Project feature overlay: more room for real functionality ---------- */
.project-features-modal{width:min(95vw,1120px);max-height:min(90vh,880px)}
.project-features-modal__body{max-height:calc(90vh - 128px)}
.project-features-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.project-feature{min-height:132px;padding:20px}.project-feature strong{font-size:16px}.project-feature p{font-size:12.5px;line-height:1.62}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  .film-card{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}
  .film-card__copy h3{font-size:clamp(44px,5vw,68px)}
  .editorial-stage{top:58px;min-height:calc(100svh - 66px)}
}
@media(max-width:920px){
  .editorial-zone{min-height:auto;padding:12vh 0!important}.editorial-stage{position:relative;top:auto;min-height:0;padding:0;overflow:visible}.editorial-tail{display:none}
  .work-outro-dwell{min-height:auto;margin-top:14vh}.work-outro-dwell .work__outro{position:relative;top:auto;min-height:0;padding-block:11vh}.work-outro-tail{display:none}.work__outro-copy{grid-column:auto}
  .film-card{grid-template-columns:1fr}.film-card__copy{padding:0}.film-card__copy h3{font-size:clamp(44px,10vw,72px)}
  .video-lightbox__stage{width:92vw;height:72vh}.cp-video.is-enlarged{width:90vw!important;max-height:68vh!important}
  .cp-video__fullscreen-label{display:none}.cp-video__fullscreen-icon{width:24px;height:24px;flex-basis:24px}
  .project-features-modal__grid{grid-template-columns:1fr}
  .ambient-scene{opacity:0!important} /* keep mobile GPU budget clean */
}
@media(max-width:640px){
  .cp-video__controls{gap:4px;padding-inline:7px}.cp-video__controls button{min-height:40px;padding:7px 5px}.cp-video__fullscreen-icon{width:23px;height:23px;flex-basis:23px}
  .film-vault__trigger{padding:22px 16px}.film-vault__trigger strong{font-size:22px}.film-vault__trigger small{display:none}.film-vault__grid{grid-template-columns:1fr}.film-vault-card{grid-template-columns:1fr}.film-vault-card__copy{padding:7px 4px 12px}
  .hvc-frequencies{right:4%;top:13%;width:68%;height:48%}.hvc-frequencies .f4{left:44%;top:48%}
}
@media(prefers-reduced-motion:reduce){
  .ambient-scene,.ambient-scene *{animation:none!important;transition:none!important}.video-lightbox,.video-lightbox__backdrop,.video-lightbox__stage{transition-duration:.01ms!important}.film-vault__reveal,.film-vault__reveal-inner{transition-duration:.01ms!important}
}

/* Final viewport-fit pass for the editorial chapters shown in the staging screenshots. */
@media(min-width:1181px){
  .work-outro-dwell .work__outro{grid-template-columns:.42fr 1.18fr .52fr;gap:34px}
  .work__outro h3{font-size:clamp(52px,4.6vw,78px);line-height:.92}
  .work__outro-copy{font-size:15px;margin-top:12px}
  .about__copy h2{font-size:clamp(48px,4.4vw,76px);margin:12px 0 18px}
  .about__copy>p{font-size:15px;line-height:1.55}
  .about-steps{margin-top:22px}.about-steps article{padding:15px}.about-steps strong{font-size:18px;margin:16px 0 6px}.about-steps p{font-size:11px}
  .about-quote{margin-top:20px;padding-top:16px;font-size:clamp(19px,1.8vw,26px);line-height:1.28}
  .about-machine{min-height:500px}
}

/* v0.4.3.3 final harmony pass — FAIASALAMANDA */
@media(min-width:921px){
  .case--faia .faia-sun{
    right:14%;
    top:16%;
    width:9.5%;
    opacity:.84;
    box-shadow:0 0 30px rgba(255,211,100,.16);
  }
  .case--faia .faia-word{
    right:4%;
    top:35%;
    color:rgba(255,255,255,.072);
  }
  .case--faia .faia-horizon{top:53%;opacity:.68}
  .case--faia .faia-wave{top:59%;opacity:.64}
}
@media(max-width:920px){
  .case--faia .faia-sun{right:12%;top:12%;width:22%;opacity:.78;box-shadow:0 0 24px rgba(255,211,100,.14)}
  .case--faia .faia-word{right:3%;top:32%;color:rgba(255,255,255,.07)}
}
.case--faia .case__media{
  background:linear-gradient(135deg,#f17a25 0%,#ce2f0c 54%,#55120a 100%);
}

/* ==========================================================
   v5.0.1 — FLOW / CINEMA / GALLERY / VISUAL SYSTEM HOTFIX
   ========================================================== */

/* ---------- continuous energetic color flow ---------- */
.zone h2 em,.work__outro h3 em,.film-card h3 em,.domain-stage__copy h3 em,.about__copy h2 em,.lab__grid h2 em,.contact h2 em{
  transition:color 1.6s cubic-bezier(.22,.8,.18,1),text-shadow 1.6s cubic-bezier(.22,.8,.18,1);
}
.page-ambient__glow,.ambient-scene,.ambient-scene *{
  transition:opacity 1.7s cubic-bezier(.22,.8,.18,1),background-color 1.7s cubic-bezier(.22,.8,.18,1),border-color 1.7s cubic-bezier(.22,.8,.18,1),color 1.7s cubic-bezier(.22,.8,.18,1);
}

/* ---------- longer native dwell for editorial chapters; no scroll hijacking ---------- */
@media(min-width:921px){
  .editorial-zone{min-height:220svh}
  .editorial-stage{top:68px;min-height:calc(100svh - 78px);padding:8vh 0 7vh}
  .work-outro-dwell{min-height:220svh;margin-top:48vh}
  .work-outro-dwell .work__outro{top:68px;min-height:calc(100svh - 78px);padding-block:7vh}
}

/* ---------- CP video controls: desktop = cinema, mobile = fullscreen ---------- */
.cp-video__controls [data-video-enlarge]{
  border:1px solid rgba(255,255,255,.15)!important;
  background:linear-gradient(135deg,rgba(255,112,72,.11),rgba(255,255,255,.025))!important;
  color:rgba(255,255,255,.9)!important;
  min-width:58px;
  letter-spacing:.13em;
  box-shadow:0 0 0 rgba(255,112,72,0);
  transition:background .45s ease,border-color .45s ease,box-shadow .45s ease,color .45s ease;
}
.cp-video__controls [data-video-enlarge]:hover,
.cp-video__controls [data-video-enlarge]:focus-visible{
  border-color:rgba(255,112,72,.34)!important;
  background:linear-gradient(135deg,rgba(255,112,72,.18),rgba(255,255,255,.035))!important;
  box-shadow:0 0 24px rgba(255,112,72,.10);
}
@media(min-width:921px){
  .cp-video__fullscreen{display:none!important}
  .cp-video__controls [data-video-enlarge]{display:inline-flex!important;align-items:center;justify-content:center}
}
@media(max-width:920px){
  .cp-video__controls [data-video-enlarge]{display:none!important}
  .cp-video__fullscreen{display:inline-flex!important;align-items:center;justify-content:center;padding:6px!important;min-width:42px!important}
  .cp-video__fullscreen-icon{width:18px!important;height:18px!important;flex-basis:18px!important}
  .cp-video__fullscreen-icon i{width:6px!important;height:6px!important}
  .cp-video__fullscreen-label{display:none!important}
}

/* Center play/pause symbol: always geometrically clean. */
.cp-video__center [data-video-play-icon]{
  position:relative;display:block;width:28px;height:28px;font-size:0;line-height:0;
}
.cp-video__center [data-video-play-icon]::before,
.cp-video__center [data-video-play-icon]::after{content:"";position:absolute;display:block;transition:transform .25s ease,opacity .25s ease}
.cp-video__center [data-video-play-icon]:not(.is-pause)::before{
  left:9px;top:5px;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:14px solid #fff;
}
.cp-video__center [data-video-play-icon]:not(.is-pause)::after{opacity:0}
.cp-video__center [data-video-play-icon].is-pause::before,
.cp-video__center [data-video-play-icon].is-pause::after{
  top:5px;width:4px;height:18px;background:#fff;border-radius:1px;
}
.cp-video__center [data-video-play-icon].is-pause::before{left:7px}
.cp-video__center [data-video-play-icon].is-pause::after{right:7px}
.cp-video.is-playing .cp-video__center{opacity:0!important;pointer-events:none!important;transform:translate(-50%,-50%) scale(.92)!important}
.cp-video:not(.is-playing) .cp-video__center{opacity:1}

/* volume deliberately quiet; video remains the visual focus */
.cp-video__volume{opacity:.58;transition:opacity .35s ease}
.cp-video__volume:hover,.cp-video__volume:focus-within{opacity:.82}
.cp-video__volume input{accent-color:rgba(255,255,255,.54)!important}
.cp-video__volume input::-webkit-slider-runnable-track{height:3px;background:rgba(255,255,255,.16);border-radius:999px}
.cp-video__volume input::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;margin-top:-3.5px;border-radius:50%;background:rgba(255,255,255,.72);box-shadow:0 0 8px rgba(255,255,255,.12)}
.cp-video__volume input::-moz-range-track{height:3px;background:rgba(255,255,255,.16);border-radius:999px}
.cp-video__volume input::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:rgba(255,255,255,.72);box-shadow:0 0 8px rgba(255,255,255,.12)}
.cp-video.is-fading-out{opacity:.08;transition:opacity .9s ease}

/* ---------- Cinema: true viewport centering, 3s room darkening, elegant screen size ---------- */
.video-lightbox{position:fixed!important;inset:0!important;z-index:2147483000!important;display:block!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 3s cubic-bezier(.2,.72,.2,1),visibility 3s step-end!important}
.video-lightbox[hidden]{display:none!important}
.video-lightbox.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 3s cubic-bezier(.2,.72,.2,1),visibility 0s step-start!important}
.video-lightbox__backdrop{position:absolute!important;inset:0!important;background:rgba(2,4,7,.945)!important;backdrop-filter:blur(6px)!important;opacity:0;transition:opacity 3s cubic-bezier(.2,.72,.2,1)!important}
.video-lightbox.is-visible .video-lightbox__backdrop{opacity:1}
.video-lightbox::before,.video-lightbox::after{content:"";position:absolute;left:0;right:0;height:9vh;background:#010204;z-index:1;opacity:.92;transition:transform 2.8s cubic-bezier(.2,.72,.2,1)!important}
.video-lightbox::before{top:0;transform:translateY(-100%)}
.video-lightbox::after{bottom:0;transform:translateY(100%)}
.video-lightbox.is-visible::before,.video-lightbox.is-visible::after{transform:none}
.video-lightbox__stage{
  position:absolute!important;left:50%!important;top:50%!important;z-index:2!important;
  width:100vw!important;height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;
  opacity:0;transform:translate(-50%,-50%) scale(.94)!important;transition:opacity .95s ease,transform 1.15s cubic-bezier(.22,.8,.18,1)!important;
  pointer-events:none;
}
.video-lightbox.is-screen-ready .video-lightbox__stage{opacity:1;transform:translate(-50%,-50%) scale(1)!important;pointer-events:auto}
.video-lightbox.is-screen-leaving .video-lightbox__stage{opacity:0;transform:translate(-50%,-50%) scale(.94)!important;transition-duration:.9s!important}
.cp-video.is-enlarged{
  position:relative!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;
  width:min(78vw,1240px)!important;height:auto!important;max-width:78vw!important;max-height:72vh!important;aspect-ratio:16/9!important;
  margin:0!important;border-radius:16px!important;transform:none!important;animation:none!important;
  box-shadow:0 42px 150px rgba(0,0,0,.78),0 0 70px rgba(var(--accent-rgb),.07)!important;
}
.cp-video.is-enlarged .cp-video__stage{height:calc(100% - 58px)!important;min-height:0!important}
.cp-video.is-enlarged .cp-video__controls{min-height:58px!important}
.video-lightbox__close{position:fixed!important;right:24px!important;top:22px!important;width:38px!important;height:38px!important;border-radius:50%!important;font-size:20px!important;z-index:5!important;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .45s ease,transform .45s ease,border-color .25s ease!important}
.video-lightbox.is-screen-ready .video-lightbox__close{opacity:1;transform:none;pointer-events:auto}
@media(max-width:920px){
  .video-lightbox{display:none!important}
  .cp-video.is-enlarged{width:100vw!important;max-width:none!important;max-height:none!important}
}

/* ---------- Film archive: richer visual surfaces, softer reveal and smaller close ---------- */
.film-vault{margin-top:12vh;border-color:rgba(255,255,255,.075);background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.012));}
.film-vault::after{right:72px;top:24px;width:148px;height:58px;border-top-color:rgba(255,112,72,.16);border-right-color:rgba(255,112,72,.09)}
.film-vault__trigger i{width:34px!important;height:34px!important;font-size:16px!important;border-color:rgba(255,112,72,.20)!important;background:rgba(255,112,72,.028)!important}
.film-vault__reveal{transition:grid-template-rows 1.45s cubic-bezier(.22,.8,.18,1),opacity 1.15s ease!important}
.film-vault__reveal-inner{transition:transform 1.45s cubic-bezier(.22,.8,.18,1),padding 1.45s cubic-bezier(.22,.8,.18,1)!important}
.film-vault[data-open="true"] .film-vault__reveal-inner{padding-bottom:34px}
.film-vault-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.07);background:linear-gradient(145deg,rgba(255,255,255,.024),rgba(255,255,255,.010))!important}
.film-vault-card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;background:linear-gradient(120deg,transparent 25%,rgba(255,255,255,.025) 48%,transparent 72%)}
.film-vault-card .cp-video__poster--archive{isolation:isolate;background:#07090d!important}
.film-vault-card .cp-video__poster--archive::before,
.film-vault-card .cp-video__poster--archive::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1}
.film-vault-card .cp-video__poster--archive::after{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.48));}
.cp-video__poster--tech::before{background:radial-gradient(circle at 70% 28%,rgba(69,214,255,.20),transparent 26%),repeating-linear-gradient(90deg,rgba(69,214,255,.07) 0 1px,transparent 1px 38px),repeating-linear-gradient(0deg,rgba(69,214,255,.05) 0 1px,transparent 1px 38px)!important}
.cp-video__poster--xmas::before{background:radial-gradient(circle at 76% 25%,rgba(238,191,91,.28),transparent 18%),radial-gradient(circle at 60% 38%,rgba(255,255,255,.13),transparent 3%),radial-gradient(circle at 82% 52%,rgba(255,255,255,.10),transparent 2%),linear-gradient(135deg,rgba(238,191,91,.08),transparent 55%)!important}
.cp-video__poster--memory::before{background:radial-gradient(ellipse at 65% 42%,rgba(130,153,188,.18),transparent 35%),linear-gradient(120deg,rgba(255,255,255,.025),transparent 55%),repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 1px,transparent 1px 28px)!important}
.cp-video__poster--arrow::before{background:linear-gradient(120deg,transparent 40%,rgba(255,112,72,.18) 40% 41%,transparent 41% 50%,rgba(255,112,72,.10) 50% 51%,transparent 51%),radial-gradient(circle at 70% 48%,rgba(255,112,72,.16),transparent 25%)!important}
.cp-video__poster--water::before{background:radial-gradient(ellipse at 70% 45%,rgba(74,196,220,.18),transparent 30%),repeating-radial-gradient(ellipse at 68% 50%,rgba(74,196,220,.08) 0 1px,transparent 2px 18px)!important}
.cp-video__poster--rainbow::before{background:conic-gradient(from 205deg at 76% 60%,rgba(255,92,146,.10),rgba(115,100,255,.14),rgba(69,214,255,.12),rgba(91,235,164,.10),rgba(238,191,91,.12),rgba(255,92,146,.10)),radial-gradient(circle at 72% 48%,rgba(255,255,255,.05),transparent 36%)!important;filter:saturate(.8)}
.cp-video__poster--sumatra::before{background:radial-gradient(circle at 72% 35%,rgba(91,235,164,.16),transparent 24%),repeating-radial-gradient(ellipse at 78% 56%,rgba(91,235,164,.065) 0 1px,transparent 2px 18px),linear-gradient(145deg,rgba(28,92,60,.12),transparent 52%)!important}
.cp-video__poster--fashion::before{background:linear-gradient(110deg,transparent 0 55%,rgba(232,129,255,.12) 55% 56%,transparent 56% 64%,rgba(69,214,255,.09) 64% 65%,transparent 65%),radial-gradient(ellipse at 70% 28%,rgba(232,129,255,.16),transparent 24%)!important}
.film-vault-card__copy{position:relative;z-index:2}

/* ---------- Gallery: all 11 frames in one viewport, no scrollbar ---------- */
.photo-gallery-modal{
  width:min(97vw,1680px)!important;height:min(95svh,980px)!important;max-width:none!important;max-height:none!important;
  padding:0!important;overflow:hidden!important;border-radius:24px!important;transform-origin:center center;
  opacity:0;transform:scale(.94);transition:opacity .7s ease,transform .9s cubic-bezier(.22,.8,.18,1)!important;
}
.photo-gallery-modal[open].is-open{opacity:1;transform:scale(1)}
.photo-gallery-modal.is-closing{opacity:0!important;transform:scale(.74)!important;transition:opacity 2s ease,transform 2s cubic-bezier(.4,0,.2,1)!important}
.photo-gallery-modal::backdrop{background:rgba(3,5,8,.78);backdrop-filter:blur(8px)}
.photo-gallery-modal.is-closing::backdrop{background:rgba(3,5,8,0);backdrop-filter:blur(0)}
.photo-gallery-modal__head{height:60px!important;padding:10px 14px 10px 18px!important}
.photo-gallery-modal__close{width:34px!important;height:34px!important;font-size:19px!important}
.photo-gallery-modal__grid{
  height:calc(100% - 60px)!important;padding:10px!important;display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-template-rows:1.05fr .74fr 1fr!important;
  gap:8px!important;overflow:hidden!important;min-height:0!important;
}
.photo-gallery-modal__grid figure{min-height:0!important;height:auto!important;border-radius:12px!important;animation:galleryTileIn .7s var(--ease) forwards!important}
.photo-gallery-modal__grid figure:nth-child(1){grid-column:1/3;grid-row:1}
.photo-gallery-modal__grid figure:nth-child(2){grid-column:3/4;grid-row:1}
.photo-gallery-modal__grid figure:nth-child(3){grid-column:4/6;grid-row:1}
.photo-gallery-modal__grid figure:nth-child(6){grid-column:6/7;grid-row:1}
.photo-gallery-modal__grid figure:nth-child(4){grid-column:1/4;grid-row:2}
.photo-gallery-modal__grid figure:nth-child(5){grid-column:4/7;grid-row:2}
.photo-gallery-modal__grid figure:nth-child(7){grid-column:1/2;grid-row:3}
.photo-gallery-modal__grid figure:nth-child(8){grid-column:2/3;grid-row:3}
.photo-gallery-modal__grid figure:nth-child(9){grid-column:3/4;grid-row:3}
.photo-gallery-modal__grid figure:nth-child(10){grid-column:4/5;grid-row:3}
.photo-gallery-modal__grid figure:nth-child(11){grid-column:5/7;grid-row:3}
.photo-gallery-modal__grid img{width:100%!important;height:100%!important;object-fit:cover!important}
.photo-gallery-modal__grid figure:nth-child(4) img,
.photo-gallery-modal__grid figure:nth-child(5) img{object-fit:contain!important;background:#080b10}
@media(max-width:700px){
  .photo-gallery-modal{width:100vw!important;height:100svh!important;border-radius:0!important}
  .photo-gallery-modal__head{height:56px!important}
  .photo-gallery-modal__grid{height:calc(100% - 56px)!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-template-rows:1fr .78fr 1fr 1fr!important;gap:5px!important;padding:6px!important}
  .photo-gallery-modal__grid figure{grid-column:auto!important;grid-row:auto!important;border-radius:8px!important}
  .photo-gallery-modal__grid figure:nth-child(1){grid-column:1/3!important;grid-row:1!important}
  .photo-gallery-modal__grid figure:nth-child(2){grid-column:3/4!important;grid-row:1!important}
  .photo-gallery-modal__grid figure:nth-child(3){grid-column:4/5!important;grid-row:1!important}
  .photo-gallery-modal__grid figure:nth-child(4){grid-column:1/3!important;grid-row:2!important}
  .photo-gallery-modal__grid figure:nth-child(5){grid-column:3/5!important;grid-row:2!important}
  .photo-gallery-modal__grid figure:nth-child(6){grid-column:1/2!important;grid-row:3!important}
  .photo-gallery-modal__grid figure:nth-child(7){grid-column:2/3!important;grid-row:3!important}
  .photo-gallery-modal__grid figure:nth-child(8){grid-column:3/4!important;grid-row:3!important}
  .photo-gallery-modal__grid figure:nth-child(9){grid-column:4/5!important;grid-row:3!important}
  .photo-gallery-modal__grid figure:nth-child(10){grid-column:1/3!important;grid-row:4!important}
  .photo-gallery-modal__grid figure:nth-child(11){grid-column:3/5!important;grid-row:4!important}
}

/* ---------- About visual: IDEA → IMAGE → SYSTEM becomes an actual visual process ---------- */
.about-machine{position:relative;min-height:520px;overflow:hidden;border:1px solid rgba(159,118,255,.14);background:radial-gradient(circle at 50% 48%,rgba(159,118,255,.12),transparent 34%),rgba(255,255,255,.012)}
.about-machine__mesh{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at center,black 20%,transparent 82%)}
.about-machine__connection{position:absolute;height:1px;left:22%;right:22%;top:50%;background:linear-gradient(90deg,transparent,rgba(159,118,255,.52),transparent);transform-origin:center;box-shadow:0 0 16px rgba(159,118,255,.15)}
.about-machine__connection--a{transform:rotate(25deg)}.about-machine__connection--b{transform:rotate(-28deg)}.about-machine__connection--c{transform:rotate(90deg);opacity:.45}
.about-machine__node{position:absolute!important;width:18px!important;height:18px!important;border-radius:50%;background:#9f76ff!important;box-shadow:0 0 30px rgba(159,118,255,.58)!important;z-index:3}
.about-machine__node span{position:absolute;white-space:nowrap;font-size:8px;letter-spacing:.16em;color:rgba(255,255,255,.58);top:26px;left:50%;transform:translateX(-50%)}
.about-machine__node--1{left:20%!important;top:25%!important}.about-machine__node--2{right:18%!important;left:auto!important;top:37%!important}.about-machine__node--3{left:48%!important;bottom:17%!important;top:auto!important}
.about-machine__center{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;display:grid;place-items:center;align-content:center;gap:7px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle,rgba(159,118,255,.16),rgba(8,10,15,.70) 62%);box-shadow:0 0 55px rgba(159,118,255,.12)}
.about-machine__center img{width:76px;height:76px;filter:brightness(0) invert(1);opacity:.84}.about-machine__center strong{font-size:8px;letter-spacing:.17em;color:rgba(255,255,255,.68)}.about-machine__center small{font-family:Georgia,serif;font-style:italic;color:rgba(255,255,255,.35)}
.about-machine__status{position:absolute;left:18px;bottom:16px;display:flex;gap:12px;font-size:7px;letter-spacing:.15em;color:rgba(255,255,255,.36)}.about-machine__status strong{color:rgba(159,118,255,.76);font-weight:500}
.motion-active .about-machine__connection{animation:aboutEnergy 4.8s ease-in-out infinite alternate}.motion-active .about-machine__node--2{animation:aboutFloat 5.5s ease-in-out infinite alternate}.motion-active .about-machine__node--3{animation:aboutFloat 6.3s ease-in-out infinite alternate-reverse}@keyframes aboutEnergy{to{opacity:.35;filter:brightness(1.5)}}

/* ---------- LAB visual: AUDIO / PHYSICS / WEBGPU is now a real experiment field ---------- */
.lab-machine{position:relative;min-height:520px;border:1px solid rgba(65,202,244,.13);overflow:hidden;background:radial-gradient(circle at center,rgba(65,202,244,.12),transparent 34%),rgba(255,255,255,.012)}
.lab-machine__mesh{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(circle at center,black 18%,transparent 82%)}
.lab-machine__orb{position:absolute;width:48%;aspect-ratio:1;left:50%;top:47%;transform:translate(-50%,-50%);border:1px solid rgba(65,202,244,.30);border-radius:50%;box-shadow:0 0 70px rgba(65,202,244,.10)}
.lab-machine__orb i{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.07)}.lab-machine__orb i:nth-child(1){inset:15%}.lab-machine__orb i:nth-child(2){inset:31%;border-color:rgba(159,118,255,.25)}.lab-machine__orb i:nth-child(3){width:9px;height:9px;right:5%;top:44%;background:#41caf4;border:0;box-shadow:0 0 24px rgba(65,202,244,.72)}
.lab-machine__wave{position:absolute;left:10%;right:10%;bottom:11%;height:58px;display:flex;align-items:flex-end;justify-content:center;gap:8px;opacity:.58}.lab-machine__wave i{width:2px;background:linear-gradient(180deg,#41caf4,transparent);height:25%}.lab-machine__wave i:nth-child(2){height:60%}.lab-machine__wave i:nth-child(3){height:38%}.lab-machine__wave i:nth-child(4){height:88%}.lab-machine__wave i:nth-child(5){height:52%}.lab-machine__wave i:nth-child(6){height:72%}.lab-machine__wave i:nth-child(7){height:34%}
.lab-machine__label{position:absolute;padding:8px 10px;border:1px solid rgba(255,255,255,.08);background:rgba(7,10,15,.66);display:grid;gap:2px}.lab-machine__label span,.lab-machine__label strong{font-size:7px;letter-spacing:.15em}.lab-machine__label span{color:rgba(255,255,255,.42)}.lab-machine__label strong{font-weight:500;color:rgba(65,202,244,.75)}.lab-machine__label--a{left:7%;top:12%}.lab-machine__label--b{right:6%;top:31%}.lab-machine__label--c{left:10%;bottom:23%}
.lab-machine__core{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);font-size:clamp(18px,2.4vw,34px);line-height:.92;letter-spacing:-.04em;text-align:center;color:rgba(255,255,255,.82)}.lab-machine__core em{font-size:.75em;color:#41caf4}
.lab-machine__particle{position:absolute;width:5px;height:5px;border-radius:50%;background:#41caf4;box-shadow:0 0 16px rgba(65,202,244,.7)}.lab-machine__particle--a{left:28%;top:28%}.lab-machine__particle--b{right:25%;top:18%}.lab-machine__particle--c{right:19%;bottom:28%}
.motion-active .lab-machine__orb{animation:labOrbit 18s linear infinite}.motion-active .lab-machine__wave i{animation:labWave 1.8s ease-in-out infinite alternate}.motion-active .lab-machine__wave i:nth-child(2n){animation-delay:-.6s}.motion-active .lab-machine__particle--a{animation:labParticleA 7s ease-in-out infinite alternate}.motion-active .lab-machine__particle--b{animation:labParticleB 8s ease-in-out infinite alternate}.motion-active .lab-machine__particle--c{animation:labParticleC 6.5s ease-in-out infinite alternate}@keyframes labParticleA{to{transform:translate(55px,18px)}}@keyframes labParticleB{to{transform:translate(-40px,42px)}}@keyframes labParticleC{to{transform:translate(-28px,-34px)}}

/* Reduced motion remains a first-class path. */
@media(prefers-reduced-motion:reduce){
  .photo-gallery-modal,.photo-gallery-modal.is-closing{transition-duration:.01ms!important}
  .about-machine__connection,.about-machine__node,.lab-machine__orb,.lab-machine__wave i,.lab-machine__particle{animation:none!important}
}

/* ==========================================================
   v5.0.1 — CINEMA / CONSENT / FINAL-RELEASE PREP
   ========================================================== */

/* Poster playback is controlled exclusively from the lower player rail. */
.cp-video__center{display:none!important}
.cp-video__stage-placeholder{width:100%;min-height:0;background:#06080c;aspect-ratio:16/9}
.cp-video__controls button{font-size:9px!important;line-height:1;min-height:40px;padding:7px 8px!important}
.cp-video--compact .cp-video__controls button{font-size:8px!important;letter-spacing:.11em;padding:7px 6px!important}
.cp-video__controls [data-video-enlarge]{min-width:106px!important;padding-inline:12px!important;border:1px solid rgba(var(--case-rgb),.24)!important;border-radius:4px!important;background:linear-gradient(135deg,rgba(var(--case-rgb),.10),rgba(255,255,255,.018))!important;color:rgba(255,255,255,.84)!important;font-weight:650}
.cp-video--compact .cp-video__controls [data-video-enlarge]{min-width:94px!important;font-size:8px!important}
.cp-video__controls [data-video-enlarge]:hover,.cp-video__controls [data-video-enlarge]:focus-visible{border-color:rgba(var(--case-rgb),.50)!important;color:#fff!important;box-shadow:0 0 22px rgba(var(--case-rgb),.09)}
.cp-video__time{font-size:8px!important}
.cp-video__volume{opacity:.58;transition:opacity .3s ease}
.cp-video__volume:hover,.cp-video__volume:focus-within{opacity:.82}
.cp-video__volume input{-webkit-appearance:none;appearance:none;height:14px;background:transparent;cursor:pointer}
.cp-video__volume input::-webkit-slider-runnable-track{height:2px;border-radius:999px;background:rgba(255,255,255,.14)}
.cp-video__volume input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:8px;height:8px;margin-top:-3px;border-radius:50%;border:0;background:rgba(255,255,255,.42);box-shadow:0 0 8px rgba(var(--case-rgb),.10)}
.cp-video__volume input::-moz-range-track{height:2px;border-radius:999px;background:rgba(255,255,255,.14)}
.cp-video__volume input::-moz-range-progress{height:2px;border-radius:999px;background:rgba(var(--case-rgb),.26)}
.cp-video__volume input::-moz-range-thumb{width:8px;height:8px;border:0;border-radius:50%;background:rgba(255,255,255,.42)}

/* Cinema is now a clean image-only screen. Controls remain on the page and the
   video stage itself moves into the centered cinema screen. Clicking outside
   never closes it; the close affordance lives on the screen itself. */
.video-lightbox{position:fixed!important;inset:0!important;z-index:2147483000!important;display:block!important;opacity:0;visibility:hidden;pointer-events:none;cursor:none;transition:opacity 3s cubic-bezier(.2,.72,.2,1),visibility 3s step-end!important}
.video-lightbox[hidden]{display:none!important}
.video-lightbox.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 3s cubic-bezier(.2,.72,.2,1),visibility 0s step-start!important}
.video-lightbox__backdrop{position:absolute!important;inset:0!important;background:rgba(1,2,4,.958)!important;backdrop-filter:blur(7px)!important;opacity:0;transition:opacity 3s cubic-bezier(.2,.72,.2,1)!important}
.video-lightbox.is-visible .video-lightbox__backdrop{opacity:1}
.video-lightbox__screen{position:absolute;left:50%;top:50%;width:min(78vw,1180px);height:min(72vh,664px);transform:translate(-50%,-48%) scale(.94);opacity:0;pointer-events:none;transition:opacity .9s ease,transform 1.05s var(--ease);filter:drop-shadow(0 40px 120px rgba(0,0,0,.72));outline:none}
.video-lightbox.is-screen-ready .video-lightbox__screen{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}
.video-lightbox.is-screen-leaving .video-lightbox__screen{opacity:0;transform:translate(-50%,-50%) scale(.95);transition-duration:.85s}
.video-lightbox__stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:grid;place-items:center;overflow:hidden;border-radius:2px;background:#000;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(255,255,255,.025) inset,0 0 62px rgba(var(--accent-rgb),.035)}
.video-lightbox__stage .cp-video__stage{position:relative!important;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;background:#000!important;overflow:hidden!important}
.video-lightbox__stage .cp-video__host,.video-lightbox__stage .cp-video__host iframe{width:100%!important;height:100%!important}
.video-lightbox__close{position:absolute!important;right:14px!important;top:14px!important;z-index:12!important;width:42px!important;height:42px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.28)!important;background:rgba(5,7,10,.74)!important;color:#fff!important;font-size:24px!important;line-height:1!important;display:grid!important;place-items:center!important;opacity:0;transform:scale(.9);pointer-events:none;cursor:pointer!important;transition:opacity .28s ease,transform .28s ease,border-color .28s ease!important;backdrop-filter:blur(10px)}
.video-lightbox__screen:hover .video-lightbox__close,.video-lightbox__screen:focus-within .video-lightbox__close{opacity:1;transform:scale(1);pointer-events:auto}
.video-lightbox__close:hover,.video-lightbox__close:focus-visible{border-color:rgba(var(--accent-rgb),.62)!important;box-shadow:0 0 24px rgba(var(--accent-rgb),.15)}
.video-lightbox__cursor{position:fixed;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.62);opacity:.05;pointer-events:none;z-index:20;will-change:transform}
.video-lightbox::before,.video-lightbox::after{content:"";position:absolute;left:0;right:0;height:9vh;background:#010204;z-index:1;opacity:.92;transition:transform 2.8s cubic-bezier(.2,.72,.2,1)!important}
.video-lightbox::before{top:0;transform:translateY(-100%)}.video-lightbox::after{bottom:0;transform:translateY(100%)}
.video-lightbox.is-visible::before,.video-lightbox.is-visible::after{transform:none}
.video-modal-open{overflow:hidden!important}

@media(min-width:901px){
  .cp-video__fullscreen{display:none!important}
  .cp-video__controls [data-video-enlarge]{display:inline-flex!important;align-items:center;justify-content:center}
}
@media(max-width:900px){
  .cp-video__controls [data-video-enlarge]{display:none!important}
  .cp-video__fullscreen{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px!important;padding:7px!important}
  .cp-video__fullscreen-icon{width:20px!important;height:20px!important;flex-basis:20px!important}
  .cp-video__fullscreen-icon i{width:7px!important;height:7px!important}
  .cp-video__fullscreen-label{display:none!important}
  .video-lightbox{display:none!important}
}

/* Film archive: more atmosphere, larger readable controls, quieter technical
   structure. Each poster has its own visual language before consent/play. */
.film-vault{background:linear-gradient(145deg,rgba(255,255,255,.020),rgba(255,255,255,.008)),radial-gradient(circle at 86% 12%,rgba(255,120,76,.07),transparent 34%);border-color:rgba(255,255,255,.09)}
.film-vault-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.026),rgba(255,255,255,.010));box-shadow:0 18px 54px rgba(0,0,0,.16)}
.film-vault-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.018),transparent 62%)}
.cp-video__poster--archive{position:absolute;background:#080a0f!important}
.cp-video__poster--archive::before{content:"";position:absolute;inset:0;z-index:0;opacity:.94}
.cp-video__poster--archive::after{background:linear-gradient(90deg,rgba(4,6,9,.88),rgba(4,6,9,.40) 55%,rgba(4,6,9,.20))!important}
.cp-video__poster--archive>span,.cp-video__poster--archive>strong,.cp-video__poster--archive>small{z-index:2}
.cp-video__poster--archive>strong{max-width:74%;font-size:20px!important;line-height:.94!important;text-shadow:0 8px 26px rgba(0,0,0,.5)}
.cp-video__poster--tech::before{background:radial-gradient(circle at 73% 34%,rgba(69,214,255,.22),transparent 22%),repeating-linear-gradient(90deg,rgba(69,214,255,.075) 0 1px,transparent 1px 28px),repeating-linear-gradient(0deg,rgba(69,214,255,.045) 0 1px,transparent 1px 28px),linear-gradient(135deg,#081018,#07090e)!important}
.cp-video__poster--xmas::before{background:radial-gradient(circle at 74% 28%,rgba(238,191,91,.34),transparent 19%),radial-gradient(circle at 62% 38%,rgba(255,255,255,.13),transparent 2%),radial-gradient(circle at 84% 58%,rgba(255,255,255,.10),transparent 2%),linear-gradient(135deg,#1a100d,#08090d 68%)!important}
.cp-video__poster--memory::before{background:radial-gradient(ellipse at 68% 43%,rgba(130,153,188,.20),transparent 30%),repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 24px),linear-gradient(145deg,#0d1119,#07090e)!important}
.cp-video__poster--arrow::before{background:linear-gradient(120deg,transparent 34%,rgba(255,112,72,.20) 34% 35%,transparent 35% 47%,rgba(255,112,72,.12) 47% 48%,transparent 48%),radial-gradient(circle at 72% 46%,rgba(255,112,72,.18),transparent 24%),#0b090c!important}
.cp-video__poster--water::before{background:repeating-radial-gradient(ellipse at 72% 52%,rgba(74,196,220,.09) 0 1px,transparent 2px 15px),radial-gradient(ellipse at 70% 45%,rgba(74,196,220,.21),transparent 29%),linear-gradient(145deg,#071116,#07090e)!important}
.cp-video__poster--rainbow::before{background:conic-gradient(from 205deg at 76% 60%,rgba(255,92,146,.12),rgba(115,100,255,.16),rgba(69,214,255,.14),rgba(91,235,164,.10),rgba(238,191,91,.13),rgba(255,92,146,.12)),radial-gradient(circle at 72% 48%,rgba(255,255,255,.05),transparent 34%),#09090d!important;filter:saturate(.78)}
.cp-video__poster--sumatra::before{background:repeating-radial-gradient(ellipse at 76% 56%,rgba(91,235,164,.07) 0 1px,transparent 2px 16px),radial-gradient(circle at 72% 35%,rgba(91,235,164,.18),transparent 23%),linear-gradient(145deg,#07130e,#07090e 68%)!important}
.cp-video__poster--fashion::before{background:linear-gradient(112deg,transparent 36%,rgba(232,129,255,.14) 36% 37%,transparent 37% 56%,rgba(255,255,255,.06) 56% 57%,transparent 57%),radial-gradient(ellipse at 76% 28%,rgba(232,129,255,.19),transparent 23%),linear-gradient(145deg,#110b14,#07090e 66%)!important}
.cp-video--compact .cp-video__controls{min-height:50px!important;padding-inline:8px!important;gap:6px!important}
.cp-video--compact .cp-video__controls button{font-size:8px!important;min-height:38px!important}
.cp-video--compact .cp-video__progress{min-width:86px}

/* Feature overlay must never clip the final item. */
.project-features-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(94vw,1040px);max-height:min(92dvh,900px);overflow:hidden}
.project-features-modal__body{min-height:0;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:44px!important;scrollbar-gutter:stable}
.project-features-modal__grid{align-items:stretch}
.project-feature{min-height:132px}
@media(max-width:720px){.project-features-modal{width:96vw;max-height:92dvh;border-radius:20px}.project-features-modal__grid{grid-template-columns:1fr}.project-feature{min-height:0}.project-features-modal__footer{flex-direction:column;gap:7px}}

/* Footer privacy control is a real, reachable settings control. */
.footer-privacy{border:0;background:none;padding:0;color:var(--muted);font:inherit;cursor:pointer;text-align:left}.footer-privacy:hover,.footer-privacy:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}

/* Consent UI — calm, equal-choice and visually integrated. */
.consent-banner[hidden]{display:none!important}
.consent-banner{position:fixed;left:50%;bottom:18px;z-index:2147482500;width:min(calc(100vw - 28px),1080px);display:grid;grid-template-columns:90px minmax(0,1fr) minmax(240px,.55fr);gap:20px;align-items:center;padding:18px 20px;border:1px solid rgba(255,255,255,.11);border-radius:24px;background:rgba(8,11,17,.94);backdrop-filter:blur(22px);box-shadow:0 28px 100px rgba(0,0,0,.56),0 0 70px rgba(var(--accent-rgb),.035);opacity:0;transform:translate(-50%,24px) scale(.985);transition:opacity .5s ease,transform .55s var(--ease)}
.consent-banner.is-visible{opacity:1;transform:translate(-50%,0) scale(1)}
.consent-banner__signal{position:relative;width:70px;height:70px;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.24);display:grid;place-items:center}.consent-banner__signal::before{content:"CP";font-size:16px;font-weight:700;letter-spacing:-.04em}.consent-banner__signal i{position:absolute;inset:8px;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.12)}.consent-banner__signal i:nth-child(2){inset:17px}.consent-banner__signal i:nth-child(3){inset:27px;background:rgba(var(--accent-rgb),.10);box-shadow:0 0 24px rgba(var(--accent-rgb),.16)}
.consent-banner__copy{display:grid;gap:5px}.consent-banner__copy>span,.consent-dialog__top span,.consent-category>div>span{font-size:7px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.38)}.consent-banner__copy strong{font-size:17px}.consent-banner__copy p{font-size:12px;line-height:1.55;max-width:720px}.consent-banner__actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.consent-choice,.consent-settings-link{min-height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(135deg,rgba(var(--accent-rgb),.12),rgba(255,255,255,.025));color:#fff;font-size:8px;text-transform:uppercase;letter-spacing:.11em;cursor:pointer;padding:8px 12px}.consent-choice--plain{background:rgba(255,255,255,.025)}.consent-settings-link{grid-column:1/-1;border:0;background:none;color:rgba(255,255,255,.56);min-height:32px}.consent-choice:hover,.consent-choice:focus-visible{border-color:rgba(var(--accent-rgb),.44);box-shadow:0 0 24px rgba(var(--accent-rgb),.08)}.consent-settings-link:hover,.consent-settings-link:focus-visible{color:#fff}
.consent-dialog{width:min(94vw,760px);max-height:90dvh;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:26px;background:rgba(7,10,15,.985);color:#fff;box-shadow:0 36px 130px rgba(0,0,0,.68);overflow:hidden;opacity:0;transform:translateY(20px) scale(.98);transition:opacity .32s ease,transform .36s var(--ease)}.consent-dialog[open].is-open{opacity:1;transform:none}.consent-dialog.is-closing{opacity:0;transform:translateY(15px) scale(.985)}.consent-dialog::backdrop{background:rgba(2,4,8,.76);backdrop-filter:blur(10px)}
.consent-dialog__top{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.consent-dialog__top>div{display:grid;gap:3px}.consent-dialog__top strong{font-size:16px}.consent-dialog__close{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.025);color:#fff;font-size:20px;cursor:pointer}.consent-dialog__body{padding:22px;display:grid;gap:12px;overflow:auto;max-height:calc(90dvh - 150px)}.consent-dialog__intro{font-size:13px;line-height:1.65}.consent-category{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.018)}.consent-category>div{display:grid;gap:5px}.consent-category strong{font-size:14px}.consent-category p{font-size:11px;line-height:1.55}.consent-state{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.48)}.consent-category input{position:absolute;opacity:0;pointer-events:none}.consent-switch{position:relative;width:48px;height:26px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035);cursor:pointer;transition:background .3s,border-color .3s}.consent-switch i{position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:rgba(255,255,255,.52);transition:transform .3s var(--ease),background .3s}.consent-category input:checked+.consent-switch{background:rgba(var(--accent-rgb),.13);border-color:rgba(var(--accent-rgb),.42)}.consent-category input:checked+.consent-switch i{transform:translateX(22px);background:rgb(var(--accent-rgb));box-shadow:0 0 14px rgba(var(--accent-rgb),.24)}.consent-category:focus-within{border-color:rgba(var(--accent-rgb),.4)}.consent-dialog__note{padding:11px 13px;border-radius:13px;background:rgba(var(--accent-rgb),.07);border:1px solid rgba(var(--accent-rgb),.14);font-size:11px;color:rgba(255,255,255,.72)}.consent-dialog__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 18px;border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:760px){.consent-banner{grid-template-columns:1fr;padding:15px;bottom:8px;border-radius:20px;gap:11px}.consent-banner__signal{display:none}.consent-banner__copy p{font-size:11px}.consent-banner__actions{grid-template-columns:1fr}.consent-settings-link{grid-column:auto}.consent-choice,.consent-settings-link{min-height:44px}.consent-dialog__body{padding:15px}.consent-dialog__actions{grid-template-columns:1fr}.consent-category{grid-template-columns:1fr auto;padding:14px}}

/* Legal pages share the same visual atmosphere as MAIN without inheriting its
   immersive sticky layout. */
.legal-page{position:relative;isolation:isolate;background:#090c12;color:var(--fg);min-height:100vh}.legal-page::before,.legal-page::after{content:"";position:fixed;z-index:-2;pointer-events:none;border-radius:50%;opacity:.12}.legal-page::before{width:58vw;height:58vw;left:-24vw;top:8vh;background:radial-gradient(circle,rgba(69,214,255,.32),rgba(155,119,255,.12) 38%,transparent 68%);animation:legalDriftA 28s ease-in-out infinite alternate}.legal-page::after{width:48vw;height:48vw;right:-18vw;bottom:-12vh;background:radial-gradient(circle,rgba(228,182,91,.25),rgba(84,220,164,.08) 40%,transparent 70%);animation:legalDriftB 34s ease-in-out infinite alternate}@keyframes legalDriftA{to{transform:translate3d(15vw,12vh,0) scale(1.06)}}@keyframes legalDriftB{to{transform:translate3d(-12vw,-9vh,0) scale(.94)}}
.legal-header{border-bottom-color:rgba(255,255,255,.07);background:rgba(7,10,15,.84);backdrop-filter:blur(18px)}.legal-header__brand{font-weight:650;letter-spacing:.02em}.legal-header__mark{background:url('../brand/cp-logo-kreis-email.png') center/cover no-repeat;border:0!important;font-size:0!important;filter:invert(1) brightness(2)}.legal-main{position:relative}.legal-kicker{display:inline-flex;align-items:center;gap:10px}.legal-kicker::after{content:"";width:44px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}.legal-main h1{background:linear-gradient(110deg,#fff 10%,rgba(255,255,255,.88) 54%,rgb(var(--accent-rgb)));-webkit-background-clip:text;background-clip:text;color:transparent}.legal-section{border-top-color:rgba(255,255,255,.08)}.legal-section__body{font-size:14px}.legal-section__body strong{color:#fff}.legal-action{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.30);background:rgba(var(--accent-rgb),.06);color:#fff;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;font-size:9px}.legal-action:hover,.legal-action:focus-visible{border-color:rgba(var(--accent-rgb),.55);box-shadow:0 0 26px rgba(var(--accent-rgb),.09)}
@media(prefers-reduced-motion:reduce){.legal-page::before,.legal-page::after{animation:none!important}.consent-banner,.consent-dialog,.video-lightbox,.video-lightbox__backdrop,.video-lightbox__screen{transition-duration:.01ms!important}}

/* v5.0.1 final QA corrections */
@media (min-width:1000px){
  .project-features-modal{width:min(94vw,1240px);max-height:min(92dvh,900px)}
  .project-features-modal__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .project-feature{min-height:118px;padding:16px}
  .project-feature strong{font-size:14px}
  .project-feature p{font-size:11.5px;line-height:1.48}
  .project-features-modal__body{padding:28px 34px 30px!important}
  .project-features-modal__body>p{margin-bottom:18px;font-size:13px;line-height:1.55}
}
@media (max-width:640px){
  .hero__lower{min-width:0}
  .hero__copy,.hero-signature{min-width:0;width:100%!important;max-width:100%!important}
  .hero-signature{aspect-ratio:auto!important;min-height:350px!important}
  .digital-core__mesh{max-width:100%;overflow:hidden}
}
@media(min-width:901px){
  .video-lightbox__screen{transition:opacity .6s ease,transform .65s var(--ease)}
}
/* Legal/mobile overflow containment */
.legal-page{overflow-x:clip}
.legal-section,.legal-section__body{min-width:0}
.legal-table-wrap{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
@media(max-width:720px){.legal-table{min-width:620px}}
/* Equal-choice consent styling and second-level legal links. */
.consent-banner__actions .consent-choice,.consent-banner__actions .consent-choice--plain{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.15);box-shadow:none}
.consent-banner__actions .consent-choice:hover,.consent-banner__actions .consent-choice:focus-visible{background:rgba(var(--accent-rgb),.07);border-color:rgba(var(--accent-rgb),.38)}
.consent-banner__legal{grid-column:1/-1;display:flex;justify-content:center;gap:7px;font-size:8px;color:rgba(255,255,255,.40)}
.consent-banner__legal a,.consent-dialog__links a{text-decoration:underline;text-underline-offset:3px;color:rgba(255,255,255,.58)}
.consent-banner__legal a:hover,.consent-banner__legal a:focus-visible,.consent-dialog__links a:hover,.consent-dialog__links a:focus-visible{color:#fff}
.consent-dialog__links{display:flex;gap:8px;flex-wrap:wrap;font-size:10px;color:rgba(255,255,255,.40)}
@media(max-width:760px){.consent-banner__legal{justify-content:flex-start}}
/* Mobile fallback when the browser does not allow arbitrary-element fullscreen. */
@media(max-width:900px){
  .video-pseudo-fullscreen-open{overflow:hidden!important}
  .cp-video.is-pseudo-fullscreen{position:fixed!important;inset:0!important;z-index:2147482800!important;width:100vw!important;height:100dvh!important;max-width:none!important;aspect-ratio:auto!important;border-radius:0!important;background:#000!important;grid-template-rows:minmax(0,1fr) auto!important}
  .cp-video.is-pseudo-fullscreen .cp-video__stage{min-height:0!important;height:auto!important}
  .cp-video.is-pseudo-fullscreen .cp-video__controls{position:relative!important;z-index:5!important;min-height:58px!important;background:#030405!important}
}
.cp-video__controls button{font-size:10px!important}
.cp-video--compact .cp-video__controls button,.cp-video--compact .cp-video__controls [data-video-enlarge]{font-size:9.5px!important}

/* v5.0.1 RC gallery containment — use grid tracks instead of percentage height
   arithmetic so dialog borders/UA rounding never create an internal scrollbar. */
.photo-gallery-modal{
  display:grid!important;
  grid-template-rows:60px minmax(0,1fr)!important;
}
.photo-gallery-modal__head{
  height:auto!important;
  min-height:0!important;
}
.photo-gallery-modal__grid{
  height:auto!important;
  min-height:0!important;
  align-self:stretch!important;
  overflow:hidden!important;
}
.photo-gallery-modal__grid figure{margin:0!important;min-width:0!important;min-height:0!important;overflow:hidden!important}
@media(max-width:700px){
  .photo-gallery-modal{grid-template-rows:56px minmax(0,1fr)!important}
  .photo-gallery-modal__head{height:auto!important;min-height:0!important}
  .photo-gallery-modal__grid{height:auto!important;min-height:0!important;overflow:hidden!important}
}
/* Final horizontal containment for legal/mobile pseudo-elements. */
html{overflow-x:clip}

/* ==========================================================
   v5.0.2 — layer hygiene, overlay exits, semantic machines
   ========================================================== */

/* Never render closed dialogs in document flow. */
dialog:not([open]){display:none!important}

/* Main experience text should not acquire accidental selection highlights. */
body:not(.legal-page) main,
body:not(.legal-page) .site-header,
body:not(.legal-page) .site-footer{user-select:none;-webkit-user-select:none}

/* Smooth dialog exits instead of abrupt X closes. */
.site-preview-modal,
.project-features-modal,
.photo-gallery-modal{transition:opacity 1.1s var(--ease),transform 1.1s var(--ease),filter 1.1s var(--ease)}
.site-preview-modal.is-closing,
.project-features-modal.is-closing{opacity:0!important;transform:scale(.965)!important;filter:blur(8px)!important;pointer-events:none!important}
.project-features-modal.is-open{opacity:1}
.photo-gallery-modal.is-closing{pointer-events:none!important}

/* Sticky stack: shadow fades as the next panel arrives; once fully covered,
   the old panel is removed visually so nothing scrolls away behind it. */
.discipline-card,.case,.film-card{
  opacity:1;
  visibility:visible;
  transition:box-shadow .7s ease,border-color .6s ease,opacity .55s ease,visibility 0s linear 0s;
}
.discipline-card.is-under-next,.case.is-under-next,.film-card.is-under-next{
  box-shadow:0 8px 26px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.018) inset!important;
}
.discipline-card.is-covered,.case.is-covered,.film-card.is-covered{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  box-shadow:none!important;
  transition:opacity .42s ease,box-shadow .42s ease,visibility 0s linear .42s!important;
}

/* Work outro now follows the same editorial grammar as the other chapters. */
.work__outro{
  grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)!important;
  gap:clamp(44px,7vw,110px)!important;
  align-items:center!important;
}
.work__outro-head{display:grid;align-content:center;gap:10px}
.work__outro-head h3{font-size:clamp(54px,7vw,112px);margin-top:8px}
.work__outro-head h3 em{color:rgb(var(--accent-rgb));text-shadow:0 0 34px rgba(var(--accent-rgb),.12)}
.work__outro-statement{display:grid;gap:20px;align-content:center}
.work__outro-quote{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(28px,3.6vw,58px);line-height:1.02;color:rgba(255,255,255,.88);letter-spacing:-.035em}
.work__outro-copy{grid-column:auto!important;margin:0!important;max-width:620px}

/* Mobile FAIASALAMANDA typography. */
.faia-title-mobile{display:none}
@media(max-width:620px){
  .faia-title-desktop{display:none}
  .faia-title-mobile{display:inline}
  .case--faia h3{font-size:clamp(38px,15vw,58px)!important;line-height:.82!important}
}

/* About graphic: one central creative direction, three distinct phases. */
.about-machine__center{
  width:230px!important;height:230px!important;gap:10px!important;
  background:radial-gradient(circle,rgba(159,118,255,.18),rgba(8,10,15,.78) 62%)!important;
}
.about-machine__center img{width:88px!important;height:88px!important}
.about-machine__center small{max-width:155px;text-align:center;line-height:1.35}
.about-machine__node{width:16px!important;height:16px!important}
.about-machine__node span{top:25px!important;font-size:8px!important;font-weight:600;letter-spacing:.18em!important}
.about-machine__node small{position:absolute;top:40px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:7px;color:rgba(255,255,255,.34);letter-spacing:.08em}
.about-machine__orbit{position:absolute;left:50%;top:48%;border-radius:50%;border:1px solid rgba(159,118,255,.12);transform:translate(-50%,-50%);pointer-events:none}
.about-machine__orbit--outer{width:72%;aspect-ratio:1}
.about-machine__orbit--inner{width:48%;aspect-ratio:1;border-color:rgba(255,255,255,.06)}
.motion-active .about-machine__orbit--outer{animation:aboutOrbit 32s linear infinite}
.motion-active .about-machine__orbit--inner{animation:aboutOrbit 25s linear infinite reverse}
@keyframes aboutOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}

/* LAB becomes an actual interactive browser-material experiment. */
.lab-machine{cursor:crosshair}
.lab-machine__gpu,.lab-machine__physics{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.lab-machine__gpu{z-index:0;opacity:.74}.lab-machine__physics{z-index:2}
.lab-machine__mesh{z-index:1}.lab-machine__orb,.lab-machine__wave,.lab-machine__label,.lab-machine__core,.lab-machine__audio,.lab-machine__hint{z-index:3}
.lab-machine__audio{position:absolute;right:18px;bottom:18px;display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(65,202,244,.22);background:rgba(6,10,15,.72);color:#fff;border-radius:999px;cursor:pointer;backdrop-filter:blur(8px)}
.lab-machine__audio span,.lab-machine__audio strong{font-size:7px;letter-spacing:.14em;text-transform:uppercase}.lab-machine__audio strong{color:#41caf4;font-weight:600}
.lab-machine__audio[aria-pressed="true"]{border-color:rgba(65,202,244,.48);box-shadow:0 0 26px rgba(65,202,244,.12)}
.lab-machine__hint{position:absolute;left:18px;right:160px;bottom:18px;font-size:8px;line-height:1.45;color:rgba(255,255,255,.36)}
.lab-machine__wave i{transform-origin:center bottom;transition:transform .12s linear}

/* Reduce the large empty mobile gaps introduced by desktop dwell geometry. */
@media(max-width:920px){
  .editorial-zone{min-height:auto!important;padding:10vh 0!important}
  .editorial-stage{position:relative!important;top:auto!important;min-height:0!important;padding:0!important;overflow:visible!important;gap:7vh!important}
  .editorial-tail{display:none!important}
  .work-outro-dwell{min-height:auto!important;margin-top:8vh!important}
  .work-outro-dwell .work__outro{position:relative!important;top:auto!important;min-height:0!important;padding-block:8vh!important}
  .work-outro-tail{display:none!important}
  .work__outro{grid-template-columns:1fr!important;gap:28px!important}
  .work__outro-quote{font-size:clamp(28px,8.8vw,44px)}
  .lab-machine__hint{right:18px;bottom:66px}
}

@media(prefers-reduced-motion:reduce){
  .site-preview-modal,.project-features-modal,.photo-gallery-modal,
  .discipline-card,.case,.film-card{transition-duration:.01ms!important}
  .about-machine__orbit{animation:none!important}
}

/* Feature overlay stays readable without becoming a second scroll page. */
@media(max-width:720px){
  .project-features-modal{width:calc(100vw - 14px)!important;height:auto!important;max-height:calc(100dvh - 14px)!important;border-radius:18px!important}
  .project-features-modal__top{min-height:58px!important;padding:10px 12px!important}
  .project-features-modal__body{overflow:hidden!important;padding:12px!important}
  .project-features-modal__body>p{font-size:11px!important;line-height:1.42!important;margin-bottom:10px!important}
  .project-features-modal__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .project-feature{padding:10px!important;min-height:0!important}
  .project-feature span{font-size:5px!important}
  .project-feature strong{font-size:11px!important;line-height:1.15!important;margin:8px 0 5px!important}
  .project-feature p{font-size:9px!important;line-height:1.3!important}
  .project-features-modal__footer{min-height:52px!important;padding:8px 12px!important;flex-direction:row!important;gap:10px!important}
  .project-features-modal__footer span,.project-features-modal__footer a{font-size:7px!important}
}

/* ==========================================================
   v5.0.3 — CINEMA / DIALOG / MOBILE TYPE / LAB MATERIAL FIX
   ========================================================== */

/* Cinema: never move the source player or lock the page geometry. */
.video-modal-open{overflow:visible!important}
.video-lightbox{cursor:auto!important}
.video-lightbox__cursor{display:none!important}
.video-lightbox__screen{
  left:50%!important;
  top:50%!important;
  width:min(80vw,calc(70vh * 16 / 9),1120px)!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  max-width:none!important;
  max-height:none!important;
  transform:translate(-50%,-48%) scale(.94)!important;
}
.video-lightbox.is-screen-ready .video-lightbox__screen{
  transform:translate(-50%,-50%) scale(1)!important;
}
.video-lightbox.is-screen-leaving .video-lightbox__screen{
  transform:translate(-50%,-50%) scale(.95)!important;
}
.video-lightbox__stage{inset:0!important;width:100%!important;height:100%!important}
.video-lightbox__stage .video-lightbox__youtube-mount,
.video-lightbox__stage iframe{width:100%!important;height:100%!important;border:0!important;display:block!important}
.video-lightbox__close{opacity:0!important;pointer-events:none!important;transition:opacity .3s ease,transform .3s ease,border-color .3s ease,box-shadow .3s ease!important}
.video-lightbox__screen:hover .video-lightbox__close,
.video-lightbox__screen:focus-within .video-lightbox__close{opacity:1!important;pointer-events:auto!important}

/* Close panel and blurred backdrop as one coherent motion. */
.project-features-modal::backdrop,
.photo-gallery-modal::backdrop{
  opacity:1;
  transition:opacity 1.1s var(--ease),backdrop-filter 1.1s var(--ease)!important;
}
.project-features-modal.is-closing::backdrop,
.photo-gallery-modal.is-closing::backdrop{
  opacity:0!important;
  backdrop-filter:blur(0)!important;
}

/* Brand headline: only narrow devices split the long compound word, never hyphenate it. */
.brand-wrap,.brand-wrap>span{display:inline}
@media(max-width:430px){
  .discipline-card--brand .discipline-card__copy h3{font-size:clamp(48px,13.2vw,62px)!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  .discipline-card--brand .brand-wrap{display:inline-flex!important;flex-direction:column!important;vertical-align:baseline!important;line-height:.84!important}
  .discipline-card--brand .brand-wrap>span{display:block!important}
}

/* LAB: one honest interactive material instead of decorative feature labels. */
.lab-material{
  position:relative;
  min-height:540px;
  overflow:hidden;
  isolation:isolate;
  cursor:crosshair;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 72% 28%,rgba(155,119,255,.095),transparent 30%),
    radial-gradient(circle at 28% 72%,rgba(65,202,244,.10),transparent 34%),
    rgba(255,255,255,.012);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.012),0 34px 100px rgba(0,0,0,.22);
}
.lab-material__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;touch-action:none}
.lab-material__veil{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(6,9,14,.02),rgba(6,9,14,.18));mask-image:linear-gradient(to bottom,black,transparent 55%,black)}
.lab-material__copy{position:absolute;left:clamp(18px,4vw,44px);top:clamp(18px,4vw,42px);z-index:3;max-width:min(62%,420px);pointer-events:none}
.lab-material__copy>span{display:block;font-size:7px;letter-spacing:.19em;color:rgba(255,255,255,.40);margin-bottom:8px}
.lab-material__copy>strong{display:block;font-size:clamp(20px,2.4vw,36px);font-weight:520;letter-spacing:-.035em;color:rgba(255,255,255,.92);margin-bottom:10px}
.lab-material__copy>p{font-size:clamp(11px,1vw,14px);line-height:1.55;color:rgba(255,255,255,.50)}
.lab-material__status{position:absolute;right:18px;top:18px;z-index:3;display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(65,202,244,.16);background:rgba(5,8,13,.54);backdrop-filter:blur(8px);pointer-events:none}
.lab-material__status i{width:5px;height:5px;border-radius:50%;background:#41caf4;box-shadow:0 0 12px rgba(65,202,244,.72)}
.lab-material__status span,.lab-material__status b{font-size:6px;letter-spacing:.15em;text-transform:uppercase}.lab-material__status span{color:rgba(255,255,255,.38)}.lab-material__status b{color:rgba(65,202,244,.72);font-weight:600}
.lab-material__gesture{position:absolute;left:clamp(18px,4vw,44px);right:clamp(18px,4vw,44px);bottom:20px;z-index:3;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;pointer-events:none}
.lab-material__gesture span{font-size:6px;letter-spacing:.18em;color:rgba(255,255,255,.35)}
.lab-material__gesture i{height:1px;background:linear-gradient(90deg,rgba(65,202,244,.08),rgba(65,202,244,.46),rgba(155,119,255,.22),rgba(65,202,244,.05));box-shadow:0 0 12px rgba(65,202,244,.10)}
@media(max-width:720px){
  .lab-material{min-height:420px;cursor:default}
  .lab-material__copy{max-width:75%}
  .lab-material__status{right:12px;top:12px}
}
@media(prefers-reduced-motion:reduce){
  .lab-material__canvas{opacity:.74}
}

/* ==========================================================
   v5.0.4 — CINEMA CENTERING / ABOUT FLOW / SECTION SCORE
   ========================================================== */

/* Optional locally generated section score. It never autoplays. */
.sound-toggle{
  display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;
  border:1px solid rgba(255,255,255,.10);border-radius:999px;background:rgba(255,255,255,.018);
  color:rgba(255,255,255,.54);cursor:pointer;transition:color .35s,border-color .35s,background .35s,box-shadow .35s;
}
.sound-toggle:hover,.sound-toggle:focus-visible{color:#fff;border-color:rgba(var(--accent-rgb),.34);box-shadow:0 0 22px rgba(var(--accent-rgb),.08)}
.sound-toggle[aria-pressed="true"]{color:rgba(255,255,255,.88);border-color:rgba(var(--accent-rgb),.30);background:rgba(var(--accent-rgb),.055)}
.sound-toggle__label{font-size:7px;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.sound-toggle__icon{width:15px;height:12px;display:flex;align-items:flex-end;gap:2px}
.sound-toggle__icon i{display:block;width:2px;border-radius:999px;background:currentColor;opacity:.72;transform-origin:bottom}
.sound-toggle__icon i:nth-child(1){height:5px}.sound-toggle__icon i:nth-child(2){height:10px}.sound-toggle__icon i:nth-child(3){height:7px}
.sound-toggle[aria-pressed="true"] .sound-toggle__icon i{animation:soundBars 1.1s ease-in-out infinite alternate}
.sound-toggle[aria-pressed="true"] .sound-toggle__icon i:nth-child(2){animation-delay:.18s}.sound-toggle[aria-pressed="true"] .sound-toggle__icon i:nth-child(3){animation-delay:.36s}
@keyframes soundBars{from{transform:scaleY(.45);opacity:.45}to{transform:scaleY(1);opacity:1}}
@media(max-width:920px){.sound-toggle{margin-left:auto;margin-right:4px;padding-inline:10px}.sound-toggle__label{font-size:6.5px}}
@media(max-width:460px){.sound-toggle__label{display:none}.sound-toggle{width:38px;justify-content:center;padding:0}}

/* Cinema screen: use the overlay itself as a centering grid. No transformed ancestor,
   no absolute 50/50 math and therefore no dependency on page scroll geometry. */
.video-lightbox{
  position:fixed!important;inset:0!important;display:grid!important;place-items:center!important;
  padding:clamp(20px,4vh,42px) clamp(18px,4vw,56px)!important;
  box-sizing:border-box!important;
}
.video-lightbox[hidden]{display:none!important}
.video-lightbox__screen{
  position:relative!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;
  width:min(76vw,1120px,calc((100dvh - 96px) * 16 / 9))!important;
  height:auto!important;aspect-ratio:16/9!important;max-width:1120px!important;max-height:calc(100dvh - 96px)!important;
  margin:0!important;transform:scale(.94)!important;transform-origin:center center!important;
  opacity:0;align-self:center!important;justify-self:center!important;
}
.video-lightbox.is-screen-ready .video-lightbox__screen{
  transform:scale(1)!important;opacity:1!important;
}
.video-lightbox.is-screen-leaving .video-lightbox__screen{
  transform:scale(.95)!important;opacity:0!important;
}
.video-lightbox__stage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
.video-lightbox__stage>.video-lightbox__youtube-mount,
.video-lightbox__stage>.video-lightbox__youtube-mount>iframe,
.video-lightbox__stage iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;display:block!important}
@media(max-width:920px){.video-lightbox{display:none!important}}

/* ABOUT — make OBSERVE → CONNECT → CREATE visibly move, not merely glow. */
.about-machine__center{width:224px!important;height:224px!important;z-index:5!important;transition:box-shadow .6s ease,transform .6s var(--ease)}
.about-machine__center::before,.about-machine__center::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.about-machine__center::before{inset:-18px;border:1px solid rgba(159,118,255,.13)}
.about-machine__center::after{inset:-38px;border:1px dashed rgba(159,118,255,.08)}
.about-machine__connection{overflow:visible!important;background:linear-gradient(90deg,transparent,rgba(159,118,255,.16) 16%,rgba(159,118,255,.52) 50%,rgba(159,118,255,.16) 84%,transparent)!important}
.about-machine__connection::after{content:"";position:absolute;top:50%;left:0;width:8px;height:8px;border-radius:50%;background:#b69aff;box-shadow:0 0 18px rgba(159,118,255,.82),0 0 34px rgba(159,118,255,.40);opacity:0;transform:translate(-50%,-50%)}
.about-machine.motion-active .about-machine__connection--a::after{animation:aboutSignal 7.8s var(--ease) infinite 0s}
.about-machine.motion-active .about-machine__connection--b::after{animation:aboutSignal 7.8s var(--ease) infinite 2.6s}
.about-machine.motion-active .about-machine__connection--c::after{animation:aboutSignal 7.8s var(--ease) infinite 5.2s}
.about-machine.motion-active .about-machine__node--1{animation:aboutNodePulse 7.8s ease-in-out infinite 0s!important}
.about-machine.motion-active .about-machine__node--2{animation:aboutNodePulse 7.8s ease-in-out infinite 2.6s!important}
.about-machine.motion-active .about-machine__node--3{animation:aboutNodePulse 7.8s ease-in-out infinite 5.2s!important}
.about-machine.motion-active .about-machine__center{animation:aboutCenterPulse 2.6s ease-in-out infinite}
.about-machine.motion-active .about-machine__center::before{animation:aboutRingBreath 5.2s ease-in-out infinite}
.about-machine.motion-active .about-machine__center::after{animation:aboutOrbitRing 36s linear infinite}
.about-machine.motion-active .about-machine__orbit--outer{animation:aboutOrbit 28s linear infinite!important}
.about-machine.motion-active .about-machine__orbit--inner{animation:aboutOrbit 22s linear infinite reverse!important}
.about-machine.motion-active .about-machine__mesh{animation:aboutMeshDrift 18s ease-in-out infinite alternate}
@keyframes aboutSignal{0%,8%{left:0;opacity:0}12%{opacity:1}38%{left:50%;opacity:1}54%{left:100%;opacity:0}100%{left:100%;opacity:0}}
@keyframes aboutNodePulse{0%,15%,100%{transform:scale(1);box-shadow:0 0 24px rgba(159,118,255,.36)!important}22%{transform:scale(1.55);box-shadow:0 0 42px rgba(159,118,255,.88)!important}34%{transform:scale(1);box-shadow:0 0 24px rgba(159,118,255,.36)!important}}
@keyframes aboutCenterPulse{0%,100%{box-shadow:0 0 54px rgba(159,118,255,.11)}50%{box-shadow:0 0 78px rgba(159,118,255,.22)}}
@keyframes aboutRingBreath{0%,100%{transform:scale(.94);opacity:.35}50%{transform:scale(1.05);opacity:.72}}
@keyframes aboutOrbitRing{to{transform:rotate(360deg)}}
@keyframes aboutMeshDrift{from{transform:translate3d(-8px,-5px,0)}to{transform:translate3d(10px,8px,0)}}

@media(prefers-reduced-motion:reduce){
  .sound-toggle[aria-pressed="true"] .sound-toggle__icon i,
  .about-machine.motion-active .about-machine__connection::after,
  .about-machine.motion-active .about-machine__node,
  .about-machine.motion-active .about-machine__center,
  .about-machine.motion-active .about-machine__center::before,
  .about-machine.motion-active .about-machine__center::after,
  .about-machine.motion-active .about-machine__orbit,
  .about-machine.motion-active .about-machine__mesh{animation:none!important}
}

/* ==========================================================
   v5.0.5 — CINEMA PORTAL / HARD VIEWPORT CENTERING
   Unique cinema classes replace the accumulated legacy lightbox
   selectors so the visible video can no longer inherit old layout rules.
   ========================================================== */
.cp-cinema[hidden]{display:none!important}
.cp-cinema{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  width:100vw!important;
  height:100dvh!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:transparent!important;
  transform:none!important;
  contain:none!important;
  isolation:isolate;
  transition:opacity 3s cubic-bezier(.2,.72,.2,1),visibility 3s step-end!important;
}
.cp-cinema.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity 3s cubic-bezier(.2,.72,.2,1),visibility 0s step-start!important;
}
.cp-cinema__backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  background:rgba(1,2,4,.958)!important;
  backdrop-filter:blur(7px)!important;
  opacity:0;
  transition:opacity 3s cubic-bezier(.2,.72,.2,1)!important;
}
.cp-cinema.is-visible .cp-cinema__backdrop{opacity:1}
.cp-cinema::before,.cp-cinema::after{
  content:"";
  position:fixed;
  left:0;right:0;
  height:9vh;
  z-index:1;
  background:#010204;
  opacity:.92;
  pointer-events:none;
  transition:transform 2.8s cubic-bezier(.2,.72,.2,1)!important;
}
.cp-cinema::before{top:0;transform:translateY(-100%)}
.cp-cinema::after{bottom:0;transform:translateY(100%)}
.cp-cinema.is-visible::before,.cp-cinema.is-visible::after{transform:none}
.cp-cinema__screen{
  --cp-cinema-dx:0px;
  --cp-cinema-dy:0px;
  position:fixed!important;
  left:50vw;
  top:50vh;
  z-index:3!important;
  width:min(76vw,1120px,calc((100dvh - 96px) * 16 / 9))!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  max-width:none!important;
  max-height:calc(100dvh - 96px)!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  opacity:0;
  pointer-events:none;
  transform:translate3d(calc(-50% + var(--cp-cinema-dx)),calc(-50% + var(--cp-cinema-dy)),0) scale(.94)!important;
  transform-origin:center center!important;
  transition:opacity .9s ease,transform 1.05s var(--ease)!important;
  filter:drop-shadow(0 40px 120px rgba(0,0,0,.72));
  outline:none;
}
.cp-cinema.is-screen-ready .cp-cinema__screen{
  opacity:1!important;
  pointer-events:auto!important;
  transform:translate3d(calc(-50% + var(--cp-cinema-dx)),calc(-50% + var(--cp-cinema-dy)),0) scale(1)!important;
}
.cp-cinema.is-screen-leaving .cp-cinema__screen{
  opacity:0!important;
  transform:translate3d(calc(-50% + var(--cp-cinema-dx)),calc(-50% + var(--cp-cinema-dy)),0) scale(.95)!important;
  transition-duration:.85s!important;
}
.cp-cinema__stage{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:2px;
  background:#000;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 0 1px rgba(255,255,255,.025) inset,0 0 62px rgba(var(--accent-rgb),.035);
}
.cp-cinema__youtube-mount,
.cp-cinema__youtube-mount iframe,
.cp-cinema__stage iframe{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  display:block!important;
}
.cp-cinema__close{
  position:absolute!important;
  right:14px!important;
  top:14px!important;
  z-index:4!important;
  width:42px!important;
  height:42px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  border:1px solid rgba(255,255,255,.28)!important;
  background:rgba(5,7,10,.74)!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1!important;
  opacity:0;
  transform:scale(.9);
  pointer-events:none;
  cursor:pointer!important;
  transition:opacity .28s ease,transform .28s ease,border-color .28s ease,box-shadow .28s ease!important;
  backdrop-filter:blur(10px);
}
.cp-cinema__screen:hover .cp-cinema__close,
.cp-cinema__screen:focus-within .cp-cinema__close{
  opacity:1!important;
  transform:scale(1)!important;
  pointer-events:auto!important;
}
.cp-cinema__close:hover,.cp-cinema__close:focus-visible{
  border-color:rgba(var(--accent-rgb),.62)!important;
  box-shadow:0 0 24px rgba(var(--accent-rgb),.15);
}
@media(max-width:920px){.cp-cinema{display:none!important}}

/* ==========================================================
   v5.0.6 — REAL MUSIC BED / LEGAL CONTINUITY
   ========================================================== */
.sound-toggle--legal{margin-left:auto;margin-right:12px;flex:0 0 auto}

.legal-overlay{
  width:min(96vw,1240px);height:min(92svh,900px);max-width:none;max-height:none;
  padding:0;border:1px solid rgba(255,255,255,.10);border-radius:28px;
  background:#090c12;color:var(--fg);overflow:hidden;
  opacity:0;transform:translateY(16px) scale(.985);
  transition:opacity .65s var(--ease),transform .8s var(--ease),filter .8s var(--ease);
  filter:blur(8px);
}
.legal-overlay[open].is-open{opacity:1;transform:none;filter:blur(0)}
.legal-overlay.is-closing{opacity:0;transform:translateY(12px) scale(.985);filter:blur(8px)}
.legal-overlay::backdrop{background:rgba(2,4,7,.78);backdrop-filter:blur(18px);transition:background .8s,backdrop-filter .8s}
.legal-overlay.is-closing::backdrop{background:rgba(2,4,7,0);backdrop-filter:blur(0)}
.legal-overlay__shell{display:grid;grid-template-rows:56px 1fr;height:100%;min-height:0;background:#090c12}
.legal-overlay__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(9,12,18,.94)}
.legal-overlay__bar span{font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.legal-overlay__bar button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.025);color:#fff;font-size:20px;line-height:1;cursor:pointer}
.legal-overlay__frame{width:100%;height:100%;min-height:0;border:0;background:#090c12}
body.is-legal-embedded .legal-header{position:relative;top:auto}

@media(max-width:720px){
  .legal-overlay{width:100vw;height:100svh;border-radius:0;border:0}
  .legal-overlay__shell{grid-template-rows:52px 1fr}
  .sound-toggle--legal{margin-right:6px}
}

/* ==========================================================
   v5.1.0 — INDEXABLE SERVICE + CASE STUDY SYSTEM
   Keeps MAIN immersive; adds a quieter second layer for search,
   decision clarity, proof and contextual conversion.
   ========================================================== */
.content-page{--content-accent:var(--accent-rgb);background:#090c12;min-height:100vh}
.content-page .page-ambient__glow{opacity:.72}
.content-page .site-header{z-index:120}
.content-page-main{position:relative;padding-top:110px}
.content-hero{padding:clamp(72px,10vh,130px) 0 clamp(72px,11vh,150px);border-bottom:1px solid var(--line)}
.content-hero__meta{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:36px;color:rgba(255,255,255,.42);font-size:8px;letter-spacing:.18em;text-transform:uppercase}
.content-breadcrumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.content-breadcrumbs a{color:rgba(255,255,255,.58)}.content-breadcrumbs i{font-style:normal;opacity:.28}
.content-hero__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:clamp(42px,8vw,130px);align-items:end}
.content-hero h1{font-size:clamp(52px,8.1vw,138px);line-height:.86;letter-spacing:-.07em;max-width:1100px}
.content-hero h1 em{color:rgb(var(--accent-rgb));text-shadow:0 0 42px rgba(var(--accent-rgb),.14)}
.content-hero__lead{font-size:clamp(17px,1.4vw,22px);line-height:1.65;max-width:680px;color:rgba(245,244,240,.74)}
.content-hero__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.content-hero__aside{border-left:1px solid rgba(var(--accent-rgb),.24);padding-left:24px;display:grid;gap:18px}
.content-hero__aside small{font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.38)}
.content-hero__aside strong{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;font-size:clamp(24px,2.5vw,38px);line-height:1.08;color:#fff}
.content-proofline{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:34px;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.content-proofline b{color:rgba(255,255,255,.72);font-weight:530}.content-proofline span:not(:last-child)::after{content:"·";margin-left:14px;color:rgba(var(--accent-rgb),.55)}
.content-section{padding:clamp(72px,10vh,140px) 0;border-bottom:1px solid var(--line);position:relative}
.content-section__head{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(38px,8vw,130px);align-items:start;margin-bottom:52px}
.content-section__head h2{font-size:clamp(38px,5.6vw,84px);line-height:.93}.content-section__head p{font-size:clamp(15px,1.25vw,19px);line-height:1.7;max-width:720px}
.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.content-card{position:relative;min-height:250px;padding:28px;border:1px solid rgba(255,255,255,.095);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));overflow:hidden}
.content-card::before{content:"";position:absolute;inset:auto -20% -40% 10%;height:70%;background:radial-gradient(circle,rgba(var(--accent-rgb),.13),transparent 68%);pointer-events:none}
.content-card>span{display:block;margin-bottom:32px;color:rgba(var(--accent-rgb),.8);font-size:8px;letter-spacing:.17em;text-transform:uppercase}
.content-card h3{font-size:clamp(25px,2.2vw,36px);line-height:1;margin-bottom:15px}.content-card p{font-size:14px;line-height:1.68;position:relative}
.content-card .text-link{margin-top:24px;position:relative}
.content-list{display:grid;gap:1px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.content-list__row{display:grid;grid-template-columns:90px minmax(220px,.55fr) minmax(0,1fr);gap:26px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}.content-list__row:last-child{border-bottom:0}
.content-list__row>span{font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:rgba(var(--accent-rgb),.75)}.content-list__row h3{font-size:24px;letter-spacing:-.04em;line-height:1.06}.content-list__row p{font-size:14px;line-height:1.7}
.content-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.content-case{min-height:330px;padding:30px;border-radius:26px;border:1px solid rgba(255,255,255,.10);background:radial-gradient(circle at 86% 18%,rgba(var(--accent-rgb),.14),transparent 30%),#0c1119;display:flex;flex-direction:column;justify-content:space-between;transition:transform .45s var(--ease),border-color .45s,box-shadow .45s}
.content-case:hover,.content-case:focus-within{transform:translateY(-4px);border-color:rgba(var(--accent-rgb),.34);box-shadow:0 28px 80px rgba(0,0,0,.3)}
.content-case__meta{font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.42)}.content-case h3{font-size:clamp(34px,4vw,68px);margin:18px 0 14px}.content-case p{font-size:14px;line-height:1.66;max-width:580px}.content-case__links{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:30px}
.content-quote{padding:clamp(34px,5vw,68px);border:1px solid rgba(var(--accent-rgb),.18);border-radius:28px;background:linear-gradient(135deg,rgba(var(--accent-rgb),.055),rgba(255,255,255,.012));font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(28px,4vw,58px);line-height:1.04;color:#fff;letter-spacing:-.035em}
.content-cta{padding:clamp(84px,12vh,160px) 0}.content-cta__panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(44px,8vw,130px);padding:clamp(32px,5vw,70px);border:1px solid rgba(var(--accent-rgb),.22);border-radius:32px;background:radial-gradient(circle at 85% 15%,rgba(var(--accent-rgb),.16),transparent 32%),rgba(255,255,255,.018);align-items:center}
.content-cta h2{font-size:clamp(42px,6vw,92px);line-height:.91}.content-cta p{font-size:15px;line-height:1.7;margin-top:22px;max-width:680px}.content-cta__actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;flex-wrap:wrap}
.content-nav-back{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.6);font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:26px}.content-nav-back:hover{color:#fff}
.content-page .site-footer{border-top:1px solid var(--line)}
.content-page .mobile-menu{top:70px}
.content-page .desktop-nav a.is-current{color:#fff;background:rgba(var(--accent-rgb),.08);border:1px solid rgba(var(--accent-rgb),.16)}
.content-fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--line)}
.content-fact{background:#0b0f16;padding:24px}.content-fact span{display:block;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:14px}.content-fact strong{font-weight:530;font-size:15px;line-height:1.45}
.case-story{display:grid;grid-template-columns:minmax(240px,.5fr) minmax(0,1.5fr);gap:clamp(38px,9vw,140px);align-items:start}.case-story__rail{position:sticky;top:110px;display:grid;gap:16px}.case-story__rail a{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.42)}.case-story__rail a:hover{color:#fff}.case-story__body{display:grid;gap:70px}.case-story__body section{scroll-margin-top:120px}.case-story__body h2{font-size:clamp(34px,4.8vw,70px);margin-bottom:24px}.case-story__body p{font-size:clamp(15px,1.2vw,18px);line-height:1.76;max-width:800px}.case-story__body ul{margin:24px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.case-story__body li{padding:13px 14px;border:1px solid var(--line);border-radius:12px;color:rgba(245,244,240,.7);font-size:12px}
.hub-intro{max-width:900px}.hub-intro h1{font-size:clamp(58px,9vw,150px)}
.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:56px}.hub-card{min-height:360px;padding:32px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 80% 10%,rgba(var(--accent-rgb),.12),transparent 32%),rgba(255,255,255,.018);display:flex;flex-direction:column;justify-content:space-between}.hub-card span{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:rgba(var(--accent-rgb),.72)}.hub-card h2{font-size:clamp(34px,4vw,62px);margin:20px 0 18px}.hub-card p{font-size:14px;line-height:1.68;max-width:610px}.hub-card .text-link{margin-top:28px;align-self:flex-start}
@media(max-width:1000px){.content-hero__grid,.content-section__head,.content-cta__panel{grid-template-columns:1fr}.content-hero__aside{border-left:0;border-top:1px solid rgba(var(--accent-rgb),.20);padding:22px 0 0}.content-grid{grid-template-columns:1fr 1fr}.content-fact-grid{grid-template-columns:1fr 1fr}.case-story{grid-template-columns:1fr}.case-story__rail{position:relative;top:auto;display:flex;flex-wrap:wrap}.content-cta__actions{justify-content:flex-start}}
@media(max-width:720px){.content-page-main{padding-top:82px}.content-hero{padding-top:58px}.content-hero h1{font-size:clamp(48px,15vw,82px)}.content-grid,.content-case-grid,.hub-grid{grid-template-columns:1fr}.content-card{min-height:0}.content-list__row{grid-template-columns:1fr;gap:10px;padding:24px 0}.content-list__row>span{margin-bottom:3px}.content-fact-grid{grid-template-columns:1fr}.case-story__body ul{grid-template-columns:1fr}.content-cta__panel{padding:28px 20px}.content-hero__actions .button,.content-cta__actions .button{width:100%}.content-proofline span:not(:last-child)::after{display:none}}

/* MAIN bridges into the indexable second layer — intentionally quiet. */
.hero__detail-link{display:inline-flex;align-items:center;margin-left:4px;color:rgba(255,255,255,.56);font-size:9px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(var(--accent-rgb),.28);padding:0 2px 5px;align-self:center}.hero__detail-link:hover{color:#fff;border-color:rgba(var(--accent-rgb),.7)}
.discipline-card__detail-link{position:relative;z-index:4;display:inline-flex;align-self:flex-start;margin-top:18px;padding-bottom:5px;border-bottom:1px solid rgba(var(--card-rgb),.42);font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.66)}.discipline-card__detail-link:hover{color:#fff}
.cross-skills__deep{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}.cross-skills__deep .text-link{font-size:10px}
.work-proof{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;margin-top:-4vh;margin-bottom:5vh;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.work-proof>span{font-size:8px;letter-spacing:.17em;color:rgba(255,255,255,.34)}.work-proof>strong{font-size:10px;font-weight:520;color:rgba(255,255,255,.68)}.work-proof .text-link{margin-left:auto;font-size:9px}
.case__study-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 13px;border-bottom:1px solid rgba(var(--card-rgb,255,255,255),.42);font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.7)}.case__study-link:hover{color:#fff;border-color:rgba(var(--card-rgb,255,255,255),.8)}
.contact-panel__precheck{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0 4px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-panel__precheck span{font-size:7px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.34)}.contact-panel__precheck a{font-size:9px;color:rgba(255,255,255,.68);border-bottom:1px solid rgba(var(--accent-rgb),.3)}.contact-panel__precheck a:hover{color:#fff}
@media(max-width:720px){.hero__detail-link{width:100%;justify-content:center;margin:4px 0 0}.work-proof{margin-top:0}.work-proof .text-link{margin-left:0;width:100%;justify-content:flex-start}.case__study-link{width:100%}}

/* v5.1.0 pending cinema UX item: sound control appears with the hover controls. */
.cp-cinema__sound{position:absolute!important;right:14px!important;top:66px!important;z-index:4!important;min-width:104px!important;height:38px!important;padding:0 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.22)!important;background:rgba(5,7,10,.74)!important;color:#fff!important;opacity:0;transform:translateY(-4px);pointer-events:none;cursor:pointer!important;transition:opacity .28s ease,transform .28s ease,border-color .28s ease,box-shadow .28s ease!important;backdrop-filter:blur(10px)}
.cp-cinema__sound span{font-size:14px;opacity:.72}.cp-cinema__sound strong{font-size:7px;letter-spacing:.14em;text-transform:uppercase;font-weight:560}
.cp-cinema__screen:hover .cp-cinema__sound,.cp-cinema__screen:focus-within .cp-cinema__sound{opacity:1!important;transform:none!important;pointer-events:auto!important}
.cp-cinema__sound[aria-pressed="true"]{border-color:rgba(var(--accent-rgb),.42)!important;box-shadow:0 0 24px rgba(var(--accent-rgb),.12)}
.cp-cinema__sound:hover,.cp-cinema__sound:focus-visible{border-color:rgba(var(--accent-rgb),.62)!important;box-shadow:0 0 24px rgba(var(--accent-rgb),.15)}

/* v5.2.1 — contextual return navigation */
.context-return{position:fixed;left:max(var(--pad),env(safe-area-inset-left));bottom:max(22px,calc(env(safe-area-inset-bottom) + 14px));z-index:118;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 28px);padding:11px 15px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(8,11,16,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 34px rgba(0,0,0,.28);color:rgba(255,255,255,.82);font-size:9px;letter-spacing:.12em;text-transform:uppercase;transition:background .35s,border-color .35s,color .35s,transform .35s,opacity .35s}
.context-return:hover,.context-return:focus-visible{background:rgba(255,255,255,.08);border-color:rgba(var(--accent-rgb),.36);color:#fff;transform:translateY(-2px)}
.context-return>span:first-child{font-size:15px;line-height:1;letter-spacing:0}
.hub-card h2 .hub-title-desktop,.hub-card h2 .hub-title-mobile{font:inherit;line-height:inherit;letter-spacing:inherit;text-transform:none;color:inherit}
.hub-title-mobile{display:none}
.content-page.has-context-return .site-footer{padding-bottom:90px}
@media(max-width:720px){.context-return{left:14px;bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));padding:10px 13px;font-size:8px}.hub-title-desktop{display:none}.hub-title-mobile{display:inline}.hub-card h2{max-width:100%;font-size:clamp(32px,11vw,48px);line-height:.94;overflow-wrap:normal;word-break:normal}}

/* Interactive links without a real target stay out of focus/navigation until JS assigns a URL. */
.preview-open-new[hidden],[data-project-features-live][hidden]{display:none!important}
