:root{
  --brand:#3789c1;          /* link + primary */
  --brandHover:var(--gradTo); /* button hover (defaults to logo gradient end) */
  --gradFrom:#53b8db;       /* logo gradient start */
  --gradTo:#062752;         /* logo gradient end */
  --darkBg:#0B1220;         /* logo dark backdrop */
  --ink:#0f172a;
  --muted:#64748b;
  --bg:#ffffff;
  --soft:#f6f8fb;
  --border:rgba(15,23,42,.12);
--headerPadY:14px;--navFontSize:16px;--logoMaxH:44px;}


body{color:var(--ink); background:var(--bg);}
a{color:var(--brand); text-decoration:none;}
a:hover{text-decoration:underline;}
.navbar{backdrop-filter:saturate(180%) blur(10px);}

/* Header sizing (driven by assets/site.config.js) */
header.sticky-top .navbar{padding-top:var(--headerPadY); padding-bottom:var(--headerPadY);}
header.sticky-top .nav-link{font-size:var(--navFontSize); padding-top:calc(var(--headerPadY) * .55); padding-bottom:calc(var(--headerPadY) * .55);}
.navbar-brand{font-weight:700; letter-spacing:.2px;}
.nav-link{font-weight:500;}
.btn{border-radius:999px;}
.btn-primary{background:var(--brand); border-color:var(--brand);}

/* Button hover/active states (override Bootstrap's default bright blue) */
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary,
.btn-check:focus + .btn-primary,
.btn-primary:focus-visible{
  background:var(--brandHover);
  border-color:var(--brandHover);
  color:#fff;
}

.btn-outline-primary{
  color:var(--brand);
  border-color:color-mix(in srgb, var(--brand) 72%, transparent);
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-check:checked + .btn-outline-primary,
.btn-check:active + .btn-outline-primary,
.btn-outline-primary:focus-visible{
  background:var(--brandHover);
  border-color:var(--brandHover);
  color:#fff;
}

.btn:focus{box-shadow:none;}

.site-hero-bg{
  background:
    radial-gradient(1100px 520px at 50% -10%, color-mix(in srgb, var(--gradFrom) 35%, transparent), transparent),
    linear-gradient(180deg, color-mix(in srgb, var(--gradTo) 8%, transparent), transparent);
}
.site-footer{
  background:#0b1220;
  color:rgba(255,255,255,.82);
}
.site-footer a{color:rgba(255,255,255,.92);}

/* Ensure muted text is readable on dark footer background */
.site-footer .text-muted{color:rgba(255,255,255,.72)!important;}

.hf-landing{padding-bottom:3rem;}
.hf-block{padding:2.5rem 0;}
.hf-space--sm{padding:1.5rem 0;}
.hf-space--md{padding:2.5rem 0;}
.hf-bg--gradient{background: radial-gradient(1200px 500px at 50% -10%, rgba(11,94,215,.18), rgba(255,255,255,0));}
.hf-bg--inherit{background: transparent;}

.hf-landing-hero{max-width:980px; margin:0 auto; text-align:center; padding:1.5rem 0;}
.hf-landing-eyebrow{
  display:inline-block;
  font-size:.75rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:.25rem .6rem;
  border:1px solid var(--border);
  border-radius:999px;
  color:var(--muted);
  background:rgba(255,255,255,.6);
}
.hf-landing-title{font-size:clamp(1.9rem, 2.4vw, 2.6rem); margin:.8rem 0 .4rem;}
.hf-landing-lead{color:var(--muted); font-size:1.05rem; margin:0 auto 1rem; max-width:820px;}
.hf-landing-ctas{display:flex; gap:.75rem; justify-content:center; flex-wrap:wrap;}
.hf-cta-link{padding:.45rem .25rem; font-weight:600; color:var(--ink); opacity:.9;}
.hf-cta-link:hover{opacity:1;}

.hf-snap{background:var(--soft); border:1px solid var(--border); border-radius:18px; padding:1.25rem;}
.hf-snap-title{font-weight:700; margin-bottom:.75rem;}
.hf-snap-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem;}
@media (min-width: 992px){ .hf-snap-grid{grid-template-columns:repeat(4,minmax(0,1fr));} }
.hf-snap-k{color:var(--muted); font-size:.85rem;}
.hf-snap-v{font-weight:700;}
.hf-snap-bullets{margin:.75rem 0 0; padding-left:1.2rem; color:var(--muted);}

.hf-features{display:grid; gap:1rem;}
.hf-features--strip{margin-top:1rem;}
.hf-feature-card{
  border:1px solid var(--border);
  border-radius:18px;
  padding:1.15rem;
  background:#fff;
  height:100%;
}
.hf-feature-ic{font-size:1.25rem; color:var(--brand);}
.hf-feature-t{font-weight:800; margin:.5rem 0 .35rem;}
.hf-feature-x{color:var(--muted); margin:0;}

.hf-features--cols3{grid-template-columns:repeat(1,minmax(0,1fr));}
@media (min-width: 992px){ .hf-features--cols3{grid-template-columns:repeat(3,minmax(0,1fr));} }
.hf-features--cols4{grid-template-columns:repeat(1,minmax(0,1fr));}
@media (min-width: 992px){ .hf-features--cols4{grid-template-columns:repeat(4,minmax(0,1fr));} }

.hf-faq{
  border:1px solid var(--border);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.hf-faq-item + .hf-faq-item{border-top:1px solid var(--border);}

.hf-faq-q{
  width:100%;
  text-align:left;
  background:transparent;
  border:0;
  padding:1rem 1.1rem;
  font-weight:800;
  display:flex;
  justify-content:space-between;
  gap:1rem;
}

.hf-faq-q::after{
  content:"+";
  font-weight:900;
  color:var(--muted);
}

/* Works with native <details open> (no JS required) */
.hf-faq-item[open] .hf-faq-q::after{content:"–";}

.hf-faq-a{
  display:none;
  padding:0 1.1rem 1rem;
  color:var(--muted);
}

/* Show answer when details is open */
.hf-faq-item[open] .hf-faq-a{display:block;}

/* Back-compat if JS toggles .is-open */
.hf-faq-item.is-open .hf-faq-q::after{content:"–";}
.hf-faq-item.is-open .hf-faq-a{display:block;}
.hf-cta-box{
  border:1px solid var(--border);
  border-radius:18px;
  padding:1.25rem;
  background:var(--soft);
}
.hf-cta-title{font-weight:900;}
.hf-cta-text{color:var(--muted);}
.hf-cta-actions{display:flex; gap:.75rem; flex-wrap:wrap; margin-top:.75rem;}
.site-logo{max-height:var(--logoMaxH);}