/* base.css - reset, design tokens (colors & fonts), base typography */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;border:none;background:none;}
ul{list-style:none;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
:root{
  --bg:#FFFFFF; --bg-2:#F5F8FC; --surface:#FFFFFF; --surface-2:#EEF4FB; --border:#E1E8F0;
  --text:#0F1B2D; --muted:#5A6B82; --accent:#2563EB; --accent-2:#1D4ED8; --amber:#0EA5E9; --danger:#DC2626;
  --on-accent:#FFFFFF; --accent-hover:#1D4ED8; --on-accent-hover:#FFFFFF;
  --font-display:"Poppins",system-ui,sans-serif; --font-body:"Inter",system-ui,sans-serif;
  --maxw:1160px; --radius:14px; --radius-sm:9px; --btn-radius:10px; --icon-radius:12px;
  --gap:clamp(1rem,2vw,1.6rem); --section-y:clamp(4rem,9vw,7.5rem);
  --shadow:0 20px 45px -25px rgba(37,99,235,.35); --transition:.3s cubic-bezier(.22,.61,.36,1);
  --header-bg:color-mix(in srgb,#fff 85%,transparent); --footer-bg:#0F1B2D; --band-bg:var(--bg-2);
  --card-bg:var(--surface); --card-border:1px solid var(--border);
  --card-hover-border:color-mix(in srgb,var(--accent) 40%,var(--border)); --card-hover-transform:translateY(-5px);
  --icon-bg:color-mix(in srgb,var(--accent) 10%,transparent); --icon-border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);
  --pill-bg:color-mix(in srgb,var(--accent) 10%,transparent); --pill-border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);
  --input-bg:#fff; --cta-bg:linear-gradient(120deg,var(--accent),var(--accent-2));
  --btn-shadow:0 8px 22px -8px var(--accent); --btn-shadow-hover:0 10px 26px -8px var(--accent-2);
  --grad-text:linear-gradient(120deg,var(--accent),var(--amber)); --glow-2:#0EA5E9; --glow-opacity:.1; --glow-opacity-2:.08; --grain-opacity:0;
}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.65;font-size:clamp(1rem,.5vw + .95rem,1.075rem);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.12;font-weight:700;letter-spacing:-.02em;}
h1{font-size:clamp(2.2rem,5vw,3.8rem);} h2{font-size:clamp(1.8rem,3.8vw,2.7rem);} h3{font-size:clamp(1.2rem,2vw,1.4rem);}
p{color:var(--muted);} strong{color:var(--text);}
.eyebrow{font-family:var(--font-display);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}
::selection{background:var(--accent);color:#fff;}
/* footer is dark in this light theme */
.site-footer{color:#fff;} .site-footer .footer__col a,.site-footer .footer__col li{color:#cfe0f5;}
.site-footer .footer__col h4{color:#8fb4e6;} .site-footer .footer__bottom{color:#8fb4e6;border-top-color:rgba(255,255,255,.15);}
.site-footer .footer__brand p{color:#b9cce4;} .site-footer .footer__bottom span{color:#8fb4e6;}
.cta-band h2,.cta-band p{color:#fff;} .cta-band p{opacity:.9;}
.cta-band .btn--primary{background:#fff;color:var(--accent);} .cta-band .btn--primary:hover{background:#0F1B2D;color:#fff;}
