/* ==========================================================
   EZPOINT – landing v2 · Black & Gold
   ========================================================== */

/* ---------- fonts ---------- */
@font-face{font-family:Almoni;src:url(../fonts/almoni-light.woff2) format("woff2");font-weight:100 300;font-display:swap}
@font-face{font-family:Almoni;src:url(../fonts/almoni-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Almoni;src:url(../fonts/almoni-medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Almoni;src:url(../fonts/almoni-demibold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Almoni;src:url(../fonts/almoni-bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Almoni;src:url(../fonts/almoni-ultrabold.woff2) format("woff2");font-weight:800 900;font-display:swap}
@font-face{font-family:AlmoniFallback;src:local("Arial");size-adjust:92%;ascent-override:95%}

/* ---------- tokens ---------- */
:root{
  --bg:#0b0a08;
  --bg-2:#131210;
  --bg-3:#1b1915;
  --line:rgba(255,240,200,.09);
  --line-2:rgba(255,240,200,.16);
  --text:#f6f2ea;
  --muted:rgba(246,242,234,.84);
  --faint:rgba(246,242,234,.7);
  --gold:#fdcf15;
  --gold-hi:#f8e71c;
  --gold-2:#eaae13;
  --gold-3:#d59709;
  --gold-deep:#7a5a0c;
  --ink:#111;
  --paper:#f4f6f8;
  --grad:linear-gradient(81deg,#fdcf15 0%,#f8e71c 100%);
  --fluid:
    radial-gradient(120% 90% at 85% 10%,rgba(255,246,170,.95),transparent 55%),
    radial-gradient(90% 80% at 10% 90%,rgba(213,151,9,.95),transparent 60%),
    radial-gradient(70% 60% at 40% 40%,rgba(248,231,28,.7),transparent 70%),
    linear-gradient(135deg,#f5c518,#d59709);
  --glow:0 18px 50px -14px rgba(253,207,21,.55);
  --ease:cubic-bezier(.2,.7,.1,1);
  --font:Almoni,AlmoniFallback,Arial,sans-serif;
  --gut:clamp(16px,4vw,56px);
  --max:1320px;
  --sec:clamp(80px,10vw,150px);
  --r:28px;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
/* never allow sideways scrolling (mobile) – clip keeps sticky/pin working, hidden is the fallback */
html,body{overflow-x:hidden;max-width:100%}
@supports (overflow:clip){html,body{overflow-x:clip}}
main,footer,section{max-width:100vw}
.projects,.process,.services,.stmt,.why,.faq,.contact{overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:clamp(17px,1.15vw,19px);line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:-50%;z-index:100;pointer-events:none;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
::selection{background:var(--gold);color:#000}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
.skip{position:absolute;top:-60px;right:16px;z-index:200;background:var(--gold);color:#000;padding:10px 16px;border-radius:99px;font-weight:700}
.skip:focus{top:12px}
.wrap{width:100%;max-width:calc(var(--max) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
main,footer{position:relative;z-index:1}
section{position:relative}
.gold{color:var(--gold)}

/* ---------- background grid ---------- */
.bg{position:fixed;inset:0;z-index:0;pointer-events:none;--gx:50vw;--gy:30vh}
.bg-grid{position:absolute;inset:0;opacity:.35;
  background-image:
    radial-gradient(circle,rgba(253,207,21,.35) 1.2px,transparent 1.6px),
    linear-gradient(rgba(253,207,21,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(253,207,21,.07) 1px,transparent 1px),
    linear-gradient(rgba(253,207,21,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(253,207,21,.035) 1px,transparent 1px);
  background-size:240px 240px,240px 240px,240px 240px,48px 48px,48px 48px;
  background-position:-1px -1px;
  mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.6) 60%,rgba(0,0,0,.35));
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.6) 60%,rgba(0,0,0,.35))}
.bg-grid--lit{opacity:1;
  mask-image:radial-gradient(circle min(420px,70vw) at var(--gx) var(--gy),#000,transparent 72%);
  -webkit-mask-image:radial-gradient(circle min(420px,70vw) at var(--gx) var(--gy),#000,transparent 72%)}
.bg-glow{position:absolute;inset:0;background:radial-gradient(circle min(520px,80vw) at var(--gx) var(--gy),rgba(253,207,21,.09),transparent 70%)}

/* ---------- cursor (fine pointers only, toggled by JS) ---------- */
.cursor{display:none}
.has-cursor .cursor{display:block;position:fixed;inset:0;pointer-events:none;z-index:150}
.has-cursor,.has-cursor a,.has-cursor button,.has-cursor label{cursor:none}
.has-cursor input,.has-cursor textarea{cursor:text}
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;border-radius:50%;translate:-50% -50%;will-change:transform}
.cursor-dot{width:8px;height:8px;background:var(--gold);transition:scale .25s var(--ease)}
.cursor-ring{width:38px;height:38px;border:1px solid rgba(253,207,21,.55);display:grid;place-items:center;transition:width .35s var(--ease),height .35s var(--ease),background .35s,border-color .35s}
.cursor-ring em{font-style:normal;font-size:13px;font-weight:700;color:#000;opacity:0;transition:opacity .2s}
.cursor.is-hover .cursor-ring{width:62px;height:62px;border-color:var(--gold);background:rgba(253,207,21,.08)}
.cursor.is-hover .cursor-dot{scale:0}
.cursor.is-view .cursor-ring{width:92px;height:92px;background:var(--gold);border-color:var(--gold)}
.cursor.is-view .cursor-ring em{opacity:1}
.cursor.is-view .cursor-dot{scale:0}

/* ---------- typography ---------- */
.kicker,.label{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600}
.label{display:inline-block;margin-bottom:14px}
.display{font-weight:800;font-size:clamp(54px,9.6vw,158px);line-height:.86;letter-spacing:-.045em;text-align:left;font-family:var(--font)}
.h2{font-weight:800;font-size:clamp(36px,4.6vw,72px);line-height:1.02;letter-spacing:-.01em}
.h2 .gold{display:block;text-shadow:0 0 40px rgba(253,207,21,.35)}
.h2--xl{font-size:clamp(58px,8vw,124px);line-height:.9}
.h2--xl .gold{display:inline}
.lead{font-size:clamp(18px,1.45vw,23px);font-weight:300;color:var(--muted);line-height:1.5;max-width:56ch}
.sub-gold{color:var(--gold-2);font-weight:500;font-size:clamp(19px,1.5vw,24px);margin:10px 0 18px}
.sec-head{margin-bottom:clamp(36px,5vw,70px);max-width:900px}
.sec-head .lead{margin-top:16px}
.sec-head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;max-width:none}

/* split words */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.w>span{display:inline-block;will-change:transform}

/* ---------- buttons ---------- */
.btn{--h:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--h);padding:0 28px;border-radius:99px;font-weight:700;font-size:17px;line-height:1;white-space:nowrap;position:relative;isolation:isolate;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s,color .3s}
.btn--sm{--h:44px;padding:0 20px;font-size:15px}
.btn--lg{--h:62px;padding:0 34px;font-size:19px}
.btn--block{width:100%}
.btn--gold{background:var(--grad);color:#000;box-shadow:var(--glow)}
.btn--gold::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.65) 50%,transparent 70%);translate:-120% 0;transition:translate .8s var(--ease)}
.btn--gold:hover::before{translate:120% 0}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 22px 60px -12px rgba(253,207,21,.75)}
.btn--ghost{border:1px solid var(--line-2);background:rgba(255,255,255,.03);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn--dark{background:#0b0a08;color:#fff}
.btn--dark:hover{background:#000;transform:translateY(-2px)}
.arr{font-style:normal;display:inline-block;transition:translate .35s var(--ease)}
.btn:hover .arr{translate:-5px 0}
.magnet{display:inline-block}

/* reveal (only when JS present) */
[data-anim] .rv{opacity:0;transform:translateY(34px)}

/* ---------- glass ---------- */
.glass{background:linear-gradient(165deg,rgba(255,255,255,.075),rgba(255,255,255,.015) 60%);border:1px solid var(--line-2);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:inset 0 1px rgba(255,255,255,.08)}

/* big blurred background words */
.bgword{position:absolute;inset-inline:0;top:6%;z-index:-1;font-family:var(--font);font-weight:800;font-size:clamp(120px,24vw,420px);line-height:.8;letter-spacing:-.06em;color:var(--gold-deep);opacity:.28;filter:blur(4px);white-space:nowrap;text-align:center;pointer-events:none;user-select:none;direction:ltr}

/* ==========================================================
   NAV
   ========================================================== */
.nav{position:fixed;top:14px;inset-inline:max(12px,calc((100vw - 1240px)/2));z-index:60;height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 10px 0 22px;padding-inline-start:22px;padding-inline-end:10px;border-radius:99px;background:rgba(11,10,8,.55);border:1px solid var(--line);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);transition:transform .5s var(--ease),background .3s}
.nav.is-hidden{transform:translateY(-140%)}
.nav-logo{order:3}
.nav-links{order:2}
.nav-actions{order:1}
.nav-logo img{height:42px;width:auto}
.nav-links{display:flex;gap:28px;font-size:16px;font-weight:500}
.nav-links a{position:relative;color:#fff;transition:color .25s}
.nav-links a::after{content:"";position:absolute;inset-inline:0;bottom:-6px;height:1px;background:var(--gold);scale:0 1;transition:scale .35s var(--ease)}
.nav-links a:hover{color:var(--gold)}
.nav-links a:hover::after{scale:1 1}
.nav-actions{display:flex;align-items:center;gap:14px}
.nav-phone{display:flex;align-items:center;gap:8px;font-weight:600;font-size:16px;direction:ltr}
.nav-phone svg{width:18px;height:18px;fill:var(--gold)}

/* ==========================================================
   HERO – gold chevron stage + chess queen + brand triangles
   ========================================================== */
.hero{min-height:100svh;display:flex;align-items:center;padding:clamp(36px,6vh,70px) 0 clamp(60px,9vh,100px);overflow:hidden;isolation:isolate}
.hero-logo{display:block;width:fit-content;margin:0 auto clamp(18px,3.5vh,36px)}
.hero-logo img{height:clamp(44px,3.9vw,66px);width:auto}
.hero-inner{position:relative;z-index:2}
.hero-copy{width:min(760px,54%)}
@media (min-width:1081px){.hero-copy{margin-inline-start:-2.2vw}} /* nudge the copy toward the right edge */
.hero-stage{position:absolute;top:0;bottom:0;left:0;width:47vw;z-index:1}
.hero-panel{position:absolute;inset:0;background:linear-gradient(155deg,#fff6c2 0%,#fdcf15 30%,#f4bd0b 62%,#d59709 100%);clip-path:polygon(0 0,84% 0,100% 50%,84% 100%,0 100%);animation:panelIn 1.3s var(--ease) both;overflow:hidden}
.hero-panel::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(0,0,0,.035) 0 2px,transparent 2px 16px)}
@keyframes panelIn{from{clip-path:polygon(0 0,0 0,0 50%,0 100%,0 100%)}}
.panel-word{position:absolute;left:3%;top:46%;translate:0 -50%;font-weight:900;font-size:clamp(220px,31vw,560px);line-height:.8;letter-spacing:-.06em;color:rgba(0,0,0,.075);direction:ltr;user-select:none}
.hero-queen{position:absolute;left:3%;bottom:9%;width:min(21vw,370px);z-index:4}
/* monitor with live site mockups */
.hero-monitor{position:absolute;left:15%;top:24%;width:min(31vw,560px);z-index:2;perspective:1400px}
.hm-in{animation:monUp 1.5s var(--ease) .75s both}
.hm-frame{position:relative;border-radius:16px;padding:0;background:#141310;border:9px solid #141310;box-shadow:0 50px 90px -30px rgba(60,35,0,.75),0 0 0 1px rgba(0,0,0,.25);transform:rotateY(-9deg) rotateX(3deg);transform-origin:center;overflow:hidden}
.hm-bar{height:24px;display:flex;align-items:center;gap:5px;padding:0 8px;background:#201e19;border-radius:7px 7px 0 0}
.hm-bar i{width:7px;height:7px;border-radius:50%;background:#ff5f57}.hm-bar i:nth-child(2){background:#febc2e}.hm-bar i:nth-child(3){background:#28c840}
.hm-bar span{margin-inline:auto;font-size:11px;color:#8b8678;direction:ltr;background:#2b2822;border-radius:6px;padding:1px 14px}
.hm-screen{position:relative;aspect-ratio:16/10;overflow:hidden;background:#fff;border-radius:0 0 7px 7px}
.hm-screen img{position:absolute;top:0;left:0;width:100%;height:auto;opacity:0;transform:translate3d(0,0,0);transition:opacity .9s ease;backface-visibility:hidden}
.hm-screen img.is-on{opacity:1;transform:translate3d(0,var(--sy,0px),0);transition:opacity .9s ease,transform 5s cubic-bezier(.45,0,.4,1)}
.hm-glare{position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.18),transparent 32%);pointer-events:none}
.hm-neck{width:15%;height:34px;margin:0 auto;background:linear-gradient(#2a2620,#100f0c);transform:rotateY(-9deg)}
.hm-foot{width:34%;height:9px;margin:0 auto;border-radius:9px 9px 3px 3px;background:#1f1c17;box-shadow:0 14px 26px -6px rgba(60,35,0,.6)}
@keyframes monUp{from{opacity:0;transform:translateY(90px) rotateX(35deg) scale(.9)}}
/* 12+ years seal */
.seal{position:absolute;left:72%;top:60%;width:clamp(110px,9vw,160px);aspect-ratio:1;z-index:5}
.seal-body{position:relative;width:100%;height:100%;border-radius:50%;background:#0b0a08;display:grid;place-items:center;box-shadow:0 20px 50px -14px rgba(0,0,0,.7),0 0 0 6px rgba(253,207,21,.25);animation:sealIn 1s var(--ease) 1.4s both}
.seal-ring{position:absolute;inset:7px;border-radius:50%;border:2px dashed rgba(253,207,21,.75);animation:spin 18s linear infinite}
.seal-in{display:grid;justify-items:center;line-height:1;text-align:center}
.seal-in b{font-size:clamp(40px,3.4vw,60px);font-weight:900;color:var(--gold);line-height:.9;text-shadow:0 0 24px rgba(253,207,21,.45)}
.seal-in b::before{content:"+";font-size:.5em;vertical-align:super;margin-inline-end:2px}
.seal-in small{font-size:clamp(12px,.9vw,15px);color:#fff;font-weight:600}
@keyframes sealIn{from{opacity:0;transform:scale(.3) rotate(-90deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-queen img{position:relative;z-index:1;width:100%;filter:drop-shadow(0 40px 34px rgba(70,45,0,.45)) drop-shadow(0 0 1px rgba(255,255,255,.4));animation:queenIn 1.4s var(--ease) .45s both}
@keyframes queenIn{from{opacity:0;transform:translateY(-70px) scale(1.08) rotate(-5deg)}}
.queen-shadow{position:absolute;left:12%;right:6%;bottom:3%;height:14%;border-radius:50%;background:radial-gradient(closest-side,rgba(60,38,0,.55),transparent);filter:blur(6px)}
.tri{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);z-index:3;rotate:var(--r);animation:triIn 1s var(--ease) var(--d) both;will-change:transform}
.tri svg{width:100%;height:100%;overflow:visible;animation:triFloat 7s ease-in-out infinite}
.tri:nth-child(odd) svg{animation-duration:9s;animation-direction:reverse}
.tri path{fill:none;stroke-width:12;stroke-linejoin:miter}
.tri--white{filter:drop-shadow(0 6px 14px rgba(120,80,0,.25))}
.tri--black path{stroke:#141414}
.tri--white path{stroke:#fff}
.tri--gold path{stroke:var(--gold)}
@keyframes triIn{from{opacity:0;filter:blur(10px)}}
@keyframes triFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(9deg)}}

.kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;padding:8px 18px;border:1px solid var(--line-2);border-radius:99px;background:rgba(255,255,255,.03);font-size:16px;letter-spacing:.02em;text-transform:none;color:var(--text);font-weight:500}
.crown{color:var(--gold);font-size:20px;line-height:1}
.hero-h1{font-weight:800;font-size:clamp(46px,5.2vw,92px);line-height:1.02;letter-spacing:-.012em;margin-bottom:24px}
.ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.ln>span{display:inline-block}
[data-anim] .ln>span{transform:translateY(110%);animation:lnUp 1.1s var(--ease) var(--d,0s) forwards}
@keyframes lnUp{to{transform:none}}
.hero-h1 mark{background:none;color:#000;position:relative;z-index:0;padding:0 .12em;margin:0 -.04em}
.hero-h1 mark::before{content:"";position:absolute;inset:.1em -.02em .04em;background:var(--grad);z-index:-1;transform:skewX(-9deg);transform-origin:right;animation:markIn .9s var(--ease) 1.05s both;box-shadow:0 10px 40px -10px rgba(253,207,21,.6)}
@keyframes markIn{from{transform:skewX(-9deg) scaleX(0)}}
.hero .lead{margin-bottom:32px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.btn--phone svg{width:20px;height:20px;fill:var(--gold)}
.btn--phone{direction:ltr}
.trust{display:inline-flex;align-items:center;gap:14px;margin-top:28px}
.trust-avs{display:flex;padding-inline-start:10px}
.trust-avs img,.trust-avs i{width:38px;height:38px;border-radius:50%;border:2px solid var(--bg);margin-inline-start:-10px;object-fit:cover;background:#333;flex:none}
.trust-txt{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font-size:16px}
.trust-txt small{color:var(--muted);font-size:14px;width:100%}
.g-ico{width:20px;height:20px}
.stars{color:#fbbc04;letter-spacing:1px}
[data-anim] .hw,[data-anim] .hero-in{opacity:0;transform:translateY(18px);animation:hw .9s var(--ease) var(--d,0s) forwards}
@keyframes hw{to{opacity:1;transform:none}}

/* ---------- clients band ---------- */
.clients{position:relative;z-index:2;background:#f1f5f7;color:#111;padding:20px 0}
.clients-title{text-align:center;font-size:15px;color:#777;margin-bottom:14px}
.clients-title b{color:#111}
.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-track{display:flex;width:max-content;gap:14px;animation:marq var(--dur,48s) linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}
.clients .marquee-track{gap:0;--dur:70s}
/* RTL marquee: first (best-known) logo starts at the right edge, row drifts rightwards */
.marquee--rtl .marquee-track{animation-name:marqR}
@keyframes marqR{to{transform:translateX(50%)}}
.logo-chip{flex:none;width:210px;height:80px;display:grid;place-items:center;padding:8px 26px;border-inline-start:1px solid #e1e7ea}
.logo-chip img{width:150px;height:54px;object-fit:contain}

/* ==========================================================
   STATEMENT
   ========================================================== */
.stmt{padding:var(--sec) 0}
.stmt-lines{position:relative;text-align:center}
.stmt-row{font-weight:800;font-size:clamp(34px,5.6vw,92px);line-height:1.08;letter-spacing:-.01em}
.stmt-row span{display:inline-block}
.stmt-row--big{font-size:clamp(60px,11vw,190px);line-height:1;color:var(--gold);margin-top:.12em;animation:breathe 3s ease-in-out infinite}
@keyframes breathe{0%,100%{text-shadow:0 0 30px rgba(253,207,21,.25)}50%{text-shadow:0 0 70px rgba(253,207,21,.6)}}
.pen{position:absolute;top:0;left:0;width:16px;height:16px;border-radius:50%;background:var(--gold-hi);box-shadow:0 0 18px 4px rgba(253,207,21,.8),0 0 50px 10px rgba(253,207,21,.35);opacity:0;pointer-events:none}

/* ==========================================================
   REVIEWS + VIDEOS – "don't believe us"
   ========================================================== */
.reviews{position:relative;padding:var(--sec) 0 clamp(70px,8vw,120px);overflow:hidden;isolation:isolate;border-block:1px solid var(--line)}
.reviews::before{content:"";position:absolute;inset-inline:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.6}
.rv-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}
.rv-orb{position:absolute;width:min(900px,90vw);aspect-ratio:1;border-radius:50%;top:-30%;right:-15%;background:radial-gradient(closest-side,rgba(253,207,21,.2),transparent 70%);filter:blur(20px);animation:rvOrb 14s ease-in-out infinite alternate}
.rv-orb--2{top:auto;right:auto;bottom:-40%;left:-20%;background:radial-gradient(closest-side,rgba(66,133,244,.12),transparent 70%);animation-duration:18s}
@keyframes rvOrb{to{transform:translate(-8%,10%) scale(1.15)}}
.rv-bigstars{position:absolute;top:4%;left:50%;translate:-50% 0;font-size:clamp(120px,19vw,340px);line-height:1;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1.5px rgba(253,207,21,.13);white-space:nowrap;animation:rvFloat 9s ease-in-out infinite}
@keyframes rvFloat{50%{transform:translateY(-14px)}}

.rv-top{display:grid;grid-template-columns:1fr auto;align-items:center;gap:clamp(30px,5vw,80px);margin-bottom:clamp(40px,5vw,70px)}
.rv-hook{font-weight:800;line-height:1.02;letter-spacing:-.01em}
.rv-ln{display:block;overflow:hidden;padding-bottom:.08em}
.rv-ln>span{display:inline-block}
.rv-l1{font-size:clamp(26px,2.8vw,46px);color:var(--muted);font-weight:500}
.rv-l2{font-size:clamp(52px,7.4vw,128px)}
.rv-l3{font-size:clamp(26px,2.8vw,46px);color:var(--muted);font-weight:500}
.rv-num{display:inline-block;color:var(--gold);font-weight:900;line-height:.95;text-shadow:0 0 50px rgba(253,207,21,.5)}
.rv-mark{background:none;color:#000;position:relative;z-index:0;padding:0 .14em;font-weight:800}
.rv-mark::before{content:"";position:absolute;inset:.06em -.02em 0;background:var(--grad);z-index:-1;transform:skewX(-9deg) scaleX(0);transform-origin:right;transition:transform .9s var(--ease) .5s}
.reviews.is-in .rv-mark::before{transform:skewX(-9deg) scaleX(1)}

.rv-proof{position:relative;width:300px;display:grid;justify-items:center;gap:8px;text-align:center;padding:28px 26px 24px;border-radius:30px;background:linear-gradient(165deg,rgba(255,255,255,.09),rgba(255,255,255,.02) 60%),#14120e;border:1px solid rgba(253,207,21,.28);box-shadow:0 40px 80px -40px #000,inset 0 1px rgba(255,255,255,.1);overflow:hidden}
.rv-proof-glow{position:absolute;inset:-40% -40% auto;height:80%;background:radial-gradient(closest-side,rgba(253,207,21,.25),transparent);pointer-events:none}
.g-word{position:relative;font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:30px;letter-spacing:-.03em;line-height:1;direction:ltr}
.g-word span:nth-child(1),.g-word span:nth-child(4){color:#4285f4}
.g-word span:nth-child(2),.g-word span:nth-child(6){color:#ea4335}
.g-word span:nth-child(3){color:#fbbc05}
.g-word span:nth-child(5){color:#34a853}
.rv-word{position:relative;font-size:40px;font-weight:800;line-height:1}
.rv-stars-big{position:relative;display:flex;gap:4px;direction:ltr;font-size:30px;line-height:1}
.rv-stars-big i{font-style:normal;color:rgba(255,255,255,.14);transition:color .4s,transform .5s var(--ease),text-shadow .4s}
.reviews.is-in .rv-stars-big i{color:#fbbc04;text-shadow:0 0 18px rgba(251,188,4,.55);animation:starPop .6s var(--ease) both}
.reviews.is-in .rv-stars-big i:nth-child(1){animation-delay:.2s;transition-delay:.2s}
.reviews.is-in .rv-stars-big i:nth-child(2){animation-delay:.35s;transition-delay:.35s}
.reviews.is-in .rv-stars-big i:nth-child(3){animation-delay:.5s;transition-delay:.5s}
.reviews.is-in .rv-stars-big i:nth-child(4){animation-delay:.65s;transition-delay:.65s}
.reviews.is-in .rv-stars-big i:nth-child(5){animation-delay:.8s;transition-delay:.8s}
@keyframes starPop{0%{transform:scale(.4)}60%{transform:scale(1.35)}100%{transform:scale(1)}}
.rv-based{position:relative;color:var(--muted);font-size:15px}
.rv-based b{color:var(--text)}
.rv-proof .trust-avs{position:relative;margin:6px 0 4px}
.rv-proof .trust-avs img{border-color:#14120e}
.rv-link{position:relative;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:15px;color:var(--gold);padding:8px 16px;border-radius:99px;transition:background .3s,color .3s}
.rv-link i{font-style:normal;transition:transform .35s var(--ease)}
.rv-link:hover{background:rgba(253,207,21,.12)}
.rv-link:hover i{transform:translate(-3px,-3px)}

/* review cards – curved 3D row (transform set by JS) */
.rv-stage{position:relative}
.rev-row{padding:26px 0 34px}
.rev-track{--dur:120s;gap:20px;padding-inline:10px}
.rev-card{flex:none;width:min(360px,80vw);direction:rtl;text-align:right;will-change:transform,opacity}
.rev-in{position:relative;height:100%;display:flex;flex-direction:column;gap:12px;padding:24px 24px 26px;border-radius:24px;background:linear-gradient(160deg,rgba(255,255,255,.085),rgba(255,255,255,.02) 55%),#15130f;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 60px -30px #000,inset 0 1px rgba(255,255,255,.08);overflow:hidden;transition:transform .45s var(--ease),border-color .35s,box-shadow .35s}
.rev-in::before{content:"”";position:absolute;bottom:-34px;left:14px;font-family:Georgia,serif;font-size:150px;line-height:1;color:var(--gold);opacity:.13;pointer-events:none}
.rev-in::after{content:"";position:absolute;inset-inline:0;top:0;height:2px;background:var(--grad);transform:scaleX(0);transition:transform .5s var(--ease)}
.rev-card:hover .rev-in{transform:translateY(-6px);border-color:rgba(253,207,21,.5);box-shadow:0 40px 70px -30px #000,0 0 50px -20px rgba(253,207,21,.45)}
.rev-card:hover .rev-in::after{transform:scaleX(1)}
.rev-top{display:flex;align-items:center;gap:12px}
.rev-av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;background:#7a5ad8;flex:none;overflow:hidden;font-size:20px;box-shadow:0 0 0 2px #15130f,0 0 0 3.5px rgba(253,207,21,.55)}
.rev-av img{width:100%;height:100%;object-fit:cover}
.rev-name{font-weight:700;line-height:1.2;display:flex;align-items:center;gap:6px;color:var(--text)}
.rev-ok{width:16px;height:16px;border-radius:50%;background:#4285f4;color:#fff;font-size:10px;display:inline-grid;place-items:center;flex:none}
.rev-date{font-size:13px;color:var(--faint)}
.rev-g{width:22px;height:22px;margin-inline-start:auto;flex:none}
.rev-stars{color:#fbbc04;letter-spacing:2px;font-size:18px;line-height:1}
.rev-text{color:rgba(246,242,234,.88);font-size:16px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}

.vids-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:clamp(20px,3vw,40px);margin-bottom:20px}
.h3{font-size:clamp(26px,2.7vw,40px);font-weight:800;line-height:1.1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.play-dot{width:40px;height:28px;border-radius:9px;background:#ff0033;position:relative;flex:none}
.play-dot::after{content:"";position:absolute;top:50%;left:54%;translate:-50% -50%;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent #fff}

/* ==========================================================
   PROJECTS
   ========================================================== */
.projects{padding-top:var(--sec)}
.projects .bgword{top:2%}
.projects-pin{padding-bottom:var(--sec)}
.hint{color:var(--faint);font-size:15px}
.hint-mob{display:none}
.proj-track-wrap{overflow:hidden}
.proj-track{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:clamp(240px,20vw,340px);gap:26px clamp(18px,2vw,30px);padding-inline:var(--gut);width:max-content}
.proj{min-width:0}
.proj--cta{grid-row:span 2}
.projects .sec-head{margin-bottom:clamp(20px,3vh,40px)}
.proj a{display:block}
.proj-mon{position:relative;border-radius:16px;border:8px solid #1d1b17;aspect-ratio:16/10;overflow:hidden;background:#000;box-shadow:0 40px 80px -40px #000,0 0 0 1px rgba(255,255,255,.06);transition:box-shadow .5s var(--ease),transform .5s var(--ease)}
.proj-mon img{width:100%;height:auto;transform:translateY(0);transition:transform 0s linear,filter .5s;filter:grayscale(.35) brightness(.85)}
.proj:hover .proj-mon{transform:translateY(-6px);box-shadow:0 50px 90px -40px #000,0 0 0 1px var(--gold),0 0 60px -20px rgba(253,207,21,.5)}
.proj:hover .proj-mon img{filter:none;transform:translateY(var(--scroll-y,-70%));transition:transform var(--scroll-t,6s) cubic-bezier(.45,0,.55,1),filter .5s}
.proj-stand{display:none}
.proj-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:12px}
.proj-meta h3{font-size:18px;font-weight:600}
.proj-meta span{font-size:14px;color:var(--faint);direction:ltr}
.proj-go{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:background .3s,transform .4s var(--ease),color .3s;flex:none}
.proj:hover .proj-go{background:var(--gold);color:#000;transform:rotate(45deg)}
.proj--cta{display:flex}
.proj--cta .proj-mon{height:100%;aspect-ratio:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;background:var(--fluid);color:#000;padding:24px;border-color:#2a2722}
.proj--cta h3{font-size:clamp(24px,2.2vw,34px);font-weight:800;line-height:1.1}

/* ==========================================================
   SERVICES
   ========================================================== */
.services{padding:var(--sec) 0}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc{position:relative;border-radius:var(--r);padding:30px 28px 32px;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;overflow:hidden;transition:transform .5s var(--ease),border-color .4s,box-shadow .4s;transform-style:preserve-3d}
.svc::before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(253,207,21,.16),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.svc:hover{border-color:rgba(253,207,21,.5);box-shadow:0 30px 60px -30px rgba(253,207,21,.35)}
.svc:hover::before{opacity:1}
.svc h3{font-size:clamp(23px,1.8vw,28px);font-weight:700}
.svc p{color:var(--muted);font-size:17px}
.svc-num{position:absolute;top:24px;inset-inline-start:28px;font-size:56px;font-weight:200;color:var(--gold);line-height:1;opacity:.85}
.svc-ico{position:absolute;top:24px;inset-inline-end:26px;width:58px;height:58px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.svc-ico *{stroke-dasharray:120;stroke-dashoffset:0}
.svc:hover .svc-ico .ia-a{animation:draw 1.4s var(--ease)}
.svc:hover .svc-ico .ia-b{animation:draw 1.4s var(--ease) .15s both}
.svc:hover .svc-ico .ia-c{animation:draw 1.4s var(--ease) .3s both}
.svc-ico .ia-c{animation:nudge 3s ease-in-out infinite}
@keyframes draw{from{stroke-dashoffset:120}to{stroke-dashoffset:0}}
@keyframes nudge{0%,100%{transform:none}50%{transform:translateY(-2px)}}
.svc--feat{background:var(--fluid);border:0;color:#000}
.svc--feat p{color:rgba(0,0,0,.72)}
.svc--feat .svc-num{color:#000;opacity:.5}
.svc--feat .svc-ico{stroke:#000}
.svc--cta{background:var(--bg-3);border:1px dashed rgba(253,207,21,.45);justify-content:center;align-items:flex-start}
.svc--cta .btn--dark{background:var(--gold);color:#000}

/* ==========================================================
   PROCESS
   ========================================================== */
.process{padding:var(--sec) 0}
.process .bgword{top:20%}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:s}
.step{border-radius:var(--r);padding:30px 26px;min-height:270px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;position:relative}
.step:nth-child(2){margin-top:40px}.step:nth-child(3){margin-top:80px}.step:nth-child(4){margin-top:120px}
.step-n{position:absolute;top:22px;inset-inline-start:26px;font-size:64px;line-height:1;font-weight:200;color:var(--gold)}
.step h3{font-size:28px;font-weight:700}
.step p{color:var(--muted)}
.step--gold{background:var(--fluid);color:#000}
.step--gold p{color:rgba(0,0,0,.72)}
.step--gold .step-n{color:#000;opacity:.55}

/* ==========================================================
   VIDEOS (inside the reviews section)
   ========================================================== */
.row-arrows{display:flex;gap:10px}
.arrow-btn{width:54px;height:54px;border-radius:50%;border:1px solid var(--line-2);font-size:20px;transition:background .3s,color .3s,border-color .3s}
.arrow-btn:hover{background:var(--gold);border-color:var(--gold);color:#000}
.vid-row{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--gut) 10px;scrollbar-width:none;overscroll-behavior-x:contain}
.vid-row::-webkit-scrollbar{display:none}
.vid{flex:none;width:clamp(210px,18vw,270px);scroll-snap-align:start}
.vid button{display:block;width:100%;position:relative;aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#111;box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
.vid img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s;filter:brightness(.78)}
.vid button:hover img{transform:scale(1.06);filter:brightness(.95)}
.vid button::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.35),transparent 30%)}
.vid-play{position:absolute;z-index:2;top:50%;left:50%;translate:-50% -50%;width:66px;height:66px;border-radius:50%;background:var(--grad);display:grid;place-items:center;box-shadow:var(--glow);transition:scale .35s var(--ease)}
.vid-play::before{content:"";border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #000;margin-left:4px}
.vid button:hover .vid-play{scale:1.12}
.vid-name{position:absolute;z-index:2;top:12px;inset-inline-start:12px;max-width:calc(100% - 24px);padding:7px 12px;border-radius:12px;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-align:right;font-weight:700;font-size:15px;line-height:1.2;color:#fff}
.vid-name small{display:block;font-weight:400;color:var(--gold);font-size:12px}

/* ==========================================================
   WHY
   ========================================================== */
.why{padding:var(--sec) 0}
.why-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,90px);align-items:center}
.why-copy>p:not(.label):not(.sub-gold){color:var(--muted);max-width:60ch}
.why-list{display:grid;gap:14px;margin:30px 0}
.why-list li{display:flex;gap:14px;align-items:flex-start}
.tick{flex:none;width:30px;height:30px;border-radius:50%;background:var(--grad);color:#000;display:grid;place-items:center;font-weight:800;font-size:15px}
.why-list b{display:block;font-size:19px}
.why-list span{color:var(--muted);font-size:16px}
.why-ctas{display:flex;flex-wrap:wrap;gap:12px}
.why-visual{position:relative}
.why-photo{border-radius:var(--r);overflow:hidden;border:1px solid var(--line-2);background:var(--fluid);padding:14px}
.why-photo img{border-radius:18px;width:100%}
.why-stat{position:absolute;bottom:-28px;inset-inline-start:-28px;min-width:250px;border-radius:22px;padding:18px 22px 20px;background:#fff;color:#111;box-shadow:0 30px 60px -20px rgba(0,0,0,.7);display:grid;gap:6px}
.ws-top{display:flex;align-items:center;gap:8px}
.ws-top .g-ico{width:22px;height:22px}
.ws-g{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:18px;color:#5f6368;direction:ltr}
.ws-badge{margin-inline-start:auto;font-size:12px;font-weight:600;color:#1a73e8;background:#e8f0fe;border-radius:99px;padding:3px 10px}
.ws-num{display:flex;align-items:baseline;gap:10px}
.ws-num b{font-size:52px;line-height:1;font-weight:800;color:#111}
.ws-num .stars{color:#fbbc04;font-size:20px;letter-spacing:2px}
.ws-txt{font-size:15px;color:#555}
.ws-txt b{color:#111}

/* ==========================================================
   FAQ
   ========================================================== */
.faq{padding:var(--sec) 0}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.faq details{border:1px solid var(--line-2);border-radius:22px;background:rgba(255,255,255,.025);transition:border-color .3s,background .3s}
.faq details[open]{border-color:rgba(253,207,21,.55);background:rgba(253,207,21,.04)}
.faq summary{list-style:none;padding:22px 26px;font-weight:600;font-size:19px;display:flex;justify-content:space-between;gap:16px;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--gold);transition:rotate .35s var(--ease),background .3s}
.faq details[open] summary::after{rotate:45deg;background:var(--gold);color:#000;border-color:var(--gold)}
.faq-a{padding:0 26px 22px;color:var(--muted)}

/* ==========================================================
   CONTACT + FORM
   ========================================================== */
.contact{padding:var(--sec) 0}
.merge{position:relative;height:120px;width:min(900px,86vw);margin:0 auto clamp(30px,5vw,60px)}
.merge-line{position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(253,207,21,.7),transparent)}
.merge-dot{position:absolute;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--gold-hi);box-shadow:0 0 16px 4px rgba(253,207,21,.7)}
.merge-dot--a{left:0}.merge-dot--b{right:0}
.merge-orb{position:absolute;top:50%;left:50%;width:110px;height:110px;margin:-55px 0 0 -55px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff7c2,var(--gold) 35%,var(--gold-3) 70%,#5c4207);box-shadow:0 0 60px 10px rgba(253,207,21,.45),0 0 140px 30px rgba(253,207,21,.2);scale:.2;opacity:0}
.merge-orb.is-live{animation:orb 3s ease-in-out infinite}
@keyframes orb{0%,100%{box-shadow:0 0 60px 10px rgba(253,207,21,.45),0 0 140px 30px rgba(253,207,21,.2)}50%{box-shadow:0 0 80px 18px rgba(253,207,21,.6),0 0 180px 50px rgba(253,207,21,.28)}}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.assure{display:grid;gap:8px;margin:26px 0;font-size:18px}
.assure li{color:var(--text)}
.contact-alt{color:var(--muted)}
.contact-alt a{color:var(--gold);font-weight:600}
.form-card{border-radius:32px;padding:clamp(24px,3vw,40px)}

.lead-form{position:relative}
.lf-progress{height:4px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:24px}
.lf-progress span{display:block;height:100%;width:50%;background:var(--grad);border-radius:4px;transition:width .6s var(--ease)}
.lead-form.is-step2 .lf-progress span{width:100%}
.lf-step{border:0;margin:0;padding:0;min-width:0;display:none}
.lf-step.is-on{display:block;animation:stepIn .55s var(--ease)}
@keyframes stepIn{from{opacity:0;transform:translateX(-24px)}}
.lf-q{font-size:clamp(24px,2.2vw,32px);font-weight:700;margin-bottom:18px;padding:0}
.lf-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lf-opts.shake{animation:shake .4s}
@keyframes shake{25%{translate:6px}50%{translate:-6px}75%{translate:4px}}
.lf-opt input{position:absolute;opacity:0;pointer-events:none}
.lf-opt span{display:flex;align-items:center;gap:10px;min-height:74px;padding:14px 18px;border-radius:18px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);font-weight:600;font-size:18px;cursor:pointer;transition:border-color .25s,background .25s,transform .25s var(--ease)}
.lf-opt span i{font-style:normal;color:var(--gold);font-size:12px;transition:transform .4s var(--ease)}
.lf-opt span:hover{border-color:rgba(253,207,21,.6);transform:translateY(-2px)}
.lf-opt input:checked+span{background:var(--fluid);color:#000;border-color:transparent}
.lf-opt input:checked+span i{color:#000;transform:rotate(45deg)}
.lf-opt input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.lf-note{margin-top:14px;font-size:14px;color:var(--faint)}
.lf-fields{display:grid;gap:10px;margin-bottom:16px}
.lf-field span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lf-field input{width:100%;height:58px;padding:0 20px;border-radius:16px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--text);font:inherit;font-size:18px;transition:border-color .25s,background .25s}
.lf-field input::placeholder{color:var(--faint)}
.lf-field input:focus{outline:0;border-color:var(--gold);background:rgba(253,207,21,.05)}
.lf-field input.is-bad{border-color:#ff6b5b}
.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);opacity:0;pointer-events:none}
.lf-consent{display:flex;align-items:center;gap:9px;margin:2px 2px 14px;font-size:13.5px;color:var(--faint);cursor:pointer;line-height:1.4}
.lf-consent input{position:absolute;opacity:0;width:1px;height:1px}
.lf-box{flex:none;width:17px;height:17px;border-radius:5px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);display:grid;place-items:center;transition:background .2s,border-color .2s}
.lf-box::after{content:"";width:5px;height:9px;border:solid #000;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0}
.lf-consent input:checked+.lf-box{background:var(--gold);border-color:var(--gold)}
.lf-consent input:checked+.lf-box::after{opacity:1}
.lf-consent input:focus-visible+.lf-box{outline:2px solid var(--gold);outline-offset:2px}
.lf-consent a{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.lf-consent.is-bad .lf-box{border-color:#ff6b5b}
.lf-err{color:#ff8a7a;font-size:15px;min-height:0;margin-bottom:8px}
.lf-err:empty{display:none}
.lf-submit.is-busy{pointer-events:none;opacity:.7}
.lf-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;font-size:14px;color:var(--faint)}
.lf-back{color:var(--muted);font-size:15px}
.lf-back:hover{color:var(--gold)}

/* modal */
.modal,.vbox{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:16px}
.modal[hidden],.vbox[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:rgba(5,4,3,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fade .35s ease}
.modal-panel{position:relative;width:min(560px,100%);max-height:calc(100svh - 32px);overflow-y:auto;overflow-x:hidden;border-radius:32px;padding:clamp(26px,4vw,44px);background:linear-gradient(165deg,#1c1a15,#0f0e0b);border:1px solid rgba(253,207,21,.3);box-shadow:0 40px 120px -20px #000,0 0 80px -30px rgba(253,207,21,.4);animation:pop .5s var(--ease)}
.modal-title{font-size:clamp(28px,3vw,40px);font-weight:800;line-height:1.05;margin-bottom:8px;padding-inline-end:40px}
.modal-sub{color:var(--muted);margin-bottom:22px}
.modal-x{position:absolute;top:18px;inset-inline-end:18px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);font-size:16px;z-index:2;transition:background .3s,color .3s}
.modal-x:hover{background:var(--gold);color:#000}
@keyframes fade{from{opacity:0}}
@keyframes pop{from{opacity:0;transform:translateY(26px) scale(.97)}}
.vbox-panel{position:relative;width:min(420px,92vw);animation:pop .5s var(--ease)}
.vbox-panel .modal-x{top:-52px;inset-inline-end:0;background:rgba(0,0,0,.5)}
.vbox-frame{aspect-ratio:9/16;max-height:82svh;border-radius:22px;overflow:hidden;background:#000;margin-inline:auto}
.vbox-frame iframe{width:100%;height:100%;border:0}

/* ==========================================================
   FOOTER
   ========================================================== */
.footer{padding:clamp(60px,8vw,110px) 0 40px;border-top:1px solid var(--line);margin-top:20px}
.footer-big{perspective:600px;font-family:var(--font);font-weight:800;font-size:clamp(48px,10vw,170px);line-height:.85;letter-spacing:-.05em;text-align:left;margin-bottom:50px}
.fch{display:inline-block;transform-origin:50% 100%}
.footer-big .gold{background:linear-gradient(100deg,var(--gold-3) 0%,var(--gold) 35%,#fff8c9 50%,var(--gold) 65%,var(--gold-3) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;display:inline-block}
.footer-big .gold .fch{color:transparent;background:inherit;background-size:inherit;-webkit-background-clip:text;background-clip:text}
.footer-big.is-lit .gold{animation:shine 3.2s ease-in-out infinite}
.footer-big .gold::after{content:"";position:absolute;left:0;right:0;bottom:-.06em;height:.07em;border-radius:9px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease) .6s;box-shadow:0 0 30px rgba(253,207,21,.6)}
.footer-big.is-lit .gold::after{transform:scaleX(1)}
@keyframes shine{0%{background-position:100% 0}60%,100%{background-position:-50% 0}}
.footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;color:var(--faint);font-size:15px}
.footer-row img{height:44px;width:auto;order:3}
.footer-links a:hover{color:var(--gold)}

/* ==========================================================
   FLOATING
   ========================================================== */
.mbar{display:flex;align-items:center;gap:10px;position:fixed;z-index:70;left:22px;bottom:22px;padding:6px;border-radius:99px;background:rgba(15,14,11,.82);border:1px solid var(--line-2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 20px 50px -20px #000;transform:translateY(160%);transition:transform .5s var(--ease)}
.mbar.is-on{transform:none}
.mbar-phone{font-weight:700;direction:ltr;color:var(--gold);order:-1}
.mbar-ico{display:none}

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width:1080px){
  .nav-links{display:none}
  .hero{flex-direction:column;align-items:stretch;min-height:0;padding-bottom:0}
  .hero-copy{width:100%;max-width:720px}
  .hero-stage{position:relative;order:2;width:100%;height:min(88vw,600px);margin-top:40px}
  .hero-panel{clip-path:polygon(0 0,50% 13%,100% 0,100% 100%,0 100%);animation-name:panelInM}
  @keyframes panelInM{from{clip-path:polygon(0 100%,50% 100%,100% 100%,100% 100%,0 100%)}}
  .panel-word{left:50%;translate:-50% -40%;font-size:62vw}
  .hero-queen{left:3%;bottom:5%;width:min(40vw,270px);translate:none}
  .hero-monitor{left:calc(50% - min(33vw,220px));top:20%;width:min(66vw,440px)}
  .hm-frame{transform:rotateY(10deg) rotateX(4deg)}
  .hm-neck{transform:none}
  .seal{left:auto;right:5%;top:auto;bottom:6%;width:96px}
  .tri--gold path{stroke:#141414}
  .tri{left:min(var(--x),84%)}
  .panel-word{display:none}
  .rv-top{grid-template-columns:1fr}
  .rv-proof{width:100%;max-width:420px}
  .svc-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .step:nth-child(n){margin-top:0}
  .why-grid,.contact-grid{grid-template-columns:1fr}
  .why-visual{max-width:520px}
}
@media (max-width:760px){
  :root{--r:24px}
  body{padding-bottom:84px}
  .nav{top:10px;height:60px;inset-inline:10px;padding-inline-start:16px;padding-inline-end:8px}
  .nav-logo img{height:34px}
  .nav-phone span{display:none}
  .nav-phone{width:44px;height:44px;justify-content:center;border-radius:50%;border:1px solid var(--line-2)}
  .nav .btn--sm{--h:44px;padding:0 16px;font-size:14px}
  .hero{padding-top:26px}
  .hero-logo img{height:44px}
  .kicker{font-size:14px;margin-bottom:16px}
  .hero-h1{font-size:clamp(40px,11.2vw,58px);margin-bottom:16px}
  .hero .lead{margin-bottom:22px}
  .hero-ctas .btn{width:100%}
  .hero-ctas .magnet{width:100%}
  .trust{margin-top:20px}
  .hero-stage{margin-top:28px}
  .logo-chip{width:150px;height:66px;padding:6px 16px}
  .logo-chip img{width:112px;height:42px}
  .vids-head .row-arrows{display:none}
  .rv-proof{padding:18px 18px 14px;gap:6px;border-radius:24px}
  .g-word{font-size:24px}
  .rv-word{font-size:30px}
  .rv-stars-big{font-size:24px}
  .rv-proof .trust-avs{margin:2px 0}
  .sec-head--row{flex-direction:column;align-items:flex-start}
  .row-arrows{display:none}
  .hint-desk{display:none}.hint-mob{display:inline}
  .proj-track-wrap{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
  .proj-track-wrap::-webkit-scrollbar{display:none}
  .proj-track{grid-template-rows:auto;grid-auto-columns:80vw}
  .proj{scroll-snap-align:center}
  .proj--cta{grid-row:auto}
  .proj--cta .proj-mon{aspect-ratio:16/10;height:auto}
  .proj-mon img{filter:none}
  .svc-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gut)*-1);padding:4px var(--gut) 14px;scrollbar-width:none}
  .svc-grid::-webkit-scrollbar{display:none}
  .svc{flex:none;width:82vw;scroll-snap-align:center;min-height:300px}
  .steps{grid-template-columns:1fr}
  .step{min-height:0;padding-top:96px}
  .faq-list{grid-template-columns:1fr}
  .faq summary{padding:18px 20px;font-size:18px}
  .faq-a{padding:0 20px 18px}
  .why-stat{inset-inline-start:12px;bottom:-20px}
  .why-ctas .btn{flex:1}
  .lf-opt span{min-height:66px;font-size:17px}
  .modal{align-items:end;padding:0}
  .modal-panel{border-radius:28px 28px 0 0;max-height:94svh;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  @keyframes pop{from{transform:translateY(100%)}}
    .mbar{gap:8px;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));padding:8px}
  .mbar-phone{display:none}
  .mbar-ico{display:grid}
  .mbar.is-on{transform:none}
  .mbar .btn{flex:1;--h:52px;font-size:17px}
  .mbar-ico{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2)}
  .mbar-ico svg{width:22px;height:22px;fill:var(--gold)}
  .footer{padding-bottom:110px}
}

/* reduced motion / a11y "stop animations" */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .marquee-track{animation:none!important}
}
.no-motion *,.no-motion *::before,.no-motion *::after{animation:none!important;transition:none!important}
.no-motion [data-anim] .hw,.no-motion [data-anim] .hero-in{opacity:1;transform:none}
