/* ============================================================
   base.css — reset, typography, layout primitives, shared bits
   Used on every page. Page-agnostic only.
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--navy);
  color:var(--ice);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Space Grotesk',system-ui,sans-serif;line-height:1.05;letter-spacing:-.02em;font-weight:700}
a{color:inherit;text-decoration:none}

/* layout container */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}

/* section scaffold */
section{padding:120px 0}
.sec-head{max-width:740px;margin-bottom:58px}
.sec-head h2{font-size:clamp(32px,4.4vw,56px);margin-top:18px}
.sec-head p{margin-top:18px;font-size:18px;color:var(--muted);max-width:60ch}

/* eyebrow label */
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--steel-light);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"▲";color:var(--crimson);font-size:9px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;padding:15px 28px;border-radius:8px;cursor:pointer;border:none;transition:transform .2s var(--ease),box-shadow .25s,background .25s}
.btn-crimson{background:var(--crimson);color:#fff;box-shadow:0 14px 30px -12px rgba(214,35,43,.7)}
.btn-crimson:hover{transform:translateY(-2px);background:var(--crimson-2);box-shadow:0 20px 40px -12px rgba(214,35,43,.8)}
.btn-glass{background:rgba(255,255,255,.08);color:#fff;border:1px solid var(--line)}
.btn-glass:hover{background:rgba(255,255,255,.16)}

/* scroll reveal (toggled by js/reveal.js) */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* responsive primitives */
@media(max-width:560px){
  .wrap{padding:0 20px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
