@font-face{font-family:BarlowEspacios;src:url("assets/fonts/BarlowCondensed-Medium.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url("assets/fonts/Manrope-variable.woff2") format("woff2");font-weight:200 800;font-display:swap}
:root{--papel:#f7f5f1;--tinta:#24231f;--rojo:#890c13;--secundario:#57544e;--borde:#c9c5bc;--margen:clamp(1.25rem,4.2vw,5rem);--espacio:clamp(4rem,7vw,7rem);--display:BarlowEspacios,"Arial Narrow",sans-serif;--texto:Manrope,Arial,sans-serif;--lectura:clamp(1rem,.95rem + .22vw,1.1875rem);--nota:.9375rem;--p:0}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:1.5rem}
body{margin:0;background:var(--papel);color:var(--tinta);font:450 var(--lectura)/1.65 var(--texto)}
main{max-width:120rem;margin-inline:auto}
h1,h2,h3,p,figure,blockquote{margin:0}
h1,h2{font:500 clamp(2.5rem,4.5vw,5rem)/1.06 var(--display);letter-spacing:.015em;text-transform:uppercase;text-wrap:balance}
h3{font:600 1.0625rem/1.4 var(--texto)}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--rojo);outline-offset:5px}
a:hover{text-decoration:underline;text-underline-offset:.25em}
a.enlace{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:3.5rem;padding:.75rem 0;border-bottom:1px solid var(--borde);font-size:1rem;font-weight:550;line-height:1.45}
a span[aria-hidden]{flex:none;color:var(--rojo);transition:transform .2s}
a:hover span[aria-hidden]{transform:translate(3px,-3px)}
.saltar{position:fixed;left:1rem;top:0;transform:translateY(-150%);z-index:99999;padding:1rem;background:var(--papel);color:var(--tinta)}
.saltar:focus{transform:none}
figcaption{font-size:var(--nota);line-height:1.5;color:var(--secundario);padding-top:.8rem}
.cabecera{display:flex;align-items:center;gap:2rem;min-height:5rem;padding:.8rem var(--margen);border-bottom:1px solid var(--borde);max-width:120rem;margin:auto}
.identidad{display:flex;align-items:baseline;gap:1rem;white-space:nowrap}
.identidad b{font:700 1.25rem/1.2 var(--texto);letter-spacing:.22em}
.identidad>span{font-size:.875rem;letter-spacing:.08em}
.navegacion{display:flex;justify-content:center;flex:1;gap:clamp(1rem,2.3vw,2.75rem);font-size:1rem;line-height:1.4}
.navegacion a,.carro{padding:.6rem 0}
.carro{font-size:1rem;white-space:nowrap}
.menu{display:none}
/* La fotografía abre el recorrido; las palabras se leen sobre papel, fuera de sus detalles. */
.apertura__foto{height:clamp(19rem,55svh,40rem);overflow:hidden}
.apertura__foto img{height:100%;object-fit:cover;object-position:50% 49%}
.apertura__banda{display:grid;grid-template-columns:1.35fr 1fr;gap:2rem 6vw;align-items:center;padding:1.5rem var(--margen) 1.8rem}
.apertura h1{font-size:clamp(2.5rem,3.5vw,4rem);line-height:1.08}
.apertura__presentacion p{font-size:var(--nota);color:var(--secundario);margin-top:.8rem}
.apertura__acciones{width:100%;max-width:28rem;justify-self:end}
.apertura__acciones .enlace:first-child{border-top:1px solid var(--borde)}
.apertura__detalles{display:grid;grid-template-columns:1.8fr .7fr 1fr;height:clamp(6rem,11vw,12rem);gap:3px;overflow:hidden}
.apertura__detalles>div{overflow:hidden}
.apertura__detalles img{height:100%;object-fit:cover;object-position:50% 67%}
.apertura__detalles>div:first-child img{object-position:45% 35%}
/* Escena de mesas: el movimiento modifica los encuadres, nunca el lugar de las leyendas. */
.ensamble{padding:var(--espacio) var(--margen);border-bottom:1px solid var(--borde)}
.ensamble__escenario{display:grid;grid-template-columns:.7fr 1.65fr;grid-template-areas:"titulo fotos" "pie fotos";gap:2rem 5vw;align-content:center}
.ensamble__cabecera{grid-area:titulo;align-self:end}
.ensamble__cabecera>p{font-size:var(--nota);color:var(--secundario);margin-bottom:1rem}
.ensamble h2{font-size:clamp(2.6rem,4.4vw,4.75rem)}
.ensamble__fotos{grid-area:fotos;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:start;min-width:0}
.ensamble__fotos figure{min-width:0}
.ensamble__fotos img{height:clamp(18rem,46svh,33rem);object-fit:cover;object-position:50% 77%}
.ensamble__pano{padding-top:3rem}
.ensamble figcaption{background:var(--papel);position:relative;z-index:1}
.ensamble__pie{grid-area:pie;align-self:start;max-width:30ch}
.ensamble__pie p{margin-bottom:1.5rem}
.con-movimiento .ensamble{min-height:150svh;padding-block:0}
.con-movimiento .ensamble__escenario{position:sticky;top:0;min-height:100svh;padding-block:3rem}
.con-movimiento .ensamble__cubierta img{clip-path:inset(0 calc((1 - var(--p)) * 13%) 0 0)}
.con-movimiento .ensamble__pano img{clip-path:inset(0 0 0 calc((1 - var(--p)) * 13%))}
.con-movimiento .apertura__foto img{transform:scale(calc(1 + var(--hero-p,0) * .035))}
.amedida{display:grid;grid-template-columns:1fr 1.2fr;grid-template-rows:auto 1fr auto;grid-template-areas:"titulo imagen" "texto imagen" "casos casos";gap:2rem 7vw;padding:var(--espacio) var(--margen);align-items:start}
.amedida__titulo{grid-area:titulo}
.amedida__titulo>p{font-size:var(--nota);color:var(--secundario);margin-bottom:1.1rem}
.amedida h2{font-size:clamp(2.8rem,4.6vw,5rem)}
.amedida__principal{grid-area:imagen}
.amedida__principal img{aspect-ratio:4/5;object-fit:cover;object-position:50% 64%}
.amedida__texto{grid-area:texto;max-width:34ch;align-self:start}
.entradilla{font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.4;margin-bottom:1.3rem}
.amedida__texto>p:not(.entradilla){margin-bottom:1.5rem}
.casos{grid-area:casos;display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;margin-top:2.5rem}
.casos figure:nth-child(2){padding-top:6rem}
.casos img{aspect-ratio:5/4;object-fit:cover}
.casos figure:nth-child(2) img{aspect-ratio:1;object-position:50% 65%}
.casos figcaption{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--borde);padding:.4rem 0;gap:1rem;color:var(--tinta)}
.casos figcaption a{display:grid;place-items:center;width:3rem;min-height:3rem;font-size:1.5rem;color:var(--rojo)}
.tienda{padding:0 var(--margen) var(--espacio)}
.tienda__cabecera{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-top:var(--espacio);border-top:1px solid var(--borde)}
.tienda h2{font-size:clamp(2.6rem,4.4vw,4.75rem)}
.tienda__cabecera .enlace{min-width:15rem}
.ambientes{display:flex;flex-wrap:wrap;gap:.35rem 2rem;margin:2rem 0 2.5rem}
.ambientes a{font-size:1rem;padding:.65rem 0;border-bottom:1px solid var(--borde)}
.productos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}
.producto{min-width:0}
.producto__foto{background:#e8e5de}
.producto__foto img{aspect-ratio:4/5;object-fit:cover}
.producto__controles{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;padding:.2rem;background:var(--papel);border-bottom:1px solid var(--borde)}
.producto__controles button{border:0;background:transparent;min-width:2.75rem;min-height:2.75rem;font-size:1.15rem}
.producto__controles span{font-size:.875rem;min-width:3rem;text-align:center}
.producto h3{font-size:1.0625rem;line-height:1.45;margin:1rem 0 .5rem}
.producto__precio{font-size:1rem;font-weight:550}
.producto__precio del{font-size:.9375rem;color:var(--secundario);font-weight:400;margin-right:.6rem}
.producto__ficha{display:block;font-size:1rem;padding:.7rem 0;border-bottom:1px solid var(--borde)}
.estado-productos{grid-column:1/-1;padding:2rem 0}
.estado-productos a{text-decoration:underline}
.taller{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"titulo historia" "foto historia";gap:2rem 8vw;padding:var(--espacio) var(--margen);background:#ece9e2}
.taller__titulo{grid-area:titulo}
.taller__titulo p{font-size:var(--nota);color:var(--secundario);margin-bottom:1rem}
.taller h2{font-size:clamp(2.6rem,4.4vw,4.75rem)}
.taller__foto{grid-area:foto}
.taller__foto img{aspect-ratio:5/4;object-fit:cover;object-position:50% 80%}
.taller__historia{grid-area:historia;align-self:center;max-width:38ch}
.taller blockquote{font-size:clamp(1.5rem,2.25vw,2.4rem);font-weight:500;line-height:1.4;margin-bottom:2rem;letter-spacing:-.02em}
.taller__historia>p{margin-bottom:2rem}
.cursos{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem 8vw;align-items:center;padding:var(--espacio) var(--margen)}
.cursos__entrada{max-width:42ch}
.cursos__etiqueta{font-size:var(--nota);color:var(--secundario);margin-bottom:1rem}
.cursos h2{font-size:clamp(2.6rem,4.4vw,4.75rem)}
.cursos__idea{font-size:clamp(1.3rem,1.8vw,1.7rem);line-height:1.45;margin:1.5rem 0 1rem}
.cursos__descripcion{margin-bottom:1.5rem}
.cursos__antecedente{display:inline-flex;align-items:center;gap:.75rem;min-height:2.75rem;font-size:1rem;margin-top:.8rem;text-decoration:underline;text-underline-offset:.25em}
.cursos__foto img{aspect-ratio:700/526;object-fit:cover}
.contacto{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem 8vw;align-items:center;padding:3rem var(--margen);border-top:1px solid var(--borde)}
.contacto>div>p{margin-bottom:1rem}
.contacto>div:first-child>p{font-size:var(--nota);color:var(--secundario)}
.contacto h2{font:500 clamp(1.8rem,2.7vw,2.6rem)/1.2 var(--texto);text-transform:none;letter-spacing:-.02em}
.contacto__accion{max-width:34ch;width:100%;justify-self:end}
.pie{max-width:120rem;margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem 2.5rem;padding:2rem var(--margen);border-top:1px solid var(--borde);font-size:.9375rem}
.pie__identidad{display:flex;align-items:baseline;gap:.7rem}
.pie__identidad b{font-size:1.125rem;letter-spacing:.12em}
.pie__identidad span{font-size:.875rem}
.pie nav{display:flex;gap:1.5rem;font-size:1rem}
.pie nav a{display:flex;align-items:center;gap:.4rem;min-height:2.75rem}
.pie button{grid-column:3;justify-self:end;font-size:.875rem;min-height:2.75rem;border:0;background:none;text-decoration:underline;text-underline-offset:.25em}
/* La composición se abre al contenido ampliado; el anclaje no impone una altura cerrada. */
@media(max-width:64rem),(max-height:43rem){.con-movimiento .ensamble{min-height:0;padding-block:var(--espacio)}.con-movimiento .ensamble__escenario{position:static;min-height:0;padding-block:0}.con-movimiento .ensamble__fotos img{clip-path:none}.productos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:60rem){.cabecera{gap:1.25rem;flex-wrap:wrap;min-height:4.5rem}.carro{margin-left:auto}.menu{display:flex;align-items:center;gap:.5rem;border:0;background:none;font-size:1rem;min-height:2.75rem;padding:0}.navegacion{display:none;width:100%;order:4;flex:0 0 100%;flex-direction:column;gap:0}.navegacion.abierta,html:not(.con-js) .navegacion{display:flex}.navegacion a{padding:.8rem 0;border-top:1px solid var(--borde)}html:not(.con-js) .menu{display:none}.pie{grid-template-columns:auto 1fr}.pie nav{grid-column:1/-1}.pie button{grid-column:2;grid-row:2}.ensamble__escenario{grid-template-columns:.8fr 1.4fr;gap:2rem}.ensamble__fotos{gap:1rem}.ensamble__fotos img{height:24rem}.ensamble__pano{padding-top:2rem}}
@media(max-width:60rem){
  :root{--margen:1.25rem;--espacio:3.5rem;--lectura:1.0625rem;--nota:.9375rem}
  .identidad{gap:.6rem}.identidad b{font-size:1.125rem}.identidad>span{font-size:.875rem}.cabecera{gap:1rem}
  .apertura__foto{height:clamp(15rem,39svh,24rem)}.apertura__foto img{object-position:50% 59%}
  .apertura__banda{grid-template-columns:1fr;gap:1.3rem;padding:1.3rem var(--margen) 1.5rem}
  .apertura h1{font-size:clamp(2rem,8.2vw,2.9rem);line-height:1.1;letter-spacing:.01em}
  .apertura__presentacion p{margin-top:.7rem;font-size:.875rem}
  .apertura__acciones{max-width:none;justify-self:stretch}.apertura__acciones .enlace{min-height:3.25rem}
  .apertura__detalles{height:5.5rem;grid-template-columns:1.4fr .8fr 1fr}
  .ensamble__escenario{grid-template-columns:1fr;grid-template-areas:"titulo" "fotos" "pie";gap:1.5rem}
  .ensamble__cabecera>p{margin-bottom:.7rem}.ensamble h2 br{display:none}.ensamble h2 span:first-child::after{content:' '}
  .ensamble__fotos{grid-template-columns:1.15fr 1fr;gap:.85rem}.ensamble__fotos img{height:clamp(14rem,63vw,25rem)}
  .ensamble__pano{padding-top:2rem}.ensamble figcaption{font-size:.875rem}
  .ensamble__pie{max-width:none}.ensamble__pie p{margin-bottom:.7rem}
  .amedida{grid-template-columns:1fr;grid-template-areas:"titulo" "imagen" "texto" "casos";gap:1.5rem}
  .amedida__texto{max-width:40ch}.amedida h2{font-size:2.8rem}.amedida__principal img{aspect-ratio:4/5}
  .casos{grid-template-columns:1fr;gap:2rem;margin-top:1rem}.casos figure:nth-child(2){padding-top:0}
  .tienda__cabecera{display:block}.tienda__cabecera .enlace{margin-top:1.2rem}.ambientes{gap:.25rem 1.25rem;margin-block:1.5rem}
  .productos{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:2rem 1rem}.producto h3{font-size:1rem}.producto__precio del{display:block}.producto__controles{justify-content:space-between;gap:0}
  .producto__controles span{min-width:2rem}.producto__controles button{min-width:2.75rem}
  .taller{grid-template-columns:1fr;grid-template-areas:"titulo" "foto" "historia";gap:1.5rem}.taller__historia{margin-top:1rem}.taller blockquote{font-size:1.6rem}
  .cursos{grid-template-columns:1fr;gap:2rem}.cursos__idea{font-size:1.35rem}.cursos__foto{margin-left:2rem}
  .contacto{grid-template-columns:1fr;gap:1.5rem}.contacto__accion{max-width:none;justify-self:stretch}.contacto h2{font-size:1.9rem}
  .pie{grid-template-columns:1fr;gap:1rem}.pie nav{grid-column:1;flex-wrap:wrap;gap:.5rem 1.5rem}.pie button{grid-column:1;grid-row:auto;justify-self:start}
}
@media(max-width:23rem){.identidad>span{display:none}.productos{grid-template-columns:1fr}.producto__foto img{aspect-ratio:1}.producto__controles{justify-content:flex-end;gap:.35rem}.apertura h1{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.con-movimiento .ensamble{min-height:0;padding-block:var(--espacio)}.con-movimiento .ensamble__escenario{position:static;min-height:0;padding-block:0}.con-movimiento .ensamble__fotos img{clip-path:none}.con-movimiento .apertura__foto img{transform:none}}
