/* ══════════════════════════════════════════
   BASE — reset, typography, utilities
   ══════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--bg-page);
  color:var(--text-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;cursor:pointer}
input,textarea,select{font-family:inherit;font-size:1rem}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:700;
  color:var(--navy-900);
  line-height:1.15;
}
h1{font-size:clamp(2.4rem,5vw,4rem)}
h2{font-size:clamp(1.9rem,3.4vw,2.75rem)}
h3{font-size:clamp(1.3rem,2vw,1.6rem)}
p{color:var(--text-muted)}

.container{
  max-width:var(--max-width);
  margin:0 auto;
  padding:0 var(--space-6);
}
@media(max-width:640px){
  .container{padding:0 var(--space-4)}
}

section{padding:var(--space-24) 0}
@media(max-width:768px){
  section{padding:var(--space-16) 0}
}

.eyebrow{
  display:inline-flex;align-items:center;gap:var(--space-2);
  font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-d);
}
.eyebrow::before{
  content:'';width:22px;height:1.5px;background:var(--gold);
}

.section-head{
  max-width:640px;
  margin-bottom:var(--space-12);
}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head h2{margin-top:var(--space-3)}
.section-head p{margin-top:var(--space-4);font-size:1.05rem}

.text-center{text-align:center}
.visually-hidden{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;
}

/* — Scroll reveal (see js/reveal.js) — */
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease);
}
.reveal.in-view{opacity:1;transform:translateY(0)}
.reveal-stagger > *{transition-delay:calc(var(--i,0) * 90ms)}

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