:root{
 --bg:#030303;
 --fg:#f3f3f1;
 --font-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
 --font-editorial:"Helvetica Neue",Helvetica,Arial,sans-serif;
 --muted:rgba(243,243,241,.58);
 --line:rgba(243,243,241,.16);
 --soft:rgba(243,243,241,.08);
 --blue:#5d7cff;
 --blue-soft:rgba(93,124,255,.34);
 --px:50vw;
 --py:50vh;
 --depth:0;
 --center-slide:0;
 --center-target:0;
 --center-glow:.22;
 --center-scale:1;
 --cinema-light:0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg);overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:16px;line-height:1;overflow-x:hidden;font-kerning:normal;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
::-webkit-scrollbar{width:0;height:0}
.shell{width:min(calc(100% - 64px),1440px);margin-inline:auto}
.section-label{color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.button{--mag-x:0px;--mag-y:0px;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-width:180px;border:1px solid var(--line);border-radius:999px;padding:15px 20px;font-size:14px;transition:border-color .25s ease,background-color .25s ease;transform:translate3d(var(--mag-x),var(--mag-y),0);will-change:transform}
.button:hover{border-color:rgba(243,243,241,.42);background:rgba(243,243,241,.04)}
.button:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 34%,rgba(255,255,255,.075),transparent 66%);transform:translateX(-120%) skewX(-18deg);transition:transform .7s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.button:hover:after{transform:translateX(120%) skewX(-18deg)}
.intro-curtain{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:#020202;color:var(--fg);pointer-events:none;overflow:hidden}
.intro-curtain:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 68% 58%,rgba(238,242,244,.095),transparent 32%),linear-gradient(180deg,transparent,rgba(255,255,255,.035),transparent);opacity:.85}
.intro-word{position:relative;z-index:2;display:flex;align-items:baseline;gap:clamp(14px,2.2vw,36px);font-size:clamp(48px,12vw,214px);line-height:.78;letter-spacing:-.085em;text-transform:uppercase;transform-origin:50% 70%}
.intro-word b{font-weight:400}
.intro-word em{font-style:normal;font-weight:400;font-size:.42em;letter-spacing:.02em;color:rgba(243,243,241,.72)}
.intro-word em:before{content:"·";margin-right:.34em;color:rgba(238,242,244,.52)}
.intro-word em:after{content:"·";margin-left:.34em;color:rgba(238,242,244,.52)}
.intro-curtain i{position:absolute;left:0;right:0;top:50%;z-index:1;height:1px;background:linear-gradient(90deg,transparent,rgba(238,242,244,.56),rgba(255,255,255,.8),rgba(238,242,244,.22),transparent);transform:scaleX(0);opacity:.9}
.intro-curtain small{position:absolute;left:50%;bottom:32px;z-index:2;transform:translateX(-50%);color:rgba(243,243,241,.52);font-size:11px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.cursor{position:fixed;left:0;top:0;z-index:100;width:18px;height:18px;border:1px solid #fff;border-radius:50%;pointer-events:none;mix-blend-mode:difference;transform:translate(-50%,-50%);opacity:0;transition:opacity .2s,width .32s cubic-bezier(.2,.8,.2,1),height .32s cubic-bezier(.2,.8,.2,1),border-color .32s ease}
.cursor span{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);transition:opacity .25s ease}
.cursor:after{content:attr(data-label);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:0;white-space:nowrap}
.cursor.is-active{width:72px;height:72px;border-color:rgba(255,255,255,.86)}
.cursor.is-active span{opacity:0}
.cursor.is-active:after{opacity:1}
body:hover .cursor{opacity:1}
.ambient-glow{
 position:fixed;
 left:var(--px);
 top:var(--py);
 z-index:2;
 width:44vw;
 max-width:620px;
 aspect-ratio:1;
 border-radius:50%;
 pointer-events:none;
 transform:translate(-50%,-50%);
 background:radial-gradient(circle,rgba(238,242,244,.1),rgba(238,242,244,.035) 34%,transparent 70%);
 filter:blur(24px);
 opacity:.5;
 mix-blend-mode:screen;
 transition:opacity .35s ease;
}
.grain{
 position:fixed;
 inset:0;
 z-index:80;
 pointer-events:none;
 opacity:.08;
 mix-blend-mode:soft-light;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
}
.scroll-line{
 position:fixed;
 left:0;
 bottom:0;
 z-index:90;
 width:100%;
 height:2px;
 pointer-events:none;
 background:rgba(243,243,241,.04);
}
.scroll-line span{
 display:block;
 width:calc(var(--scroll,0)*100%);
 height:100%;
 background:linear-gradient(90deg,rgba(238,242,244,.095),rgba(255,255,255,.82),rgba(238,242,244,.14));
 box-shadow:0 0 22px rgba(238,242,244,.2);
}
.chapter-indicator{
 position:fixed;
 right:32px;
 top:50%;
 z-index:29;
 display:grid;
 justify-items:center;
 gap:12px;
 transform:translateY(-50%);
 color:rgba(243,243,241,.62);
 pointer-events:none;
 mix-blend-mode:difference;
}
.chapter-indicator span,.chapter-indicator em{
 writing-mode:vertical-rl;
 text-orientation:mixed;
 font-size:11px;
 letter-spacing:.14em;
 text-transform:uppercase;
 line-height:1;
}
.chapter-indicator i{
 position:relative;
 display:block;
 width:1px;
 height:132px;
 background:rgba(243,243,241,.18);
 overflow:hidden;
}
.chapter-indicator b{
 position:absolute;
 left:0;
 bottom:0;
 width:100%;
 height:calc(var(--scroll,0)*100%);
 background:linear-gradient(180deg,rgba(238,242,244,.13),rgba(255,255,255,.88));
 box-shadow:0 0 18px rgba(238,242,244,.15);
}
.center-slidebar{
 position:fixed;
 left:50%;
 top:0;
 z-index:28;
 width:1px;
 height:100svh;
 pointer-events:none;
 transform:translateX(-50%);
 opacity:calc((.82 - var(--depth)*.34) * (1 - clamp(0,var(--center-target) - .88,1) * 5));
 mix-blend-mode:screen;
}
.center-slidebar:before{
 content:"";
 position:absolute;
 left:0;
 top:18px;
 bottom:18px;
 width:1px;
 background:linear-gradient(180deg,transparent,rgba(243,243,241,.12) 16%,rgba(243,243,241,.12) 84%,transparent);
}
.center-slidebar span{
 position:absolute;
 left:0;
 top:18px;
 width:1px;
 height:calc((100svh - 36px) * var(--center-slide));
 background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(238,242,244,.13),transparent);
 box-shadow:0 0 18px rgba(238,242,244,.15);
}
.center-slidebar b{
 position:absolute;
 left:50%;
 top:18px;
 width:2px;
 height:126px;
 border-radius:999px;
 background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(238,242,244,.26),rgba(255,255,255,.08));
 box-shadow:0 0 calc(22px + var(--center-glow)*22px) rgba(238,242,244,.22),0 0 72px rgba(255,255,255,.08);
 transform:translate3d(-50%,calc((100svh - 162px) * var(--center-slide)),0) scaleY(var(--center-scale));
}
.center-slidebar.is-pulsing em{animation:centerPulse .62s cubic-bezier(.2,.8,.2,1)}
@keyframes centerPulse{0%{box-shadow:0 0 0 rgba(238,242,244,0);transform:translate(-50%,-50%) scale(.82)}45%{box-shadow:0 0 44px rgba(238,242,244,.3);transform:translate(-50%,-50%) scale(1.65)}100%{box-shadow:0 0 20px rgba(238,242,244,.24);transform:translate(-50%,-50%) scale(1)}}
.center-slidebar em{
 position:absolute;
 left:50%;
 top:calc(18px + (100svh - 36px) * var(--center-slide));
 width:9px;
 height:9px;
 border:1px solid rgba(255,255,255,.54);
 border-radius:50%;
 background:rgba(3,3,3,.5);
 box-shadow:0 0 calc(20px + var(--center-glow)*26px) rgba(238,242,244,.26);
 transform:translate(-50%,-50%) scale(calc(1 + var(--center-glow)*.26));
}
.impact-shard{
 position:fixed;
 left:0;
 top:0;
 z-index:95;
 width:48px;
 height:1px;
 pointer-events:none;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.88),rgba(238,242,244,.2),transparent);
 box-shadow:0 0 18px rgba(238,242,244,.24);
 transform-origin:0 50%;
 mix-blend-mode:screen;
 opacity:0;
}
.reveal{
 opacity:0;
 transform:translate3d(0,44px,0);
 filter:blur(10px);
 transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1),filter .9s cubic-bezier(.2,.8,.2,1);
}
.reveal.in-view{
 opacity:1;
 transform:translate3d(0,0,0);
 filter:blur(0);
}

.brand,.mobile-brand,.intro-word,.hero h1,.project-title-stack span,.project-title-stack h2,.section-head h2,.archive-head h2,.cta h2,.footer-word,.hero-proof strong{font-family:var(--font-editorial);font-weight:400}
.header{position:fixed;inset:0 0 auto;z-index:30;padding-top:24px}
.header-inner{display:grid;grid-template-columns:1fr auto;align-items:start;gap:32px}
.brand{font-size:clamp(42px,4.7vw,72px);line-height:.78;letter-spacing:-.06em;text-transform:uppercase}
.nav{display:flex;gap:24px;padding-top:6px;font-size:14px}
.nav a{position:relative}
.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right center;transition:transform .35s ease}
.nav a:hover:after,.nav a.is-active:after{transform:scaleX(1);transform-origin:left center}
.nav a.is-active{color:#fff}
.hamburger{display:none;margin-left:auto;border:0;background:transparent;padding:0}
.hamburger i{display:block;width:38px;height:2px;background:var(--fg)}
.hamburger i+i{margin-top:4px}
.mobile-menu{display:none}

main{position:relative;overflow:hidden}
.visual-continuum{
 position:absolute;
 left:0;
 right:0;
 top:0;
 z-index:0;
 height:calc(100svh + 1850px);
 pointer-events:none;
 overflow:hidden;
 opacity:1;
 -webkit-mask-image:linear-gradient(180deg,transparent 0,black 36vh,black calc(100% - 360px),transparent 100%);
 mask-image:linear-gradient(180deg,transparent 0,black 36vh,black calc(100% - 360px),transparent 100%);
}
.visual-continuum:before{
 content:"";
 position:absolute;
 inset:46vh 0 auto;
 height:1320px;
 background:
  linear-gradient(180deg,rgba(3,3,3,.12),rgba(3,3,3,.42) 46%,rgba(3,3,3,.82) 100%),
  linear-gradient(90deg,rgba(3,3,3,.62),transparent 44%,rgba(3,3,3,.46));
 z-index:3;
}
.visual-continuum:after{
 content:"";
 position:absolute;
 inset:0;
 z-index:4;
 background:
  linear-gradient(180deg,rgba(3,3,3,.08),rgba(3,3,3,.38) 44%,rgba(3,3,3,.78) 82%,rgba(3,3,3,.96)),
  radial-gradient(circle at 72% 34%,rgba(238,242,244,.055),transparent 34%);
}
.continuum-bg{
 position:absolute;
 left:0;
 top:42vh;
 width:100%;
 height:calc(100% - 80px);
 object-fit:cover;
 object-position:center top;
 opacity:.18;
 filter:saturate(.58) contrast(1.08) brightness(.54) blur(.35px);
 transform:scale(1.04);
 mix-blend-mode:screen;
}
.continuum-burj{
 position:absolute;
 right:-8%;
 top:6vh;
 width:min(88vw,1380px);
 height:min(218vh,2240px);
 object-fit:contain;
 object-position:right top;
 opacity:.18;
 filter:saturate(0) contrast(1.06) brightness(.62) blur(.38px) drop-shadow(0 0 74px rgba(238,242,244,.055));
 mix-blend-mode:screen;
 transform:perspective(900px) rotateY(-14deg);
 -webkit-mask-image:linear-gradient(180deg,transparent 0,black 10%,black 82%,transparent 100%);
 mask-image:linear-gradient(180deg,transparent 0,black 10%,black 82%,transparent 100%);
}
.continuum-grid{
 position:absolute;
 left:0;
 right:0;
 top:62vh;
 height:980px;
 opacity:.12;
 background:
  linear-gradient(90deg,transparent,rgba(238,242,244,.095),transparent),
  repeating-linear-gradient(180deg,transparent 0 68px,rgba(238,242,244,.055) 69px,transparent 70px);
 transform:skewY(-5deg);
 mix-blend-mode:screen;
}
.signal-bridge,.intro,.work{position:relative;z-index:4}

.hero{--mx:0;--my:0;position:relative;min-height:100svh;display:flex;align-items:flex-end;isolation:isolate}
.hero picture,.hero-media,.hero-canvas,.hero-wash,.hero-glass{position:absolute;inset:0;width:100%;height:100%}
.hero-media{object-fit:cover;object-position:34% center}
.hero-media{animation:heroDrift 24s ease-in-out infinite alternate;transform-origin:left center;filter:brightness(calc(1 - var(--depth)*.18))}
.hero-canvas{z-index:2;mix-blend-mode:screen;opacity:1;filter:contrast(1.08) brightness(1.06)}

.space-atmosphere{
 position:absolute;
 inset:-12vh -10vw -18vh;
 z-index:4;
 pointer-events:none;
 opacity:calc(.78 - var(--depth)*.18);
 mix-blend-mode:screen;
 background:
  radial-gradient(circle at 72% 22%,rgba(238,242,244,.12) 0 1px,transparent 2px),
  radial-gradient(circle at 56% 58%,rgba(238,242,244,.11) 0 1px,transparent 2px),
  radial-gradient(circle at 18% 38%,rgba(238,242,244,.1) 0 1px,transparent 2px),
  radial-gradient(ellipse at 72% 34%,rgba(238,242,244,.075),transparent 32%),
  radial-gradient(ellipse at 36% 64%,rgba(88,102,116,.12),transparent 42%);
 background-size:170px 170px,240px 240px,310px 310px,100% 100%,100% 100%;
 animation:spaceDrift 28s linear infinite;
}
.space-atmosphere:before{
 content:"";
 position:absolute;
 inset:4vh 0 auto 0;
 height:82vh;
 background:
  repeating-radial-gradient(ellipse at 74% 42%,transparent 0 54px,rgba(238,242,244,.045) 55px,transparent 57px),
  linear-gradient(116deg,transparent 12%,rgba(238,242,244,.11) 50%,transparent 51%),
  linear-gradient(64deg,transparent 24%,rgba(238,242,244,.075) 60%,transparent 61%);
 transform:translate3d(calc(var(--mx)*-22px),calc(var(--my)*-16px),0) rotate(-4deg);
 filter:blur(.15px);
 opacity:.72;
}
.space-atmosphere:after{
 content:"";
 position:absolute;
 left:42%;
 top:8vh;
 width:48vw;
 height:78vh;
 border:1px solid rgba(238,242,244,.105);
 border-left-color:rgba(238,242,244,.24);
 border-radius:50%;
 transform:translate3d(calc(var(--mx)*-18px),calc(var(--my)*-12px),0) rotate(-21deg);
 box-shadow:0 0 80px rgba(238,242,244,.045);
 opacity:.66;
}
.space-atmosphere span{
 position:absolute;
 display:block;
 height:1px;
 background:linear-gradient(90deg,transparent,rgba(238,242,244,.42),transparent);
 filter:blur(.15px);
 opacity:.58;
 transform-origin:50% 50%;
}
.space-atmosphere span:nth-child(1){left:6%;right:52%;top:28%;transform:rotate(-11deg);animation:spaceLine 7.5s ease-in-out infinite}
.space-atmosphere span:nth-child(2){left:48%;right:8%;top:43%;transform:rotate(7deg);animation:spaceLine 9s ease-in-out infinite reverse}
.space-atmosphere span:nth-child(3){left:22%;right:22%;top:69%;transform:rotate(-3deg);animation:spaceLine 11s ease-in-out infinite}
@keyframes spaceDrift{0%{background-position:0 0,0 0,0 0,0 0,0 0}100%{background-position:170px 240px,-240px 180px,310px -220px,0 0,0 0}}
@keyframes spaceLine{0%,100%{opacity:.22;filter:blur(.4px)}50%{opacity:.78;filter:blur(0)}}

.signal-orbit{
 --orbit-rot:0deg;
 --orbit-scale:1;
 position:absolute;
 right:-7vw;
 top:5vh;
 z-index:6;
 width:min(56vw,900px);
 height:94vh;
 pointer-events:none;
 opacity:calc(.9 - var(--depth)*.16);
 mix-blend-mode:screen;
 transform:translate3d(calc(var(--mx)*-16px),calc(var(--my)*-10px + var(--depth)*24px),0) rotate(var(--orbit-rot)) scale(var(--orbit-scale));
}
.orbit-path{
 fill:none;
 stroke:rgba(238,242,244,.92);
 stroke-width:2.4;
 stroke-linecap:round;
 vector-effect:non-scaling-stroke;
 filter:drop-shadow(0 0 16px rgba(255,255,255,.12));
}
.orbit-alt{stroke:rgba(238,242,244,.82)}
.orbit-vertical{stroke:rgba(0,0,0,.62);stroke-width:2;filter:drop-shadow(0 0 12px rgba(238,242,244,.06))}
.wow-scan{
 --scan-x:-40vw;
 position:absolute;
 inset:0;
 z-index:4;
 pointer-events:none;
 overflow:hidden;
 opacity:0;
 mix-blend-mode:screen;
}
.wow-scan:before{
 content:"";
 position:absolute;
 top:-18vh;
 left:0;
 width:18vw;
 min-width:220px;
 height:136vh;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),rgba(238,242,244,.13),transparent);
 filter:blur(8px);
 transform:translateX(var(--scan-x)) skewX(-16deg);
}
.wow-scan span{
 position:absolute;
 top:-12vh;
 width:1px;
 height:124vh;
 background:linear-gradient(180deg,transparent,rgba(238,242,244,.74),rgba(238,242,244,.06),transparent);
 box-shadow:0 0 24px rgba(238,242,244,.12);
 transform:translateX(var(--scan-x)) skewX(-16deg);
 opacity:0;
}
.wow-scan span:nth-child(1){left:18%}
.wow-scan span:nth-child(2){left:36%;height:118vh}
.wow-scan span:nth-child(3){left:58%;height:130vh}
.wow-scan span:nth-child(4){left:78%;height:112vh}
.hero-wash{background:linear-gradient(90deg,rgba(0,0,0,.03),rgba(0,0,0,.16) 42%,rgba(3,3,3,.24) 72%,rgba(3,3,3,.42)),linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.22) 38%,rgba(3,3,3,.88) 100%),radial-gradient(ellipse at 50% 100%,rgba(255,255,255,.065),transparent 42%);z-index:4}
.hero-content{position:relative;z-index:7;padding-bottom:112px}
.cinema-ui{
 position:absolute;
 left:32px;
 right:32px;
 bottom:28px;
 z-index:9;
 display:grid;
 grid-template-columns:1fr auto 1fr;
 align-items:end;
 gap:24px;
 pointer-events:none;
 color:rgba(243,243,241,.76);
}
.cinema-cta{
 pointer-events:auto;
 justify-self:start;
 display:inline-flex;
 align-items:center;
 gap:20px;
 width:max-content;
 padding-bottom:7px;
 border-bottom:1px solid rgba(243,243,241,.32);
 font-size:12px;
 font-weight:700;
 letter-spacing:.12em;
 text-transform:uppercase;
}
.cinema-cta span{display:inline-block;transform:translateY(-1px)}
.cinema-note{
 justify-self:center;
 font-size:11px;
 letter-spacing:.16em;
 text-transform:uppercase;
 color:rgba(243,243,241,.44);
}
.cinema-pager{
 justify-self:end;
 display:flex;
 align-items:center;
 gap:6px;
 padding-bottom:8px;
}
.cinema-pager span{
 display:block;
 width:4px;
 height:4px;
 border-radius:50%;
 background:rgba(243,243,241,.44);
 transition:width .35s cubic-bezier(.2,.8,.2,1),background .35s ease;
}
.cinema-pager span.active{
 width:28px;
 border-radius:999px;
 background:rgba(243,243,241,.92);
}
.hero:after{
 content:"";
 position:absolute;
 left:0;
 right:0;
 bottom:0;
 z-index:8;
 height:112px;
 pointer-events:none;
 background:linear-gradient(180deg,transparent,rgba(2,2,2,.58) 74%,rgba(2,2,2,.88));
}
.hero-glass{z-index:5;background:
 linear-gradient(90deg,rgba(3,3,3,.08),rgba(3,3,3,0) 42%,rgba(3,3,3,.05) 74%,rgba(3,3,3,.16)),
 radial-gradient(circle at 84% 54%,rgba(238,242,244,.08),transparent 28%);
 pointer-events:none;
}
.cinema-light{
 position:absolute;
 inset:0;
 z-index:5;
 pointer-events:none;
 opacity:calc(.15 + var(--cinema-light)*.72);
 mix-blend-mode:screen;
 overflow:hidden;
}
.cinema-light:before{
 content:"";
 position:absolute;
 left:-12%;
 right:-12%;
 top:calc(34vh + var(--cinema-light)*34vh);
 height:1px;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.9) 46%,rgba(238,242,244,.24) 54%,transparent);
 box-shadow:0 0 18px rgba(255,255,255,.2),0 0 80px rgba(238,242,244,.12);
 transform:rotate(calc(-.8deg + var(--mx)*.32deg));
}
.cinema-light span{
 position:absolute;
 left:-18%;
 right:-18%;
 top:calc(36vh + var(--cinema-light)*32vh);
 height:18vh;
 background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,.12),rgba(238,242,244,.03) 28%,transparent 72%);
 filter:blur(16px);
 transform:rotate(calc(-.8deg + var(--mx)*.32deg));
}
.hero-window{
 --window-base:.72;
 position:absolute;
 right:-2vw;
 top:2vh;
 bottom:auto;
 z-index:3;
 width:min(58vw,980px);
 height:126vh;
 overflow:visible;
 opacity:calc(var(--window-base) - var(--depth)*.06);
 mix-blend-mode:screen;
 filter:saturate(0) contrast(1.08) brightness(.82) blur(.28px) drop-shadow(0 0 64px rgba(238,242,244,.07));
 -webkit-mask-image:linear-gradient(180deg,black 0,black 86%,transparent 100%);
 mask-image:linear-gradient(180deg,black 0,black 86%,transparent 100%);
 transform-style:preserve-3d;
 transform:perspective(900px) rotateY(calc(-4deg + var(--mx)*3deg)) rotateX(calc(1deg + var(--my)*1.5deg)) translate3d(calc(var(--mx)*-20px),calc(var(--my)*-16px + var(--depth)*24px),0);
 animation:windowFloat 12s ease-in-out infinite;
}
.hero-window:before{
 content:"";
 position:absolute;
 inset:0;
 z-index:2;
 background:linear-gradient(180deg,rgba(3,3,3,.02),rgba(3,3,3,.04) 72%,rgba(3,3,3,.24));
 opacity:.58;
 mix-blend-mode:multiply;
 pointer-events:none;
}
.hero-window:after{
 content:"";
 position:absolute;
 inset:0;
 z-index:3;
 background:linear-gradient(180deg,rgba(238,242,244,.018),rgba(238,242,244,.055) 45%,rgba(238,242,244,0));
 box-shadow:inset 0 0 80px rgba(238,242,244,.03);
}
.hero-window img{
 display:block;
 width:100%;
 height:100%;
 object-fit:contain;
 object-position:right top;
 transform:scale(1.24);
 transform-origin:right top;
 filter:saturate(0) brightness(.82) contrast(1.08);
}
.burj-aura{position:absolute;right:-6vw;top:8vh;bottom:auto;z-index:2;width:min(56vw,940px);height:118vh;background:radial-gradient(circle at 68% 52%,rgba(238,242,244,.09),rgba(238,242,244,.035) 34%,rgba(238,242,244,0) 72%);filter:blur(58px);opacity:.46;animation:auraBreath 7s ease-in-out infinite}
.burj-construct{
 display:none;
 --burj-base:.72;
 position:absolute;
 right:-26%;
 bottom:-76%;
 z-index:6;
 width:min(136vw,2100px);
 height:min(270vh,2780px);
 pointer-events:none;
 perspective:1100px;
 opacity:calc(var(--burj-base) - var(--depth)*.045);
 mix-blend-mode:screen;
 transform:translate3d(calc(var(--mx)*-26px),calc(var(--my)*-24px + var(--depth)*28px - 14vh),0);
}
.burj-model{
 position:absolute;
 inset:0;
 transform-style:preserve-3d;
 transform-origin:50% 78%;
 transform:rotateX(calc(2deg + var(--my)*3deg)) rotateZ(calc(-.8deg + var(--mx)*1deg)) rotateY(calc(-22deg + var(--mx)*8deg));
 animation:burjOrbit 14s ease-in-out infinite;
}
.burj-halo{
 position:absolute;
 left:50%;
 bottom:4%;
 width:68%;
 height:86%;
 transform:translateX(-50%) translateZ(-42px);
 background:
  radial-gradient(ellipse at 50% 72%,rgba(238,242,244,.14),rgba(238,242,244,.045) 35%,transparent 70%),
  linear-gradient(180deg,transparent,rgba(238,242,244,.08) 44%,transparent 92%);
 filter:blur(26px);
 opacity:.36;
}
.burj-body{
 position:absolute;
 left:50%;
 bottom:3%;
 width:50%;
 height:88%;
 transform:translateX(-50%) translateZ(-12px);
 clip-path:polygon(48% 0,52% 0,56% 10%,58% 21%,64% 32%,67% 48%,74% 72%,83% 100%,17% 100%,26% 72%,33% 48%,36% 32%,42% 21%,44% 10%);
 background:
  linear-gradient(90deg,transparent 0,rgba(238,242,244,.026) 18%,rgba(238,242,244,.085) 38%,rgba(255,255,255,.18) 49%,rgba(238,242,244,.055) 63%,rgba(238,242,244,.028) 82%,transparent 100%),
  repeating-linear-gradient(180deg,rgba(238,242,244,.085) 0 1px,transparent 1px 22px),
  linear-gradient(180deg,rgba(238,242,244,.18),rgba(238,242,244,.075) 42%,rgba(238,242,244,.04) 76%,rgba(238,242,244,.075));
 box-shadow:
  inset 0 0 42px rgba(238,242,244,.12),
  inset 28px 0 34px rgba(255,237,190,.08),
  inset -28px 0 44px rgba(255,255,255,.08),
  0 0 54px rgba(238,242,244,.18);
 opacity:.26;
}
.burj-body:after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.42) 49%,transparent 58%);
 transform:translateX(-120%);
 animation:burjSweep 6.8s cubic-bezier(.2,.8,.2,1) infinite;
}
.burj-spire{
 position:absolute;
 left:50%;
 bottom:88%;
 width:1px;
 height:16%;
 transform:translateX(-50%) translateZ(48px);
 background:linear-gradient(180deg,transparent,rgba(255,255,255,.92),rgba(238,242,244,.5));
 box-shadow:0 0 12px rgba(238,242,244,.78),0 0 36px rgba(238,242,244,.26);
 opacity:.5;
}
.burj-facet{
 position:absolute;
 bottom:8%;
 left:50%;
 width:1px;
 height:74%;
 transform-origin:50% 100%;
 background:linear-gradient(180deg,transparent,rgba(255,255,255,.18) 18%,rgba(238,242,244,.055) 72%,transparent);
 box-shadow:0 0 16px rgba(238,242,244,.075);
 opacity:.36;
}
.facet-a{transform:translateX(-50%) translateZ(58px) rotateZ(-9deg)}
.facet-b{display:none}
.facet-c{display:none}
.burj-tier{
 position:absolute;
 left:50%;
 bottom:calc(var(--y)*1%);
 width:calc(var(--w)*1%);
 height:1px;
 transform:translateX(-50%) translateZ(calc(var(--z)*1px)) rotateY(calc(var(--r)*1deg));
 background:linear-gradient(90deg,transparent,rgba(255,230,184,.18),rgba(255,255,255,.38),rgba(255,230,184,.12),transparent);
 box-shadow:0 0 7px rgba(238,242,244,.11);
 opacity:.34;
 animation:tierGlint 4.8s ease-in-out infinite;
 animation-delay:calc(var(--y)*-.045s);
}
@keyframes heroDrift{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.08) translate3d(-2.5%,1.2%,0)}}
@keyframes towerFloat{50%{transform:translateY(-10px);opacity:.95}}
@keyframes towerPulse{0%,100%{opacity:.18}45%,55%{opacity:1}}
@keyframes auraBreath{50%{transform:scale(1.08);opacity:1}}
@keyframes windowFloat{50%{opacity:.42;filter:saturate(.76) contrast(1.16) brightness(.76) blur(.15px) drop-shadow(0 0 52px rgba(238,242,244,.075))}}
@keyframes burjOrbit{0%,100%{filter:brightness(.92)}50%{filter:brightness(1.05);transform:rotateX(calc(3deg + var(--my)*2deg)) rotateZ(calc(.4deg + var(--mx)*.7deg)) rotateY(calc(-16deg + var(--mx)*5deg))}}
@keyframes burjSweep{0%,32%{transform:translateX(-135%);opacity:0}48%{opacity:.75}70%,100%{transform:translateX(135%);opacity:0}}
@keyframes tierGlint{0%,100%{opacity:.22}45%,58%{opacity:.48}}
.kicker{margin:0 0 24px;color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.hero h1{max-width:980px;margin:0;font-size:clamp(42px,5.25vw,86px);font-weight:400;line-height:.92;letter-spacing:-.06em}
.hero h1 .word{display:inline-block;white-space:nowrap}
.hero h1 .char{display:inline-block;transform-origin:50% 86%;will-change:transform,opacity,filter}
.hero-bottom{display:grid;grid-template-columns:minmax(320px,520px) 1fr;gap:48px;align-items:end;margin-top:42px}
.hero-bottom p{max-width:500px;margin:0;color:rgba(243,243,241,.82);font-size:19px;line-height:1.28;letter-spacing:-.02em}
.hero-side{display:grid;gap:18px;justify-items:end}
.hero-proof{text-align:right}
.hero-proof strong{display:block;font-size:clamp(30px,2.8vw,44px);font-weight:400;line-height:.9;letter-spacing:-.05em;color:#fff;text-shadow:0 0 28px rgba(238,242,244,.13)}
.hero-proof span{position:relative;display:block;margin-top:8px;color:rgba(243,243,241,.7);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.hero-proof span:after{content:"";display:block;width:62px;height:1px;margin:10px 0 0 auto;background:linear-gradient(90deg,transparent,rgba(238,242,244,.4))}
.hero-tags,.brand-rail{display:flex;flex-wrap:wrap;gap:0}
.hero-tags{justify-content:flex-end}
.hero-tags span,.brand-rail span{position:relative;padding:0;color:rgba(243,243,241,.72);font-size:13px;letter-spacing:.07em;text-transform:uppercase}
.hero-tags span+span:before,.brand-rail span+span:before{content:"/";margin:0 10px;color:rgba(243,243,241,.26)}

.signal-bridge{
 position:relative;
 display:grid;
 grid-template-columns:1fr minmax(360px,520px);
 gap:48px;
 align-items:end;
 min-height:360px;
 margin-top:-1px;
 padding-top:42px;
}
.signal-bridge:after{
 content:"";
 position:absolute;
 inset:-220px -32px -180px;
 z-index:-1;
 background:
  linear-gradient(180deg,rgba(3,3,3,.04),rgba(3,3,3,.34) 48%,rgba(3,3,3,.72)),
  radial-gradient(circle at 76% 18%,rgba(238,242,244,.045),transparent 32%);
 pointer-events:none;
}
.signal-bridge:before{
 content:"";
 position:absolute;
 left:0;
 right:0;
 top:0;
 height:1px;
 background:linear-gradient(90deg,transparent,rgba(238,242,244,.075),transparent);
}
.bridge-line{
 position:relative;
 height:150px;
 overflow:hidden;
 opacity:.74;
}
.bridge-line:before{
 content:"";
 position:absolute;
 left:0;
 right:0;
 top:50%;
 height:1px;
 background:linear-gradient(90deg,rgba(243,243,241,.02),rgba(238,242,244,.3) 55%,rgba(243,243,241,.06));
 transform:translateY(-50%);
}
.bridge-line:after{
 content:"";
 position:absolute;
 right:10%;
 top:calc(50% - 42px);
 width:84px;
 height:84px;
 border:1px solid rgba(238,242,244,.12);
 border-radius:50%;
 box-shadow:0 0 80px rgba(238,242,244,.06);
}
.bridge-line span{
 position:absolute;
 left:12%;
 right:18%;
 top:50%;
 height:72px;
 border-top:1px solid rgba(238,242,244,.13);
 border-radius:50% 50% 0 0;
 transform:translateY(-50%);
}
.bridge-line i{
 position:absolute;
 left:0;
 top:calc(50% - 2px);
 width:8px;
 height:8px;
 border-radius:50%;
 background:rgba(238,242,244,.82);
 box-shadow:0 0 18px rgba(238,242,244,.5),0 0 60px rgba(238,242,244,.13);
}
.bridge-copy{
 border-top:1px solid var(--line);
 padding-top:18px;
}
.bridge-copy span{
 display:block;
 margin-bottom:20px;
 color:var(--muted);
 font-size:13px;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.bridge-copy p{
 max-width:500px;
 margin:0;
 color:rgba(243,243,241,.82);
 font-size:clamp(24px,2.4vw,38px);
 line-height:1.05;
 letter-spacing:-.04em;
}
@keyframes bridgeTravel{
 0%{transform:translateX(0) scale(.62);opacity:0}
 12%{opacity:.9}
 58%{opacity:.9}
 78%,100%{transform:translateX(calc(100vw - 130px)) scale(.92);opacity:0}
}

.intro{padding-top:120px}
.intro-grid{display:grid;grid-template-columns:minmax(320px,.72fr) 1fr;gap:48px;align-items:start;margin-top:26px}
.intro h2{max-width:540px;margin:0;font-size:clamp(34px,4vw,58px);font-weight:400;line-height:.96;letter-spacing:-.045em}
.intro-grid p{max-width:620px;margin:4px 0 0 auto;font-size:clamp(20px,2vw,30px);line-height:1.15;letter-spacing:-.03em}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:80px;border-top:1px solid var(--line)}
.principles article{--principle-x:80%;--principle-y:0%;position:relative;padding-top:18px;overflow:hidden}
.principles article:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--principle-x) var(--principle-y),rgba(238,242,244,.105),transparent 34%);opacity:0;transition:opacity .35s ease;pointer-events:none}
.principles article:hover:before{opacity:1}
.principles span{display:block;color:var(--muted);font-size:13px;margin-bottom:22px}
.principles h3{margin:0 0 12px;font-size:28px;font-weight:400;letter-spacing:-.03em}
.principles p{max-width:22ch;margin:0;color:var(--muted);font-size:16px;line-height:1.35}

.work{padding-top:180px}
.projects-masthead{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:40px;
 min-height:245px;
 margin-bottom:28px;
}
.project-title-stack{
 --title-line:1;
 --title-line-opacity:.62;
 --work-x:22%;
 --work-y:12%;
 position:relative;
 padding-top:4px;
}
.project-title-stack:before{content:"";position:absolute;left:-7%;top:-16%;width:78%;height:108%;background:radial-gradient(circle at var(--work-x) var(--work-y),rgba(238,242,244,.105),transparent 42%);filter:blur(22px);opacity:.72;pointer-events:none}
.project-title-stack:after{
 content:"";
 position:absolute;
 left:4px;
 bottom:-18px;
 width:min(42vw,520px);
 height:1px;
 background:linear-gradient(90deg,rgba(238,242,244,.55),transparent);
 opacity:var(--title-line-opacity,.62);
 transform:scaleX(var(--title-line,1));
 transform-origin:left center;
}
.project-title-stack span{
 display:block;
 margin:0 0 -22px;
 font-family:Georgia,"Times New Roman",serif;
 font-size:clamp(68px,8.7vw,148px);
 font-style:italic;
 font-weight:400;
 line-height:.58;
 letter-spacing:-.09em;
 color:rgba(243,243,241,.94);
 transform:translateX(-6px);
}
.project-title-stack h2{
 margin:0;
 font-size:clamp(66px,8.4vw,138px);
 font-weight:400;
 line-height:.72;
 letter-spacing:-.075em;
 color:var(--fg);
}
.project-more{
 margin-top:82px;
 min-width:210px;
 border-radius:5px;
 padding:22px 20px;
 font-weight:600;
}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px}
.section-head h2{margin:0;font-size:clamp(44px,5.8vw,88px);font-weight:400;line-height:.9;letter-spacing:-.055em}
.section-head.compact{display:block;margin-bottom:38px}
.section-head.compact .section-label{margin-bottom:20px}
.section-head.compact h2{font-size:clamp(40px,4.8vw,72px)}
.proof-strip{
 display:grid;
 grid-template-columns:1fr 1fr 1fr;
 gap:16px;
 margin:0 0 54px;
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line);
 padding:14px 0;
}
.proof-strip span{
 --proof-line:0;
 position:relative;
 color:rgba(243,243,241,.68);
 font-size:13px;
 line-height:1.25;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.proof-strip span:after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:1px;background:linear-gradient(90deg,rgba(238,242,244,.58),transparent);transform:scaleX(var(--proof-line));transform-origin:left center;opacity:.58}
.hero-cases{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.lemma-cases{
 gap:34px;
 align-items:start;
}
.project-card-large{
 --spot-x:50%;
 --spot-y:50%;
 --rx:0deg;
 --ry:0deg;
 position:relative;
 display:block;
 min-width:0;
 transform:perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry));
 transform-style:preserve-3d;
 transition:transform .75s cubic-bezier(.2,.8,.2,1);
 will-change:transform;
}
.project-card-large:before{
 content:"";
 position:absolute;
 inset:-1px;
 z-index:5;
 border-radius:6px;
 pointer-events:none;
 opacity:0;
 background:radial-gradient(circle at var(--spot-x) var(--spot-y),rgba(255,241,214,.24),rgba(255,241,214,.07) 18%,transparent 42%);
 mix-blend-mode:screen;
 transition:opacity .35s ease;
}
.project-card-large:hover:before{
 opacity:1;
}
.lemma-cases .case-stage{
 aspect-ratio:1 / 1.08;
 border-radius:5px;
 background:#080808;
}
.lemma-cases .case-stage:after{
 z-index:3;
 background:linear-gradient(180deg,transparent 54%,rgba(0,0,0,.34));
}
.lemma-cases .case-stage img{
 --media-scale:1.08;
 transform-origin:center center;
 object-position:center center;
 filter:saturate(.88) contrast(1.08) brightness(.86);
}
.lemma-cases .amazon-card .case-stage img:nth-child(1){
 --media-scale:1.5;
 transform-origin:center top;
 object-position:center top;
}
.lemma-cases .amazon-card .case-stage img:nth-child(2),
.lemma-cases .amazon-card .case-stage img:nth-child(3){
 --media-scale:1.18;
 transform-origin:center center;
 object-position:center center;
}
.lemma-cases .nike-card .case-stage img:nth-child(1){
 --media-scale:1.16;
 transform-origin:center center;
 object-position:54% center;
}
.lemma-cases .nike-card .case-stage img:nth-child(2),
.lemma-cases .nike-card .case-stage img:nth-child(3){
 --media-scale:1.12;
 transform-origin:center center;
 object-position:center center;
}
.project-card-large:hover .case-stage img{
 --media-scale:1.12;
}
.project-card-large.amazon-card:hover .case-stage img:nth-child(1){
 --media-scale:1.56;
}
.project-card-large.nike-card:hover .case-stage img:nth-child(1){
 --media-scale:1.21;
}
.case-caption{
 --caption-line:0;
 position:relative;
 z-index:6;
 display:grid;
 grid-template-columns:minmax(190px,1fr) minmax(220px,.9fr) auto;
 gap:18px;
 align-items:start;
 margin-top:18px;
 color:rgba(243,243,241,.62);
 font-size:13px;
 line-height:1.2;
 padding-top:14px;
 border-top:1px solid rgba(243,243,241,.12);
}
.case-caption:before{content:"";position:absolute;left:0;top:-1px;width:100%;height:1px;background:linear-gradient(90deg,rgba(238,242,244,.72),transparent);transform:scaleX(var(--caption-line));transform-origin:left center;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.project-card-large:hover .case-caption{--caption-line:1}
.project-card-large:hover .case-caption strong{color:#fff}
.project-card-large:hover .case-caption span,.project-card-large:hover .case-caption em{color:rgba(243,243,241,.76)}
.case-caption strong{
 color:var(--fg);
 font-weight:600;
 letter-spacing:-.02em;
}
.case-caption span{
 color:rgba(243,243,241,.58);
}
.case-caption em{
 justify-self:end;
 color:rgba(243,243,241,.48);
 font-style:normal;
}
.hero-cases .case-study{gap:20px}
.hero-cases .case-meta{display:block}
.hero-cases .case-meta b{margin-bottom:14px;padding-top:0}
.hero-cases .case-meta p{margin-top:16px}
.hero-cases .case-proof{grid-template-columns:1fr}
.support-case{margin-top:112px}
.case-study{display:grid;gap:24px}
.case-stage{--case-scan-x:-140%;--case-scan-o:0;position:relative;overflow:hidden;background:#090909;aspect-ratio:16/9}
.case-stage:before{content:"";position:absolute;z-index:2;top:-20%;left:-18%;width:34%;height:140%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),rgba(238,242,244,.06),transparent);opacity:var(--case-scan-o);transform:translateX(var(--case-scan-x)) skewX(-18deg);mix-blend-mode:screen;pointer-events:none}
.case-stage:after{content:"";position:absolute;z-index:3;inset:0;background:linear-gradient(180deg,transparent 56%,rgba(0,0,0,.28));pointer-events:none}
.reel-index{position:absolute;right:14px;top:14px;z-index:4;color:rgba(243,243,241,.7);font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:rgba(3,3,3,.36);border:1px solid rgba(243,243,241,.14);padding:7px 9px;backdrop-filter:blur(10px)}
.case-stage img{--media-y:0px;--media-scale:1;position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .48s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transform:translate3d(0,var(--media-y),0) scale(var(--media-scale))}
.case-stage img.active{opacity:1}
.case-proof img{display:block;width:100%;height:100%;object-fit:cover}
.case-study:hover .case-stage img{--media-scale:1.025}
.case-meta{display:grid;grid-template-columns:120px minmax(360px,.8fr) minmax(260px,.5fr);gap:24px;align-items:start}
.case-meta b{display:block;padding-top:7px;color:var(--muted);font-size:13px;font-weight:400;letter-spacing:.08em}
.case-meta span{display:block;color:var(--muted);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.case-meta h3{margin:12px 0 0;font-size:clamp(32px,3.5vw,54px);font-weight:400;line-height:.92;letter-spacing:-.05em}
.case-meta p{max-width:40ch;margin:28px 0 0;color:rgba(243,243,241,.76);font-size:16px;line-height:1.4}
.case-proof{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.case-proof img{aspect-ratio:16/9;background:#090909}

.nike-training-case .case-stage img{
 object-position:center center;
 filter:saturate(.78) contrast(1.12) brightness(.82);
}
.nike-training-case .case-stage{
 background:#050505;
}

.vita{padding-top:180px}
.archive-head{
 display:grid;
 grid-template-columns:minmax(360px,.9fr) minmax(360px,620px);
 gap:48px;
 align-items:end;
 margin-bottom:42px;
}
.archive-head h2{
 margin:18px 0 0;
 font-size:clamp(42px,5.3vw,82px);
 font-weight:400;
 line-height:.88;
 letter-spacing:-.06em;
}
.archive-head p{
 margin:0;
 color:rgba(243,243,241,.74);
 font-size:clamp(20px,2vw,30px);
 line-height:1.14;
 letter-spacing:-.035em;
}
.brand-rail{margin-bottom:36px}
.archive-rail{
 position:relative;
 overflow:hidden;
 border-top:1px solid var(--line);
 border-bottom:1px solid var(--line);
 padding:14px 0;
 margin-bottom:34px;
}
.archive-rail:after{
 content:"";
 position:absolute;
 inset:0;
 pointer-events:none;
 background:linear-gradient(90deg,var(--bg),transparent 10%,transparent 90%,var(--bg));
}
.archive-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 border-top:1px solid var(--line);
 border-left:1px solid var(--line);
}
.archive-card{
 --archive-x:78%;
 --archive-y:8%;
 --archive-heat:.08;
 position:relative;
 min-height:280px;
 padding:18px;
 border-right:1px solid var(--line);
 border-bottom:1px solid var(--line);
 overflow:hidden;
 background:
  radial-gradient(circle at var(--archive-x) var(--archive-y),rgba(238,242,244,var(--archive-heat)),transparent 34%),
  linear-gradient(180deg,rgba(255,255,255,.025),transparent);
 transition:background-color .35s ease,transform .35s cubic-bezier(.2,.8,.2,1);
}
.archive-card:before{
 content:"";
 position:absolute;
 inset:auto 18px 18px auto;
 width:72px;
 height:72px;
 border:1px solid rgba(238,242,244,.095);
 border-radius:50%;
 transform:scale(.72);
 opacity:.38;
 transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .35s ease;
}
.archive-card:after{
 content:"";
 position:absolute;
 inset:0;
 background:linear-gradient(120deg,transparent 38%,rgba(255,255,255,.075),transparent 58%);
 transform:translateX(-120%);
 transition:transform .8s cubic-bezier(.2,.8,.2,1);
}
.archive-card:hover{
 background-color:rgba(255,255,255,.025);
 transform:translateY(-4px);
}
.archive-card:hover:before{transform:scale(1);opacity:.75}
.archive-card:hover:after{transform:translateX(120%)}
.archive-card span,
.archive-card em{
 position:relative;
 z-index:2;
 display:block;
 color:rgba(243,243,241,.48);
 font-size:12px;
 letter-spacing:.1em;
 text-transform:uppercase;
 font-style:normal;
}
.archive-card h3{
 position:relative;
 z-index:2;
 max-width:9ch;
 margin:56px 0 0;
 font-size:clamp(30px,3.1vw,50px);
 font-weight:400;
 line-height:.9;
 letter-spacing:-.055em;
}
.archive-card p{
 position:relative;
 z-index:2;
 max-width:34ch;
 margin:22px 0 34px;
 color:rgba(243,243,241,.68);
 font-size:15px;
 line-height:1.36;
}
.archive-card em{
 position:absolute;
 left:18px;
 right:18px;
 bottom:18px;
}
.feature-archive{
 grid-column:span 1;
 background:
  linear-gradient(180deg,rgba(238,242,244,.05),transparent 55%),
  radial-gradient(circle at 50% 10%,rgba(238,242,244,.095),transparent 38%);
}
.archive-portal{
 --portal-x:-120%;
 --portal-o:0;
 position:relative;
 display:grid;
 grid-template-columns:1fr auto auto;
 gap:24px;
 align-items:center;
 margin-top:30px;
 min-height:104px;
 border:1px solid var(--line);
 border-radius:6px;
 padding:24px;
 overflow:hidden;
 background:
  radial-gradient(circle at 84% 50%,rgba(238,242,244,.075),transparent 34%),
  rgba(255,255,255,.015);
}
.archive-portal:before{
 content:"";
 position:absolute;
 left:-10%;
 top:0;
 width:38%;
 height:100%;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);
 opacity:var(--portal-o,0);
 transform:translateX(var(--portal-x,-120%)) skewX(-18deg);
}
.archive-portal span{
 color:rgba(243,243,241,.64);
 font-size:13px;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.archive-portal strong{
 font-size:clamp(28px,3.2vw,52px);
 font-weight:400;
 line-height:.9;
 letter-spacing:-.055em;
}
.archive-portal em{
 justify-self:end;
 color:rgba(243,243,241,.64);
 font-size:13px;
 font-style:normal;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.vita-list{border-top:1px solid var(--line)}
.vita-list article{display:grid;grid-template-columns:90px minmax(260px,1fr) minmax(280px,480px);gap:24px;align-items:baseline;border-bottom:1px solid var(--line);padding:22px 0}
.vita-list span{color:var(--muted);font-size:14px}
.vita-list h3{margin:0;font-size:clamp(24px,2.3vw,36px);font-weight:400;line-height:1;letter-spacing:-.04em}
.vita-list p{margin:0;color:rgba(243,243,241,.72);font-size:16px;line-height:1.35}
.vita .button{margin-top:36px}

.services{padding-top:180px}
.services-grid{display:grid;grid-template-columns:minmax(300px,1fr) 320px;gap:80px;align-items:start}
.service-list{list-style:none;margin:0;padding:0}
.service-list li{--service-signal:0;position:relative;border-bottom:1px solid var(--line);padding:18px 0;font-size:clamp(34px,4vw,58px);line-height:.98;letter-spacing:-.045em;cursor:pointer;transition:padding-left .35s cubic-bezier(.2,.8,.2,1),color .35s ease,text-shadow .35s ease}
.service-list li:before{
 content:"";
 position:absolute;
 left:0;
 top:50%;
 width:0;
 height:1px;
 background:rgba(238,242,244,.48);
 box-shadow:0 0 18px rgba(238,242,244,.2);
 transition:width .35s cubic-bezier(.2,.8,.2,1);
}
.service-list li:hover,.service-list li.is-active{padding-left:34px;color:#fff;text-shadow:0 0 calc(var(--service-signal)*18px) rgba(238,242,244,.2)}
.service-list li:hover:before,.service-list li.is-active:before{width:22px}
.service-list li.is-active{border-bottom-color:rgba(238,242,244,.2)}
.service-media{position:sticky;top:18vh;height:430px;overflow:hidden;background:#090909}
.service-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease}
.service-media img.active{opacity:1}

.cta{padding-top:220px;padding-bottom:180px}
.cta h2{max-width:1100px;margin:0 0 34px;font-size:clamp(38px,5vw,76px);font-weight:400;line-height:.94;letter-spacing:-.055em}

.footer{min-height:82vh;display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:56px;padding-bottom:28px}
.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
.footer-top span{display:block;margin-bottom:18px;color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.footer-top a{display:block;width:max-content;margin-bottom:8px;font-size:18px}
.footer-word{margin-top:auto;font-size:min(25vw,360px);font-weight:400;line-height:.8;letter-spacing:-.08em;text-transform:uppercase;text-align:center}
.footer-word .char{display:inline-block;transform-origin:50% 100%;will-change:transform,opacity,filter}
.footer-bottom{display:flex;justify-content:space-between;margin-top:24px;color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase}

@media (max-width:900px){
 .shell{width:min(calc(100% - 40px),1440px)}
 .chapter-indicator,.center-slidebar{display:none}
 .header-inner{grid-template-columns:1fr auto}
 .nav{display:none}
 .hamburger{display:block}
 body.menu-open{overflow:hidden}
 .mobile-menu{position:fixed;inset:0;z-index:40;background:#ecebe8;color:#030303}
 .mobile-menu.open{display:block}
 .mobile-inner{height:100%;display:flex;flex-direction:column;padding:22px 20px 20px}
 .mobile-head{display:flex;justify-content:space-between;align-items:flex-start}
 .mobile-brand{font-size:56px;line-height:.8;letter-spacing:-.06em;text-transform:uppercase}
 .mobile-close{position:relative;width:34px;height:34px;border:0;background:transparent}
 .mobile-close:before,.mobile-close:after{content:"";position:absolute;left:0;top:16px;width:36px;height:2px;background:#030303}
 .mobile-close:before{transform:rotate(45deg)}
 .mobile-close:after{transform:rotate(-45deg)}
 .mobile-nav{display:flex;flex-direction:column;gap:10px;margin-top:auto}
 .mobile-nav a{display:flex;align-items:baseline;gap:18px}
 .mobile-nav b{min-width:24px;font-size:14px;font-weight:400}
 .mobile-nav span{font-size:48px;line-height:.92;letter-spacing:-.05em}
 .mobile-social{display:flex;gap:18px;margin-top:32px;font-size:16px}
 .hero-content{padding-bottom:92px}
 .cinema-ui{left:20px;right:20px;bottom:18px;grid-template-columns:1fr auto}
 .cinema-note{display:none}
 .cinema-cta{font-size:11px}
 .cinema-pager span.active{width:22px}
 .visual-continuum{height:calc(100svh + 1450px)}
 .continuum-bg{top:42vh;opacity:.14}
 .continuum-burj{right:-28%;top:22vh;width:128vw;opacity:.11}
 .continuum-grid{top:66vh;height:760px;opacity:.09}
 .hero h1{font-size:clamp(38px,8.6vw,58px);max-width:680px;line-height:.9}
 
.space-atmosphere{
 position:absolute;
 inset:-12vh -10vw -18vh;
 z-index:4;
 pointer-events:none;
 opacity:calc(.78 - var(--depth)*.18);
 mix-blend-mode:screen;
 background:
  radial-gradient(circle at 72% 22%,rgba(238,242,244,.12) 0 1px,transparent 2px),
  radial-gradient(circle at 56% 58%,rgba(238,242,244,.11) 0 1px,transparent 2px),
  radial-gradient(circle at 18% 38%,rgba(238,242,244,.1) 0 1px,transparent 2px),
  radial-gradient(ellipse at 72% 34%,rgba(238,242,244,.075),transparent 32%),
  radial-gradient(ellipse at 36% 64%,rgba(88,102,116,.12),transparent 42%);
 background-size:170px 170px,240px 240px,310px 310px,100% 100%,100% 100%;
 animation:spaceDrift 28s linear infinite;
}
.space-atmosphere:before{
 content:"";
 position:absolute;
 inset:4vh 0 auto 0;
 height:82vh;
 background:
  repeating-radial-gradient(ellipse at 74% 42%,transparent 0 54px,rgba(238,242,244,.045) 55px,transparent 57px),
  linear-gradient(116deg,transparent 12%,rgba(238,242,244,.11) 50%,transparent 51%),
  linear-gradient(64deg,transparent 24%,rgba(238,242,244,.075) 60%,transparent 61%);
 transform:translate3d(calc(var(--mx)*-22px),calc(var(--my)*-16px),0) rotate(-4deg);
 filter:blur(.15px);
 opacity:.72;
}
.space-atmosphere:after{
 content:"";
 position:absolute;
 left:42%;
 top:8vh;
 width:48vw;
 height:78vh;
 border:1px solid rgba(238,242,244,.105);
 border-left-color:rgba(238,242,244,.24);
 border-radius:50%;
 transform:translate3d(calc(var(--mx)*-18px),calc(var(--my)*-12px),0) rotate(-21deg);
 box-shadow:0 0 80px rgba(238,242,244,.045);
 opacity:.66;
}
.space-atmosphere span{
 position:absolute;
 display:block;
 height:1px;
 background:linear-gradient(90deg,transparent,rgba(238,242,244,.42),transparent);
 filter:blur(.15px);
 opacity:.58;
 transform-origin:50% 50%;
}
.space-atmosphere span:nth-child(1){left:6%;right:52%;top:28%;transform:rotate(-11deg);animation:spaceLine 7.5s ease-in-out infinite}
.space-atmosphere span:nth-child(2){left:48%;right:8%;top:43%;transform:rotate(7deg);animation:spaceLine 9s ease-in-out infinite reverse}
.space-atmosphere span:nth-child(3){left:22%;right:22%;top:69%;transform:rotate(-3deg);animation:spaceLine 11s ease-in-out infinite}
@keyframes spaceDrift{0%{background-position:0 0,0 0,0 0,0 0,0 0}100%{background-position:170px 240px,-240px 180px,310px -220px,0 0,0 0}}
@keyframes spaceLine{0%,100%{opacity:.22;filter:blur(.4px)}50%{opacity:.78;filter:blur(0)}}

.signal-orbit{right:-52vw;top:8vh;width:136vw;height:96vh;opacity:.72}
 .orbit-path{stroke-width:2}
 .hero-window{right:-12vw;top:7vh;bottom:auto;width:min(88vw,680px);height:122vh;--window-base:.62}
 .burj-construct{display:none}
 .burj-model{transform:rotateX(2deg) rotateZ(-.4deg) rotateY(-17deg)}
 .burj-aura{right:-18vw;top:12vh;bottom:auto;width:86vw;height:112vh;opacity:.36}
 .hero-bottom{display:grid;grid-template-columns:minmax(220px,430px) 1fr;gap:24px;align-items:end;margin-top:28px}
 .hero-bottom p{font-size:17px;line-height:1.25}
 .hero-side{justify-items:end;margin-top:0}
 .hero-proof{text-align:right}
 .hero-proof span:after{margin-left:auto;margin-right:0;background:linear-gradient(90deg,transparent,rgba(238,242,244,.4))}
 .hero-tags{justify-content:flex-end;margin-top:24px}
 .signal-bridge{display:block;min-height:300px;padding-top:48px}
 .bridge-line{height:96px;margin-bottom:24px}
 .bridge-copy p{font-size:26px}
 .intro{padding-top:96px}
 .intro-grid,.services-grid{display:block}
 .intro-grid p{margin:24px 0 0}
 .principles{grid-template-columns:1fr;margin-top:48px}
 .work,.vita,.services{padding-top:110px}
 .projects-masthead{display:block;min-height:auto;margin-bottom:32px}
 .project-title-stack span{font-size:74px;margin-bottom:-10px}
 .project-title-stack h2{font-size:70px}
 .project-more{margin-top:28px;min-width:100%}
 .section-head{display:block;margin-bottom:32px}
 .section-head .section-label{margin-bottom:18px}
 .proof-strip{grid-template-columns:1fr;margin:0 0 32px;gap:8px}
 .hero-cases{display:block}
 .lemma-cases .project-card-large+.project-card-large{margin-top:54px}
 .lemma-cases .case-stage{aspect-ratio:1 / 1.08}
 .case-caption{display:block}
 .case-caption span,.case-caption em{display:block;margin-top:8px}
 .hero-cases .case-study+.case-study{margin-top:72px}
 .support-case{margin-top:72px}
 .case-meta{display:block}
 .case-meta b{margin-bottom:14px;padding-top:0}
 .case-meta p{margin-top:16px}
 .case-proof{grid-template-columns:1fr;gap:12px}
 .archive-head{display:block;margin-bottom:30px}
 .archive-head p{margin-top:22px;font-size:22px}
 .archive-grid{grid-template-columns:1fr;border-left:0}
 .archive-card{min-height:230px;border-left:1px solid var(--line)}
 .archive-card h3{font-size:34px;margin-top:44px}
 .archive-portal{display:block;padding:20px}
 .archive-portal strong,.archive-portal em{display:block;margin-top:18px}
 .archive-portal em{justify-self:start}
 .vita-list article{display:block;padding:18px 0}
 .vita-list span{display:block;margin-bottom:10px}
 .vita-list h3{margin-bottom:10px}
 .service-list li{font-size:38px}
 .service-media{display:none}
 .cta{padding-top:120px;padding-bottom:100px}
 .footer{min-height:auto;padding-top:40px}
 .footer-top{grid-template-columns:1fr;gap:28px}
 .footer-word{margin-top:72px;font-size:28vw}
}
@media (max-width:560px){
 .shell{width:calc(100% - 32px)}
 .brand{font-size:56px}
 .visual-continuum{height:calc(100svh + 1280px)}
 .continuum-burj{right:-66%;top:26vh;width:200vw;opacity:.1}
 .continuum-bg{top:40vh;opacity:.12}
 .header{padding-top:14px}
 .header-inner{align-items:start}
 .brand{font-size:clamp(56px,16vw,82px)}
 .hamburger{padding-top:8px}
 .hero{min-height:100svh;align-items:flex-end;overflow:hidden}
 .hero-media{object-position:30% center;filter:brightness(calc(.92 - var(--depth)*.14)) contrast(1.06)}
 .hero-content{width:calc(100% - 32px);padding-bottom:132px}
 .kicker{font-size:10px;letter-spacing:.1em;margin-bottom:16px}
 
.space-atmosphere{
 position:absolute;
 inset:-12vh -10vw -18vh;
 z-index:4;
 pointer-events:none;
 opacity:calc(.78 - var(--depth)*.18);
 mix-blend-mode:screen;
 background:
  radial-gradient(circle at 72% 22%,rgba(238,242,244,.12) 0 1px,transparent 2px),
  radial-gradient(circle at 56% 58%,rgba(238,242,244,.11) 0 1px,transparent 2px),
  radial-gradient(circle at 18% 38%,rgba(238,242,244,.1) 0 1px,transparent 2px),
  radial-gradient(ellipse at 72% 34%,rgba(238,242,244,.075),transparent 32%),
  radial-gradient(ellipse at 36% 64%,rgba(88,102,116,.12),transparent 42%);
 background-size:170px 170px,240px 240px,310px 310px,100% 100%,100% 100%;
 animation:spaceDrift 28s linear infinite;
}
.space-atmosphere:before{
 content:"";
 position:absolute;
 inset:4vh 0 auto 0;
 height:82vh;
 background:
  repeating-radial-gradient(ellipse at 74% 42%,transparent 0 54px,rgba(238,242,244,.045) 55px,transparent 57px),
  linear-gradient(116deg,transparent 12%,rgba(238,242,244,.11) 50%,transparent 51%),
  linear-gradient(64deg,transparent 24%,rgba(238,242,244,.075) 60%,transparent 61%);
 transform:translate3d(calc(var(--mx)*-22px),calc(var(--my)*-16px),0) rotate(-4deg);
 filter:blur(.15px);
 opacity:.72;
}
.space-atmosphere:after{
 content:"";
 position:absolute;
 left:42%;
 top:8vh;
 width:48vw;
 height:78vh;
 border:1px solid rgba(238,242,244,.105);
 border-left-color:rgba(238,242,244,.24);
 border-radius:50%;
 transform:translate3d(calc(var(--mx)*-18px),calc(var(--my)*-12px),0) rotate(-21deg);
 box-shadow:0 0 80px rgba(238,242,244,.045);
 opacity:.66;
}
.space-atmosphere span{
 position:absolute;
 display:block;
 height:1px;
 background:linear-gradient(90deg,transparent,rgba(238,242,244,.42),transparent);
 filter:blur(.15px);
 opacity:.58;
 transform-origin:50% 50%;
}
.space-atmosphere span:nth-child(1){left:6%;right:52%;top:28%;transform:rotate(-11deg);animation:spaceLine 7.5s ease-in-out infinite}
.space-atmosphere span:nth-child(2){left:48%;right:8%;top:43%;transform:rotate(7deg);animation:spaceLine 9s ease-in-out infinite reverse}
.space-atmosphere span:nth-child(3){left:22%;right:22%;top:69%;transform:rotate(-3deg);animation:spaceLine 11s ease-in-out infinite}
@keyframes spaceDrift{0%{background-position:0 0,0 0,0 0,0 0,0 0}100%{background-position:170px 240px,-240px 180px,310px -220px,0 0,0 0}}
@keyframes spaceLine{0%,100%{opacity:.22;filter:blur(.4px)}50%{opacity:.78;filter:blur(0)}}

.signal-orbit{right:-118vw;top:8vh;width:230vw;height:92vh;opacity:.78}
 .orbit-path{stroke-width:2.1}
 .orbit-vertical{stroke-width:1.6;opacity:.72}
 .hero-window{right:-31vw;top:8vh;bottom:auto;width:122vw;height:116vh;--window-base:.64}
 .burj-construct{display:none}
 .signal-bridge{padding-top:42px}
 .bridge-line{height:70px}
 .bridge-copy p{font-size:22px}
 .hero h1{font-size:clamp(39px,12.4vw,54px);max-width:94vw;line-height:.88;letter-spacing:-.068em}
 .hero-bottom{display:block;margin-top:22px}
 .hero-bottom p{max-width:310px;font-size:15px;line-height:1.25;color:rgba(243,243,241,.66)}
 .hero-side{display:block;margin-top:20px}
 .hero-proof{text-align:right;transform:translateY(-4px)}
 .hero-proof strong{font-size:42px}
 .hero-proof span{font-size:10px;letter-spacing:.1em}
 .hero-tags{justify-content:flex-start;flex-wrap:nowrap;overflow:hidden;margin-top:18px;white-space:nowrap}
 .hero-tags span,.brand-rail span{font-size:10px}
 .intro h2,.section-head h2,.section-head.compact h2,.cta h2{font-size:34px}
 .project-title-stack span{font-size:58px}
 .project-title-stack h2{font-size:56px}
 .archive-head h2{font-size:38px}
 .archive-head p{font-size:20px}
 .archive-card{min-height:210px}
 .archive-portal strong{font-size:30px}
 .intro-grid p{font-size:21px}
 .principles h3{font-size:24px}
 .case-meta h3{font-size:28px}
 .vita-list h3{font-size:24px}
 .service-list li{font-size:32px}
 .footer-top a{font-size:16px}
}
.project-card-large.reveal{transform:perspective(1200px) translate3d(0,44px,0) rotateX(var(--rx)) rotateY(var(--ry))}
.project-card-large.reveal.in-view{transform:perspective(1200px) translate3d(0,0,0) rotateX(var(--rx)) rotateY(var(--ry))}

@media (max-width:900px){
 .hero-window,.burj-construct{z-index:6}
 .hero-wash{z-index:4}
}
@media (max-width:560px){
 .hero-window img{object-position:right top;transform:scale(1.38);filter:saturate(0) brightness(.84) contrast(1.08) blur(.2px)}
}

@media (max-width:900px){
 .space-atmosphere{opacity:.56;inset:-8vh -28vw -12vh}
 .space-atmosphere:after{left:28%;width:82vw;height:68vh}
}
@media (max-width:560px){
 .space-atmosphere{opacity:.48;inset:-6vh -44vw -10vh;background-size:150px 150px,210px 210px,280px 280px,100% 100%,100% 100%}
 .space-atmosphere:before{height:68vh}
 .space-atmosphere:after{left:18%;top:14vh;width:118vw;height:62vh}
}

/* Performance pass: keep the cinematic look, remove the expensive repaint traps. */
.hero-canvas{filter:none;opacity:.72}
.ambient-glow{width:34vw;max-width:480px;filter:blur(14px);opacity:.28}
.burj-aura{filter:blur(30px);opacity:.24}
.hero-window{filter:saturate(0) contrast(1.04) brightness(.74);will-change:transform,opacity}
.continuum-bg{filter:saturate(.45) contrast(1.05) brightness(.48)}
.continuum-burj{filter:saturate(0) contrast(1.04) brightness(.55);will-change:transform,opacity}
.space-atmosphere{opacity:calc(.58 - var(--depth)*.12)}
.space-atmosphere span{filter:none}
.reel-index{backdrop-filter:none}
html.perf-mode .ambient-glow{display:none}
html.perf-mode .grain{opacity:.045}
html.perf-mode .hero-media,
html.perf-mode .space-atmosphere,
html.perf-mode .space-atmosphere span,
html.perf-mode .hero-window,
html.perf-mode .burj-aura{animation:none!important}
html.perf-mode .hero-canvas{opacity:.48;filter:none}
html.perf-mode .center-slidebar{opacity:.42}
html.perf-mode .continuum-bg{opacity:.12;filter:brightness(.44) contrast(1.04)}
html.perf-mode .continuum-burj{opacity:.13;filter:saturate(0) brightness(.5) contrast(1.03)}
html.perf-mode .space-atmosphere{opacity:.38;background-size:240px 240px,320px 320px,420px 420px,100% 100%,100% 100%}
html.perf-mode .space-atmosphere:before{opacity:.38}
html.perf-mode .space-atmosphere:after{opacity:.44;box-shadow:none}
html.perf-mode .reveal{filter:none;transition-property:opacity,transform}
html.perf-mode .hero h1 .char,
html.perf-mode .footer-word .char{will-change:auto}
@media (max-width:900px){
 .ambient-glow{display:none}
 .hero-canvas{opacity:.34}
 .space-atmosphere,.space-atmosphere span,.hero-media,.hero-window,.burj-aura{animation:none!important}
 .space-atmosphere{opacity:.32}
 .signal-orbit{opacity:.54}
 .center-slidebar{display:none}
}
@media (prefers-reduced-motion:reduce){
 *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
 .hero-canvas,.ambient-glow{display:none}
}

/* Nike frame: hold the supplied Back In Session deck in the right crop. */
.lemma-cases .nike-card .case-stage img:nth-child(1){
 --media-scale:1.1;
 transform-origin:32% center;
 object-position:32% center;
 filter:saturate(.78) contrast(1.08) brightness(.82);
}
.project-card-large.nike-card:hover .case-stage img:nth-child(1){--media-scale:1.15}

/* Lemma style statement reveal plus lightweight Dubai model study. */
.letter-system{
 position:relative;
 display:grid;
 grid-template-columns:minmax(300px,.62fr) minmax(620px,1.28fr);
 gap:clamp(32px,5vw,88px);
 align-items:center;
 min-height:780px;
 margin-top:34px;
 overflow:visible;
}
.letter-system:before{
 content:"";
 position:absolute;
 inset:10% -8% 6%;
 background:
  linear-gradient(90deg,rgba(255,255,255,.025),transparent 34%,rgba(255,255,255,.018)),
  radial-gradient(circle at 26% 42%,rgba(238,242,244,.07),transparent 34%),
  radial-gradient(circle at 82% 52%,rgba(238,242,244,.045),transparent 32%);
 opacity:.72;
 pointer-events:none;
}
.letter-reveal{
 position:relative;
 z-index:3;
 grid-column:2;
 max-width:1120px;
 margin:0;
 color:rgba(243,243,241,.18);
 font-family:var(--font-editorial);
 font-size:clamp(54px,7.1vw,132px);
 font-weight:400;
 line-height:.86;
 letter-spacing:-.078em;
}
.letter-reveal .word{display:inline-block;white-space:nowrap}
.letter-reveal .letter{
 display:inline-block;
 color:rgba(243,243,241,var(--lit,.16));
 text-shadow:0 0 calc(var(--glow,0) * 22px) rgba(238,242,244,.22);
 transform:translate3d(0,calc((1 - var(--lift,0)) * 10px),0);
 transition:color .16s linear,text-shadow .16s linear,transform .22s cubic-bezier(.2,.8,.2,1);
}
.dubai-models{
 --model-light:.62;
 position:relative;
 z-index:2;
 grid-column:1;
 justify-self:stretch;
 width:min(100%,520px);
 height:560px;
 perspective:900px;
 transform-style:preserve-3d;
 opacity:.86;
}
.dubai-models:before{
 content:"";
 position:absolute;
 inset:auto 4% 12% 4%;
 height:42%;
 background:radial-gradient(ellipse at 50% 100%,rgba(238,242,244,.12),rgba(238,242,244,.028) 44%,transparent 72%);
 transform:rotateX(68deg) translateY(16px);
 transform-origin:50% 100%;
}
.model-grid{
 position:absolute;
 left:4%;
 right:4%;
 bottom:14%;
 height:230px;
 background:
  repeating-linear-gradient(90deg,rgba(238,242,244,.13) 0 1px,transparent 1px 42px),
  repeating-linear-gradient(0deg,rgba(238,242,244,.09) 0 1px,transparent 1px 34px);
 opacity:.38;
 transform:rotateX(64deg) rotateZ(-7deg);
 transform-origin:50% 100%;
 mask-image:linear-gradient(180deg,black,transparent 88%);
}
.model-tower{
 position:absolute;
 bottom:18%;
 width:66px;
 transform-style:preserve-3d;
 transform:rotateY(-18deg) rotateX(2deg);
 opacity:.88;
}
.model-tower:before,
.model-tower:after,
.model-tower i{
 content:"";
 position:absolute;
 inset:0;
 border:1px solid rgba(238,242,244,.42);
 background:
  linear-gradient(90deg,rgba(238,242,244,.06),rgba(255,255,255,.16),rgba(238,242,244,.035)),
  repeating-linear-gradient(180deg,rgba(255,255,255,.28) 0 1px,transparent 1px 18px);
 box-shadow:inset 0 0 28px rgba(238,242,244,.075),0 0 24px rgba(238,242,244,.055);
}
.model-tower:after{transform:translateZ(-36px) translateX(20px);opacity:.36}
.model-tower i:nth-child(1){transform:translateZ(-18px) rotateY(82deg) translateX(32px);opacity:.42}
.model-tower i:nth-child(2){display:none}
.model-tower i:nth-child(3){display:none}
.tower-one{left:42%;height:440px;width:72px;clip-path:polygon(46% 0,54% 0,58% 18%,64% 42%,78% 100%,22% 100%,36% 42%,42% 18%)}
.tower-two{left:18%;height:270px;width:74px;clip-path:polygon(36% 0,64% 0,78% 100%,18% 100%)}
.tower-three{right:12%;height:230px;width:88px;clip-path:polygon(22% 0,78% 0,92% 100%,8% 100%)}
.model-ring{
 position:absolute;
 left:2%;
 top:26%;
 width:210px;
 height:210px;
 border:1px solid rgba(238,242,244,.28);
 border-radius:50%;
 transform:rotateX(62deg) rotateZ(-18deg);
 box-shadow:0 0 42px rgba(238,242,244,.065),inset 0 0 42px rgba(238,242,244,.045);
 opacity:.62;
}
.model-ring:before{
 content:"";
 position:absolute;
 inset:34px;
 border:1px solid rgba(238,242,244,.2);
 border-radius:50%;
}
.model-sail{
 position:absolute;
 right:7%;
 top:16%;
 width:160px;
 height:320px;
 border-left:2px solid rgba(255,255,255,.72);
 border-right:1px solid rgba(238,242,244,.24);
 border-radius:100% 0 0 100%;
 transform:skewX(-10deg) rotateY(-20deg);
 opacity:.62;
}
.model-sail:after{
 content:"";
 position:absolute;
 left:28%;
 top:8%;
 width:1px;
 height:84%;
 background:linear-gradient(180deg,transparent,rgba(238,242,244,.22),transparent);
 transform:rotate(16deg);
}
.model-base{
 position:absolute;
 left:10%;
 right:8%;
 bottom:12%;
 height:1px;
 background:linear-gradient(90deg,transparent,rgba(238,242,244,.54),transparent);
 box-shadow:0 0 28px rgba(238,242,244,.16);
}
html.perf-mode .letter-reveal .letter{transition:none}
html.perf-mode .dubai-models{opacity:.56}
@media (max-width:900px){
 .letter-system{display:block;min-height:auto;margin-top:28px}
 .letter-reveal{font-size:clamp(42px,11vw,78px);line-height:.9;letter-spacing:-.07em}
 .dubai-models{width:100%;height:360px;margin:24px 0 38px;opacity:.58}
 .tower-one{height:292px}.tower-two{height:180px}.tower-three{height:158px}
 .model-ring{width:150px;height:150px}
 .model-sail{height:220px;width:118px}
}
@media (max-width:560px){
 .letter-reveal{font-size:clamp(38px,12.8vw,64px)}
 .dubai-models{height:310px;opacity:.46}
}

/* Calm correction: remove restless motion and the weak CSS 3D study. */
.hero-media,
.space-atmosphere,
.space-atmosphere span,
.hero-window,
.burj-aura,
.burj-model,
.burj-body:after,
.burj-tier{animation:none!important}
.hero-window{transform:perspective(900px) rotateY(-4deg);filter:saturate(0) contrast(1.03) brightness(.7);opacity:.56}
.burj-aura{display:none}
.ambient-glow{display:none}
.hero-canvas{display:none}
.space-atmosphere{opacity:.24;mix-blend-mode:normal}
.space-atmosphere:before{opacity:.22;filter:none}
.space-atmosphere:after{opacity:.24;box-shadow:none}
.signal-orbit{opacity:.42;transform:none}
.orbit-path{filter:none;stroke:rgba(238,242,244,.42)}
.cinema-light{opacity:.18}.cinema-light span{filter:none}
.letter-system{display:block;min-height:620px;margin-top:60px}
.letter-system:before{opacity:.34;inset:8% -6% 8%}
.letter-reveal{grid-column:auto;max-width:1180px;margin-left:auto;font-size:clamp(54px,6.5vw,118px);line-height:.88;color:rgba(243,243,241,.2)}
.letter-reveal .letter{transform:none!important;text-shadow:none!important;transition:color .08s linear}
.dubai-models{display:none!important}
.project-card-large{transition:transform .25s ease}
.project-card-large:hover:before{opacity:.38}
.reveal{filter:none;transition:opacity .65s cubic-bezier(.2,.8,.2,1),transform .65s cubic-bezier(.2,.8,.2,1)}
@media (max-width:900px){
 .letter-system{min-height:auto;margin-top:42px}
 .letter-reveal{margin-left:0}
 .signal-orbit{opacity:.25}
}

/* Project frame repair: use pre-cropped poster assets, no violent source cropping. */
.lemma-cases .case-stage{aspect-ratio:1 / 1.08;background:#050505}
.lemma-cases .case-stage img,
.lemma-cases .amazon-card .case-stage img:nth-child(1),
.lemma-cases .amazon-card .case-stage img:nth-child(2),
.lemma-cases .amazon-card .case-stage img:nth-child(3),
.lemma-cases .nike-card .case-stage img:nth-child(1),
.lemma-cases .nike-card .case-stage img:nth-child(2),
.lemma-cases .nike-card .case-stage img:nth-child(3){
 --media-scale:1.035;
 transform-origin:center center;
 object-position:center center;
 filter:saturate(.86) contrast(1.06) brightness(.84);
}
.project-card-large:hover .case-stage img,
.project-card-large.amazon-card:hover .case-stage img:nth-child(1),
.project-card-large.nike-card:hover .case-stage img:nth-child(1){--media-scale:1.055}

/* Live HTML website demo frame. Real iframe, scrollable and interactive. */
.website-demos{
 position:relative;
 display:grid;
 grid-template-columns:minmax(260px,.42fr) minmax(620px,1fr);
 gap:28px;
 align-items:stretch;
 margin:0 0 76px;
 padding:1px 0 0;
 border-top:1px solid rgba(243,243,241,.14);
}
.demo-copy{
 padding-top:28px;
 border-right:1px solid rgba(243,243,241,.1);
}
.demo-copy span{
 display:block;
 margin-bottom:18px;
 color:rgba(243,243,241,.56);
 font-size:12px;
 letter-spacing:.1em;
 text-transform:uppercase;
}
.demo-copy h3{
 max-width:8ch;
 margin:0;
 font-size:clamp(44px,5.6vw,92px);
 font-weight:400;
 line-height:.84;
 letter-spacing:-.07em;
}
.demo-copy p{
 max-width:34ch;
 margin:28px 28px 0 0;
 color:rgba(243,243,241,.66);
 font-size:16px;
 line-height:1.35;
}
.demo-frame-shell{
 position:relative;
 min-height:680px;
 border:1px solid rgba(243,243,241,.16);
 border-radius:8px;
 overflow:hidden;
 background:#050505;
 box-shadow:0 40px 120px rgba(0,0,0,.45);
}
.demo-frame-shell:before{
 content:"";
 position:absolute;
 inset:0;
 z-index:3;
 pointer-events:none;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),inset 0 -80px 110px rgba(0,0,0,.28);
}
.demo-browser-bar{
 position:absolute;
 left:0;
 right:0;
 top:0;
 z-index:4;
 height:38px;
 display:flex;
 align-items:center;
 gap:8px;
 padding:0 14px;
 background:rgba(5,5,5,.78);
 border-bottom:1px solid rgba(243,243,241,.12);
 backdrop-filter:blur(10px);
 pointer-events:none;
}
.demo-browser-bar span{
 width:8px;
 height:8px;
 border-radius:50%;
 background:rgba(243,243,241,.42);
}
.demo-browser-bar em{
 margin-left:10px;
 color:rgba(243,243,241,.5);
 font-size:11px;
 font-style:normal;
 letter-spacing:.08em;
 text-transform:uppercase;
}
.demo-frame{
 position:absolute;
 inset:38px 0 0;
 width:100%;
 height:calc(100% - 38px);
 border:0;
 background:#eee;
}
@media (max-width:900px){
 .website-demos{display:block;margin-bottom:58px}
 .demo-copy{border-right:0;padding-bottom:24px}
 .demo-copy h3{max-width:none}
 .demo-frame-shell{min-height:620px}
}
@media (max-width:560px){
 .demo-frame-shell{min-height:540px;border-radius:6px}
 .demo-copy p{margin-right:0}
}

/* Multi demo layout. */
.demo-frame-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:22px;
 min-width:0;
}
.demo-frame-card{min-width:0}
.demo-frame-grid .demo-frame-shell{min-height:620px}
.demo-caption{
 display:grid;
 grid-template-columns:1fr auto;
 gap:16px;
 padding-top:14px;
 color:rgba(243,243,241,.62);
 font-size:13px;
 border-top:1px solid rgba(243,243,241,.1);
 margin-top:14px;
}
.demo-caption strong{color:#fff;font-weight:600}
.demo-caption span{justify-self:end;color:rgba(243,243,241,.48)}
@media (max-width:1100px){
 .website-demos{display:block}
 .demo-copy{border-right:0;padding-bottom:28px}
 .demo-frame-grid{grid-template-columns:1fr}
 .demo-frame-grid .demo-frame-shell{min-height:620px}
}
@media (max-width:560px){
 .demo-frame-grid .demo-frame-shell{min-height:520px}
 .demo-caption{display:block}.demo-caption span{display:block;margin-top:7px}
}

/* Three live demo frames. */
.demo-frame-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.demo-frame-grid .demo-frame-shell{min-height:560px}
@media (max-width:1320px){.demo-frame-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-frame-card:last-child{grid-column:1 / -1}.demo-frame-card:last-child .demo-frame-shell{min-height:680px}}
@media (max-width:900px){.demo-frame-grid{grid-template-columns:1fr}.demo-frame-card:last-child{grid-column:auto}.demo-frame-grid .demo-frame-shell{min-height:620px}}

/* Force every project preview into landscape. */
.lemma-cases .case-stage,
.case-study .case-stage{
 aspect-ratio:16 / 9!important;
}
.lemma-cases .case-stage img,
.lemma-cases .amazon-card .case-stage img:nth-child(1),
.lemma-cases .amazon-card .case-stage img:nth-child(2),
.lemma-cases .amazon-card .case-stage img:nth-child(3),
.lemma-cases .nike-card .case-stage img:nth-child(1),
.lemma-cases .nike-card .case-stage img:nth-child(2),
.lemma-cases .nike-card .case-stage img:nth-child(3),
.nike-training-case .case-stage img{
 --media-scale:1.02!important;
 object-position:center center!important;
 transform-origin:center center!important;
 object-fit:cover!important;
}
.project-card-large:hover .case-stage img,
.project-card-large.amazon-card:hover .case-stage img:nth-child(1),
.project-card-large.nike-card:hover .case-stage img:nth-child(1){--media-scale:1.04!important}
.website-demos{grid-template-columns:minmax(260px,.32fr) minmax(720px,1fr)}
.demo-frame-grid{grid-template-columns:1fr!important}
.demo-frame-card:last-child{grid-column:auto!important}
.demo-frame-shell,
.demo-frame-grid .demo-frame-shell,
.demo-frame-card:last-child .demo-frame-shell{
 min-height:0!important;
 aspect-ratio:16 / 9;
}
.demo-frame{height:calc(100% - 38px)}
@media (max-width:900px){
 .demo-frame-shell,.demo-frame-grid .demo-frame-shell{aspect-ratio:16 / 10}
}
