:root {
  --bg0:#07080c; --bg1:#0b0d13; --bg2:#10131c; --bg3:#151a26;
  --bdr:rgba(255,255,255,0.07); --bdrh:rgba(255,255,255,0.13);
  --tx:#e0e4f5; --txm:#475068; --txs:#8892b0;
  --a:#3b9eff; --ah:#2880e0;
  --b:#00d4c8; --bh:#00b5aa;
  --r:10px;
  --fh:'Fraunces',serif;
  --fb:'Plus Jakarta Sans',sans-serif;
}

/* ═══ PAGE HERO ═══ */
.page-hero{padding:120px 5% 72px;position:relative;overflow:hidden;
  background:radial-gradient(ellipse 60% 70% at 85% 20%,rgba(59,158,255,.07),transparent 65%),
    radial-gradient(ellipse 35% 40% at 5% 90%,rgba(0,212,200,.05),transparent 55%),var(--bg1);}
.hero-bg{position:absolute;inset:0;
  background-image:linear-gradient(rgba(59,158,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(59,158,255,.04) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 75% 75% at 70% 30%,black,transparent 75%);pointer-events:none}
.breadcrumb-nav{display:flex;align-items:center;gap:8px;margin-bottom:20px;opacity:0;animation:aUp .5s .1s ease forwards}
.breadcrumb-nav a{font-size:12.5px;color:var(--txm);text-decoration:none;transition:color .2s}
.breadcrumb-nav a:hover{color:var(--a)}
.breadcrumb-nav span{font-size:12px;color:var(--txm)}
.breadcrumb-nav .cur{font-size:12.5px;color:var(--a);font-weight:600}
.page-hero-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(59,158,255,.09);border:1px solid rgba(59,158,255,.22);color:var(--a);font-size:12px;font-weight:700;padding:5px 14px;border-radius:999px;margin-bottom:20px;letter-spacing:.05em;opacity:0;animation:aUp .5s .15s ease forwards}
.page-hero h1{font-size:clamp(32px,4vw,54px);font-weight:700;letter-spacing:-1.5px;color:#fff;margin-bottom:16px;opacity:0;animation:aUp .6s .2s ease forwards}
.page-hero h1 em{font-style:normal;color:var(--a)}
.page-hero-sub{font-size:16px;color:var(--txs);max-width:520px;line-height:1.8;opacity:0;animation:aUp .6s .3s ease forwards}
.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;opacity:0;animation:aUp .5s .35s ease forwards}
.htag{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.04);border:1px solid var(--bdr);border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600;color:var(--txs)}
.htag i{color:var(--a);font-size:12px}

/* ═══ SECTION BASE ═══ */
.sec{padding:72px 5%}
.s0{background:var(--bg0)}.s1{background:var(--bg1)}.s2{background:var(--bg2)}
.ey{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--a);margin-bottom:12px}
.ey::before{content:'';width:14px;height:1.5px;background:var(--a)}
.sh{font-size:clamp(24px,2.8vw,36px);font-weight:700;letter-spacing:-1px;color:#fff;line-height:1.1;margin-bottom:12px}

/* ═══ SERVICE NAV TABS ═══ */
.svc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:48px}
.svc-tab{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;background:rgba(255,255,255,.04);border:1px solid var(--bdr);border-radius:9px;font-size:13px;font-weight:700;color:var(--txs);cursor:pointer;transition:all .2s;text-decoration:none}
.svc-tab:hover{border-color:rgba(59,158,255,.2);color:var(--tx);background:rgba(59,158,255,.03)}
.svc-tab.active{background:rgba(59,158,255,.1);border-color:rgba(59,158,255,.3);color:var(--a)}
.svc-tab i{font-size:14px}

/* ═══ MAIN SERVICE CARDS ═══ */
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.svc-card{background:var(--bg2);border:1px solid var(--bdr);border-radius:18px;padding:32px;position:relative;overflow:hidden;transition:all .3s;cursor:default}
.svc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--a),transparent);opacity:0;transition:opacity .3s}
.svc-card:hover{transform:translateY(-5px);border-color:rgba(59,158,255,.2);background:rgba(59,158,255,.02)}.svc-card:hover::before{opacity:1}
.svc-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;border-color:rgba(59,158,255,.15);background:linear-gradient(135deg,rgba(59,158,255,.04),var(--bg2))}
.svc-card.featured::before{opacity:.5}
.sc-ic{width:48px;height:48px;border-radius:12px;background:rgba(59,158,255,.08);border:1px solid rgba(59,158,255,.15);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--a);margin-bottom:20px;flex-shrink:0}
.sc-ic.teal{background:rgba(0,212,200,.08);border-color:rgba(0,212,200,.15);color:var(--b)}
.sc-ic.purple{background:rgba(168,85,247,.08);border-color:rgba(168,85,247,.15);color:#a855f7}
.sc-ic.green{background:rgba(34,208,110,.08);border-color:rgba(34,208,110,.15);color:#22d06e}
.sc-tag{display:inline-flex;align-items:center;gap:5px;background:rgba(59,158,255,.08);border:1px solid rgba(59,158,255,.15);border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:700;color:var(--a);letter-spacing:.05em;text-transform:uppercase;margin-bottom:14px}
.sc-tag.teal{background:rgba(0,212,200,.08);border-color:rgba(0,212,200,.15);color:var(--b)}
.svc-card h3{font-family:oswald;font-size:20px;font-weight:700;color:#fff;margin-bottom:10px;letter-spacing:-.3px}
.svc-card p{font-size:14px;color:var(--txm);line-height:1.75;margin-bottom:20px}
.sc-bullets{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.sc-b{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--txs)}
.sc-b i{color:var(--a);font-size:12px;flex-shrink:0}
.sc-lnk{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--a);text-decoration:none;transition:gap .2s}
.svc-card:hover .sc-lnk{gap:10px}
/* Featured card right side visual */
.feat-right{background:var(--bg3);border:1px solid var(--bdr);border-radius:14px;padding:24px}
.feat-right-lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--txm);margin-bottom:16px}
.feat-stack{display:flex;flex-direction:column;gap:10px}
.fs-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg2);border:1px solid var(--bdr);border-radius:9px;transition:border-color .2s}
.fs-row:hover{border-color:rgba(59,158,255,.18)}
.fs-name{font-size:13px;font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}
.fs-name i{color:var(--a);font-size:13px}
.fs-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(34,208,110,.1);border:1px solid rgba(34,208,110,.2);color:#22d06e}

/* ═══ HOW IT WORKS ═══ */
.hiw-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);border-radius:16px;overflow:hidden}
.hiw-step{background:var(--bg2);padding:30px 24px;transition:background .25s}
.hiw-step:hover{background:rgba(59,158,255,.02)}
.hiw-n{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--a);opacity:.5;text-transform:uppercase;margin-bottom:14px}
.hiw-ic{width:36px;height:36px;border-radius:9px;background:rgba(59,158,255,.07);border:1px solid rgba(59,158,255,.13);display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--a);margin-bottom:14px}
.hiw-step h4{font-family:oswald;font-size:18px;font-weight:700;color:#fff;margin-bottom:7px}
.hiw-step p{font-size:13px;color:var(--txm);line-height:1.65}

/* ═══ TECH STRIP ═══ */
.tech-strip{background:var(--bg2);border:1px solid var(--bdr);border-radius:16px;padding:28px 32px}
.ts-lbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);margin-bottom:16px}
.ts-tags{display:flex;flex-wrap:wrap;gap:8px}
.tt{display:inline-flex;align-items:center;background:rgba(255,255,255,.04);border:1px solid var(--bdr);border-radius:6px;padding:5px 11px;font-size:12px;font-weight:600;color:var(--txs);transition:all .2s}
.tt:hover{border-color:rgba(59,158,255,.22);color:var(--a);background:rgba(59,158,255,.05)}

/* ═══ CTA ═══ */
.cta-box{background:var(--bg2);border:1px solid var(--bdr);border-radius:20px;padding:64px 52px;text-align:center;position:relative;overflow:hidden}
.cta-box::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 0%,rgba(59,158,255,.07),transparent),radial-gradient(ellipse 40% 40% at 50% 100%,rgba(0,212,200,.04),transparent);pointer-events:none}
.btn-main{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;background:var(--a);color:#fff;font-weight:800;font-size:14px;border-radius:9px;text-decoration:none;transition:all .25s;box-shadow:0 4px 24px rgba(59,158,255,.28)}
.btn-main:hover{background:var(--ah);transform:translateY(-2px);box-shadow:0 8px 36px rgba(59,158,255,.45);color:#fff}
.btn-sec{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:rgba(255,255,255,.05);color:var(--tx);font-weight:600;font-size:14px;border:1px solid var(--bdrh);border-radius:9px;text-decoration:none;transition:all .2s}
.btn-sec:hover{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff}


/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}
@keyframes aUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:991px){
  .svc-grid{grid-template-columns:1fr}
  .svc-card.featured{grid-template-columns:1fr}
  .hiw-row{grid-template-columns:1fr 1fr}
  .f-main{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:768px){
  .nav-mid{display:none}
  .hiw-row{grid-template-columns:1fr}
  .f-main{grid-template-columns:1fr}
  .cta-box{padding:44px 24px}
}