/* Stontatapu — hoja de estilo común */

:root{
  --bg:#f4ece0;
  --bg-alt:#e8dbc7;
  --bg-dark:#33231a;
  --ink:#2a2119;
  --ink-soft:#7d6f5c;
  --on-dark:#f4ece0;
  --accent:#b0512c;
  --accent-2:#37596b;
  --rule:rgba(42,33,25,.18);
  --rule-dark:rgba(244,236,224,.24);
  --serif:Georgia,'Times New Roman',serif;
  --sans:system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --rhythm:76px;
}

*{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;}

body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.8;
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block;}

a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(176,81,44,.45);}
a:hover{border-bottom-color:var(--accent);}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}

/* ---------- rejilla de 12 columnas ---------- */
.grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  column-gap:24px;
  max-width:1180px;
  margin:0 auto;
  padding:0 30px;
}
.col-text{grid-column:2 / 8;}
.col-wide{grid-column:2 / 10;}
.col-full{grid-column:1 / -1;}
.col-right{grid-column:7 / 13;}

/* ---------- cabecera y navegación ---------- */
.topbar{border-bottom:1px solid var(--rule);}
.topbar .grid{padding-top:20px;padding-bottom:18px;}
.topbar-inner{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:10px 26px;
}
.marca{
  font-family:var(--serif);
  font-size:21px;
  letter-spacing:.04em;
  color:var(--ink);
  border-bottom:0;
}
.marca:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}
.nav-principal ul{
  list-style:none;
  margin:0;padding:0;
  display:flex;flex-wrap:wrap;
  gap:6px 22px;
}
.nav-principal a{
  font-size:15px;
  color:var(--ink);
  border-bottom:1px solid transparent;
  padding-bottom:2px;
}
.nav-principal a:hover{border-bottom-color:var(--accent);color:var(--accent);}

/* ---------- portada: corchete y titular ---------- */
.hero{padding-top:64px;padding-bottom:var(--rhythm);}
.hero .grid{align-items:start;}
.corchete{
  grid-column:1 / 2;
  grid-row:1 / span 2;
  min-height:250px;
  border-left:1px solid var(--rule);
  background-image:repeating-linear-gradient(
    to bottom,
    var(--accent) 0 3px,
    transparent 3px 18px
  );
  background-size:26px 100%;
  background-repeat:repeat-y;
  background-position:8px 6px;
}
.hero-texto{grid-column:2 / 11;}
h1{
  font-family:var(--serif);
  font-weight:400;
  font-size:54px;
  line-height:1.12;
  letter-spacing:-.005em;
  margin:0 0 26px;
  max-width:20ch;
}
.doble-linea{
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--rule);
  height:4px;
  max-width:420px;
  margin:0 0 26px;
}
.entradilla{
  grid-column:2 / 10;
  font-size:19px;
  line-height:1.75;
  margin:0;
}
.hero .entradilla{max-width:62ch;}

/* ---------- ritmo de secciones ---------- */
.seccion{padding:var(--rhythm) 0;}
.seccion--alt{background:var(--bg-alt);}
.seccion--oscura{background:var(--bg-dark);color:var(--on-dark);}
.seccion--oscura h2,.seccion--oscura h3{color:var(--on-dark);}
.seccion--oscura .colofon span{color:#c9b79c;}
.seccion--oscura .colofon{border-bottom-color:var(--rule-dark);}
.seccion--oscura a{color:#e0a184;border-bottom-color:rgba(224,161,132,.5);}
.seccion--oscura figcaption{color:#c9b79c;}
.seccion--oscura li::marker{color:#e0a184;}

.colofon{
  grid-column:1 / -1;
  border-bottom:1px solid var(--rule);
  padding-bottom:7px;
  margin-bottom:30px;
}
.colofon span{
  font-size:12px;
  line-height:1.5;
  letter-spacing:.08em;
  color:var(--accent-2);
  display:inline-block;
}

h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:29px;
  line-height:1.25;
  margin:0 0 18px;
  grid-column:2 / 10;
  max-width:26ch;
}
h3{
  font-family:var(--serif);
  font-weight:400;
  font-size:19px;
  line-height:1.4;
  margin:34px 0 10px;
}
p{margin:0 0 20px;}
p:last-child{margin-bottom:0;}

/* ---------- listas ---------- */
ul.lista,ol.lista{
  margin:0 0 20px;
  padding-left:20px;
}
ul.lista li,ol.lista li{margin-bottom:9px;}
ul.lista li::marker{color:var(--accent);}
ol.lista li::marker{color:var(--accent-2);font-family:var(--serif);}

.indice{list-style:none;margin:0;padding:0;}
.indice li{
  margin:0;
  padding:9px 0;
  border-bottom:1px solid var(--rule);
}
.indice li:first-child{border-top:1px solid var(--rule);}
.indice a{color:var(--ink);border-bottom:0;}
.indice a:hover{color:var(--accent);}
.indice .num{
  font-family:var(--serif);
  color:var(--accent-2);
  font-size:14px;
  margin-right:14px;
}

/* ---------- imágenes ---------- */
figure{margin:0;}
figcaption{
  font-size:12px;
  line-height:1.55;
  color:var(--ink-soft);
  margin-top:10px;
  text-align:left;
  max-width:46ch;
}
.figura-principal{grid-column:7 / 13;margin-top:44px;}
.figura-detalle{grid-column:2 / 7;}
.bloque-detalle{grid-column:8 / 13;}

/* ---------- separador tipográfico ---------- */
.separador{
  grid-column:1 / -1;
  display:flex;
  justify-content:center;
  gap:12px;
  padding:34px 0 0;
  border:0;
}
.separador i{
  display:block;
  width:18px;
  height:2px;
  background:var(--accent);
}
.seccion--oscura .separador i{background:#e0a184;}

/* ---------- contacto ---------- */
.bloque-contacto{grid-column:2 / 9;}
.correo{
  font-family:var(--serif);
  font-size:22px;
}

/* ---------- About ---------- */
.capitular::first-letter{
  float:left;
  font-family:var(--serif);
  font-size:66px;
  line-height:.82;
  color:var(--accent);
  padding:6px 12px 0 0;
}

/* ---------- pie ---------- */
.pie{
  background:var(--bg-alt);
  border-top:1px solid var(--rule);
  padding:52px 0 44px;
  text-align:center;
}
.pie .grid{grid-template-columns:1fr;}
.pie-inner{grid-column:1;max-width:640px;margin:0 auto;}
.pie-marca{
  font-family:var(--serif);
  font-size:20px;
  letter-spacing:.05em;
  margin:0 0 18px;
}
.pie nav ul{
  list-style:none;margin:0 0 18px;padding:0;
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:8px 0;
}
.pie nav li{padding:0 14px;border-right:1px solid var(--rule);line-height:1.2;}
.pie nav li:last-child{border-right:0;}
.pie nav a{font-size:14px;color:var(--ink);border-bottom:0;}
.pie nav a:hover{color:var(--accent);}
.pie-correo{margin:0 0 14px;font-size:16px;}
.pie-nota{font-size:12px;line-height:1.7;color:var(--ink-soft);margin:0;}

/* ---------- responsive ---------- */
@media (max-width:900px){
  :root{--rhythm:46px;}
  .grid{column-gap:18px;padding:0 22px;}
  .col-text,.col-wide,.col-right,.entradilla,h2,
  .hero-texto,.figura-principal,.figura-detalle,
  .bloque-detalle,.bloque-contacto{grid-column:1 / -1;}
  h1{font-size:36px;max-width:none;}
  h2{font-size:25px;max-width:none;}
  .entradilla{font-size:18px;}
  .hero{padding-top:38px;}
  .corchete{
    grid-column:1 / -1;
    grid-row:auto;
    min-height:0;
    height:14px;
    border-left:0;
    margin-bottom:24px;
    background-image:repeating-linear-gradient(
      to right,
      var(--accent) 0 3px,
      transparent 3px 18px
    );
    background-size:100% 14px;
    background-repeat:no-repeat;
    background-position:0 5px;
  }
  .figura-principal{margin-top:30px;}
  .bloque-detalle{margin-top:26px;}
  .capitular::first-letter{font-size:52px;}
}

@media (max-width:560px){
  body{font-size:16px;}
  h1{font-size:30px;}
  h2{font-size:22px;}
  .grid{padding:0 18px;}
  .nav-principal ul{gap:4px 16px;}
  .nav-principal a{font-size:14px;}
}
