*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
--black:#000;--white:#fff;--purple:#A100FF;--purple-dk:#7B00C4;
--g50:#FAFAFA;--g100:#F5F5F5;--g200:#E8E8E8;--g300:#D4D4D4;
--g400:#A3A3A3;--g500:#737373;--g600:#525252;--g800:#262626;
--fd:'Playfair Display',Georgia,serif;
--fb:'Inter',-apple-system,sans-serif;
--fm:ui-monospace,SFMono-Regular,Consolas,monospace;
--ease:cubic-bezier(.16,1,.3,1);
--max:1200px;
}
html{overflow-x:hidden;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--fb);color:var(--g800);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.6}
::selection{background:var(--purple);color:#fff}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}

/* ── Container ── */
.w{width:100%;max-width:var(--max);margin:0 auto;padding:0 48px}

/* ── Cursor (desktop only) ── */
.cur-d,.cur-r{position:fixed;border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:difference;display:none}
.cur-d{width:6px;height:6px;background:#fff}
.cur-r{width:36px;height:36px;border:1.5px solid rgba(255,255,255,.4);transition:transform .2s}
.cur-r.on{transform:scale(2.2);border-color:var(--purple)}
@media(hover:hover)and (pointer:fine){.cur-d,.cur-r{display:block}}

/* ── Preloader ── */
.pre{position:fixed;inset:0;z-index:10000;background:var(--black);display:none;align-items:center;justify-content:center;flex-direction:column;gap:20px}
.js .pre{display:flex}
.pre-n{font-family:var(--fd);font-size:42px;font-weight:900;color:#fff;letter-spacing:-1px;overflow:hidden;display:flex}
.pre-n span{display:inline-block;transform:translateY(100%)}
.pre-b{width:180px;height:2px;background:#1a1a1a;border-radius:2px;overflow:hidden}
.pre-f{width:0;height:100%;background:var(--purple);border-radius:2px}
.pre-s{font-family:var(--fm);font-size:10px;color:var(--g500);letter-spacing:3px;text-transform:uppercase}

/* ── Navbar ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;transition:background .4s,box-shadow .4s}
.nav.fix{background:rgba(0,0,0,.92);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:0 1px 0 rgba(255,255,255,.05)}
.nav-l{display:flex;align-items:center;gap:10px}
.nav-l-i{width:40px;height:40px;background:var(--purple);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:20px;font-weight:900;color:#fff;clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%);flex-shrink:0}
.nav-l-t{display:flex;flex-direction:column;line-height:1.2}
.nav-l-t strong{font-size:11px;font-weight:800;color:#fff;letter-spacing:1.1px;text-transform:uppercase;line-height:1.1;max-width:220px}
.nav-l-t span{font-size:9px;color:var(--g400);letter-spacing:2.5px;text-transform:uppercase}
.nav-m{display:flex;align-items:center;gap:24px}
.nav-m a{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.6);transition:color .3s;position:relative;padding:4px 0}
.nav-m a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1.5px;background:var(--purple);transition:width .35s var(--ease)}
.nav-m a:hover{color:#fff}
.nav-m a:hover::after{width:100%}
.nav-c{background:var(--purple)!important;color:#fff!important;padding:9px 24px!important;font-weight:700!important;clip-path:polygon(0 0,100% 0,100% 68%,88% 100%,0 100%)!important;transition:background .3s!important}
.nav-c::after{display:none!important}
.nav-c:hover{background:var(--purple-dk)!important}
.hbg{display:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;z-index:1001}
.hbg i{width:24px;height:2px;background:#fff;display:block;transition:.4s}
.hbg.on i:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hbg.on i:nth-child(2){opacity:0}
.hbg.on i:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mob{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.96);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;opacity:0;pointer-events:none;transition:opacity .4s}
.mob.on{opacity:1;pointer-events:auto}
.mob a{font-family:var(--fd);font-size:28px;font-weight:700;color:#fff;transition:color .3s}
.mob a:hover{color:var(--purple)}

/* ── Shared ── */
.tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--fm);font-size:11px;color:var(--purple);letter-spacing:3px;text-transform:uppercase;margin-bottom:16px}
.tag::before{content:'//';color:var(--g400)}
.sh{font-family:var(--fd);font-size:clamp(32px,4vw,52px);font-weight:900;line-height:1.12;letter-spacing:-.5px;margin-bottom:20px}
.sd{font-size:16px;color:var(--g500);line-height:1.8;max-width:520px;font-weight:300}
.sec{padding:120px 0}

/* ── Hero ── */
.hero{position:relative;width:100%;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--black);isolation:isolate}
.hero-v{position:absolute;inset:0}
.hero-v video{width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.3) contrast(1.1)}
.hero-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(0,0,0,.85),rgba(10,0,30,.55) 50%,rgba(161,0,255,.06))}
.hero-gr{position:absolute;inset:0;z-index:2;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.hero-b{position:relative;z-index:3;width:100%;max-width:1300px;margin:0 auto;padding:104px 48px 40px;min-height:calc(100svh - 72px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:40px;align-items:center}
.hero-copy{max-width:760px}
.hero-sig{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px}
.hero-dot{width:8px;height:8px;background:var(--purple);border-radius:50%;animation:pdot 2s infinite;flex-shrink:0}
@keyframes pdot{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(161,0,255,.4)}50%{opacity:.6;box-shadow:0 0 0 8px rgba(161,0,255,0)}}
.hero-st{font-family:var(--fm);font-size:12px;color:var(--purple);letter-spacing:3px;text-transform:uppercase}
.hero-h{font-family:var(--fd);font-size:clamp(42px,5.6vw,78px);font-weight:900;color:#fff;line-height:1.02;letter-spacing:-2px;margin-bottom:22px;max-width:760px}
.hero-h .hl{display:block;overflow:hidden}
.hero-h .hli{display:block;transform:translateY(115%)}
.hero-h em{font-style:italic;color:var(--purple)}
.hero-p{font-size:17px;color:rgba(255,255,255,.58);line-height:1.8;max-width:560px;margin-bottom:30px;font-weight:300}
.hero-btns{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
.hb{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;transition:all .4s var(--ease);position:relative;overflow:hidden}
.hb-f{background:var(--purple);color:#fff;clip-path:polygon(0 0,100% 0,100% 68%,92% 100%,0 100%)}
.hb-f:hover{background:var(--purple-dk);gap:16px}
.hb-o{color:rgba(255,255,255,.6);border-bottom:1px solid rgba(255,255,255,.2);padding:8px 0}
.hb-o:hover{color:#fff;border-color:var(--purple)}

.hero-panel{display:flex;flex-direction:column;gap:16px;align-self:end}
.hero-k{position:static;z-index:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kp{padding:18px 18px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);text-align:left}
.kp-n{font-family:var(--fd);font-size:48px;font-weight:900;color:#fff;line-height:1;white-space:nowrap}
.kp-n span{color:var(--purple)}
.kp-l{font-size:10px;color:var(--g400);text-transform:uppercase;letter-spacing:2px;margin-top:4px}
.hero-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.hero-menu a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:#fff;transition:transform .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease)}
.hero-menu a:hover{transform:translateY(-2px);border-color:rgba(161,0,255,.55);background:rgba(161,0,255,.12)}
.hero-menu i{font-size:13px;color:var(--purple)}

.hero-sc{position:relative;z-index:3;display:flex;align-items:center;gap:12px;margin-top:4px}
.sc-bar{width:1px;height:52px;background:rgba(255,255,255,.15);position:relative;overflow:hidden}
.sc-bar::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--purple);animation:sca 2.2s infinite}
@keyframes sca{0%{top:-100%}100%{top:100%}}
.sc-lbl{font-size:9px;color:var(--g400);text-transform:uppercase;letter-spacing:3px;writing-mode:vertical-rl;transform:rotate(180deg)}

/* ── Marquee ── */
.mq{background:var(--purple);padding:14px 0;overflow:hidden;white-space:nowrap}
.mq-t{display:inline-flex;animation:mqs 22s linear infinite}
.mq-t span{font-size:12px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:3px;padding:0 28px;flex-shrink:0}
.mq-t span::after{content:'◆';margin-left:28px;font-size:7px;vertical-align:middle;opacity:.5}
@keyframes mqs{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── Services ── */
.svc-s{background:var(--white)}
.svc-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:64px;flex-wrap:wrap}
.svc-g{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--g200)}
.sc{padding:48px 36px;position:relative;overflow:hidden;cursor:pointer;border-right:1px solid var(--g200);border-bottom:1px solid var(--g200);transition:background .5s var(--ease)}
.sc:nth-child(3n){border-right:none}
.sc:nth-child(n+4){border-bottom:none}
.sc::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--purple);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.sc:hover::before{transform:scaleX(1)}
.sc:hover{background:var(--g50)}
.sc-n{font-family:var(--fd);font-size:56px;font-weight:900;color:var(--g200);line-height:1;margin-bottom:20px;transition:color .4s}
.sc:hover .sc-n{color:var(--purple)}
.sc h3{font-size:19px;font-weight:800;margin-bottom:12px;line-height:1.3}
.sc p{font-size:14px;color:var(--g500);line-height:1.75;margin-bottom:20px}
.sc-lk{font-size:11px;font-weight:700;color:var(--purple);text-transform:uppercase;letter-spacing:2px;display:inline-flex;align-items:center;gap:6px}
.sc-lk .ar{display:inline-block;transition:transform .3s}
.sc:hover .sc-lk .ar{transform:translateX(6px)}

/* ── Video Break ── */
.vb{position:relative;height:60vh;min-height:400px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.vb video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.25)}
.vb-ov{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.85),rgba(0,0,0,.3))}
.vb-c{position:relative;z-index:2;text-align:center;max-width:600px;padding:0 32px}
.vb-c .sh{color:#fff;margin-bottom:16px;text-align:center}
.vb-c p{color:rgba(255,255,255,.5);font-size:16px;line-height:1.8;font-weight:300}

/* ── About ── */
.ab{background:var(--black);color:#fff;overflow:hidden}
.ab-g{display:grid;grid-template-columns:1fr 1fr;min-height:640px}
.ab-t{padding:100px 60px 100px 48px;display:flex;flex-direction:column;justify-content:center}
.ab-nm{font-family:var(--fd);font-size:clamp(42px,5vw,72px);font-weight:900;line-height:1;margin-bottom:28px;letter-spacing:-1px}
.ab-nm span{color:var(--purple);font-style:italic}
.ab-p{font-size:15px;color:rgba(255,255,255,.5);line-height:1.85;margin-bottom:20px}
.bdg{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.bd{padding:6px 14px;border:1px solid rgba(255,255,255,.12);font-size:10px;font-weight:600;color:rgba(255,255,255,.45);letter-spacing:1px;text-transform:uppercase;transition:all .3s}
.bd:hover{border-color:var(--purple);color:var(--purple)}
.ab-v{position:relative;overflow:hidden;background:linear-gradient(135deg,#0a0020,#150035)}
.ab-v video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25;mix-blend-mode:screen}
.st-g{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:1fr 1fr}
.st-c{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;border-right:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}
.st-c:nth-child(2n){border-right:none}
.st-c:nth-child(n+3){border-bottom:none}
.st-v{font-family:var(--fd);font-size:60px;font-weight:900;color:#fff;line-height:1}
.st-v span{color:var(--purple)}
.st-d{font-size:10px;color:var(--g400);text-transform:uppercase;letter-spacing:2px;margin-top:8px;text-align:center}

/* ── Sectors ── */
.sec-s{background:var(--g100)}
.sec-h{margin-bottom:56px}
.sec-r{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stl{display:block;background:var(--white);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s;cursor:pointer}
.stl:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.08)}
.stl-img{height:180px;overflow:hidden;position:relative}
.stl-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.stl:hover .stl-img img{transform:scale(1.06)}
.stl-b{padding:24px 24px 28px}
.stl-b i{font-size:18px;color:var(--purple);margin-bottom:10px;display:block}
.stl-b h4{font-size:16px;font-weight:800;margin-bottom:8px;line-height:1.3}
.stl-b p{font-size:13px;color:var(--g500);line-height:1.7}

/* ── Timeline ── */
.tl-s{background:var(--white)}
.tl-h{margin-bottom:56px}
.tl-w{max-width:880px;margin:0 auto;position:relative}
.tl-r{position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--g200)}
.tl-rf{width:100%;height:0%;background:var(--purple)}
.tl-e{padding-left:44px;margin-bottom:44px;position:relative;opacity:0;transform:translateX(-16px);transition:all .6s var(--ease)}
.tl-e.show{opacity:1;transform:translateX(0)}
.tl-ed{position:absolute;left:-7px;top:6px;width:16px;height:16px;border-radius:50%;background:var(--white);border:3px solid var(--purple);z-index:2;transition:background .3s}
.tl-e:hover .tl-ed{background:var(--purple)}
.tl-y{font-family:var(--fm);font-size:12px;color:var(--purple);letter-spacing:2px;margin-bottom:4px}
.tl-p{font-size:18px;font-weight:800;line-height:1.3;margin-bottom:4px}
.tl-o{font-size:13px;color:var(--g400);font-weight:500;margin-bottom:8px}
.tl-d{font-size:14px;color:var(--g500);line-height:1.75}

/* ── Insights ── */
.ins-s{background:var(--black);color:#fff}
.ins-h{margin-bottom:56px}
.ins-h .sh{color:#fff}
.ins-h .sd{color:var(--g400)}
.ins-g{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}
.ic{position:relative;overflow:hidden;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;padding:32px;cursor:pointer;background:#111}
.ic:first-child{grid-row:span 2}
.ic-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.35);transition:transform .6s var(--ease)}
.ic:hover .ic-bg{transform:scale(1.05)}
.ic::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92),transparent 55%);z-index:1}
.ic-in{position:relative;z-index:2}
.ic-t{font-family:var(--fm);font-size:10px;color:var(--purple);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.ic h3{font-family:var(--fd);font-size:19px;font-weight:700;line-height:1.35;margin-bottom:8px}
.ic:first-child h3{font-size:24px}
.ic p{font-size:13px;color:rgba(255,255,255,.45);line-height:1.65}
.ic-m{display:inline-flex;align-items:center;gap:6px;color:var(--purple);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-top:14px}

/* ── CTA ── */
.cta{position:relative;overflow:hidden;padding:100px 0;background:linear-gradient(135deg,var(--purple),#6200b3,#3d0066)}
.cta::before{content:'>';position:absolute;right:-30px;top:50%;transform:translateY(-50%);font-family:var(--fd);font-size:420px;font-weight:900;color:rgba(255,255,255,.04);line-height:1;pointer-events:none}
.cta-f{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;position:relative;z-index:2}
.cta-f h2{font-family:var(--fd);font-size:clamp(28px,3.5vw,46px);font-weight:900;color:#fff;line-height:1.15;max-width:560px}
.cta-a{display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--purple);padding:18px 40px;font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase;clip-path:polygon(0 0,100% 0,100% 68%,92% 100%,0 100%);transition:all .3s;flex-shrink:0}
.cta-a:hover{background:var(--g100);gap:18px}

/* ── Contact ── */
.ct-s{background:var(--g100)}
.ct-g{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start}
.ct-l .sh{margin-bottom:36px}
.ci{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}
.ci-i{width:40px;height:40px;background:var(--purple);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;flex-shrink:0;clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%)}
.ci strong{font-size:10px;color:var(--g400);text-transform:uppercase;letter-spacing:1.5px;display:block;margin-bottom:2px}
.ci span{font-size:15px;font-weight:600}
.ci a{color:var(--purple);font-weight:600}
.av{margin-top:36px;padding:24px 28px;background:var(--black);color:#fff;clip-path:polygon(0 0,100% 0,100% 82%,96% 100%,0 100%)}
.av p{font-size:14px;line-height:1.8}
.av strong{color:var(--purple)}
.fb{background:var(--white);padding:48px;box-shadow:0 16px 64px rgba(0,0,0,.06);position:relative}
.fb::before{content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:var(--purple)}
.fb h3{font-family:var(--fd);font-size:24px;font-weight:900;margin-bottom:28px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.fg{margin-bottom:16px}
.fg label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--g400);margin-bottom:6px}
.fg input,.fg textarea,.fg select{width:100%;padding:12px 16px;border:2px solid var(--g200);font-family:var(--fb);font-size:14px;color:var(--g800);background:var(--g50);outline:none;transition:border .3s,background .3s}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--purple);background:#fff}
.fg textarea{resize:vertical;min-height:110px}
.sub{background:var(--purple);color:#fff;border:none;padding:14px 40px;font-family:var(--fb);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 68%,92% 100%,0 100%);transition:background .3s;display:inline-flex;align-items:center;gap:8px}
.sub:hover{background:var(--purple-dk)}

/* ── Footer ── */
.ft{background:var(--black);color:var(--g400);padding:72px 0 28px}
.ft-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:56px}
.ft-br p{font-size:13px;line-height:1.8;margin-top:16px;max-width:280px}
.ft-c h4{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:#fff;margin-bottom:20px}
.ft-c a{display:block;font-size:13px;margin-bottom:10px;transition:color .2s}
.ft-c a:hover{color:var(--purple)}
.ft-b{border-top:1px solid #1a1a1a;padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.ft-b p{font-size:11px;letter-spacing:.5px}
.ft-so{display:flex;gap:18px}
.ft-so a{color:var(--g400);font-size:16px;transition:color .2s}
.ft-so a:hover{color:var(--purple)}

/* ── Mobile Action Bar ── */
.mbar{position:fixed;left:16px;right:16px;bottom:16px;z-index:1200;display:none;gap:10px;padding:10px;background:rgba(0,0,0,.88);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(255,255,255,.08);box-shadow:0 16px 40px rgba(0,0,0,.24)}
.mbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 10px;font-size:11px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}
.mbar a:first-child{background:var(--purple);border-color:transparent}
.mbar i{font-size:13px}

/* ═══ TABLET (768-1024) ═══ */
@media(max-width:1024px){
.w{padding:0 32px}
.nav{padding:0 32px}
.sec{padding:80px 0}
.hero-b{padding:140px 32px 80px}
.hero-k{gap:12px}
.kp-n{font-size:38px}
.hero-sc{margin-top:4px}
.svc-g{grid-template-columns:repeat(2,1fr)}
.sc:nth-child(3n){border-right:1px solid var(--g200)}
.sc:nth-child(2n){border-right:none}
.sc:nth-child(n+5){border-bottom:none}
.sc:nth-child(-n+4){border-bottom:1px solid var(--g200)}
.ab-g{grid-template-columns:1fr}
.ab-t{padding:80px 32px}
.ab-v{min-height:400px}
.sec-r{grid-template-columns:repeat(2,1fr)}
.ins-g{grid-template-columns:1fr 1fr}
.ic:first-child{grid-row:auto;grid-column:span 2}
.ct-g{grid-template-columns:1fr}
.ft-g{grid-template-columns:1fr 1fr}
}

/* ═══ MOBILE (<768) ═══ */
@media(max-width:767px){
.w{padding:0 20px}
.nav{padding:0 20px;height:64px}
.nav-m{display:none}
.hbg{display:flex}
.sec{padding:64px 0}
.hero-b{padding:104px 20px 120px;grid-template-columns:1fr;gap:22px;min-height:calc(100svh - 64px)}
.hero-h{letter-spacing:-1px}
.hero-k{grid-template-columns:1fr 1fr;gap:12px}
.kp{text-align:left}
.kp-n{font-size:34px}
.hero-menu{grid-template-columns:1fr 1fr}
.hero-sc{display:none}
.svc-top{margin-bottom:40px}
.svc-g{grid-template-columns:1fr;border:none}
.sc{border:1px solid var(--g200)!important;margin-bottom:-1px}
.ab-t{padding:60px 20px}
.ab-nm{font-size:40px}
.ab-v{min-height:360px}
.st-v{font-size:44px}
.sec-r{grid-template-columns:1fr;gap:16px}
.ins-g{grid-template-columns:1fr}
.ic:first-child{grid-column:auto}
.ic{min-height:280px}
.cta{padding:64px 0}
.cta-f{flex-direction:column;text-align:center;align-items:center}
.fb{padding:28px 20px}
.fr{grid-template-columns:1fr}
.ft-g{grid-template-columns:1fr;gap:32px}
.ft-b{flex-direction:column;align-items:flex-start;gap:8px}
.mbar{display:flex}
body{padding-bottom:96px}
}


/* Shared shell for Cloudflare pages */
:root{--site-max:1180px;--site-shadow:0 20px 60px rgba(0,0,0,.28);--page-border:1px solid rgba(255,255,255,.10)}
body.page-body{background:#050507;color:#fff}
.skip-link{position:absolute;left:-9999px;top:0;padding:12px 16px;background:#fff;color:#000;z-index:9999}
.skip-link:focus{left:16px;top:16px}
.site-shell{max-width:var(--site-max);margin:0 auto;padding:0 24px}
.site-header{position:sticky;top:0;z-index:1000;backdrop-filter:blur(16px) saturate(180%);background:rgba(5,5,7,.84);border-bottom:1px solid rgba(255,255,255,.06)}
.site-header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative}
.site-brand{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.site-brand-mark{width:42px;height:42px;display:grid;place-items:center;background:linear-gradient(135deg,#a100ff,#ff3ba7);font-weight:900;clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%);box-shadow:var(--site-shadow)}
.site-brand strong{display:block;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;max-width:240px}
.site-brand em{display:block;font-style:normal;color:rgba(255,255,255,.58);font-size:10px;letter-spacing:2.8px;text-transform:uppercase}
.site-nav{display:flex;align-items:center;gap:24px}
.nav-link{color:rgba(255,255,255,.72);text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:1.4px;font-weight:700}
.nav-link.active,.nav-link:hover{color:#fff}
.site-menu-toggle{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);border-radius:12px;padding:0 11px}
.site-menu-toggle span{display:block;height:2px;margin:5px 0;background:#fff;border-radius:2px}
.page-hero,.page-section{padding:64px 0}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:24px;align-items:start}
.page-kicker{margin:0 0 12px;color:#a100ff;text-transform:uppercase;letter-spacing:2.4px;font-size:11px;font-weight:800}
.page-title{margin:0;font-family:'Playfair Display',serif;font-size:clamp(40px,6vw,74px);line-height:.98}
.page-lead{margin:18px 0 0;max-width:68ch;color:rgba(255,255,255,.78);font-size:18px;line-height:1.8}
.page-meta,.page-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.page-chip,.button-primary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;text-decoration:none;font-weight:800;letter-spacing:.6px}
.page-chip{background:rgba(255,255,255,.05);color:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.10)}
.button-primary{background:linear-gradient(135deg,#a100ff,#ff3ba7);color:#fff}
.button-secondary{background:rgba(255,255,255,.04);color:#fff;border:var(--page-border)}
.page-aside-card,.page-card,.page-callout,.page-cta,.page-form-card,.page-article,.page-faq{background:rgba(255,255,255,.03);border:var(--page-border);border-radius:28px;box-shadow:var(--site-shadow)}
.page-aside-card,.page-card,.page-callout,.page-cta,.page-form-card,.page-article{padding:24px}
.page-aside-label{margin-bottom:14px;color:rgba(255,255,255,.50);text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:800}
.page-list{margin:0;padding-left:18px;color:rgba(255,255,255,.78);line-height:1.8}
.page-section-head h2,.page-cta h2{margin:0;font-size:clamp(26px,3vw,40px);line-height:1.1}
.page-section-head{margin-bottom:22px}
.page-grid,.page-grid-3,.page-faqs{display:grid;gap:16px}
.page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-card h3{margin:10px 0 10px;font-size:22px}
.page-card p,.page-article p,.page-cta p{color:rgba(255,255,255,.78);line-height:1.8}
.page-card-kicker{color:#a100ff;text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:800}
.page-card-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.page-card-links a{color:#fff;text-decoration:none;font-size:12px;letter-spacing:1.2px;text-transform:uppercase}
.page-faq{padding:0}
.page-faq summary{cursor:pointer;list-style:none;padding:22px 24px;font-weight:800}
.page-faq p{margin:0;padding:0 24px 22px;color:rgba(255,255,255,.78);line-height:1.8}
.page-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:24px;align-items:start}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid label{display:grid;gap:8px;color:rgba(255,255,255,.74);font-size:13px}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;font:inherit}
.form-grid textarea{min-height:160px;resize:vertical}
.form-grid .full{grid-column:1 / -1}
.consent-row{display:flex;gap:12px;align-items:flex-start;grid-column:1 / -1;color:rgba(255,255,255,.76);font-size:13px;line-height:1.7}
.consent-row input{width:18px;height:18px;flex:0 0 18px;margin-top:3px;accent-color:#a100ff}
.consent-row a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:1500;display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:22px 24px;background:rgba(5,5,7,.96);border:1px solid rgba(255,255,255,.10);border-radius:24px;box-shadow:0 24px 72px rgba(0,0,0,.45);backdrop-filter:blur(18px) saturate(180%)}
.cookie-banner__content{max-width:760px}
.cookie-banner__kicker{margin:0 0 8px;color:#a100ff;text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:800}
.cookie-banner__title{margin:0 0 8px;font-size:18px;font-weight:800;line-height:1.4;color:#fff}
.cookie-banner__text{margin:0;color:rgba(255,255,255,.72);line-height:1.7;font-size:14px;max-width:68ch}
.cookie-banner__actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cookie-banner__link,.cookie-banner__button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;text-decoration:none;cursor:pointer;border:1px solid rgba(255,255,255,.12)}
.cookie-banner__link{background:rgba(255,255,255,.04);color:#fff}
.cookie-banner__button{background:transparent;color:#fff}
.cookie-banner__button--primary{background:linear-gradient(135deg,#a100ff,#ff3ba7);border-color:transparent}
.cookie-banner__button--ghost{background:rgba(255,255,255,.03)}
.hp{position:absolute;left:-9999px}
.site-footer{border-top:1px solid rgba(255,255,255,.08);margin-top:48px;padding:40px 0 28px;background:rgba(255,255,255,.01)}
.site-footer-grid,.site-footer-bottom{display:flex;gap:20px;justify-content:space-between;align-items:flex-start}
.site-brand-block p,.site-footer-bottom,.site-footer-links a{color:rgba(255,255,255,.68)}
.site-footer-links{display:grid;gap:10px}
.site-footer-links a{text-decoration:none}
.site-footer-bottom{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}
@media (max-width:980px){.page-hero-grid,.page-contact-grid,.page-grid-3,.page-grid{grid-template-columns:1fr}.site-nav{display:none}.site-nav.open{display:grid;gap:16px;position:absolute;top:72px;left:0;right:0;padding:18px 24px 24px;background:rgba(5,5,7,.98);border-bottom:1px solid rgba(255,255,255,.08)}.site-menu-toggle{display:inline-block}.site-footer-grid,.site-footer-bottom{flex-direction:column}.form-grid{grid-template-columns:1fr}}

@media (max-width:767px){
  .cookie-banner{left:12px;right:12px;bottom:12px;padding:18px;flex-direction:column;align-items:stretch}
  .cookie-banner__actions{justify-content:flex-start}
}
