:root{
  --bg:#05070c; --bg2:#0a0f1a; --panel:#0d1424; --panel2:#111b30;
  --line:rgba(80,160,255,.18); --line2:rgba(80,160,255,.35);
  --blue:#1e8bff; --blue2:#4fc3ff; --glow:rgba(30,139,255,.55);
  --chrome1:#f4f7fb; --chrome2:#aeb8c6; --text:#e6ecf5; --muted:#9aa7bb;
  --radius:16px; --wrap:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 "Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--blue2);text-decoration:none}
a:hover{color:#fff}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
h1,h2,h3,.display{font-family:"Barlow Condensed","Arial Narrow",sans-serif;letter-spacing:.01em;line-height:1.05;margin:0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 13px/1 "Inter",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--blue2)}
.eyebrow::before{content:"";width:22px;height:2px;background:linear-gradient(90deg,var(--blue),var(--blue2));box-shadow:0 0 10px var(--glow)}
.chrome{background:linear-gradient(180deg,var(--chrome1) 0%,#dfe5ee 45%,var(--chrome2) 55%,#e9eef5 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.section{padding:96px 0;position:relative}
.section-head{max-width:720px;margin-bottom:48px}
.section-head h2{font-size:clamp(34px,5vw,54px);font-weight:800;text-transform:uppercase;margin:14px 0 14px}
.section-head p{color:var(--muted);font-size:18px;margin:0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:12px;font:700 16px/1 "Inter",sans-serif;border:1px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .2s,background .2s;white-space:nowrap}
.btn svg{width:20px;height:20px;flex:none}
.btn-primary{background:linear-gradient(180deg,#2c97ff,#0f6fe0);color:#fff;box-shadow:0 8px 30px -8px var(--glow),inset 0 1px 0 rgba(255,255,255,.25)}
.btn-primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 12px 36px -6px var(--glow),inset 0 1px 0 rgba(255,255,255,.3)}
.btn-ghost{background:rgba(255,255,255,.04);border-color:var(--line2);color:var(--text)}
.btn-ghost:hover{color:#fff;border-color:var(--blue2);background:rgba(79,195,255,.08)}
.btn-lg{padding:17px 26px;font-size:18px}

/* Header */
.topbar{background:linear-gradient(90deg,#0b55b8,#1e8bff,#0b55b8);color:#fff;font-size:14px;font-weight:600;text-align:center;padding:8px 16px}
.topbar a{color:#fff;text-decoration:underline;text-underline-offset:3px}
header.site{position:sticky;top:0;z-index:50;background:rgba(5,7,12,.82);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.brand img{height:44px;width:auto}
nav.main{display:flex;align-items:center;gap:28px}
nav.main a.nl{color:var(--muted);font-weight:600;font-size:15px}
nav.main a.nl:hover{color:#fff}
.menu-btn{display:none;background:none;border:1px solid var(--line2);color:#fff;border-radius:10px;width:44px;height:44px;align-items:center;justify-content:center}
.menu-btn svg{width:22px;height:22px}
@media (max-width:920px){
  nav.main{position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:rgba(5,7,12,.97);border-bottom:1px solid var(--line);padding:8px 20px 20px;transform:translateY(-120%);transition:transform .25s}
  nav.main.open{transform:none}
  nav.main a.nl{padding:14px 4px;border-bottom:1px solid var(--line);font-size:17px}
  nav.main .btn{margin-top:16px}
  .menu-btn{display:inline-flex}
}

/* Hero */
.hero{position:relative;overflow:hidden;padding:72px 0 88px;background:
  radial-gradient(900px 500px at 78% 30%,rgba(30,139,255,.28),transparent 60%),
  radial-gradient(700px 400px at 10% 90%,rgba(79,195,255,.12),transparent 60%),
  linear-gradient(180deg,#05070c,#070b14)}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--blue),transparent);box-shadow:0 0 18px var(--glow)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(46px,7.2vw,92px);font-weight:900;text-transform:uppercase;margin:18px 0 18px}
.hero h1 .blue{color:var(--blue2);text-shadow:0 0 28px var(--glow)}
.hero p.lead{font-size:19px;color:#c3cddc;max-width:560px;margin:0 0 30px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero .trust{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:34px;color:var(--muted);font-size:14px;font-weight:600}
.hero .trust span{display:inline-flex;align-items:center;gap:8px}
.hero .trust svg{width:18px;height:18px;color:var(--blue2)}
.hero-art{position:relative}
.hero-art .frame{position:relative;border-radius:24px;padding:3px;background:linear-gradient(135deg,var(--blue2),rgba(30,139,255,.15) 40%,rgba(30,139,255,.1) 60%,var(--blue));box-shadow:0 30px 80px -20px rgba(30,139,255,.55)}
.hero-art .frame img{border-radius:21px;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
@media (max-width:920px){.hero .wrap{grid-template-columns:1fr;gap:40px}.hero-art{max-width:460px}}

/* Service strip */
.strip{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.strip .item{padding:26px 20px;display:flex;gap:14px;align-items:center;border-right:1px solid var(--line)}
.strip .item:last-child{border-right:0}
.strip .item svg{width:30px;height:30px;color:var(--blue2);flex:none}
.strip .item b{display:block;font-size:15px}
.strip .item small{color:var(--muted);font-size:13px}
@media (max-width:860px){.strip .wrap{grid-template-columns:1fr 1fr}.strip .item:nth-child(2){border-right:0}.strip .item:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:480px){.strip .wrap{grid-template-columns:1fr}.strip .item{border-right:0;border-bottom:1px solid var(--line)}.strip .item:last-child{border-bottom:0}}

/* Cards */
.grid{display:grid;gap:20px}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:960px){.grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.grid-3{grid-template-columns:1fr}}
.card{position:relative;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:border-color .2s,transform .2s,box-shadow .2s}
.card:hover{border-color:var(--line2);transform:translateY(-3px);box-shadow:0 20px 50px -25px rgba(30,139,255,.6)}
.card .ico{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,rgba(79,195,255,.35),rgba(30,139,255,.08));border:1px solid var(--line2);margin-bottom:20px}
.card .ico svg{width:28px;height:28px;color:#fff}
.card h3{font-size:26px;font-weight:800;text-transform:uppercase;margin-bottom:10px}
.card p{color:var(--muted);margin:0 0 14px}
.card ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.card li{display:flex;gap:9px;font-size:15px;color:#cdd6e4}
.card li::before{content:"";flex:none;width:6px;height:6px;margin-top:9px;border-radius:50%;background:var(--blue2);box-shadow:0 0 8px var(--glow)}

/* Steps */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:960px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}
.step{padding:28px;border-radius:var(--radius);border:1px solid var(--line);background:rgba(13,20,36,.6)}
.step::before{counter-increment:s;content:"0" counter(s);font:900 46px/1 "Barlow Condensed",sans-serif;display:block;margin-bottom:12px;background:linear-gradient(180deg,var(--blue2),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.step h3{font-size:22px;text-transform:uppercase;margin-bottom:8px}
.step p{margin:0;color:var(--muted);font-size:15px}

/* Pricing */
.pricing{background:linear-gradient(180deg,#070b14,#05070c)}
.price-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:start}
@media (max-width:920px){.price-grid{grid-template-columns:1fr}}
.rate{border-radius:20px;padding:34px;background:radial-gradient(600px 300px at 20% 0%,rgba(30,139,255,.35),transparent 60%),linear-gradient(180deg,#0f1a31,#0b1222);border:1px solid var(--line2);box-shadow:0 30px 70px -30px rgba(30,139,255,.7)}
.rate .label{color:var(--blue2);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px}
.rate .big{font:900 clamp(64px,9vw,96px)/1 "Barlow Condensed",sans-serif;margin:10px 0 2px}
.rate .big small{font-size:.38em;color:var(--muted);font-weight:700}
.rate p{color:#c3cddc}
.rate table{width:100%;border-collapse:collapse;margin:20px 0 6px}
.rate td{padding:11px 0;border-top:1px solid var(--line);font-size:16px}
.rate td:last-child{text-align:right;font-weight:800;font-family:"Barlow Condensed",sans-serif;font-size:22px}
.rate .note{font-size:14px;color:var(--muted);margin:14px 0 0}
.charges{border-radius:20px;border:1px solid var(--line);background:var(--panel);overflow:hidden}
.charges .row{display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:18px 24px;border-top:1px solid var(--line)}
.charges .row:first-child{border-top:0}
.charges .row svg{width:26px;height:26px;color:var(--blue2)}
.charges .row b{display:block;font-size:16px}
.charges .row span{color:var(--muted);font-size:14px}
.charges .row em{font-style:normal;font-weight:700;color:#fff;text-align:right;font-size:15px}
@media (max-width:520px){.charges .row{grid-template-columns:36px 1fr}.charges .row em{grid-column:2;text-align:left;color:var(--blue2)}}
.callout{margin-top:24px;padding:22px 24px;border-radius:16px;border:1px solid var(--line2);background:rgba(30,139,255,.07);display:flex;gap:16px}
.callout svg{width:26px;height:26px;color:var(--blue2);flex:none;margin-top:2px}
.callout p{margin:0;color:#cdd6e4}

/* Area + why */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media (max-width:920px){.split{grid-template-columns:1fr}}
.feature-list{display:grid;gap:16px;margin:0;padding:0;list-style:none}
.feature-list li{display:flex;gap:16px;padding:20px;border-radius:14px;border:1px solid var(--line);background:rgba(13,20,36,.6)}
.feature-list svg{width:26px;height:26px;color:var(--blue2);flex:none;margin-top:2px}
.feature-list b{display:block;margin-bottom:2px}
.feature-list span{color:var(--muted);font-size:15px}
.map-card{border-radius:20px;border:1px solid var(--line2);padding:34px;background:radial-gradient(500px 280px at 70% 20%,rgba(30,139,255,.25),transparent 60%),var(--panel)}
.map-card .mtn{width:100%;height:auto;color:var(--blue2);margin-bottom:22px;opacity:.9}

/* FAQ */
.faq{max-width:860px;margin:0 auto;display:grid;gap:12px}
.faq details{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:20px 56px 20px 22px;font-weight:700;font-size:17px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font:400 26px/1 "Inter",sans-serif;color:var(--blue2);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details[open]{border-color:var(--line2)}
.faq .ans{padding:0 22px 20px;color:var(--muted)}
.faq .ans p{margin:0}

/* Request form */
.request{background:radial-gradient(800px 400px at 50% 0%,rgba(30,139,255,.18),transparent 60%),var(--bg2);border-top:1px solid var(--line)}
.req-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
@media (max-width:920px){.req-grid{grid-template-columns:1fr}}
.big-phone{font:900 clamp(44px,6.5vw,72px)/1 "Barlow Condensed",sans-serif;display:inline-block;margin:6px 0 18px}
form.req{border-radius:20px;border:1px solid var(--line2);background:var(--panel);padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.req .full{grid-column:1/-1}
@media (max-width:560px){form.req{grid-template-columns:1fr}form.req .full{grid-column:auto}}
form.req label{display:grid;gap:7px;font-size:14px;font-weight:600;color:#cdd6e4}
form.req input,form.req select,form.req textarea{width:100%;font:inherit;font-size:16px;color:var(--text);background:#070c17;border:1px solid var(--line2);border-radius:10px;padding:12px 14px;outline:none;transition:border-color .15s,box-shadow .15s}
form.req textarea{min-height:110px;resize:vertical}
form.req input:focus,form.req select:focus,form.req textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 3px rgba(79,195,255,.18)}
form.req .hint{font-size:13px;color:var(--muted);margin:0}
form.req .btns{display:flex;flex-wrap:wrap;gap:12px}

/* Footer */
footer.site{border-top:1px solid var(--line);padding:56px 0 110px;background:#04060a}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
@media (max-width:820px){footer.site .cols{grid-template-columns:1fr}}
footer.site h4{font:700 13px/1 "Inter",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--blue2);margin:0 0 16px}
footer.site ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
footer.site li,footer.site p{color:var(--muted);font-size:15px;margin:0}
footer.site .legal{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);color:#6f7d93;font-size:13px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}

/* Mobile call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(5,7,12,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line2)}
.callbar .btn{flex:1;padding:14px 10px}
@media (max-width:760px){.callbar{display:flex}}
@media (min-width:761px){footer.site{padding-bottom:56px}}

/* Reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.card,.btn{transition:none}}
:focus-visible{outline:2px solid var(--blue2);outline-offset:3px}
