/* =========================================================
   DigiRDP Redesign — Theme v3  (premium light glass · AiWave-faithful)
   Colored glow shadows · decorative orbs · glass · pill gradient
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Inter:wght@400;450;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Caveat:wght@600;700&display=swap');

:root{
  /* Brand gradient — 3-stop blue→violet→lavender (the premium AI feel) */
  --grad:linear-gradient(100deg,#3f85c6 0%,#7c6cf0 52%,#cd99ff 100%);
  --grad-b:linear-gradient(100deg,#3475b8 0%,#6a5cf0 52%,#c489ff 100%);
  --c-blue:#3f85c6; --c-violet:#7c6cf0; --c-lav:#cd99ff; --c-violet-ink:#5b4fd0;

  /* Ink */
  --ink:#0e1220; --ink-2:#242a3d; --body:#4a5167; --muted:#6d7488; --faint:#9aa1b4;

  /* Surfaces */
  --bg:#f4f5fd; --bg-2:#eef0fb; --card:#ffffff;
  --glass:rgba(255,255,255,.72); --glass-2:rgba(255,255,255,.55);

  /* Lines */
  --line:#e7e8f5; --line-2:#dcdef0; --line-strong:#c9cbe6;

  /* Colored glow shadows */
  --glow-xs:0 2px 10px rgba(112,100,233,.06);
  --glow-sm:0 4px 20px rgba(112,100,233,.08),0 1px 3px rgba(63,133,198,.06);
  --glow:0 12px 40px -8px rgba(112,100,233,.16),0 4px 12px rgba(63,133,198,.06);
  --glow-lg:0 28px 64px -16px rgba(112,100,233,.30),0 8px 24px rgba(63,133,198,.10);
  --glow-btn:0 8px 22px -4px rgba(90,79,208,.45);
  --glow-btn-h:0 12px 30px -4px rgba(90,79,208,.55);
  --ring:0 0 0 4px rgba(124,108,240,.16);

  --r-sm:9px; --r:13px; --r-lg:18px; --r-xl:24px; --pill:999px;
  --wrap:1180px;
  --ok:#0f9d58; --ok-wash:#e7f6ee; --warn:#c2650b; --warn-wash:#fdf1e3;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Inter',system-ui,sans-serif;font-size:16px;color:var(--body);line-height:1.6;
  -webkit-font-smoothing:antialiased;letter-spacing:-.006em;position:relative;
  background:
    radial-gradient(760px 520px at 100% -60px,rgba(205,153,255,.16),transparent 70%),
    radial-gradient(680px 520px at -60px 60px,rgba(63,133,198,.13),transparent 70%),
    var(--bg);}
h1,h2,h3,h4,h5{font-family:'Sora',sans-serif;color:var(--ink);margin:0;line-height:1.12;font-weight:700;letter-spacing:-.022em}
p{margin:0} a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.mono{font-family:'JetBrains Mono',monospace;font-feature-settings:"tnum";letter-spacing:-.01em}

/* decorative floating orbs */
.orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0;opacity:.75}
.orb-b{background:radial-gradient(circle,rgba(63,133,198,.42),transparent 66%)}
.orb-v{background:radial-gradient(circle,rgba(124,108,240,.34),transparent 66%)}
.orb-l{background:radial-gradient(circle,rgba(205,153,255,.36),transparent 66%)}

/* icons */
.ic{width:18px;height:18px;flex:none;display:inline-block;vertical-align:middle}
.ic-sm{width:13px;height:13px;opacity:.6} .ic-lg{width:22px;height:22px}

/* eyebrow */
.eyebrow{font-family:'JetBrains Mono',monospace;font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--c-violet-ink);display:inline-flex;align-items:center;gap:9px}
.eyebrow::before{content:'';width:22px;height:2px;border-radius:2px;background:var(--grad);display:inline-block}

/* ---------- Buttons (pill + gradient + glow) ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;font-family:'Sora',sans-serif;font-weight:600;
  font-size:15px;cursor:pointer;border:1px solid transparent;border-radius:var(--pill);padding:12px 22px;transition:.18s ease;
  white-space:nowrap;line-height:1}
.btn .ic{width:16px;height:16px}
.btn-primary{background:var(--grad);color:#fff;box-shadow:var(--glow-btn),inset 0 1px 0 rgba(255,255,255,.25);
  background-size:140% 140%;background-position:0% 50%}
.btn-primary:hover{background-position:100% 50%;box-shadow:var(--glow-btn-h);transform:translateY(-1px)}
.btn-ghost{background:rgba(255,255,255,.9);color:var(--ink);border-color:var(--line-2);box-shadow:var(--glow-xs)}
.btn-ghost:hover{border-color:var(--c-violet);color:var(--c-violet-ink);box-shadow:var(--glow-sm)}
.btn-soft{background:rgba(124,108,240,.10);color:var(--c-violet-ink);border-color:rgba(124,108,240,.20)}
.btn-soft:hover{background:rgba(124,108,240,.16)}
.btn-lg{padding:15px 30px;font-size:16px} .btn-sm{padding:10px 17px;font-size:14px} .btn-block{width:100%}

/* ---------- Header (glass) ---------- */
.hd{position:sticky;top:0;z-index:50;background:rgba(244,245,253,.72);backdrop-filter:blur(18px) saturate(1.6);
  border-bottom:1px solid rgba(231,232,245,.8)}
.hd-in{display:flex;align-items:center;gap:30px;height:72px}
.hd-logo img{height:30px}
.nav{display:flex;gap:2px;margin-left:6px}
.nav a{font-family:'Inter';font-weight:500;font-size:14.5px;color:var(--ink-2);display:flex;align-items:center;gap:3px;
  padding:8px 13px;border-radius:var(--pill);transition:.14s}
.nav a:hover{color:var(--c-violet-ink);background:rgba(124,108,240,.08)}
.hd-right{margin-left:auto;display:flex;align-items:center;gap:16px}
.cur{font-family:'Inter';font-weight:500;font-size:14px;color:var(--ink-2);display:flex;align-items:center;gap:3px;cursor:pointer}
.link-q{font-family:'Inter';font-weight:600;font-size:14px;color:var(--ink-2)} .link-q:hover{color:var(--c-violet-ink)}
/* nav dropdowns */
.nav-item{position:relative;display:flex}
.dd{position:absolute;top:100%;left:0;min-width:236px;background:#fff;border:1px solid var(--line);border-radius:var(--r);
  box-shadow:var(--glow-lg);padding:8px;margin-top:6px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.15s;z-index:60}
.dd::before{content:'';position:absolute;top:-8px;left:0;right:0;height:8px}
.nav-item:hover .dd{opacity:1;visibility:visible;transform:translateY(0)}
.dd a{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-sm);font-family:'Inter';font-weight:500;font-size:14px;color:var(--ink-2)}
.dd a:hover{background:var(--bg-2);color:var(--c-violet-ink)}
.dd a .flag{font-size:15px;line-height:1}
.dd-all{margin-top:5px;padding-top:11px!important;border-top:1px solid var(--line);color:var(--c-violet-ink)!important;font-weight:600!important}
.dd-all .ic{width:14px;height:14px;margin-left:auto}

/* ---------- Chips / badges ---------- */
.tag{display:inline-flex;align-items:center;gap:7px;font-family:'Inter';font-weight:600;font-size:13px;padding:6px 13px 6px 10px;
  border-radius:var(--pill);background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.9);color:var(--ink-2);box-shadow:var(--glow-sm)}
.tag .dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-wash)}
.tag.accent{background:rgba(124,108,240,.10);border-color:rgba(124,108,240,.22);color:var(--c-violet-ink)}
.badge{display:inline-flex;align-items:center;gap:5px;font-family:'JetBrains Mono',monospace;font-weight:600;font-size:11.5px;
  letter-spacing:.02em;padding:4px 9px;border-radius:7px;background:var(--ok-wash);color:#0b7a45}

/* ---------- Cards (soft glow, large radius) ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--glow-sm)}
.glass{background:rgba(255,255,255,.82);backdrop-filter:blur(14px) saturate(1.3);border:1px solid rgba(255,255,255,.8);
  border-radius:var(--r-lg);box-shadow:var(--glow-lg)}
.hair{height:1px;background:var(--line);border:0;margin:0}
.muted{color:var(--muted)} .faint{color:var(--faint)}
.grad-ink{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad-border{border:1px solid transparent;
  background:linear-gradient(var(--card),var(--card)) padding-box,var(--grad) border-box}

/* gradient icon tile */
.gtile{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:#fff;
  background:var(--grad);box-shadow:var(--glow-btn)}
.gtile.soft{background:linear-gradient(135deg,rgba(63,133,198,.14),rgba(205,153,255,.14));color:var(--c-violet-ink);
  border:1px solid rgba(124,108,240,.16);box-shadow:none}
.gtile .ic{width:23px;height:23px}

/* ---------- Footer ---------- */
.ft{background:linear-gradient(180deg,transparent,rgba(124,108,240,.05));border-top:1px solid var(--line);margin-top:96px;padding:60px 0 28px;position:relative;z-index:1}
.ft-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.ft-logo{height:28px;margin-bottom:16px}
.ft p{font-size:14px;color:var(--muted);max-width:300px}
.ft h5{font-family:'Sora';color:var(--ink);font-size:13px;margin-bottom:14px}
.ft a{color:var(--muted);font-size:14px;line-height:2.05;display:block} .ft a:hover{color:var(--c-violet-ink)}
.ft-badges{display:flex;align-items:center;gap:7px;margin-top:16px;font-size:13px;color:var(--muted)}
.ft-badges b{color:var(--ink)} .ft-badges .star{width:15px;height:15px;color:#f5a623} .ft-badges em{color:var(--faint)}
.ft-bottom{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;
  font-size:13px;color:var(--faint);flex-wrap:wrap;gap:10px}

/* ---------- Stepper ---------- */
.steps{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}
.step{display:flex;align-items:center;gap:9px;font-family:'Sora';font-weight:600;font-size:14px;color:var(--faint)}
.step .dot{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1.5px solid var(--line-2);
  font-size:12.5px;color:var(--faint);font-family:'JetBrains Mono'}
.step .dot .ic{width:14px;height:14px}
.step.done{color:var(--ink-2)} .step.done .dot{background:var(--grad);border-color:transparent;color:#fff;box-shadow:var(--glow-btn)}
.step.active{color:var(--ink)} .step.active .dot{border-color:var(--c-violet);color:var(--c-violet-ink);box-shadow:var(--ring)}
.step-sep{width:54px;height:2px;border-radius:2px;background:var(--line-2);margin:0 14px}
.step-sep.done{background:var(--grad)}

/* ---------- Configurator ---------- */
.cfg-block{margin-bottom:26px;position:relative;z-index:1}
.cfg-head{display:flex;align-items:center;gap:11px;margin-bottom:13px}
.cfg-head h4{font-size:15.5px}
.cfg-head .num{font-family:'JetBrains Mono';font-weight:600;font-size:11px;color:#fff;background:var(--grad);width:23px;height:23px;
  border-radius:7px;display:grid;place-items:center;flex:none;box-shadow:var(--glow-btn)}
.cfg-head .aux{margin-left:auto;font-family:'JetBrains Mono';font-size:12.5px;color:var(--muted)}
.view-all{margin-left:auto;font-family:'Sora';font-weight:600;font-size:13px;color:var(--c-violet-ink);
  background:rgba(124,108,240,.08);border:1px solid rgba(124,108,240,.2);border-radius:var(--pill);padding:6px 14px;
  cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:.14s}
.view-all:hover{background:rgba(124,108,240,.15)}
.view-all .ic{width:14px;height:14px}
.opt-grid.focused{grid-template-columns:1fr}
.opt-grid.focused .opt{display:none}
.opt-grid.focused .opt.sel{display:block}
.locked-note{font-family:'Inter';font-size:12.5px;color:var(--muted);margin:-4px 0 0;display:flex;align-items:center;gap:6px}
.locked-note .ic{width:13px;height:13px;color:var(--c-violet)}
.opt-grid{display:grid;gap:11px}
.opt-grid.c2{grid-template-columns:repeat(2,1fr)} .opt-grid.c3{grid-template-columns:repeat(3,1fr)} .opt-grid.c4{grid-template-columns:repeat(4,1fr)}
.opt{position:relative;border:1.5px solid var(--line-2);border-radius:var(--r);padding:14px 16px;cursor:pointer;background:#fff;
  transition:.16s ease;box-shadow:var(--glow-xs)}
.opt:hover{border-color:var(--c-violet);box-shadow:var(--glow-sm);transform:translateY(-1px)}
.opt.sel{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box;box-shadow:var(--glow),var(--ring)}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt .t{font-family:'Sora';font-weight:600;color:var(--ink);font-size:14.5px;display:flex;align-items:center;gap:8px}
.opt .t .flag{font-size:16px;line-height:1}
.opt .s{font-family:'JetBrains Mono';font-size:12px;color:var(--muted);margin-top:4px}
.opt .add{position:absolute;top:14px;right:16px;font-family:'JetBrains Mono';font-weight:500;font-size:12.5px;color:var(--c-violet-ink)}
.opt.sel .add{display:none}
.opt.sel::after{content:'';position:absolute;top:12px;right:13px;width:19px;height:19px;border-radius:50%;background:var(--grad);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/12px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7'/%3E%3C/svg%3E") center/12px no-repeat}

/* ---------- Summary rail ---------- */
.rail{position:sticky;top:94px;z-index:1}
.rail .card{padding:0;overflow:hidden}
.rail-h{padding:18px 20px 14px;border-bottom:1px solid var(--line)}
.rail-b{padding:16px 20px}
.sum-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;font-size:14px}
.sum-row .k{color:var(--muted)} .sum-row .v{font-family:'JetBrains Mono';font-weight:500;color:var(--ink)}
.sum-total{display:flex;justify-content:space-between;align-items:flex-end;padding:16px 20px;
  background:linear-gradient(135deg,rgba(63,133,198,.07),rgba(205,153,255,.07));border-top:1px solid var(--line)}
.sum-total .big{font-family:'Sora';font-weight:800;font-size:29px;color:var(--ink);letter-spacing:-.03em}
.sum-total .per{font-family:'Inter';font-weight:500;font-size:13px;color:var(--muted)}

/* ---------- Forms ---------- */
.field{margin-bottom:15px}
.field label{display:block;font-family:'Sora';font-weight:600;font-size:13px;color:var(--ink-2);margin-bottom:6px}
.field input,.field select{width:100%;padding:12px 14px;border:1.5px solid var(--line-2);border-radius:var(--r-sm);font-family:'Inter';
  font-size:15px;color:var(--ink);background:#fff;transition:.14s;box-shadow:var(--glow-xs)}
.field input::placeholder{color:var(--faint)}
.field input:focus,.field select:focus{outline:none;border-color:var(--c-violet);box-shadow:var(--ring)}
.field .hint{font-family:'Inter';font-size:12px;color:var(--faint);margin-top:5px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:13px}

/* ---------- Product cards ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:1}
.prod{padding:28px;position:relative;transition:.18s;display:flex;flex-direction:column;border-radius:var(--r-xl)}
.prod:hover{box-shadow:var(--glow-lg);transform:translateY(-4px)}
.prod.feat{box-shadow:var(--glow)}
.prod .p-ico{margin-bottom:18px}
.prod h3{font-size:19px;margin-bottom:7px}
.prod .p-desc{font-size:14px;color:var(--muted);min-height:60px}
.prod .p-price{display:flex;align-items:baseline;gap:4px;margin:16px 0 3px}
.prod .p-price .amt{font-family:'Sora';font-weight:800;font-size:32px;color:var(--ink);letter-spacing:-.03em}
.prod .p-price .per{font-size:13px;color:var(--muted)}
.prod .p-geo{font-family:'JetBrains Mono';font-size:11.5px;color:var(--faint)}
.prod ul{list-style:none;padding:0;margin:18px 0 24px;display:flex;flex-direction:column;gap:11px}
.prod ul li{font-size:13.5px;color:var(--body);display:flex;gap:10px;align-items:center}
.prod ul li .ic{width:16px;height:16px;color:var(--c-violet);flex:none}
.prod .btn{margin-top:auto}

/* ---------- Pricing table ---------- */
.bt{display:inline-flex;align-items:center;gap:4px;padding:5px;border-radius:var(--pill);background:#fff;
  border:1px solid var(--line-2);box-shadow:var(--glow-sm)}
.bt-opt{font-family:'Sora';font-weight:600;font-size:14px;color:var(--muted);padding:9px 20px;border-radius:var(--pill);
  cursor:pointer;border:0;background:transparent;transition:.16s;display:inline-flex;align-items:center;gap:8px}
.bt-opt.on{background:var(--grad);color:#fff;box-shadow:var(--glow-btn)}
.bt-opt .save{font-family:'JetBrains Mono';font-size:11px;padding:2px 7px;border-radius:6px;background:var(--ok-wash);color:#0b7a45}
.bt-opt.on .save{background:rgba(255,255,255,.25);color:#fff}
.pt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:1;align-items:start}
.pt-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:30px 26px;position:relative;
  box-shadow:var(--glow-sm);transition:.18s;display:flex;flex-direction:column}
.pt-card:hover{box-shadow:var(--glow);transform:translateY(-3px)}
.pt-card.pop{border:1px solid transparent;background:linear-gradient(var(--card),var(--card)) padding-box,var(--grad) border-box;
  box-shadow:var(--glow-lg);transform:scale(1.03)}
.pt-card.pop:hover{transform:scale(1.03) translateY(-3px)}
.pt-pop{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--grad);color:#fff;
  font-family:'Sora';font-weight:600;font-size:12px;padding:6px 16px;border-radius:var(--pill);box-shadow:var(--glow-btn);white-space:nowrap}
.pt-name{font-family:'Sora';font-weight:700;font-size:17px;color:var(--ink)}
.pt-tagline{font-size:13px;color:var(--muted);margin:5px 0 18px;min-height:36px}
.pt-price{display:flex;align-items:baseline;gap:3px}
.pt-price .cur{font-family:'Sora';font-weight:700;font-size:20px;color:var(--ink);align-self:flex-start;margin-top:6px}
.pt-price .amt{font-family:'Sora';font-weight:800;font-size:46px;color:var(--ink);letter-spacing:-.03em;line-height:1}
.pt-per{font-size:13px;color:var(--muted)}
.pt-old{font-size:13px;color:var(--faint);text-decoration:line-through;margin-top:6px}
.pt-feat{list-style:none;padding:0;margin:20px 0 24px;display:flex;flex-direction:column;gap:12px}
.pt-feat li{font-size:13.5px;color:var(--body);display:flex;gap:10px;align-items:flex-start}
.pt-feat li .ic{width:16px;height:16px;color:var(--c-violet);flex:none;margin-top:2px}
.pt-feat li.off{color:var(--faint)} .pt-feat li.off .ic{color:var(--faint)}
.pt-card .btn{margin-top:auto}

/* snake / hand-drawn arrow */
.snake{position:absolute;z-index:2;pointer-events:none}
.snake-label{font-family:'Caveat','Segoe Script',cursive;font-weight:700;color:var(--c-violet-ink);font-size:22px;
  position:absolute;z-index:2;transform:rotate(-8deg);pointer-events:none}

/* ---------- Offer bar ---------- */
.offer{background:linear-gradient(100deg,#171528,#241f42 55%,#2a2350);color:#e8e6f5;position:relative;z-index:60}
.offer-in{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 44px 10px 20px;font-size:13.5px;
  font-family:'Inter';font-weight:500;flex-wrap:wrap;text-align:center}
.offer b{color:#fff;font-family:'Sora'}
.offer .code{font-family:'JetBrains Mono';font-weight:600;font-size:12.5px;background:rgba(255,255,255,.14);
  border:1px dashed rgba(255,255,255,.4);border-radius:6px;padding:2px 9px;color:#fff;letter-spacing:.02em}
.offer .go{color:#fff;font-weight:600;display:inline-flex;align-items:center;gap:5px}
.offer .go .ic{width:14px;height:14px}
.offer .x{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:transparent;border:0;color:#b6b2d6;
  cursor:pointer;font-size:16px;line-height:1;padding:4px}
.offer .x:hover{color:#fff}
.offer .pulse{width:7px;height:7px;border-radius:50%;background:#7be0a4;box-shadow:0 0 0 0 rgba(123,224,164,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(123,224,164,.5)}70%{box-shadow:0 0 0 7px rgba(123,224,164,0)}100%{box-shadow:0 0 0 0 rgba(123,224,164,0)}}

/* ---------- Testimonials ---------- */
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative;z-index:1}
.tst{padding:26px;border-radius:var(--r-xl)}
.tst .stars{display:flex;gap:2px;margin-bottom:14px}
.tst .stars .ic{width:16px;height:16px;color:#f5a623}
.tst p{font-size:14.5px;color:var(--ink-2);line-height:1.62}
.tst .who{display:flex;align-items:center;gap:12px;margin-top:18px}
.tst .av{width:40px;height:40px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;
  font-family:'Sora';font-weight:700;font-size:15px;flex:none;box-shadow:var(--glow-btn)}
.tst .nm{font-family:'Sora';font-weight:600;font-size:14px;color:var(--ink)}
.tst .rl{font-size:12.5px;color:var(--muted)}

/* ---------- FAQ ---------- */
.faq{max-width:760px;margin:0 auto;position:relative;z-index:1}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;box-shadow:var(--glow-sm);overflow:hidden}
.faq details[open]{border-color:var(--c-violet);box-shadow:var(--glow)}
.faq summary{list-style:none;cursor:pointer;padding:18px 22px;font-family:'Sora';font-weight:600;font-size:15.5px;color:var(--ink);
  display:flex;align-items:center;justify-content:space-between;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .q-ic{width:22px;height:22px;flex:none;color:var(--c-violet);transition:.2s}
.faq details[open] summary .q-ic{transform:rotate(45deg)}
.faq .a{padding:0 22px 20px;font-size:14.5px;color:var(--body);line-height:1.65}

/* ---------- Note ---------- */
.note{position:fixed;right:20px;bottom:20px;z-index:80;max-width:352px}
.note-toggle{background:var(--ink);color:#fff;font-family:'Sora';font-weight:600;font-size:13px;padding:10px 16px;border-radius:var(--pill);
  cursor:pointer;box-shadow:var(--glow-lg);border:0;display:flex;align-items:center;gap:7px}
.note-toggle .ic{width:15px;height:15px}
.note-body{display:none;background:var(--ink);color:#c7cbdb;border-radius:var(--r);padding:16px 18px;margin-bottom:10px;font-size:13px;
  line-height:1.62;box-shadow:var(--glow-lg)}
.note-body.open{display:block}
.note-body b{color:#fff;font-family:'Sora'}
.note-body code{background:rgba(255,255,255,.09);padding:1px 5px;border-radius:5px;font-family:'JetBrains Mono';font-size:11.5px}
.note-body .api{color:#a99bf5;font-family:'JetBrains Mono';font-size:12px}

/* ---------- Utilities ---------- */
.row{display:flex}.col{display:flex;flex-direction:column}
.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}
.center{align-items:center}.between{justify-content:space-between}.wrapf{flex-wrap:wrap}.hide{display:none}
.rel{position:relative;z-index:1}
@media(max-width:920px){
  .nav,.cur{display:none}
  .prod-grid{grid-template-columns:1fr}
  .ft-cols{grid-template-columns:1fr 1fr}
  .f2,.opt-grid.c3,.opt-grid.c4{grid-template-columns:1fr 1fr}
}