/* Nigorvurvu — hoja de estilos común */

:root{
  --bg:#1c1416;
  --bg-alt:#241a1d;
  --bg-contrast:#f0e7dc;
  --text:#eee4da;
  --muted:#a08f8c;
  --ink:#1c1416;
  --accent:#c98f3f;
  --accent2:#8fa07c;
  --gap:24px;
}

*{box-sizing:border-box;}

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

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

.wrap{
  max-width:1200px;
  margin:0 auto;
  padding:0 28px;
}

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

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

a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
a:hover{text-decoration-thickness:2px;}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

p{margin:20px 0 0;}
p:first-child{margin-top:0;}

/* ---------- tipografía ---------- */

h1{
  font-size:clamp(38px,6.2vw,74px);
  line-height:1.02;
  letter-spacing:-0.03em;
  font-weight:700;
  margin:0;
}

h2{
  font-size:clamp(23px,2.6vw,30px);
  line-height:1.25;
  letter-spacing:-0.01em;
  font-weight:700;
  margin:0 0 4px;
}

h3{
  font-size:19px;
  line-height:1.35;
  font-weight:700;
  margin:28px 0 0;
}

.num{
  font-size:13px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--accent2);
  margin:0 0 10px;
}

.cap{
  font-size:13px;
  line-height:1.5;
  color:var(--muted);
  margin:10px 0 0;
}

.lead{
  font-size:20px;
  line-height:1.6;
}

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

.site-head{padding-top:26px;}

.topnav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px 34px;
}

.topnav a{
  font-size:13px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--text);
  text-decoration:none;
  padding-bottom:3px;
  border-bottom:1px solid transparent;
}
.topnav a:hover,
.topnav a[aria-current="page"]{border-bottom-color:var(--accent);}

.navrule{
  grid-column:1 / span 5;
  height:1px;
  background:var(--accent);
  margin:26px 0 0;
}

/* ---------- hero ---------- */

.hero{padding-top:58px;}

.hero h1{grid-column:1 / span 7;}
.hero h1 .l1{display:block;padding-left:28.5%;}
.hero h1 .l2{display:block;}

.hero-topics{
  grid-column:10 / span 3;
  list-style:none;
  margin:8px 0 0;
  padding:0;
  align-self:end;
}
.hero-topics li{
  font-size:13px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--muted);
  padding:9px 0;
  border-top:1px solid #3a2c2e;
}
.hero-topics li:last-child{border-bottom:1px solid #3a2c2e;}

.hero-lead{
  grid-column:1 / span 6;
  margin-top:44px;
}

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

.imgrow{
  align-items:end;
  margin-top:56px;
}
.fig-main{
  grid-column:8 / span 5;
  grid-row:1;
  margin:0;
  padding:8px;
  border:1px solid var(--accent);
}
.fig-main img{width:100%;}
.fig-main-cap{
  grid-column:1 / span 3;
  grid-row:1;
  align-self:end;
  margin:0 0 6px;
  font-size:13px;
  line-height:1.5;
  color:var(--muted);
}

/* ---------- ritmo de secciones ---------- */

.sec{padding:0;margin-top:64px;}
main > .sec:first-child{margin-top:64px;}

.sec-alt{background:var(--bg-alt);padding:56px 0;}

.rule{
  grid-column:1 / span 2;
  height:1px;
  background:var(--accent);
  margin-bottom:26px;
}

.col-text{grid-column:1 / span 6;}

.shift .rule{grid-column:4 / span 2;}
.shift .col-text{grid-column:4 / span 6;}

/* ---------- sección contrastada ---------- */

.contrast{
  background:var(--bg-contrast);
  color:var(--ink);
  padding:64px 0;
}
.contrast a{color:#8a5a17;}
.contrast .num{color:#5f6c4f;}
.contrast .rule{background:#b07f36;}
.contrast .cap{color:#6d5f5b;}
.contrast .check li::before{background:#b07f36;}
.contrast .check li{border-top-color:#d9cbba;}

.contrast .col-detail{grid-column:1 / span 6;}
.fig-detail{
  grid-column:8 / span 5;
  margin:0;
}
.fig-detail img{width:100%;}

/* ---------- listas ---------- */

.check{
  list-style:none;
  margin:26px 0 0;
  padding:0;
}
.check li{
  position:relative;
  padding:11px 0 11px 26px;
  border-top:1px solid #3a2c2e;
}
.check li::before{
  content:"";
  position:absolute;
  left:0;
  top:22px;
  width:10px;
  height:1px;
  background:var(--accent);
}

.plain{margin:20px 0 0;padding-left:22px;}
.plain li{margin:8px 0;}
.plain li::marker{color:var(--accent2);}

/* ---------- bloque de contacto ---------- */

.contact-box{
  grid-column:1 / span 6;
  margin-top:26px;
  border-top:1px solid var(--accent);
  padding-top:18px;
}
.contact-box .mail{
  font-size:19px;
  font-weight:700;
}

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

.page-head{padding-top:52px;}
.page-head h1{
  grid-column:1 / span 9;
  font-size:clamp(32px,4.4vw,52px);
}
.page-head .kicker{
  grid-column:1 / span 12;
  margin:0 0 14px;
  font-size:13px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--accent2);
}

.doc{grid-column:1 / span 6;}
.doc section{margin-top:56px;}
.doc section:first-of-type{margin-top:40px;}
.doc h2{position:relative;padding-left:36px;}
.doc h2::before{
  content:"";
  position:absolute;
  left:0;
  top:0.68em;
  width:24px;
  height:1px;
  background:var(--accent);
}

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

.site-foot{
  margin-top:88px;
  padding-bottom:60px;
}
.footrule{
  grid-column:1 / span 5;
  height:1px;
  background:var(--accent);
  margin-bottom:30px;
}
.foot-a{grid-column:1 / span 5;}
.foot-b{grid-column:6 / span 3;}
.foot-c{grid-column:9 / span 4;}

.foot-name{
  font-size:21px;
  font-weight:700;
  letter-spacing:-0.01em;
  margin:0;
}
.foot-note{
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
  margin:10px 0 0;
}
.foot-b ul{list-style:none;margin:0;padding:0;}
.foot-b li{margin:0 0 8px;}
.foot-b a{
  font-size:13px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--text);
  text-decoration:none;
  border-bottom:1px solid transparent;
}
.foot-b a:hover{border-bottom-color:var(--accent);}

/* ---------- responsive ---------- */

@media (max-width:960px){
  .hero h1 .l1{padding-left:14%;}
  .hero-topics{grid-column:9 / span 4;}
}

@media (max-width:860px){
  body{font-size:16px;}
  .wrap{padding:0 20px;}
  .grid{grid-template-columns:1fr;}
  .grid > *{grid-column:1 / -1 !important;grid-row:auto !important;}
  .hero{padding-top:40px;}
  .hero h1 .l1{padding-left:0;}
  .hero-lead{margin-top:32px;}
  .hero-topics{margin-top:32px;}
  .navrule{grid-column:1 / -1;}
  .imgrow{margin-top:36px;}
  .fig-main-cap{margin:12px 0 0;}
  .fig-detail{margin-top:32px;}
  .sec{margin-top:40px;}
  main > .sec:first-child{margin-top:40px;}
  .sec-alt{padding:40px 0;}
  .contrast{padding:44px 0;}
  .rule,.shift .rule{margin-bottom:20px;}
  .doc section{margin-top:44px;}
  .site-foot{margin-top:56px;padding-bottom:44px;}
  .foot-b,.foot-c{margin-top:28px;}
  .topnav ul{gap:10px 22px;}
}
