/* CSS del prototipo «portada» (es), copiado sin cambios salvo las imágenes, que ahora son archivos. */
:root{
  color-scheme:only light;
  --pitch:#0B0A08;
  --ink:#16130F;
  --bone:#EEECE5;
  --bone-dim:#DCD9D0;
  --grey:#6E6A61;
  --grey-dark:#8F8A80;
  --carmin:#8E1E2B;
  --carmin-light:#B8404E;
  --hair:rgba(22,19,15,.16);
  --hair-dark:rgba(238,236,229,.16);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",monospace;
  --rail:104px;
  --gap:44px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html{background-color:#EEECE5}
body{
  margin:0;
  background-color:#EEECE5;
  background:var(--bone);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--carmin);outline-offset:3px}

/* ---------- rejilla base: raíl de glosa + contenido ---------- */
.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 32px;
  display:grid;
  grid-template-columns:var(--rail) 1fr;
  column-gap:var(--gap);
}
.rail{
  position:relative;
  padding-top:8px;
}
.rail-label{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--grey);
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  white-space:nowrap;
  position:sticky;
  top:120px;
}
.rail::before{
  content:"";
  position:absolute;
  right:0;top:0;bottom:0;
  width:1px;
  background:var(--hair);
}
.rail--dark::before{background:var(--hair-dark)}
.rail--dark .rail-label{color:var(--grey-dark)}

/* ---------- cabecera ---------- */
.bar{
  position:sticky;top:0;z-index:50;
  background:rgba(11,10,8,.90);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--hair-dark);
}
.bar-in{
  max-width:1180px;margin:0 auto;padding:14px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{
  font-family:var(--serif);
  font-size:19px;letter-spacing:.02em;color:var(--bone);
}
.brand em{font-style:italic;color:var(--bone-dim)}
.nav{display:flex;align-items:center;gap:30px}
.nav a{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--bone-dim);
  padding-bottom:2px;border-bottom:1px solid transparent;
  transition:border-color .2s ease,color .2s ease;
}
.nav a:hover{color:var(--bone);border-bottom-color:var(--carmin-light)}
.lang{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.14em}
.lang-box{
  background:var(--carmin);border:1px solid var(--carmin);color:var(--bone);
  padding:5px 9px;line-height:1;text-decoration:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.lang-box--off{background:transparent;color:var(--bone-dim)}
.lang-box--off:hover{background:var(--carmin);color:var(--bone)}
.burger{display:none;background:none;border:0;color:var(--bone);font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;cursor:pointer;padding:4px}

/* ---------- hero tenebrista ---------- */
.hero{
  background:var(--pitch);
  color:var(--bone);
  padding:88px 0 96px;
  position:relative;
  overflow:hidden;
}
.hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:120px;
  background:linear-gradient(to bottom,transparent,rgba(238,236,229,.05));
  pointer-events:none;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  column-gap:56px;
  align-items:center;
}
.eyebrow{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--grey-dark);margin:0 0 26px;
  display:flex;align-items:center;gap:12px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--carmin-light)}
.hero h1{
  font-family:var(--serif);
  font-weight:300;
  font-size:clamp(2.9rem,7vw,5.44rem);
  line-height:.94;
  letter-spacing:-.015em;
  margin:0 0 30px;
}
.hero h1 .it{display:block;font-style:italic;color:var(--bone-dim)}
.hero p.lede{
  font-size:17.5px;line-height:1.66;color:rgba(238,236,229,.74);
  max-width:46ch;margin:0 0 38px;
}
.hero p.lede b{font-weight:500;color:var(--bone)}
.actions{display:flex;flex-wrap:wrap;gap:14px}
.btn{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  padding:13px 22px;border:1px solid var(--hair-dark);color:var(--bone);
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.btn:hover{background:var(--bone);color:var(--pitch);border-color:var(--bone)}
.btn--solid{background:var(--carmin);border-color:var(--carmin)}
.btn--solid:hover{background:var(--carmin-light);border-color:var(--carmin-light);color:var(--bone)}

/* retablo: retrato en hexagono, con filete */
.portrait-frame{
  aspect-ratio:866/1000;
  clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  background:rgba(238,236,229,.22);
  padding:1.5px;
}
.portrait{
  position:relative;
  width:100%;
  height:100%;
  clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  overflow:hidden;
  background:#0A0A0A url("../../img/portada-retrato.webp") center/cover no-repeat;
}
.portrait::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 62%,rgba(11,10,8,.55) 88%,rgba(11,10,8,.95) 100%);
}
.portrait-cap{
  margin-top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--grey-dark);text-align:right;
}

/* ---------- índice de obra ---------- */
.obra{padding:96px 0 24px;background:var(--bone)}
.head{margin-bottom:8px}
.head h2{
  font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4vw,2.9rem);
  line-height:1.06;margin:0 0 10px;letter-spacing:-.01em;
}
.head p{color:var(--grey);max-width:52ch;margin:0 0 34px;font-size:16px}

.index{border-top:1px solid var(--hair)}
.row{
  display:grid;grid-template-columns:minmax(190px,.42fr) 1fr auto;
  align-items:baseline;column-gap:32px;
  padding:24px 0 22px;
  border-bottom:1px solid var(--hair);
  transition:padding-left .25s ease;
}
.row:hover{padding-left:14px}
.row-title{
  font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,1.95rem);font-weight:400;
  line-height:1.1;transition:color .2s ease;
}
.row:hover .row-title{color:var(--carmin)}
.row-desc{color:var(--grey);font-size:15.5px;line-height:1.55}
.row-arrow{
  font-family:var(--mono);font-size:13px;color:var(--grey);
  opacity:0;transform:translateX(-8px);
  transition:opacity .25s ease,transform .25s ease;
}
.row:hover .row-arrow{opacity:1;transform:translateX(0);color:var(--carmin)}

/* ---------- agenda ---------- */
.agenda{padding:92px 0 20px;background:var(--bone)}
.acts{border-top:1px solid var(--hair)}
.act{
  display:grid;grid-template-columns:118px 1fr auto;column-gap:32px;
  align-items:baseline;padding:26px 0;border-bottom:1px solid var(--hair);
}
.act-date{
  font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--carmin);white-space:nowrap;
}
.act-date small{display:block;color:var(--grey);letter-spacing:.12em;margin-top:5px;font-size:11px}
.act-title{font-family:var(--serif);font-size:clamp(1.35rem,2.3vw,1.7rem);line-height:1.16;margin:0 0 6px;font-weight:400}
.act:hover .act-title{color:var(--carmin)}
.act-where{color:var(--grey);font-size:14.5px}
.act-tag{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--grey);border:1px solid var(--hair);padding:5px 10px;white-space:nowrap;
}
.more{margin:30px 0 0}
.more a{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  border-bottom:1px solid var(--carmin);padding-bottom:3px;color:var(--carmin);
}

/* ---------- cita ---------- */
.quote-band{background:var(--ink);color:var(--bone);margin-top:92px;padding:80px 0}
.quote{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.35rem,2.9vw,2.1rem);line-height:1.32;margin:0;max-width:34ch;
}
.quote-src{
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--grey-dark);margin-top:26px;
}

/* ---------- pie ---------- */
.foot{background:var(--pitch);color:var(--bone);padding:76px 0 40px}
.foot-grid{display:grid;grid-template-columns:1.2fr .8fr;column-gap:56px;row-gap:36px}
.foot h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3.4vw,2.4rem);margin:0 0 14px;line-height:1.1}
.foot p{color:rgba(238,236,229,.7);max-width:40ch;margin:0 0 24px}
.foot-links{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.foot-eyebrow{
  font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--grey-dark);margin:0 0 4px;
}
.colofon a{border-bottom:1px solid rgba(238,236,229,.22);padding-bottom:1px}
.colofon a:hover{color:var(--bone);border-bottom-color:var(--bone)}
.foot-links a{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(238,236,229,.66);
}
.foot-links a:hover{color:var(--bone)}
.colofon{
  margin-top:56px;padding-top:22px;border-top:1px solid var(--hair-dark);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(238,236,229,.42);
}

/* ---------- entrada ---------- */
.rise{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.rise.seen{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .wrap{grid-template-columns:1fr;column-gap:0}
  .rail{display:none}
  .hero-grid{grid-template-columns:1fr;row-gap:44px}
  .portrait-frame{max-width:300px;margin-inline:auto}
  .portrait-cap{text-align:center}
  .foot-grid{grid-template-columns:1fr}
  .nav{display:none}
  .burger{display:block}
  .row{grid-template-columns:1fr;row-gap:7px}
  .row-arrow{display:none}
  .act{grid-template-columns:1fr;row-gap:9px}
  .act-tag{justify-self:start}
  .obra{padding-top:66px}
  .agenda{padding-top:66px}
}
@media (max-width:520px){
  .wrap,.bar-in{padding-left:20px;padding-right:20px}
  .hero{padding:60px 0 70px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rise{opacity:1;transform:none;transition:none}
  .row,.row-arrow{transition:none}
}

@media (prefers-color-scheme: dark){
  html,body{background-color:#EEECE5;color:#16130F}
  .obra,.agenda,.doc{background:#EEECE5}
}

.menu-movil{display:none}
.menu-movil.abierto{display:flex;flex-direction:column;gap:14px;padding:6px 20px 20px}
.menu-movil a{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--bone-dim)}
.menu-movil a:hover{color:var(--bone)}

.foot-menu{margin-top:44px;padding-top:30px;border-top:1px solid var(--hair-dark)}
.foot-menu .foot-links{flex-direction:row;flex-wrap:wrap;gap:22px}
.colofon a{border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.colofon a:hover{color:var(--bone);border-bottom-color:currentColor}
