/* ===== Reset ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
ul{list-style:none}
input,select,textarea{font:inherit;color:inherit}

/* ===== Tokens ===== */
:root{
  --navy:#1E3A5F;
  --blue:#5C7AEA;
  --teal:#2EC4B6;
  --gold:#FFB703;
  --gold-2:#FFD166;
  --teal-2:#84F3E6;
  --bg:#FAFBFC;
  --section:#F2F5F9;
  --card:#FFFFFF;
  --text:#1F2937;
  --muted:#667085;
  --border:#D6DEE8;
  --grad-primary:linear-gradient(135deg,#1E3A5F 0%,#5C7AEA 100%);
  --grad-creative:linear-gradient(135deg,#2EC4B6 0%,#84F3E6 100%);
  --grad-highlight:linear-gradient(135deg,#FFB703 0%,#FFD166 100%);
  --grad-hero:linear-gradient(180deg,#FAFBFC 0%,#F2F5F9 100%);
  --shadow-sm:0 1px 2px rgba(30,58,95,.06);
  --shadow:0 8px 24px -8px rgba(30,58,95,.12);
  --shadow-lg:0 24px 60px -20px rgba(30,58,95,.18);
  --radius:14px;
  --radius-lg:22px;
  --container:1200px;
}

/* ===== Typography ===== */
h1,h2,h3,h4{font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:800;color:var(--navy);line-height:1.1;letter-spacing:-0.02em}
h1{font-size:clamp(2.4rem,5.5vw,4.4rem)}
h2{font-size:clamp(1.9rem,3.6vw,3rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem);letter-spacing:-0.01em}
h4{font-size:1.05rem;font-family:'Manrope',sans-serif;font-weight:600}
.eyebrow{font-family:'Manrope',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--blue)}
.lead{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--muted);max-width:62ch}
p{color:var(--text)}
.muted{color:var(--muted)}

/* ===== Utility ===== */
.container{max-width:var(--container);margin:0 auto;padding:0 24px}
.section{padding:clamp(64px,9vw,120px) 0}
.section-tight{padding:clamp(48px,7vw,90px) 0}
.section-alt{background:var(--section)}
.grid{display:grid;gap:24px}
.center{text-align:center}
.flex{display:flex}
.between{justify-content:space-between;align-items:center}

/* Blueprint grid overlay */
.bp-grid{position:relative;overflow:hidden}
.bp-grid::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(92,122,234,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(92,122,234,.06) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%);
}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}

@media (max-width:768px){
  .section{padding:64px 0}
}
