/* SavePropTax shared page system (2026-10-07). The homepage's design tokens,
   header + menu, orchestrated load, page-title scale, card treatment, and
   footer, applied to every page behind the menu so the site reads as one
   product. Linked AFTER each page's own <style>, so these rules win on the
   shared elements while page-specific content styles keep working. */
:root{
  --bg:#ECE8E0; --bg-warm:#E2DDD2; --paper:#FFFFFF;
  --ink:#14181F; --ink-soft:#5B626B; --ink-faint:#7C828B;
  --accent:#2F6FED; --accent-deep:#205FD8; --accent-pale:#EAF1FB; --accent-label:#1F66E0;
  --rule:rgba(0,0,0,0.08); --rule-soft:rgba(0,0,0,0.05);
  --green:#177A4C; --green-pale:#E7F4EC;
  --sans:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;
}
html{scroll-behavior:smooth}
body{
  overflow-x:hidden;font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.6;
  background-image:
    radial-gradient(900px 520px at 85% -10%, var(--accent-pale) 0%, rgba(234,241,251,0) 62%),
    radial-gradient(1100px 700px at -15% 25%, #F4F1EA 0%, rgba(244,241,234,0) 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-warm) 100%);
  background-attachment:fixed;-webkit-font-smoothing:antialiased;
}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}

@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.rise{opacity:0;animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.25s}.d4{animation-delay:.38s}

/* header + menu (identical to the homepage) */
.site-header{padding:26px 0;position:relative;z-index:200}
.site-header .bar{max-width:1120px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}
.site-header .logo{font-weight:800;font-size:19px;letter-spacing:-0.3px;text-decoration:none;color:var(--ink);margin:0;display:inline}
.site-header .logo span{color:var(--accent)}
.burger{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--rule);background:var(--paper);cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4.5px}
.burger span{display:block;width:17px;height:2px;border-radius:2px;background:var(--ink)}
.menu{display:none;position:absolute;right:28px;top:72px;background:var(--paper);border:1.5px solid var(--rule);
  border-radius:18px;box-shadow:0 24px 50px -20px rgba(20,24,31,.3);min-width:230px;z-index:60;overflow:hidden}
.menu.open{display:block}
.menu a{display:block;padding:14px 22px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule-soft)}
.menu a:last-child{border-bottom:none}
.menu a:hover{background:var(--accent-pale);color:var(--accent-deep)}
.menu a[aria-current="page"]{color:var(--accent-deep)}

/* page frame + title (homepage scale, sized for reading pages) */
main.page .wrap{padding:0 28px 24px}
.pagehead{text-align:center;padding:40px 0 34px}
.pagehead .eyebrow{font-size:12.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-faint);margin-bottom:14px}
.pagehead h1{font-size:clamp(34px,5.2vw,54px);font-weight:800;letter-spacing:-1.6px;line-height:1.08;margin:0 auto 16px;max-width:760px;text-wrap:balance}
.pagehead .sub{font-size:18px;color:var(--ink-soft);max-width:640px;margin:0 auto;text-wrap:balance}

/* cards (homepage card treatment) */
main.page .card,main.page .flow{border-radius:24px;border:1px solid var(--rule-soft);
  box-shadow:0 1px 2px rgba(0,0,0,.03),0 18px 44px -28px rgba(20,24,31,.28)}

/* footer (homepage) */
.site-footer{padding:40px 0 60px;margin-top:44px;text-align:center;color:var(--ink-faint);font-size:13.5px;border-top:1px solid var(--rule-soft)}
.site-footer .in{max-width:640px;margin:0 auto;padding:0 28px}
.site-footer a{color:var(--ink-faint)}
.site-footer .mail{color:var(--accent-deep);font-weight:600;text-decoration:none}

@media (max-width:640px){
  .site-header .bar{padding:0 20px}
  .menu{right:20px;top:70px;min-width:210px}
  main.page .wrap{padding:0 20px 20px}
  .pagehead{padding:26px 0 26px}
  .pagehead .sub{font-size:16px;line-height:1.55}
}
@media (prefers-reduced-motion:reduce){.rise{animation:none;opacity:1}}

/* back to home (Atif 2026-10-07): same 40px footprint as the menu button */
.site-header .lead{display:flex;align-items:center;gap:12px}
.backbtn{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--rule);background:var(--paper);display:grid;place-items:center;color:var(--ink);text-decoration:none;flex:none}
.backbtn svg{width:18px;height:18px}
.backbtn:hover{background:var(--accent-pale);color:var(--accent-deep)}

/* About: the title moved out of the card, so its first heading starts flush */
main.page .card > h2:first-child{margin-top:0}
