/* ===================================================
   LAGUA — base.css
   Reset, tipografía global, utilidades
   =================================================== */

/* — Reset — */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.smooth{scroll-behavior:smooth}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}
input,textarea,select{font:inherit}

/* — Body — */
body{
  font-family:var(--ff-body);
  font-size:1rem;
  line-height:1.6;
  color:var(--gris-texto);
  background:var(--crema);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* — Tipografía — */
h1,h2,h3,h4,h5,h6{
  font-family:var(--ff-heading);
  font-weight:700;
  line-height:1.15;
  color:var(--azul-marino);
}
h1{font-size:clamp(1.6rem, 4vw, 2.8rem)}
h2{font-size:clamp(1.4rem, 3vw, 2.2rem)}
h3{font-size:clamp(1.1rem, 2vw, 1.5rem)}
h4{font-size:1.1rem}

p{margin-bottom:1em}
p:last-child{margin-bottom:0}

/* — Skip link — */
.skip-link{
  position:absolute;
  top:-100%;left:50%;
  transform:translateX(-50%);
  background:var(--azul-marino);
  color:var(--blanco);
  padding:var(--sp-sm) var(--sp-md);
  border-radius:var(--r-sm);
  z-index:9999;
  font-size:0.85rem;
  transition:top 0.3s;
}
.skip-link:focus{top:var(--sp-sm)}

/* — Reveal animation — */
.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity 0.55s var(--ease-out), transform 0.55s var(--ease-out);
}
.reveal.in{
  opacity:1;
  transform:translateY(0);
}

/* — Eyebrow / Kicker text — */
.eyebrow{
  display:inline-block;
  font-family:var(--ff-body);
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--naranja);
  margin-bottom:var(--sp-md);
}

/* — Container — */
.container{
  width:100%;
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 var(--sp-lg);
}

/* — Section padding — */
.section{
  padding:var(--sp-3xl) 0;
}
.section-muted{
  background:var(--gris-claro);
}
.section-dark{
  background:var(--azul-prof);
  color:var(--crema);
}
.section-dark h2,
.section-dark h3{
  color:var(--crema);
}

/* — Two column grid — */
.two-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sp-xl);
}
@media(max-width:768px){
  .two-grid{grid-template-columns:1fr}
}

/* — Section header — */
.section-header{
  text-align:center;
  margin-bottom:var(--sp-2xl);
}
.section-header p{
  max-width:60ch;
  margin:0 auto;
  color:var(--gris-medio);
}

