
/* Dirección B · índice oscuro. Una lista numerada por disciplina, cada disciplina con su propia letra; la imagen manda. */
:root{
  --fondo:#101010; --panel:#181817; --linea:#262625; --texto:#ecebe7; --gris:#8f8c86; --tenue:#64615c; --acento:#e9e4da;
  --sans:'Inter Tight',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --cond:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--texto);font:16px/1.55 var(--sans);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px}
.gutter{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--gris)}

.top{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding-block:18px;background:var(--fondo);border-bottom:1px solid var(--linea)}
.marca{font-weight:600;font-size:15px}
.centro{text-align:center}
.top nav{justify-self:end;display:flex;gap:18px}
.top nav a:hover,.top nav a[aria-current]{color:var(--texto)}

.disc{margin:0;line-height:1.05;color:var(--texto)}
.d-serif{font:italic 400 34px var(--serif);letter-spacing:-.3px}
.d-cond{font:700 31px var(--cond);text-transform:uppercase;letter-spacing:.03em}
.d-mono{font:400 21px var(--mono);letter-spacing:-.4px;color:var(--texto)}
.disc.chica.d-serif{font-size:24px}.disc.chica.d-cond{font-size:21px}.disc.chica.d-mono{font-size:15px}

/* inicio */
.home{display:grid;grid-template-columns:minmax(380px,560px) 1fr;min-height:calc(100vh - 62px);border-bottom:1px solid var(--linea)}
.lista{padding-block:44px 56px;border-right:1px solid var(--linea)}
.lista h1{font-size:clamp(34px,3.6vw,50px);line-height:1.02;font-weight:600;letter-spacing:-1px;margin:0 0 14px;text-wrap:balance}
.sub{color:var(--gris);font-size:17px;margin:0 0 18px;max-width:36ch}
.grupo{margin-top:30px}
.gsub{margin:6px 0 10px;padding-bottom:10px;border-bottom:1px solid var(--linea)}
.filas{list-style:none;margin:0;padding:0}
.fila{display:grid;grid-template-columns:34px 1fr auto;align-items:baseline;gap:10px;padding:9px 0;border-bottom:1px solid var(--linea);color:#c4c1bb;transition:color .15s}
.fila .t{font-size:16px}
.fila .n,.fila .a{font-variant-numeric:tabular-nums}
.fila:hover,.fila:focus-visible,.fila.on{color:#fff}
.fila:hover .t::after,.fila.on .t::after{content:"  →";color:var(--gris)}
.mini{display:none}
.vista{position:sticky;top:62px;height:calc(100vh - 62px);background:var(--panel);overflow:hidden}
.vista img{width:100%;height:100%;object-fit:contain;padding:32px;transition:opacity .2s}
.vista-pie{position:absolute;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between;gap:12px}
.vista-pie span{background:rgba(16,16,16,.82);padding:6px 10px;color:var(--texto)}

/* proyecto */
.hero{margin:0;background:var(--panel);display:block;text-align:center;line-height:0}
.hero img{display:inline-block;width:auto;height:auto;max-width:100%;max-height:78vh;cursor:zoom-in}
.cab{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;padding-block:36px 28px;border-bottom:1px solid var(--linea);align-items:end}
.cab h1{font-size:clamp(34px,4.4vw,60px);line-height:1;font-weight:600;letter-spacing:-1px;margin:10px 0 0;text-wrap:balance}
.liga{display:inline-block;margin-top:14px;color:var(--texto);border-bottom:1px solid var(--gris)}
.datos{margin:0;display:grid;gap:0}
.datos div{display:grid;grid-template-columns:96px 1fr;gap:12px;padding:9px 0;border-top:1px solid var(--linea)}
.datos dt{margin:0}.datos dd{margin:0;font-size:15px;min-width:0}
.cuerpo{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;padding-block:32px 40px}
.texto{font-size:20px;line-height:1.5;margin:0;max-width:40ch}
.cuerpo h2{margin:0 0 6px;font-weight:400}
.cuerpo ul{list-style:none;margin:0;padding:0}
.cuerpo li{padding:9px 0;border-bottom:1px solid var(--linea);color:#c4c1bb;font-size:15px}
.galeria{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:56px;align-items:start}
.galeria figure{margin:0;background:var(--panel)}
.galeria figure.ancha{grid-column:span 2}
.galeria img{width:100%;height:auto;cursor:zoom-in}
.sigue{display:flex;justify-content:space-between;gap:16px;padding-block:22px;border-top:1px solid var(--linea);flex-wrap:wrap}
.sigue a:hover{color:var(--texto)}

/* sobre */
.sobre{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;padding-block:56px 72px}
.sobre h1{font-size:clamp(34px,4vw,54px);margin:0 0 20px;letter-spacing:-1px;font-weight:600}
.bio p{font-size:19px;line-height:1.55;margin:0 0 16px;max-width:44ch;color:#d8d5cf}
.bio p:first-child{color:var(--texto)}
.discs{list-style:none;margin:0 0 28px;padding:0}
.discs li{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--linea)}
.descargas{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.boton{border:1px solid var(--linea);background:var(--panel);padding:11px 16px;border-radius:999px;font-size:14px}
.boton:hover{border-color:var(--gris)}

.pie{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:22px 28px;color:var(--gris);font-size:14px}
.pie a:hover{color:var(--texto)}

dialog{border:0;padding:0;background:transparent;width:100vw;height:100vh;max-width:100vw;max-height:100vh}
dialog::backdrop{background:rgba(8,8,8,.95)}
dialog img{width:100%;height:100%;object-fit:contain;padding:24px}
dialog button{position:fixed;top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px));background:var(--panel);color:var(--texto);border:1px solid var(--linea);border-radius:999px;padding:8px 14px;cursor:pointer}

@media (max-width:900px){
  .top{grid-template-columns:1fr auto}.centro{display:none}
  .home{display:flex;flex-direction:column-reverse;min-height:0}
  .vista{position:relative;top:0;height:auto;aspect-ratio:4/3;max-height:70vh}
  .vista img{padding:12px}
  .vista-pie span:last-child{display:none}
  .lista{border-right:0;padding-block:30px 40px}
  .fila{grid-template-columns:56px 28px 1fr auto;align-items:center}
  .mini{display:block;width:56px;height:42px;object-fit:cover;background:var(--panel)}
  .cab,.cuerpo,.sobre{grid-template-columns:1fr;gap:22px}
  .texto{font-size:18px}
  .galeria{grid-template-columns:1fr}
  .galeria figure.ancha{grid-column:auto}
  .hero img{max-height:62vh}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
