/* ─── RESET ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:#07071a;color:#dde0f0;overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.6}
img,svg{display:block}a{text-decoration:none;color:inherit}ul{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none}

/* ─── TOKENS ─── */
:root{
  --ink:#07071a; --s1:#0d0d22; --s2:#12122a; --s3:#191932;
  --b0:rgba(255,255,255,.05); --b1:rgba(255,255,255,.09); --b2:rgba(255,255,255,.16);
  --blue:#2563eb; --bhi:#3b82f6; --bt:rgba(37,99,235,.10); --bm:rgba(37,99,235,.20);
  --text:#eeeef8; --t2:#8888aa; --t3:#42426a;
  --green:#22c55e;
  --r:8px; --rl:14px; --rxl:20px; --r2:26px;
  --px:clamp(1rem,4vw,2.5rem);
  --e:cubic-bezier(.22,1,.36,1);
}

/* ─── LAYOUT ─── */
.W{width:100%;max-width:1440px;margin:0 auto;padding:0 var(--px)}
.sec{padding:clamp(3.5rem,6vw,6rem) 0}

/* ─── TYPE ─── */
.eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--bhi)}
.eyebrow::before{content:'';width:14px;height:1px;background:var(--bhi);flex-shrink:0}
.D{font-family:'Syne',sans-serif;font-size:clamp(2.4rem,4.5vw,4.2rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;color:var(--text)}
.H{font-family:'Syne',sans-serif;font-size:clamp(1.7rem,3vw,2.75rem);font-weight:700;line-height:1.1;letter-spacing:-.025em;color:var(--text)}
.lead{font-size:.9375rem;line-height:1.8;color:var(--t2)}

/* ─── BTN ─── */
.btn{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;padding:.65rem 1.3rem;border-radius:var(--r);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:all .2s var(--e)}
.btn svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2.2;flex-shrink:0;transition:transform .2s var(--e)}
.btn:hover svg{transform:translate(2px,-2px)}
.btn-p{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-p:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 0 0 4px rgba(37,99,235,.18)}
.btn-o{background:transparent;color:var(--t2);border-color:var(--b2)}
.btn-o:hover{color:var(--text);border-color:var(--b2);background:rgba(255,255,255,.04)}
.btn-sm{font-size:.75rem;padding:.5rem 1rem}

/* ─── NAV ─── */
.nav{position:fixed;top:0;left:0;right:0;z-index:400;height:58px;background:rgba(7,7,26,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--b0)}
.nav-i{display:flex;align-items:center;justify-content:space-between;height:100%;gap:1rem}
.nav-logo img{height:22px;width:auto}
.nav-m{display:flex;align-items:center;gap:.1rem;flex:1;justify-content:center}
.nav-m a{font-size:.8125rem;font-weight:500;color:var(--t2);padding:.4rem .75rem;border-radius:var(--r);transition:all .18s}
.nav-m a:hover{color:var(--text);background:rgba(255,255,255,.05)}
.nav-r{display:flex;align-items:center;gap:.5rem}
.ham{display:none;flex-direction:column;gap:4px;width:34px;height:34px;padding:7px;border-radius:var(--r);border:1px solid var(--b1);cursor:pointer;justify-content:center}
.ham span{display:block;height:1.5px;background:var(--text);border-radius:2px;transition:all .3s var(--e)}
.drw{display:none;position:fixed;top:58px;left:0;right:0;bottom:0;background:var(--ink);z-index:399;padding:1rem var(--px);flex-direction:column;gap:.2rem;overflow-y:auto;border-top:1px solid var(--b0)}
.drw.open{display:flex}
.drw a{font-size:.9375rem;font-weight:500;color:var(--t2);padding:.75rem 1rem;border-radius:var(--r);border-bottom:1px solid var(--b0);transition:all .18s}
.drw a:hover{color:var(--text);background:var(--s1)}
.drw .btn{margin-top:1rem;justify-content:center}

/* ─────────────────────────────────────────────
   HERO  — left text / right visual card
───────────────────────────────────────────── */
.hero{padding-top:calc(58px + clamp(3rem,5.5vw,5rem));padding-bottom:clamp(3rem,5vw,4.5rem);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(37,99,235,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.035) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(ellipse 85% 55% at 50% 0%,black 20%,transparent 100%);pointer-events:none}
.hero::after{content:'';position:absolute;top:58px;left:50%;transform:translateX(-50%);width:900px;height:450px;background:radial-gradient(ellipse at 50% 0%,rgba(37,99,235,.15) 0%,transparent 65%);pointer-events:none}
.hero-l{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;position:relative;z-index:1}
.badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:600;color:var(--bhi);background:var(--bt);border:1px solid var(--bm);padding:.3rem .85rem;border-radius:100px;margin-bottom:1.375rem}
.badge-dot{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 5px var(--green);animation:blink 2s infinite}
@keyframes blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}
.hero-title{margin-bottom:1.125rem}
.hero-title .g{background:linear-gradient(120deg,#60a5fa 0%,#a78bfa 55%,#38bdf8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{max-width:40ch;margin-bottom:2rem}
.hero-btns{display:flex;gap:.625rem;flex-wrap:wrap;margin-bottom:2.5rem}
.hero-stats{display:flex;gap:1.75rem;flex-wrap:wrap;padding-top:1.75rem;border-top:1px solid var(--b0)}
.sn{font-family:'Syne',sans-serif;font-size:1.625rem;font-weight:700;letter-spacing:-.025em;line-height:1;color:var(--text)}
.sn span{color:var(--bhi)}
.sl{font-size:.6875rem;font-weight:500;color:var(--t3);margin-top:.2rem;text-transform:uppercase;letter-spacing:.07em}

/* hero card */
.hc{background:var(--s2);border:1px solid var(--b1);border-radius:var(--r2);overflow:hidden;flex-shrink:0}
.hc-top{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.125rem;border-bottom:1px solid var(--b0);background:var(--s3)}
.hc-dots{display:flex;gap:5px}
.hc-dot{width:8px;height:8px;border-radius:50%}
.hc-lbl{font-size:.625rem;font-weight:600;color:var(--t2)}
.live{display:flex;align-items:center;gap:.3rem;font-size:.5625rem;font-weight:700;color:var(--green);letter-spacing:.09em;text-transform:uppercase}
.live::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--green);box-shadow:0 0 5px var(--green);animation:blink 2s infinite}
.hc-b{padding:1rem}
.roi-row{display:flex;align-items:center;gap:1rem;background:var(--s3);border:1px solid var(--b0);border-radius:var(--rl);padding:.875rem 1rem;margin-bottom:.625rem}
.rw{position:relative;flex-shrink:0;width:64px;height:64px}
.rw svg{transform:rotate(-90deg)}
.rv2{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:var(--text)}
.ri-lbl{font-size:.625rem;font-weight:600;color:var(--t2);margin-bottom:.15rem}
.ri-big{font-family:'Syne',sans-serif;font-size:1.25rem;font-weight:700;color:var(--text);letter-spacing:-.02em}
.ri-d{font-size:.5625rem;font-weight:600;color:var(--green);margin-top:.1rem}
.brs{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.625rem}
.br .bt{display:flex;justify-content:space-between;font-size:.5625rem;font-weight:600;color:var(--t2);margin-bottom:.2rem}
.tr{height:2.5px;background:var(--s3);border-radius:2px;overflow:hidden}
.tf{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--bhi));animation:grow 1.2s var(--e) both}
@keyframes grow{from{width:0!important}}
.chs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.ch{background:var(--s3);border:1px solid var(--b0);border-radius:var(--rl);padding:.625rem .75rem}
.ch.hi{background:var(--blue);border-color:var(--blue)}
.ch-v{font-family:'Syne',sans-serif;font-size:1.125rem;font-weight:700;line-height:1;color:var(--text)}
.ch.hi .ch-v{color:#fff}
.ch-l{font-size:.5625rem;font-weight:600;color:var(--t2);margin-top:.15rem}
.ch.hi .ch-l{color:rgba(255,255,255,.65)}

/* ─────────────────────────────────────────────
   TICKER
───────────────────────────────────────────── */
.ticker{overflow:hidden;padding:.55rem 0;background:var(--s1);border-top:1px solid var(--b0);border-bottom:1px solid var(--b0)}
.ti-t{display:flex;width:max-content;animation:tick 28s linear infinite}
.ti-t:hover{animation-play-state:paused}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ti{display:flex;align-items:center;gap:1rem;font-size:.5625rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--t3);padding:0 1.625rem;border-right:1px solid var(--b0);white-space:nowrap}
.ti b{color:var(--t2)}.tid{color:var(--bhi);font-size:.375rem}

/* ─────────────────────────────────────────────
   ABOUT  — 3-column bento grid
   Left: text  |  Right: 2-column card grid
───────────────────────────────────────────── */
.about-wrap{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.a-text{display:flex;flex-direction:column;gap:1.125rem}
.pillars{border-top:1px solid var(--b0)}
.pill{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--b0);transition:padding-left .18s var(--e);cursor:default}
.pill:hover{padding-left:.4rem}
.pill-n{font-size:.875rem;font-weight:600;color:var(--text)}
.pill-a{width:24px;height:24px;border-radius:50%;border:1px solid var(--b1);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .18s var(--e)}
.pill:hover .pill-a{background:var(--blue);border-color:var(--blue)}
.pill-a svg{width:9px;height:9px;stroke:var(--t2);fill:none;stroke-width:2.5;transition:stroke .18s}
.pill:hover .pill-a svg{stroke:#fff}

/* bento right: 2x2 card grid */
.bento{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:.75rem}
.bc{background:var(--s2);border:1px solid var(--b1);border-radius:var(--r2);padding:1.375rem;overflow:hidden;position:relative;transition:border-color .18s}
.bc:hover{border-color:rgba(37,99,235,.3)}
.bc.tall{grid-row:span 2;display:flex;flex-direction:column;justify-content:space-between}
.bc.blue{background:linear-gradient(140deg,#1d4ed8,#2563eb);border-color:var(--blue)}
.bc-label{font-size:.5625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t2);margin-bottom:.5rem}
.bc.blue .bc-label{color:rgba(255,255,255,.6)}
.bc-num{font-family:'Syne',sans-serif;font-size:2.25rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--text)}
.bc.blue .bc-num{color:#fff}
.bc-sub{font-size:.6875rem;color:var(--t2);margin-top:.25rem;line-height:1.5}
.bc.blue .bc-sub{color:rgba(255,255,255,.6)}
.bc-body{font-size:.8125rem;color:var(--t2);line-height:1.75}
/* animated bar inside bento card */
.bc-bars{margin-top:auto;display:flex;flex-direction:column;gap:.375rem}
.bb-row{display:flex;align-items:center;gap:.5rem}
.bb-lbl{font-size:.5625rem;font-weight:600;color:rgba(255,255,255,.6);width:50px;flex-shrink:0}
.bb-track{flex:1;height:2.5px;background:rgba(255,255,255,.15);border-radius:2px;overflow:hidden}
.bb-fill{height:100%;border-radius:2px;background:rgba(255,255,255,.7);animation:grow 1.2s var(--e) both}
/* globe inside tall card */
.bc-globe{flex:1;display:flex;align-items:center;justify-content:center;position:relative}

/* ─────────────────────────────────────────────
   SERVICES  — card grid (NOT list)
   3 cols top row, 3 cols bottom row
───────────────────────────────────────────── */
.svc-head{display:grid;grid-template-columns:1fr 400px;gap:2rem;align-items:end;margin-bottom:2.5rem}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.sc{background:var(--s2);border:1px solid var(--b1);border-radius:var(--r2);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:all .2s var(--e);cursor:default}
.sc:hover{border-color:rgba(37,99,235,.35);background:var(--s3);transform:translateY(-3px)}
.sc-icon{width:40px;height:40px;border-radius:var(--rl);background:var(--bt);border:1px solid var(--bm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s var(--e)}
.sc:hover .sc-icon{background:var(--blue);border-color:var(--blue)}
.sc-icon svg{width:18px;height:18px;stroke:var(--bhi);fill:none;stroke-width:1.8;transition:stroke .18s}
.sc:hover .sc-icon svg{stroke:#fff}
.sc-num{font-size:.5625rem;font-weight:700;letter-spacing:.12em;color:var(--t3);text-transform:uppercase}
.sc-name{font-family:'Syne',sans-serif;font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.01em;transition:color .18s}
.sc:hover .sc-name{color:var(--bhi)}
.sc-desc{font-size:.8rem;color:var(--t2);line-height:1.7;flex:1}
.sc-tags{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:auto}
.stag{font-size:.5625rem;font-weight:500;color:var(--t3);background:var(--s1);border:1px solid var(--b0);padding:.18rem .5rem;border-radius:100px;transition:all .18s}
.sc:hover .stag{border-color:var(--bm);color:var(--bhi);background:var(--bt)}
.sc-arrow{display:flex;align-items:center;gap:.3rem;font-size:.6875rem;font-weight:600;color:var(--t3);margin-top:.75rem;transition:color .18s}
.sc-arrow svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.5;transition:transform .18s var(--e)}
.sc:hover .sc-arrow{color:var(--bhi)}
.sc:hover .sc-arrow svg{transform:translate(2px,-2px)}
.svc-cta{text-align:center;padding-top:2.5rem;margin-top:2.5rem;border-top:1px solid var(--b0)}

/* ─────────────────────────────────────────────
   PACKAGES  — tabs + cards
───────────────────────────────────────────── */
.tab-bar{display:flex;gap:.2rem;flex-wrap:wrap;background:var(--s2);border:1px solid var(--b1);border-radius:var(--rl);padding:.28rem;margin-bottom:1.625rem}
.tab{font-size:.75rem;font-weight:600;color:var(--t2);padding:.45rem .875rem;border-radius:var(--r);transition:all .18s;white-space:nowrap;cursor:pointer}
.tab:hover{color:var(--text)}
.tab.on{background:var(--blue);color:#fff}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.plans.hid{display:none}
.plan{background:var(--s2);border:1px solid var(--b1);border-radius:var(--rxl);padding:1.5rem;display:flex;flex-direction:column;position:relative;transition:border-color .2s,transform .2s var(--e)}
.plan:hover{border-color:rgba(37,99,235,.3);transform:translateY(-3px)}
.plan.pop{border-color:var(--blue);background:linear-gradient(155deg,rgba(37,99,235,.07) 0%,var(--s2) 55%)}
.pop-pill{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-size:.5625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .8rem;border-radius:100px;white-space:nowrap}
.plan-name{font-family:'Syne',sans-serif;font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.2rem}
.plan-desc{font-size:.75rem;color:var(--t2);line-height:1.55;margin-bottom:1.25rem}
.plan-price{font-family:'Syne',sans-serif;font-size:2.25rem;font-weight:800;color:var(--text);letter-spacing:-.04em;line-height:1;margin-bottom:1.25rem}
.plan-price sup{font-size:.9375rem;color:var(--bhi);vertical-align:top;margin-top:.25rem;font-family:'Inter',sans-serif;font-weight:600}
.plan-price sub{font-size:.625rem;font-weight:400;color:var(--t2);font-family:'Inter',sans-serif}
.plan-hr{height:1px;background:var(--b0);margin-bottom:1.25rem}
.plan-feats{flex:1;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}
.plan-feats li{display:flex;align-items:flex-start;gap:.5rem;font-size:.75rem;color:var(--t2);line-height:1.5}
.fi{width:13px;height:13px;border-radius:50%;flex-shrink:0;margin-top:.1rem;background:var(--bt);border:1px solid var(--bm);display:flex;align-items:center;justify-content:center}
.fi svg{width:6px;height:6px;stroke:var(--bhi);fill:none;stroke-width:2.5}
.plan-ideal{font-size:.6875rem;font-weight:600;color:var(--bhi);opacity:.7;margin-bottom:1rem}
.plan-btn{display:block;text-align:center;font-size:.8125rem;font-weight:600;padding:.6rem;border-radius:var(--r);border:1px solid var(--b1);color:var(--t2);transition:all .18s}
.plan-btn:hover,.plan.pop .plan-btn{background:var(--blue);color:#fff;border-color:var(--blue)}

/* ─────────────────────────────────────────────
   BANNER
───────────────────────────────────────────── */
.banner{background:linear-gradient(130deg,#1e40af,#2563eb 50%,#3b82f6);border-radius:var(--r2);padding:clamp(1.75rem,3vw,2.75rem) clamp(1.5rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1.75rem;flex-wrap:wrap;position:relative;overflow:hidden;margin:clamp(3rem,5vw,5rem) 0}
.banner::before{content:'';position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.07)}
.banner::after{content:'';position:absolute;right:70px;bottom:-70px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.04)}
.ban-h{font-family:'Syne',sans-serif;font-size:clamp(1.25rem,2.2vw,1.875rem);font-weight:700;color:#fff;margin-bottom:.35rem;letter-spacing:-.02em}
.ban-p{font-size:.875rem;color:rgba(255,255,255,.7);line-height:1.7;max-width:42ch}
.btn-w{background:#fff;color:var(--blue);font-size:.8125rem;font-weight:700;padding:.75rem 1.625rem;border-radius:var(--r);border:none;white-space:nowrap;flex-shrink:0;display:inline-block;transition:transform .2s var(--e),box-shadow .2s; z-index: 1;}
.btn-w:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.25)}

/* ─────────────────────────────────────────────
   PROCESS  — horizontal numbered steps with connector line
───────────────────────────────────────────── */
.proc-head{text-align:center;max-width:460px;margin:0 auto 2.75rem}
.proc-steps{display:grid;grid-template-columns:repeat(4,1fr);position:relative;gap:0}
/* connector line */
.proc-steps::before{content:'';position:absolute;top:20px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--b1) 20%,var(--b1) 80%,transparent);z-index:0}
.ps{background:var(--s1);border:1px solid var(--b0);padding:1.5rem 1.25rem;transition:background .2s;position:relative;z-index:1}
.ps:first-child{border-radius:var(--r2) 0 0 var(--r2)}
.ps:last-child{border-radius:0 var(--r2) var(--r2) 0}
.ps+.ps{border-left:none}
.ps:hover{background:var(--s2)}
.ps:hover .ps-ico{background:var(--blue);border-color:var(--blue)}
.ps:hover .ps-ico svg{stroke:#fff}
.ps-ico{width:38px;height:38px;border-radius:var(--rl);background:var(--bt);border:1px solid var(--bm);display:flex;align-items:center;justify-content:center;margin-bottom:1.125rem;transition:all .2s var(--e)}
.ps-ico svg{width:16px;height:16px;stroke:var(--bhi);fill:none;stroke-width:1.8;transition:stroke .18s}
.ps-step{font-size:.5625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);margin-bottom:.35rem}
.ps-title{font-size:.9375rem;font-weight:700;color:var(--text);margin-bottom:.35rem}
.ps-desc{font-size:.75rem;color:var(--t2);line-height:1.75}

/* ─────────────────────────────────────────────
   CONTACT  — full-width form + left info
───────────────────────────────────────────── */
.cg{display:grid;grid-template-columns:1fr 1.25fr;gap:3.5rem;align-items:center}
.c-info{}
.net-v{background:var(--s2);border:1px solid var(--b1);border-radius:var(--rxl);padding:1.375rem;margin-bottom:1.375rem;overflow:hidden}
.net-lbl{font-size:.5625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);margin-bottom:.875rem;display:flex;align-items:center;gap:.5rem}
.net-lbl::after{content:'';flex:1;height:1px;background:var(--b0)}
.cd{display:flex;gap:.75rem;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid var(--b0)}
.cd:first-of-type{padding-top:0}
.cd-i{width:32px;height:32px;border-radius:var(--r);background:var(--s2);border:1px solid var(--b0);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .18s}
.cd:hover .cd-i{background:var(--bt);border-color:var(--bm)}
.cd-i svg{width:12px;height:12px;stroke:var(--bhi);fill:none;stroke-width:1.8}
.cd-lbl{font-size:.5625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);margin-bottom:.15rem}
.cd-val{font-size:.8125rem;font-weight:500;color:var(--text)}
.fc{background:var(--s2);border:1px solid var(--b1);border-radius:var(--rxl);padding:1.75rem}
.fc-title{font-family:'Syne',sans-serif;font-size:1.125rem;font-weight:700;color:var(--text);margin-bottom:1.25rem}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.fg{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}
.fg label{font-size:.5625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t2)}
.fg input,.fg select,.fg textarea{font-family:'Inter',sans-serif;font-size:.875rem;color:var(--text);background:var(--ink);border:1px solid var(--b1);border-radius:var(--r);padding:.6rem .8rem;outline:none;line-height:1.5;transition:border-color .18s}
.fg input::placeholder,.fg textarea::placeholder{color:var(--t3)}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--blue)}
.fg textarea{resize:vertical;min-height:80px}
.fg select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%2342426a' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:1.875rem}
.fg option{background:var(--s2)}
.fsub{width:100%;font-family:'Inter',sans-serif;font-size:.875rem;font-weight:700;background:var(--blue);color:#fff;padding:.7rem;border-radius:var(--r);border:none;cursor:pointer;transition:background .18s,transform .18s var(--e)}
.fsub:hover{background:#1d4ed8;transform:translateY(-1px)}

/* ─────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────── */
.footer{background:var(--s1);border-top:1px solid var(--b0);padding:3rem 0 1.75rem}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--b0);margin-bottom:1.5rem}
.fl img{height:21px;margin-bottom:.875rem}
.fl p{font-size:.75rem;color:var(--t2);line-height:1.85;max-width:22ch}
.fch{font-size:.5625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);margin-bottom:.875rem}
.flinks{display:flex;flex-direction:column;gap:.5rem}
.flinks a{font-size:.75rem;color:var(--t2);transition:color .18s}
.flinks a:hover{color:var(--bhi)}
.fci{display:flex;gap:.5rem;align-items:flex-start;margin-bottom:.6rem}
.fci svg{width:11px;height:11px;stroke:var(--bhi);fill:none;stroke-width:2;flex-shrink:0;margin-top:.2rem}
.fci span{font-size:.75rem;color:var(--t2);line-height:1.6}
.fbot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}
.fcopy{font-size:.6875rem;color:var(--t3)}
.socs{display:flex;gap:.375rem}
.soc{width:28px;height:28px;border-radius:var(--r);border:1px solid var(--b0);display:flex;align-items:center;justify-content:center;transition:all .18s}
.soc:hover{border-color:var(--blue);background:var(--bt)}
.soc svg{width:11px;height:11px;stroke:var(--t2);fill:none;stroke-width:1.8;transition:stroke .18s}
.soc:hover svg{stroke:var(--bhi)}

/* ─── REVEAL ─── */
.rv{opacity:0;transform:translateY(16px);transition:opacity .55s var(--e),transform .55s var(--e)}
.rv.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}

/* ─── RESPONSIVE ─── */
@media(max-width:1020px){
  .hero-l{grid-template-columns:1fr;max-width:560px}
  .hc{display:none}
  .about-wrap{grid-template-columns:1fr}
  .bento{display:none}
  .svc-head{grid-template-columns:1fr}
  .cg{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr;gap:1.75rem}
}
@media(max-width:768px){
  .nav-m,.nav-r .btn-o{display:none}
  .ham{display:flex}
  .svc-grid{grid-template-columns:1fr 1fr}
  .proc-steps{grid-template-columns:1fr 1fr}
  .proc-steps::before{display:none}
  .ps:first-child{border-radius:var(--r2) var(--r2) 0 0}
  .ps:last-child{border-radius:0 0 var(--r2) var(--r2)}
  .ps+.ps{border-left:1px solid var(--b0);border-top:none}
  .plans{grid-template-columns:1fr}
  .plan.pop{margin-top:.875rem}
  .banner{flex-direction:column;text-align:center}
  .frow{grid-template-columns:1fr}
}
@media(max-width:520px){
  .svc-grid{grid-template-columns:1fr}
  .proc-steps{grid-template-columns:1fr}
  .ps:first-child{border-radius:var(--r2) var(--r2) 0 0}
  .fgrid{grid-template-columns:1fr}
  .hero-stats{gap:1.25rem}
  .tab{font-size:.6875rem;padding:.4rem .7rem}
  .nav-i a img {
    max-width: 150px;
    object-fit: contain;
}
}

.wpcf7 input,
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    font-family: inherit;
    font-size: inherit;
}

.wpcf7-form {
    margin: 0;
}

.wpcf7-submit {
    border: none;
    cursor: pointer;
}