/* GENERADO por subir.ps1 desde main.css (desde @diferido hasta el final): no editar */
/* @diferido: desde aquí hasta @fin-diferido, las secciones de debajo de la primera pantalla. En la portada no van en
   línea: tools/deploy.sh copia desde aquí hasta el final a main-diferido.css, que se carga sin bloquear (inc/enqueue.php) */
/* menú móvil: la colada. Al abrir, una línea de bronce fundido baja desde la cabecera y va destapando el menú, como el
   metal que llena el molde; los apartados suben desde su renglón (igual que el nombre del hero), su filete se dibuja y
   abajo se enciende el resplandor del horno, que luego respira. Al cerrar, el menú se recoge hacia arriba */
.mn-pour{position:absolute;left:0;right:0;top:0;z-index:3;height:2px;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,var(--bronze-deep) 12%,#FFE0B0 50%,var(--bronze-deep) 88%,transparent);box-shadow:0 0 12px 2px rgba(231,185,124,.6),0 0 44px 8px rgba(194,138,78,.28)}
.mn-glow{position:absolute;left:-30%;right:-30%;bottom:-38%;z-index:-1;height:75%;pointer-events:none;opacity:0;background:radial-gradient(50% 50% at 50% 50%,rgba(194,138,78,.30),rgba(135,86,42,.12) 45%,transparent 70%)}
@keyframes mnCast{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes mnPour{0%{opacity:0;transform:translateY(0)}8%{opacity:1}82%{opacity:1}100%{opacity:0;transform:translateY(calc(100dvh - var(--top-h) - 2px))}}
@keyframes mnRise{from{transform:translateY(108%)}to{transform:none}}
@keyframes mnRule{from{transform:scaleX(0)}to{transform:none}}
@keyframes mnUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes mnPop{from{opacity:0;transform:scale(.6) rotate(-90deg)}to{opacity:1;transform:none}}
@keyframes mnFire{0%{opacity:0;transform:scale(.7)}100%{opacity:1;transform:none}}
@keyframes mnBreath{from{opacity:1}to{opacity:.62}}
@keyframes mnSub{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes mnBack{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0)}}
.mnav:not([hidden]){animation:mnCast .78s cubic-bezier(.65,0,.25,1) both}
.mnav:not([hidden]) .mn-pour{animation:mnPour .78s cubic-bezier(.65,0,.25,1) both}
.mnav:not([hidden]) .mn-glow{animation:mnFire 1.4s .35s cubic-bezier(.2,.75,.1,1) both,mnBreath 4.5s 1.8s ease-in-out infinite alternate}
.mnav:not([hidden]) .mn-m>span{animation:mnRise .95s calc(.22s + var(--i,0) * .085s) cubic-bezier(.2,.75,.1,1) both}
.mnav:not([hidden]) .mn-g::after{animation:mnRule 1.1s calc(.3s + var(--i,0) * .085s) cubic-bezier(.2,.75,.1,1) both}
.mnav:not([hidden]) .mn-n{animation:mnUp .7s calc(.3s + var(--i,0) * .085s) cubic-bezier(.2,.75,.1,1) both}
.mnav:not([hidden]) .mn-t{animation:mnPop .7s calc(.36s + var(--i,0) * .085s) cubic-bezier(.2,.75,.1,1) both}
.mnav:not([hidden]) .mn-show{animation:mnUp .8s .55s cubic-bezier(.2,.75,.1,1) both}
.mnav:not([hidden]) .mn-foot{animation:mnUp .8s .63s cubic-bezier(.2,.75,.1,1) both}
.mn-s:not([hidden]) li{animation:mnSub .55s calc(var(--j,0) * .055s) cubic-bezier(.2,.75,.1,1) both}
.mnav.out{animation:mnBack .34s cubic-bezier(.5,0,.75,0) both}
.mnav.out *{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  .mnav:not([hidden]),.mnav:not([hidden]) *,.mn-s:not([hidden]) li,.mnav.out{animation:none}
  .mn-pour{display:none}
  .mn-glow{opacity:1}
}
/* mega menú: el interior de las tarjetas (solo se ve al abrir, así que en la portada va diferido) */
.mm-bg{background:radial-gradient(90% 70% at 50% 0%,rgba(194,138,78,.08),transparent 70%),linear-gradient(180deg,#1C1713,#120F0C);border:1px solid rgba(231,185,124,.17);box-shadow:0 36px 80px -26px rgba(0,0,0,.8),0 10px 30px -12px rgba(0,0,0,.5)}
.mm-bg::before{content:"";position:absolute;top:-7px;left:var(--nx,50%);width:12px;height:12px;margin-left:-6px;background:#1C1713;border-top:1px solid rgba(231,185,124,.17);border-left:1px solid rgba(231,185,124,.17);border-radius:2px 0 0 0;transform:rotate(45deg);transition:left .42s var(--ease)}
.mm-g{display:grid;padding:34px 38px;max-height:calc(100vh - var(--top-h) - 40px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.mm-p--obra .mm-g{grid-template-columns:210px minmax(0,1fr) 210px}
.mm-p--encargos .mm-g{grid-template-columns:230px minmax(0,1fr) 300px}
.mm-p--taller .mm-g{grid-template-columns:230px minmax(0,1fr) minmax(0,1fr)}
.mm-c{min-width:0;padding:0 34px;opacity:0;transform:translateY(-6px);transition:opacity .14s,transform .25s var(--ease)}
.mm-c:first-child{padding-left:0}
.mm-c:last-child{padding-right:0}
.mm-c+.mm-c{border-left:1px solid var(--ink-line)}
.mm-p.on .mm-c{opacity:1;transform:none;transition:opacity .3s calc(.05s + var(--d,0s)),transform .5s var(--ease) calc(.05s + var(--d,0s))}
.mm-c2{--d:.04s}.mm-c3{--d:.08s}
.mm-e{margin-bottom:16px}
.mm-h{margin:0 0 10px;font-size:31px;line-height:1.06;color:var(--bone)}
.mm-x{margin:0;font-size:15px;line-height:1.6;color:var(--mute)}
.mm-l{list-style:none;margin:0;padding:0}
.mm-a{text-decoration:none;color:var(--bone)}
.mm-a .ar{flex:none;width:22px;height:10px;overflow:visible;fill:none;stroke:var(--bronze-hi);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--ease),opacity .4s}
.mm-a .ar-l{transform-box:view-box;transform-origin:24px 6px;transform:scaleX(.62);transition:transform .5s var(--ease)}
.mm-a:hover .ar,.mm-a:focus-visible .ar{transform:translateX(4px)}
.mm-a:hover .ar-l,.mm-a:focus-visible .ar-l{transform:none}
/* enlaces sueltos bajo la entrada (obra) */
.mm-l--s{display:grid;margin-top:18px;padding-top:12px;border-top:1px solid var(--ink-line)}
.mm-l--s .mm-a{display:inline-flex;align-items:center;gap:10px;padding:7px 0;font-size:15.5px}
.mm-l--s .mm-a:hover{color:var(--bronze-hi)}
/* índice (encargos, taller): número, título fino y flecha que entra; cada fila se ilumina al pasar */
.mm-c2>.mm-l{counter-reset:mm;display:grid;gap:2px}
.mm-c2>.mm-l .mm-a{counter-increment:mm;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;margin:0 -14px;padding:14px;border-radius:12px;font-family:var(--f-display);font-weight:300;font-size:21px;line-height:1.15;letter-spacing:-.012em;white-space:nowrap;transition:color .3s,background .3s}
.mm-c2>.mm-l .mm-a::before{content:counter(mm,decimal-leading-zero);font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;color:var(--dim);transition:color .3s}
.mm-c2>.mm-l .mm-a .ar{opacity:0;transform:translateX(-8px)}
.mm-c2>.mm-l .mm-a:hover,.mm-c2>.mm-l .mm-a:focus-visible{color:var(--bronze-hi);background:rgba(239,230,214,.045)}
.mm-c2>.mm-l .mm-a:hover::before,.mm-c2>.mm-l .mm-a:focus-visible::before{color:var(--bronze-hi)}
.mm-c2>.mm-l .mm-a:hover .ar,.mm-c2>.mm-l .mm-a:focus-visible .ar{opacity:1;transform:none}
/* obra: plano de la sala (series con sus piezas) y vista previa */
.mm-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 34px;align-content:start}
.mm-sh{display:flex;align-items:baseline;gap:10px;margin:0 0 4px;padding-bottom:8px;border-bottom:1px solid var(--ink-line);color:var(--mute)}
.mm-sn{min-width:1.4em;font-size:18px;line-height:1;color:var(--bronze-hi)}
.mm-s ul{list-style:none;margin:0;padding:0}
.mm-w{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:7px 0;text-decoration:none;color:var(--bone)}
.mm-wt{font-size:16px;letter-spacing:.015em;white-space:nowrap;line-height:1.2;transition:color .3s,opacity .3s,transform .5s var(--ease)}
.mm-wy{font-size:12px;color:var(--dim)}
.mm-w .dot{width:5px;height:5px;opacity:0;transition:opacity .3s}
.mm-w.on .mm-wt,.mm-w:focus-visible .mm-wt{color:var(--bronze-hi);transform:translateX(5px)}
.mm-w.on .dot,.mm-w:focus-visible .dot{opacity:1}
.mm-plan:has(.mm-w:hover) .mm-w:not(:hover) .mm-wt{opacity:.5}
.mm-pv{display:block;text-decoration:none;color:var(--bone)}
.mm-pf{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:10px;background:radial-gradient(60% 50% at 50% 58%,rgba(194,138,78,.24),transparent 72%),var(--ink2)}
.mm-pf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity .55s,transform 1.4s var(--ease)}
.mm-pf img.on{opacity:1;transform:none}
.mm-pf::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 60px rgba(14,12,10,.36);pointer-events:none}
.mm-k{position:absolute;inset:9px;pointer-events:none;opacity:.7;--c:var(--bronze-hi);background:linear-gradient(var(--c),var(--c)) 0 0/12px 1px,linear-gradient(var(--c),var(--c)) 0 0/1px 12px,linear-gradient(var(--c),var(--c)) 100% 0/12px 1px,linear-gradient(var(--c),var(--c)) 100% 0/1px 12px,linear-gradient(var(--c),var(--c)) 0 100%/12px 1px,linear-gradient(var(--c),var(--c)) 0 100%/1px 12px,linear-gradient(var(--c),var(--c)) 100% 100%/12px 1px,linear-gradient(var(--c),var(--c)) 100% 100%/1px 12px;background-repeat:no-repeat}
.mm-pc{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;margin-top:10px}
.mm-pt{font-family:var(--f-serif);font-style:italic;font-weight:300;font-size:23px;letter-spacing:-.005em}
.mm-pe{color:var(--mute);font-size:12px}
.mm-pg{width:100%;margin-top:4px;color:var(--bronze-hi);font-size:12px}
.mm-pg i{display:inline-block;font-style:normal;transition:transform .5s var(--ease)}
.mm-pv:hover .mm-pg i{transform:translateX(4px)}
/* encargos: tarjeta de bronce */
.mm-card{position:relative;overflow:hidden;height:100%;padding:28px 28px 22px;border:1px solid rgba(194,138,78,.3);border-radius:14px;background:radial-gradient(110% 80% at 100% 0%,rgba(194,138,78,.22),transparent 62%),linear-gradient(180deg,#221B15,#15110D)}
.mm-ce{display:flex;align-items:center;gap:9px;margin:0 0 14px;color:var(--bronze-hi)}
.mm-ce .dot{animation:mmBeat 2.6s ease-in-out infinite}
@keyframes mmBeat{50%{box-shadow:0 0 0 6px rgba(169,192,143,0)}}
.mm-ct{margin:0 0 8px;font-size:27px;line-height:1.08}
.mm-cx{margin:0 0 18px;font-size:15px;line-height:1.5;color:var(--mute)}
.mm-card .btn{--bh:48px;--bp:18px;width:100%;font-size:14.5px;white-space:nowrap}
.mm-tel{display:flex;align-items:center;gap:9px;color:var(--mute)}
.mm-tel{margin-top:12px;text-decoration:none;transition:color .3s}
.mm-tel:hover{color:var(--bone)}
.mm-cts{display:flex;flex-wrap:wrap;gap:4px 18px;margin:12px 0 0}
.mm-cts .mm-tel{margin-top:0}
.mm-tel svg{flex:none;width:14px;height:14px;fill:none;stroke:var(--bronze-hi);stroke-width:1.4;stroke-linejoin:round}
/* taller: notas del cuaderno */
.mm-ns{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mm-n{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:16px;margin:0 -12px;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--bone);transition:background .3s}
.mm-n:hover,.mm-n:focus-visible{background:rgba(239,230,214,.045)}
.mm-nf{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:var(--ink2)}
.mm-nf img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s,transform 1.1s var(--ease)}
.mm-nf img.on{opacity:1}
.mm-n:hover .mm-nf img{transform:scale(1.07)}
.mm-nb{display:grid;gap:4px}
.mm-nb .mono{font-size:12px;color:var(--bronze-hi)}
.mm-nt{font-family:var(--f-serif);font-size:18.5px;line-height:1.2;transition:color .3s}
.mm-n:hover .mm-nt{color:var(--bronze-hi)}
@media (max-width:1280px){
  .mm-g{padding:28px 30px}
  .mm-c{padding:0 26px}
  .mm-p--obra .mm-g{grid-template-columns:184px minmax(0,1fr) 180px}
  .mm-p--encargos .mm-g{grid-template-columns:200px minmax(0,1fr) 264px}
  .mm-p--taller .mm-g{grid-template-columns:200px minmax(0,1fr) minmax(0,1fr)}
}
.sec{padding-block:150px}
/* dos secciones oscuras seguidas no suman sus dos márgenes (opiniones y encargos): basta con el de la primera */
.sec:not(.lt)+.sec:not(.lt){padding-top:0}
.sec.mani{padding-bottom:0}
.lt{background:var(--bone);color:var(--text-lt)}
.lt2{background:var(--bone2);color:var(--text-lt)}
.h2{font-size:clamp(38px,5vw,74px);margin:0}
.lead{font-size:19px;max-width:520px;margin:0;color:var(--mute)}
.lt .lead,.lt2 .lead{color:#3D342B}
.acc{color:var(--bronze-hi)}
.lt .acc,.lt2 .acc{color:var(--bronze-deep)}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px 64px;flex-wrap:wrap;margin-bottom:60px}
.head>*{min-width:0}
.ph{position:relative;overflow:hidden;background:var(--smoke)}
.ph .in{position:absolute;inset:-12% 0;background:radial-gradient(110% 80% at 32% 22%,#45301E 0%,#1C140E 55%,#0B0806 100%);transition:transform .9s var(--ease)}
.ph.cr .in{background:radial-gradient(110% 80% at 70% 22%,#DDCDB4 0%,#C4B194 58%,#A99577 100%)}
.ph .pl{position:absolute;left:16px;bottom:14px;right:16px;color:rgba(239,230,214,.75)}
.ph.cr .pl{color:#3D342B}
/* fotos reales dentro de los huecos */
.ph .in img{display:block;width:100%;height:100%;object-fit:cover}
.ph.has::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(14,11,8,.62));pointer-events:none}
.ph.has .pl{z-index:2;color:rgba(239,230,214,.86)}
.banda{height:min(72vh,660px);height:min(72svh,660px);margin-top:110px}
.banda .in img{object-position:50% 24%}
.banda .pl{left:max(16px,calc((100vw - 1224px)/2));bottom:24px}
/* pase de fotos de la banda (manifiesto con «Más fotos»): capas apiladas que se funden; el pie cambia con su foto y las
   rayas de abajo a la derecha marcan cuál va y cuánto le queda (app.js pone .on y reinicia el relleno) */
.banda.slides{height:min(80vh,740px);height:min(80svh,740px)}
.banda.slides .in img{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.banda.slides .in img:not(:first-child){object-position:50% 28%}
.banda.slides .in img.on{opacity:1}
.banda.slides .pl{right:calc(max(16px,(100vw - 1224px)/2) + 170px);opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}
.banda.slides .pl.on{opacity:1;transform:none;transition-delay:.45s}
.bdots{position:absolute;z-index:3;right:max(16px,calc((100vw - 1224px)/2));bottom:14px;display:flex;gap:6px}
.bdots button{width:34px;height:30px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center}
.bdots i{position:relative;display:block;width:100%;height:2px;background:rgba(239,230,214,.3);overflow:hidden;border-radius:2px}
.bdots i::after{content:"";position:absolute;inset:0;background:#E7B97C;transform:scaleX(0);transform-origin:left}
.bdots [aria-current] i::after{transform:scaleX(1)}
.bdots.run [aria-current] i::after{animation:bfill 5s linear both}
.bdots.pz [aria-current] i::after{animation-play-state:paused}
.bdots button:focus-visible{outline:1px solid #E7B97C;outline-offset:2px}
@keyframes bfill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* manifiesto */
.mani .txt{font-family:var(--f-display);font-size:clamp(40px,5.6vw,80px);line-height:1.05;letter-spacing:-.02em;max-width:1160px;margin:0;color:var(--dim)}
.mani .sig{display:flex;align-items:center;gap:20px;margin-top:48px;color:var(--mute)}

/* taller 3D */
.taller{background:var(--ink2);padding-block:140px 130px}
.tl{display:grid;grid-template-columns:250px minmax(0,1fr) 320px;gap:32px;align-items:stretch}
.mods{display:flex;flex-direction:column;border-top:1px solid var(--ink-line)}
.mod{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:20px 0;border:0;border-bottom:1px solid var(--ink-line);background:none;color:var(--mute);text-align:left;cursor:pointer;font:inherit;transition:color .3s,padding .4s var(--ease)}
.mod .d{font-size:28px}
.mod:hover{color:var(--bone)}
.mod[aria-pressed="true"]{color:var(--bone);padding-left:16px;box-shadow:inset 2px 0 0 var(--bronze-hi)}
.mod[aria-pressed="true"] .mono{color:var(--bronze-hi)}
.stage{position:relative;min-height:700px;border-radius:6px;overflow:hidden;background:radial-gradient(58% 52% at 50% 42%,rgba(194,138,78,.24),transparent 72%),linear-gradient(#1D1813,#0F0C0A);touch-action:pan-y;cursor:grab;transition:background .8s}
.stage.garden{background:linear-gradient(#9cbcd9,#cbdce6 36%,#e6e2d0 54%,#7d8a4e 72%,#3d4826)}
.stage:active{cursor:grabbing}
/* fondo de cada pieza: el lugar que le corresponde, desenfocado y en penumbra para que mande el bronce */
.stbg{position:absolute;inset:0;z-index:0;pointer-events:none}
.stbg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);filter:blur(2.5px) brightness(.42) saturate(.75) sepia(.15);transition:opacity 1.1s var(--ease),transform 1.8s var(--ease),filter .8s}
.stbg img.on{opacity:1;transform:scale(1)}
.stbg img:first-child{filter:blur(2px) brightness(.85) contrast(1.1) saturate(.7) sepia(.2)}
.stbg::after{content:"";position:absolute;inset:0;background:radial-gradient(55% 50% at 50% 46%,rgba(194,138,78,.16),transparent 70%),linear-gradient(transparent 55%,rgba(10,8,6,.72))}
/* jardín: fuera la sala; cielo y olivos desenfocados, el resplandor del sol arriba y césped bajo la pieza */
.stage.garden .stbg img.on{opacity:0}
.stbg::before{content:"";position:absolute;inset:-40px;opacity:0;transition:opacity 1.1s var(--ease);filter:blur(16px) saturate(1.05);background:radial-gradient(34% 26% at 16% 10%,rgba(255,247,222,.95),transparent 70%),radial-gradient(24% 30% at 6% 38%,rgba(66,88,44,.95),transparent 70%),radial-gradient(28% 34% at 94% 30%,rgba(58,80,40,.95),transparent 70%),radial-gradient(18% 20% at 80% 10%,rgba(98,120,66,.85),transparent 70%),radial-gradient(20% 16% at 34% 6%,rgba(112,134,80,.7),transparent 70%),radial-gradient(60% 22% at 50% 92%,rgba(56,70,32,.9),transparent 75%),linear-gradient(#9cbcd9,#cbdce6 36%,#e6e2d0 54%,#8a9758 70%,#4a5730 86%,#344020);animation:gdDrift 14s ease-in-out infinite alternate;animation-play-state:paused}
.stage.garden .stbg::before{opacity:1;animation-play-state:running}
.stage.garden .stbg::after{background:radial-gradient(70% 60% at 50% 45%,transparent,rgba(20,26,14,.35)),linear-gradient(transparent 70%,rgba(20,26,12,.45))}
/* luz de jardín: detrás de la figura, la foto de jardín de su obra (campo fondo_jardin), algo desenfocada, como si la
   cámara enfocase la pieza. El cielo y las hojas pintados (.stbg::before) van encima y lo tapaban: con la foto ya
   puesta quedan como un velo de sombras de hojas */
.stgd{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.1s var(--ease)}
.stage.garden .stgd{opacity:1}
.stage.garden:has(.stgd img.on[src]) .stbg::before{opacity:.2}
.stgd img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);filter:blur(1.2px) saturate(.92) brightness(.88);transition:opacity 1.1s var(--ease),transform 1.6s var(--ease)}
.stgd img.on{opacity:1;transform:scale(1)}
/* «Ver de cerca»: el taller entero (figuras, escenario y ficha con las pátinas y el botón) se abre como un visor
   ampliado sobre la página oscurecida, con margen alrededor; no es pantalla completa y todos los mandos siguen a mano.
   Se cierra con «Salir», con Esc o pulsando fuera (el ::before transparente recoge ese clic) */
html.st-fs{overflow:hidden}
.tl.vc{position:fixed;inset:clamp(14px,2.2vw,32px);z-index:90;grid-template-rows:minmax(0,1fr);gap:24px;padding:clamp(14px,1.6vw,22px);border:1px solid rgba(231,185,124,.2);border-radius:16px;background:var(--ink2);box-shadow:0 0 0 100vmax rgba(8,6,5,.8),0 40px 120px -20px rgba(0,0,0,.8);animation:vcIn .45s var(--ease)}
.tl.vc::before{content:"";position:fixed;inset:0;z-index:-1}
.tl.vc>*{min-height:0}
.tl.vc .mods,.tl.vc .card{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.tl.vc .stage{min-height:0;height:100%}
/* en el visor: el escenario y la ficha, nada más. Fuera el selector de figuras, la barra de zoom, el botón «Ver de
   cerca» (se sale con «Salir», Esc o pulsando fuera) y el aviso de realidad aumentada; la ficha, centrada y con un filete */
.tl.vc{grid-template-columns:minmax(0,1fr) clamp(300px,25vw,340px);gap:0;left:0;right:0;width:min(1160px,88vw);margin-inline:auto}
.tl.vc .mods,.tl.vc .arrow-row,.tl.vc .zrail,.tl.vc .rb-z,.tl.vc .rb-z+.tsep{display:none}
.tl.vc .card{justify-content:center;padding:clamp(20px,2.2vw,36px);border:0;border-left:1px solid var(--ink-line);border-radius:0}
@keyframes vcIn{from{opacity:0;transform:scale(.985)}}
.st-x,.st-cap{display:none}
.tl.vc .st-x{position:absolute;top:14px;right:14px;z-index:5;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 10px 0 18px;border:1px solid rgba(239,230,214,.22);border-radius:999px;background:rgba(14,12,10,.6);color:var(--bone);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:border-color .3s,color .3s}
.st-x svg{width:22px;height:22px;padding:4px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.st-x:hover{border-color:var(--bronze-hi);color:var(--bronze-hi)}
/* zoom fácil: el «+» y el «−» de la barra son botones que acercan o alejan a saltos */
.zrail button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:none;color:var(--bone);font-size:17px;line-height:1;cursor:pointer;transition:background .3s,color .3s}
.zrail button:hover{background:rgba(239,230,214,.1);color:var(--bronze-hi)}
@media (prefers-reduced-motion:reduce){.tl.vc{animation:none}}
@keyframes gdDrift{from{transform:translate(-8px,0) scale(1.02)}to{transform:translate(8px,-4px) scale(1.04)}}
@media (prefers-reduced-motion:reduce){.stbg::before{animation:none}}
.stage canvas{position:absolute;inset:0}
/* controles: una sola barra de cristal, centrada bajo la pieza (luz · ver de cerca · girar) */
.tbar{position:absolute;left:50%;bottom:16px;z-index:2;transform:translateX(-50%);display:flex;align-items:center;gap:2px;max-width:calc(100% - 24px);padding:4px;border:1px solid rgba(239,230,214,.14);border-radius:999px;background:rgba(14,12,10,.62);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);box-shadow:0 18px 40px -20px rgba(0,0,0,.8)}
.tbar svg{flex:none;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.seg{display:flex;gap:2px}
.seg button,.rb{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--mute);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;transition:background .3s,color .3s}
.seg button:hover,.rb:hover{color:var(--bone);background:rgba(239,230,214,.06)}
.seg button[aria-pressed="true"]{background:var(--bone);color:var(--ink)}
.rb-z[aria-pressed="true"]{background:rgba(231,185,124,.16);color:var(--bronze-hi)}
.rb-z[aria-pressed="true"] .zp{display:none}
.rb-i{width:40px;padding:0}
.tsep{flex:none;width:1px;height:22px;margin:0 4px;background:rgba(239,230,214,.14)}
/* de cerca: la barra vertical de zoom (+ arriba, − abajo; sigue a la rueda y al pellizco) y la ayuda de doble clic y rueda */
/* los textos de ayuda del escenario («Arrastra para girar · 360°» y el del zoom) no se enseñan: el gesto se descubre solo */
.stage .hint{display:none}
.stage.zoomed .hint:not(.hint-z){display:none}
.zrail{position:absolute;right:16px;top:50%;z-index:2;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 6px;border:1px solid rgba(239,230,214,.14);border-radius:999px;background:rgba(14,12,10,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--mute);font-size:11px}
.zrail[hidden]{display:none}
.zrail span{font-size:15px;line-height:1}
/* en táctil se acerca pellizcando (y se sale cerrando el pellizco o con doble toque): sin botón «Ver de cerca», sin
   barra de zoom y sin el texto de ayuda de cerca */
@media (pointer:coarse){
  .rb-z,.rb-z+.tsep,.zrail,.zrail[hidden],.stage .hint-z,.stage.zoomed .hint-z{display:none}
}
.zrail input{writing-mode:vertical-lr;direction:rtl;width:22px;height:min(46%,260px);min-height:150px;margin:0;accent-color:var(--bronze-hi);cursor:ns-resize;background:none}
@media (max-width:760px){
  .tbar{bottom:12px;padding:3px}
  .seg button,.rb{min-height:38px;padding:0 11px;font-size:12.5px}
  .rb-i{width:36px}
  .rb-z .zl{display:none}
  .rb-z{width:38px;padding:0}
  .tsep{margin:0 2px}
  .zrail{right:10px;padding:10px 4px}
  .zrail input{min-height:130px}
}
.stage .hint{position:absolute;left:14px;top:14px;z-index:2;width:max-content;max-width:calc(100% - 28px);padding:7px 12px;border-radius:14px;color:var(--mute);background:rgba(14,12,10,0);transition:background .6s,color .6s}
/* en el jardín el fondo es cielo claro: los rótulos van en una pastilla oscura para leerse igual */
.stage.garden .hint{color:rgba(239,230,214,.86);background:rgba(14,12,10,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.card{border:1px solid var(--ink-line);border-radius:6px;padding:26px;display:flex;flex-direction:column;gap:18px;min-width:0}
.card h3{margin:0;font-size:clamp(26px,2.3vw,34px);overflow-wrap:anywhere}
.spec{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0;font-size:15px}
.spec dt{color:var(--mute)}
.spec dd{margin:0;font-variant-numeric:tabular-nums}
.pats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.pat{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 2px;border:1px solid transparent;border-radius:6px;background:none;color:var(--mute);cursor:pointer;font:inherit;font-size:13px;transition:border-color .3s,color .3s}
.pat .sw{width:42px;height:42px;border-radius:50%;box-shadow:inset -6px -8px 14px rgba(0,0,0,.5),inset 5px 6px 10px rgba(255,255,255,.28);transition:transform .4s var(--ease)}
.pat:hover .sw{transform:scale(1.1)}
.pat[aria-pressed="true"]{border-color:rgba(231,185,124,.6);color:var(--bone)}
.sw.p0{background:radial-gradient(circle at 35% 30%,#C48A55,#4A2A12 75%)}
.sw.p1{background:radial-gradient(circle at 35% 30%,#F8DDA0,#A8783A 72%)}
.sw.p2{background:radial-gradient(circle at 35% 30%,#A9D2BF,#3F6656 60%,#5A3A22 95%)}
.sw.p3{background:radial-gradient(circle at 35% 30%,#7A6A5C,#120F0D 72%)}
.patn{margin:0;color:var(--mute);font-size:15px;min-height:46px}
.arrow-row{display:flex;align-items:center;gap:10px;color:var(--mute);font-size:14px}

/* escala */
.esc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:72px;align-items:center}
.scl{background:#EFE6D6;border-radius:10px;overflow:hidden;border:1px solid #D6C7AE;box-shadow:0 40px 80px -50px rgba(60,40,20,.45)}
.scl svg{display:block;width:100%;height:auto}
.scl-ctl{padding:18px 24px 22px;border-top:1px solid #D6C7AE;background:#F4ECDF}
.scl-ctl label{display:block;color:var(--mute-lt);font-size:11px}
.rng{width:100%;accent-color:var(--bronze-deep);margin:14px 0 4px;min-height:32px}
/* deslizador propio: pista fina con el tramo recorrido en bronce */
.scl .rng{-webkit-appearance:none;appearance:none;height:28px;margin:8px 0 6px;background:transparent;cursor:pointer}
.scl .rng::-webkit-slider-runnable-track{height:3px;border-radius:3px;background:linear-gradient(90deg,var(--bronze-deep) var(--p,18%),#D2C3A9 var(--p,18%))}
.scl .rng::-moz-range-track{height:3px;border-radius:3px;background:#D2C3A9}
.scl .rng::-moz-range-progress{height:3px;border-radius:3px;background:var(--bronze-deep)}
.scl .rng::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-9.5px;border-radius:50%;background:#F7F0E4;border:2px solid var(--bronze-deep);box-shadow:0 4px 12px rgba(60,40,20,.25);transition:transform .2s}
.scl .rng::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#F7F0E4;border:2px solid var(--bronze-deep);box-shadow:0 4px 12px rgba(60,40,20,.25)}
.scl .rng:active::-webkit-slider-thumb{transform:scale(1.15)}
.scl .rng:focus-visible{outline:2px solid var(--bronze-deep);outline-offset:4px;border-radius:4px}
.presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.preset{display:inline-flex;align-items:baseline;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid #CDBEA6;background:none;color:#3D342B;font:inherit;font-size:13px;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.preset .mono{font-size:10px;color:var(--mute-lt)}
.preset:hover{border-color:var(--bronze-deep)}
.preset[aria-pressed="true"]{background:var(--text-lt);border-color:var(--text-lt);color:var(--bone)}
.preset[aria-pressed="true"] .mono{color:var(--bronze-hi)}
.bign{font-size:clamp(84px,10vw,132px);line-height:1;margin:0;color:var(--bronze-deep);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:.12em}
.bign small{font-size:38%;color:var(--mute-lt)}
.bign #s-out{display:inline-block;min-width:1.9ch}
.ctxl{font-size:26px;margin:10px 0 26px;min-height:1.3em}
.ctxl.sw{opacity:0;filter:blur(6px);transform:translateY(8px)}
.ctxl{transition:opacity .45s var(--ease),filter .45s var(--ease),transform .6s var(--ease)}
/* ficha de tamaño: tres datos que se actualizan con la barra */
.sfacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line)}
.sfacts div{padding:16px 0 14px;border-right:1px solid var(--paper-line);padding-left:16px}
.sfacts div:first-child{padding-left:0}
.sfacts div:last-child{border-right:0}
.sfacts dt{color:var(--mute-lt);font-size:10px;margin-bottom:6px}
.sfacts dd{margin:0;font-family:var(--f-display);font-size:22px;color:var(--text-lt);font-variant-numeric:tabular-nums;transition:color .4s}
.sfacts dd.pop{color:var(--bronze-deep)}
#s-sun{animation:sunDrift 16s ease-in-out infinite alternate}
@keyframes sunDrift{from{transform:translateX(-40px)}to{transform:translateX(60px)}}
#s-mark rect,#s-mark text{transition:transform .4s var(--ease)}
.scl:hover #s-fig{filter:drop-shadow(0 0 6px rgba(226,179,119,.45))}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid #C3B39A;border-radius:999px;padding:6px 14px;font-size:14px;color:#3D342B;background:none;font-family:var(--f-body)}

/* obra */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.filters .chip{cursor:pointer;min-height:40px;transition:background .3s,color .3s,border-color .3s}
.filters .chip[aria-pressed="true"]{background:var(--text-lt);color:var(--bone);border-color:var(--text-lt)}
.filters .chip sup{font-family:var(--f-mono);font-size:10px;margin-left:4px}
.idx{border-top:1px solid var(--paper-line)}
.irow{display:grid;grid-template-columns:84px minmax(0,1fr) 120px 70px 24px;align-items:center;gap:18px;padding:24px 0;border-bottom:1px solid var(--paper-line);text-decoration:none;color:var(--text-lt);transition:padding .45s var(--ease),color .3s,opacity .4s}
.irow[hidden]{display:none}
.irow .d{font-size:clamp(26px,3.2vw,44px);letter-spacing:-.02em}
.irow .mono{color:var(--mute-lt)}
.irow .go{opacity:0;transform:translateX(-10px);transition:opacity .3s,transform .3s}
.irow:hover,.irow:focus-visible{padding-left:20px;color:var(--bronze-deep)}
.irow:hover .go,.irow:focus-visible .go{opacity:1;transform:none}
@media (pointer:fine){.idx:hover .irow:not(:hover){opacity:.32}}
/* vista previa flotante con foto */
.float{position:fixed;left:0;top:0;z-index:40;width:clamp(260px,23vw,340px);aspect-ratio:4/5;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.float.on{opacity:1;visibility:visible;transition:opacity .2s}
.float .fin{position:absolute;inset:0;overflow:hidden;border-radius:3px;background:#1A1511;box-shadow:0 40px 80px -30px rgba(20,14,8,.55),0 12px 24px -12px rgba(20,14,8,.35);clip-path:inset(50% 0 50% 0);transition:clip-path .8s var(--ease)}
.float.on .fin{clip-path:inset(0 0 0 0)}
.fimgs{position:absolute;inset:0;overflow:hidden;z-index:0}
.fimgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(100% 0 0 0);transform:scale(1.18)}
.fimgs img.on{clip-path:inset(0 0 0 0);transform:scale(1);transition:clip-path .85s var(--ease),transform 1.3s var(--ease)}
.fcap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:56px 18px 16px;background:linear-gradient(transparent,rgba(14,11,8,.82));color:var(--bone);display:flex;flex-direction:column;gap:4px}
.fcap .fn{font-size:11px;color:var(--bronze-hi);letter-spacing:.08em}
.fcap .ft{font-family:var(--f-display);font-weight:300;font-size:24px;letter-spacing:-.015em;line-height:1.1}
.fcap .fl{font-size:11px;color:rgba(239,230,214,.72)}
.fcap>span{transition:opacity .25s,transform .45s var(--ease)}
.fcap.sw>span{opacity:0;transform:translateY(6px);transition:none}
.mprev{display:none}
.more{margin-top:34px}
.more a{text-underline-offset:5px}

/* proceso */
.proc{position:relative;background:var(--ink);padding-block:120px 100px;overflow:hidden}
.ptr{display:flex;gap:28px;padding-left:max(var(--gut),env(safe-area-inset-left,0px));padding-right:max(var(--gut),env(safe-area-inset-right,0px));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;will-change:transform}
.ptr::-webkit-scrollbar{display:none}
.pin-on .ptr{overflow:visible}
.pin-on .proc{padding-block:0;height:100vh;min-height:640px;display:flex;flex-direction:column;justify-content:center}
.pintro{width:440px;flex:none;align-self:center;scroll-snap-align:start}
.pc{width:420px;height:540px;flex:none;border:1px solid var(--ink-line);border-radius:6px;padding:26px;display:flex;flex-direction:column;background:var(--ink2);scroll-snap-align:start;overflow:hidden;transition:border-color .4s}
.pc:hover{border-color:rgba(231,185,124,.45)}
.pc .num{font-family:var(--f-display);font-size:128px;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(231,185,124,.75)}
.pc h3{font-family:var(--f-display);font-weight:400;font-size:42px;line-height:1;margin:auto 0 10px}
.pc p{margin:0;color:var(--mute);font-size:15px}
.pc .dur{margin-top:16px;color:var(--bronze-hi)}
.pc .ph{height:116px;margin-top:20px;border-radius:4px}
.pc.hot{position:relative;border-color:transparent;background:radial-gradient(90% 70% at 50% 35%,#F7C57D 0%,#DA7430 28%,#7B2C10 58%,#1C0D07 100%);background-size:140% 140%;animation:molten 6s ease-in-out infinite alternate}
@keyframes molten{from{background-position:40% 30%}to{background-position:60% 60%}}
.pc.hot .num{-webkit-text-stroke:1px rgba(255,236,200,.9)}
.pc.hot p{color:#F6E0C4}
.pc.hot .temp{font-family:var(--f-display);font-size:92px;line-height:1;margin:16px 0 0;color:#FFEBC9;font-variant-numeric:tabular-nums}
.pc.hot .dur{color:#FFEBC9}
.pbar{height:1px;background:var(--ink-line);margin:44px max(var(--gut),env(safe-area-inset-right,0px)) 0 max(var(--gut),env(safe-area-inset-left,0px))}
.pbar i{display:block;height:100%;background:var(--bronze-hi);transform-origin:left;transform:scaleX(.08)}

/* proceso narrado en 3D */
/* proceso inmersivo: escena a pantalla completa con la foto real de cada fase, la figura en 3D y lo que se oye y se huele */
.proc2{position:relative;background:#0A0806}
/* entrada desde la sala de obra (que acaba fundida a casi negro): el mismo negro se funde aquí en la parte de arriba,
   sin corte. Va en la sección, no en el bloque fijado, así que se marcha con el scroll al empezar las fases */
.proc2::before{content:"";position:absolute;left:0;right:0;top:0;height:clamp(110px,14vh,170px);z-index:7;pointer-events:none;background:linear-gradient(180deg,#050403 0%,rgba(5,4,3,.82) 30%,rgba(5,4,3,.42) 62%,rgba(5,4,3,0) 100%)}
.p2-pin{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden;color:var(--bone)}
.pxbg{position:absolute;inset:0;z-index:0;background:#0A0806}
.pxbg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(calc(1.16 - var(--kb,0) * .12));filter:saturate(.8) brightness(.72)}
/* cambio de fase: la foto nueva entra encima de la anterior, que sigue opaca debajo; nunca se ven más de dos */
.pxbg img.on{opacity:1;z-index:2;transition:opacity .7s var(--ease);will-change:transform}
.pxbg img.prev{opacity:1;z-index:1}
.pxbg img.heat{filter:url(#heatfx) saturate(1.05) brightness(.78)}
@media (max-width:760px){.pxbg img.heat{filter:saturate(1.05) brightness(.78)}}
.pxshade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(10,8,6,.94) 0%,rgba(10,8,6,.78) 32%,rgba(10,8,6,.18) 62%,rgba(10,8,6,.4) 100%),linear-gradient(0deg,rgba(10,8,6,.92),transparent 30%)}
.pxshade::after{content:"";position:absolute;inset:0;background-color:var(--tint,#3a2414);mix-blend-mode:soft-light;opacity:.85;transition:background-color 1.2s var(--ease)}
.pxword{position:absolute;z-index:1;right:-1vw;top:50%;transform:translateY(-56%);display:grid;pointer-events:none}
.pxword span{grid-area:1/1;justify-self:end;font-size:clamp(120px,19vw,330px);line-height:.9;color:transparent;-webkit-text-stroke:1px rgba(239,214,176,.18);opacity:0;transform:translateY(50px);filter:blur(10px);transition:opacity 1s var(--ease),transform 1.3s var(--ease),filter 1s var(--ease)}
.pxword span.on{opacity:1;transform:none;filter:none}
.pxheat{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(55% 60% at 70% 58%,rgba(255,112,24,.6),rgba(255,60,0,.14) 50%,transparent 76%);mix-blend-mode:screen;opacity:var(--heat,0)}
.p2-stage{position:absolute;z-index:3;right:1%;top:calc(var(--top-h) + 10px);bottom:92px;width:min(56%,920px);touch-action:pan-y;cursor:grab}
.p2-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.p2-pin>.hvig{z-index:4}
.pxtop{position:absolute;z-index:5;left:0;right:0;top:calc(var(--top-h) + 24px);display:flex;justify-content:space-between;align-items:center;gap:16px}
.pxtop{align-items:flex-start}
.pxtop .eyebrow{margin:0 0 12px;color:var(--bronze-hi)}
.pxh{margin:0;font-size:clamp(30px,2.8vw,48px);line-height:1}
.pxtools{display:flex;align-items:center;gap:18px}
.pxday{color:var(--mute)}
.pxday b{color:var(--bone);font-weight:500;font-variant-numeric:tabular-nums}
.pxsnd{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(239,230,214,.25);background:rgba(10,8,6,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--bone);cursor:pointer;font-size:11px;transition:border-color .3s,background .3s}
.pxsnd:hover,.pxsnd[aria-pressed="true"]{border-color:var(--bronze-hi)}
.pxsnd .eq{display:flex;align-items:flex-end;gap:2px;height:12px}
.pxsnd .eq i{display:block;width:2px;height:3px;background:var(--bronze-hi);border-radius:1px}
.pxsnd[aria-pressed="true"] .eq i{animation:eq .8s ease-in-out infinite alternate}
.pxsnd .eq i:nth-child(2){animation-delay:.25s}
.pxsnd .eq i:nth-child(3){animation-delay:.5s}
.pxsnd .eq i:nth-child(4){animation-delay:.12s}
@keyframes eq{from{height:3px}to{height:12px}}
.pxtxt{position:absolute;z-index:5;left:0;right:0;top:calc(var(--top-h) + 76px);bottom:96px;display:flex;align-items:center}
.pcards{display:grid;width:min(540px,42vw)}
.pcard{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility 0s .45s}
.pcard.on{opacity:1;visibility:visible;transition:opacity .8s var(--ease) .1s,visibility 0s}
.pcard>*{opacity:0;transform:translateY(28px);transition:transform 1s var(--ease),opacity .8s var(--ease)}
.pcard.on>*{opacity:1;transform:none}
.pcard.on>:nth-child(2){transition-delay:.08s}
.pcard.on>:nth-child(3){transition-delay:.16s}
.pcard.on>:nth-child(4){transition-delay:.24s}
.pcard.on>:nth-child(5){transition-delay:.32s}
.pc-h{display:flex;align-items:baseline;gap:8px;color:var(--mute);margin-bottom:16px}
.pc-n{font-family:var(--f-display);font-size:46px;line-height:1;color:var(--bronze-hi)}
.pc-dur{margin-left:auto;align-self:center;color:var(--bronze-hi);border:1px solid rgba(214,160,98,.35);border-radius:999px;padding:5px 11px}
.pcard h3{font-size:clamp(40px,4.6vw,76px);line-height:.98;margin:0 0 18px}
.pcard p{margin:0;color:rgba(239,230,214,.8);font-size:17px;line-height:1.6;max-width:480px}
.pcard .pc-note{margin-top:16px;font-size:26px;line-height:1.15;color:var(--bronze-hi)}
.pc-sense{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0 0;padding-top:18px;border-top:1px solid rgba(239,230,214,.16)}
.pc-sense dt{color:var(--mute);font-size:10px;margin-bottom:6px}
.pc-sense dd{margin:0;font-size:14px;line-height:1.35}
.gauge{margin-top:22px}
.g-val{display:block;font-size:clamp(56px,6vw,100px);line-height:1;color:#FFB45A;font-variant-numeric:tabular-nums;text-shadow:0 0 44px rgba(255,120,30,.6)}
.g-track{display:block;height:3px;max-width:420px;margin-top:14px;background:rgba(239,230,214,.12);border-radius:3px;overflow:hidden}
.g-track i{display:block;height:100%;background:linear-gradient(90deg,#5a1f0b,#d0561a 55%,#ffb45a 85%,#ffe2b0);transform-origin:left;transform:scaleX(0)}
.p2-nav{position:absolute;z-index:5;left:0;right:0;bottom:26px;display:flex;gap:10px;list-style:none;margin:0 auto}
.p2-nav li{flex:1;min-width:0}
.p2-nav button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;min-height:44px;padding:0;border:0;background:none;color:var(--mute);font:inherit;font-size:13px;cursor:pointer;text-align:left;transition:color .4s}
.p2-nav .bar{display:block;width:100%;height:2px;background:rgba(239,230,214,.16);overflow:hidden;margin-bottom:6px}
.p2-nav .bar i{display:block;height:100%;background:var(--bronze-hi);transform-origin:left;transform:scaleX(0)}
.p2-nav button:hover,.p2-nav button[aria-current="step"]{color:var(--bone)}
.p2-nav button[aria-current="step"] .mono{color:var(--bronze-hi)}
.p2-pin>.hgrain{z-index:6}
@media (min-width:761px) and (max-height:780px){
  .pcard h3{font-size:46px;margin-bottom:12px}
  .pcard p{font-size:15px}
  .pcard .pc-note{display:none}
  .pc-sense{margin-top:16px;padding-top:12px}
  .g-val{font-size:52px}
  .gauge{margin-top:12px}
  .gauge+.pc-sense{display:none}
}
@media (max-width:760px) and (max-height:740px){.pc-sense{display:none}}
@media (min-width:761px) and (max-height:620px){.pc-sense,.pxtop .eyebrow{display:none}.pxh{font-size:28px}.pcard h3{font-size:38px}}
@media (prefers-reduced-motion:reduce){.pcard,.pcard.on,.pcard>*,.pxbg img,.pxword span{transition:none;filter:none}}

/* antes de encargar: lámina de alzado a escala, como en las fichas de catálogo y los planos de diseño: la pieza real
   fotografiada de frente, una silueta de 1,75 m, el mueble o la peana dibujados a línea y las cotas */
.scl4{padding-block:120px 110px}
.scl4-g{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);grid-template-areas:"head lam" "ctrl lam";column-gap:72px;row-gap:34px;align-items:start}
.scl4-head{grid-area:head}
.scl4-head .lead{color:var(--mute-lt);margin-top:20px;max-width:440px}
.scl4-ctrl{grid-area:ctrl;max-width:470px}
.lam{grid-area:lam;margin:0;align-self:start;position:sticky;top:calc(var(--top-h) + 28px)}
.lam-in{position:relative;height:clamp(480px,74vh,660px);border:1px solid var(--paper-line);border-radius:3px;overflow:hidden;background-color:#F4EDE1;background-image:linear-gradient(rgba(42,35,28,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(42,35,28,.035) 1px,transparent 1px);background-size:24px 24px;box-shadow:inset 0 0 0 6px #F4EDE1,inset 0 0 0 7px rgba(205,190,166,.55)}
.lam-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lam-svg .ln{fill:none;stroke:#2A231C;stroke-width:1.1;stroke-linejoin:round}
.lam-svg .fl{fill:#E7DCC9;stroke:#2A231C;stroke-width:1.1}
.lam-svg .gd{stroke:rgba(42,35,28,.16);stroke-width:1;stroke-dasharray:3 5}
.lam-svg .ht{stroke:rgba(42,35,28,.28);stroke-width:1}
.lam-svg .ct{stroke:#87562A;stroke-width:1}
.lam-svg .tx{font-family:var(--f-mono);font-size:10px;letter-spacing:.06em;fill:#7A6A58;text-transform:uppercase}
.lam-svg .tc{font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;fill:#87562A;font-weight:500}
.lam-svg .bg{fill:#F4EDE1}
.lam img{position:absolute;left:0;bottom:0;max-width:none;pointer-events:none;-webkit-user-select:none;user-select:none}
.lam-p{opacity:.92}
.lam-f{filter:drop-shadow(0 14px 14px rgba(70,46,22,.16))}
.lam-wait{position:absolute;inset:0;display:grid;place-items:center;color:#9a8b78;font-size:10px;transition:opacity .5s}
.lam-wait.off{opacity:0}
.lam figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:12px;color:var(--mute-lt);font-size:10px}
.s4-read{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.s4-num{display:flex;align-items:baseline;gap:.12em;margin:0;color:var(--bronze-deep);font-size:clamp(70px,6vw,104px);line-height:.85;font-variant-numeric:tabular-nums}
.s4-num small{font-size:26%;color:var(--mute-lt);letter-spacing:.08em}
.s4-num #s-out{display:inline-block;min-width:1.9ch}
.s4-eq{margin:0 0 6px;text-align:right;color:var(--mute-lt);font-size:12.5px;line-height:1.3;max-width:180px}
.s4-eq b{display:block;font-family:var(--f-serif);font-style:italic;font-weight:300;font-size:20px;line-height:1.15;color:var(--text-lt);transition:opacity .35s,filter .35s}
.s4-eq b.sw,.s4-where .t.sw{opacity:0;filter:blur(5px)}
.s4-rng{position:relative;margin-bottom:22px}
.s4-zones{position:relative;height:14px;font-size:9.5px;color:#9a8b78}
.s4-zones span{position:absolute;top:0;white-space:nowrap;transition:color .4s}
.s4-zones span.on{color:var(--bronze-deep)}
.s4-tick{position:absolute;bottom:17px;width:1px;height:12px;background:rgba(42,35,28,.4);pointer-events:none}
.s4 .rng{position:relative;display:block;-webkit-appearance:none;appearance:none;width:100%;height:26px;margin:4px 0 2px;background:transparent;cursor:pointer;accent-color:var(--bronze-deep)}
.s4 .rng::-webkit-slider-runnable-track{height:2px;border-radius:2px;background:linear-gradient(90deg,var(--bronze-deep) var(--p,18%),rgba(42,35,28,.18) var(--p,18%))}
.s4 .rng::-moz-range-track{height:2px;background:rgba(42,35,28,.18)}
.s4 .rng::-moz-range-progress{height:2px;background:var(--bronze-deep)}
.s4 .rng::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-10px;border-radius:50%;background:#F4EDE1;border:2px solid var(--bronze-deep);box-shadow:0 0 0 6px rgba(135,86,42,.1);transition:box-shadow .3s,transform .3s}
.s4 .rng::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#F4EDE1;border:2px solid var(--bronze-deep)}
.s4 .rng:hover::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(135,86,42,.14)}
.s4 .rng:active::-webkit-slider-thumb{transform:scale(1.12)}
.s4 .rng:focus-visible{outline:2px solid var(--bronze-deep);outline-offset:4px;border-radius:4px}
.s4-scale{position:relative;height:12px;color:#9a8b78;font-size:9.5px}
.s4-scale span{position:absolute;top:0}
.s4-where{display:flex;align-items:center;gap:14px;margin:0 0 24px;font-size:16px;line-height:1.3;color:var(--text-lt)}
.s4-where .ic{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(135,86,42,.4);background:rgba(194,138,78,.08);color:var(--bronze-deep)}
.s4-where svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.s4-where .t{transition:opacity .35s,filter .35s}
.s4-where small{display:block;color:var(--mute-lt);font-size:13px}
.s4-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:28px;border-bottom:0}
.s4-facts div{border-bottom:1px solid var(--paper-line)}
.s4-facts div:nth-child(odd){padding-left:0;padding-right:14px;border-right:1px solid var(--paper-line)}
.s4-facts div:nth-child(even){padding-left:16px;border-right:0}
.s4-facts dd{font-size:20px}
/* sin la fila del precio quedan tres datos: el último, a todo el ancho */
.s4-facts div:nth-child(3):last-child{grid-column:1/-1;padding-left:0;border-right:0}
.s4-cta{margin:0 0 30px}
.s4-note{margin:12px 0 0;color:var(--mute-lt);font-size:13px;line-height:1.45}
@media (max-width:1100px){
  .scl4-g{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "lam" "ctrl";row-gap:26px}
  .lam{position:relative;top:auto}
  .lam-in{height:clamp(400px,62vh,560px)}
  .scl4-ctrl{max-width:640px}
}
@media (max-width:760px){
  .scl4{padding-block:96px 80px}
  .lam-in{height:clamp(330px,50svh,430px)}
  .lam figcaption span:last-child{display:none}
  .s4-num{font-size:76px}
  .s4-zones span:first-child{font-size:0}
  .s4-zones span:first-child::after{content:"Mueble";font-size:9.5px}
  .s4-zones span:last-child{font-size:0}
  .s4-zones span:last-child::after{content:"Suelo";font-size:9.5px}
}

/* obra: la sala. Cuatro salas, una por serie, como el plano de una exposición: a la izquierda el rótulo de la sala
   (numeral, nombre, una línea) y a la derecha las piezas, todas en el mismo marco 4:5 con su número de catálogo y su cartela */
.gal-s{position:relative;background:#0F0D0B;color:var(--bone);padding:130px 0 120px;overflow:hidden}
.gal-s::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 36% at 50% 0%,rgba(194,138,78,.08),transparent 70%)}
.gal-g{position:relative;max-width:1440px}
.gal-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:28px 64px;align-items:end;margin-bottom:clamp(56px,6vw,88px)}
.gal-head .eyebrow{color:var(--bronze-hi)}
.gal-intro>p:first-child{margin:0;color:var(--mute);font-size:17px;line-height:1.6;max-width:470px}
.gal-plan{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.gal-plan a{display:inline-flex;align-items:baseline;gap:9px;padding:9px 14px 9px 12px;border:1px solid rgba(239,230,214,.16);border-radius:999px;color:var(--bone);text-decoration:none;font-size:10.5px;transition:border-color .3s,background .3s}
.gal-plan b{color:var(--bronze-hi);font-weight:500;font-family:var(--f-display);font-size:13px;letter-spacing:.04em}
.gal-plan span{color:var(--mute)}
.gal-plan a:hover{border-color:rgba(231,185,124,.6);background:rgba(231,185,124,.06)}
/* sala (rediseño del 05/11/2026): con dos series grandes, cada sala es una franja con su rótulo en línea (número,
   nombre, frase y cuántas obras) y, debajo, sus obras a cuatro columnas: «Animales» cabe en dos filas en vez de cuatro */
.room{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(26px,2.6vw,38px);padding:clamp(40px,4vw,60px) 0;border-top:1px solid rgba(239,230,214,.12);scroll-margin-top:calc(var(--top-h) + 16px)}
.room-h{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:baseline;column-gap:clamp(16px,2vw,28px)}
.room-n{margin:0;font-size:clamp(40px,3.6vw,56px);line-height:.9;color:var(--bronze-hi)}
.room-t{margin:0;font-size:clamp(28px,2.4vw,38px);line-height:1}
.room-d{margin:0;color:var(--mute);font-size:15.5px;line-height:1.5;max-width:520px;font-family:var(--f-serif);font-style:italic;font-weight:300;font-size:clamp(17px,1.3vw,19px)}
.room-c{margin:0;color:var(--mute);font-size:10px}
.works{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,32px) clamp(16px,1.8vw,28px)}
/* con 5 obras, la primera va destacada (dos columnas y dos filas) y las cinco llenan dos filas justas; con 3, a tercios */
@media (min-width:761px){
  .room.n5 .wk:first-child,.room.n7 .wk:first-child{grid-column:span 2;grid-row:span 2}
  .room.n5 .wk:first-child .wk-t,.room.n7 .wk:first-child .wk-t{font-size:clamp(26px,2.2vw,34px)}
  .room.n3 .works,.room.n6 .works{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.wk-btn{display:block;width:100%;padding:0;border:0;background:none;color:inherit;text-align:left;text-decoration:none;cursor:pointer}
.wk-frame{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#17130F;box-shadow:0 0 0 1px rgba(239,230,214,.08),0 30px 50px -30px rgba(0,0,0,.85)}
.wk-frame::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px rgba(0,0,0,.35);transition:box-shadow .6s}
.wk-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.92);transition:transform 1.2s var(--ease),filter .7s}
/* fotos de la galería que se alternan con el ratón encima (app.js) */
.wk-frame img.wk-alt{opacity:0;pointer-events:none;transition:opacity .8s var(--ease),transform 1.2s var(--ease),filter .7s}
.wk-frame img.wk-alt.on{opacity:1}
.wk-no{position:absolute;left:14px;top:12px;z-index:1;color:rgba(239,230,214,.85);font-size:10px;letter-spacing:.14em;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.wk-label{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:4px;padding-top:14px;margin-top:14px;border-top:1px solid rgba(239,230,214,.14)}
.wk-t{grid-column:1;font-size:clamp(20px,1.5vw,25px);line-height:1.05}
.wk-y{grid-column:2;grid-row:1;align-self:baseline;color:var(--mute);font-size:10px}
.wk-m{grid-column:1/-1;color:var(--mute);font-size:13.5px;line-height:1.4}
.wk-ed{grid-column:1;display:inline-flex;align-items:center;gap:7px;margin-top:6px;color:var(--bone);font-size:9.5px}
.wk-go{grid-column:2;grid-row:3/5;align-self:end;justify-self:end;display:inline-flex;align-items:center;gap:7px;color:var(--bronze-hi);font-size:9.5px;opacity:0;transform:translateX(-6px);transition:opacity .35s,transform .45s var(--ease)}
.wk-go i{font-style:normal}
.dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:#A9C08F;box-shadow:0 0 0 3px rgba(169,192,143,.15)}
.dot.no{background:#7c7166;box-shadow:0 0 0 3px rgba(124,113,102,.18)}
@media (hover:hover){
  .wk-btn:hover img{transform:scale(1.04);filter:brightness(1)}
  .wk-btn:hover .wk-frame::after{box-shadow:inset 0 0 0 1px rgba(231,185,124,.45),inset 0 0 60px rgba(0,0,0,.2)}
  .wk-btn:hover .wk-go{opacity:1;transform:none}
  .works:hover .wk:not(:hover) img{filter:brightness(.62)}
}
.wk-btn:focus-visible .wk-go{opacity:1;transform:none}
.gal-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:0;padding-top:clamp(36px,4vw,56px);border-top:1px solid rgba(239,230,214,.12);color:var(--mute)}
@media (max-width:1280px){
  .wk-m{display:none}
}
@media (max-width:1100px){
  .room{gap:22px}
  .room-h{grid-template-columns:auto minmax(0,1fr) auto}
  .room-n{grid-row:1/3;font-size:46px}
  .room-c{grid-column:3;grid-row:1}
  .room-d{grid-column:2;margin:6px 0 0;max-width:none}
}
@media (max-width:760px){
  .gal-s{padding:96px 0 84px}
  .gal-head{grid-template-columns:minmax(0,1fr);margin-bottom:40px}
  .works,.room.two .works{grid-template-columns:minmax(0,1fr);gap:34px}
  .wk-go{opacity:1;transform:none}
  .wk-t{font-size:24px}
}

/* ficha de la obra (ventana de la sala y página de cada obra): assets/css/ficha.css, en línea solo donde se usa */


/* costuras entre bloques: nada corta en seco.
   - Las bandas de papel son hojas apoyadas sobre el fondo oscuro: esquinas redondeadas, un filo de luz y una sombra que las despega.
     Dos hojas seguidas (cuaderno + dudas) forman una sola.
   - Entre fondos oscuros y fotos, un fundido: la foto nace del negro del bloque anterior y se apaga hacia el siguiente. */
:root{--sheet:30px}
.lt,.lt2{position:relative;z-index:1;border-radius:var(--sheet) var(--sheet) 0 0;box-shadow:0 -24px 60px -24px rgba(0,0,0,.6),0 24px 60px -24px rgba(0,0,0,.6)}
.lt:not(:has(+ .lt)),.lt2:not(:has(+ .lt2)){border-bottom-left-radius:var(--sheet);border-bottom-right-radius:var(--sheet)}
.lt+.lt,.lt2+.lt2{border-top-left-radius:0;border-top-right-radius:0;box-shadow:0 24px 60px -24px rgba(0,0,0,.6)}
.lt::before,.lt2::before{content:"";position:absolute;left:var(--sheet);right:var(--sheet);top:0;height:1px;background:rgba(255,255,255,.55);pointer-events:none}
.lt+.lt::before,.lt2+.lt2::before{display:none}
/* la foto del manifiesto nace del negro y se apaga hacia el gris del taller */
.banda{margin-top:90px}
.banda::before{content:"";position:absolute;left:0;right:0;top:0;height:34%;z-index:2;background:linear-gradient(var(--ink),transparent);pointer-events:none}
.banda.has::after{height:40%;background:linear-gradient(transparent,var(--ink2))}
/* la sala de obra se oscurece al final y el proceso arranca desde ese mismo negro; al acabar, vuelve al negro antes del papel */
.gal-s::after{content:"";position:absolute;left:0;right:0;bottom:0;height:240px;background:linear-gradient(transparent,#050403);pointer-events:none}
.p2-pin::before{content:"";position:absolute;left:0;right:0;top:0;height:32vh;z-index:2;background:linear-gradient(#050403,rgba(5,4,3,.55) 40%,transparent);pointer-events:none}
.p2-pin::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22vh;z-index:2;background:linear-gradient(transparent,#0A0806);pointer-events:none}
/* el taller 3D y la cita final se funden con lo que tienen debajo */
.taller{position:relative}
.taller::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(transparent,var(--ink));pointer-events:none}
.cta{position:relative}
.cta::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(transparent,#0A0908);pointer-events:none}
@media (max-width:760px){:root{--sheet:18px}.banda{margin-top:60px}}

/* sobre mí */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:80px;align-items:start}
.about .ph{height:760px;border-radius:4px;position:sticky;top:110px}
.quote{font-size:clamp(44px,5vw,68px);margin:0 0 34px;line-height:1.02}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:40px 0 0;padding:26px 0;border-top:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line)}
.stats .v{font-family:var(--f-display);font-size:clamp(44px,4.4vw,60px);line-height:1;color:var(--bronze-deep)}
.stats .k{color:var(--mute-lt);margin-top:6px}
.hit{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--paper-line)}
.hit li{display:grid;grid-template-columns:132px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--paper-line)}
/* lo que está por venir (certámenes, 2028): el rótulo en bronce */
.hit li:nth-last-child(-n+2) .mono{color:var(--bronze-deep)}

/* voces */
.voices{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:56px;align-items:end}
.voices blockquote{margin:0}
.voices .q{font-family:var(--f-display);font-size:clamp(30px,3.4vw,46px);line-height:1.08;margin:0 0 22px;text-wrap:pretty}
.voices .q2{font-size:clamp(24px,2.4vw,32px)}
.voices cite{display:flex;align-items:center;gap:12px;font-style:normal;color:var(--mute)}
.voices cite .av{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#6A5240,#2A1E15) center/cover;flex:none;filter:grayscale(1) sepia(.35);box-shadow:0 0 0 1px rgba(239,230,214,.18)}
/* prensa: el rótulo encima y los medios en una sola línea, repartidos a lo ancho; la letra se ajusta al ancho del
   bloque (cqi) y, si aun así no caben (móvil), la línea se desliza de lado */
.press{margin-top:72px;padding-top:28px;border-top:1px solid var(--ink-line);color:var(--mute);container-type:inline-size}
.press>.mono{display:block;margin-bottom:14px;font-size:11px;letter-spacing:.16em;color:var(--mute)}
.press-l{display:flex;align-items:baseline;justify-content:space-between;gap:clamp(24px,3cqi,44px);white-space:nowrap;overflow-x:auto;scrollbar-width:none}
.press-l::-webkit-scrollbar{display:none}
.press-l span{flex:none;font-family:var(--f-display);font-size:clamp(17px,1.62cqi,26px);color:var(--bone);opacity:.75}
.press-l span.i{font-style:italic}

/* encargos */
.steps4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:64px 0;position:relative;list-style:none;padding:0}
.steps4 .line{position:absolute;left:0;right:0;top:23px;height:1px;background:rgba(231,185,124,.15)}
.steps4 .line i{display:block;height:100%;background:var(--bronze-hi);transform-origin:left}
.st{padding-right:32px;position:relative;min-width:0}
.st .dot{width:46px;height:46px;border-radius:50%;border:1px solid var(--bronze-hi);background:var(--ink);display:flex;align-items:center;justify-content:center;color:var(--bronze-hi);position:relative}
.st h3{font-family:var(--f-display);font-weight:300;font-size:28px;letter-spacing:-.015em;line-height:1.1;margin:28px 0 10px}
.st p{margin:0;color:var(--mute)}
.encb{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:64px;align-items:center}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line);margin-bottom:36px}
.facts>div{padding:22px 0}
.facts .v{font-family:var(--f-display);font-size:30px;margin-top:6px;line-height:1}
.cert-wrap{perspective:900px}
.cert{background:#F4ECDD;color:var(--text-lt);padding:16px;transform:rotate(-3deg);box-shadow:0 34px 70px rgba(0,0,0,.5);transition:transform .2s ease-out;transform-style:preserve-3d}
.cert-in{border:1px solid #B79A72;outline:1px solid #B79A72;outline-offset:-6px;padding:34px 28px;text-align:center}
.cert h4{font-family:var(--f-display);font-weight:400;font-size:36px;line-height:1;margin:12px 0 6px}
.seal{width:78px;height:78px;margin:18px auto 0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#E7B97C,#87562A 72%);display:flex;align-items:center;justify-content:center;color:#2A1A0E;font-family:var(--f-display);font-size:22px;box-shadow:inset 0 0 0 3px rgba(255,236,200,.35)}
.firma{display:inline-block;font-family:var(--f-hand);font-style:italic;font-weight:300;font-size:30px;color:#4A3A2A;border-bottom:1px solid #B79A72;padding:0 26px 2px;margin-top:14px}

/* cuaderno */
/* :not(body): en el listado del cuaderno WordPress pone la clase «blog» también en el <body> */
.blog:not(body){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.post{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--text-lt);min-width:0;transition:opacity .6s var(--ease),filter .6s var(--ease)}
.post .ph{height:340px;border-radius:4px;transform-style:preserve-3d;will-change:transform;box-shadow:0 30px 60px -40px rgba(42,35,28,0);transition:box-shadow .7s var(--ease)}
.post .ph .in img{transition:filter .7s var(--ease)}
.post:hover .ph{box-shadow:0 46px 80px -38px rgba(42,35,28,.55)}
.post:hover .ph .in img{filter:saturate(1.12) contrast(1.04)}
/* brillo que sigue al puntero sobre la foto */
.post .sheen{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(380px circle at var(--gx,50%) var(--gy,30%),rgba(255,238,210,.42),rgba(255,238,210,.08) 40%,transparent 62%);mix-blend-mode:soft-light;opacity:0;transition:opacity .6s var(--ease)}
.post:hover .sheen{opacity:1}
.post .ph::before{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(239,214,176,0);transition:box-shadow .6s var(--ease);pointer-events:none}
.post:hover .ph::before{box-shadow:inset 0 0 0 1px rgba(239,214,176,.35)}
/* etiqueta de lectura que sube al entrar */
.go-pill{position:absolute;right:14px;bottom:14px;z-index:5;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(244,236,223,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-lt);font-size:10px;opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease),transform .7s var(--ease)}
.go-pill i{font-style:normal;transition:transform .5s var(--ease)}
.post:hover .go-pill{opacity:1;transform:none;transition-delay:.08s}
.post:hover .go-pill i{transform:translateX(3px)}
.post .ph .pl{transition:transform .7s var(--ease),opacity .5s}
.post:hover .ph .pl{transform:translateY(-6px)}
.post h3{font-family:var(--f-display);font-weight:400;font-size:34px;line-height:1.04;margin:0;transition:color .4s}
/* el título se subraya dibujando una línea de bronce */
.post h3 .u{background:linear-gradient(var(--bronze-deep),var(--bronze-deep)) 0 100%/0 1px no-repeat;padding-bottom:3px;transition:background-size .8s var(--ease)}
.post:hover h3{color:var(--bronze-deep)}
.post:hover h3 .u{background-size:100% 1px}
.post .mono{color:var(--mute-lt);transition:color .4s,letter-spacing .6s var(--ease)}
.post:hover>.mono{color:var(--bronze-deep);letter-spacing:.12em}
@media (pointer:fine){.blog:not(body):hover .post:not(:hover){opacity:.5;filter:saturate(.5)}}

/* dudas */
.faqw{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:start}
.faqw>div:first-child{position:sticky;top:calc(var(--top-h) + 40px)}
.faq details{border-bottom:1px solid var(--paper-line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:20px;cursor:pointer;list-style:none;min-height:44px;transition:color .3s}
.faq summary:hover{color:var(--bronze-deep)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .s{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid #B9A88E;display:flex;align-items:center;justify-content:center;color:var(--bronze-deep);transition:transform .35s,background .3s}
.faq details[open] summary .s{transform:rotate(45deg);background:var(--text-lt);color:var(--bone);border-color:var(--text-lt)}
.faq .a{overflow:hidden}
.faq .a p{margin:0;padding:0 48px 26px 0;color:#3D342B;max-width:640px}

/* contacto */
.cta{padding-block:160px 120px;background:radial-gradient(55% 60% at 82% 28%,rgba(194,138,78,.22),transparent 70%),var(--ink)}
.cta .h{font-size:clamp(44px,7vw,112px);margin:0 0 64px}
.fg{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:72px;align-items:start}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
.f{display:flex;flex-direction:column;gap:8px;min-width:0;position:relative}
.f.full{grid-column:1 / -1}
.f label{color:var(--mute)}
.in{min-height:52px;background:transparent;border:0;border-bottom:1px solid rgba(239,230,214,.3);color:var(--bone);font:inherit;font-size:19px;padding:8px 0;border-radius:0;width:100%;transition:border-color .3s}
.in:focus{outline:none;border-bottom-color:var(--bronze-hi)}
.in:invalid:not(:placeholder-shown){border-bottom-color:#E08A6A}
select.in option{color:#1A1612;background:#F4ECDD}
textarea.in{min-height:100px;resize:vertical}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--mute)}
.chk input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--bronze);flex:none}
.err{color:#F0A487;font-size:14px;margin:0}
.ok{border:1px solid rgba(231,185,124,.4);border-radius:6px;padding:32px}
.dir dt{margin-top:22px;color:var(--mute)}
.dir dd{margin:6px 0 0;font-size:22px;user-select:all}

/* pie: la firma del taller. Un filete de bronce arriba y un brillo cálido, como la boca del horno; la carta mensual,
   el sello de fundidor (el que llevan los bronces en la base) con la marca, tres columnas y la línea legal */
.foot{position:relative;overflow:hidden;padding-top:96px;background:radial-gradient(60% 55% at 12% 0%,rgba(194,138,78,.10),transparent 70%),radial-gradient(45% 40% at 100% 100%,rgba(194,138,78,.06),transparent 70%),#0A0908}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--bronze-deep) 20%,var(--bronze-hi) 50%,var(--bronze-deep) 80%,transparent);opacity:.55}
.news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:end;padding-bottom:64px;border-bottom:1px solid var(--ink-line)}
.news h2{font-size:clamp(44px,5vw,64px);margin:10px 0 12px}
.nform{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.nform>label{color:var(--mute)}
.npill{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 24px;border:1px solid rgba(239,230,214,.18);border-radius:999px;background:rgba(239,230,214,.03);transition:border-color .35s,background .35s}
.npill:focus-within{border-color:var(--bronze-hi);background:rgba(239,230,214,.05)}
.npill input{flex:1;width:100%;min-width:0;min-height:44px;padding:0;border:0;background:none;color:var(--bone);font:inherit;font-size:17px;outline:0}
.npill input::placeholder{color:var(--dim)}
.npill .btn{--bh:48px;--bp:22px;flex:none;font-size:14px}
.fgrid{display:grid;grid-template-columns:minmax(0,1.7fr) repeat(3,minmax(0,1fr));gap:40px 48px;padding-block:72px 64px;border-bottom:1px solid var(--ink-line)}
.fbrand{display:flex;align-items:flex-start;gap:30px}
.fbrand p{max-width:330px;margin:14px 0 0;color:var(--mute);font-size:15px;line-height:1.6}
.fcol{display:flex;flex-direction:column;align-items:flex-start;gap:11px;color:var(--bone);font-size:15.5px;font-style:normal}
.fcol address{font-style:normal;line-height:1.5}
.fh{margin:0 0 6px;color:var(--bronze-hi);font-size:11px}
.fmute{color:var(--mute)}
.fcol a{position:relative;color:var(--bone);text-decoration:none;transition:color .3s}
.fcol a::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--bronze-hi);transition:right .35s var(--ease)}
.fcol a:hover{color:var(--bronze-hi)}
.fcol a:hover::after{right:0}
.fbot{display:flex;flex-wrap:wrap;gap:14px 40px;align-items:center;justify-content:space-between;padding-block:24px 30px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.fbot a{text-decoration:none;color:var(--mute);transition:color .3s}
.fbot a:hover{color:var(--bronze-hi)}
.fl{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center}
.ig{display:inline-flex;align-items:center;gap:8px}
.ftop{display:inline-flex;align-items:center;gap:12px}
.ftop .c{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(239,230,214,.22);transition:border-color .35s,transform .45s var(--ease)}
.ftop svg{width:10px;height:12px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.ftop:hover .c{border-color:var(--bronze-hi);transform:translateY(-3px)}
@media (max-width:1100px){.fgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.fbrand{grid-column:1/-1}}
@media (max-width:900px){.fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.fgrid{gap:36px 24px;padding-block:56px 44px}.fbrand{flex-direction:column;gap:22px}.fbot{flex-direction:column;align-items:flex-start}.npill{padding-left:18px}.npill .btn{--bp:16px}}

/* cursor sobre lo que se arrastra o se lee: un aro fino de cristal con un icono, sin texto ni relleno */
.cur{position:fixed;left:0;top:0;z-index:90;width:60px;height:60px;margin:-30px 0 0 -30px;pointer-events:none;display:none}
.cur .r{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(239,230,214,.5);background:rgba(14,11,9,.2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 24px rgba(0,0,0,.22);opacity:0;transform:scale(.4);transition:opacity .3s,transform .5s var(--ease),border-color .3s}
.cur .l{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 9px;color:var(--bone);opacity:0;transition:opacity .3s .05s,color .3s}
.cur .l svg{width:7px;height:11px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cur .l.c{justify-content:center}
.cur .l.c svg{width:15px;height:15px}
.cur.big .r{opacity:1;transform:scale(1)}
.cur.big .l{opacity:1}
.cur.card .r{transform:scale(1.12)}
.cur.down .r{transform:scale(.84);border-color:var(--bronze-hi)}
.cur.down .l{color:var(--bronze-hi)}
@media (pointer:fine){.cur{display:block}}
.mbar{display:none}

/* @fin-diferido: lo que sigue (tableta, móvil, movimiento reducido) va en línea en todas las páginas y se repite al final
   de main-diferido.css, para que siga mandando sobre las secciones de arriba igual que en este archivo */
@media (max-width:1100px){
  .tl{grid-template-columns:minmax(0,1fr) 300px}
  .mods{grid-column:1 / -1;flex-direction:row;overflow-x:auto;border-top:0;gap:8px;scrollbar-width:none}
  .mods::-webkit-scrollbar{display:none}
  .mod{flex:none;width:auto;padding:10px 18px;border:1px solid var(--ink-line);border-radius:999px}
  .mod .d{font-size:19px}
  .mod .mono{display:none}
  .mod[aria-pressed="true"]{padding-left:18px;box-shadow:none;border-color:var(--bronze-hi)}
}
@media (max-width:760px){
  .sec{padding-block:96px}
  .nav{display:none}
  .menu-btn{display:inline-flex;align-items:center}
  .logo{font-size:21px}
  .hero{min-height:560px}
  /* móvil: el nombre arriba y a todo lo ancho, el apellido justo debajo, y la figura entra por delante de su borde inferior */
  .hero .n1{top:2.5%;left:var(--gut);font-size:19.5vw;letter-spacing:.02em}
  .hero .n2{top:calc(2.5% + 19vw);right:var(--gut);font-size:25vw;line-height:1}
  .hstage{top:calc(2.5% + 33vw);bottom:auto;height:calc(100% - 33vw - 215px);min-height:300px;width:100vw}
  .tag,.hkind{display:none}
  .hbot{bottom:3%}
  .hbot .eb{font-size:10px;margin-bottom:8px;white-space:nowrap}
  .hbot .eb-y{display:none}
  .claim{font-size:clamp(20px,6vw,26px);margin-bottom:14px}
  .claim .rot{display:grid;margin-top:2px}
  /* en el móvil la etiqueta, la frase y los botones van centrados bajo la figura */
  .hbot .wrap{justify-content:center;text-align:center}
  .hbot .wrap>div{width:100%}
  .claim{margin-inline:auto}
  .claim .rot>span{justify-items:center}
  .hbot .acts{justify-content:center}
  .hero .btn,.hero .ghost{--bh:46px;--bp:18px;font-size:14px}
  .wf{display:none}
  .cue{display:none}
  .taller{padding-block:96px}
  .tl{grid-template-columns:minmax(0,1fr);gap:20px}
  .stage{min-height:520px;order:-1}
  .card h3{font-size:28px}
  .esc{grid-template-columns:minmax(0,1fr);gap:36px}
  .irow{grid-template-columns:64px minmax(0,1fr) 20px;gap:12px}
  .irow .hide{display:none}
  .irow .go{opacity:1;transform:none}
  .mprev{display:block;position:relative;height:min(118vw,68svh);border-radius:4px;overflow:hidden;margin-bottom:28px;background:#1A1511}
  .float{display:none}
  .proc{padding-block:96px 80px}
  .pintro{width:300px}
  .pc{width:290px;height:470px;padding:20px}
  .pc .num{font-size:92px}
  .pc h3{font-size:32px}
  .pc .ph{height:84px}
  .pc.hot .temp{font-size:62px}
  .about{grid-template-columns:minmax(0,1fr);gap:36px}
  .about .ph{height:440px;position:relative;top:auto}
  .stats .v{font-size:40px}
  .p2-pin{min-height:0}
  .pxshade{background:linear-gradient(0deg,rgba(10,8,6,.97) 0%,rgba(10,8,6,.88) 44%,rgba(10,8,6,.25) 70%,rgba(10,8,6,.55) 100%)}
  .p2-stage{left:0;right:0;width:auto;top:calc(var(--top-h) + 56px);bottom:auto;height:clamp(150px,calc(100svh - 470px),40svh)}
  .pxword{top:calc(var(--top-h) + 50px);transform:none;right:-3vw}
  .pxword span{font-size:27vw}
  .pxtop{top:calc(var(--top-h) + 12px);align-items:center}
  .pxtop .eyebrow{display:none}
  .pxh{font-size:24px}
  .pxday{display:none}
  .pxsnd{min-height:36px;padding:0 12px;font-size:10px;white-space:nowrap;flex:none}
  .pxtxt{top:auto;bottom:70px;display:block}
  .pcards{width:auto}
  .pc-h{margin-bottom:8px}
  .pc-n{font-size:30px}
  .pcard h3{font-size:30px;margin-bottom:8px}
  .pcard p{font-size:14px;line-height:1.5}
  .pc-note{display:none}
  .pc-sense{margin-top:12px;padding-top:10px;gap:10px}
  .pc-sense dd{font-size:12px}
  .gauge{margin-top:12px}
  .g-val{font-size:46px}
  .p2-nav{bottom:16px;gap:4px}
  .p2-nav .lbl{display:none}
  /* proceso en el móvil, pensado para ir fluido: el bloque se queda fijo con position: sticky (lo mueve el propio
     navegador; app.js solo lee cuánto se ha bajado y se lo pasa a la figura 3D), sin desenfoques y sin el zoom lento
     por fotograma de las fotos (el tinte de cada fase y el calor de la colada sí, como en escritorio). La figura ocupa el hueco entre el título y la ficha, y
     el texto se encaja en el alto que haya: nada se sale de la pantalla. Alto dinámico (dvh): con la barra del navegador
     escondida el bloque crece hasta abajo; con svh quedaba una franja vacía del alto de esa barra */
  .proc2{height:520vh;height:520svh}
  .p2-pin{position:sticky;top:0;height:100vh;height:100svh;height:100dvh}
  .p2-stage{height:clamp(170px,calc(100svh - 450px),44svh);height:clamp(170px,calc(100dvh - 450px),44dvh)}
  .pxbg img{transform:scale(1.04);will-change:auto}
  .pxbg img.on{transition:opacity .5s ease}
  .pxword span{filter:none;transform:none;transition:opacity .5s ease}
  .pxtxt{bottom:calc(70px + env(safe-area-inset-bottom,0px));max-height:calc(100svh - var(--top-h) - 140px);max-height:calc(100dvh - var(--top-h) - 140px);display:flex;flex-direction:column;justify-content:flex-end}
  .p2-nav{bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .pcard>*{transform:none;transition:opacity .5s ease}
  .pcard p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden}
  @media (max-height:720px){.pcard h3{font-size:26px}.pcard p{font-size:13.5px;-webkit-line-clamp:5}.pxword span{font-size:22vw}.pc-n{font-size:26px}}
  @media (max-height:620px){.pcard p{-webkit-line-clamp:4}.pxh{font-size:20px}.pxsnd{display:none}}
  /* entradas al aparecer en el móvil (app.js: enhancePhone): clases y transiciones de CSS en vez de ScrollTrigger */
  .rvm{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease) calc(var(--i,0) * 90ms),transform .9s var(--ease) calc(var(--i,0) * 90ms)}
  .rvm.rvm-on{opacity:1;transform:none}
  .works>.rvm{transform:none}
  #mani-txt .w{color:#E7B97C;transition:color .45s ease calc(var(--i,0) * 32ms)}
  #mani-txt.pre .w{color:inherit;transition:none}
  /* en el móvil táctil, nada de desenfocar lo que pasa por detrás (backdrop-filter): la cabecera en cristal y la barra
     de abajo aparecen nada más empezar a bajar y el iPhone tenía que redesenfocar en cada fotograma lo que se movía
     debajo (fotos, 3D): tirones al empezar el scroll. Fondos casi opacos en su lugar, y sin la capa de grano fija */
  @media (pointer:coarse){
    *,*::before,*::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
    .top.solid{background:rgba(14,12,10,.95)}
    .top.light{background:rgba(244,237,225,.97)}
    .mbar{background:rgba(14,12,10,.95)}
    .wf{background:rgba(0,0,0,.88)}
    .grain{display:none}
  }
  .voices{grid-template-columns:minmax(0,1fr);gap:44px}
  .press{margin-top:48px}
  .press-l{-webkit-mask:linear-gradient(90deg,#000 85%,transparent);mask:linear-gradient(90deg,#000 85%,transparent)}
  .banda{height:52svh;margin-top:64px}
  .banda.slides{height:58svh}
  .banda.slides .pl{right:16px;bottom:42px}
  .bdots{left:16px;right:auto;bottom:8px}
  .steps4{grid-template-columns:minmax(0,1fr);gap:36px}
  .steps4 .line{display:none}
  .encb{grid-template-columns:minmax(0,1fr);gap:48px}
  .facts{grid-template-columns:minmax(0,1fr)}
  .facts>div{padding:16px 0;border-bottom:1px solid var(--ink-line)}
  .facts>div:last-child{border-bottom:0}
  .cert{transform:rotate(-1.5deg)}
  .blog:not(body){grid-template-columns:minmax(0,1fr);gap:44px}
  .post .ph{height:250px}
  .faqw{grid-template-columns:minmax(0,1fr);gap:24px}
  .faqw>div:first-child{position:static}
  .faq summary{font-size:17px}
  .faq .a p{padding-right:0}
  .cta{padding-block:100px 88px}
  .cta .h{margin-bottom:40px}
  .fg{grid-template-columns:minmax(0,1fr);gap:48px}
  .fields{grid-template-columns:minmax(0,1fr)}
  .news{grid-template-columns:minmax(0,1fr);gap:28px}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:45;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(14,12,10,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transform:translateY(110%);transition:transform .45s var(--ease)}
  .mbar.on{transform:none}
  .mbar.on.hide,.mbar.on.hide2{transform:translateY(110%)}
  .mbar .btn{width:100%}
  .foot{padding-bottom:84px}
}
@media (prefers-reduced-motion:reduce){
  .rot .i,.rot .i::after,.mask>span,.cue i,.tag,.pc.hot,.loading .bar i,.hero .n1 .mask>span,.hero .n2 .mask>span,.hkind,.hcone,.hfloor,.hgrain,.hero .hbot,.hphoto,.hstage>.hposter,.hstage>canvas{animation:none}
  .pour{display:none}
  .top,.btn::before{transition:none}
  .mm-bg,.mm-c,.mm-p.on .mm-c,.mm-pf img,.mm-wt{transition:none}
  .mm-ce .dot,.mnav:not([hidden]),.mn-s:not([hidden]){animation:none}
}
/* móvil (revisión del 29/10): rótulos de 11 px como mínimo, zonas de toque de 44 px (los enlaces de texto las ganan con
   un ::before invisible, sin cambiar cómo se ven), cada sala de la obra y el cuaderno de la portada en un carrusel que se
   desliza (la página pierde varias pantallas de scroll) y los pasos del encargo con el número al lado */
@media (max-width:760px){
  .wk-no,.wk-y,.wk-ed,.wk-go,.room-c,.gal-plan a,.sfacts dt,.pc-sense dt,.preset .mono,.lam figcaption,.lam-wait,.fbot,.mm-nb .mono,.hbot .eb,.pxsnd{font-size:11px}
  .more a,.head>a[data-cta],.op-crumb a,.fo-link,.fo-scale,.fcol a,.fl a,.ftop,.cab-in a:not(.btn):not(.ghost){position:relative}
  .more a::before,.head>a[data-cta]::before,.op-crumb a::before,.fo-link::before,.fo-scale::before,.fcol a::before,.fl a::before,.cab-in a:not(.btn):not(.ghost)::before{content:"";position:absolute;inset:-10px -8px}
  .fcol{gap:20px}
  .fl{gap:12px 26px}
  .fl a::before{inset:-14px -10px}
  .ftop .c{width:44px;height:44px}
  /* taller 3D: botones de 44 px; los de girar sobran (con el dedo se gira la figura) y la fila de figuras se funde al borde */
  .tbar>*{flex-shrink:0}
  .seg button,.rb{min-height:44px}
  .rb-z{width:44px}
  #rot-l,#rot-r,#zoom~.tsep{display:none}
  .mods{margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut);scroll-padding-inline:var(--gut);scroll-snap-type:x proximity;-webkit-mask:linear-gradient(90deg,transparent,#000 var(--gut),#000 calc(100% - 48px),transparent);mask:linear-gradient(90deg,transparent,#000 var(--gut),#000 calc(100% - 48px),transparent)}
  .mod{min-height:44px;scroll-snap-align:start}
  .pxsnd{min-height:44px}
  .rng{min-height:44px}
  /* la sala: cada sala, un carrusel (asoma la pieza siguiente) */
  .works,.room.two .works{display:flex;gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1 * var(--gut));padding:0 var(--gut) 6px;scroll-padding-inline:var(--gut)}
  .works::-webkit-scrollbar{display:none}
  .works>.wk{flex:0 0 80%;min-width:0;scroll-snap-align:start}
  .room-c::after{content:"  →";color:var(--bronze-hi)}
  .room{padding-block:36px 40px}
  /* cuaderno de la portada: carrusel */
  #cuaderno .blog:not(body){display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1 * var(--gut));padding:0 var(--gut) 6px;scroll-padding-inline:var(--gut)}
  #cuaderno .blog::-webkit-scrollbar{display:none}
  #cuaderno .post{flex:0 0 84%;scroll-snap-align:start}
  /* las tiras horizontales solo se desplazan de lado: con overflow-x:auto el eje vertical también queda en auto y, mientras
     las tarjetas entran desde abajo (GSAP), la tira se volvía desplazable en vertical y se quedaba con el dedo */
  .works,.room.two .works,#cuaderno .blog:not(body),.mods{overflow-y:hidden}
  #cuaderno .post .ph{height:230px}
  #cuaderno .head{margin-bottom:32px}
  /* encargos: el número del paso al lado del título */
  .steps4{gap:30px;margin:48px 0}
  .st{display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:18px;align-items:start}
  .st .dot{grid-row:1/3}
  .st h3{margin:9px 0 8px;font-size:23px}
  .st p{grid-column:2}
}
/* barra de administración de WordPress (solo editores): la cabecera fija baja con ella */
.admin-bar .top{top:32px}@media (max-width:782px){.admin-bar .top{top:46px}}
/* en 600 px o menos WordPress deja de fijar su barra (se va con el scroll): la cabecera no le guarda sitio, o al bajar
   quedaba un hueco de 46 px por encima */
@media (max-width:600px){.admin-bar .top{top:env(safe-area-inset-top,0px)}}
