/* ===================================================================
   YAI HAIR STUDIO — the premium build. 10 Sep 2026.
   Architecture from Rendezvous Barbers (measured): serif display at 8.6vw,
   weight 400, line-height .95, tracking −.05em; italic statement at 9.7vw
   weight 300; typewriter notes 16.3px uppercase; nav 16.3px; a fixed
   "Book now" plate bottom-right. Tone from UNA (measured): one saturated
   ground, thin serif display (PP Eiko 100 → Fraunces 300), 14px uppercase
   list rows 46px tall with 1px 30% rules, 16px body.
   Yai's own: crema / noche / ámbar, Fraunces · Instrument Sans · Courier Prime.
   =================================================================== */
:root{
  --noche:#0F0B09; --crema:#EFE8D4; --alabastro:#F7F2E6; --ambar:#C8913F; --humo:#6E6055; --tinta:#2A211B;
  --linea:rgba(42,33,27,.16); --linea-luz:rgba(239,232,212,.3);
  --display:'Fraunces','Iowan Old Style',Georgia,serif;
  --ui:'Instrument Sans','Helvetica Neue',Arial,sans-serif;
  --nota:'Courier Prime','Courier New',monospace;
  --pad:clamp(16px,2.7vw,40px); --gut:clamp(10px,1.32vw,14px);
  --ease:cubic-bezier(.22,.85,.25,1); --ease-io:cubic-bezier(.7,0,.2,1);
}
*{box-sizing:border-box}
html{background:var(--crema);color:var(--tinta);scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--ui);font-size:16px;line-height:1.4;overflow-x:clip}
img,video{max-width:100%}
a{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- the loader: an ink curtain that lifts (the film plays inside the hero, not the loader) ---------- */
.loader{position:fixed;inset:0;z-index:200;background:var(--noche);display:grid;place-items:center;transition:translate .7s var(--ease-io) .1s,visibility 0s .9s}
.loader img{width:min(22vw,180px);opacity:0;animation:aparece 1s var(--ease) .15s forwards}
@keyframes aparece{to{opacity:1}}
html.listo .loader{translate:0 -100%;visibility:hidden}
.tapa{position:fixed;inset:0;z-index:199;background:var(--noche);translate:0 101%;pointer-events:none;transition:translate .55s var(--ease-io)}
html.saliendo .tapa{translate:0 0}

/* ---------- the bar: wordmark, two thin links, the language ---------- */
.bar{position:fixed;top:0;left:0;right:0;z-index:95;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem var(--pad);mix-blend-mode:difference;color:var(--crema)}
.bar .logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:inherit}
.bar .logo img{height:34px;width:auto;display:block}
.bar .menu{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.4rem)}
.bar .link{font-family:var(--ui);font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;color:inherit;position:relative;padding-bottom:.35em;overflow:hidden;display:inline-block}
.bar .link::before{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;opacity:.4;transition:opacity .3s}
.bar .link:hover::before{opacity:1}
.bar .rd{display:block;position:relative;height:1.2em;overflow:hidden}
.bar .rd i{display:block;font-style:normal;transition:transform .55s var(--ease-io)}
.bar .rd i:last-child{position:absolute;left:0;top:100%}
.bar .link:hover .rd i{transform:translateY(-100%)}
.bar .lang{font-family:var(--ui);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;gap:.5em}
.bar .lang button{appearance:none;background:none;border:0;padding:0;font:inherit;color:inherit;opacity:.5;cursor:pointer}
.bar .lang button[aria-pressed="true"]{opacity:1}

/* the fixed booking plate, bottom right — the reference's one constant */
.reserva{position:fixed;right:var(--pad);bottom:var(--pad);z-index:97;display:inline-flex;align-items:center;gap:.8em;padding:1.1em 1.7em;background:var(--noche);color:var(--crema);text-decoration:none;font-family:var(--ui);font-weight:500;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;border-radius:6px;box-shadow:0 1.2rem 2.4rem -1rem rgba(15,11,9,.5);transition:transform .5s var(--ease),background .3s;translate:0 140%;opacity:0}
html.listo .reserva{translate:none;opacity:1;transition:translate .8s var(--ease) .9s,opacity .6s .9s,transform .5s var(--ease),background .3s}
.reserva:hover{transform:translateY(-2px);background:#1c1512}

/* ---------- the cursor: a small dot and a ring that grows over links (Hobro's two-part cursor) ---------- */
.cur{position:fixed;left:0;top:0;z-index:300;pointer-events:none;opacity:0;transition:opacity .3s}
.cur i{position:absolute;left:0;top:0;translate:-50% -50%;border-radius:50%;display:block}
.cur .pt{width:6px;height:6px;background:var(--crema);mix-blend-mode:difference}
.cur .an{width:38px;height:38px;border:1px solid var(--crema);mix-blend-mode:difference;transition:width .35s var(--ease),height .35s var(--ease),opacity .3s}
html.cur-on .cur{opacity:1}
html.cur-on,html.cur-on a,html.cur-on button{cursor:none!important}
.cur.sobre .an{width:64px;height:64px}
@media (hover:none),(pointer:coarse){.cur{display:none}}

/* ===================================================================
   SECTION 1 · the opening: three of her clients, portrait, filling the screen
   =================================================================== */
.abre{position:relative;height:100svh;min-height:600px;overflow:hidden;background:var(--noche);color:var(--crema)}
.abre .tres{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gut);padding:0 var(--pad)}
.abre .col{position:relative;overflow:hidden;height:calc(100% + 14vh);margin-top:-7vh;translate:0 var(--dy,0);transition:translate 1.2s var(--ease)}
.abre .col:nth-child(1){--dy:3vh}.abre .col:nth-child(2){--dy:-2vh}.abre .col:nth-child(3){--dy:5vh}
.abre .col video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;transform:scale(1.06);transition:transform 1.4s var(--ease),filter .6s}
.abre .col::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(15,11,9,.55),rgba(15,11,9,0) 45%)}
/* the columns arrive: clipped from the bottom, staggered */
.abre .col{clip-path:inset(100% 0 0 0);transition:clip-path 1.3s var(--ease-io),translate 1.2s var(--ease)}
html.listo .abre .col{clip-path:inset(0 0 0 0)}
html.listo .abre .col:nth-child(2){transition-delay:.12s}
html.listo .abre .col:nth-child(3){transition-delay:.24s}
@media (hover:hover){.abre .col:hover video{transform:scale(1)}}
/* the line, bottom-left over the film, at the reference's size */
.abre .titulo{position:absolute;left:var(--pad);right:calc(var(--pad) + 13rem);bottom:calc(var(--pad) + .6rem);z-index:2;margin:0;font-family:var(--display);font-weight:400;font-size:8.6vw;line-height:.95;letter-spacing:-.05em;color:var(--crema);font-variation-settings:"opsz" 144}
.abre .titulo em{font-style:italic;font-weight:300}
.abre .titulo .ln{display:block;overflow:hidden;padding:.06em 0 .04em;margin:-.06em 0 -.04em}
.abre .titulo .ln > span{display:inline-block;transform:translateY(112%);transition:transform 1.1s var(--ease);transition-delay:calc(var(--i,0) * 110ms + .5s)}
html.listo .abre .titulo .ln > span{transform:none}
.abre .titulo .ln:nth-child(2){text-align:right}
.abre .nota{position:absolute;left:var(--pad);top:calc(var(--pad) + 5.5rem);z-index:2;margin:0;font-family:var(--nota);font-size:1rem;text-transform:uppercase;line-height:1.25;max-width:22ch;color:var(--crema);opacity:0;transition:opacity 1s .9s}
html.listo .abre .nota{opacity:.85}
.abre .pista{position:absolute;right:var(--pad);bottom:calc(var(--pad) + .2rem);z-index:2;font-family:var(--nota);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--crema);opacity:0;transition:opacity 1s 1.2s}
html.listo .abre .pista{opacity:.7}
/* the film advances as you scroll: the columns drift apart, the line lifts */
.abre .tres{translate:0 calc(var(--q,0) * -6vh)}
.abre .col:nth-child(1){translate:0 calc(3vh + var(--q,0) * -8vh)}
.abre .col:nth-child(2){translate:0 calc(-2vh + var(--q,0) * -3vh)}
.abre .col:nth-child(3){translate:0 calc(5vh + var(--q,0) * -12vh)}

/* ===================================================================
   SECTION 2 · her voice. A statement, and the film that starts as a phone
   frame and grows with the scroll until it is the screen. Sound on tap.
   =================================================================== */
.crece{position:relative;background:var(--noche);color:var(--tinta)}
.crece .carril{height:340vh}
.crece .escena{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;background:color-mix(in srgb,var(--noche) calc(var(--g,0) * 100%),var(--crema));display:grid;place-items:center}
.crece .nota{position:absolute;left:var(--pad);top:calc(var(--pad) + 5.5rem);margin:0;font-family:var(--nota);font-size:1rem;text-transform:uppercase;line-height:1.25;max-width:24ch;color:var(--tinta);opacity:calc(.85 - var(--g,0) * 1.4);translate:0 calc(var(--g,0) * -6vh)}
.crece .dicho{position:absolute;left:var(--pad);right:var(--pad);top:50%;translate:0 -50%;margin:0;z-index:1;font-family:var(--display);font-weight:300;font-style:italic;font-size:7.4vw;line-height:1;letter-spacing:-.04em;color:var(--tinta);font-variation-settings:"opsz" 144;pointer-events:none}
.crece .dicho .ln{display:block;overflow:hidden;padding:.06em 0 .04em;margin:-.06em 0 -.04em}
.crece .dicho .ln:nth-child(1){font-style:normal;font-weight:400}
.crece .dicho .ln:nth-child(2){text-align:right}
.crece .dicho .ln:nth-child(3){text-align:right;padding-right:6vw}
/* the lines cross the frame: crema in difference reads as ink on the crema page and as crema over the film (desktop only) */
@media (min-width:992px){.crece .dicho{color:var(--crema);mix-blend-mode:difference;z-index:3}}
.crece .dicho .ln > span{display:inline-block;transform:translateY(112%);transition:transform 1s var(--ease);transition-delay:calc(var(--i,0) * 100ms)}
.crece .dicho .ln:nth-child(2) > span{--i:1}.crece .dicho .ln:nth-child(3) > span{--i:2}
.crece.visto .dicho .ln > span{transform:none}
/* the statement dissolves as the film grows: the lines drift apart */
.crece .dicho{opacity:calc(1 - var(--g,0) * 2.2)}
.crece .dicho .ln:nth-child(1){translate:calc(var(--g,0) * -12vw) 0}
.crece .dicho .ln:nth-child(2){translate:calc(var(--g,0) * 10vw) 0}
.crece .dicho .ln:nth-child(3){translate:calc(var(--g,0) * 16vw) 0}
/* the frame: a phone, centred, the statement wrapping around it */
.crece .marco{position:absolute;left:50%;top:50%;margin:0;width:min(30vw,54svh * 9 / 16);aspect-ratio:9/16;transform:translate(-50%,-50%);transform-origin:50% 50%;overflow:hidden;background:var(--noche);will-change:transform;cursor:pointer;z-index:2;border-radius:calc(4px / var(--s,1))}
.crece .marco video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.crece .marco::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(15,11,9,.45),rgba(15,11,9,0) 40%);opacity:var(--g,0)}
.crece .son{position:absolute;left:0;right:0;bottom:0;z-index:2;appearance:none;background:none;border:0;padding:0;margin:0;display:flex;align-items:center;justify-content:center;gap:.7em;color:var(--crema);font-family:var(--nota);font-size:1rem;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;height:4rem;transform:scale(calc(1 / var(--s,1)));transform-origin:50% 100%;opacity:var(--g,0);transition:opacity .3s}
.crece .son .no{display:none}
.crece .son[aria-pressed="true"] .si{display:none}.crece .son[aria-pressed="true"] .no{display:inline}
.crece .onda{display:inline-flex;align-items:flex-end;gap:2px;height:14px}
.crece .onda b{display:block;width:2px;height:40%;background:currentColor;animation:onda 1.1s ease-in-out infinite;animation-play-state:paused}
.crece .onda b:nth-child(2){animation-delay:.15s}.crece .onda b:nth-child(3){animation-delay:.3s}.crece .onda b:nth-child(4){animation-delay:.45s}
.crece .son[aria-pressed="true"] .onda b{animation-play-state:running}
@keyframes onda{0%,100%{height:30%}50%{height:100%}}
.crece .cola{position:absolute;left:var(--pad);bottom:calc(var(--pad) + .2rem);margin:0;max-width:34ch;text-align:left;font-family:var(--ui);font-size:.95rem;line-height:1.45;color:var(--humo);opacity:calc(1 - var(--g,0) * 2.2);translate:0 calc(var(--g,0) * 6vh)}
.crece.llena .cola,.crece.llena .nota,.crece.llena .dicho{visibility:hidden}
/* no motion: the film simply sits full-screen */
.crece.quieta .carril{height:auto}
.crece.quieta .escena{position:relative}
.crece.quieta .marco{width:100%;height:100%;aspect-ratio:auto;left:0;top:0;transform:none}
.crece.quieta .dicho,.crece.quieta .nota,.crece.quieta .cola{display:none}
.crece.quieta .son{opacity:1;transform:none}

/* ===================================================================
   SECTION 3 · the catalogue. Ink ground. The page scrolls down, the strip
   of looks scrolls sideways (pinned). Each look names its service and price.
   =================================================================== */
.catalogo{position:relative;background:var(--noche);color:var(--crema)}
.catalogo .carril{height:400vh}
.catalogo .escena{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;background:var(--noche)}
.catalogo .cabeza{flex:0 0 auto;width:clamp(300px,34vw,560px);align-self:center;margin-right:calc(var(--gut) * 3);padding-bottom:4rem}
.catalogo .nota{margin:0;font-family:var(--nota);font-size:1rem;text-transform:uppercase;line-height:1.25;opacity:.85}
.catalogo .rotulo{margin:.15em 0 0;font-family:var(--display);font-weight:300;font-style:italic;font-size:6.6vw;line-height:.95;letter-spacing:-.04em;font-variation-settings:"opsz" 144;overflow:hidden}
.catalogo .rotulo > span{display:inline-block;transform:translateY(112%);transition:transform 1s var(--ease) .1s}
.catalogo.visto .rotulo > span{transform:none}
.catalogo .intro{margin:1.4em 0 0;max-width:32ch;font-size:1rem;line-height:1.45;opacity:.75}
.catalogo .cuenta{margin:2.2em 0 0;font-family:var(--nota);font-size:1rem;opacity:.85}
.catalogo .tira{position:absolute;left:0;top:0;height:100%;margin:0;padding:0 var(--pad);list-style:none;display:flex;align-items:flex-end;gap:calc(var(--gut) * 2);padding-bottom:calc(var(--pad) + 3.4rem);will-change:transform}
.catalogo .look{flex:0 0 auto;width:calc(47svh * 9 / 16);translate:0 var(--dy,0)}
.catalogo .look:nth-child(2n){--dy:-3vh}.catalogo .look:nth-child(3n){--dy:-6vh}
.catalogo .look figure{position:relative;margin:0;aspect-ratio:9/16;overflow:hidden;background:#1a1411;border-radius:3px}
.catalogo .look video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.04);transition:transform 1.2s var(--ease)}
.catalogo .look:hover video{transform:scale(1)}
.catalogo .look.hueco figure{background:none;border:1px dashed var(--linea-luz);display:grid;place-items:center}
.catalogo .falta{font-family:var(--nota);font-size:.85rem;text-transform:uppercase;opacity:.6;text-align:center;padding:1em}
.catalogo .pie{display:grid;grid-template-columns:auto 1fr;column-gap:.9em;align-items:baseline;margin-top:.9rem;text-decoration:none;color:inherit;font-family:var(--ui)}
.catalogo .pie b{grid-row:1/3;font-family:var(--nota);font-weight:400;font-size:.85rem;opacity:.6}
.catalogo .pie .nombre{font-family:var(--display);font-weight:300;font-style:italic;font-size:1.7rem;line-height:1;letter-spacing:-.02em}
.catalogo .pie .dato{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.6;margin-top:.45em;transition:opacity .3s}
.catalogo .look:hover .dato{opacity:1}
/* the strip arrives from the right as the section is reached */
.catalogo .look figure{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease-io);transition-delay:calc(var(--i,0) * 70ms)}
.catalogo.visto .look figure{clip-path:inset(0 0 0 0)}

/* ===================================================================
   SECTION 4 · the transformation. Crema ground. Chapters on the left,
   the reel sticky on the right; the active chapter follows the film.
   =================================================================== */
.proceso{position:relative;background:var(--crema);color:var(--tinta);display:grid;grid-template-columns:1fr 1fr;column-gap:var(--gut);padding:calc(var(--pad) + 6rem) var(--pad) calc(var(--pad) + 6rem);align-items:start}
.proceso .cabeza{grid-column:1;max-width:36rem}
.proceso .nota{margin:0;font-family:var(--nota);font-size:1rem;text-transform:uppercase;line-height:1.25;opacity:.85}
.proceso .rotulo{margin:.2em 0 0;font-family:var(--display);font-weight:400;font-size:5.6vw;line-height:.95;letter-spacing:-.04em;font-variation-settings:"opsz" 144}
.proceso .rotulo em{font-style:italic;font-weight:300}
.proceso .rotulo .ln{display:block;overflow:hidden;padding:.06em 0 .04em;margin:-.06em 0 -.04em}
.proceso .rotulo .ln > span{display:inline-block;transform:translateY(112%);transition:transform 1s var(--ease)}
.proceso .rotulo .ln:nth-child(2) > span{transition-delay:.1s}
.proceso.visto .rotulo .ln > span{transform:none}
.proceso .intro{margin:1.6em 0 0;max-width:36ch;font-size:1rem;line-height:1.45;color:var(--humo)}
.proceso .capitulos{grid-column:1;margin:3rem 0 0;padding:0;list-style:none;max-width:36rem;border-top:1px solid var(--linea)}
.proceso .capitulos button{appearance:none;background:none;border:0;border-bottom:1px solid var(--linea);width:100%;text-align:left;padding:1.05rem 0;display:grid;grid-template-columns:2.6rem 1fr auto;align-items:baseline;column-gap:1rem;font-family:var(--ui);color:inherit;cursor:pointer;transition:padding-left .4s var(--ease)}
.proceso .capitulos b{font-family:var(--nota);font-weight:400;font-size:.85rem;opacity:.55}
.proceso .capitulos .nombre{font-family:var(--display);font-weight:300;font-style:italic;font-size:1.9rem;line-height:1;letter-spacing:-.02em;transition:color .3s}
.proceso .capitulos .dato{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.55;text-align:right;max-width:22ch}
.proceso .capitulos button.activo{padding-left:.6rem}
.proceso .capitulos button.activo .nombre{color:var(--ambar)}
.proceso .capitulos button.activo b{opacity:1}
.proceso .marco{grid-column:2;grid-row:1/3;position:sticky;top:6vh;justify-self:center;margin:0;height:88svh;aspect-ratio:9/16;max-width:100%;overflow:hidden;border-radius:4px;background:var(--noche);cursor:pointer}
.proceso .marco video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.proceso .barra{position:absolute;left:0;right:0;top:0;height:2px;background:rgba(239,232,212,.25)}
.proceso .barra b{display:block;height:100%;width:0;background:var(--crema)}
.proceso .son{position:absolute;left:0;right:0;bottom:0;z-index:2;appearance:none;background:linear-gradient(to top,rgba(15,11,9,.55),rgba(15,11,9,0));border:0;padding:0 0 1.2rem;margin:0;display:flex;align-items:center;justify-content:center;gap:.7em;color:var(--crema);font-family:var(--nota);font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;height:5rem}
.proceso .son .no{display:none}
.proceso .son[aria-pressed="true"] .si{display:none}.proceso .son[aria-pressed="true"] .no{display:inline}
.proceso .onda{display:inline-flex;align-items:flex-end;gap:2px;height:14px}
.proceso .onda b{display:block;width:2px;height:40%;background:currentColor;animation:onda 1.1s ease-in-out infinite;animation-play-state:paused}
.proceso .onda b:nth-child(2){animation-delay:.15s}.proceso .onda b:nth-child(3){animation-delay:.3s}.proceso .onda b:nth-child(4){animation-delay:.45s}
.proceso .son[aria-pressed="true"] .onda b{animation-play-state:running}

/* ===================================================================
   SECTION 5 · the menu. Ink ground. UNA's list: 14px uppercase rows,
   1px rules at 30 %, the family name in the italic display.
   =================================================================== */
.carta{position:relative;background:var(--noche);color:var(--crema);display:grid;grid-template-columns:5fr 7fr;column-gap:calc(var(--gut) * 4);padding:calc(var(--pad) + 6rem) var(--pad) calc(var(--pad) + 7rem);align-items:start}
.carta .cabeza{position:sticky;top:calc(var(--pad) + 5.5rem);max-width:30rem}
.carta .nota{margin:0;font-family:var(--nota);font-size:1rem;text-transform:uppercase;line-height:1.25;opacity:.85}
.carta .rotulo{margin:.2em 0 0;font-family:var(--display);font-weight:400;font-size:5.6vw;line-height:.95;letter-spacing:-.04em;font-variation-settings:"opsz" 144}
.carta .rotulo em{font-style:italic;font-weight:300}
.carta .rotulo .ln{display:block;overflow:hidden;padding:.06em 0 .04em;margin:-.06em 0 -.04em}
.carta .rotulo .ln > span{display:inline-block;transform:translateY(112%);transition:transform 1s var(--ease)}
.carta .rotulo .ln:nth-child(2) > span{transition-delay:.1s}
.carta.visto .rotulo .ln > span{transform:none}
.carta .intro{margin:1.6em 0 0;max-width:38ch;font-size:1rem;line-height:1.45;opacity:.75}
.carta .indice{margin:2.4rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}
.carta .indice a{font-family:var(--nota);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;opacity:.6;transition:opacity .3s,padding-left .3s var(--ease)}
.carta .indice a:hover{opacity:1;padding-left:.5rem}
.carta .cita{display:inline-block;margin-top:2.4rem;font-family:var(--ui);font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--linea-luz);padding-bottom:.35em;transition:border-color .3s}
.carta .cita:hover{border-color:var(--crema)}
.carta .lista{margin:0;padding:0 0 4rem;list-style:none}
.carta .familia{padding:3.4rem 0 .9rem;border-bottom:1px solid var(--linea-luz);scroll-margin-top:6rem}
.carta .familia:first-child{padding-top:.4rem}
.carta .familia h3{margin:0;display:flex;align-items:baseline;gap:.8em;font-family:var(--display);font-weight:300;font-style:italic;font-size:2.4rem;line-height:1;letter-spacing:-.02em}
.carta .familia small{font-family:var(--nota);font-size:.8rem;font-style:normal;opacity:.5}
.carta .fila a{display:grid;grid-template-columns:1fr auto auto;column-gap:2rem;align-items:baseline;min-height:46px;padding:.8rem 0;border-bottom:1px solid var(--linea-luz);text-decoration:none;color:inherit;font-family:var(--ui);font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;transition:padding-left .4s var(--ease)}
.carta .fila .dura{font-family:var(--nota);text-transform:none;letter-spacing:0;opacity:.55;min-width:5ch;text-align:right}
.carta .fila .precio{font-family:var(--display);font-weight:300;font-size:1.35rem;letter-spacing:-.02em;text-transform:none;min-width:4ch;text-align:right;transition:color .3s}
.carta .fila a:hover{padding-left:.6rem}
.carta .fila a:hover .precio{color:var(--ambar)}
/* the film that floats beside the cursor */
.flota{position:fixed;left:0;top:0;z-index:90;width:200px;aspect-ratio:9/16;margin:0;overflow:hidden;border-radius:3px;pointer-events:none;opacity:0;scale:.85;transition:opacity .35s var(--ease),scale .5s var(--ease);will-change:transform;box-shadow:0 2rem 4rem -1.5rem rgba(0,0,0,.7)}
.flota video{width:100%;height:100%;object-fit:cover;display:block}
.flota.ver{opacity:1;scale:1}
@media (hover:none),(pointer:coarse){.flota{display:none}}
/* the rows arrive one after another */
.carta .fila,.carta .familia{opacity:0;translate:0 1.2rem;transition:opacity .7s var(--ease),translate .7s var(--ease);transition-delay:calc(var(--i,0) * 35ms)}
.carta.visto .fila,.carta.visto .familia{opacity:1;translate:none}

@media (max-width:991px){
  .carta{grid-template-columns:1fr;padding-top:calc(var(--pad) + 4.5rem);row-gap:2.4rem}
  .carta .cabeza{position:static;max-width:none}
  .carta .rotulo{font-size:13vw}
  .carta .indice{display:none}
  .carta .familia{padding-top:2.4rem}
  .carta .familia h3{font-size:1.9rem}
  .carta .fila a{column-gap:1rem;font-size:.8rem}
  .carta .fila .dura{min-width:0}
}

/* ===================================================================
   SECTION 6 · the studio. Crema. Her words on the left, three photographs
   on the right drifting at three speeds; the facts underneath.
   =================================================================== */
.estudio{position:relative;background:var(--crema);color:var(--tinta);display:grid;grid-template-columns:6fr 6fr;column-gap:calc(var(--gut) * 4);padding:calc(var(--pad) + 6rem) var(--pad) calc(var(--pad) + 7rem);align-items:start;overflow:hidden}
.estudio .cabeza{position:sticky;top:calc(var(--pad) + 5.5rem);max-width:34rem}
.estudio .nota{margin:0;font-family:var(--nota);font-size:1rem;text-transform:uppercase;line-height:1.25;opacity:.85}
.estudio .rotulo{margin:.2em 0 0;font-family:var(--display);font-weight:400;font-size:5.6vw;line-height:.95;letter-spacing:-.04em;font-variation-settings:"opsz" 144}
.estudio .rotulo em{font-style:italic;font-weight:300}
.estudio .rotulo .ln{display:block;overflow:hidden;padding:.06em 0 .04em;margin:-.06em 0 -.04em}
.estudio .rotulo .ln > span{display:inline-block;transform:translateY(112%);transition:transform 1s var(--ease)}
.estudio .rotulo .ln:nth-child(2) > span{transition-delay:.1s}
.estudio.visto .rotulo .ln > span{transform:none}
.estudio .cita-y{margin:2.4rem 0 0;padding:0 0 0 1.2rem;border-left:1px solid var(--ambar);max-width:40ch}
.estudio .cita-y p{margin:0;font-family:var(--display);font-weight:300;font-style:italic;font-size:1.45rem;line-height:1.3;letter-spacing:-.01em}
.estudio .cita-y cite{display:block;margin-top:1rem;font-family:var(--nota);font-style:normal;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.6}
.estudio .datos{margin:2.8rem 0 0;display:grid;grid-template-columns:repeat(3,auto);gap:1.6rem 2.4rem;max-width:36rem}
.estudio .datos dt{font-family:var(--nota);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.55;margin-bottom:.5rem}
.estudio .datos dd{margin:0;font-size:.95rem;line-height:1.45}
.estudio .datos small{display:block;font-size:.8rem;color:var(--humo);margin-top:.3rem}
.estudio .datos a{text-decoration:none;border-bottom:1px solid var(--linea);transition:border-color .3s}
.estudio .datos a:hover{border-color:var(--tinta)}
.estudio .fotos{position:relative;min-height:110vh}
.estudio .fotos figure{position:absolute;margin:0;overflow:hidden;border-radius:3px;background:#e4dcc6}
.estudio .fotos img{display:block;width:100%;height:100%;object-fit:cover}
.estudio .f1{left:0;top:0;width:60%;aspect-ratio:2/3;translate:0 calc((var(--p,0) - .5) * -10vh)}
.estudio .f2{right:0;top:34%;width:44%;aspect-ratio:2/3;translate:0 calc((var(--p,0) - .5) * -24vh)}
.estudio .pie-f{position:absolute;right:0;top:calc(34% - 2.6rem);margin:0;max-width:20ch;text-align:right;font-family:var(--nota);font-size:.8rem;text-transform:uppercase;line-height:1.3;opacity:.6;translate:0 calc((var(--p,0) - .5) * -24vh)}
/* the photographs arrive from below the fold, clipped */
.estudio .fotos figure{clip-path:inset(100% 0 0 0);transition:clip-path 1.2s var(--ease-io)}
.estudio .f2{transition-delay:.15s}
.estudio.visto .fotos figure{clip-path:inset(0 0 0 0)}

@media (max-width:991px){
  .estudio{grid-template-columns:1fr;padding-top:calc(var(--pad) + 4.5rem);row-gap:3rem}
  .estudio .cabeza{position:static;max-width:none}
  .estudio .rotulo{font-size:13vw}
  .estudio .datos{grid-template-columns:1fr 1fr;gap:1.4rem 1.6rem}
  .estudio .fotos{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);align-items:start}
  .estudio .fotos figure{position:static;width:auto;translate:none!important}
  .estudio .f1{grid-column:1/3}
  .estudio .pie-f{position:static;grid-column:1/3;text-align:left;max-width:none;translate:none!important}
}

/* ===================================================================
   SECTION 7 · the questions. Ink. Three groups, the reference's rows:
   a question, a thin rule, a + that turns into a − when it opens.
   =================================================================== */
.faq{position:relative;background:var(--noche);color:var(--crema);padding:calc(var(--pad) + 6rem) var(--pad) calc(var(--pad) + 6rem)}
.faq .cabeza{max-width:40rem}
.faq .nota{margin:0;font-family:var(--nota);font-size:1rem;text-transform:uppercase;line-height:1.25;opacity:.85}
.faq .rotulo{margin:.2em 0 0;font-family:var(--display);font-weight:400;font-size:5.6vw;line-height:.95;letter-spacing:-.04em;font-variation-settings:"opsz" 144}
.faq .rotulo em{font-style:italic;font-weight:300}
.faq .rotulo .ln{display:block;overflow:hidden;padding:.06em 0 .04em;margin:-.06em 0 -.04em}
.faq .rotulo .ln > span{display:inline-block;transform:translateY(112%);transition:transform 1s var(--ease)}
.faq .rotulo .ln:nth-child(2) > span{transition-delay:.1s}
.faq.visto .rotulo .ln > span{transform:none}
.faq .grupos{display:grid;grid-template-columns:repeat(3,1fr);column-gap:calc(var(--gut) * 4);row-gap:4rem;margin-top:4rem}
.faq .grupo h3{margin:0 0 .6rem;font-family:var(--display);font-weight:300;font-style:italic;font-size:2.2rem;line-height:1;letter-spacing:-.02em}
.faq .grupo ul{margin:0;padding:0;list-style:none}
.faq .preg{border-bottom:1px solid var(--linea-luz)}
.faq .preg button{appearance:none;background:none;border:0;padding:1.1rem 0;width:100%;display:grid;grid-template-columns:1fr auto;column-gap:1.5rem;align-items:start;text-align:left;font-family:var(--ui);font-weight:500;font-size:1rem;line-height:1.35;color:inherit;cursor:pointer}
.faq .preg button i{position:relative;width:26px;height:26px;border-radius:50%;background:var(--ambar);flex:none;margin-top:-.1em;transition:transform .5s var(--ease)}
.faq .preg button i::before,.faq .preg button i::after{content:'';position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--noche);translate:-50% -50%}
.faq .preg button i::after{rotate:90deg;transition:rotate .4s var(--ease)}
.faq .preg.abierta button i::after{rotate:0deg}
.faq .preg.abierta button i{transform:rotate(180deg)}
.faq .resp{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.faq .resp > div{overflow:hidden}
.faq .resp p{margin:0 3rem 1.3rem 0;font-size:.95rem;line-height:1.5;opacity:.75}
.faq .preg.abierta .resp{grid-template-rows:1fr}
.faq .preg.pendiente button span::after{content:' ·';color:var(--ambar)}
.faq .preg.pendiente .resp p{font-family:var(--nota);text-transform:uppercase;font-size:.8rem;opacity:.5}

/* ===================================================================
   SECTION 8 · the close. One photograph under an ink veil, the links,
   the line at the reference's size, and the credit.
   =================================================================== */
.pie-pagina{position:relative;background:var(--noche);color:var(--crema);min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--pad) + 1rem) var(--pad) var(--pad);overflow:hidden}
.pie-pagina .fondo{position:absolute;inset:0;z-index:0}
.pie-pagina .fondo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block;opacity:.9;transform:scale(1.06);transition:transform 1.6s var(--ease)}
.pie-pagina.visto .fondo img{transform:none}
.pie-pagina .fondo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(15,11,9,.8) 0%,rgba(15,11,9,.25) 40%,rgba(15,11,9,.2) 62%,rgba(15,11,9,.7) 100%)}
.pie-pagina .arriba{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto auto;column-gap:clamp(3rem,8vw,10rem);align-items:start}
.pie-pagina .lema{margin:3.2rem 0 0;font-family:var(--nota);font-size:.85rem;text-transform:uppercase;line-height:1.4;opacity:.7}
.pie-pagina .enlaces{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1.1rem}
.pie-pagina .enlaces a{font-family:var(--ui);font-weight:500;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;position:relative;padding-bottom:.25em}
.pie-pagina .enlaces a::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.pie-pagina .enlaces a:hover::after{transform:scaleX(1);transform-origin:left}
.pie-pagina .linea{position:relative;z-index:1;margin:6rem 0 2.5rem;font-family:var(--display);font-weight:400;font-size:8.6vw;line-height:.95;letter-spacing:-.05em;font-variation-settings:"opsz" 144}
.pie-pagina .linea em{font-style:italic;font-weight:300}
.pie-pagina .linea .ln{display:block;overflow:hidden;padding:.06em 0 .04em;margin:-.06em 0 -.04em}
.pie-pagina .linea .ln:nth-child(2){text-align:right;padding-right:12rem}
.pie-pagina .linea .ln > span{display:inline-block;transform:translateY(112%);transition:transform 1.1s var(--ease)}
.pie-pagina .linea .ln:nth-child(2) > span{transition-delay:.12s}
.pie-pagina.visto .linea .ln > span{transform:none}
.pie-pagina .abajo{position:relative;z-index:1;display:flex;justify-content:space-between;gap:1rem;font-family:var(--nota);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7;padding-right:12rem}
.pie-pagina .abajo a{text-decoration:none;border-bottom:1px solid var(--linea-luz)}

@media (max-width:991px){
  .faq{padding-top:calc(var(--pad) + 4.5rem)}
  .faq .rotulo{font-size:13vw}
  .faq .grupos{grid-template-columns:1fr;row-gap:3rem;margin-top:2.6rem}
  .faq .grupo h3{font-size:1.8rem}
  .faq .preg button{font-size:.95rem}
  .faq .resp p{margin-right:0}
  .pie-pagina{min-height:0;padding-top:calc(var(--pad) + 2rem)}
  .pie-pagina .arriba{grid-template-columns:1fr 1fr;row-gap:2rem}
  .pie-pagina .lema{grid-column:1/3;margin-top:2.4rem}
  .pie-pagina .enlaces a{font-size:.9rem}
  .pie-pagina .linea{font-size:12.5vw;letter-spacing:-.03em;margin:4rem 0 2rem}
  .pie-pagina .linea .ln:nth-child(2){text-align:left;padding-right:0}
  .pie-pagina .abajo{flex-direction:column;gap:.6rem;padding-right:0;padding-bottom:4.5rem}
}

@media (max-width:991px){
  .proceso{grid-template-columns:1fr;padding-top:calc(var(--pad) + 4.5rem)}
  .proceso .rotulo{font-size:13vw}
  .proceso .marco{grid-column:1;grid-row:2;position:relative;top:auto;justify-self:center;height:auto;width:min(100%,62svh * 9 / 16);margin:2rem 0 0}
  .proceso .capitulos{grid-row:3;margin-top:2rem;max-width:none}
  .proceso .capitulos .nombre{font-size:1.5rem}
  .proceso .capitulos .dato{display:none}
  .catalogo .carril{height:auto}
  .catalogo .escena{position:relative;height:auto;min-height:0;padding:calc(var(--pad) + 4.5rem) 0 calc(var(--pad) + 4rem)}
  .catalogo .cabeza{width:calc(100vw - var(--pad) * 2 - 14vw);align-self:flex-start;margin-right:var(--gut);padding:0;scroll-snap-align:start}
  .catalogo .rotulo{font-size:15vw}
  .catalogo .intro{max-width:34ch;font-size:.95rem}
  .catalogo .cuenta{display:none}
  .catalogo .tira{position:relative;height:auto;display:flex;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 var(--pad) .5rem;gap:var(--gut);transform:none!important}
  .catalogo .tira::-webkit-scrollbar{display:none}
  .catalogo .look{width:70vw;scroll-snap-align:start;--dy:0!important}
  .catalogo .look:last-child{margin-right:var(--pad)}
  .catalogo .pie .nombre{font-size:1.4rem}
  .abre .tres{display:block;padding:0}
  .abre .col{position:absolute;inset:0;height:100%;margin:0;--dy:0!important;translate:none!important;opacity:0;transition:opacity .9s var(--ease),clip-path 1.3s var(--ease-io)}
  .abre .col.viva{opacity:1}
  .abre .col video{object-position:50% 30%}
  .crece .carril{height:260vh}
  .crece .escena{min-height:0}
  .crece .nota{top:calc(var(--pad) + 4rem);font-size:.8rem}
  .crece .dicho{font-size:11.5vw;letter-spacing:-.03em;top:calc(var(--pad) + 6.6rem);translate:none}
  .crece .dicho .ln:nth-child(2),.crece .dicho .ln:nth-child(3){text-align:left;padding-right:0}
  .crece .marco{width:min(46vw,36svh * 9 / 16);--ty:17svh}
  .crece .cola{left:var(--pad);right:var(--pad);bottom:calc(var(--pad) + 4.6rem);text-align:left;font-size:.85rem;max-width:none}
  .crece .son{height:3rem;bottom:calc(5.4rem / var(--s,1))}
  .abre .titulo{right:var(--pad);font-size:12.5vw;letter-spacing:-.03em;bottom:calc(var(--pad) + 4.2rem)}
  .abre .titulo .ln:nth-child(2){text-align:left}
  .abre .nota{top:auto;bottom:calc(var(--pad) + 4.2rem + 27vw);font-size:.8rem;max-width:26ch}
  .abre .pista{display:none}
  .bar .link{display:none}
  .bar .logo img{height:28px}
  .reserva{right:auto;left:50%;translate:-50% 140%;bottom:calc(var(--pad) - 4px);font-size:.85rem;padding:1em 1.5em;white-space:nowrap}
  html.listo .reserva{translate:-50% 0}
}

/* ===================================================================
   INNER PAGES · the cover, the mobile menu, and the four pages
   =================================================================== */
.bar .burger{display:none;appearance:none;background:none;border:0;padding:.4rem 0;width:34px;flex-direction:column;gap:6px;cursor:pointer;color:inherit}
.bar .burger i{display:block;height:1.5px;background:currentColor;transition:transform .45s var(--ease),translate .45s var(--ease)}
html.menu-abierto .bar .burger i:first-child{translate:0 3.75px;transform:rotate(45deg)}
html.menu-abierto .bar .burger i:last-child{translate:0 -3.75px;transform:rotate(-45deg)}
.panel{position:fixed;inset:0;z-index:94;background:var(--noche);color:var(--crema);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--pad);padding-bottom:calc(var(--pad) + 5.5rem);translate:0 -101%;transition:translate .6s var(--ease-io)}
html.menu-abierto .panel{translate:0 0}
html.menu-abierto{overflow:hidden}
.panel ul{margin:0;padding:0;list-style:none}
.panel li{overflow:hidden}
.panel li a{display:block;font-family:var(--display);font-weight:300;font-style:italic;font-size:13vw;line-height:1.05;letter-spacing:-.03em;text-decoration:none;transform:translateY(110%);transition:transform .7s var(--ease)}
html.menu-abierto .panel li a{transform:none}
.panel li:nth-child(2) a{transition-delay:.06s}.panel li:nth-child(3) a{transition-delay:.12s}.panel li:nth-child(4) a{transition-delay:.18s}
.panel p{margin:2rem 0 0;font-family:var(--nota);font-size:.85rem;text-transform:uppercase;line-height:1.7;opacity:.7}
.panel p a{text-decoration:none}
html.menu-abierto .bar{color:var(--crema);mix-blend-mode:normal}

.portada{padding:calc(var(--pad) + 8rem) var(--pad) 3rem;max-width:64rem}
.portada .nota{margin:0;font-family:var(--nota);font-size:1rem;text-transform:uppercase;line-height:1.25;opacity:.85}
.portada .rotulo{margin:.2em 0 0;font-family:var(--display);font-weight:400;font-size:8.6vw;line-height:.95;letter-spacing:-.05em;font-variation-settings:"opsz" 144}
.portada .rotulo em{font-style:italic;font-weight:300}
.portada .rotulo .ln{display:block;overflow:hidden;padding:.06em 0 .04em;margin:-.06em 0 -.04em}
.portada .rotulo .ln > span{display:inline-block;transform:translateY(112%);transition:transform 1.1s var(--ease)}
.portada .rotulo .ln:nth-child(2) > span{transition-delay:.12s;padding-left:.35em}
.portada.visto .rotulo .ln > span{transform:none}
.portada .intro{margin:2rem 0 0;max-width:52ch;font-size:1.05rem;line-height:1.5;color:var(--humo);opacity:0;translate:0 1rem;transition:opacity .8s var(--ease) .5s,translate .8s var(--ease) .5s}
.portada.visto .intro{opacity:1;translate:none}
body.pg-carta,body.pg-looks{background:var(--noche);color:var(--crema)}
body.pg-carta .portada .intro,body.pg-looks .portada .intro{color:var(--crema);opacity:0}
body.pg-carta .portada.visto .intro,body.pg-looks .portada.visto .intro{opacity:.75}

/* ---- la carta, in full ---- */
.carta-p{display:grid;grid-template-columns:3fr 9fr;column-gap:calc(var(--gut) * 4);padding:2rem var(--pad) calc(var(--pad) + 7rem);align-items:start}
.indice-p{position:sticky;top:calc(var(--pad) + 5.5rem)}
.indice-p ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}
.indice-p a{font-family:var(--nota);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;opacity:.6;transition:opacity .3s,padding-left .3s var(--ease)}
.indice-p a:hover{opacity:1;padding-left:.5rem}
.indice-p .cita{display:inline-block;margin-top:2.4rem;font-family:var(--ui);font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--linea-luz);padding-bottom:.35em}
.familia-p{padding-top:3rem;scroll-margin-top:6rem}
.familia-p:first-child{padding-top:0}
.familia-p h2{margin:0;padding-bottom:1rem;border-bottom:1px solid var(--linea-luz);display:flex;align-items:baseline;gap:.8em;font-family:var(--display);font-weight:300;font-style:italic;font-size:3rem;line-height:1;letter-spacing:-.02em}
.familia-p h2 small{font-family:var(--nota);font-size:.8rem;font-style:normal;opacity:.5}
.servicios{margin:0;padding:0;list-style:none}
.servicio{display:grid;grid-template-columns:3rem 1fr 6ch 6ch auto;column-gap:1.5rem;align-items:baseline;padding:1.5rem 0;border-bottom:1px solid var(--linea-luz);transition:padding-left .4s var(--ease)}
.servicio:hover{padding-left:.6rem}
.servicio b{font-family:var(--nota);font-weight:400;font-size:.85rem;opacity:.5}
.servicio h3{margin:0;font-family:var(--ui);font-weight:500;font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
.servicio .que p{margin:.5rem 0 0;max-width:56ch;font-size:.95rem;line-height:1.45;opacity:.65}
.servicio .dura{font-family:var(--nota);opacity:.55;text-align:right;white-space:nowrap}
.servicio .precio{font-family:var(--display);font-weight:300;font-size:1.5rem;letter-spacing:-.02em;text-align:right;transition:color .3s}
.servicio:hover .precio{color:var(--ambar)}
.servicio .ir{font-family:var(--ui);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--linea-luz);padding-bottom:.3em;white-space:nowrap;transition:border-color .3s}
.servicio .ir:hover{border-color:var(--crema)}

/* ---- the looks page ---- */
.filtros{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 var(--pad) 2.5rem}
.filtros button{appearance:none;background:none;border:1px solid var(--linea-luz);border-radius:999px;padding:.55em 1.1em;font-family:var(--ui);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:inherit;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.filtros button[aria-pressed="true"]{background:var(--crema);color:var(--noche);border-color:var(--crema)}
.rejilla{margin:0;padding:0 var(--pad) calc(var(--pad) + 7rem);list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--gut) * 2) calc(var(--gut) * 2)}
.rejilla .look{transition:opacity .5s var(--ease),translate .6s var(--ease);opacity:0;translate:0 2rem;transition-delay:calc(var(--i,0) * 60ms)}
.rejilla.visto .look{opacity:1;translate:none}
.rejilla .look.fuera{opacity:.18;translate:none;transition-delay:0s}
.rejilla .look a{display:block;text-decoration:none;color:inherit}
.rejilla figure{margin:0;aspect-ratio:9/16;overflow:hidden;border-radius:3px;background:#1a1411}
.rejilla video{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.04);transition:transform 1.2s var(--ease)}
.rejilla .look:hover video{transform:scale(1)}
.rejilla .pie{display:grid;grid-template-columns:auto 1fr;column-gap:.9em;align-items:baseline;margin-top:.9rem}
.rejilla .pie b{grid-row:1/3;font-family:var(--nota);font-weight:400;font-size:.85rem;opacity:.6}
.rejilla .pie .nombre{font-family:var(--display);font-weight:300;font-style:italic;font-size:1.7rem;line-height:1;letter-spacing:-.02em}
.rejilla .pie .dato{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.6;margin-top:.45em}

/* ---- the studio page ---- */
.voz{display:grid;grid-template-columns:5fr 7fr;column-gap:calc(var(--gut) * 4);padding:2rem var(--pad) calc(var(--pad) + 4rem);align-items:center}
.voz .marco{position:relative;margin:0;width:min(100%,70svh * 9 / 16);aspect-ratio:9/16;overflow:hidden;border-radius:4px;background:var(--noche);cursor:pointer;justify-self:end;clip-path:inset(100% 0 0 0);transition:clip-path 1.2s var(--ease-io)}
.voz.visto .marco{clip-path:inset(0 0 0 0)}
.voz .marco video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.voz .son{position:absolute;left:0;right:0;bottom:0;z-index:2;appearance:none;background:linear-gradient(to top,rgba(15,11,9,.55),rgba(15,11,9,0));border:0;padding:0 0 1.2rem;margin:0;display:flex;align-items:center;justify-content:center;gap:.7em;color:var(--crema);font-family:var(--nota);font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;height:5rem}
.voz .son .no{display:none}
.voz .son[aria-pressed="true"] .si{display:none}.voz .son[aria-pressed="true"] .no{display:inline}
.voz .onda{display:inline-flex;align-items:flex-end;gap:2px;height:14px}
.voz .onda b{display:block;width:2px;height:40%;background:currentColor;animation:onda 1.1s ease-in-out infinite;animation-play-state:paused}
.voz .onda b:nth-child(2){animation-delay:.15s}.voz .onda b:nth-child(3){animation-delay:.3s}.voz .onda b:nth-child(4){animation-delay:.45s}
.voz .son[aria-pressed="true"] .onda b{animation-play-state:running}
.voz .texto .nota{margin:0;font-family:var(--nota);font-size:1rem;text-transform:uppercase;line-height:1.25;opacity:.85}
.voz .cita-y{margin:1.6rem 0 0;padding:0 0 0 1.2rem;border-left:1px solid var(--ambar);max-width:44ch}
.voz .cita-y p{margin:0;font-family:var(--display);font-weight:300;font-style:italic;font-size:1.6rem;line-height:1.3;letter-spacing:-.01em}
.voz .cita-y cite{display:block;margin-top:1rem;font-family:var(--nota);font-style:normal;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;opacity:.6}
.voz .cuerpo{margin:1.8rem 0 0;max-width:52ch;font-size:1rem;line-height:1.5;color:var(--humo)}
body.pg-estudio .estudio .cita{display:inline-block;margin-top:2rem;font-family:var(--ui);font-weight:500;font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid var(--linea);padding-bottom:.35em}

/* ---- booking ---- */
.pasos-r{padding:2rem var(--pad) calc(var(--pad) + 4rem)}
.pasos-r ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--gut) * 3);border-top:1px solid var(--linea)}
.pasos-r li{padding:2rem 0 0;opacity:0;translate:0 1.5rem;transition:opacity .8s var(--ease),translate .8s var(--ease)}
.pasos-r li:nth-child(2){transition-delay:.12s}.pasos-r li:nth-child(3){transition-delay:.24s}
.pasos-r.visto li{opacity:1;translate:none}
.pasos-r b{font-family:var(--nota);font-weight:400;font-size:.85rem;opacity:.55}
.pasos-r h2{margin:.8rem 0 0;font-family:var(--display);font-weight:300;font-style:italic;font-size:2.4rem;line-height:1;letter-spacing:-.02em}
.pasos-r p{margin:1rem 0 0;max-width:36ch;font-size:1rem;line-height:1.5;color:var(--humo)}
.pasos-r .grande{display:inline-flex;align-items:center;gap:1rem;margin-top:3.5rem;padding:1.3em 2em;background:var(--noche);color:var(--crema);text-decoration:none;font-family:var(--ui);font-weight:500;font-size:1.05rem;text-transform:uppercase;letter-spacing:.04em;border-radius:6px;transition:transform .5s var(--ease),background .3s}
.pasos-r .grande:hover{transform:translateY(-2px);background:#1c1512}
.reglas{background:var(--noche);color:var(--crema);display:grid;grid-template-columns:5fr 7fr;column-gap:calc(var(--gut) * 4);padding:calc(var(--pad) + 5rem) var(--pad);align-items:start}
.reglas .nota,.contacto .nota{margin:0;font-family:var(--nota);font-size:1rem;text-transform:uppercase;line-height:1.25;opacity:.85}
.reglas .rotulo,.contacto .rotulo{margin:.2em 0 0;font-family:var(--display);font-weight:400;font-size:5.2vw;line-height:.95;letter-spacing:-.04em;font-variation-settings:"opsz" 144}
.reglas .rotulo em,.contacto .rotulo em{font-style:italic;font-weight:300}
.reglas .rotulo .ln,.contacto .rotulo .ln{display:block;overflow:hidden;padding:.06em 0 .04em;margin:-.06em 0 -.04em}
.reglas .rotulo .ln > span,.contacto .rotulo .ln > span{display:inline-block;transform:translateY(112%);transition:transform 1s var(--ease)}
.reglas .rotulo .ln:nth-child(2) > span,.contacto .rotulo .ln:nth-child(2) > span{transition-delay:.1s}
.reglas.visto .rotulo .ln > span,.contacto.visto .rotulo .ln > span{transform:none}
.lista-r{margin:0;border-top:1px solid var(--linea-luz)}
.lista-r > div{display:grid;grid-template-columns:12rem 1fr;column-gap:2rem;padding:1.2rem 0;border-bottom:1px solid var(--linea-luz)}
.lista-r dt{font-family:var(--nota);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;opacity:.6}
.lista-r dd{margin:0;font-size:1rem;line-height:1.5}
.contacto{display:grid;grid-template-columns:6fr 6fr;column-gap:calc(var(--gut) * 4);padding:calc(var(--pad) + 5rem) var(--pad) calc(var(--pad) + 7rem);align-items:start}
.vias{margin:2.4rem 0 0;padding:0;list-style:none;border-top:1px solid var(--linea)}
.vias a{display:grid;grid-template-columns:10rem 1fr;column-gap:2rem;padding:1.1rem 0;border-bottom:1px solid var(--linea);text-decoration:none;color:inherit;transition:padding-left .4s var(--ease)}
.vias a:hover{padding-left:.6rem}
.vias a span:first-child{font-family:var(--nota);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;opacity:.6}
.vias a span:last-child{font-size:1rem}
.contacto .horas{margin:2rem 0 0;max-width:44ch;font-size:.95rem;line-height:1.5;color:var(--humo)}
.mapa{aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:#e4dcc6;filter:grayscale(1) sepia(.25) contrast(.95)}
.mapa iframe{width:100%;height:100%;border:0;display:block}

@media (max-width:991px){
  .bar .burger{display:flex}
  .portada{padding-top:calc(var(--pad) + 6rem)}
  .portada .rotulo{font-size:13vw;letter-spacing:-.03em}
  .portada .rotulo .ln:nth-child(2) > span{padding-left:0}
  .carta-p{grid-template-columns:1fr;row-gap:2rem}
  .indice-p{position:static}
  .indice-p ul{flex-direction:row;flex-wrap:wrap;gap:.6rem 1.2rem}
  .indice-p .cita{display:none}
  .familia-p h2{font-size:2.2rem}
  .servicio{grid-template-columns:2rem 1fr auto;grid-template-areas:"n que precio" "n que dura" "n ir ir";row-gap:.4rem;padding:1.2rem 0}
  .servicio b{grid-area:n}.servicio .que{grid-area:que}.servicio .dura{grid-area:dura;text-align:right}.servicio .precio{grid-area:precio}.servicio .ir{grid-area:ir;justify-self:start;margin-top:.4rem}
  .filtros{padding-bottom:1.6rem}
  .rejilla{grid-template-columns:1fr 1fr;gap:1.6rem var(--gut)}
  .rejilla .pie .nombre{font-size:1.3rem}
  .voz{grid-template-columns:1fr;row-gap:2.4rem}
  .voz .marco{justify-self:center;width:min(100%,60svh * 9 / 16)}
  .pasos-r ol{grid-template-columns:1fr;gap:0}
  .pasos-r li{padding:1.6rem 0;border-bottom:1px solid var(--linea)}
  .pasos-r .grande{width:100%;justify-content:center}
  .reglas,.contacto{grid-template-columns:1fr;row-gap:2.4rem;padding-top:calc(var(--pad) + 3.5rem)}
  .reglas .rotulo,.contacto .rotulo{font-size:12vw}
  .lista-r > div{grid-template-columns:1fr;row-gap:.3rem}
  .vias a{grid-template-columns:1fr;row-gap:.2rem}
  .contacto{padding-bottom:calc(var(--pad) + 6rem)}
}

/* ---- the image reveal, site-wide: a wipe from below while the picture settles from 1.25 to 1 ---- */
.rev{clip-path:inset(100% 0 0 0);transition:clip-path 1.25s var(--ease-io)}
.rev > img,.rev > video{transform:scale(1.25);transform-origin:50% 100%;transition:transform 1.6s var(--ease-io)}
.rev.visto{clip-path:inset(0 0 0 0)}
.rev.visto > img,.rev.visto > video{transform:none}
.rejilla .look figure.rev > video{transform:scale(1.25)}.rejilla .look figure.rev.visto > video{transform:scale(1.04)}
.rejilla .look:hover figure.rev.visto > video{transform:scale(1)}
.catalogo .look figure.rev{clip-path:inset(100% 0 0 0)!important;transition:clip-path 1.25s var(--ease-io)!important;transition-delay:0s!important}
.catalogo .look figure.rev.visto{clip-path:inset(0 0 0 0)!important}
.catalogo .look figure.rev > video{transform:scale(1.25)}.catalogo .look figure.rev.visto > video{transform:scale(1.04)}
.catalogo .look:hover figure.rev.visto > video{transform:scale(1)}
.estudio .fotos figure.rev{clip-path:inset(100% 0 0 0)!important;transition:clip-path 1.25s var(--ease-io)!important}
.estudio .fotos figure.rev.visto{clip-path:inset(0 0 0 0)!important}
.voz .marco.rev{clip-path:inset(100% 0 0 0)!important}.voz .marco.rev.visto{clip-path:inset(0 0 0 0)!important}
.proceso .marco.rev > video{transform-origin:50% 50%}
.pie-pagina .fondo.rev{clip-path:none;transition:none}
@media (prefers-reduced-motion:reduce){.rev,.rev > img,.rev > video{clip-path:none!important;transform:none!important;transition:none!important}

  .loader{display:none}
  .abre .col,.abre .titulo .ln > span,.abre .nota,.abre .pista,.reserva{transition:none!important;clip-path:none!important;transform:none!important;opacity:1!important;translate:none!important}
  .tapa{transition:none}
}
