/* === Only CSS that Bootstrap 5 cannot achieve === */
:root{--deep:#081065;--red:#DD3333;--light:#66A9BF;--dark:#030824;--gold:#F5A623;}
*{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:#1a1a2e;overflow-x:hidden;}
.pf{font-family:'Playfair Display',serif;}

/* Backgrounds */
.bh{background:linear-gradient(150deg,#030824 0%,#081065 35%,#0d1880 65%,#051040 100%);position:relative;overflow:hidden;}
.bh::before{content:'';position:absolute;top:-200px;right:-200px;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(102,169,191,.12) 0%,transparent 70%);pointer-events:none;}
.bh::after{content:'';position:absolute;bottom:-100px;left:-100px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(221,51,51,.08) 0%,transparent 70%);pointer-events:none;}
.bds{background:linear-gradient(160deg,#030824 0%,#081065 100%);}

/* Text gradients */
.tg{background:linear-gradient(135deg,#66A9BF 0%,#a8d5e8 50%,#fff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.tr{background:linear-gradient(135deg,#DD3333,#ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.tgo{background:linear-gradient(135deg,#F5A623,#ffd166);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.tgn{background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* Buttons */
.bhr{background:linear-gradient(135deg,#DD3333,#c0392b);border:none;color:#fff;font-weight:700;transition:all .2s;}
.bhr:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(221,51,51,.4);color:#fff;}
.boh{border:1.5px solid rgba(255,255,255,.35);color:#fff;background:transparent;font-weight:600;transition:all .2s;}
.boh:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7);color:#fff;}

/* Navbar */
.nspy{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(3,8,36,.9)!important;border-bottom:1px solid rgba(255,255,255,.06);}

/* Cards */
.pain-c{border-left:4px solid #DD3333;background:#fff;border-radius:0 12px 12px 0;transition:box-shadow .2s;}
.pain-c:hover{box-shadow:0 8px 32px rgba(221,51,51,.12);}
.sol-c{border-top:3px solid var(--light);border-radius:16px;background:#fff;transition:transform .2s,box-shadow .2s;}
.sol-c:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(8,16,101,.12);}
.lift{transition:transform .2s,box-shadow .2s;}
.lift:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(8,16,101,.12)!important;}
.stat-bl{border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);transition:background .2s;}
.stat-bl:hover{background:rgba(255,255,255,.1);}
.tsti{border-left:3px solid var(--light);background:#fff;border-radius:16px;}

/* Stat pill */
.spill{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:50px;font-weight:700;font-size:.85rem;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff;}
.spill .n{font-size:1.3rem;color:#66A9BF;}

/* Chat */
.cw{background:rgba(255,255,255,.05);border-radius:20px;border:1px solid rgba(255,255,255,.1);}
.bl{background:rgba(255,255,255,.12);border-radius:4px 16px 16px 16px;max-width:78%;}
.br{background:linear-gradient(135deg,rgba(102,169,191,.3),rgba(8,16,101,.4));border-radius:16px 4px 16px 16px;max-width:78%;}

/* Ticker */
.twrap{overflow:hidden;}
.tinn{display:flex;gap:40px;animation:tk 30s linear infinite;white-space:nowrap;}
@keyframes tk{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Urgency bar */
.ubar{background:linear-gradient(90deg,#DD3333,#b52a2a);animation:pb 2s ease-in-out infinite;}
@keyframes pb{0%,100%{opacity:1}50%{opacity:.9}}

/* Pricing featured */
.pfeat{background:linear-gradient(145deg,#081065,#0d1a8e);transform:scale(1.04);box-shadow:0 32px 64px rgba(8,16,101,.35)!important;}
.pfeat .text-muted{color:rgba(255,255,255,.55)!important;}
.pfeat hr{border-color:rgba(255,255,255,.15);}
@media(max-width:768px){.pfeat{transform:scale(1);}  .sticky-mob{display:block!important;}}

/* Misc */
.eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:6px 14px;border-radius:50px;}
.glow{animation:glw 2.5s ease-in-out infinite;}
@keyframes glw{0%,100%{box-shadow:0 0 20px rgba(221,51,51,.3);}50%{box-shadow:0 0 42px rgba(221,51,51,.65);}}
.sticky-mob{position:fixed;bottom:0;left:0;right:0;z-index:999;display:none;padding:12px 16px;background:linear-gradient(135deg,#030824,#081065);border-top:1px solid rgba(255,255,255,.1);}
.roi-inp{border:2px solid #e2e8f0;border-radius:10px;font-size:1.1rem;font-weight:600;transition:border-color .2s;text-align:center;}
.roi-inp:focus{border-color:var(--light);outline:none;box-shadow:none;}
.accordion-button:not(.collapsed){color:var(--deep);background:#f0f4ff;box-shadow:none;}
.accordion-button:focus{box-shadow:none;}
.wave svg{display:block;}
.ck-y{color:#10b981;font-size:1.1rem;}
.ck-n{color:#ef4444;font-size:1.1rem;}
.ck-p{color:#f59e0b;font-size:1.1rem;}

/* ── Body offset for stacked fixed bars ─────────────────────
    JS sets this precisely; CSS provides a safe initial fallback */
body { padding-top: 96px; }
@media(max-width:991px){ body { padding-top: 90px; } }

/* ── Form fields on dark background — clear and visible ───── */
.dark-form .form-control,
.dark-form .form-select {
    background: rgba(255,255,255,0.12) !important;
    border: 1.5px solid rgba(255,255,255,0.35) !important;
    color: #ffffff !important;
    border-radius: 10px;
}
.dark-form .form-control:focus,
.dark-form .form-select:focus {
    background: rgba(255,255,255,0.18) !important;
    border-color: #66A9BF !important;
    box-shadow: 0 0 0 3px rgba(102,169,191,0.25) !important;
    color: #ffffff !important;
    outline: none;
}
/* Placeholder text clearly visible */
.dark-form .form-control::placeholder { color: rgba(255,255,255,0.55) !important; }
.dark-form .form-select option        { background: #0d1880; color: #fff; }
/* Select dropdown arrow visible on dark bg — Bootstrap's is too faint */
.dark-form .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 14px !important;
    padding-right: 36px;
}

/* ── Currency switcher ─────────────────────────────────────── */
.curr-switcher {
    display:inline-flex; flex-wrap:wrap; gap:6px;
    background:rgba(8,16,101,0.06); border-radius:50px;
    padding:6px; border:1px solid rgba(8,16,101,0.1);
}
.curr-btn {
    padding:5px 14px; border-radius:50px; border:none; cursor:pointer;
    font-size:.78rem; font-weight:600; transition:all .18s;
    background:transparent; color:#64748b;
}
.curr-btn.active {
    background:linear-gradient(135deg,#081065,#1a2ca8);
    color:#fff; box-shadow:0 2px 8px rgba(8,16,101,0.25);
}
.curr-btn:hover:not(.active) { background:rgba(8,16,101,0.08); color:#081065; }
/* Price transition animation */
.price-val { transition: opacity .2s ease, transform .2s ease; }
.price-val.switching { opacity:0; transform:translateY(-4px); }
