/* =====================================================================
   SELVABANK — theme layer on top of Bootstrap 5.3
   Brand: emerald "selva" green + warm sand, on cream / deep ink.
   ===================================================================== */
:root{
  --slv-ink:#0a1512;
  --slv-ink-2:#0f1d18;
  --slv-emerald:#11906e;
  --slv-emerald-700:#0b6e53;
  --slv-emerald-300:#76d2b9;
  --slv-emerald-50:#dcf0ea;
  --slv-sand:#e8b15a;
  --slv-cream:#f1ede3;
  --slv-cream-2:#f8f5ee;
  --slv-line:#e4ddcf;

  --bs-primary:#11906e;
  --bs-primary-rgb:17,144,110;
  --bs-body-color:#16241f;
  --bs-body-bg:#ffffff;
  --bs-body-font-family:"Hanken Grotesk",-apple-system,system-ui,sans-serif;
  --bs-border-color:var(--slv-line);
  --bs-link-color:var(--slv-emerald-700);
  --bs-link-hover-color:var(--slv-emerald);
  --bs-border-radius:1rem;
  --bs-border-radius-sm:.6rem;
  --bs-border-radius-lg:1.5rem;
  --bs-emphasis-color:var(--slv-ink);
}

body{font-family:var(--bs-body-font-family);-webkit-font-smoothing:antialiased;background:#fff;color:var(--bs-body-color)}
h1,h2,h3,h4,h5,.display-1,.display-2,.display-3,.display-4,.display-5{font-family:"Bricolage Grotesque","Hanken Grotesk",sans-serif;letter-spacing:-.02em;color:var(--slv-ink)}
.fw-display{font-family:"Bricolage Grotesque",sans-serif}
.font-mono,.eyebrow,.fig{font-family:"JetBrains Mono",ui-monospace,monospace}
.lead{font-size:1.18rem;color:#3c4a44}
a{text-decoration:none}

/* eyebrow / kicker */
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slv-emerald-700)}
.eyebrow::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--slv-emerald);transform:rotate(45deg)}
.eyebrow--light{color:var(--slv-emerald-300)}

/* ---- color helpers ---- */
.text-primary{color:var(--slv-emerald)!important}
.bg-primary{background-color:var(--slv-emerald)!important}
.bg-cream{background:var(--slv-cream)}
.bg-cream-2{background:var(--slv-cream-2)}
.section-dark{background:var(--slv-ink);color:#fff}
.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4,.section-dark h5{color:#fff}
.section-dark .lead,.section-dark p{color:rgba(244,241,234,.78)}
.text-sand{color:var(--slv-sand)!important}

/* ---- buttons ---- */
.btn{font-weight:600;border-radius:50rem;padding:.7rem 1.4rem}
.btn-lg{padding:.95rem 1.8rem;font-size:1.05rem}
.btn-primary{--bs-btn-bg:var(--slv-emerald);--bs-btn-border-color:var(--slv-emerald);--bs-btn-hover-bg:var(--slv-emerald-700);--bs-btn-hover-border-color:var(--slv-emerald-700);--bs-btn-active-bg:var(--slv-emerald-700);--bs-btn-active-border-color:var(--slv-emerald-700);--bs-btn-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-active-color:#fff;--bs-btn-disabled-bg:var(--slv-emerald);--bs-btn-disabled-border-color:var(--slv-emerald)}
.btn-outline-primary{--bs-btn-color:var(--slv-emerald-700);--bs-btn-border-color:var(--slv-emerald);--bs-btn-hover-bg:var(--slv-emerald);--bs-btn-hover-border-color:var(--slv-emerald);--bs-btn-active-bg:var(--slv-emerald);--bs-btn-active-border-color:var(--slv-emerald)}
.btn-light{--bs-btn-bg:#fff;--bs-btn-border-color:#fff;--bs-btn-color:var(--slv-ink);--bs-btn-hover-bg:var(--slv-cream);--bs-btn-hover-border-color:var(--slv-cream)}
.btn-outline-light{--bs-btn-border-color:rgba(255,255,255,.4);--bs-btn-color:#fff;--bs-btn-hover-bg:#fff;--bs-btn-hover-color:var(--slv-ink)}
.btn .arrow{transition:transform .25s}
.btn:hover .arrow{transform:translateX(4px)}

/* ---- navbar ---- */
.navbar{background:rgba(255,255,255,.88);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--slv-line)}
.navbar .navbar-brand{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:1.3rem;letter-spacing:-.01em;color:var(--slv-ink);display:flex;align-items:center;gap:.55rem}
.navbar .navbar-brand .mark{width:30px;height:30px}
.navbar .nav-link{font-weight:600;color:#3c4a44;border-radius:50rem;padding:.45rem .85rem!important}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--slv-ink);background:rgba(17,144,110,.08)}
.navbar .dropdown-menu{border:1px solid var(--slv-line);border-radius:1rem;box-shadow:0 24px 50px -24px rgba(10,21,18,.28);padding:.5rem}
.navbar .dropdown-item{border-radius:.6rem;padding:.6rem .7rem;font-weight:600}
.navbar .dropdown-item small{display:block;font-weight:400;color:#7a8881;font-size:.78rem}
.navbar .dropdown-item:active,.navbar .dropdown-item:focus{background:var(--slv-emerald);color:#fff}
.navbar .dropdown-item:active small,.navbar .dropdown-item:focus small{color:rgba(255,255,255,.85)}

/* ---- hero ---- */
.hero{position:relative;background:var(--slv-ink);overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.66}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,21,18,.92) 0%,rgba(10,21,18,.66) 48%,rgba(10,21,18,.34) 100%),linear-gradient(0deg,rgba(10,21,18,.55),rgba(10,21,18,0) 55%)}
.hero__canvas{position:absolute;inset:0;z-index:1;width:100%;height:100%;opacity:0;transition:opacity 1.4s ease;pointer-events:none}
.hero.is-3d .hero__canvas{opacity:1}
.hero>.container{position:relative;z-index:2}
.hero h1{color:#fff}
.hero .lead{color:rgba(244,241,234,.82)}
.hero .mark-hi{color:var(--slv-sand)}

/* glass rate / product card on dark */
.glass-card{background:rgba(255,255,255,.97);border-radius:1.5rem;box-shadow:0 40px 90px -30px rgba(0,0,0,.55)}

/* ---- generic section spacing ---- */
.section{padding:clamp(3.5rem,7vw,6rem) 0}
.fig-xl{font-family:"JetBrains Mono",monospace;font-weight:700;letter-spacing:-.04em;line-height:1}

/* ---- feature image cards (full-bleed) ---- */
.imgcard{position:relative;min-height:380px;border-radius:1.5rem;overflow:hidden;display:flex;align-items:flex-end;color:#fff;border:1px solid var(--slv-line)}
.imgcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;z-index:0}
.imgcard:hover img{transform:scale(1.06)}
.imgcard::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,21,18,.1),rgba(10,21,18,.5) 52%,rgba(10,21,18,.93))}
.imgcard__body{position:relative;z-index:2;padding:1.6rem}
.imgcard__body h3{color:#fff}
.imgcard__idx{position:absolute;top:1rem;left:1.1rem;z-index:3;font-family:"JetBrains Mono",monospace;font-size:.74rem;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:.24rem .6rem;border-radius:50rem;backdrop-filter:blur(6px)}

/* ---- icon feature ---- */
.feat-ic{width:54px;height:54px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:var(--slv-emerald-50);color:var(--slv-emerald);margin-bottom:1rem}
.section-dark .feat-ic{background:rgba(17,144,110,.16);border:1px solid rgba(118,210,185,.3);color:var(--slv-emerald-300)}
.feat-ic svg{width:26px;height:26px}

/* ---- number step cards ---- */
.steps{counter-reset:step}
.step-card{position:relative;height:100%;border:1px solid var(--slv-line);border-radius:1.25rem;background:#fff;padding:1.6rem;counter-increment:step;transition:transform .3s,border-color .3s,box-shadow .3s}
.step-card:hover{transform:translateY(-5px);border-color:var(--slv-emerald-300);box-shadow:0 28px 50px -28px rgba(10,21,18,.22)}
.step-card::before{content:counter(step,decimal-leading-zero);position:absolute;top:.4rem;right:1rem;font-family:"JetBrains Mono",monospace;font-weight:700;font-size:3.4rem;color:var(--slv-emerald);opacity:.09}
.section-dark .step-card{background:rgba(255,255,255,.045);border-color:rgba(244,241,234,.14)}
.section-dark .step-card::before{color:var(--slv-sand);opacity:.18}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--slv-emerald-50);color:var(--slv-emerald);font-family:"JetBrains Mono",monospace;font-weight:600;margin-bottom:1rem}
.step-num::after{content:counter(step,decimal-leading-zero);font-size:.98rem}
.section-dark .step-num{background:rgba(232,177,90,.16);color:var(--slv-sand)}

/* ---- spec list / facts ---- */
.fact .v{font-family:"JetBrains Mono",monospace;font-size:2.1rem;font-weight:700;color:var(--slv-ink);letter-spacing:-.03em}
.section-dark .fact .v{color:#fff}
.fact .l{color:#6a7872;font-size:.92rem}
.section-dark .fact .l{color:rgba(244,241,234,.7)}

/* media frame */
.media{border-radius:1.5rem;overflow:hidden;border:1px solid var(--slv-line);line-height:0}
.media img{width:100%;height:100%;object-fit:cover}

/* ---- accordion (FAQ) ---- */
.accordion{--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(17,144,110,.2);--bs-accordion-active-color:var(--slv-ink);--bs-accordion-active-bg:var(--slv-cream-2);--bs-accordion-border-color:var(--slv-line);--bs-accordion-btn-color:var(--slv-ink)}
.accordion-button{font-weight:600}

/* ---- forms ---- */
.form-control,.form-select{border-radius:.7rem;border-color:#d6cdbb;padding:.7rem .85rem}
.form-control:focus,.form-select:focus{border-color:var(--slv-emerald);box-shadow:0 0 0 .2rem rgba(17,144,110,.18)}
.form-label{font-weight:600;font-size:.88rem}

/* ---- footer ---- */
.site-footer{background:var(--slv-ink);color:rgba(244,241,234,.7)}
.site-footer a{color:rgba(244,241,234,.7)}
.site-footer a:hover{color:#fff}
.site-footer h6{color:#fff;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-family:"JetBrains Mono",monospace}

/* pill badge */
.pill{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:50rem;padding:.35rem .8rem;font-size:.82rem;font-weight:600}
.pill .dot{width:8px;height:8px;border-radius:50%;background:var(--slv-emerald-300);box-shadow:0 0 0 3px rgba(118,210,185,.25)}
.pill-light{background:var(--slv-emerald-50);border-color:var(--slv-emerald-300);color:var(--slv-emerald-700)}

/* checklist */
.check-list{list-style:none;padding:0;margin:0}
.check-list li{display:flex;gap:.7rem;align-items:flex-start;padding:.45rem 0}
.check-list li svg{flex:none;margin-top:.2rem;color:var(--slv-emerald)}
.section-dark .check-list li svg{color:var(--slv-emerald-300)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* reveal-on-scroll */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--bs-transition,ease),transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* hero stat values legible on the dark hero */
.hero .fact .v{color:#fff}
.hero .fact .l{color:rgba(244,241,234,.7)}

/* =====================================================================
   HSBC-style two-tier header + mega menu
   ===================================================================== */
.topbar{background:var(--slv-ink);color:rgba(244,241,234,.72);font-size:.84rem}
.topbar a{color:rgba(244,241,234,.72);text-decoration:none}
.topbar a:hover{color:#fff}
.topbar .seg{padding:.5rem .15rem;display:inline-block;font-weight:600;position:relative}
.topbar .seg.active{color:#fff}
.topbar .seg.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--slv-emerald)}
.topbar .sep{color:rgba(244,241,234,.25)}
.topbar .logon{background:var(--slv-emerald);color:#fff;padding:.5rem 1.1rem;font-weight:700;border-radius:50rem}
.topbar .logon:hover{background:var(--slv-emerald-700);color:#fff}

/* main bar */
.mainbar{background:#fff;border-bottom:1px solid var(--slv-line)}
.mainbar .navbar-brand{font-family:"Bricolage Grotesque";font-weight:800;font-size:1.35rem;color:var(--slv-ink);display:flex;align-items:center;gap:.55rem}
.mainbar .navbar-brand .mark{width:34px;height:34px}

/* category trigger: title + subtitle */
.mega-trigger{display:flex;flex-direction:column;line-height:1.15;padding:.55rem .9rem!important;border-radius:.7rem;color:var(--slv-ink)!important}
.mega-trigger .t{font-weight:700;font-size:1.02rem;display:flex;align-items:center;gap:.3rem}
.mega-trigger .s{font-size:.78rem;color:#7a8881;font-weight:500}
.mega-trigger::after{display:none!important}
.nav-item.dropdown:hover .mega-trigger,.mega-trigger.show,.mega-trigger.active{background:var(--slv-emerald-50)}
.nav-item.dropdown:hover .mega-trigger .t,.mega-trigger.active .t{color:var(--slv-emerald-700)}

/* mega panel */
.mega-menu{border:1px solid var(--slv-line);border-radius:1rem;box-shadow:0 30px 60px -28px rgba(10,21,18,.3);padding:1.25rem;min-width:min(640px,94vw)}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:.2rem 1.25rem}
.mega-link{display:block;padding:.6rem .7rem;border-radius:.6rem;text-decoration:none}
.mega-link .lt{font-weight:600;color:var(--slv-ink);display:block}
.mega-link .ls{font-size:.8rem;color:#7a8881}
.mega-link:hover{background:var(--slv-cream-2)}
.mega-link:hover .lt{color:var(--slv-emerald-700)}
.mega-promo{background:var(--slv-ink);color:#fff;border-radius:.8rem;padding:1.1rem;margin-top:.5rem}
.mega-promo h6{color:#fff;text-transform:none;font-family:"Bricolage Grotesque";letter-spacing:0;font-size:1.05rem}

/* desktop hover-open for mega menus */
@media (min-width:992px){
  .nav-item.dropdown:hover>.mega-menu{display:block}
  .mainbar .navbar-nav{gap:.1rem}
}
@media (max-width:991px){
  .mega-menu{min-width:0;box-shadow:none;border:none;border-left:2px solid var(--slv-line);border-radius:0;padding:.3rem 0 .3rem .6rem}
  .mega-grid{grid-template-columns:1fr}
  .mega-promo{display:none}
  .mega-trigger{flex-direction:row;gap:.5rem;align-items:baseline}
  .mega-trigger .s{display:none}
}

/* pricing plans */
.plan{border:1px solid var(--slv-line);border-radius:1.25rem;padding:1.75rem;height:100%;background:#fff;transition:transform .3s,box-shadow .3s,border-color .3s}
.plan:hover{transform:translateY(-5px);box-shadow:0 30px 60px -30px rgba(10,21,18,.22)}
.plan.featured{border-color:var(--slv-emerald);box-shadow:0 30px 60px -30px rgba(17,144,110,.35)}
.plan .price{font-family:"JetBrains Mono",monospace;font-size:2.4rem;font-weight:700;color:var(--slv-ink)}

/* ---- fixes: mega-menu clipping, glass-card facts, mobile header ---- */
@media (min-width:992px){
  /* right-align the last two mega-menus so they don't overflow the viewport */
  .mainbar .navbar-nav .nav-item:nth-last-child(-n+2) > .mega-menu{left:auto;right:0}
}
/* facts inside a white glass card must stay dark (not the hero white override) */
.glass-card .fact .v{color:var(--slv-ink)}
.glass-card .fact .l{color:#6a7872}

/* mobile header polish */
@media (max-width:991px){
  .topbar .container{padding-top:.15rem;padding-bottom:.15rem}
  .mainbar .navbar-brand{font-size:1.2rem}
  .navbar-toggler{padding:.35rem .5rem}
  .navbar-toggler:focus{box-shadow:none}
  #slvNav{margin-top:.5rem;border-top:1px solid var(--slv-line);padding-top:.5rem;max-height:80vh;overflow-y:auto}
  #slvNav .navbar-nav{gap:.1rem}
  /* segment switcher shown inside the mobile menu */
  .mobile-segs{display:flex;gap:.5rem;margin:.25rem 0 .75rem}
  .mobile-segs a{flex:1;text-align:center;border:1px solid var(--slv-line);border-radius:50rem;padding:.5rem;font-weight:600;color:var(--slv-ink);font-size:.9rem}
  .mobile-segs a.active{background:var(--slv-emerald);border-color:var(--slv-emerald);color:#fff}
}
@media (min-width:992px){ .mobile-segs{display:none} }

/* trust logos */
.trust-logo{height:64px;width:auto;object-fit:contain;background:#fff;border-radius:12px;padding:.4rem .6rem;border:1px solid var(--slv-line)}

/* ---- header fixes: dropdown stacking, mobile language + log on ---- */
.topbar{position:relative;z-index:1030}              /* sit above sticky mainbar (z 1020) */
.topbar .dropdown-menu{z-index:1080}
.topbar .dropdown-toggle::after{vertical-align:.15em}

@media (max-width:991px){
  .topbar .logon{padding:.3rem .85rem;font-size:.82rem;border-radius:50rem}
  .topbar .container{gap:.5rem}
  /* language picker inside the mobile menu */
  .mobile-langs{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.5rem 0 .25rem;padding-top:.6rem;border-top:1px solid var(--slv-line)}
  .mobile-langs .lbl{width:100%;font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:#6a7872;font-weight:700;margin-bottom:.15rem}
  .mobile-langs a{border:1px solid var(--slv-line);border-radius:50rem;padding:.3rem .85rem;font-size:.85rem;color:var(--slv-ink);font-weight:600}
  .mobile-langs a.active{background:var(--slv-emerald);border-color:var(--slv-emerald);color:#fff}
}
@media (min-width:992px){ .mobile-langs{display:none} }
.dropdown-item.active,.dropdown-item:active{background-color:var(--slv-emerald)!important;color:#fff!important}
.dropdown-item.active:hover{background-color:var(--slv-emerald-700)!important}

/* language switcher polish */
.lang-switch .globe{opacity:.8}
.lang-switch:hover .globe{opacity:1}
.lang-menu{min-width:12rem;padding:.4rem}
.lang-menu .dropdown-header{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#8a978f;padding:.3rem .75rem .35rem}
.lang-menu .dropdown-item{border-radius:.6rem;padding:.5rem .75rem;font-weight:500;color:var(--slv-ink)}
.lang-menu .dropdown-item:hover{background:var(--slv-emerald-50)}
.lang-menu .dropdown-item.active,.lang-menu .dropdown-item.active:hover{background:var(--slv-emerald)!important;color:#fff!important}

/* editorial feature rows — lighter alternative to boxed card grids */
.feature-rows{display:grid;grid-template-columns:repeat(2,1fr);gap:0 3.5rem;margin-top:2.5rem}
@media(max-width:767.98px){.feature-rows{grid-template-columns:1fr;gap:0;margin-top:1.5rem}}
.fr-item{display:flex;gap:1.1rem;padding:1.55rem 0;border-top:1px solid var(--slv-line)}
.fr-item .feat-ic{flex:0 0 auto;width:46px;height:46px;margin:0}
.fr-item .feat-ic svg{width:22px;height:22px}
.fr-body h3{line-height:1.25}
.section-dark .fr-item{border-top-color:rgba(244,241,234,.14)}


/* related-feature link rows (editorial, no boxes) */
.rel-links{display:grid;gap:0}
.rel-link{display:flex;align-items:baseline;gap:1.25rem;padding:1.15rem 0;border-top:1px solid var(--slv-line);text-decoration:none;color:var(--slv-ink);transition:color .2s}
.rel-link:hover{color:var(--slv-emerald)}
.rel-link__t{font-weight:600;min-width:13rem}
.rel-link__d{color:#6a7872;flex:1}
.rel-link:hover .rel-link__d{color:var(--slv-emerald)}
.rel-link__a{margin-left:auto;color:var(--slv-emerald);font-weight:700}
@media(max-width:575.98px){.rel-link{flex-direction:column;gap:.15rem}.rel-link__t,.rel-link__d{min-width:0}.rel-link__a{display:none}}
