/* ── ROOT COLORS ── */
:root {
  --bg:       #f9f8ff;
  --surface:  #f0eeff;
  --surface2: #e2dcff;
  --card:     #ffffff;
  --border:   #cdc6f0;
  --pri:      #1d00aa;
  --pri-lt:   #ede9ff;
  --pri-dk:   #120070;
  --sec:      #6B21F5;
  --acc:      #E8005A;
  --grn:      #0DB37A;
  --org:      #F97316;
  --txt:      #0a0520;
  --muted:    #5b5380;
  --grad:     linear-gradient(135deg,#1d00aa 0%,#6B21F5 100%);
  --grad2:    linear-gradient(135deg,#E8005A 0%,#1d00aa 100%);
  --grad-h:   linear-gradient(140deg,#120070 0%,#1d00aa 40%,#6B21F5 100%);
  --sh-sm:    0 2px 12px rgba(29,0,170,.10);
  --sh-md:    0 8px 32px rgba(29,0,170,.16);
  --sh-lg:    0 20px 64px rgba(29,0,170,.20);
  --radius:   16px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--txt);overflow-x:hidden;}
h1,h2,h3,h4,h5,h6{font-family:'Montserrat',sans-serif;font-weight:700;color:var(--txt)}

/* CURSOR */
/*.cur{position:fixed;width:10px;height:10px;background:var(--pri);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);z-index:9999;transition:transform .12s}*/
/*.cur-ring{position:fixed;width:32px;height:32px;border:2px solid rgba(79,70,229,.4);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);z-index:9998;transition:all .15s ease}*/

/* SCROLLBAR */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--surface)}
::-webkit-scrollbar-thumb{background:var(--pri);border-radius:10px}

/* HELPERS */
.grad-text{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-pad{padding:96px 0}
.sec-label{display:inline-flex;align-items:center;gap:7px;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--pri);background:var(--pri-lt);padding:5px 13px;border-radius:50px;margin-bottom:14px}
.sec-label::before{content:'';width:5px;height:5px;background:var(--pri);border-radius:50%}
.sec-title{font-family:'Montserrat',sans-serif;font-size:clamp(1.75rem,3.4vw,2.75rem);font-weight:800;line-height:1.2;letter-spacing:-.025em}
.sec-sub{font-size:.97rem;color:var(--muted);line-height:1.8;max-width:520px;margin-top:.85rem}

/* BUTTONS */
.btn-grad{background:var(--grad);color:#fff;border:none;padding:13px 30px;border-radius:50px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.88rem;display:inline-flex;align-items:center;gap:8px;transition:.3s;text-decoration:none;cursor:pointer}
.btn-grad:hover{color:#fff;transform:translateY(-3px);box-shadow:var(--sh-lg)}
.btn-out{background:transparent;color:var(--pri);border:2px solid var(--pri);padding:11px 28px;border-radius:50px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.88rem;display:inline-flex;align-items:center;gap:8px;transition:.3s;text-decoration:none;cursor:pointer}
.btn-out:hover{background:var(--pri);color:#fff;transform:translateY(-3px)}
.btn-wht{background:#fff;color:var(--pri);border:none;padding:13px 30px;border-radius:50px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.88rem;display:inline-flex;align-items:center;gap:8px;transition:.3s;text-decoration:none}
.btn-wht:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,.14);color:var(--pri)}
.btn-ghost-wht{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.45);padding:11px 28px;border-radius:50px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.88rem;display:inline-flex;align-items:center;gap:8px;transition:.3s;text-decoration:none}
.btn-ghost-wht:hover{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.7)}

/* ── NAVBAR ── */
#mainNav{position:fixed;top:0;width:100%;z-index:1000;padding:18px 0;transition:all .4s ease;background:transparent}
#mainNav.scrolled{background:rgba(256,256,256);backdrop-filter:blur(20px);padding:10px 0;box-shadow:0 2px 22px rgba(79,70,229,.08);border-bottom:1px solid var(--border)}
.navbar-brand{font-family:'Montserrat',sans-serif;font-weight:900;font-size:1.5rem;color: #fff !important;text-decoration: none;}
.nav-link{font-family:'Montserrat',sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.02em;color:#fff !important;padding:6px 13px !important;transition:.25s;position:relative}
#mainNav.scrolled ul.navbar-nav li .nav-link{color:var(--txt) !important}
.nav-link::after{content:'';position:absolute;bottom:2px;left:13px;right:13px;height:2px;background:var(--grad);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:.3s}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)}
.nav-link:hover{color:var(--pri) !important}
.nav-cta{background:var(--grad);color:#fff !important;border-radius:50px;padding:8px 20px !important;font-weight:700;transition:.3s}
.nav-cta:hover{opacity:.85;transform:translateY(-2px);box-shadow:var(--sh-md)}
.nav-cta::after{display:none !important}
nav#mainNav.scrolled .navbar-brand {
    color: var(--pri) !important;
}
a.nav-cta:hover {
    color: #fff !important;
}
nav.scrolled img.white-logo, img.black-logo {
    display: none;
}
nav.scrolled img.black-logo {
    display: block;
}
/* ── HERO ── */
#heroNet {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none; /* allow clicks through */
}
#hero{min-height:100vh;background:#000;display:flex;align-items:center;position:relative;overflow:hidden;padding:130px 0 90px;background-image: url('../images/banner-img.jpg');background-size: c;}
.orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}
.o1{width:550px;height:550px;background:rgba(255,255,255,.1);top:-140px;left:-100px;animation:orbF 9s ease-in-out infinite}
.o2{width:380px;height:380px;background:rgba(6,182,212,.18);bottom:-80px;right:-60px;animation:orbF 7s ease-in-out infinite reverse}
.o3{width:260px;height:260px;background:rgba(244,63,94,.12);top:45%;left:48%;animation:orbF 6s ease-in-out infinite 1s}
video#myVideo {
    border-radius: 14px;
}
@keyframes orbF{0%,100%{transform:translate(0,0)}50%{transform:translate(22px,-22px)}}

.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;padding:6px 15px;border-radius:50px;font-family:'Montserrat',sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:1.4rem;animation:fUp .6s ease both}
.ldot{width:7px;height:7px;background:#4ade80;border-radius:50%;animation:lPulse 2s infinite}
@keyframes lPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}

.hero-h1{font-family:'Montserrat',sans-serif;font-size: 40px;font-weight:900;line-height: 54px;letter-spacing:-.04em;color:#fff;animation:fUp .7s ease .1s both;letter-spacing: 2px;}
.hero-h1 .soft{color:rgba(255,255,255,.7)}
.hero-h1 .underline-glow{position:relative;display:inline-block}
.hero-h1 .underline-glow::after{content:'';position:absolute;bottom:-5px;left:0;right:0;height:3px;background:rgba(255,255,255,.5);border-radius:3px;animation:wIn .6s ease .7s both}
@keyframes wIn{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.hero-sub{font-size: 15px;color:rgba(255,255,255,.75);line-height:1.8;animation:fUp .7s ease .2s both;margin: 1rem 0 0;}
.hero-btns{display:flex;flex-wrap:wrap;gap:13px;animation:fUp .7s ease .3s both}
.hero-stats{display:flex;flex-wrap:wrap;gap:26px;margin-top:2.8rem;animation:fUp .7s ease .44s both}
.hst-n{font-family:'Montserrat',sans-serif;font-size:1.95rem;font-weight:900;color:#fff;display:block}
.hst-l{font-size:.72rem;color:rgba(255,255,255,.58);letter-spacing:.06em;text-transform:uppercase}
.hst-div{width:1px;background:rgba(255,255,255,.18);align-self:stretch}

.hero-img{position:relative;animation:fRt .8s ease .2s both}
.hero-img img{width:100%;border-radius:22px;box-shadow:0 40px 100px rgba(0,0,0,.28);border:3px solid rgba(255,255,255,.18)}
.hfc{position:absolute;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-radius:13px;padding:13px 17px;box-shadow:0 18px 48px rgba(0,0,0,.14);animation:fcF 4s ease-in-out infinite}
.hfc1{top:-16px;right:-22px;animation-delay:0s}
.hfc2{bottom:20%;left:-52px;animation-delay:1.8s}
.hfc-lbl{font-size:.67rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.hfc-val{font-family:'Montserrat',sans-serif;font-size:1.25rem;font-weight:900;color:var(--txt)}
.hfc-sub{font-size:.72rem;color:var(--grn);font-weight:700}
@keyframes fcF{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes fUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes fRt{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:translateX(0)}}

/* TYPING EFFECT */
.change-txt {
    border-right: 3px solid var(--pri); /* blinking cursor */
    padding-right: 4px;
    white-space: nowrap;
    animation: blink 0.7s step-end infinite;
}

@keyframes blink {
    0%, 100% { border-color: var(--pri); }
    50%       { border-color: transparent; }
}
/* ── CLIENTS MARQUEE ── */
#clients{padding:34px 0;background:var(--surface);overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.mq-track{display:flex;gap:54px;width:max-content;animation:mqA 28s linear infinite}
.mq-track:hover{animation-play-state:paused}
@keyframes mqA{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cl-logo{font-family:'Montserrat',sans-serif;font-weight:800;font-size:.98rem;color:#b0b8cc;white-space:nowrap;transition:.3s;letter-spacing:.04em}
.cl-logo:hover{color:var(--pri)}

/* ── SERVICES ── */
#services{background:var(--bg)}
.svc-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:32px 26px;height:100%;transition:.35s;position:relative;overflow:hidden}
.svc-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:.35s;border-radius:0 0 var(--radius) var(--radius)}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);border-color:transparent}
.svc-card:hover::after{transform:scaleX(1)}
.svc-ico{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:17px}
.i-ind{background:var(--pri-lt);color:var(--pri)}
.i-cyn{background:#ecfeff;color:var(--sec)}
.i-ros{background:#fff1f2;color:var(--acc)}
.i-grn{background:#f0fdf4;color:var(--grn)}
.i-org{background:#fff7ed;color:var(--org)}
.i-pur{background:#faf5ff;color:#9333ea}
.svc-card h3{font-size:1.05rem;font-weight:700;margin-bottom:9px}
.svc-card p{font-size:.86rem;color:var(--muted);line-height:1.75}
.svc-tag{display:inline-block;margin-top:13px;font-family:'Montserrat',sans-serif;font-size:.67rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--pri);background:var(--pri-lt);padding:3px 10px;border-radius:50px}

/* ── PORTFOLIO ── */
.prt-section { padding: 4rem 1.5rem; background: #fff; font-family: var(--font-sans, system-ui, sans-serif); }
  .container { max-width: 1100px; margin: 0 auto; }
  .sec-head { text-align: center; margin-bottom: 2.5rem; }
  .sec-head h2 { font-size: clamp(26px, 4vw, 40px); font-weight: 700; color: #111; line-height: 1.2; margin-bottom: 10px; }
  .sec-head h2 em { font-style: italic; font-family: Georgia, serif; }
  .sec-head p { font-size: 15px; color: #777; }
  .prt-section .grid-wrap {
        padding: 30px;
        background-color: #f0eeff;
        border-radius: 20px;
    }

  .grid-wrap { display: flex; flex-direction: column; gap: 20px; }

  /* Row: col-7 left, col-5 right */
  .row-a { display: grid; grid-template-columns: 7fr 5fr; gap: 20px; }
  /* Row: col-5 left, col-7 right */
  .row-b { display: grid; grid-template-columns: 5fr 7fr; gap: 20px; }

  @media(max-width: 680px) {
    .row-a, .row-b { grid-template-columns: 1fr; }
  }

  .prt-card { border-radius: 20px; overflow: hidden; cursor: pointer; position: relative; min-height: 390px; display: flex; flex-direction: column; justify-content: flex-end; transition: transform .25s ease; }
  .prt-card:hover { transform: translateY(-4px); }
  .card-bg { position: absolute; inset: 0; z-index: 0; }
  .card-bg img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
  .prt-card:hover .card-bg img { transform: scale(1.04); }
  .card-overlay { position: absolute; inset: 0; z-index: 1; }
  .card-body { position: absolute; z-index: 2; padding: 1.4rem 1.5rem; }
  .card-name { font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 6px; line-height: 1.25; }
  .card-desc { font-size: 13px; color: rgba(255,255,255,0.82); line-height: 1.55; margin-bottom: 1rem; }
  .card-lnk { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: #fff; text-decoration: none; border: 1.5px solid rgba(255,255,255,0.6); border-radius: 30px; padding: 7px 18px; transition: background .2s; background: rgba(255,255,255,0.12); }
  .card-lnk:hover { background: rgba(255,255,255,0.25); }
  .card-lnk svg { width: 13px; height: 13px; }
  .cat-pills { position: absolute; top: 16px; left: 16px; z-index: 3; display: flex; gap: 6px; flex-wrap: wrap; }
  .cat-pill { font-size: 11px; font-weight: 600; padding: 4px 12px; border-radius: 20px; background: rgba(255,255,255,0.22); color: #fff; border: 1px solid rgba(255,255,255,0.35); backdrop-filter: blur(6px); }

  .color-orange .card-overlay { background: linear-gradient(160deg, #1193abb8 0%, #1193abe0 100%); }
  .color-green .card-overlay  { background: linear-gradient(160deg, rgb(182 134 132 / 72%) 0%, rgb(182 134 132 / 88%) 100%); }
  .color-red .card-overlay    { background: linear-gradient(160deg, rgba(190,30,40,0.72) 0%, rgba(140,10,20,0.88) 100%); }
  .color-teal .card-overlay   { background: linear-gradient(160deg, rgba(15,130,140,0.72) 0%, rgba(5,80,95,0.88) 100%); }
  .color-purple .card-overlay { background: linear-gradient(160deg, rgba(90,40,180,0.72) 0%, rgba(60,10,130,0.88) 100%); }
  .color-amber .card-overlay  { background: linear-gradient(160deg, rgba(180,110,0,0.75) 0%, rgba(140,70,0,0.9) 100%); }

  .view-all { display: inline-flex; align-items: center; gap: 8px; margin-top: 2.5rem; padding: 13px 32px; border-radius: 30px; border: 1.5px solid #ddd; color: #333; font-size: 15px; font-weight: 600; font-family: inherit; background: transparent; cursor: pointer; transition: all .22s; }
  .view-all:hover { background: #f4f4f4; border-color: #bbb; }
  .view-all svg { width: 16px; height: 16px; }
  .fade-in { animation: fi .35s ease both; }
  @keyframes fi { from { opacity:0; transform:translateY(12px) } to { opacity:1; transform:translateY(0) } }

/* ── NUMBERS ── */
#numbers{background:var(--grad);padding:76px 0}
.nm-val{font-family:'Montserrat',sans-serif;font-size:clamp(2.3rem,5vw,3.7rem);font-weight:900;color:#fff;display:block}
.nm-lbl{font-size:.8rem;color:rgba(255,255,255,.68);margin-top:5px;letter-spacing:.06em;text-transform:uppercase}

/* ── PROCESS ── */
#process{background:var(--bg)}
.prc-step{display:flex;gap:20px;padding:24px 26px;border-radius:var(--radius);border:1.5px solid var(--border);background:var(--card);transition:.3s;margin-bottom:16px}
.prc-step:hover{border-color:var(--pri);transform:translateX(5px);box-shadow:var(--sh-sm)}
.prc-num{font-family:'Montserrat',sans-serif;font-size:2.1rem;font-weight:900;line-height:1;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;min-width:44px}
.prc-step h3{font-size:.98rem;font-weight:700;margin-bottom:5px}
.prc-step p{font-size:.85rem;color:var(--muted);line-height:1.7;margin:0}

/* ════════════════════════════════
   VIDEO TESTIMONIALS SLIDER
════════════════════════════════ */
#video-testi{background:var(--surface)}

.vts-slider{position:relative}
.vts-slides{overflow:hidden}
.vts-slide{display:none}
.vts-slide.active{display:block}

/* 2-column grid – each slide holds 2 items */
.vts-row{
  display:grid;
  grid-template-columns:1fr;
  gap:22px;
}
@media(max-width:767px){.vts-row{grid-template-columns:1fr}}

/* Each item: left video thumb + right content */
.vts-item{
  display:flex;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--card);
  border:1.5px solid var(--border);
  box-shadow:var(--sh-sm);
  transition:.35s;
}
.vts-item:hover{box-shadow:var(--sh-md);border-color:rgba(79,70,229,.25);transform:translateY(-3px)}

/* Left: video thumbnail */
.testi-video-lf{
  width:30%;
  flex-shrink:0;
  position:relative;
  background:#0f172a;
  overflow:hidden;
}
.testi-video-lf img{width:100%;height:100%;object-fit:cover;display:block;transition:.4s}
.vts-item:hover .testi-video-lf img{transform:scale(1.05)}
.vts-play-btn{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.3);border:none;cursor:pointer;transition:.3s;width:100%;
}
.vts-play-btn:hover{background:rgba(79,70,229,.5)}
.vts-play-icon{
  width:42px;height:42px;background:#fff;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.05rem;color:var(--pri);
  box-shadow:0 4px 18px rgba(0,0,0,.28);transition:.3s;
}
.vts-play-btn:hover .vts-play-icon{transform:scale(1.12)}

/* Right: content */
.testi-content-rt{
  width:66%;
  padding:20px 18px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.vts-stars{color:#FBBF24;font-size:.85rem;margin-bottom:7px}
.vts-quote{font-size:18px;color:var(--muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;flex:1;text-align:justify;}
.vts-author{display:flex;align-items:center;gap:9px;margin-top:12px}
.vts-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid var(--pri)}
.vts-name{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.79rem;color:var(--txt);line-height:1.2}
.vts-role{font-size:.7rem;color:var(--muted)}
.vts-badge{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--pri);background:var(--pri-lt);padding:3px 8px;border-radius:50px;margin-top:7px;width:fit-content}

/* Slider controls */
.vts-ctrl{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:30px}
.vts-btn{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--border);background:var(--card);color:var(--pri);font-size:1.05rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.3s}
.vts-btn:hover{background:var(--pri);color:#fff;border-color:var(--pri)}
.vts-dots{display:flex;gap:7px;align-items:center}
.vts-dot{width:8px;height:8px;border-radius:50%;background:var(--border);cursor:pointer;transition:.3s;border:none;padding:0}
.vts-dot.on{background:var(--pri);width:22px;border-radius:4px}
.vts-count{font-family:'Montserrat',sans-serif;font-size:.79rem;font-weight:700;color:var(--muted)}

/* Video modal */
.vm-overlay{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.82);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s}
.vm-overlay.open{opacity:1;pointer-events:all}
.vm-box{width:90%;max-width:800px;border-radius:18px;overflow:hidden;position:relative;transform:scale(.9);transition:.3s}
.vm-overlay.open .vm-box{transform:scale(1)}
.vm-box iframe{width:100%;aspect-ratio:16/9;border:none;display:block}
.vm-close{position:absolute;top:-38px;right:0;background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;line-height:1}

/* ── PRICING ── */
/* ── SECTION HEADER ── */
  .pr-header {
    text-align: center;
    margin-bottom: 48px;
  }

  .pr-label {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--sec);
    margin-bottom: 14px;
  }

  .pr-title {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 900;
    font-style: italic;
    color: var(--txt);
    margin-bottom: 12px;
  }

  .pr-subtitle {
    font-size: 0.9rem;
    color: var(--muted);
    max-width: 500px;
    margin: 0 auto;
    line-height: 1.7;
  }

  /* ── TAB GROUP ── */
  .tab-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 18px;
  }

  .tab-group {
    display: inline-flex;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--border);
    border-radius: 50px;
    padding: 5px;
    gap: 2px;
  }

  .tab-btn {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 8px 20px;
    border-radius: 50px;
    border: none;
    cursor: pointer;
    background: transparent;
    color: var(--muted);
    transition: all 0.25s;
    white-space: nowrap;
  }

  .tab-btn.active {
    background: var(--grad);
    color: #fff;
  }

  .tab-btn:not(.active):hover {
    color: var(--txt);
  }

  /* ── SUB-TABS (page count) ── */
  .subtab-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 48px;
  }

  .subtab-group {
    display: inline-flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .subtab-btn {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 7px 18px;
    border-radius: 50px;
    border: 1px solid var(--border);
    cursor: pointer;
    background: transparent;
    color: var(--muted);
    transition: all 0.25s;
  }

  .subtab-btn.active {
    background: var(--grad);
    color: #fff;
    border-color: transparent;
  }

  .subtab-btn:not(.active):hover {
    border-color: var(--pri);
    color: var(--pri);
  }

  /* ── CARDS GRID ── */
  .pr-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
  }

  .pr-card {
    background: var(--card);
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    padding: 36px 28px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
  }

  .pr-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 60px rgba(0,0,0,0.4);
  }

  .pr-card.pop {
    background: var(--card-pop);
    border-color: var(--border-pop);
    box-shadow: var(--sh-pop);
  }

  /* popular badge */
  .pop-badge {
    position: absolute;
    top: 20px;
    right: -1px;
    background: var(--grad);
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    padding: 5px 14px;
    border-radius: 50px 0 0 50px;
    display: flex;
    align-items: center;
    gap: 5px;
  }

  .pop-badge::before {
    content: '⚡';
    font-size: 0.7rem;
  }

  /* card content */
  .pr-price {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.8rem;
    font-weight: 900;
    color: var(--txt);
    line-height: 1;
    margin-bottom: 4px;
  }

  .pr-price-sub {
    font-size: 0.8rem;
    color: var(--muted);
    margin-bottom: 14px;
  }

  .pr-name {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--sec);
    margin-bottom: 18px;
  }

  .pr-features {
    list-style: none;
    flex: 1;
    margin-bottom: 28px;
  }

  .pr-features li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.86rem;
    color: var(--txt);
    padding: 9px 0;
    border-bottom: 1px solid var(--border);
    line-height: 1.4;
  }

  .pr-features li:last-child { border: none; }

  .pr-features .chk {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 1px;
  }

  .chk-svg { stroke: var(--grn); }

  /* CTA buttons */
  .btn-pr {
    display: block;
    text-align: center;
    padding: 13px 20px;
    border-radius: 50px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.88rem;
    text-decoration: none;
    transition: all 0.3s;
    cursor: pointer;
    border: none;
  }

  .btn-pr.outline {
    background: transparent;
    border: 1.5px solid rgba(255,255,255,0.15);
    color: var(--txt);
  }

  .btn-pr.outline:hover {
    border-color: var(--pri);
    color: var(--pri);
  }

  .btn-pr.filled {
    background: var(--pri);
    color: #fff;
    box-shadow: 0 4px 20px rgba(108,99,255,0.35);
  }

  .btn-pr.filled:hover {
    opacity: 0.88;
    box-shadow: 0 6px 28px rgba(108,99,255,0.5);
  }

  .btn-pr .arr { margin-left: 6px; }

  /* ── CUSTOM PRICING PANEL ── */
  .custom-panel {
    display: none;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
    gap: 24px;
  }

  .custom-panel.show {
    display: grid;
    grid-template-columns: 1fr 380px;
  }

  @media (max-width: 860px) {
    .custom-panel.show { grid-template-columns: 1fr; }
  }

  .custom-left {
    background: var(--card);
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    padding: 40px 36px;
  }

  .custom-left h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.6rem;
    font-weight: 900;
    margin-bottom: 8px;
  }

  .custom-left .sub {
    font-size: 0.87rem;
    color: var(--muted);
    margin-bottom: 30px;
    line-height: 1.6;
  }

  .custom-steps {
    list-style: none;
    margin-bottom: 28px;
  }

  .custom-steps li {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 0.9rem;
    padding: 10px 0;
    color: var(--txt);
  }

  .step-num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--grad);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.72rem;
    font-weight: 800;
    color: #fff;
    flex-shrink: 0;
  }

  .custom-mini-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 24px;
  }

  .mini-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 20px;
  }

  .mini-card h4 {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 6px;
  }

  .mini-card p {
    font-size: 0.8rem;
    color: var(--muted);
    line-height: 1.5;
  }

  /* right form card */
  .custom-right {
    background: var(--card);
    border: 1.5px solid var(--border);
    border-radius: var(--radius);
    padding: 36px 30px;
  }

  .custom-right h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.4rem;
    font-weight: 900;
    margin-bottom: 4px;
  }

  .custom-right .rate-tag {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.1rem;
    font-weight: 700;
    font-style: italic;
    color: var(--sec);
    margin-bottom: 8px;
    display: block;
  }

  .custom-right .rate-desc {
    font-size: 0.82rem;
    color: var(--muted);
    margin-bottom: 24px;
    line-height: 1.5;
  }

  .form-group { margin-bottom: 16px; }

  .form-group label {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--txt);
    margin-bottom: 7px;
  }

  .form-group input,
  .form-group textarea {
    width: 100%;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 11px 14px;
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    color: var(--txt);
    outline: none;
    transition: border-color 0.2s;
  }

  .form-group input::placeholder,
  .form-group textarea::placeholder { color: var(--muted); }

  .form-group input:focus,
  .form-group textarea:focus { border-color: var(--pri); }

  .form-group textarea { resize: vertical; min-height: 90px; }

  /* ── PANEL SWITCHING ── */
  #cards-section { display: block; }
/* ── TECH ── */
#tech{background:var(--surface)}
.t-pill{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:1.5px solid var(--border);padding:9px 17px;border-radius:50px;margin:5px;font-size:.83rem;font-weight:500;color:var(--txt);transition:.3s;cursor:default}
.t-pill:hover{border-color:var(--pri);color:var(--pri);transform:translateY(-3px);box-shadow:var(--sh-sm)}

/* ── FAQ ── */
#faq{background:var(--bg)}
.fq-item{background:var(--card);border:1.5px solid var(--border);border-radius:12px;margin-bottom:9px;overflow:hidden}
.fq-q{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:600;font-size:.9rem;color:var(--txt);transition:.2s}
.fq-q:hover{color:var(--pri)}
.fq-ico{color:var(--pri);font-size:1.15rem;transition:.3s;flex-shrink:0}
.fq-a{display:none;padding:0 20px 16px;font-size:.86rem;color:var(--muted);line-height:1.75}
.fq-item.open .fq-ico{transform:rotate(45deg)}
.fq-item.open .fq-a{display:block}

/* ── CTA BANNER ── */
#cta-banner{background:var(--grad-h);padding:96px 0;position:relative;overflow:hidden}
#cta-banner::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E")}
.cta-h2{font-family:'Montserrat',sans-serif;font-size:clamp(1.85rem,4vw,3.1rem);font-weight:900;color:#fff;line-height:1.18}
.cta-sub{color:rgba(255,255,255,.72);font-size:1rem;margin:1rem 0 2.2rem;max-width:460px;line-height:1.75}

/* ── CONTACT ── */
#contact{background:var(--surface)}
.ct-card{background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);padding:36px}
.f-ctrl{background:var(--surface);border:1.5px solid var(--border);color:var(--txt);border-radius:10px;padding:12px 15px;font-size:.88rem;width:100%;font-family:'Poppins',sans-serif;transition:.3s}
.f-ctrl:focus{outline:none;border-color:var(--pri);background:#fff;box-shadow:0 0 0 3px rgba(79,70,229,.1);color:var(--txt)}
.f-ctrl::placeholder{color:#a0aec0}
.f-lbl{display:block;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.ci-row{display:flex;align-items:center;gap:13px;padding:17px;border-radius:12px;background:var(--card);border:1.5px solid var(--border);margin-bottom:13px;transition:.3s}
.ci-row:hover{border-color:rgba(79,70,229,.28);box-shadow:var(--sh-sm)}
.ci-ico{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}

/* ── FOOTER ── */
footer{background:var(--txt);color:rgba(255,255,255,.6);padding:58px 0 26px}
.ft-brand{font-family:'Montserrat',sans-serif;font-weight:900;font-size:1.6rem;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ft-desc{font-size:.86rem;line-height:1.75;margin-top:9px;max-width:260px;color:rgba(255,255,255,.48)}
.ft-h{font-family:'Montserrat',sans-serif;font-weight:800;font-size:.88rem;color:#fff;margin-bottom:13px}
.ft-ul{list-style:none}
.ft-ul li{margin-bottom:8px}
.ft-ul a{color:rgba(255,255,255,.48);text-decoration:none;font-size:.85rem;transition:.2s}
.ft-ul a:hover{color:#fff;padding-left:4px}
.sc-btn{width:35px;height:35px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.07);color:rgba(255,255,255,.55);font-size:.9rem;text-decoration:none;transition:.3s;margin-right:6px}
.sc-btn:hover{background:var(--pri);color:#fff;transform:translateY(-3px)}
.ft-bot{border-top:1px solid rgba(255,255,255,.07);margin-top:38px;padding-top:20px;font-size:.8rem;color:rgba(255,255,255,.32)}
.news-i{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#fff;border-radius:9px;padding:10px 13px;font-size:.85rem;flex:1;font-family:'Poppins',sans-serif}
.news-i::placeholder{color:rgba(255,255,255,.3)}
.news-i:focus{outline:none;border-color:var(--pri)}
footer ul.ft-ul {
    padding-left: 0;
}


/*float contact form*/
/* ── Inline errors ── */
.f-err {
  display: none;
  font-size: 12px;
  color: #dc3545;
  margin-top: 4px;
}
.f-ctrl.is-invalid {
  border-color: #dc3545 !important;
}
.f-ctrl.is-invalid + .f-err {
  display: block;
}

/* ── Spinner inside button ── */
.ct-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255,255,255,0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: ct-spin 0.7s linear infinite;
  vertical-align: middle;
  margin-right: 4px;
}
@keyframes ct-spin { to { transform: rotate(360deg); } }

/* ── Toast ── */
.ct-toast {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%) translateY(20px);
  min-width: 280px;
  max-width: 88vw;
  padding: 14px 20px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  z-index: 9999;
}
.ct-toast.ct-toast--show {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.ct-toast.ct-toast--success {
  background: #1a7a4a;
  color: #fff;
}
.ct-toast.ct-toast--error {
  background: #c0392b;
  color: #fff;
}
.ct-toast-icon {
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}

/* ── FLOAT ── */
.float-btn{position:fixed;bottom:26px;right:26px;z-index:900;width:54px;height:54px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;text-decoration:none;box-shadow:0 8px 26px rgba(79,70,229,.44);transition:.3s;animation:fpulse 2.5s ease-in-out infinite;border:none;cursor:pointer}
.float-btn:hover{transform:scale(1.12) rotate(10deg);color:#fff}
@keyframes fpulse{0%,100%{box-shadow:0 8px 26px rgba(79,70,229,.44)}50%{box-shadow:0 8px 50px rgba(79,70,229,.7),0 0 0 13px rgba(79,70,229,.07)}}

/* ── BACK TOP ── */
.btt{position:fixed;bottom:26px;left:26px;z-index:900;width:40px;height:40px;border-radius:9px;background:var(--card);border:1.5px solid var(--border);color:var(--pri);display:flex;align-items:center;justify-content:center;font-size:.95rem;text-decoration:none;transition:.3s;opacity:0;pointer-events:none;box-shadow:var(--sh-sm)}
.btt.show{opacity:1;pointer-events:all}
.btt:hover{background:var(--pri);color:#fff;border-color:var(--pri)}

/* ── POPUP ── */
.pop-ov{position:fixed;inset:0;z-index:2000;background:rgba(15,23,42,.58);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.4s}
.pop-ov.on{opacity:1;pointer-events:all}
.pop-box{background:#fff;border-radius:22px;padding:42px 34px;max-width:450px;width:90%;position:relative;transform:translateY(26px) scale(.95);transition:.4s;box-shadow:0 40px 100px rgba(0,0,0,.18)}
.pop-ov.on .pop-box{transform:translateY(0) scale(1)}
.pop-close{position:absolute;top:13px;right:14px;background:none;border:none;font-size:1.35rem;color:var(--muted);cursor:pointer;transition:.2s}
.pop-close:hover{color:var(--txt)}
.pop-top{position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad);border-radius:22px 22px 0 0;    width: 92%;
    margin: -3px auto;}

/* ── REVEAL ── */
.rv{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}
.rv-l{opacity:0;transform:translateX(-34px);transition:opacity .7s ease,transform .7s ease}
.rv-r{opacity:0;transform:translateX(34px);transition:opacity .7s ease,transform .7s ease}
.rv.in,.rv-l.in,.rv-r.in{opacity:1;transform:translate(0)}

@media(max-width:991px){.hero-img{margin-top:48px}.hfc1,.hfc2{display:none}}
@media(max-width:767px){.section-pad{padding:68px 0}.testi-video-lf{width:40%}.testi-content-rt{width:60%}}


@media only screen and (max-width:992px){
    a.navbar-brand img.white-logo {
        height: 40px;
    }
    nav.scrolled img.black-logo {
        height: 30px;
    }
    h1.hero-h1 {
        font-size: 24px;
        line-height: 37px;
    }
    .hero-sub {
        font-size: 13px;
    }
    .btn-ghost-wht, a.btn-wht {
        width: 100%;
        text-align: center;
        display: flex;
        justify-content: center;
    }
    section#hero {
        min-height: auto;
        padding: 120px 0 40px;
    }
    section#services {
        padding: 40px 0;
    }
    .col-lg-6.rv.in {}
    span.sec-label {
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 60% !important;
        margin: 20px auto;
    }
    .sec-title {
        text-align: center;
    }
    p {
        text-align: center;
    }
    a.btn-grad {
        width: 100%;
        display: flex;
        justify-content: center;
    }
    article.svc-card {
        display: flex;
        flex-direction: column;
        text-align: center;
        align-items: center;
    }
    .prt-card.color-teal.fade-in {
        min-height: auto;
    }
    .prt-card.color-orange.fade-in {
        min-height: auto;
    }
    .vts-item {
        flex-direction: column;
        justify-content: center;
    }
    .testi-video-lf {
        width: 100%;
    }
    .testi-content-rt {
        width: 100%;
    }
    .prc-step {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
    .pr-card {
        text-align: center;
    }
    section#cta-banner {
        padding: 40px 0;
    }
    footer .col-6.col-lg-3 {
        text-align: center;
    }
    footer .col-lg-6 {justify-content: center;text-align: center;display: flex;flex-direction: column;align-items: center;}
    .ft-desc {
        max-width: 100%;
    }
    .ft-bot {
        text-align: center;
    }
    .ft-bot div {
        text-align: center;
        display: flex;
        justify-content: center;
        width: 100%;
    }
}