/* Fonts: Google Fonts in page template — no local woff2 */
:root{
  --bg:#05070d; --surf:#0b0e17; --surf2:#141826; --line:#1f2537;
  --ink:#f2f0ea; --mute:#aab1c5; --dim:#858da3; --acc:#2d6bff; --acc2:#0c1f5e;
  --disp:'Montserrat',system-ui,sans-serif; --lab:'Montserrat',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font-family:var(--disp);-webkit-font-smoothing:antialiased}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit}
img,video{display:block}
.lab{font-family:var(--lab);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
::selection{background:var(--acc);color:#fff}

/* NAV */
.nav{position:fixed;top:16px;left:16px;right:16px;z-index:60;display:flex;align-items:center;gap:24px;padding:10px 10px 10px 22px;border-radius:999px;background:rgba(11,14,23,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.06);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.nav .logo{font-family:var(--lab);font-weight:800;font-size:14px;letter-spacing:.02em;text-decoration:none}
.nav .links{display:flex;gap:22px;margin-left:auto}
.nav .links a{font-family:var(--lab);font-weight:500;font-size:13px;text-decoration:none;color:var(--mute);transition:color .2s}
.nav .links a:hover,.nav .links a[aria-current]{color:var(--ink)}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px}
.lang button{font-family:var(--lab);font-size:11px;font-weight:600;padding:6px 10px;border-radius:999px;color:var(--mute);min-height:30px}
.lang button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--lab);font-weight:700;font-size:13px;padding:12px 18px;border-radius:999px;background:var(--ink);color:var(--bg);text-decoration:none;min-height:44px;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.btn:hover{transform:translateY(-2px)}
.btn.acc{background:var(--acc);color:#fff}
.back{display:none;align-items:center;gap:8px;font-family:var(--lab);font-size:13px;font-weight:600;margin-left:auto;min-height:44px;padding:0 6px}
body.in-case .back{display:inline-flex}
body.in-case .nav .links{display:flex}

/* INDEX STAGE */
#stage{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden;background:var(--bg)}
#gl{position:absolute;inset:0;width:100%;height:100%;z-index:2}
.jt{position:absolute;inset:0;z-index:1;opacity:0;color:#c9cedd}
.jt .l1,.jt .l2{position:absolute;white-space:nowrap;font-weight:600;text-transform:uppercase;font-size:clamp(40px,7.4vw,150px);line-height:.86;letter-spacing:-.07em;will-change:transform}
.jt .l1{top:32%;left:56%}
.jt .l2{top:51%;left:18%}
.jt .tg{position:absolute;top:47.6%;left:50%;transform:translateX(-50%);text-align:center;font-family:var(--lab);font-weight:600;font-size:clamp(11px,.95vw,16px);line-height:1.15;letter-spacing:.05em;text-transform:uppercase;white-space:pre-line;color:#c9cedd}
.ph{position:relative;width:100%;height:100%;background:linear-gradient(160deg,color-mix(in srgb,var(--c,#3a6cff) 22%,#121726),#0c0f19 72%);border:1px solid #2a3248;overflow:hidden}
.ph::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 12px,transparent 12px 24px)}
.ph::after{content:"";position:absolute;left:0;top:0;right:0;height:3%;min-height:3px;background:var(--c,#3a6cff)}
.ph span{position:absolute;left:7%;bottom:6%;right:7%;font-family:var(--lab);font-weight:700;font-size:clamp(9px,1.1vw,15px);letter-spacing:.08em;text-transform:uppercase;color:#c3c9d8;line-height:1.25}
.ph i{position:absolute;left:7%;top:7%;font-style:normal;font-family:var(--lab);font-size:clamp(8px,.7vw,10px);letter-spacing:.14em;color:#6f7790;text-transform:uppercase}

.ht{position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);text-align:center;width:max-content;max-width:94vw;pointer-events:none}
.ht1{display:block;font-family:'Hanken Grotesk',sans-serif;font-weight:300;text-transform:uppercase;font-size:min(9.4vw,17vh);line-height:.9;letter-spacing:-.035em;color:#f2f0ea}
.ht2{display:block;margin-top:2.6vh;font-family:'Montserrat',sans-serif;font-weight:600;font-size:clamp(14px,1.35vw,22px);letter-spacing:.02em;color:#aab1c5}
.ht .c{display:inline-block;will-change:transform}
.ht .lw{display:inline-block;overflow:hidden;padding:.04em 0 .06em;vertical-align:top}
#scrolly{position:relative;z-index:2;pointer-events:none}
.hero-copy{position:absolute;inset:0;pointer-events:none;z-index:3}
.hero-cue{position:absolute;left:50%;bottom:6vh;transform:translateX(-50%);color:#fff;display:flex;flex-direction:column;align-items:center;gap:12px}
.hero-cue .bar{width:1px;height:46px;background:linear-gradient(var(--ink),transparent);animation:cue 2s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.hb{position:relative;z-index:3;background:var(--bg)}
.hb-lens{position:fixed;inset:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .3s}
.hb-lens.on{opacity:1}
.hb-lens i{position:absolute;top:0;height:100vh;width:calc(100vh * 210 / 1587);background:var(--bg);-webkit-mask-size:100% 100%;mask-size:100% 100%}
.hb-lens .l{left:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 210 1587' preserveAspectRatio='none'%3E%3Cellipse cx='0' cy='1005' rx='192' ry='1058' transform='rotate(-3.6 0 1005)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 210 1587' preserveAspectRatio='none'%3E%3Cellipse cx='0' cy='1005' rx='192' ry='1058' transform='rotate(-3.6 0 1005)'/%3E%3C/svg%3E")}
.hb-lens .r{right:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 210 1587' preserveAspectRatio='none'%3E%3Cellipse cx='210' cy='582' rx='192' ry='1058' transform='rotate(-3.6 210 582)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 210 1587' preserveAspectRatio='none'%3E%3Cellipse cx='210' cy='582' rx='192' ry='1058' transform='rotate(-3.6 210 582)'/%3E%3C/svg%3E")}
.hbc{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;overflow:visible;isolation:isolate}
.hbw{position:absolute;left:50%;top:50%;width:124vw;height:93.5vh;margin:-46.75vh 0 0 -62vw;overflow:hidden;cursor:pointer;rotate:-4deg}
.hbi{position:absolute;left:-1.6%;width:103.2%;top:-18%;height:136%}
.hbi>*{width:100%;height:100%;object-fit:cover}
.hbw::after{content:"";position:absolute;inset:0;background:rgba(5,7,13,.38)}
.hbt{position:relative;z-index:2;text-align:center;pointer-events:none;padding:0 6vw}
.hbt h2 .lw{display:inline-block;overflow:hidden;vertical-align:top;padding:.04em 0}
.hbt h2 .c{display:inline-block}
.hbt h2{font-weight:400;text-transform:uppercase;font-size:min(8.4vw,14vh);line-height:.98;letter-spacing:-.035em;color:#fff}
.hbt p{text-shadow:0 1px 12px rgba(0,0,0,.6);margin:2.4vh auto 0;max-width:44ch;font-size:clamp(14px,1.15vw,18px);line-height:1.4;font-weight:600;color:#e9ecf5}
.pill{pointer-events:auto;margin-top:3.2vh;display:inline-flex;align-items:center;gap:12px;padding:8px 8px 8px 20px;min-height:44px;border:1px solid rgba(255,255,255,.7);border-radius:999px;font-family:var(--lab);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(5,7,13,.25);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .25s,color .25s}
.pill i{width:28px;height:28px;border-radius:50%;background:#fff;color:var(--bg);display:grid;place-items:center}
.pill svg{width:14px;height:14px}
.pill:hover,.pill:focus-visible{background:#fff;color:var(--bg)}
.pill:hover i,.pill:focus-visible i{background:var(--acc);color:#fff}
.crew{position:relative;z-index:3;padding:16vh 3vw 16vh;background:var(--bg);display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:end}
.crew h3{font-weight:800;text-transform:uppercase;font-size:clamp(30px,4vw,70px);line-height:.9;letter-spacing:-.04em;margin-top:14px}
.crew p{color:var(--mute);line-height:1.55;max-width:460px}
.cta{position:relative;z-index:3;padding:10vh 3vw 16vh;background:var(--bg)}
.cta h2{font-weight:800;text-transform:uppercase;font-size:clamp(40px,7vw,124px);line-height:.88;letter-spacing:-.045em;max-width:13ch}
.cta .row{display:flex;flex-wrap:wrap;gap:28px;align-items:center;margin-top:48px}
.cta p{color:var(--mute);max-width:420px;line-height:1.5}
footer{position:relative;z-index:3;border-top:1px solid var(--line);padding:34px 3vw 40px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;color:var(--dim);font-family:var(--lab);font-size:12px;background:var(--bg)}

/* CASE */
#case{position:relative;z-index:5;background:var(--bg)}
#case[hidden]{display:none}
.B{font-family:'Montserrat',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.045em;line-height:.86}
.c-rail{position:fixed;left:16px;top:84px;bottom:16px;width:3px;background:var(--line);z-index:40;border-radius:3px;overflow:hidden;display:none}
body.in-case .c-rail{display:block}
.c-rail i{position:absolute;inset:0;background:var(--k2,var(--acc));transform:scaleY(0);transform-origin:top}
#case{--k1:#0c1f5e;--k2:#2d6bff;--k3:#08122e;--cf:'Montserrat',sans-serif}
.T{font-family:var(--cf);font-weight:600;text-transform:uppercase;line-height:.86;letter-spacing:-.04em}
.cf-cond .T{letter-spacing:.005em;line-height:.84}
/* hero */
.c-scene{position:relative;height:100vh;overflow:hidden;background:var(--bg)}
.rg,.L{position:absolute;inset:0;overflow:hidden}
.rg{will-change:transform,clip-path;transform:translateZ(0)}
.rg-v>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rg-b{background:var(--k2)}
.g2 .s0 .rg-v::after{content:"";position:absolute;inset:0;background:#05070d;opacity:var(--cutdim,0);pointer-events:none}
.rg-b::before{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(100deg,transparent 0 46px,rgba(5,7,13,.14) 46px 48px);transform:skewX(-8deg)}
.ph-txt{position:absolute;left:5vw;right:3vw;top:13vh;color:var(--k2)}
.ph-txt .ln{display:block;white-space:nowrap;overflow:hidden;padding-top:.04em}
.ph-txt .ln .in{display:inline-block}
.rg-tv .ph-txt{color:var(--ink)} .rg-tb .ph-txt{color:var(--bg)}
.c-sub{position:absolute;left:5vw;bottom:7vh;max-width:30vw;z-index:3}
.c-sub p{font-size:clamp(17px,1.6vw,26px);line-height:1.25;color:var(--k2);font-weight:600;letter-spacing:-.015em}
.c-sub .lab{display:block;margin-top:14px}
.c-arrow{position:absolute;right:6vw;bottom:9vh;width:clamp(60px,7vw,120px);color:var(--bg)}
/* brand panel inside #case only — never header.top .brand (logo) */
#case .brand,#case .L.brand{z-index:6;background:var(--k1);clip-path:polygon(100% 0%,100% 0%,100% 100%,114% 100%);transform-origin:50% 50%}
#case .brand .tg,#case .L.brand .tg{position:absolute;left:5vw;top:14vh;max-width:34ch;font-size:clamp(17px,1.5vw,24px);line-height:1.3;font-weight:600;color:#d7e5ff}
#case .brand .mk,#case .L.brand .mk{position:absolute;left:5vw;top:50%;transform:translateY(-46%);white-space:nowrap;color:var(--k2);display:flex;align-items:flex-start}
#case .brand .mk sup,#case .L.brand .mk sup{font-size:.24em;line-height:1;margin:.12em 0 0 .06em}
#case .brand .mq,#case .L.brand .mq{position:absolute;left:0;right:0;bottom:8vh;overflow:hidden;border-top:1px solid rgba(104,164,255,.35);padding-top:2.4vh}
#case .brand .mqt,#case .L.brand .mqt{display:flex;align-items:center;gap:2.2vw;width:max-content;animation:mq 38s linear infinite;color:var(--k2);font-size:clamp(26px,3.2vw,58px)}
#case .brand .mqt i,#case .L.brand .mqt i{width:.22em;height:.22em;border-radius:50%;background:currentColor;opacity:.7}
@keyframes mq{to{transform:translateX(-50%)}}
/* sheets that arrive on top */
.sheet{z-index:7;background:var(--bg);transform-origin:50% 0}
.s-client .intro{position:absolute;left:5vw;right:5vw;top:50%;transform:translateY(-50%);max-width:24ch;font-size:clamp(30px,4.4vw,80px);line-height:1.14;font-weight:600;letter-spacing:-.025em}
.s-client .stats{position:absolute;right:5vw;top:13vh;bottom:12vh;width:50vw;list-style:none;display:flex;flex-direction:column;justify-content:space-between}
.s-client .stats li{display:flex;align-items:baseline;justify-content:flex-end;gap:2vw;border-bottom:1px solid var(--line);padding-bottom:1.2vh}
.s-client .n{font-size:min(15vh,10vw);color:var(--k2);font-variant-numeric:tabular-nums}
.s-client .l{width:11vw;font-size:clamp(13px,1vw,16px);font-weight:600;color:var(--mute);line-height:1.3}
.s-client .src{position:absolute;left:5vw;bottom:12vh;font-size:12px;color:var(--dim)}
.s-chal{z-index:8;background:var(--k3)}
.s-chal .small{position:absolute;left:5vw;top:15vh;font-size:clamp(20px,2vw,34px);font-weight:600;letter-spacing:-.02em;color:#d7e5ff}
.s-chal .big{position:absolute;left:5vw;right:5vw;bottom:10vh;color:var(--k2)}
.s-chal .big .ln{display:block;overflow:hidden;white-space:nowrap}
.s-chal .big .ln .in{display:inline-block}
.s-appr{z-index:9;display:flex;align-items:center}
.s-appr .ap{margin:0 5vw;max-width:22ch;font-size:clamp(34px,4.6vw,86px);line-height:1.04;font-weight:700;letter-spacing:-.035em}
.s-appr .w{opacity:.14}
.s-appr .w.wk{color:var(--k2)}
/* on site */
.cw{position:absolute;left:-15%;width:130%;top:-30%;height:160%;z-index:20;pointer-events:none;visibility:hidden;will-change:transform}
.cw-a{background:var(--k2)}.cw-b{background:var(--k1);display:flex;align-items:center;justify-content:center}
.cw-n{font-family:var(--cf);font-size:min(46vh,30vw);line-height:.8;color:var(--k2);opacity:.9;transform:skewY(7deg)}
.site{z-index:10;clip-path:polygon(0% 112%,64% 104%,100% 116%,100% 100%,0% 100%)}
.site .ph-stack,.site .sp{position:absolute;inset:0;overflow:hidden}
.site .sp{clip-path:inset(100% 0% 0% 0%)}
.site .sp:first-child{clip-path:inset(0% 0% 0% 0%)}
.site .sp>*{width:100%;height:100%;object-fit:cover}
.site .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,13,.78),rgba(5,7,13,.2) 48%,rgba(5,7,13,.55))}
.site .vw{position:absolute;left:4vw;bottom:6vh;transform-origin:left bottom;transform:rotate(-90deg) translate(0,100%);white-space:nowrap;color:var(--ink)}
.site .vline{position:absolute;left:28vw;top:12vh;bottom:8vh;width:1px;background:rgba(242,240,234,.7);transform-origin:top}
.site .hd{position:absolute;left:31vw;top:15vh;width:min(44vw,760px);font-size:clamp(30px,3.5vw,64px);line-height:1.04;letter-spacing:-.03em;font-weight:700}
.site .steps{position:absolute;left:31vw;right:5vw;bottom:9vh;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:2vw}
.site .steps li{opacity:.45}
.site .steps .bar{display:block;height:2px;background:rgba(242,240,234,.3);margin-bottom:16px;overflow:hidden}
.site .steps .bar i{display:block;height:100%;background:var(--k2);transform:scaleX(0);transform-origin:left}
.site .steps .t{font-size:clamp(16px,1.4vw,24px);font-weight:600;letter-spacing:-.01em}
/* horizontal */
.h-wrap{position:relative;height:100vh;overflow:hidden;background:var(--bg)}
.h-track{display:flex;height:100%;align-items:center;will-change:transform}
.shoot .h-track{gap:0}
.a-head{flex:0 0 46vw;padding:0 4vw 0 5vw}
.a-head h2{font-size:min(11vh,5.6vw);color:var(--k2);line-height:.9}
.a-head p{margin-top:4vh;max-width:30ch;font-size:clamp(17px,1.5vw,24px);line-height:1.35;font-weight:500;color:#d7e5ff}
.a-strip{flex:0 0 62vw;position:relative;height:100%;transform-origin:100% 50%}
.a-strip .sf{position:absolute;overflow:hidden;box-shadow:0 24px 60px -20px rgba(0,0,0,.7)}
.a-strip .sf>*{width:100%;height:100%;object-fit:cover}
.a-strip .f0{left:2vw;top:16vh;width:15vw;height:44vh}.a-strip .f1{left:14vw;top:46vh;width:17vw;height:34vh}
.a-strip .f2{left:27vw;top:12vh;width:12vw;height:40vh}.a-strip .f3{left:37vw;top:42vh;width:16vw;height:38vh}.a-strip .f4{left:47vw;top:18vh;width:13vw;height:32vh}
.a-site{flex:0 0 96vw;position:relative;height:100%}
.browser{position:absolute;left:4vw;top:14vh;width:62vw;aspect-ratio:16/10.6;background:#0e121d;border-radius:10px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
.browser .bar{height:34px;display:flex;align-items:center;gap:7px;padding:0 14px;background:#161b29}
.browser .bar i{width:10px;height:10px;border-radius:50%;background:#2a3146}
.browser .bar span{margin-left:14px;font-size:12px;color:var(--mute);font-family:var(--lab)}
.browser .scr{position:absolute;top:34px;left:0;right:0;bottom:0;overflow:hidden}
.browser .scr>*{width:100%;height:100%;object-fit:cover;object-position:top}
.phone{position:absolute;width:15vw;min-width:150px;aspect-ratio:9/19.5;border-radius:28px;background:#0e121d;padding:8px;box-shadow:0 40px 90px -30px rgba(0,0,0,.85)}
.phone .scr{position:relative;width:100%;height:100%;border-radius:21px;overflow:hidden;background:#fff}
.phone .scr>img{width:100%;height:100%;object-fit:cover;object-position:top}
.a-site .phone{left:60vw;top:30vh}
.shoot .cap{position:absolute;max-width:26ch;font-size:clamp(18px,1.6vw,26px);line-height:1.3;font-weight:600;letter-spacing:-.015em}
.a-site .cap{left:79vw;top:22vh}
.a-ig{flex:0 0 78vw;position:relative;height:100%}
.a-ig .phone{left:10vw;top:12vh}
.a-ig .cap{left:32vw;top:56vh}
.phone.ig .scr{background:#05070d;padding:12% 6% 6%}
.igh{font-family:var(--lab);font-size:11px;color:var(--ink);margin-bottom:10px}
.ig .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.ig .grid>div{aspect-ratio:1;overflow:hidden}
.ig .grid .ph{background:#1a2138;border-color:#2e3753}
.ig .grid .ph::after{display:none}
.ig .grid .ph i{display:none}
.ig .grid .ph span{font-size:9px;color:#c3c9d8}
/* stacked chapters */
.stack{position:relative}
.pc{position:sticky;top:0;height:100vh;overflow:hidden}
.pci{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;background:var(--bg);transform-origin:50% 0}
.pc.alt .pci{background:var(--k3)}
.pc .tx{align-self:end;padding:0 4vw 12vh 5vw}
.pc h3{font-size:min(12vh,6.2vw);color:var(--k2)}
.pc p{margin-top:3vh;max-width:32ch;font-size:clamp(17px,1.5vw,24px);line-height:1.4;font-weight:500;color:#d7e5ff}
.pc .im{position:relative;overflow:hidden}
.pc .im .inn{position:absolute;inset:0}
.pc .im .inn>*{width:100%;height:100%;object-fit:cover}
/* gallery */
.gal .h-track{gap:2vw;padding:0 5vw}
.gal .gh{flex:0 0 34vw}
.gal .gh h3{font-size:min(16vh,7.6vw);color:var(--k2)}
.gal .g{position:relative;flex:0 0 auto;overflow:hidden}
.gal .g .inn{position:absolute;inset:0 -12%}
.gal .g .inn>*{width:100%;height:100%;object-fit:cover}
.g.a{width:24vw;height:64vh}.g.b{width:36vw;height:44vh;align-self:flex-start;margin-top:13vh}.g.c{width:20vw;height:40vh;align-self:flex-end;margin-bottom:13vh}
/* film */
.film{height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.film .fr{position:relative;width:100vw;height:100vh;overflow:hidden;cursor:none}
.film .fr>video,.film .fr>.ph,.film .fr>img{width:100%;height:100%;object-fit:cover}
.film .play{position:absolute;left:50%;top:50%;width:140px;height:140px;margin:-70px 0 0 -70px;border-radius:50%;background:var(--k2);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--lab);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
/* services / next / ask */
.serv{background:var(--k1);padding:16vh 5vw 14vh;display:grid;grid-template-columns:1fr 1.3fr;gap:4vw;align-items:start}
.serv h2{font-size:min(14vh,7vw);color:var(--k2)}
.serv ul{list-style:none}
.serv li{overflow:hidden;border-bottom:1px solid rgba(104,164,255,.3)}
.serv li span{display:block;font-size:clamp(30px,3.8vw,68px);color:#d7e5ff;padding:.12em 0 .04em}
.serv .res{margin-top:6vh}
.serv .res .num{font-size:min(20vh,11vw);color:var(--ink)}
.serv .res p{margin-top:10px;max-width:26ch;color:#d7e5ff;font-weight:500}
.serv .live{display:flex;align-items:center;gap:.2em}
.serv .live i{width:.2em;height:.2em;border-radius:50%;background:var(--k2);animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.25}}
.nxt{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:0 5vw;cursor:pointer;border-top:1px solid var(--line)}
.nxt .nm{margin-top:3vh;white-space:nowrap;color:var(--ink);transition:color .3s}
.nxt:hover .nm,.nxt:focus-visible .nm{color:var(--k2)}
.nxt p{margin-top:3vh;color:var(--mute);font-size:18px}
.c-ask{padding:16vh 5vw;display:flex;flex-wrap:wrap;gap:30px;justify-content:space-between;align-items:end;background:var(--surf)}
.c-ask h3{font-size:min(16vh,8vw);max-width:12ch;color:var(--ink)}
.c-ask p{color:var(--mute);max-width:380px;margin-bottom:22px;line-height:1.5}
@media (max-width:820px){
  #case .brand .tg,#case .L.brand .tg{max-width:70vw}
  .s-client .intro{width:88vw}.s-client .stats{left:5vw;width:auto;top:40vh}
  .site .vline,.site .vw{display:none}.site .hd{left:5vw;width:88vw}.site .steps{left:5vw;grid-template-columns:1fr}
  .pci{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.pc .im{grid-row:1}
  .serv{grid-template-columns:1fr}
}

/* ===== G-Group horizontal (Figma frames, 1440×900 grid) ===== */
.gx{position:relative;height:100vh;overflow:hidden;background:#05070d}
.gx-track{display:flex;height:100%;will-change:transform}
.gp{position:relative;flex:0 0 100vw;height:100vh;overflow:hidden;background:#05070d;color:#f2f0ea}
.gp img,.gp video{display:block;width:100%;height:100%;object-fit:cover}
.gp .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
.gp .w>span{display:inline-block}
.hT{font-family:'Hanken Grotesk',sans-serif;font-weight:300;text-transform:uppercase;letter-spacing:-.02em;line-height:.92}
.bT{font-family:'Montserrat',sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1.05}
.gp .k{position:absolute;font-family:'Montserrat',sans-serif;font-weight:600;font-size:max(11px,.9vw);letter-spacing:.08em;text-transform:uppercase;color:#aab1c5}
/* 01 */
.p01 .vid{position:absolute;inset:0;background:#141826}
.p01 .door{position:absolute;top:0;bottom:0;width:29.86vw;background:#05070d;z-index:1}
.p01 .door.l{left:0}.p01 .door.r{right:0}
.p01 .k{left:3.33vw;top:51.5vh;z-index:2}
.p01 .t1{position:absolute;left:3.33vw;right:3.33vw;top:56vh;z-index:2;font-size:min(7.6vw,12.2vh)}
/* 02 */
.p02 .tl{position:absolute;left:3.33vw;font-family:'Montserrat',sans-serif;font-weight:700;font-size:min(5.3vw,8.5vh);letter-spacing:-.035em;line-height:1.1;overflow:hidden}
.p02 .tl:nth-child(1){top:20.4vh}.p02 .tl:nth-child(2){top:39.1vh}.p02 .tl:nth-child(3){top:57.8vh}
.p02 .tl span{display:inline-block}
/* 03 */
.p03 .in{position:absolute;left:3.33vw;top:20.4vh;width:37.9vw;font-family:'Hanken Grotesk',sans-serif;font-size:max(14px,1.15vw);line-height:1.5;color:#aab1c5}
.p03 .ch{position:absolute;left:3.33vw;top:36.4vh;width:45.8vw;font-family:'Hanken Grotesk',sans-serif;font-weight:300;font-size:min(3.05vw,5vh);line-height:1.12;letter-spacing:-.01em}
.p03 .stk{position:absolute;left:50.83vw;top:13.3vh;width:45.83vw;height:73.8vh}
.p03 .si{position:absolute;left:0;right:0;height:84.5%;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.p03 .s0{top:0}.p03 .s1{top:6.6%}.p03 .s2{top:13.3%}
/* 04 */
.p04 .ap{position:absolute;left:3.33vw;right:3.33vw;top:24.9vh;font-family:'Hanken Grotesk',sans-serif;font-weight:300;font-size:min(4.05vw,6.6vh);line-height:1.12;letter-spacing:-.015em}
.p04 .dim{color:#646c82}.p04 .acc{color:#3a6cff}
/* 05 06 */
.p05 .vid,.p06 .vid{position:absolute;top:0;bottom:0;left:-11vw;width:125vw}
.p05 .ov,.p06 .ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,13,.82),rgba(5,7,13,.45))}
.p05 .bT{position:absolute;left:3.33vw;top:33.8vh;width:53.75vw;font-size:min(5vw,8vh)}
.p06 .bT{position:absolute;left:3.33vw;top:22.2vh;width:61.7vw;font-size:min(4.2vw,6.8vh)}
.p06 .row{position:absolute;left:3.33vw;top:71.1vh;display:flex;gap:1.67vw}
.p06 .ri{width:22.08vw;height:20.4vh;overflow:hidden;border:1px solid rgba(242,240,234,.15)}
/* 07 */
.p07 .mid{position:absolute;left:19.17vw;top:13.3vh;width:61.67vw;height:66.7vh;overflow:hidden;background:#141826}
.p07 .cap{position:absolute;left:3.33vw;top:84.4vh;width:85.4vw;font-family:'Montserrat',sans-serif;font-weight:600;font-size:min(2vw,3.3vh);line-height:1.3}
/* 08 */
.p08 .cap{position:absolute;left:3.33vw;top:13.3vh;font-family:'Montserrat',sans-serif;font-weight:600;font-size:min(2.1vw,3.4vh)}
.p08 .brw{position:absolute;left:3.33vw;top:33.8vh;width:53.75vw;height:56vh;background:#141826;overflow:hidden}
.p08 .brw b{position:absolute;left:0;right:0;top:0;height:3.6vh;background:#1f2537;display:flex;align-items:center;gap:6px;padding:0 12px;z-index:1}
.p08 .brw b i{width:8px;height:8px;border-radius:50%;background:#3a4257}
.p08 .brw b span{margin-left:10px;font:500 11px 'Montserrat',sans-serif;color:#aab1c5}
.p08 .brw img{position:absolute;top:3.6vh;height:calc(100% - 3.6vh);object-position:top}
.p08 .phn{position:absolute;left:58.75vw;top:26.7vh;width:22.08vw;height:62.2vh;border-radius:18px;overflow:hidden;border:6px solid #141826;background:#141826}
.p08 .phn img{object-position:top}
.p08 .ig{position:absolute;left:82.5vw;width:14.17vw;height:30.2vh;overflow:hidden}
.p08 .ig.a{top:26.7vh}.p08 .ig.b{top:58.7vh}
.p08 .ig .ph span{font-size:max(10px,.75vw)}
/* 09–11 */
.pk .cnt{position:absolute;left:3.33vw;top:24.9vh;font-family:'Montserrat',sans-serif;font-weight:600;font-size:max(11px,.85vw);color:#3a6cff}
.pk .hT{position:absolute;left:3.33vw;top:29.3vh;width:45.8vw;font-size:min(5vw,8vh)}
.pk .pt{position:absolute;left:3.33vw;width:37.9vw;font-family:'Hanken Grotesk',sans-serif;font-size:max(14px,1.25vw);line-height:1.45;color:#aab1c5}
.pk0 .pt{top:45.3vh}.pk1 .pt,.pk2 .pt{top:51.6vh}
.pk .big{position:absolute;left:50vw;top:0;width:50vw;height:100vh;overflow:hidden;background:#141826}
.pk2 .big img{object-position:left top}
.pk .strip{position:absolute;left:50vw;top:84.4vh;width:50vw;height:15.6vh;overflow:hidden;z-index:1;border-top:2px solid #05070d}
/* 12 */
.p12{flex-basis:178vw}
.p12 > *{position:absolute;top:24.9vh;height:62.2vh;overflow:hidden}
.p12 .g0{left:3.33vw;width:37.9vw}.p12 .g1{left:42.9vw;width:56.9vw}.p12 .g2{left:101.4vw;width:41.25vw}.p12 .g3{left:144.3vw;width:30vw}
/* 13 */
.p13{cursor:none}
.p13 .vid{position:absolute;inset:0;background:#141826}
.p13 .play{position:absolute;left:50%;top:50%;width:min(11.1vw,160px);height:min(11.1vw,160px);margin:max(-5.55vw,-80px) 0 0 max(-5.55vw,-80px);border-radius:50%;border:1px solid rgba(242,240,234,.8);display:grid;place-items:center;font:700 max(10px,.85vw) 'Montserrat',sans-serif;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:rgba(5,7,13,.2)}
/* 14 */
.p14 .k{left:3.33vw;top:22.2vh}
.p14 ul{position:absolute;left:3.33vw;top:26.7vh;list-style:none}
.p14 li{overflow:hidden}
.p14 li span{display:block;font-family:'Hanken Grotesk',sans-serif;font-weight:300;text-transform:uppercase;font-size:min(4.4vw,7.1vh);line-height:1.06;color:#3a6cff;letter-spacing:-.01em}
/* 15 */
.p15{cursor:pointer}
.p15 .k{left:3.33vw;top:20.4vh}
.p15 .nm{position:absolute;left:3.33vw;right:3.33vw;top:24.9vh;font-size:min(7.2vw,11.5vh);transition:color .3s}
.p15:hover .nm,.p15:focus-visible .nm{color:#3a6cff}
.p15 .nv{position:absolute;left:0;right:0;top:53.3vh;bottom:0;overflow:hidden;background:#141826}
/* progress */
.gx-ui{position:absolute;left:3.33vw;right:3.33vw;bottom:3.5vh;display:flex;align-items:center;gap:18px;z-index:5;mix-blend-mode:difference;color:#fff;font:600 11px 'Montserrat',sans-serif;letter-spacing:.1em}
.gx-bar{flex:1;height:1px;background:rgba(255,255,255,.3);position:relative}
.gx-bar i{position:absolute;left:0;right:0;top:-1px;height:3px;background:#fff;transform:scaleX(0);transform-origin:left}
@media (max-width:820px){
  .p03 .ch{width:88vw;top:30vh}.p03 .stk{left:5vw;width:90vw;top:56vh;height:38vh}
  .pk .hT{width:44vw}.p06 .row{display:none}
}

/* overlays */
.wipe{position:fixed;inset:0;z-index:100;pointer-events:none}
.wipe{visibility:hidden}
.wipe>div{position:absolute;inset:0;clip-path:polygon(0 var(--t1,100%),30% var(--t2,100%),70% var(--t3,100%),100% var(--t4,100%),100% var(--b4,100%),70% var(--b3,100%),30% var(--b2,100%),0 var(--b1,100%))}
.wipe .a{background:#2d6bff}
.wipe .b{background:#05070d;display:flex;align-items:center;padding-left:9vw}
.wipe .b>span{font-family:'Montserrat',sans-serif;font-weight:400;text-transform:uppercase;font-size:min(8vw,14vh);line-height:1;letter-spacing:-.035em;color:#f2f0ea}
.wipe .lw{display:inline-block;overflow:hidden;padding-bottom:.06em;vertical-align:top}
.wipe .c{display:inline-block}
.flip{position:fixed;z-index:96;overflow:hidden;pointer-events:none}
.flip>*{width:100%;height:100%;object-fit:cover}
.cursor{position:fixed;left:0;top:0;z-index:90;width:88px;height:88px;margin:-44px 0 0 -44px;border-radius:50%;background:var(--ink);color:var(--bg);display:flex;align-items:center;justify-content:center;font-family:var(--lab);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;pointer-events:none;transform:scale(0);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.cursor.on{transform:scale(1)}
@media (hover:none){.cursor{display:none}}
@media (max-width:820px){
  .nav .links{display:none}
  .list-wrap{width:auto;right:3vw;justify-content:flex-end;padding-bottom:8vh}
  .case-item{font-size:32px}
  .crew{grid-template-columns:1fr}
}
/* ===== G-Group v2 — Monument-style stacked scenes, Argotech type ===== */
.g2{position:relative;background:#05070d;color:#f2f0ea;font-family:'Montserrat',sans-serif}
.g2-pin{position:relative;height:100vh;overflow:hidden}
.g2 .sc{position:absolute;inset:0;overflow:hidden;background:#05070d;isolation:isolate;z-index:0}
.g2 .sc,.g2 .s5 .pn{will-change:transform,clip-path;transform:translateZ(0)}
.g2 .sc.v{clip-path:polygon(0 var(--y1,100%),30% var(--y2,100%),70% var(--y3,100%),100% var(--y4,100%),100% 100%,0 100%)}
.g2 .sc.h{clip-path:polygon(var(--x1,100%) 0,100% 0,100% 100%,var(--x4,100%) 100%,var(--x3,100%) 70%,var(--x2,100%) 30%)}
.g2 .w{position:absolute;inset:0;transform-origin:50% 0}
.g2 .veil{position:absolute;inset:0;background:#05070d;opacity:0;pointer-events:none;z-index:9}
.g2 .bg{position:absolute;inset:-6%;will-change:transform}
.g2 .bg img,.g2 .bg video,.g2 .ph img,.g2 .ph video{width:100%;height:100%;object-fit:cover;display:block}
.g2 .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,7,13,.55) 0%,rgba(5,7,13,.05) 35%,rgba(5,7,13,.25) 60%,rgba(5,7,13,.88) 100%)}
.g2 .shade.l{background:linear-gradient(90deg,rgba(5,7,13,.9) 0%,rgba(5,7,13,.55) 45%,rgba(5,7,13,.1) 100%)}
.g2 .lb{font-weight:700;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#9aa2b6}
.g2 .lb b{color:var(--a,#2d6bff);font-weight:700}
.g2 .tt{font-weight:400;text-transform:uppercase;font-size:min(6vw,10.4vh);line-height:1;letter-spacing:-.035em;margin:0}
.g2 .st{font-weight:400;font-size:min(3.1vw,5.6vh);line-height:1.14;letter-spacing:-.025em;margin:0}
.g2 .bd{font-weight:300;font-size:max(15px,1.15vw);line-height:1.6;color:#c9cedb;margin:0}
.g2 .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.g2 .ln>span{display:block;will-change:transform}
.g2 .acc{color:var(--a,#2d6bff)}
.g2 .hl{display:block;height:1px;background:rgba(242,240,234,.32);transform-origin:0 50%}
.g2 .vl{position:absolute;width:1px;background:rgba(242,240,234,.25);transform-origin:50% 0}
.g2 .pad{position:absolute;left:9vw;right:9vw}
.g2 .ph{position:absolute;overflow:hidden;background:#0b0e17}
.g2 .ph>.in{position:absolute;inset:-8%;will-change:transform}

/* 00 hero */
.g2 .s0 .bg{inset:0}
.g2 .s0 .pad{bottom:7vh}
.g2 .s0 .row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.2vh}
.g2 .s0 .tt{font-size:min(6vw,11vh);line-height:.98}
.g2 .s0 .tt .ln>span,.g2 .s2 .tt .ln>span,.g2 .s4 .tt .ln>span{white-space:nowrap}
.g2 .s0 .meta{display:flex;justify-content:space-between;align-items:flex-start;gap:6vw;margin-top:3vh}
.g2 .s0 .meta .bd{max-width:30ch;color:#e4e6ee}
.g2 .s0 .cue{display:flex;align-items:center;gap:12px}
.g2 .s0 .cue i{width:46px;height:1px;background:#f2f0ea;transform-origin:0 50%;animation:g2cue 2.2s ease-in-out infinite}
@keyframes g2cue{0%{transform:scaleX(0)}50%{transform:scaleX(1);transform-origin:0 50%}51%{transform-origin:100% 50%}100%{transform:scaleX(0);transform-origin:100% 50%}}

/* 01 intro */
.g2 .s1 .ph{right:0;top:0;bottom:0;width:56vw;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)}
.g2 .s1 .txt{position:absolute;left:9vw;top:50%;transform:translateY(-50%);width:33vw}
.g2 .s1 .txt .hl{margin:2.4vh 0 3.4vh}
.g2 .s1 .st{font-size:min(2.6vw,4.8vh)}
.g2 .s1 .cap{position:absolute;right:3vw;bottom:5vh;color:#e4e6ee}

/* 02 challenge — g2-kicker not .pad.top (home.css .top adds side padding !important) */
.g2 .s2 .g2-kicker{
  position:absolute;left:9vw;right:auto;top:16vh;bottom:auto;
  max-width:min(22ch,42vw);margin:0;padding:0;
  text-align:left;z-index:5;
  font-weight:400;font-size:min(3.1vw,5.6vh);line-height:1.14;letter-spacing:-.025em;
  color:#f2f0ea;
}
.g2 .s2 .pad.bot{bottom:8vh;text-align:left}
.g2 .s2 .tt{font-size:min(5.6vw,9.6vh);text-align:left}
.g2 .s2 .pad.bot .hl{margin-bottom:3vh}

/* 03 approach */
.g2 .s3 .txt{position:absolute;left:9vw;top:50%;transform:translateY(-50%);width:46vw}
.g2 .s3 .ap{font-weight:400;font-size:min(3.3vw,6vh);line-height:1.14;letter-spacing:-.025em;margin:2.6vh 0 0}
.g2 .s3 .ap .wd{opacity:.16}
.g2 .s3 .ph{right:7vw;top:12vh;bottom:12vh;width:30vw}
.g2 .s3 .vl{left:61vw;top:12vh;bottom:12vh}

/* 04 on site */
.g2 .s4 .pad{bottom:9vh;text-align:left}
.g2 .s4 .tt{font-size:min(6.4vw,11vh)}
.g2 .s4 .pad .hl{margin-bottom:3vh}

/* 05 steps */
.g2 .s5 .pn{position:absolute;inset:0;overflow:hidden;background:#05070d;clip-path:polygon(var(--x1,100%) 0,100% 0,100% 100%,var(--x4,100%) 100%,var(--x3,100%) 70%,var(--x2,100%) 30%)}
.g2 .s5 .pn.p0{clip-path:none}
.g2 .s5 .pn .pad{bottom:9vh}
.g2 .s5 .pn .st{font-size:min(4.6vw,8vh);max-width:18ch}
.g2 .s5 .pn .hl{margin-bottom:3vh}
.g2 .s5 .ctr{position:absolute;right:9vw;top:15vh;z-index:5;display:flex;gap:14px;align-items:center}
.g2 .s5 .ctr .bar{width:120px;height:1px;background:rgba(242,240,234,.25);position:relative;overflow:hidden}
.g2 .s5 .ctr .bar i{position:absolute;inset:0;background:#f2f0ea;transform-origin:0 50%;transform:scaleX(.333)}
.g2 .s5 .head{position:absolute;left:9vw;top:15vh;z-index:5}

/* 06 website */
.g2 .s6{background:#070a12}
.g2 .s6 .cap{position:absolute;left:9vw;top:15vh;width:50vw}
.g2 .s6 .cap .st{font-size:min(2.6vw,4.6vh)}
.g2 .s6 .cap .hl{margin-top:3vh}
.g2 .brw{position:absolute;left:9vw;top:39vh;width:min(52vw,80vh);height:calc(min(52vw,80vh)*.625 + 30px);background:#0b0e17;border:1px solid rgba(242,240,234,.14);overflow:hidden}
.g2 .brw .bar{height:30px;display:flex;align-items:center;gap:7px;padding:0 12px;border-bottom:1px solid rgba(242,240,234,.1);background:#0d111b}
.g2 .brw .bar i{width:8px;height:8px;border-radius:50%;background:#2a3042}
.g2 .brw .bar span{margin-left:12px;font-size:11px;font-weight:600;letter-spacing:.06em;color:#8f97ab}
.g2 .brw .scr{position:absolute;left:0;right:0;top:30px;bottom:0;overflow:hidden}
.g2 .brw .scr img{width:100%;height:100%;object-fit:cover;object-position:50% 0;display:block}
.g2 .mob{position:absolute;left:68vw;top:30vh;width:min(15vw,27vh);aspect-ratio:9/19;border-radius:28px;border:1px solid rgba(242,240,234,.18);background:#0b0e17;overflow:hidden;padding:8px}
.g2 .mob .scr{position:absolute;inset:8px;border-radius:21px;overflow:hidden}
.g2 .mob .scr img{width:100%;height:100%;object-fit:cover;object-position:50% 0;display:block}
.g2 .fly{position:absolute;width:13vw;aspect-ratio:3/2;overflow:hidden;z-index:4}
.g2 .fly img{width:100%;height:100%;object-fit:cover}
.g2 .s6 .note{position:absolute;left:66vw;top:15vh}

/* 07 instagram */
.g2 .s7{background:var(--kd,#0a1124)}
.g2 .s7 .cap{position:absolute;left:9vw;top:50%;transform:translateY(-50%);width:30vw}
.g2 .s7 .cap .hl{margin:0 0 3vh}
.g2 .s7 .mob{left:47vw;top:13vh;width:min(19vw,35vh)}
.g2 .igh{display:flex;align-items:center;gap:8px;padding:14px 10px 10px;font-size:11px;font-weight:700}
.g2 .igh i{width:26px;height:26px;border-radius:50%;background:var(--a,#2d6bff) center/cover}
.g2 .igg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.g2 .igg div{aspect-ratio:1;overflow:hidden;background:#141826}
.g2 .igg img{width:100%;height:100%;object-fit:cover}
.g2 .s7 .col{position:absolute;top:0;width:12vw;display:flex;flex-direction:column;gap:1.4vw;will-change:transform}
.g2 .s7 .col div{aspect-ratio:4/5;overflow:hidden}
.g2 .s7 .col img{width:100%;height:100%;object-fit:cover}
.g2 .s7 .c1{left:72vw}.g2 .s7 .c2{left:86vw}

/* 08–10 key points */
.g2 .pt .no{display:flex;gap:16px;align-items:center}
.g2 .pt .tt{font-size:min(5.2vw,9vh);margin:3vh 0 2.6vh}
.g2 .pt .bd{max-width:34ch}
.g2 .s8 .txt{position:absolute;left:9vw;top:50%;transform:translateY(-50%);width:36vw}
.g2 .s8 .ph{left:52vw;right:0;top:0;bottom:0;clip-path:polygon(0 0,100% 0,100% 100%,7% 100%)}
.g2 .s9 .txt{position:absolute;left:9vw;top:13vh;width:82vw;display:flex;justify-content:space-between;align-items:flex-end;gap:5vw}
.g2 .s9 .txt .tt{margin:2.4vh 0 0}
.g2 .s9 .txt .bd{flex:0 0 24vw;max-width:none;padding-bottom:.6vh}
.g2 .strip{position:absolute;left:0;top:45vh;height:44vh;display:flex;gap:1.4vw;will-change:transform}
.g2 .strip div{height:100%;overflow:hidden;flex:none}
.g2 .strip img{height:100%;width:100%;object-fit:cover}
.g2 .s10 .txt{position:absolute;left:9vw;top:50%;transform:translateY(-50%);width:31vw}
.g2 .s10 .tt{font-size:min(4.2vw,7.6vh)}
.g2 .s10 .brw{left:44vw;top:50%;width:38vw;height:calc(38vw*.625 + 30px);margin-top:calc((38vw*.625 + 30px)/-2)}
.g2 .s10 .mob{left:76vw;top:calc(50% - 2vh);width:min(11vw,22vh)}

/* 11 services */
.g2 .s11 .bg{opacity:.35}
.g2 .s11 .pad{top:15vh}
.g2 .s11 ul{list-style:none;margin:5vh 0 0;padding:0}
.g2 .s11 li{position:relative;padding:2.1vh 0}
.g2 .s11 li .hl{position:absolute;left:0;right:0;bottom:0}
.g2 .s11 li .ln>span{font-weight:400;text-transform:uppercase;font-size:min(3.4vw,5.6vh);letter-spacing:-.03em;line-height:1}
.g2 .s11 li em{position:absolute;right:0;bottom:2.4vh;font-style:normal}

/* next */
.g2-next{position:relative;height:100vh;overflow:hidden;cursor:pointer;background:#05070d}
.g2-next .bg{position:absolute;inset:0;opacity:.55}
.g2-next .bg img,.g2-next .bg .ph{width:100%;height:100%;object-fit:cover}
.g2-next .pad{position:absolute;left:9vw;right:9vw;bottom:9vh}
.g2-next .tt{font-weight:400;text-transform:uppercase;font-size:min(7.4vw,12.5vh);line-height:.96;letter-spacing:-.035em;margin:2.4vh 0 2vh}
.g2-next .hl{display:block;height:1px;background:rgba(242,240,234,.32);margin-top:2vh}
@media (max-width:900px){
  .g2 .pad{left:5vw;right:5vw}
  .g2 .s1 .ph{width:100vw;top:46vh;clip-path:none}.g2 .s1 .txt{width:90vw;left:5vw;top:12vh;transform:none}
  .g2 .s3 .txt{width:90vw;left:5vw}.g2 .s3 .ph,.g2 .s3 .vl{display:none}
  .g2 .brw{width:90vw;left:5vw}.g2 .s6 .mob,.g2 .s6 .note,.g2 .s10 .mob{display:none}
  .g2 .s7 .col{display:none}.g2 .s7 .cap{width:90vw;left:5vw;top:12vh;transform:none}.g2 .s7 .mob{left:25vw;top:40vh;width:50vw}
  .g2 .s8 .ph{left:0;top:52vh;clip-path:none}.g2 .s8 .txt{top:12vh;transform:none;width:90vw;left:5vw}
  .g2 .s10 .txt{width:90vw;left:5vw;top:12vh;transform:none}.g2 .s10 .brw{left:5vw;top:50vh;width:90vw;height:38vh}
  /* Titoli challenge: niente nowrap — evita taglio a destra (es. “in cui la storia doveva…”) */
  .g2 .s0 .tt,.g2 .s2 .tt,.g2 .s4 .tt,.g2 .pt .tt,.g2-next .tt{max-width:90vw}
  .g2 .s0 .tt .ln>span,.g2 .s2 .tt .ln>span,.g2 .s4 .tt .ln>span{white-space:normal;max-width:90vw;overflow-wrap:anywhere;word-break:normal}
  .g2 .s2 .pad.bot .tt{width:100%;max-width:90vw}
  /* Kicker alto + intro/steps: leggibili su phone (base usa min(3.1vw) ≈ 12px) */
  .g2 .st,
  .g2 .s1 .st,
  .g2 .s2 .g2-kicker,
  .g2 .s6 .cap .st,
  .g2 .s7 .cap .st,
  .g2 .s5 .pn .st,
  .g2 .s5 .pn .st.long{
    font-size:clamp(22px,5.6vw,32px)!important;
    line-height:1.28!important;
    max-width:90vw;
  }
  .g2 .s2 .g2-kicker{
    left:5vw!important;right:5vw!important;top:12vh!important;
    max-width:none!important;width:auto!important;
  }
  .g2 .bd,.g2 .s0 .meta .bd,.g2 .pt .bd{font-size:clamp(16px,4.2vw,20px);line-height:1.55;max-width:36ch}
  .g2 .s4 .sub{font-size:clamp(16px,4.2vw,22px);max-width:90vw}
  .g2 .s11 li .ln>span{font-size:clamp(18px,5vw,28px);white-space:normal}
}

/* ===== Argotech header (matches argotech.digital: transparent, 130px gutters, 10.5px bold caps, square blue CTA) ===== */
.nav{top:0;left:0;right:0;gap:30px;padding:30px 9vw 22px;border-radius:0;border:0;background:linear-gradient(rgba(5,7,13,.55),rgba(5,7,13,0));backdrop-filter:none;-webkit-backdrop-filter:none}
.nav .logo{display:flex;align-items:center;gap:9px;color:#f2f0ea;font-family:'Montserrat',sans-serif;font-size:21px;letter-spacing:.01em;line-height:1}
.nav .logo svg{width:30px;height:30px}
.nav .logo b{font-weight:600}.nav .logo span{font-weight:300;margin-left:-6px}
.nav .links{gap:30px}
.nav .links a{font-family:'Montserrat',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#f2f0ea;opacity:.82}
.nav .links a:hover,.nav .links a[aria-current]{opacity:1;color:#f2f0ea}
.nav .back{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#f2f0ea}
.nav .lang{border:0;background:none;gap:2px}
.nav .lang button{border-radius:0;font-size:10.5px;font-weight:700;letter-spacing:.12em;padding:6px 8px;color:#8f97ab;background:none}
.nav .lang button[aria-pressed="true"]{color:#f2f0ea;background:none;box-shadow:inset 0 -1px 0 #2d6bff}
.nav .btn{border-radius:0;background:#2d6bff;color:#f2f0ea;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:10px 16px;min-height:36px}
/* index title in Argotech H1 style */
.ht{left:9vw;top:50%;transform:translateY(-50%);text-align:left;max-width:82vw}
.ht1{font-family:'Montserrat',sans-serif;font-weight:400;font-size:min(5.6vw,10.4vh);line-height:1.04;letter-spacing:-.035em;transform-origin:0 50%}
.ht1 .hrow{display:block}
.ht2{font-family:'Montserrat',sans-serif;font-weight:300;font-size:clamp(15px,1.25vw,20px);letter-spacing:0;color:#c9cedb;margin-top:3.4vh}
.jt .l1,.jt .l2{font-weight:400;letter-spacing:-.035em}
.hbt p{font-weight:300}
.pill{border-radius:0;border:0;background:#2d6bff;padding:10px 10px 10px 18px;font-size:10.5px;letter-spacing:.14em}
.pill i{border-radius:0!important;background:transparent!important;color:#fff}
.pill:hover i,.pill:focus-visible i{color:var(--bg)}
.c-ask h3{font-family:'Montserrat',sans-serif!important;font-weight:400!important;text-transform:uppercase;letter-spacing:-.035em!important;line-height:1.02!important}
.c-ask p{font-weight:300}
.c-ask .btn,.c-ask .btn.acc{border-radius:0;background:#2d6bff;color:#f2f0ea;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:12px 18px}
.circ{position:fixed;inset:0;z-index:99;display:none;background:#05070d;pointer-events:none;overflow:hidden}
.circ>img,.circ>.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.g2 .brw.nobar{height:calc(min(52vw,80vh)*.625)}
.g2 .s10 .brw.nobar{height:calc(38vw*.625);margin-top:calc(38vw*.625/-2)}
.g2 .brw.nobar .scr{top:0}
.g2 .ytc{position:absolute;inset:0;display:block;color:#f2f0ea;text-decoration:none}
.g2 .ytc img{width:100%;height:100%;object-fit:cover;filter:brightness(.72)}
.g2 .ytp{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(242,240,234,.92);transition:transform .3s}
.g2 .ytp i{position:absolute;left:22px;top:17px;border-left:16px solid #0a0d16;border-top:11px solid transparent;border-bottom:11px solid transparent}
.g2 .ytc:hover .ytp{transform:scale(1.08)}
.g2 .ytl{position:absolute;left:0;right:0;bottom:22px;text-align:center;color:#f2f0ea}

.g2 .s12{background:#05070d}
.g2 .s12 .stk,.g2 .s12 .sp{position:absolute;inset:0;overflow:hidden}
.g2 .s12 .sp{clip-path:inset(100% 0% 0% 0%)}
.g2 .s12 .sp:first-child{clip-path:inset(0% 0% 0% 0%)}
.g2 .s12 .sp img{width:100%;height:100%;object-fit:cover;display:block;will-change:transform}
.g2 .s12 .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,13,.9),rgba(5,7,13,.25) 48%,rgba(5,7,13,.55))}
.g2 .s12 .vw{position:absolute;left:4vw;bottom:6vh;transform-origin:left bottom;transform:rotate(-90deg) translate(0,100%);white-space:nowrap;color:#f2f0ea;font-weight:500;text-transform:uppercase;font-size:min(11.5vh,10vw);line-height:.8;letter-spacing:-.01em}
.g2 .s12 .vw{rotate:none}
.g2 .s12 .vline{position:absolute;left:28vw;top:12vh;bottom:8vh;width:1px;background:rgba(242,240,234,.7);transform-origin:top}
.g2 .s12 .hd{position:absolute;left:31vw;top:15vh;width:min(44vw,760px);font-size:clamp(30px,3.5vw,64px);line-height:1.04;letter-spacing:-.03em;font-weight:700;margin:0}
.g2 .s12 .steps{position:absolute;left:31vw;right:5vw;bottom:9vh;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:2vw}
.g2 .s12 .steps .bar{display:block;height:2px;background:rgba(242,240,234,.3);margin-bottom:16px;overflow:hidden}
.g2 .s12 .steps .bar i{display:block;height:100%;background:var(--a,#2d6bff);transform:scaleX(0);transform-origin:left}
.g2 .s12 .steps .t{font-size:clamp(16px,1.4vw,24px);font-weight:600;letter-spacing:-.01em}

.g2 .g2ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:6%;background:#0b0e17 repeating-linear-gradient(135deg,rgba(242,240,234,.035) 0 2px,transparent 2px 16px)}
.g2 .g2ph span{border:1px dashed rgba(242,240,234,.35);padding:12px 18px;font-weight:700;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#9aa2b6;text-align:center;line-height:1.6;max-width:30ch}
.g2 .strip>div,.g2 .fly{position:relative}
.g2 .strip .g2ph{position:absolute}
.g2 .s4 .sub{margin-top:3vh;max-width:34ch}
.g2 .g2ph span{font-size:13px;position:static;inset:auto;transform:none}
.g2 .s8 .g2ph{justify-content:flex-start;padding:0 0 0 10%}
.g2 .s8 .g2ph span{max-width:none;width:28%}
.g2 .s5 .pn .st.long{font-size:min(2.5vw,4.4vh);max-width:38ch}
.g2 .s11 .stat{margin:4vh 0 0;display:flex;align-items:center;gap:12px;font-weight:300;font-size:max(15px,1.15vw);color:#c9cedb}
.g2 .s11 .stat i{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 6px rgba(61,220,132,.15)}

.nav .links a{text-decoration:none}
@media(max-width:860px){body.in-case .nav .links,.nav .links{display:none!important}.nav{padding:18px 16px 14px!important}.nav .logo{font-size:18px}.nav .cta,.nav .btn{margin-left:auto}}

.nav a,.nav .links a{white-space:nowrap}
@media(max-width:860px){#ytOpen{left:50%!important;right:auto!important;transform:translateX(-50%);bottom:14px!important;padding:10px 16px!important;font-size:10px!important}}

.rg,.L{will-change:clip-path;transform:translateZ(0);backface-visibility:hidden}


/* ===== WP caso-single overrides ===== */
body.caso-single #stage,
body.caso-single #index{position:fixed;inset:0;opacity:0;pointer-events:none;visibility:hidden}
body.caso-single header.top{z-index:9999!important}
body.caso-single > .end.mini{position:relative;z-index:6;min-height:0}
body.caso-single .argo-nav .caso-back{
  font-family:Montserrat,system-ui,sans-serif;
  font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:#f2f0ea;opacity:.82;text-decoration:none;white-space:nowrap;
}
body.caso-single .argo-nav .caso-back:hover{opacity:1}
@media(max-width:860px){
  body.caso-single .top .argo-nav > a.caso-back{display:inline-flex!important;align-items:center;gap:6px}
}
/* kill home.css collisions inside #case */
body.caso-single #case .intro{height:auto!important;position:absolute}
body.caso-single #case .pc{padding:0;border:0;background:transparent}
body.caso-single #case .L.brand,
body.caso-single #case .brand.L{
  font-size:inherit;font-weight:inherit;letter-spacing:normal;line-height:normal;text-shadow:none
}

/* never touch site logo */
header.top .brand,
header.top .brand a,
header.top .brand img.custom-logo{
  clip-path:none!important;
  background:transparent!important;
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  transform:none!important;
  line-height:0!important;
  font-size:15px!important;
  letter-spacing:.32em!important;
  opacity:1!important;
  visibility:visible!important;
  display:inline-flex!important;
  align-items:center!important;
}
header.top .brand img.custom-logo{
  display:block!important;
  max-height:clamp(28px,3.2vw,40px)!important;
  max-width:min(180px,42vw)!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}

@media (pointer:coarse){
  .g2 .sc[style*="visibility: hidden"]{content-visibility:hidden}
  .g2 video{transform:translateZ(0)}
}

@media (pointer:coarse), (max-resolution:1.5dppx){
  .g2 .sc{contain:paint}
}
