:root{
  --brand:#dc3545;
  --ink:#111827;
  --muted:#6b7280;
  --line:rgba(17,24,39,.10);
  --soft:#f8f9fa;
  --card:#ffffff;
  --shadow:0 10px 28px rgba(0,0,0,.08);
}

html{ scroll-behavior:smooth; }
body{ color:var(--ink); background:#fff; }
a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--brand); }

.site-main{
  padding-top: calc(var(--navh,72px) + 12px);
  min-height: 58vh;
}

.section-soft{ background:var(--soft); }
.card-soft{ background:var(--card); border:1px solid var(--line); border-radius:16px; box-shadow:0 8px 20px rgba(0,0,0,.06); }
.icon-text{ display:flex; align-items:flex-start; gap:.55rem; }
.icon-text i{ color:var(--brand); margin-top:.15rem; }

/* Header */
.navbar-glass{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  transition:background .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.navbar-glass.scrolled{
  background:rgba(255,255,255,.98);
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  border-bottom-color:rgba(17,24,39,.14);
}
.brand-logo{ width:40px; height:40px; object-fit:contain; }
.navbar-brand .brand-text{ font-size:1.02rem; }
.nav-link{ font-weight:700; padding:.45rem .72rem; border-radius:12px; }
.nav-link:hover{ background:rgba(17,24,39,.04); }
.dropdown-menu{ border:1px solid rgba(17,24,39,.08); border-radius:14px; box-shadow:0 16px 45px rgba(0,0,0,.12); }
.dropdown-item{ border-radius:10px; padding:.52rem .78rem; font-weight:600; }
.dropdown-item:hover{ background:rgba(17,24,39,.04); }
.nav-cta{ background:var(--brand); color:#fff !important; border-radius:999px; padding:.48rem .95rem; box-shadow:0 10px 24px rgba(220,53,69,.22); }
.nav-cta:hover{ filter:brightness(.98); color:#fff !important; }

#pageDimmer{
  position:fixed;
  inset:0;
  background:rgba(17,24,39,.35);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  z-index:1025;
}
body.is-dimmed #pageDimmer{ opacity:1; pointer-events:auto; }

@media (max-width: 991.98px){
  .navbar .container{ padding-inline:12px; }
  .navbar-toggler{ border:1px solid rgba(17,24,39,.15); border-radius:12px; padding:.42rem .58rem; }
  .navbar-collapse{
    margin-top:.55rem;
    background:rgba(255,255,255,.99);
    border:1px solid rgba(17,24,39,.08);
    border-radius:16px;
    padding:.45rem;
    max-height:calc(100vh - var(--navh,72px) - 14px);
    overflow:auto;
    box-shadow:0 18px 45px rgba(0,0,0,.13);
  }
  .navbar-nav{ gap:.1rem; }
  .nav-link{ padding:.62rem .72rem; }
  .dropdown-menu{
    position:static !important;
    transform:none !important;
    width:100%;
    margin-top:.2rem;
    box-shadow:none;
    border:1px solid rgba(17,24,39,.08);
    background:rgba(17,24,39,.02);
  }
  .nav-cta{ display:block; width:100%; text-align:center; margin-top:.3rem; }
}

/* Footer */
.site-footer{ background:#fff; border-top:1px solid var(--line); }
.site-footer .footer-title{ font-size:1rem; font-weight:800; margin-bottom:.55rem; color:#212529; }
.site-footer .footer-links li{ margin-bottom:.42rem; line-height:1.6; }
.site-footer .footer-link{ color:#212529; text-decoration:none; }
.site-footer .footer-link:hover{ color:var(--brand); }
.site-footer .footer-muted{ color:#6c757d; text-decoration:none; }
.site-footer .footer-muted:hover{ color:var(--brand); }

@media (max-width: 575.98px){
  .site-footer{ font-size:.93rem; }
  .site-footer .container{ padding-left:12px; padding-right:12px; }
}
