*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
--bg:#050505;--bg2:#0a0a0a;--sfc:#111;--sfc2:#181818;
--brd:#1e1e1e;--brd2:#2a2a2a;--brd3:#3a3a3a;
--txt:#fafafa;--txt2:#a3a3a3;--txt3:#737373;
--acc:#3b82f6;--acc2:#2563eb;--accg:rgba(59,130,246,0.1);
--grn:#22c55e;--grnglow:rgba(34,197,94,0.25);
--sans:'Inter',system-ui,sans-serif;--mono:'JetBrains Mono',monospace;
--e:0.2s ease;--r:8px;--r2:12px
}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--txt2);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
button,.btn{border:none;background:none;cursor:pointer;font-family:inherit;font-size:inherit}
img{max-width:100%;display:block}
ul{list-style:none}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-0.02em;color:var(--txt)}
p{max-width:100%}
.wrap{width:100%;max-width:1100px;margin:0 auto;padding:0 20px}
@media(min-width:768px){.wrap{padding:0 40px}}
.brand-svg{color:var(--acc)}

/* BG */
.bg-glow{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 50% at 20% 20%,rgba(59,130,246,0.05),transparent),radial-gradient(ellipse 70% 60% at 80% 80%,rgba(59,130,246,0.03),transparent)}
.bg-grid{position:fixed;top:0;left:0;right:0;bottom:0;z-index:0;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse 70% 40% at 50% 0%,black 10%,transparent 100%);mask-image:radial-gradient(ellipse 70% 40% at 50% 0%,black 10%,transparent 100%)}

/* Nav */
.nav{position:sticky;top:0;z-index:999;background:rgba(5,5,5,.88);border-bottom:1px solid var(--brd);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.nav-f{display:flex;align-items:center;justify-content:space-between;height:56px}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.05rem;color:var(--txt);line-height:1}
.nav-l{display:none;gap:24px}
@media(min-width:768px){.nav-l{display:flex}}
.nav-l a{font-size:.85rem;font-weight:500;color:var(--txt3)}
.nav-l a:hover,.nav-l a.active{color:var(--txt)}
@media(max-width:767px){.nav .btn{position:absolute;right:40px}}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;font-size:.85rem;padding:10px 20px;border-radius:var(--r);transition:all var(--e);white-space:nowrap;text-decoration:none;text-align:center}
.btn-p{background:var(--acc);color:#fff}
.btn-p:hover{background:var(--acc2);transform:translateY(-1px);box-shadow:0 4px 16px rgba(59,130,246,0.3)}
.btn-g{border:1px solid var(--brd2);color:var(--txt)}
.btn-g:hover{border-color:var(--acc);color:var(--acc)}
.btn-lg{padding:12px 28px;font-size:.9rem}

/* Tag */
.tag{font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--acc);display:inline-block;margin-bottom:10px}

/* Section header */
.sec-h{margin-bottom:32px}
.sec-h h2{font-size:1.5rem;font-weight:800}
@media(min-width:768px){.sec-h h2{font-size:2rem}}
.sec-h p{color:var(--txt3);margin-top:6px}

/* Hero */
.hero{min-height:100vh;min-height:100dvh;display:flex;align-items:center;position:relative;z-index:1;padding:80px 0;padding-bottom:0}
.hero-c{max-width:680px;width:100%}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;border:1px solid rgba(34,197,94,0.2);background:rgba(34,197,94,0.06);font-family:var(--mono);font-size:.65rem;color:var(--grn)}
.badge-dot{width:5px;height:5px;border-radius:50%;background:var(--grn);box-shadow:0 0 6px var(--grnglow)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}} .dot-a{animation:pulse 1.5s ease-in-out infinite}
.hero h1{font-size:2.2rem;font-weight:800;color:var(--txt);margin-top:20px;margin-bottom:4px}
@media(min-width:480px){.hero h1{font-size:2.8rem}}
@media(min-width:768px){.hero h1{font-size:3.5rem}}
@media(min-width:1024px){.hero h1{font-size:4rem}}
.hero h1 span{display:block}
.hero h1 .hl2{color:var(--acc)}
.hero-p{font-size:.95rem;color:var(--txt3);margin-top:12px;margin-bottom:28px;max-width:500px;line-height:1.7}
@media(min-width:768px){.hero-p{font-size:1.1rem}}
.btns{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
@media(min-width:768px){.btns{margin-bottom:32px}}
.trust{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.trust-l{color:var(--txt3);font-size:.75rem}
.trust-t{font-family:var(--mono);font-size:.65rem;color:var(--txt3);background:var(--sfc);border:1px solid var(--brd);padding:2px 8px;border-radius:3px}
.trust-d{color:var(--brd3);font-size:.4rem}

/* Stats */
.stats{border-top:1px solid var(--brd);border-bottom:1px solid var(--brd);background:var(--sfc);padding:24px 0;position:relative;z-index:1}
.stats-g{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(min-width:768px){.stats-g{grid-template-columns:repeat(4,1fr)}}
.stat{text-align:center}
.stat-n{font-size:1.8rem;font-weight:800;color:var(--txt);font-family:var(--mono);line-height:1}
@media(min-width:768px){.stat-n{font-size:2.2rem}}
.stat-l{font-size:.65rem;color:var(--txt3);margin-top:6px;font-weight:500;text-transform:uppercase;letter-spacing:.04em}

/* Sections */
.sec{padding:48px 0;position:relative;z-index:1}
@media(min-width:768px){.sec{padding:64px 0}}
.sec-dk{background:var(--bg2);border-top:1px solid var(--brd)}

/* Service cards */
.sg{display:grid;gap:12px}
@media(min-width:768px){.sg{grid-template-columns:1fr 1fr}}
.card-svc{background:var(--sfc);border:1px solid var(--brd);border-radius:var(--r2);padding:24px}
.card-svc:hover{border-color:var(--brd3)}
.svc-ico{width:36px;height:36px;background:var(--accg);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--acc);margin-bottom:14px}
.card-svc h3{font-size:.95rem;font-weight:700;color:var(--txt);margin-bottom:6px}
.card-svc p{font-size:.82rem;color:var(--txt3);margin-bottom:10px;line-height:1.6}
.card-svc .tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px}
.card-svc .tags span{font-family:var(--mono);font-size:.55rem;color:var(--txt3);background:var(--bg);border:1px solid var(--brd);padding:2px 6px;border-radius:3px}
.lnk{font-size:.85rem;font-weight:600;color:var(--acc)}

/* Why grid */
.wg{display:grid;gap:10px}
@media(min-width:768px){.wg{grid-template-columns:1fr 1fr}}
.wc{background:var(--sfc);border:1px solid var(--brd);border-radius:var(--r2);padding:20px}
.wn{font-family:var(--mono);font-size:.65rem;color:var(--txt3);margin-bottom:6px}
.wc h4{font-size:.9rem;font-weight:700;color:var(--txt);margin-bottom:4px}
.wc p{font-size:.82rem;color:var(--txt3);line-height:1.5}

/* CTA */
.sec-cta{text-align:center;padding:48px 0;position:relative;z-index:1}
@media(min-width:768px){.sec-cta{padding:64px 0}}
.sec-cta h2{font-size:1.5rem;font-weight:800;color:var(--txt);margin-bottom:8px}
@media(min-width:768px){.sec-cta h2{font-size:2rem}}
.sec-cta p{color:var(--txt3);margin-bottom:24px;max-width:480px;margin-left:auto;margin-right:auto}

/* Footer */
.ft{border-top:1px solid var(--brd);padding:40px 0 20px;background:var(--bg2);position:relative;z-index:1}
.ft-g{display:grid;gap:24px;margin-bottom:28px}
@media(min-width:768px){.ft-g{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}}
.ft-b{display:flex;align-items:center;gap:6px;font-weight:700;font-size:1rem;color:var(--txt);margin-bottom:8px}
.ft-d{font-size:.8rem;color:var(--txt3);max-width:260px;line-height:1.5}
.ft h5{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--txt);margin-bottom:10px;font-weight:600}
.ft a{display:block;padding:2px 0;font-size:.82rem;color:var(--txt3)}
.ft a:hover{color:var(--txt)}
.ft-bot{border-top:1px solid var(--brd);padding-top:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:.65rem;color:var(--txt3)}

/* ═══ Page Hero ═══ */
.pg-hero{padding:100px 0 40px;min-height:55vh;display:flex;align-items:center}
@media(min-width:768px){.pg-hero{padding:120px 0 60px}}
.pg-hero h1{font-size:2rem;font-weight:800;color:var(--txt);line-height:1.1}
@media(min-width:768px){.pg-hero h1{font-size:2.8rem}}
@media(min-width:1024px){.pg-hero h1{font-size:3.2rem}}
.pg-hero p{max-width:100%;line-height:1.7}

/* ═══ About: Story grid ═══ */
.story-g{display:grid;gap:32px;margin-top:12px}
@media(min-width:768px){.story-g{grid-template-columns:1fr 1fr;gap:40px}}
.sc p{color:var(--txt3);margin-bottom:12px;line-height:1.7}

/* Terminal box */
.term-box{background:var(--sfc);border:1px solid var(--brd);border-radius:var(--r2);overflow:hidden;font-family:var(--mono);font-size:.7rem}
.tm-h{display:flex;align-items:center;gap:5px;padding:8px 14px;border-bottom:1px solid var(--brd);background:var(--sfc2)}
.tm-dots{display:flex;gap:4px}
.tm-dot{width:8px;height:8px;border-radius:50%}
.tm-dot:nth-child(1){background:#ef4444}.tm-dot:nth-child(2){background:#eab308}.tm-dot:nth-child(3){background:#22c55e}
.tm-t{color:var(--txt3);font-size:.55rem;margin-left:6px}
.tm-b{padding:14px;line-height:1.9}
.tm-cmd{color:var(--acc)}.tm-out{color:var(--txt3)}.tm-ok{color:var(--grn);margin-top:8px}

/* Timeline */
.tl{border-left:2px solid var(--brd);margin-top:24px;max-width:100%}
@media(min-width:600px){.tl{max-width:540px}}
.tl-i{padding:0 0 20px 20px;position:relative;border-bottom:1px solid var(--brd)}
.tl-i:last-child{border-bottom:none}
.tl-i::before{content:'';position:absolute;left:-7px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--acc);border:2px solid var(--bg)}
.tl-y{font-family:var(--mono);font-size:.65rem;color:var(--acc);margin-bottom:4px}
.tl-i h4{font-size:.9rem;font-weight:700;color:var(--txt);margin-bottom:3px}
.tl-i p{font-size:.82rem;color:var(--txt3);line-height:1.5}

/* Team */
.tg{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:20px}
.tc{background:var(--sfc);border:1px solid var(--brd);border-radius:var(--r2);padding:20px 16px;text-align:center}
.ta{width:48px;height:48px;background:var(--accg);border:1px solid var(--brd);border-radius:8px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;color:var(--acc);font-size:.9rem}
.tc h4{font-size:.9rem;font-weight:700;color:var(--txt);margin-bottom:2px}
.tc .tr{font-family:var(--mono);font-size:.6rem;color:var(--acc);margin-bottom:6px}
.tc p{font-size:.8rem;color:var(--txt3);line-height:1.5}

/* ═══ Services page ═══ */
.svc-block{padding:32px 0;border-top:1px solid var(--brd)}
@media(min-width:768px){.svc-block{padding:40px 0}}
.svc-block:first-of-type{border-top:none;padding-top:16px}
@media(min-width:768px){.svc-block:first-of-type{padding-top:16px}}
.sv{display:grid;gap:28px;align-items:start}
@media(min-width:768px){.sv{grid-template-columns:1fr 1fr;gap:40px}}
.svc-num{font-family:var(--mono);font-size:.65rem;color:var(--acc);margin-bottom:6px}
.svc-block h3{font-size:1.2rem;font-weight:700;color:var(--txt);margin-bottom:8px}
@media(min-width:768px){.svc-block h3{font-size:1.5rem}}
.svc-block>p{color:var(--txt3);margin-bottom:14px;line-height:1.7}
.sf{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
@media(max-width:480px){.sf{grid-template-columns:1fr}}
.sf li{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--txt2);padding:3px 0}
.sf li::before{content:'';width:4px;height:4px;background:var(--acc);border-radius:50%;flex-shrink:0}
.mt{background:var(--sfc);border:1px solid var(--brd);border-radius:var(--r2);overflow:hidden;font-family:var(--mono);font-size:.7rem}
.mt-h{display:flex;align-items:center;gap:5px;padding:8px 14px;border-bottom:1px solid var(--brd);background:var(--sfc2)}
.mt-b{padding:14px;line-height:1.9}

/* Pricing */
.prg{display:grid;gap:12px;margin-top:20px}
@media(min-width:768px){.prg{grid-template-columns:repeat(3,1fr)}}
.pri{background:var(--sfc);border:1px solid var(--brd);border-radius:var(--r2);padding:22px}
.pri h4{font-size:1rem;font-weight:700;color:var(--txt);margin-bottom:6px}
.pri p{font-size:.82rem;color:var(--txt3);line-height:1.6}

/* ═══ Contact page ═══ */
.cg{display:grid;gap:32px;margin-top:16px}
@media(min-width:768px){.cg{grid-template-columns:1.2fr 1fr;gap:40px}}
.fg{margin-bottom:14px}
.fg label{display:block;font-size:.85rem;font-weight:600;color:var(--txt);margin-bottom:4px}
.fg input,.fg textarea,.fg select{width:100%;padding:10px 14px;background:var(--sfc);border:1px solid var(--brd);border-radius:var(--r);color:var(--txt);font-family:var(--sans);font-size:.9rem;outline:none;appearance:auto}
.fg input:focus,.fg textarea:focus,.fg select:focus{border-color:var(--acc);box-shadow:0 0 0 2px var(--accg)}
.fg textarea{min-height:100px;resize:vertical}
.fw{width:100%;justify-content:center}
.ci{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--brd)}
.ci:first-of-type{padding-top:0}
.ci-ico{width:32px;height:32px;background:var(--accg);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--acc);flex-shrink:0}
.ci-ico svg{width:16px;height:16px}
.ci h4{font-size:.82rem;font-weight:600;color:var(--txt);margin-bottom:2px}
.ci p{font-size:.82rem;color:var(--txt3)}
.ci>p{max-width:none}
.hdr-sub{margin-bottom:16px}
.hdr-sub span{font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--acc);display:inline-block;margin-bottom:8px}
.hdr-sub h3{font-size:1.1rem;font-weight:700;color:var(--txt);margin-bottom:2px}
.hdr-sub p{font-size:.88rem;color:var(--txt3)}
.rc{margin-top:16px;padding:14px;background:var(--sfc);border:1px solid var(--brd);border-radius:var(--r2)}
.rl{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.rdt{width:6px;height:6px;border-radius:50%;background:var(--grn);display:inline-block}
.rt{font-family:var(--mono);font-size:1.3rem;font-weight:700;color:var(--txt)}
.rn{font-size:.7rem;color:var(--txt3)}

/* ═══ Mobile adjustments ═══ */
@media(max-width:767px){
  .nav .btn{display:none}
  .hero{padding-top:60px;min-height:90vh}
  .btns{flex-direction:column;align-items:stretch}
  .btns .btn{width:100%}
  .trust{font-size:.75rem}
  .trust-t{font-size:.6rem;padding:2px 6px}
  .stat-n{font-size:1.5rem}
  .sec{padding:40px 0}
  .card-svc{padding:20px}
  .wc{padding:18px}
  .tg{grid-template-columns:1fr 1fr}
  .svc-block h3{font-size:1.2rem}
}
@media(max-width:480px){
  .tg{grid-template-columns:1fr}
  .stats-g{gap:16px}
}
