.ai-section *{ box-sizing:border-box; }

.ai-section{
  --paper:#edeaead8;
  --ink:#1a1830;
  --ink-soft:#4a4468;
  --indigo:#2a2870;
  --indigo-deep:#151330;
  --brick-lightest:#e8ac8c;
  --brick-light:#c9622f;
  --marigold:#a8431f;
  --marigold-deep:#6e2513;
  --vermilion:#6e2513;
  --brick-dark:#4a1a0c;
  --brick-darkest:#2b0f07;
  --card:#f3e1dc;
  --teal:#0f7a6e;
  --teal-soft:#e3f4f1;
  --gold:#c98a12;
  --gold-soft:#fbf0da;
  --plum:#7a2a6b;
  --plum-soft:#f6e6f2;
  --sky:#2464b0;
  --sky-soft:#e5f0fb;
  --marigold-soft:#f7e6de;
  background:#fefdfc;
}

.ai-sticky-wrap{ position:relative; height:calc(var(--slide-count) * 100vh); padding-bottom: 50px; }
.ai-sticky{ position:sticky; top:0; height:100vh; display:flex; align-items:center; overflow:hidden; }
.ai-grid{
  position:relative; z-index:2; width:100%; max-width:1350px; margin:0 auto;
  padding:0 16px; margin-top: 90px; display:grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap:46px; align-items:center;
}

.ai-left{ min-width:650px; }

.ai-slides-text{ position:relative; min-height:230px; }
.ai-slide-text{ position:absolute; inset:0 0 auto 0; opacity:0; transform:translateY(16px); transition:opacity .55s ease, transform .55s ease; pointer-events:none; }
.ai-slide-text.is-active{ position:relative; opacity:1; transform:translateY(0); pointer-events:auto; }
.ai-slide-text h2{
  font-size:42px; line-height:1.18; font-weight:700; margin:0 0 20px; padding-bottom:5px;
  color:var(--ink);
  background:linear-gradient(100deg, #74280c, #c0583e 60%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.ai-slide-text p{ font-size:16.5px; line-height:1.65; color:var(--ink-soft); margin:0 0 10px; }
.ai-slide-text p:last-child{ margin-bottom:0; }

.ai-dots{ display:flex; align-items:center; gap:10px; margin-top:26px; }
.ai-dot{ width:26px; height:4px; border-radius:2px; background:rgba(35,32,72,0.14); border:none; padding:0; cursor:pointer; transition:background .3s ease, width .3s ease; }
.ai-dot.is-active{ width:40px; background:var(--marigold); }

.ai-cta{ display:inline-flex; align-items:center; gap:10px; margin-top:32px; font-weight:600; font-size:16px; color:var(--ink); text-decoration:none; padding-bottom:2px; border-bottom:2px solid var(--marigold); transition:gap .25s ease; }
.ai-cta:hover{ gap:16px; color:#000000; }
.ai-cta svg{ width:18px; height:12px; }
.ai-cta line, .ai-cta polyline{ stroke:var(--marigold-deep); }

/* ============ RIGHT SIDE ============ */

.ai-right{ position:relative; height:520px; max-width:750px; margin-top:60px}

.ai-corner-tag{
  position:absolute; top:20px; left:22px; z-index:5; display:flex; align-items:center; gap:8px;
  font-size:11px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--indigo); opacity:0; transform:translateY(-6px); transition:opacity .5s ease .1s, transform .5s ease .1s;
}
.ai-icon-slide.is-active .ai-corner-tag{ opacity:1; transform:translateY(0); }
.ai-corner-tag .spark{ width:6px; height:6px; border-radius:50%; background:var(--brick-dark); position:relative; }
.ai-corner-tag .spark::after{ content:""; position:absolute; inset:-5px; border-radius:50%; border:1px solid var(--brick-dark); animation:cornerPulse 1.8s ease-out infinite; }
@keyframes cornerPulse{ 0%{ transform:scale(.5); opacity:.9; } 100%{ transform:scale(1.9); opacity:0; } }

.ai-icons{ position:absolute; inset:0; width:100%; height:100%; }

.ai-icon-slide{
  position:absolute; inset:0;
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:scale(0.94) translateY(10px);
  transition:opacity .6s ease, transform .6s ease;
}
.ai-icon-slide.is-active{ opacity:1; transform:scale(1) translateY(0); }

/* ---------- Slide 0 — Scan & Extract ---------- */
.mockup-scan{
  display:flex; align-items:center; justify-content:space-between; gap:22px;
  width:100%; height:100%; padding:36px 40px;
}
.scan-doc{
  position:relative; flex:0 0 auto;
  width:min(260px, 40%); height:min(420px, 82%);
  background:#fff; border-radius:8px;
  box-shadow:0 16px 30px -16px rgba(35,32,72,0.35), 0 0 0 1px rgba(35,32,72,0.08);
  padding:20px 18px; overflow:hidden;
}
.doc-brand{ font-family:"Sora",sans-serif; font-size:15px; font-weight:700; color:var(--ink); margin-bottom:2px; }
.doc-sub{ font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:14px; }

.doc-row{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:7px; gap:8px; }
.doc-row .dk{ font-size:9.5px; color:var(--ink-soft); }
.doc-row .dv{ font-size:11px; font-weight:600; color:var(--ink); text-align:right; }

.doc-divider{ height:1px; background:rgba(35,32,72,0.1); margin:12px 0; }

.doc-item{ display:flex; justify-content:space-between; font-size:10.5px; color:var(--ink-soft); margin-bottom:8px; gap:8px; }
.doc-item span:last-child{ color:var(--ink); font-weight:500; white-space:nowrap; }

.doc-total{ display:flex; justify-content:space-between; font-size:13px; font-weight:700; color:var(--marigold-deep); }

.doc-badge{
  position:absolute; top:14px; right:14px; z-index:2;
  font-size:9px; font-weight:700; letter-spacing:.03em;
  color:#fff; background:var(--brick-dark); border-radius:999px;
  padding:4px 10px; opacity:0; transform:translateY(-4px) scale(.9);
}
.ai-icon-slide.is-active .doc-badge{ animation:badgeIn .45s ease forwards; animation-delay:2.25s; }
@keyframes badgeIn{ to{ opacity:1; transform:translateY(0) scale(1); } }

.doc-flash{ border-radius:5px; padding:3px 6px; margin:-3px -6px 4px -6px; background:transparent; }
.doc-total.doc-flash{ margin-top:2px; }
.ai-icon-slide.is-active .doc-flash{ animation:fieldFlash .9s ease forwards; }
.doc-flash.d1{ --flash:var(--marigold-soft); animation-delay:.5s; }
.doc-flash.d2{ --flash:var(--sky-soft); animation-delay:.85s; }
.doc-flash.d3{ --flash:var(--teal-soft); animation-delay:1.2s; }
.doc-flash.d4{ --flash:var(--gold-soft); animation-delay:1.55s; }
.doc-flash.d5{ --flash:var(--plum-soft); animation-delay:1.9s; }
@keyframes fieldFlash{
  0%{ background:transparent; box-shadow:none; }
  25%{ background:var(--flash); box-shadow:0 0 0 1px var(--flash); }
  100%{ background:transparent; box-shadow:none; }
}
.scan-beam{ position:absolute; left:0; right:0; height:32px; top:-36px; background:linear-gradient(180deg, transparent, rgba(15,122,110,0.5), rgba(201,138,18,0.35)); }
.ai-icon-slide.is-active .scan-beam{ animation:beamMove 3.2s ease-in-out infinite; }
@keyframes beamMove{ 0%{ top:-36px; } 60%{ top:100%; } 100%{ top:100%; } }

.scan-chips{ flex:1 1 auto; display:flex; flex-direction:column; gap:10px; max-width:260px; }
.scan-chip{
  background:#fff; border-radius:8px; padding:10px 14px 10px 16px;
  box-shadow:0 12px 22px -14px rgba(35,32,72,0.3);
  border:1px solid rgba(35,32,72,0.08); border-left:4px solid var(--marigold);
  opacity:0; transform:translateX(-8px);
}
.ai-icon-slide.is-active .scan-chip{ animation:chipIn .5s ease forwards; }
.ai-icon-slide.is-active .scan-chip:nth-child(1){ animation-delay:.5s; }
.ai-icon-slide.is-active .scan-chip:nth-child(2){ animation-delay:.85s; }
.ai-icon-slide.is-active .scan-chip:nth-child(3){ animation-delay:1.2s; }
.ai-icon-slide.is-active .scan-chip:nth-child(4){ animation-delay:1.55s; }
.ai-icon-slide.is-active .scan-chip:nth-child(5){ animation-delay:1.9s; }
@keyframes chipIn{ to{ opacity:1; transform:translateX(0); } }
.scan-chip .cl{ display:block; font-size:9.5px; letter-spacing:.05em; text-transform:uppercase; margin-bottom:2px; }
.scan-chip .cv{ font-size:14px; font-weight:600; color:var(--ink); }
.scan-chip.c1{ border-left-color:var(--sky); } .scan-chip.c1 .cl{ color:var(--sky); }
.scan-chip.c2{ border-left-color:var(--marigold); } .scan-chip.c2 .cl{ color:var(--marigold); }
.scan-chip.c3{ border-left-color:var(--teal); } .scan-chip.c3 .cl{ color:var(--teal); }
.scan-chip.c4{ border-left-color:var(--plum); } .scan-chip.c4 .cl{ color:var(--plum); }
.scan-chip.c5{ border-left-color:var(--gold); } .scan-chip.c5 .cl{ color:var(--gold); }

/* ---------- Slide 1 — Voice Commands ---------- */
.mockup-voice{ position:relative; width:100%; height:100%; max-width:420px; max-height:420px; aspect-ratio:1/1; margin:0 auto; }
.v-core{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.v-ring{ position:absolute; width:150px; height:150px; border-radius:50%; border:1.5px solid rgba(53,50,140,0.35); opacity:0; }
.ai-icon-slide.is-active .v-ring{ animation:ringPulse 2.8s ease-out infinite; }
.v-ring.r2{ animation-delay:.7s !important; } .v-ring.r3{ animation-delay:1.4s !important; }
@keyframes ringPulse{ 0%{ transform:scale(.7); opacity:.7; } 100%{ transform:scale(2.3); opacity:0; } }
.v-orb{ width:130px; height:130px; border-radius:50%; background:linear-gradient(160deg,#fff,var(--brick-lightest)); box-shadow:0 16px 30px -14px rgba(144,51,28,0.5), 0 0 0 1px rgba(144,51,28,0.25); display:flex; align-items:center; justify-content:center; }
.v-orb svg{ width:52px; height:52px; stroke:var(--indigo); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }

.v-lang{
  position:absolute; font-size:13px; font-weight:600; background:#fff;
  border:1.5px solid rgba(53,50,140,0.2); border-radius:999px; padding:8px 17px;
  color:var(--indigo); opacity:.45;
  box-shadow:0 8px 16px -12px rgba(35,32,72,0.3);
  transform:translate(-50%,-50%) scale(.9);
}
.ai-icon-slide.is-active .v-lang{ animation:langActive 6s ease-in-out infinite; }

/* 5 chips evenly spaced around the circle, 72° apart, starting at 12 o'clock */
.v-lang.l1{ top:-1%;   left:50%;    animation-delay:0s    !important; } /* ENGLISH — top */
.v-lang.l2{ top:30.8%;  left:109%;   animation-delay:1.2s  !important; } /* TAMIL — upper right */
.v-lang.l3{ top:100.2%; left:86.4%;  animation-delay:2.4s  !important; } /* HINDI — lower right */
.v-lang.l4{ top:100.2%; left:13.6%;  animation-delay:3.6s  !important; } /* MALAYALAM — lower left */
.v-lang.l5{ top:30.8%;  left:-9%;    animation-delay:4.8s  !important; } /* ARABIC — upper left */

.v-lang.l1{ --active-bg: var(--sky);         --active-border: var(--sky); }
.v-lang.l2{ --active-bg: var(--teal);        --active-border: var(--teal); }
.v-lang.l3{ --active-bg: var(--plum);        --active-border: var(--plum); }
.v-lang.l4{ --active-bg: var(--gold);        --active-border: var(--gold); }
.v-lang.l5{ --active-bg: var(--brick-light); --active-border: var(--brick-light); }

@keyframes langActive{
  0%,15%{ opacity:.45; transform:translate(-50%,-50%) scale(.9); background:#fff; color:var(--indigo); }
  22%,35%{ opacity:1; transform:translate(-50%,-50%) scale(1.1); background:var(--active-bg); color:#fff; border-color:var(--active-border); }
  45%,100%{ opacity:.45; transform:translate(-50%,-50%) scale(.9); background:#fff; color:var(--indigo); }
}
/* ---------- Slide 2 — AI Assistant ---------- */
.mockup-chat{ width:100%; height:100%; max-width:400px; max-height:380px; margin:0 auto; background:#fff; border-radius:14px; box-shadow:0 20px 38px -18px rgba(35,32,72,0.4); overflow:hidden; display:flex; flex-direction:column; }
.chat-head{ display:flex; align-items:center; gap:8px; padding:16px 20px; border-bottom:1px solid rgba(35,32,72,0.08); }
.chat-head i{ width:6px; height:6px; border-radius:50%; background:var(--marigold); display:block; }
.chat-head span{ font-size:12px; font-weight:600; letter-spacing:.03em; color:var(--indigo); }
.chat-body{ padding:20px; display:flex; flex-direction:column; gap:12px; flex:1 1 auto; overflow:hidden;}

.chat-bub{ font-size:14px; line-height:1.5; padding:11px 15px; border-radius:10px; opacity:0; transform:translateY(6px); }
.ai-icon-slide.is-active .chat-bub{ animation:bubIn .5s ease forwards; }
.ai-icon-slide.is-active .chat-body > .chat-bub:nth-child(1){ animation-delay:.4s; }
.ai-icon-slide.is-active .chat-body > .chat-bub:nth-child(2){ animation-delay:1.0s; }
.ai-icon-slide.is-active .chat-body > .chat-bub:nth-child(3){ animation-delay:2.4s; }
.ai-icon-slide.is-active .chat-body > .chat-bub:nth-child(4){ animation-delay:3.0s; }
@keyframes bubIn{ to{ opacity:1; transform:translateY(0); } }
.chat-bub.u{ align-self:flex-end; background:var(--sky-soft); color:var(--ink); max-width:85%; }
.chat-bub.a{ align-self:flex-start; background:var(--gold-soft); border:1px solid rgba(201,138,18,0.35); color:var(--ink-soft); max-width:96%; }
.chat-body > .chat-bub:nth-child(4){ background:var(--plum-soft); border-color:rgba(122,42,107,0.3); }

.chat-bars{ display:flex; align-items:flex-end; gap:4px; height:40px; margin-top:10px; }
.chat-bars span{ flex:1; border-radius:2px 2px 0 0; opacity:.85; transform:scaleY(0); transform-origin:bottom; }
.chat-bars span:nth-child(1){ background:var(--sky); }
.chat-bars span:nth-child(2){ background:var(--teal); }
.chat-bars span:nth-child(3){ background:var(--gold); }
.chat-bars span:nth-child(4){ background:var(--marigold-deep); }
.chat-bars span:nth-child(5){ background:var(--plum); }
.ai-icon-slide.is-active .chat-bars span{ animation:barGrow .45s ease forwards; }
.chat-bars span:nth-child(1){ height:36%; } .chat-bars span:nth-child(2){ height:60%; } .chat-bars span:nth-child(3){ height:48%; } .chat-bars span:nth-child(4){ height:82%; } .chat-bars span:nth-child(5){ height:100%; }
.ai-icon-slide.is-active .chat-bars span:nth-child(1){ animation-delay:1.8s; }
.ai-icon-slide.is-active .chat-bars span:nth-child(2){ animation-delay:1.88s; }
.ai-icon-slide.is-active .chat-bars span:nth-child(3){ animation-delay:1.96s; }
.ai-icon-slide.is-active .chat-bars span:nth-child(4){ animation-delay:2.04s; }
.ai-icon-slide.is-active .chat-bars span:nth-child(5){ animation-delay:2.12s; }
@keyframes barGrow{ to{ opacity:.85; transform:scaleY(1); } }

/* ---------- Slide 3 — Every Department ---------- */
.mockup-net{ position:relative; width:100%; height:100%; max-width:400px; max-height:400px; aspect-ratio:1/1; margin:0 auto; }
.net-line{ stroke:rgba(53,50,140,0.22); stroke-width:1.4; fill:none; }
.net-line.ln1{ stroke:rgba(36,100,176,0.35); }
.net-line.ln2{ stroke:rgba(15,122,110,0.35); }
.net-line.ln3{ stroke:rgba(201,138,18,0.4); }
.net-line.ln4{ stroke:rgba(122,42,107,0.35); }
.net-pulse{ opacity:0; }
.net-pulse.p1{ fill:var(--sky); }
.net-pulse.p2{ fill:var(--teal); }
.net-pulse.p3{ fill:var(--gold); }
.net-pulse.p4{ fill:var(--plum); }
.ai-icon-slide.is-active .net-pulse{ animation:pulseTravel 3.6s linear infinite; }
.net-pulse.p2{ animation-delay:.9s !important; } .net-pulse.p3{ animation-delay:1.8s !important; } .net-pulse.p4{ animation-delay:2.7s !important; }
@keyframes pulseTravel{ 0%{ offset-distance:0%; opacity:0; } 8%{ opacity:1; } 92%{ opacity:1; } 100%{ offset-distance:100%; opacity:0; } }

.net-node{ position:absolute; width:96px; height:96px; margin:-48px 0 0 -48px; border-radius:16px; background:#fff; box-shadow:0 12px 24px -14px rgba(35,32,72,0.35); border:1px solid rgba(53,50,140,0.12); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.net-node i{ font-size:26px; line-height:1; color:var(--indigo); }
.net-node span{ font-size:12px; font-weight:600; text-transform:uppercase; color:var(--indigo); }

.net-node.n1{ top:16%; left:16%; background:var(--sky-soft); border-color:rgba(36,100,176,0.3); }
.net-node.n1 i{ color:var(--sky); } .net-node.n1 span{ color:var(--sky); }

.net-node.n2{ top:16%; left:84%; background:var(--teal-soft); border-color:rgba(15,122,110,0.3); }
.net-node.n2 i{ color:var(--teal); } .net-node.n2 span{ color:var(--teal); }

.net-node.n3{ top:84%; left:16%; background:var(--gold-soft); border-color:rgba(201,138,18,0.35); }
.net-node.n3 i{ color:var(--gold); } .net-node.n3 span{ color:var(--gold); }

.net-node.n4{ top:84%; left:84%; background:var(--plum-soft); border-color:rgba(122,42,107,0.3); }
.net-node.n4 i{ color:var(--plum); } .net-node.n4 span{ color:var(--plum); }

.net-node.center{
    width:108px; height:108px; margin:-54px 0 0 -54px; top:50%; left:50%;
    background:linear-gradient(160deg,#fff, #bf5f46); border-color:rgba(144,51,28,0.4);
}
.net-node.center i{ font-size:32px; color:var(--marigold-deep); }
.net-node.center span{ color:var(--marigold-deep); }

/* ============ RESPONSIVE ============ */

@media (max-width:980px){
    .ai-sticky-wrap{ height:auto; }
    .ai-sticky{ position:relative; top:auto; height:auto; overflow:visible; flex-direction:column; justify-content:flex-start; padding:56px 0; }
    .ai-grid{ display:flex; flex-direction:column; max-width:100%; padding:0 20px; gap:0; }

    .ai-left{ min-width:0; max-width:100%; width:100%; text-align:center; padding-top:0; }
    .ai-right{ height:auto; max-width:100%; width:100%; margin-top:0; }

    /* lift children of these wrappers up so text + visual slides become siblings we can interleave */
    .ai-left, .ai-right, .ai-slides-text, .ai-icons, .ai-right > div{ display:contents; }

    .sb-eyebrow{ order:-1; margin:0 auto 8px; }

    /* interleave: text0, visual0, text1, visual1, text2, visual2, text3, visual3 */
    .ai-slide-text[data-slide="0"]{ order:1; }
    .ai-icon-slide[data-slide="0"]{ order:2; }
    .ai-slide-text[data-slide="1"]{ order:3; }
    .ai-icon-slide[data-slide="1"]{ order:4; }
    .ai-slide-text[data-slide="2"]{ order:5; }
    .ai-icon-slide[data-slide="2"]{ order:6; }
    .ai-slide-text[data-slide="3"]{ order:7; }
    .ai-icon-slide[data-slide="3"]{ order:8; }
    .ai-cta{ order:9; margin-left:auto; margin-right:auto; }
    .ai-dots{ display:none; }

    /* all text slides render statically, stacked, all visible (no scroll-driven fade) */
    .ai-slides-text{ min-height:0; }
    .ai-slide-text{
        position:relative; inset:auto; opacity:1 !important; transform:none !important;
        pointer-events:auto; margin-bottom:44px; transition:none;
    }

    /* all icon slides render statically, stacked, all visible */
    .ai-icons{ position:relative; height:auto; }
    .ai-icon-slide{
        position:relative; inset:auto; width:100%; height:auto; min-height:280px;
        opacity:1 !important; transform:none !important; transition:none; margin-bottom:44px;

        /* force vertical stacking (tag above mockup) instead of the inherited
           row-direction flex from the desktop rule, which was causing the
           corner-tag to render oddly relative to the mockup on mobile */
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:flex-start;
    }
    .ai-icon-slide:last-of-type{ margin-bottom:0; }

    /* corner tag becomes a static centered label above each visual instead of floating over it */
    .ai-corner-tag{
        position:relative !important; top:auto; left:auto; opacity:1 !important; transform:none !important;
        justify-content:center; margin-bottom:14px;
        width:100%;
    }

    /* force every entrance-animated element to its finished, visible state (no longer relies on .is-active) */
    .doc-badge, .scan-chip, .chat-bub, .net-pulse{ opacity:1 !important; transform:none !important; animation:none !important; }
    .chat-bars span{ transform:scaleY(1) !important; animation:none !important; -webkit-transform:scaleY(1) !important; -moz-transform:scaleY(1) !important; -ms-transform:scaleY(1) !important; -o-transform:scaleY(1) !important; }
    .doc-flash{ animation:none !important; }
    .v-ring{ animation:none !important; opacity:0; }
    .v-lang{ animation:none !important; opacity:.9 !important; transform:scale(1) !important; }
    .scan-beam{ display:none; }

    .mockup-scan{ flex-direction:column; padding:28px 20px; gap:18px; width:100%; }
    .scan-doc{ width:100%; height:auto; max-height:none; }
    .scan-chips{ width:100%; max-width:100%; }
    .mockup-voice{ max-width:300px; max-height:300px; margin:0 auto; }
    .mockup-chat{ max-width:100%; max-height:none; }
    .mockup-net{ max-width:280px; max-height:280px; margin:0 auto; }
    .ai-cta{ order:9; margin-left:auto; margin-right:auto; }

    .reveal{
        order:9;
        margin:32px auto 0;
        justify-content:center;
    }
    .v-lang{ animation:none !important; opacity:.9 !important; transform:translate(-50%,-50%) scale(1) !important; }
}

@media (max-width:760px){
    .ai-slide-text h2{ font-size:30px; }
    .ai-slide-text p{ font-size:15px; }
    .mockup-scan{ padding:20px 18px; gap:14px; }
    .mockup-voice{ max-width:240px; max-height:240px; }
    .mockup-chat{ max-width:100%; max-height:none; }
    .mockup-net{ max-width:240px; max-height:240px; }
}

@media (max-width:480px){
    .ai-slide-text h2{ font-size:25px; }
    .scan-doc{ max-height:none; }
    .scan-chip{ padding:7px 10px; }
    .scan-chip .cv{ font-size:12px; }
    .mockup-voice{ max-width:200px; max-height:200px; }
    .v-lang{ font-size:10.5px; padding:6px 12px; }
    .mockup-chat{ max-height:none; }
    .mockup-net{ max-width:200px; max-height:200px; }

    /* fixed: margin must be exactly -half(width) / -half(height) to stay centered on top/left % */
    .net-node{ width:60px; height:60px; margin:-30px 0 0 -30px; }
    .net-node i{ font-size:15px; }
    .net-node span{ font-size:9.5px; }
    .net-node.center{ width:60px; height:60px; margin:-30px 0 0 -30px; }
    .net-node.center i{ font-size:15px; }
}

@media (prefers-reduced-motion: reduce){
    .ai-slide-text, .ai-icon-slide, .ai-dot, .scan-beam, .scan-chip, .v-ring, .v-lang, .chat-bub, .chat-bars span, .net-pulse, .ai-corner-tag .spark::after{ transition:none; animation:none; }
}

.sb-btn-primary {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      font-family: 'Poppins', sans-serif;
      font-weight: 600;
      color: #fff;
      padding: .8rem 1.7rem;
      border-radius: 14px;
      border: none;
      background: linear-gradient(135deg, var(--sb-red), var(--sb-red-deep));
      box-shadow: 0 10px 24px rgba(179, 34, 22, .3);
      transition: .25s;
    }

    .sb-btn-primary:hover {
      color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 14px 30px rgba(179, 34, 22, .42);
      text-decoration: none;
    }

    .sb-btn-primary i {
      transition: transform .2s
    }

    .sb-btn-primary:hover i {
      transform: translateX(3px)
    }