/* ============================================================
   BASE — variables de marca, reset y estilos globales
   Aquí se cambian los COLORES y la TIPOGRAFÍA de todo el sitio.
   ============================================================ */

:root{
  --navy-950:#080b28;
  --navy-900:#0e133d;
  --navy-800:#161c4d;
  --navy-700:#242c63;
  --gold-600:#a9821f;
  --gold-500:#c9a227;
  --gold-400:#d9b84a;
  --gold-200:#ecdca0;
  --paper:#efe9db;
  --paper-2:#e7dfcc;
  --ink:#14162c;
  --cream:#f7f2e6;
  --line: rgba(217,184,74,0.35);
  --shadow: 0 20px 50px -20px rgba(8,11,40,0.45);
  --maxw: 1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Public Sans', sans-serif;
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Playfair Display', serif;
  margin:0;
  font-weight:600;
  letter-spacing:-0.01em;
}
p{margin:0;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.skip-link{position:absolute; left:-9999px; top:0; z-index:300; background:var(--navy-900); color:var(--cream); padding:10px 16px; border:2px solid var(--gold-400); border-radius:2px; font-weight:600;}
.skip-link:focus{left:8px; top:8px;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.eyebrow{
  font-family:'Public Sans', sans-serif;
  text-transform:uppercase;
  letter-spacing:0.18em;
  font-size:12px;
  font-weight:700;
  color:var(--gold-600);
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:22px;height:2px;
  background:var(--gold-500);
  display:inline-block;
}
section{position:relative;}
section[id]{scroll-margin-top:84px;}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--gold-400); outline-offset:2px;
}
.reveal{opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none;}
  html{scroll-behavior:auto;}
}

/* Encabezados de sección (compartidos por todas las secciones) */
.sec-head{max-width:640px; margin-bottom:44px;}
.sec-head h2{font-size:clamp(28px,3.2vw,40px); color:var(--navy-900); margin-top:14px; line-height:1.12;}
.sec-head p{margin-top:16px; font-size:16px; line-height:1.65; color:#4a4d63;}
.on-navy .sec-head h2{color:var(--cream);}
.on-navy .sec-head p{color:rgba(247,242,230,0.72);}
