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

:root{
  --bg:#191919;
  --bg-alt:#212121;
  --bg-contrast:#f0eeec;
  --ink:#e8e6e4;
  --ink-soft:#918e8c;
  --ink-dark:#191919;
  --accent:#c96f76;
  --accent-2:#8ca0a8;
  --serif:Georgia,'Times New Roman',serif;
  --sans:system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --gap:26px;
}

*{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(201,111,118,.45);}
a:hover{border-bottom-color:var(--accent);}

a:focus-visible,
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

/* ---------- rejilla ---------- */

.wrap{
  width:100%;
  max-width:1160px;
  margin:0 auto;
  padding:0 30px;
}

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

.c6{grid-column:1 / span 6;}
.c7{grid-column:1 / span 7;}
.c9{grid-column:1 / span 9;}
.c8{grid-column:1 / span 8;}

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

h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;}

h1{
  font-size:clamp(2.35rem,6vw,4.15rem);
  line-height:1.05;
  letter-spacing:-.01em;
}

h1 .h1-b{display:block;padding-left:8.333%;}

h2{
  font-size:clamp(1.55rem,3vw,2.1rem);
  line-height:1.15;
  margin-bottom:18px;
}

h3{
  font-size:1.12rem;
  line-height:1.35;
  margin:30px 0 8px;
}

p{margin:0 0 18px;}

p:last-child{margin-bottom:0;}

.lead{font-size:1.12rem;line-height:1.7;color:var(--ink);}

.note{font-size:13px;line-height:1.65;color:var(--ink-soft);}

.sec-num{
  font-size:13px;
  color:var(--accent-2);
  display:block;
  margin-bottom:10px;
  letter-spacing:.04em;
}

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

.site-head{padding:26px 0 8px;}

.site-head .grid{row-gap:14px;align-items:baseline;}

.brand{
  grid-column:1 / span 4;
  font-family:var(--serif);
  font-size:1.32rem;
  color:var(--ink);
  border:0;
  letter-spacing:.02em;
}

.brand:hover{color:var(--accent);}

.site-nav{grid-column:5 / span 8;}

.site-nav ul{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:8px 26px;
  justify-content:flex-start;
}

.site-nav a{
  font-size:15px;
  color:var(--ink-soft);
  border-bottom:1px solid transparent;
  padding-bottom:2px;
}

.site-nav a:hover,
.site-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent);}

/* ---------- líneas de cota ---------- */

.dim-v{
  grid-column:1 / span 1;
  position:relative;
  min-height:220px;
  margin-top:6px;
}

.dim-v::before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;
  border-left:1px solid var(--accent-2);
  opacity:.75;
}

.dim-v span{
  position:absolute;left:-7px;width:15px;height:1px;
  background:var(--accent-2);
}

.dim-v span.t{top:0;}
.dim-v span.b{bottom:0;}

.dim-h{
  display:flex;align-items:center;gap:14px;
  margin:34px 0 26px;
  color:var(--accent-2);
  font-size:13px;
}

.dim-h::before,
.dim-h::after{
  content:"";
  height:1px;background:var(--accent-2);flex:1;
  opacity:.8;
}

.dim-h b{font-weight:400;white-space:nowrap;}

.dim-cap{
  border-left:1px solid var(--accent-2);
  border-right:1px solid var(--accent-2);
  height:9px;width:100%;
  display:block;
}

/* ---------- héroe ---------- */

.hero{padding:40px 0 8px;}

.hero .grid{row-gap:0;}

.hero-body{grid-column:2 / span 11;}

.hero h1{max-width:14.5ch;}

.hero-intro{max-width:52ch;}

/* ---------- figura principal ---------- */

.figure-main{margin:46px 0 0;}

.figure-main .grid{align-items:start;row-gap:18px;}

.figure-main .shot{grid-column:1 / span 7;}

.figure-main figcaption{
  grid-column:9 / span 4;
  position:relative;
  padding-top:30px;
  font-size:13px;
  line-height:1.65;
  color:var(--ink-soft);
}

.figure-main figcaption::before{
  content:"";
  position:absolute;top:14px;left:-24%;width:24%;
  border-top:1px solid var(--accent-2);
  opacity:.8;
}

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

.band{padding:72px 0;}
.band--alt{background:var(--bg-alt);}
.band--wide{padding:88px 0;}
.band--tall{padding:104px 0;}

.band p{max-width:66ch;}

.band ul,.band ol{max-width:62ch;}

.rule{margin-bottom:30px;}

.rule i{
  display:block;
  border-top:1px solid rgba(232,230,228,.22);
}

.rule b{
  display:block;
  width:16.666%;
  height:3px;
  background:var(--accent);
  margin-top:7px;
}

/* listas */

ul.marks{list-style:none;margin:0 0 18px;padding:0;}

ul.marks li{
  position:relative;
  padding-left:24px;
  margin-bottom:11px;
}

ul.marks li::before{
  content:"";
  position:absolute;left:0;top:.72em;
  width:11px;height:1px;background:var(--accent);
}

ol.steps{
  list-style:none;margin:0 0 18px;padding:0;
  counter-reset:s;
}

ol.steps li{
  position:relative;
  padding-left:40px;
  margin-bottom:13px;
  counter-increment:s;
}

ol.steps li::before{
  content:counter(s,decimal-leading-zero);
  position:absolute;left:0;top:0;
  font-size:13px;
  color:var(--accent-2);
}

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

.band--light{
  background:var(--bg-contrast);
  color:var(--ink-dark);
  padding:96px 0;
}

.band--light h2,
.band--light h3{color:var(--ink-dark);}

.band--light .sec-num{color:#5d6d74;}

.band--light .note{color:#5f5c5a;}

.band--light a{color:#a2454d;border-bottom-color:rgba(162,69,77,.5);}

.band--light .rule i{border-top-color:rgba(25,25,25,.2);}

.band--light .grid{row-gap:26px;align-items:start;}

.figure-detail{grid-column:1 / span 4;margin:0;}

.figure-detail figcaption{margin-top:12px;font-size:13px;line-height:1.6;color:#5f5c5a;}

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

/* ---------- páginas internas ---------- */

.page-head{padding:44px 0 0;}

.page-head .grid{row-gap:0;}

.page-head h1{font-size:clamp(2.05rem,4.6vw,3.2rem);max-width:18ch;}

.page-head .page-intro{max-width:56ch;margin-top:24px;}

.doc{padding:62px 0 88px;}

.doc .grid{row-gap:0;}

.doc-rail{
  grid-column:1 / span 12;
  position:relative;
  border-left:1px solid rgba(140,160,168,.5);
  padding-left:34px;
}

.doc-rail section{position:relative;padding:0 0 44px;}

.doc-rail section::before{
  content:"";
  position:absolute;left:-34px;top:.85em;
  width:20px;height:1px;background:var(--accent-2);
}

.doc-rail section:last-child{padding-bottom:0;}

.doc-rail h2{font-size:clamp(1.35rem,2.5vw,1.75rem);}

.doc-rail p,
.doc-rail ul{max-width:64ch;}

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

.site-foot{
  background:var(--bg-alt);
  padding:52px 0 30px;
  margin-top:0;
}

.foot-top i{display:block;border-top:1px solid rgba(232,230,228,.22);}
.foot-top b{display:block;width:16.666%;height:3px;background:var(--accent);margin-top:7px;}

.site-foot .grid{row-gap:34px;margin-top:38px;}

.foot-id{grid-column:1 / span 5;}

.foot-id .foot-name{
  font-family:var(--serif);
  font-size:1.75rem;
  line-height:1.15;
  margin-bottom:12px;
}

.foot-nav{grid-column:7 / span 3;}
.foot-contact{grid-column:10 / span 3;}

.site-foot h2{
  font-family:var(--sans);
  font-size:13px;
  font-weight:400;
  color:var(--accent-2);
  margin-bottom:14px;
}

.site-foot ul{list-style:none;margin:0;padding:0;}
.site-foot li{margin-bottom:9px;}

.site-foot a{color:var(--ink);border-bottom-color:rgba(201,111,118,.45);font-size:15px;}
.site-foot a:hover{color:var(--accent);}

.foot-end{
  margin-top:44px;
  padding-top:16px;
  border-top:1px solid rgba(232,230,228,.16);
}

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

@media (max-width:1000px){
  .figure-main .shot{grid-column:1 / span 8;}
  .figure-main figcaption{grid-column:9 / span 4;}
  .band--light .col-text{grid-column:6 / span 7;}
  .figure-detail{grid-column:1 / span 5;}
}

@media (max-width:760px){
  body{font-size:16px;line-height:1.75;}
  .wrap{padding:0 20px;}
  .grid{column-gap:16px;}
  .brand{grid-column:1 / -1;}
  .site-nav{grid-column:1 / -1;}
  .site-nav ul{gap:6px 18px;}
  .hero{padding:26px 0 0;}
  .dim-v{display:none;}
  .hero-body{grid-column:1 / -1;}
  h1 .h1-b{padding-left:0;}
  .figure-main{margin-top:32px;}
  .figure-main .shot{grid-column:1 / -1;}
  .figure-main figcaption{grid-column:1 / -1;padding-top:14px;}
  .figure-main figcaption::before{
    position:static;display:block;width:56px;
    margin-bottom:12px;
  }
  .band{padding:48px 0;}
  .band--wide{padding:52px 0;}
  .band--tall{padding:56px 0;}
  .band--light{padding:52px 0;}
  .figure-detail{grid-column:1 / -1;}
  .band--light .col-text{grid-column:1 / -1;}
  .c6,.c7,.c8,.c9{grid-column:1 / -1;}
  .rule b,.foot-top b{width:34%;}
  .doc{padding:40px 0 56px;}
  .doc-rail{padding-left:20px;}
  .doc-rail section::before{left:-20px;width:12px;}
  .foot-id,.foot-nav,.foot-contact{grid-column:1 / -1;}
  .site-foot{padding:40px 0 26px;}
}
