:root{--sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1);--bar:84px;
  --bg:#04070c;--bg2:#070e17;--ink:#f4f6fb;--mute:#a7aec0;--dim:#6c7488;--line:#ffffff17;--accent:#3d7eff;--deep:#0b1c33;color-scheme:dark}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip;font-size:17px;line-height:1.47}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;left:12px;top:12px;z-index:100;padding:12px 18px;border-radius:9px;background:var(--ink);color:#05090f;font-weight:700;transform:translateY(-200%)}
.skip:focus{transform:none}
.ph{background-size:cover;background-position:center}
.fill{background-size:cover;background-position:center;-webkit-background-clip:text;background-clip:text;color:transparent}
.wrap{max-width:1320px;margin:0 auto;padding:0 clamp(20px,5vw,72px)}
.pad{padding:clamp(96px,16vh,180px) 0}
.sl-mask,.sw-mask,.sc-mask{padding:0 .05em .16em;margin:0 -.05em -.16em}
.eyebrow{display:block;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}
.big{font-size:clamp(44px,8vw,136px);font-weight:800;letter-spacing:-.05em;line-height:.95;text-wrap:balance}
.lead{font-size:clamp(40px,6.4vw,104px);font-weight:800;letter-spacing:-.045em;line-height:.98;text-wrap:balance}
.sub{margin-top:18px;font-size:clamp(17px,1.4vw,21px);color:var(--mute);text-wrap:balance;max-width:42ch}
.btn{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 28px;border-radius:999px;background:var(--ink);color:#04070c;font-weight:700;font-size:16px;transition:translate .4s var(--ease),box-shadow .4s}
.btn svg{width:18px;height:18px;transition:transform .45s var(--ease)}
.btn:hover{translate:0 -2px!important;box-shadow:0 12px 40px #3d7eff40}
.btn:hover svg{transform:translateX(4px)}
.more{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:clamp(28px,4vh,44px);font-size:16px;font-weight:600;color:var(--mute);transition:color .3s}
.more svg{width:18px;height:18px;transition:transform .45s var(--ease)}
.more:hover{color:var(--ink)}
.more:hover svg{transform:translateX(4px)}

.ambient{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.ambient::before{content:"";position:absolute;inset:-20vh -10vw;background:radial-gradient(42vmax 32vmax at 18% 22%,#14315a55,transparent 70%),radial-gradient(36vmax 28vmax at 86% 70%,#0e2a5240,transparent 70%),radial-gradient(28vmax 22vmax at 60% 110%,#1a2e4a38,transparent 70%);will-change:transform}
.motion .ambient::before{animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(3vw,-4vh,0) scale(1.06)}}
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>")}

.dock{position:fixed;top:12px;left:50%;z-index:80;width:min(1200px,calc(100% - 24px));transform:translateX(-50%);transition:transform .7s var(--ease)}
.dock.hide{transform:translateX(-50%) translateY(calc(-100% - 20px))}
.dock-bar{position:relative;display:flex;align-items:center;gap:14px;height:60px;padding:0 10px 0 22px;border-radius:14px;background:#0a111c99;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid #ffffff14;overflow:hidden}
.dock-bar::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:#05090f;opacity:0;transition:opacity .6s var(--ease);pointer-events:none}
.dock.compact .dock-bar::after{opacity:.55}
.mark{position:relative;font-weight:800;font-size:15px;letter-spacing:.18em;flex:none}
.roll{position:relative;display:inline-flex;overflow:hidden;line-height:1.25}
.roll>span{display:block;transition:transform .55s var(--ease)}
.roll>span+span{position:absolute;left:0;top:0;transform:translateY(105%)}
a:hover>.roll>span:first-child,.dn:hover .roll>span:first-child{transform:translateY(-105%)}
a:hover>.roll>span+span,.dn:hover .roll>span+span{transform:none}
.mark .roll i{position:relative;display:inline-block;font-style:normal;transition:transform .5s var(--ease);transition-delay:calc(var(--i) * 22ms)}
.mark:hover .roll i{transform:translateY(-100%)}
.mark .roll i::after{content:attr(data-c);position:absolute;left:0;top:100%}
.dock-nav{position:relative;display:flex;align-items:center;gap:2px;margin-left:auto}
.dock-nav .hl{position:absolute;left:0;bottom:8px;width:100px;height:1px;background:var(--ink);transform-origin:0 50%;opacity:0;pointer-events:none}
.dn{position:relative;z-index:1;flex:none;white-space:nowrap;display:flex;align-items:center;gap:6px;height:44px;padding:0 14px;font-size:14px;font-weight:600;color:#c9cfdf;transition:color .3s}
.dn:hover,.dn[aria-current]{color:#fff}
.dsep{width:1px;height:18px;margin:0 8px;background:#ffffff1f;flex:none}
.lang{display:flex;align-items:center;flex:none;padding-left:10px;border-left:1px solid #ffffff1a}
.lang button{min-width:36px;min-height:44px;padding:0 6px;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--dim);transition:color .3s}
.lang button[aria-pressed=true],.lang button:hover{color:#fff}
.dock-cta{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px 0 18px;border-radius:9px;background:var(--ink);color:#05090f;font-size:14px;font-weight:700;flex:none;will-change:transform}
.dock-cta i{display:grid;place-items:center;transition:transform .45s var(--ease)}
.dock-cta i svg{width:15px;height:15px}
.dock-cta:hover i{transform:translateX(4px)}
.prog{position:absolute;left:18px;right:18px;bottom:0;height:1px;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);opacity:.85}
.burger{display:none;width:44px;height:44px;align-items:center;justify-content:center}
.burger i{position:relative;display:block;width:18px;height:2px;background:var(--ink);transition:background .3s}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink);transition:transform .45s var(--ease)}
.burger i::before{top:-6px}.burger i::after{top:6px}
.burger[aria-expanded=true] i{background:transparent}
.burger[aria-expanded=true] i::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded=true] i::after{transform:translateY(-6px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:79;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:calc(var(--bar) + 20px) clamp(20px,6vw,48px) 40px;background:radial-gradient(80% 60% at 20% 30%,#14315a,#05090f 75%);visibility:hidden}
.menu a{display:block;overflow:hidden;font-size:clamp(38px,10vw,64px);font-weight:900;letter-spacing:-.05em;line-height:1.05}
.menu a span{display:block}
.menu .small{margin-top:28px;font-size:16px;font-weight:600;letter-spacing:0;color:var(--mute)}
@media (max-width:1119px){.dock-nav,.dock-cta{display:none}.lang{margin-left:auto}.burger{display:flex}}
html:not(.js) .dock-nav{display:flex;min-width:0;overflow-x:auto}
html:not(.js) .burger,html:not(.js) .menu{display:none}

.curtain{position:fixed;inset:0;z-index:85;display:grid;place-items:center;background:radial-gradient(70% 60% at 50% 50%,#132b4d,#05090f 75%);transform:translateY(101%);pointer-events:none}
.curtain.on{transform:none}
.curtain p{font-size:clamp(48px,11vw,180px);font-weight:900;letter-spacing:-.055em;line-height:.9;color:var(--ink);text-align:center;padding:0 20px}

.cursor{position:fixed;left:0;top:0;z-index:95;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:var(--ink);color:#04070c;display:grid;place-items:center;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;transform:scale(0);opacity:0}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

.pin>.stage{position:relative}
.motion .pin{height:var(--len,260vh)}
.motion .pin>.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.hero .stage{height:100vh;height:100svh;overflow:hidden;background:#000}
.hero .bg{position:absolute;inset:0;filter:brightness(var(--lift,1)) saturate(1.05)}
.hero .mask{position:absolute;inset:0;background:#000;color:#fff;mix-blend-mode:multiply;display:grid;place-items:center;padding-bottom:var(--wy,0px)}
.hero .word{font-size:min(calc(145vw / var(--n,10)),300px,38vh);font-weight:900;letter-spacing:-.06em;line-height:.8;white-space:nowrap;padding-bottom:.06em;text-transform:uppercase}
@media (max-aspect-ratio:3/4){.hero .word{font-size:min(calc(146vw / var(--n,10)),300px,38vh)}}
.hero .shade{position:absolute;inset:0;background:linear-gradient(#0000 38%,#00000008 45%,#0000001c 51%,#00000038 57%,#0000005c 63%,#00000085 69%,#000000ad 75%,#000000cf 81%,#000000e8 88%,var(--bg) 100%);pointer-events:none}
.hero .hcopy{position:absolute;left:0;right:0;bottom:clamp(40px,10vh,110px);text-align:center;z-index:2;padding:0 20px}
.hero .hcopy .sub{margin-left:auto;margin-right:auto;color:#e6e9f2}
.hero .hcopy .eyebrow{margin-bottom:14px;color:#fff;text-shadow:0 1px 14px #000,0 0 2px #000a}
.hero .hcopy .big,.hero .hcopy .sub{text-shadow:0 2px 30px #0009}

.fields{background:#000}
.fields .field{position:relative;min-height:88vh;display:grid;align-items:end;overflow:hidden}
.motion .fields .field{position:absolute;inset:0;min-height:0;will-change:transform}
.fields .img{position:absolute;inset:0;will-change:transform}
.fields .veil{position:absolute;inset:0;background:linear-gradient(180deg,#0000 25%,#00000008 33%,#0000001f 41%,#00000042 49%,#0000006b 57%,#00000094 65%,#000000b5 74%,#000000cc 84%,#000d 100%),linear-gradient(90deg,#00000099,#00000066 18%,#0000002e 36%,#0000000d 50%,#0000 62%);pointer-events:none}
.fields .fmask{display:none}
.motion .fields .fmask{display:grid;position:absolute;inset:0;place-items:center;background:#000;color:#fff;mix-blend-mode:multiply}
.fields .fword{font-size:min(calc(150vw / var(--n,6)),340px,44vh);font-weight:900;letter-spacing:-.06em;line-height:.8;white-space:nowrap;text-transform:uppercase;padding-bottom:.06em}
.fields .story{position:relative;z-index:2;padding:0 clamp(20px,5vw,72px) clamp(40px,9vh,96px);max-width:1180px}
.fields .tag{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.fields .tag::before{content:"";width:28px;height:2px;background:var(--accent)}
.fields .slogan{margin-top:16px;font-size:clamp(46px,8.4vw,150px);font-weight:900;letter-spacing:-.055em;line-height:.92;color:#fff;text-wrap:balance;text-shadow:0 6px 60px #0007}
.fields .proof{margin-top:18px;font-size:clamp(17px,1.5vw,22px);color:#e6e9f2;max-width:46ch;text-shadow:0 2px 20px #000}
.fields .chips{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px}
.fields .chip{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 6px;border-radius:999px;background:#ffffff1a;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #ffffff26;font-size:14px;font-weight:600;color:#fff;transition:background .35s,translate .35s var(--ease)}
.fields .chip:hover{background:#ffffff33;translate:0 -2px!important}
.fields .chip i{width:32px;height:32px;border-radius:50%;background-size:cover;background-position:center;flex:none}
.fields .count{position:absolute;right:clamp(20px,5vw,72px);bottom:clamp(40px,9vh,96px);z-index:2;font-size:13px;font-weight:700;letter-spacing:.14em;color:#ffffffa6;font-variant-numeric:tabular-nums}
@media (max-width:760px){.fields .count{top:calc(var(--bar) + 20px);bottom:auto}}

.crafts{background:radial-gradient(60vmax 40vmax at -10% 40%,#13315a40,transparent 70%),var(--bg2)}
.rows{margin-top:clamp(36px,6vh,64px);border-top:1px solid var(--line)}
.row{position:relative;display:flex;align-items:center;gap:24px;padding:clamp(10px,1.6vh,18px) 0;border-bottom:1px solid var(--line);overflow:hidden}
.row .inner{display:flex;align-items:center;gap:24px;width:100%}
.row .n{position:relative;display:block;font-size:clamp(44px,8.6vw,150px);font-weight:900;letter-spacing:-.055em;line-height:1.02;width:max-content;max-width:100%}
.row .n .fill{position:absolute;inset:0 0 -.3em;opacity:0;transition:opacity .45s var(--ease)}
.row .meta{margin-left:auto;display:flex;align-items:center;gap:18px;text-align:right}
.row .meta span{font-size:15px;color:var(--mute);max-width:26ch}
.row .arrow{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);transition:transform .5s var(--ease),background .4s,border-color .4s}
.row .arrow svg{width:20px;height:20px;transition:transform .5s var(--ease)}
.row:hover .n .fill,.row:focus-visible .n .fill{opacity:1}
.row .n>span:first-child,.next .nx .t{transition:opacity .45s var(--ease)}
.row:hover .n>span:first-child,.row:focus-visible .n>span:first-child,.next a:hover .nx .t,.next a:focus-visible .nx .t{opacity:0}
.row:hover .arrow,.row:focus-visible .arrow{background:var(--ink);border-color:var(--ink);color:#04070c;transform:rotate(-45deg)}
@media (hover:none),(pointer:coarse){.row .n .fill{opacity:1}.row .n>span:first-child{opacity:0}}
@media (max-width:760px){.row .inner{flex-direction:column;align-items:flex-start;gap:6px}.row .meta{margin-left:0;text-align:left;width:100%;justify-content:space-between}.row .arrow{width:44px;height:44px}}

.work{background:var(--bg2);overflow:hidden}
.work.all{padding:0 0 clamp(96px,14vh,160px);background:none}
.mosaic{margin-top:clamp(40px,7vh,80px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(6px,.8vw,12px)}
.work.all .mosaic{margin-top:0}
.tile{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;border-radius:4px;will-change:transform}
.tile .ph{position:absolute;inset:0;transition:transform .9s var(--ease)}
.tile:hover .ph{transform:scale(1.06)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(#0000 30%,#0000000f 42%,#00000040 55%,#00000085 68%,#000000c2 82%,#000000e6)}
.tile .cap{position:absolute;left:14px;right:14px;bottom:12px;z-index:1;display:grid;gap:2px}
.tile .cap b{font-size:14px;font-weight:600}
.tile .cap small{font-size:12px;color:#ffffffb3;letter-spacing:.02em}
.tile .cap small>span:first-child:not(:empty)::after{content:" · "}
@media (max-width:760px){.mosaic{grid-template-columns:1fr 1fr}}
@media (max-width:420px){.mosaic{grid-template-columns:1fr}}

.film{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:clamp(16px,4vw,48px);border:0;background:transparent;color:var(--ink);display:none;place-items:center}
.film[open]{display:grid}
.film::backdrop{background:#02050ad9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.motion .film[open]::backdrop{animation:filmfade .45s var(--ease)}
@keyframes filmfade{from{opacity:0}}
.film-box{width:min(1200px,100%,calc((100vh - 150px) * 16 / 9))}
.film-frame{position:relative;aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden}
.film-frame iframe,.film-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
.film-box.tall{width:min(100%,calc((100vh - 150px) * 9 / 16),460px)}
.film-box.tall .film-frame{aspect-ratio:9/16}
.film-box.tall .film-bar{flex-wrap:wrap}
.film-box.tall .film-bar p{flex-basis:100%}
.film-bar{display:flex;align-items:center;gap:16px;margin-top:14px}
.film-bar p{flex:1;min-width:0;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.film-page,.film-out{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:13px;color:var(--mute);transition:color .3s;flex:none}
.film-page:hover,.film-out:hover{color:#fff}
.film-out svg{width:14px;height:14px}
.film-x{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff26;border-radius:9px;color:#fff;flex:none}
.film-x svg{width:16px;height:16px}
.film-info{position:relative;flex:none}
.film-priv{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;color:var(--mute);transition:color .3s}
.film-priv:hover,.film-priv:focus-visible{color:#fff}
.film-priv svg{width:18px;height:18px}
.film-tip{position:absolute;right:-6px;bottom:calc(100% + 10px);width:max-content;max-width:min(300px,80vw);padding:12px 14px;border-radius:10px;background:var(--bg2);border:1px solid #ffffff1f;box-shadow:0 18px 40px #0009;font-size:13px;line-height:1.45;color:var(--mute);opacity:0;translate:0 6px;pointer-events:none;transition:opacity .25s var(--ease),translate .35s var(--ease)}
.film-tip b{display:block;color:var(--ink);font-weight:600;margin-bottom:4px}
.film-tip em{font-style:normal;color:var(--ink)}
.film-info:hover .film-tip,.film-info:focus-within .film-tip,.film-info.show .film-tip{opacity:1;translate:0 0}
@media (max-width:560px){.film-bar{flex-wrap:wrap}.film-bar p{flex-basis:100%}}

.cta{text-align:center;background:radial-gradient(50vmax 34vmax at 50% 60%,#16335c66,transparent 70%),var(--bg)}
.cta .giant{font-size:clamp(52px,11vw,200px);font-weight:900;letter-spacing:-.06em;line-height:.9;color:var(--ink)}
.cta .mail{position:relative;display:inline-block;margin-top:34px;font-size:clamp(20px,2.2vw,30px);font-weight:600;padding-bottom:6px}
.cta .mail::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);transform-origin:0 50%;transition:transform .6s var(--ease)}
.cta .mail:hover::after{transform:scaleX(1.06)}
.cta small{display:block;margin-top:18px;color:var(--dim);font-size:15px}

.facts{background:radial-gradient(50vmax 36vmax at 110% 30%,#13315a40,transparent 70%),var(--bg2)}
.facts ol{list-style:none;margin-top:clamp(36px,6vh,64px)}
.facts li{position:relative;overflow:hidden;padding:clamp(14px,2.2vh,22px) 0}
.facts li::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--accent),var(--line) 40%);transform-origin:0 50%;transform:scaleX(var(--draw,1))}
.facts li>span{display:block;font-size:clamp(24px,3.4vw,52px);font-weight:700;letter-spacing:-.03em;line-height:1.08}
.tlink{position:relative;display:inline-flex;align-items:center;gap:.14em;color:var(--ink);white-space:nowrap}
.tl-word{display:inline-flex;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.tlink .c{position:relative;display:inline-block;transition:transform .6s var(--ease);transition-delay:calc(var(--i) * 30ms)}
.tlink .c::after{content:attr(data-c);position:absolute;left:0;top:100%;color:var(--accent)}
.tl-arr{display:inline-grid;width:.5em;height:.5em;color:var(--mute);opacity:.6;transform:translate(-.08em,.08em);transition:transform .55s var(--ease),opacity .3s,color .3s}
.tl-arr svg{width:100%;height:100%}
.tlink:hover .c,.tlink:focus-visible .c,.tlink.hint .c{transform:translateY(-100%)}
.tlink:hover .tl-arr,.tlink:focus-visible .tl-arr{color:var(--accent);opacity:1;transform:translate(.06em,-.06em)}
@media (prefers-reduced-motion:reduce){.tlink .c,.tl-arr,.film-tip{transition:none}}
.facts .cred li{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:clamp(12px,3vw,48px);align-items:baseline}
.facts .cred .role{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);line-height:1.4}
.facts .cred .who{font-size:clamp(20px,2.4vw,36px)}
.credits{background:var(--bg)}
@media (max-width:640px){.facts .cred li{grid-template-columns:1fr;gap:6px}}

.gal .stage{display:flex;align-items:center}
.gal .track{display:flex;gap:clamp(14px,2vw,28px);padding:0 clamp(20px,5vw,72px);will-change:transform}
.gal figure{flex:none;width:min(62vw,880px);display:grid;gap:12px}
.gal .frame{aspect-ratio:3/2;overflow:hidden;border-radius:6px}
.gal .frame .ph{width:100%;height:100%;will-change:transform}
.gal figcaption{font-size:14px;color:var(--mute)}
.gal .head{position:absolute;left:clamp(20px,5vw,72px);top:calc(var(--bar) + 28px);z-index:2}
html:not(.motion) .gal .track{flex-wrap:wrap}
html:not(.motion) .gal figure{width:min(100%,640px)}
html:not(.motion) .gal .stage{flex-direction:column;align-items:flex-start;padding:clamp(80px,12vh,140px) 0}
html:not(.motion) .gal .head{position:static;margin-bottom:28px;padding:0 clamp(20px,5vw,72px)}
@media (max-width:760px){.gal figure{width:82vw}}

.team .people{margin-top:clamp(36px,6vh,64px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px)}
.team .p{display:grid;gap:14px}
.team .pic{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:6px}
.team .pic .ph{position:absolute;inset:0;background-position:center 25%}
.team .pic .cover{display:none}
.motion .team .pic .cover{display:block;position:absolute;inset:0;background:var(--bg2);transform-origin:50% 0}
.team b{font-size:clamp(20px,1.8vw,26px);font-weight:700;letter-spacing:-.02em}
.team em{display:block;font-style:normal;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:4px 0 8px}
.team p{font-size:15px;color:var(--mute)}
@media (max-width:760px){.team .people{grid-template-columns:1fr}}

.next{background:var(--bg)}
.next a{display:block}
.next small{display:block;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.next .nx{position:relative;display:inline-block;font-size:min(220px,calc(150vw / var(--n,10)));font-weight:900;letter-spacing:-.06em;line-height:.9;white-space:nowrap}
.next .nx .fill{position:absolute;inset:0 0 -.3em;opacity:0;transition:opacity .5s var(--ease)}
.next a:hover .fill,.next a:focus-visible .fill{opacity:1}
@media (hover:none),(pointer:coarse){.next .nx .fill{opacity:1}.next .nx .t{opacity:0}}
.back{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:30px;font-size:15px;font-weight:600;color:var(--mute);transition:color .3s}
.back svg{width:18px;height:18px}
.back:hover{color:var(--ink)}

.foot{position:relative;overflow:hidden;background:linear-gradient(var(--bg),#03060b);border-top:1px solid var(--line);padding:clamp(64px,10vh,110px) 0 28px}
.foot .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,4vw,64px)}
.foot .fh{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.foot ul{list-style:none;display:grid;gap:6px}
.foot a{position:relative;display:inline-flex;align-items:center;min-height:32px;font-size:15px;color:var(--mute);transition:color .3s}
.foot a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--ease)}
.foot a:hover{color:var(--ink)}
.foot a:hover::after{transform:scaleX(1);transform-origin:0 50%}
.foot small.ext{display:inline-grid;margin-left:8px;opacity:.75;transition:transform .45s var(--ease),opacity .3s}
.foot small.ext svg{width:16px;height:16px}
.foot a:hover small.ext{opacity:1;transform:translate(2px,-2px)}
.foot .brand{margin-top:clamp(56px,9vh,110px);overflow:hidden;font-size:min(14.4vw,232px);font-weight:900;letter-spacing:-.065em;line-height:.8;white-space:nowrap;user-select:none;padding-bottom:.04em}
.foot .brand span{display:inline-block;will-change:transform;background:linear-gradient(180deg,#9fc7ff40,#ffffff08 85%);-webkit-background-clip:text;background-clip:text;color:transparent}
.foot .brand span:last-child{letter-spacing:0}
.foot .base{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:var(--dim);border-top:1px solid var(--line);padding-top:22px}
@media (max-width:860px){.foot .cols{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot .cols{gap:40px 20px}.foot a{font-size:14px}}

.about-intro .statement{font-size:clamp(34px,5.4vw,88px);font-weight:800;letter-spacing:-.045em;line-height:1.02;max-width:20ch;text-wrap:balance}
.nums{margin-top:clamp(48px,8vh,96px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,64px);border-top:1px solid var(--line)}
.nums div{padding-top:26px}
.nums b{display:block;font-size:clamp(80px,14vw,240px);font-weight:900;letter-spacing:-.06em;line-height:.85;font-variant-numeric:tabular-nums}
.nums span{display:block;margin-top:14px;font-size:15px;color:var(--mute)}
.prose{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,80px);align-items:start}
.prose p{font-size:clamp(18px,1.6vw,22px);color:var(--mute);line-height:1.55}
.prose p+p{margin-top:18px}
.quote{font-size:clamp(40px,7vw,120px);font-weight:900;letter-spacing:-.055em;line-height:.95;text-wrap:balance}
@media (max-width:860px){.prose{grid-template-columns:1fr}.nums b{font-size:clamp(64px,22vw,140px)}}

.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,80px);align-items:start}
.form{display:grid;gap:14px}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:block;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--mute);margin-bottom:8px}
.form input,.form select,.form textarea{width:100%;min-height:52px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:#ffffff0a;color:var(--ink);font:inherit;font-size:16px;transition:border-color .3s,background .3s}
.form textarea{min-height:150px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--accent);background:#3d7eff12}
.form [aria-invalid=true]{border-color:#ff8a8a}
.form select option{background:#0b1522}
.form .send{justify-self:start;display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 28px;border-radius:999px;background:var(--ink);color:#04070c;font-weight:700;font-size:16px;transition:translate .4s var(--ease),box-shadow .4s}
.form .send svg{width:18px;height:18px}
.form .send:hover{translate:0 -2px!important;box-shadow:0 12px 40px #3d7eff40}
.form .msg{min-height:22px;font-size:14px;color:var(--accent)}
.places{display:grid;gap:clamp(20px,3vh,32px)}
.place{padding:26px;border-radius:18px;background:#ffffff08;border:1px solid var(--line)}
.place h3{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.place address{font-style:normal;font-size:clamp(20px,1.8vw,26px);font-weight:700;letter-spacing:-.02em;line-height:1.25}
.place p{margin-top:12px;display:grid;gap:4px;font-size:15px;color:var(--mute)}
.place p a{min-height:32px;display:inline-flex;align-items:center}
.place p a:hover{color:var(--ink)}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}.form .two{grid-template-columns:1fr}}

html:not([lang=de]) .only-de,html[lang=de] .only-en{display:none!important}
.legal-head{padding:calc(var(--bar) + clamp(56px,10vh,120px)) 0 clamp(36px,6vh,64px);background:radial-gradient(50vmax 30vmax at 80% 0%,#16335c55,transparent 70%)}
.ltitle{font-size:clamp(52px,10vw,170px);font-weight:900;letter-spacing:-.06em;line-height:.9;text-wrap:balance;overflow-wrap:anywhere}
.lnote{margin-top:22px;display:inline-block;padding:10px 16px;border-radius:12px;background:#3d7eff14;border:1px solid #3d7eff40;font-size:14px;color:#cde2ff}
.legal-body{padding:0 0 clamp(96px,14vh,160px)}
.doc{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.toc{position:sticky;top:calc(var(--bar) + 24px);display:grid;gap:2px;max-height:calc(100vh - var(--bar) - 48px);overflow:auto;padding:6px;border-radius:16px;background:#ffffff06;border:1px solid var(--line)}
.toc a{position:relative;display:block;padding:8px 30px 8px 12px;font-size:13px;line-height:1.35;color:var(--mute);transition:color .35s}
.toc a span{display:block;transition:transform .5s var(--ease)}
.toc a::before{content:"";position:absolute;left:12px;top:calc(8px + .675em);width:12px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease)}
.toc a:hover,.toc a:focus-visible{color:var(--ink)}
.toc a.on{color:#fff}
.toc a:hover span,.toc a:focus-visible span,.toc a.on span{transform:translateX(20px)}
.toc a:hover::before,.toc a:focus-visible::before,.toc a.on::before{transform:scaleX(1)}
.toc a.on::before{background:var(--ink)}
.ldoc{min-width:0;max-width:78ch;color:#b8bfd0;font-size:16px;line-height:1.75;overflow-wrap:anywhere}
.ldoc h2{scroll-margin-top:calc(var(--bar) + 28px);margin:64px 0 16px;padding-top:28px;border-top:1px solid var(--line);font-size:clamp(24px,2.4vw,34px);font-weight:800;letter-spacing:-.03em;line-height:1.15;color:#fff}
.ldoc>div>h2:first-child,.ldoc>h2:first-child{margin-top:0;border-top:0;padding-top:0}
.ldoc h2[data-n]::before{content:attr(data-n);display:block;margin-bottom:8px;font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--accent)}
.ldoc h3{scroll-margin-top:calc(var(--bar) + 28px);margin:30px 0 10px;font-size:19px;font-weight:700;color:#fff}
.ldoc h3[data-n]::before{content:attr(data-n) " ";color:var(--accent)}
.ldoc h4{margin:22px 0 8px;font-size:16px;font-weight:700;color:#fff}
.ldoc p{margin:0 0 14px}
.ldoc p.num b{display:inline-block;min-width:3em;color:var(--accent);font-weight:700}
.ldoc ul,.ldoc ol{margin:0 0 16px;padding-left:22px;display:grid;gap:6px}
.ldoc a{color:#cde2ff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#3d7eff80}
.ldoc strong,.ldoc b{color:#fff}
.ldoc table{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:14px}
.ldoc td,.ldoc th{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.ldoc .addr{color:#fff}
.ldoc .dl{margin-top:48px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.ldoc .dl a.btn{color:#04070c;text-decoration:none}
.ldoc .dl small{font-size:14px;color:var(--mute)}
.form .ferr{min-height:0;margin-top:6px;font-size:13px;color:#ffb0b0}
.form .ferr:empty{display:none}
.proj-still{padding-bottom:clamp(64px,10vh,112px)}
.proj-bar{margin-top:clamp(24px,3.5vh,36px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 40px}
.proj-meta{display:flex;flex-wrap:wrap;gap:16px 36px}
.proj-meta>div{display:grid;gap:8px}
.proj-meta dt{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.proj-meta dd{display:flex;flex-wrap:wrap;gap:8px}
.pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#ffffff08;font-size:15px;font-weight:600;color:var(--ink);transition:border-color .3s,background .3s}
.pill small{font-size:13px;font-weight:500;color:var(--mute)}
.pill svg{width:14px;height:14px;transition:transform .45s var(--ease)}
a.pill:hover{border-color:#3d7eff80;background:#3d7eff1a}
a.pill:hover svg{transform:translateX(3px)}
span.pill{color:var(--mute)}
.lost .go{margin-top:36px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px 32px;list-style:none;border-top:1px solid var(--line);padding-top:24px}
.lost .go a{display:inline-flex;align-items:center;min-height:44px;font-size:20px;font-weight:700;letter-spacing:-.02em;transition:color .3s}
.lost .go a:hover{color:var(--accent)}
.lost .go small{display:block;font-size:14px;color:var(--mute)}
@media (max-width:900px){.doc{grid-template-columns:1fr}.toc{position:relative;top:0;max-height:none}}

.proj-head{padding-bottom:clamp(28px,4vh,48px)}
.proj-back{margin:0 0 clamp(20px,3vh,32px) -2px}
.proj-back svg{transition:transform .45s var(--ease)}
.proj-back:hover svg{transform:translateX(-4px)}
.proj-head .ltitle{font-size:clamp(44px,8vw,140px)}
.proj-still .still{overflow:hidden;border-radius:6px;background:#000}
.proj-still img{display:block;width:100%;height:auto}
.clips-sec{background:var(--bg2)}
.clips{margin-top:clamp(36px,6vh,64px);display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:clamp(8px,1vw,14px)}
.clip{position:relative;display:block;aspect-ratio:9/16;overflow:hidden;border-radius:6px}
.clip .ph{position:absolute;inset:0;transition:transform .9s var(--ease)}
.clip:hover .ph{transform:scale(1.05)}
.clip::after{content:"";position:absolute;inset:0;background:linear-gradient(#0000 55%,#00000085 78%,#000000d9)}
.clip .cap{position:absolute;left:12px;right:12px;bottom:12px;z-index:1;display:grid;gap:2px}
.clip .cap b{font-size:14px;font-weight:600;line-height:1.3}
.clip .cap small{font-size:12px;color:#ffffffb3;font-variant-numeric:tabular-nums}
@media (max-width:420px){.clips{grid-template-columns:1fr 1fr}}
.lost{min-height:70vh;display:grid;align-items:end}
.lost .btn{margin-top:36px}
