/* Brandon Impact Windows — custom layer on top of Tailwind CDN */
:root{
  --navy-900:#081b33;
  --navy-800:#0b2545;
  --navy-700:#12345b;
  --navy-600:#1b4571;
  --gold-500:#c8992e;
  --gold-400:#d9ad45;
  --gold-300:#e8c877;
  --ink:#12233b;
  --slate:#54677e;
  --mist:#f4f7fb;
  --line:#e4ebf3;
}

html{scroll-behavior:smooth}
/* guard against pre-Tailwind layout flash */
#site-header svg,#site-footer svg{max-width:44px;max-height:44px}
img{max-width:100%;height:auto}
body{font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.font-display{font-family:'Sora','Plus Jakarta Sans',system-ui,sans-serif}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;border-radius:9999px;padding:.85rem 1.6rem;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;line-height:1;text-align:center}
.btn:focus-visible{outline:3px solid var(--gold-300);outline-offset:2px}
.btn-gold{background:var(--gold-500);color:#1a1204;box-shadow:0 10px 24px -10px rgba(200,153,46,.7)}
.btn-gold:hover{background:var(--gold-400);transform:translateY(-2px)}
.btn-navy{background:var(--navy-800);color:#fff}
.btn-navy:hover{background:var(--navy-700);transform:translateY(-2px)}
.btn-outline{border:2px solid rgba(255,255,255,.6);color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.btn-ghost{border:2px solid var(--line);color:var(--navy-800);background:#fff}
.btn-ghost:hover{border-color:var(--gold-500);color:var(--gold-500)}

/* ---------- cards ---------- */
.card{background:#fff;border:1px solid var(--line);border-radius:1.1rem;box-shadow:0 1px 2px rgba(16,37,69,.04)}
.card-hover{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.card-hover:hover{transform:translateY(-4px);box-shadow:0 24px 48px -24px rgba(11,37,69,.35);border-color:#d7e2ee}

.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-weight:700;font-size:.74rem;color:var(--gold-500)}
.link-underline{position:relative}
.link-underline::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--gold-500);transition:width .25s ease}
.link-underline:hover::after{width:100%}

/* ---------- reveal animation ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- header ---------- */
/* header is permanently in the solid white "scrolled" state */
#site-header{background:rgba(255,255,255,.97);backdrop-filter:saturate(180%) blur(10px);box-shadow:0 6px 24px -12px rgba(11,37,69,.25)}
#site-header.scrolled{box-shadow:0 6px 24px -12px rgba(11,37,69,.25)}
.nav-link{color:var(--navy-800);font-weight:500}
.nav-link:hover{color:var(--gold-500)}
.dropdown-panel{opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
.has-dropdown:hover .dropdown-panel,.has-dropdown:focus-within .dropdown-panel{opacity:1;visibility:visible;transform:none}

/* ---------- faq accordion ---------- */
.faq-item button[aria-expanded="true"] .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}

/* ---------- before/after ---------- */
.ba-range{-webkit-appearance:none;appearance:none;background:transparent;cursor:ew-resize}
.ba-range::-webkit-slider-thumb{-webkit-appearance:none;height:100%;width:44px;background:transparent}
.ba-range::-moz-range-thumb{height:100%;width:44px;background:transparent;border:0}

/* ---------- sticky mobile cta + floating ---------- */
#mobile-cta{transform:translateY(120%);transition:transform .3s ease}
#mobile-cta.show{transform:none}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}
