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

:root{
  --bg:#1d1815;
  --bg-alt:#251f1a;
  --bg-light:#f1ebdf;
  --fg:#eae4d8;
  --fg-dim:#9a8f82;
  --fg-dark:#1d1815;
  --fg-dark-dim:#5b5248;
  --acc:#c08a45;
  --acc2:#728a63;
  --acc2-dark:#54683f;
  --gap:24px;
}

*{box-sizing:border-box}

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

body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-size:18px;
  line-height:1.9;
  overflow-x:hidden;
}

.wrap{
  max-width:1240px;
  margin:0 auto;
  padding:0 40px;
}

.grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  column-gap:var(--gap);
}

h1,h2,h3{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  line-height:1.3;
  margin:0;
  letter-spacing:.005em;
}

h1{font-size:clamp(30px,4.6vw,50px)}
h2{font-size:clamp(24px,2.7vw,31px);margin-bottom:8px}
h3{font-size:21px;margin:26px 0 6px}

p{margin:0 0 20px}
p:last-child{margin-bottom:0}

a{color:var(--acc);text-decoration:none;border-bottom:1px solid rgba(192,138,69,.45)}
a:hover{border-bottom-color:var(--acc)}

a:focus-visible,
:focus-visible{
  outline:2px solid var(--acc);
  outline-offset:4px;
  border-radius:1px;
}

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

/* ---------- cabecera y navegación ---------- */

.site-head{padding:34px 0 0}

.nav{
  grid-column:1 / span 12;
  display:flex;
  flex-wrap:wrap;
  gap:34px;
  font-size:13px;
  letter-spacing:.16em;
  line-height:1.6;
  padding-bottom:18px;
}

.nav a{
  color:var(--fg-dim);
  border-bottom:none;
  padding-bottom:2px;
}
.nav a:hover{color:var(--fg)}
.nav a[aria-current="page"]{color:var(--fg);border-bottom:1px solid var(--acc)}

.hline{
  grid-column:1 / span 5;
  height:1px;
  background:var(--acc);
}

/* ---------- portada ---------- */

.hero{padding:56px 0 8px}

.hero h1{
  grid-column:1 / span 7;
  margin-bottom:26px;
}
.hero h1 .l1{display:block;margin-left:calc((100% - 144px)/7*2 + 48px)}
.hero h1 .l2{display:block}

.hero-lead{
  grid-column:1 / span 6;
  color:var(--fg);
}

.topics{
  grid-column:10 / span 3;
  grid-row:1 / span 2;
  list-style:none;
  margin:8px 0 0;
  padding:0;
  font-size:14px;
  line-height:1.6;
  color:var(--fg-dim);
  border-top:1px solid rgba(154,143,130,.3);
}
.topics li{
  padding:11px 0;
  border-bottom:1px solid rgba(154,143,130,.3);
}
.topics li span{color:var(--acc2);margin-right:10px}

/* ---------- imagen principal ---------- */

.hero-media{padding:44px 0 0}

.hero-fig{
  grid-column:8 / span 5;
  margin:0;
}
.frame{
  border:1px solid var(--acc);
  padding:8px;
}
.hero-cap{
  grid-column:1 / span 3;
  align-self:end;
  font-size:14px;
  line-height:1.65;
  color:var(--fg-dim);
  margin:0 0 6px;
  padding-top:16px;
  border-top:1px solid var(--acc2);
}

/* ---------- secciones ---------- */

.sec{padding:32px 0}
.sec--alt{background:var(--bg-alt)}
.sec--light{background:var(--bg-light);color:var(--fg-dark);padding:48px 0}

.num{
  grid-column:1 / span 6;
  font-size:14px;
  line-height:1.4;
  letter-spacing:.2em;
  color:var(--acc2);
  margin:0 0 10px;
}
.rule{
  grid-column:1 / span 2;
  height:1px;
  background:var(--acc);
  margin-bottom:20px;
}
.sec h2{grid-column:1 / span 6}
.body{grid-column:1 / span 6;padding-top:14px}

.sec--shift .num,
.sec--shift .sec-h2,
.sec--shift h2,
.sec--shift .body{grid-column:4 / span 6}
.sec--shift .rule{grid-column:4 / span 2}

.sec--light .num{color:var(--acc2-dark)}
.sec--light a{color:#8a5e24;border-bottom-color:rgba(138,94,36,.5)}

/* listas */

.list{list-style:none;margin:4px 0 20px;padding:0}
.list li{
  position:relative;
  padding-left:24px;
  margin-bottom:9px;
}
.list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.95em;
  width:11px;
  height:1px;
  background:var(--acc);
}
.list li:last-child{margin-bottom:0}

.caption{font-size:14px;line-height:1.65;color:var(--fg-dim)}
.sec--light .caption{color:var(--fg-dark-dim)}

/* ---------- sección clara con imagen de detalle ---------- */

.detail-fig{
  grid-column:1 / span 4;
  grid-row:1 / span 4;
  margin:6px 0 0;
}
.detail-fig figcaption{
  font-size:14px;
  line-height:1.6;
  color:var(--fg-dark-dim);
  margin-top:12px;
}
.detail-text{grid-column:6 / span 6}
.sec--light .rule{grid-column:6 / span 2}
.sec--light .num,
.sec--light h2{grid-column:6 / span 6}

/* ---------- páginas interiores ---------- */

.page{padding:48px 0 8px}
.page h1{grid-column:1 / span 7;margin-bottom:20px}
.page-lead{grid-column:1 / span 6;color:var(--fg-dim);margin:0}

.doc{padding:40px 0 8px}
.doc-col{grid-column:1 / span 6}
.doc-col section{margin-bottom:56px}
.doc-col section:last-child{margin-bottom:0}
.doc-col h2{
  position:relative;
  padding-left:40px;
  margin-bottom:14px;
}
.doc-col h2::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:24px;
  height:1px;
  background:var(--acc);
}

.meta{font-size:14px;color:var(--fg-dim)}

/* ---------- pie ---------- */

.site-foot{padding:56px 0 64px;margin-top:32px}

.fline{
  grid-column:1 / span 5;
  height:1px;
  background:var(--acc);
  margin-bottom:30px;
}
.f-name{grid-column:1 / span 5}
.f-nav{grid-column:6 / span 3}
.f-contact{grid-column:9 / span 4}

.f-name .brand{
  font-family:Georgia,'Times New Roman',serif;
  font-size:26px;
  line-height:1.3;
  margin:0 0 10px;
}
.f-name p{font-size:14px;line-height:1.7;color:var(--fg-dim);margin:0}

.f-nav ul{list-style:none;margin:0;padding:0;font-size:14px;line-height:1.6}
.f-nav li{margin-bottom:10px}
.f-nav a{color:var(--fg-dim);border-bottom:none}
.f-nav a:hover{color:var(--acc)}

.f-contact p{font-size:14px;line-height:1.7;color:var(--fg-dim);margin:0 0 12px}
.f-contact .mail{font-size:16px}

/* ---------- adaptación ---------- */

@media (max-width:900px){
  body{font-size:17px}
  .wrap{padding:0 24px}
  .grid{column-gap:0}

  .nav{gap:20px 26px;font-size:12px}

  .hline,.fline{grid-column:1 / span 12}

  .hero{padding:34px 0 0}
  .hero h1{grid-column:1 / span 12;margin-bottom:22px}
  .hero h1 .l1{margin-left:0}
  .hero-lead{grid-column:1 / span 12}
  .topics{grid-column:1 / span 12;grid-row:auto;margin-top:28px}

  .hero-media{padding:28px 0 0}
  .hero-fig{grid-column:1 / span 12}
  .hero-cap{grid-column:1 / span 12;margin:16px 0 0;padding-top:14px}

  .sec{padding:20px 0}
  .sec--light{padding:32px 0}
  .num,.rule,.sec h2,.body,
  .sec--shift .num,.sec--shift h2,.sec--shift .body,
  .detail-text,.sec--light .num,.sec--light h2{grid-column:1 / span 12}
  .rule,.sec--shift .rule,.sec--light .rule{grid-column:1 / span 12;max-width:120px}
  .detail-fig{grid-column:1 / span 12;grid-row:auto;margin-bottom:26px}

  .page{padding:32px 0 0}
  .page h1,.page-lead,.doc-col{grid-column:1 / span 12}
  .doc-col section{margin-bottom:40px}
  .doc-col h2{padding-left:34px}

  .site-foot{padding:40px 0 48px}
  .f-name,.f-nav,.f-contact{grid-column:1 / span 12}
  .f-nav{margin:28px 0}
}
