:root{color-scheme:dark light;--void:#030608;--ink:#f3efe7;--muted:#b7bbb8;--gold:#e6b85f;--blue:#a9e4ff;--line:rgba(243,239,231,.25);--surface:rgba(4,7,9,.72);--serif:Georgia,'Times New Roman',serif;--sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--scene:0;--progress:0;--swell:.5;--crack:0;--drift-x:0%;--drift-y:0%;--tremor-x:0px;--tremor-y:0px;--tremor-lx:0px;--tremor-ly:0px}
@media(prefers-color-scheme:light){:root{--void:#06090b;--ink:#fffaf0;--muted:#c6c9c7;--gold:#f0c879;--blue:#c2ecff;--line:rgba(255,250,240,.3);--surface:rgba(8,11,13,.7)}}
*{box-sizing:border-box}html{background:var(--void);scroll-behavior:smooth}body{margin:0;min-width:280px;background:var(--void);color:var(--ink);font-family:var(--sans);overflow-x:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.world,.thread,.grain{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.world{z-index:2;opacity:.56;mix-blend-mode:screen}.thread{z-index:4}.thread__line,.thread__glow{fill:none;vector-effect:non-scaling-stroke}.thread__line{stroke:rgba(235,192,105,.72);stroke-width:1}.thread__glow{stroke:rgba(235,192,105,.27);stroke-width:6;filter:url(#threadGlow);opacity:calc(.3 + var(--swell,.5)*.6)}.grain{z-index:5;opacity:.052;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.sound-toggle{position:fixed;z-index:24;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.26);border-radius:50%;background:rgba(3,6,8,.58);color:rgba(255,255,255,.82);cursor:pointer;padding:0}.sound-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sound-toggle .icon-off{display:none}.sound-toggle.muted{color:rgba(255,255,255,.42)}.sound-toggle.muted .icon-on{display:none}.sound-toggle.muted .icon-off{display:block}
.language{position:fixed;z-index:24;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom))}.language select{appearance:none;border:0;border-bottom:1px solid rgba(255,255,255,.26);border-radius:0;background:rgba(3,6,8,.58);color:rgba(255,255,255,.72);padding:8px 22px 8px 8px;font:500 9px/1 var(--sans);letter-spacing:.16em;cursor:pointer}.rail{position:fixed;z-index:20;right:max(12px,env(safe-area-inset-right));top:50%;transform:translateY(-50%)}.rail ol{display:grid;gap:10px;list-style:none;padding:0;margin:0}.rail a{position:relative;display:grid;place-items:center;width:28px;height:28px;color:rgba(255,255,255,.45);text-decoration:none;font:500 8px/1 var(--sans);transition:color .4s}.rail a:before{content:'';position:absolute;width:4px;height:4px;border-radius:50%;border:1px solid currentColor}.rail a span{opacity:0;transform:translateX(-6px);transition:.4s}.rail a.active{color:var(--gold)}.rail a.active span{opacity:1;transform:translateX(-18px)}main{position:relative;z-index:1}.scene{position:relative;height:145svh}.scene--murmullos{height:175svh}.scene--devolucion,.scene--cruce{height:165svh}.scene__sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--void)}.scene__image{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;transform:scale(calc(1.02 + var(--local,0)*.07 + var(--swell,.5)*.012)) translate3d(calc((.5 - var(--px,.5))*1.2% + var(--drift-x,0%) + var(--tilt-x,0%)),calc((.5 - var(--py,.5))*1.2% + var(--drift-y,0%) + var(--tilt-y,0%)),0);filter:saturate(.83) contrast(1.08) brightness(calc(.78 + var(--swell,.5)*.045));will-change:transform;opacity:1}.scene--grieta .scene__image{object-position:50% 53%;translate:var(--tremor-x,0px) var(--tremor-y,0px)}.crack-light{position:absolute;left:50%;top:50%;width:min(58vmin,480px);height:96%;transform:translate(-50%,-50%) scaleY(calc(.95 + var(--swell,.5)*.08));translate:var(--tremor-lx,0px) var(--tremor-ly,0px);background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,214,130,.5),rgba(255,178,84,.16) 42%,transparent 70%);mix-blend-mode:screen;opacity:calc(var(--crack,0)*(.4 + var(--swell,.5)*.6));filter:blur(6px);pointer-events:none}.scene__shade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 46%,transparent 10%,rgba(2,5,7,.18) 48%,rgba(2,5,7,.82) 100%),linear-gradient(180deg,rgba(2,5,7,.25),rgba(2,5,7,.08) 50%,rgba(2,5,7,.62))}.shade--left{background:linear-gradient(90deg,rgba(2,5,7,.86) 0 34%,rgba(2,5,7,.13) 72%),linear-gradient(0deg,rgba(2,5,7,.67),transparent 44%)}.shade--bottom{background:linear-gradient(0deg,rgba(2,5,7,.94) 0 32%,rgba(2,5,7,.16) 70%),radial-gradient(ellipse at center,transparent,rgba(2,5,7,.42))}.shade--center{background:linear-gradient(90deg,rgba(2,5,7,.72),transparent 35% 65%,rgba(2,5,7,.72)),linear-gradient(0deg,rgba(2,5,7,.68),transparent 55%)}.scene__content{position:relative;z-index:6;width:min(100% - 46px,1180px);height:100%;margin:auto;padding:clamp(26px,6svh,64px) 0;display:flex;flex-direction:column;justify-content:center}.roman{position:absolute;top:clamp(24px,5svh,52px);inset-inline-start:0;margin:0;font:500 9px/1 var(--sans);letter-spacing:.32em;color:rgba(255,255,255,.62)}.returning{position:absolute;top:9svh;margin:0;font:italic 15px/1.3 var(--serif);color:#f6d797}.whisper{align-self:flex-start;width:min(390px,76%);margin:0;font:italic 400 clamp(26px,4.7vw,60px)/1.02 var(--serif);letter-spacing:-.035em}.content--umbral{align-items:center;text-align:center}.content--umbral .whisper{position:absolute;top:14svh;align-self:center}.breath{position:relative;display:grid;place-items:center;width:clamp(170px,26vw,286px);aspect-ratio:1;border:0;border-radius:50%;background:rgba(0,0,0,.14);color:var(--ink);font:italic 400 clamp(14px,1.5vw,17px)/1.5 var(--serif);cursor:pointer;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.hold{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
/* la respuesta nace al TOCAR: mantener = el anillo exhala, se recoge
   despacio todo el tiempo que dura la presión (antes solo cambiaba
   al soltar, y en el teléfono el botón parecía muerto) */
.breath .breath__ring{transition:transform 1.1s ease,box-shadow .8s}
.breath.holding .breath__ring{transform:scale(.88);box-shadow:0 0 74px rgba(133,215,249,.68),inset 0 0 52px rgba(243,185,85,.3);transition:transform 3.4s ease-in,box-shadow .5s}
.breath.holding{background:rgba(20,34,44,.28)}.breath__ring{position:absolute;inset:0;border:1px solid rgba(208,234,243,.78);border-radius:50%;box-shadow:0 0 34px rgba(128,209,243,.22),inset 0 0 34px rgba(243,185,85,.12);transform:scale(calc(.94 + var(--breath,.3)*.08 + (var(--swell,.5) - .5)*.06));transition:box-shadow .8s}.breath[aria-pressed=true] .breath__ring{box-shadow:0 0 62px rgba(133,215,249,.6),inset 0 0 46px rgba(243,185,85,.22);transform:scale(1.06)}.status{position:absolute;bottom:7svh;font:500 10px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7)}.scroll-mark{position:absolute;bottom:3svh;width:1px;height:23px;background:linear-gradient(var(--gold),transparent)}.content--split{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(480px,1.25fr);gap:8vw;align-items:center}.content--split h1,.content--murmurs h2,.content--grieta h2,.content--cruce h2{font:400 clamp(58px,9vw,126px)/.82 var(--serif);letter-spacing:-.065em;margin:0;text-wrap:balance}.content--split h1 em{font-weight:400;color:var(--blue)}.weights{display:flex;gap:9px;align-self:end}.weights button,.doors button,.bridges button{border:1px solid rgba(255,255,255,.22);background:rgba(3,6,8,.54);color:var(--ink);backdrop-filter:blur(10px);cursor:pointer}.weights button{flex:1;min-height:54px;padding:8px 6px;font:500 clamp(9px,1vw,12px)/1 var(--sans);letter-spacing:.08em}.weights button.active{border-color:var(--blue);background:rgba(119,197,230,.15)}.response{font:italic 400 clamp(18px,2.1vw,28px)/1.25 var(--serif);color:var(--blue);opacity:.32;transition:opacity .6s}.response.active{opacity:1}.content--murmurs{justify-content:flex-end;padding-bottom:8svh}.eyebrow{margin:0 0 12px;font:italic 400 clamp(17px,2vw,23px)/1.25 var(--serif);color:rgba(255,255,255,.68)}.content--murmurs h2{font-size:clamp(45px,6.7vw,94px);max-width:780px}.doors{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;margin-top:4svh}.doors button{min-width:0;height:74px;padding:5px 2px;border-radius:1px;font:500 8px/1.2 var(--sans);letter-spacing:.06em;overflow:hidden}.doors button.active{border-color:var(--gold);background:rgba(226,177,83,.18);box-shadow:0 0 calc(16px + var(--swell,.5)*20px) rgba(226,177,83,calc(.12 + var(--swell,.5)*.14))}.content--murmurs blockquote{min-height:2.3em;max-width:850px;margin:19px 0 0;font:italic 400 clamp(23px,3vw,40px)/1.05 var(--serif);color:#f3d79f}.confession{margin:10px 0 0;color:rgba(255,255,255,.62);font:italic 400 17px/1.3 var(--serif)}.content--grieta{text-align:center;align-items:center}.content--grieta h2{font-size:clamp(48px,7.8vw,104px);max-width:860px;text-shadow:0 3px 26px #000,0 0 calc(var(--crack,0)*34px) rgba(255,190,90,.4)}.content--grieta p:not(.roman){font:italic 400 clamp(18px,2.3vw,28px)/1.25 var(--serif);max-width:530px;color:#f4cb79;opacity:calc(.6 + var(--crack,0)*.26 + var(--swell,.5)*.14)}.hold{margin-top:28px;width:104px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(244,203,121,.7);background:rgba(0,0,0,.35);color:var(--ink);cursor:pointer;transition:box-shadow .35s,background .35s}.hold.active{box-shadow:0 0 55px rgba(244,203,121,.65);background:rgba(244,203,121,.14)}.content--estancia{align-items:center;text-align:center}.content--estancia blockquote{max-width:900px;margin:0;font:italic 400 clamp(45px,7vw,104px)/.94 var(--serif);letter-spacing:-.045em;text-shadow:0 0 40px #8e5a15}.content--devolucion{justify-content:flex-end;text-align:center;padding-bottom:7svh}.content--devolucion>blockquote{max-width:900px;margin:0 auto 12px;font:italic 400 clamp(32px,5vw,65px)/.97 var(--serif);letter-spacing:-.035em;color:#f7dfab}.content--devolucion>p:not(.roman,.eyebrow){font:italic 400 18px/1.3 var(--serif)}.question-form{display:grid;justify-items:center;gap:10px;margin:22px auto 0}.question-form label{font:400 clamp(37px,5vw,66px)/.98 var(--serif);letter-spacing:-.045em}.question-form div{display:flex;width:min(92vw,560px)}.question-form input{flex:1;min-width:0;border:0;border-bottom:1px solid var(--gold);background:rgba(0,0,0,.45);color:var(--ink);padding:13px 15px;font:italic 21px/1.2 var(--serif)}.question-form button{border:1px solid var(--gold);background:#d8a94f;color:#151007;padding:12px 18px;cursor:pointer}.question-form .silence{border:0;background:transparent;color:rgba(255,255,255,.72);font:italic 15px/1 var(--serif)}.answer-echo{min-height:1.6em;margin:7px 0 0;color:#f7d185;font:italic 20px/1.2 var(--serif)}.content--cruce{justify-content:flex-end;padding-bottom:5svh;text-align:center}.content--cruce h2{font-size:clamp(56px,8vw,110px)}.origin{margin:7px auto 20px;color:#f6d79d;font:italic 22px/1.2 var(--serif)}.bridges{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(100%,720px);margin:0 auto}.bridges button{min-height:68px;font:500 10px/1.2 var(--sans);letter-spacing:.08em}.bridges button.active{border-color:var(--gold);background:rgba(226,177,83,.2)}.sleeping{display:flex;justify-content:center;gap:18px;margin:15px 0 0;color:rgba(255,255,255,.6);font:500 8px/1 var(--sans);letter-spacing:.1em}.health{margin:10px 0;color:rgba(255,255,255,.7);font:italic 14px/1.2 var(--serif)}.law{max-width:690px;margin:10px auto;font:400 clamp(18px,2.3vw,26px)/1.2 var(--serif)}.carry{min-height:1.5em;margin:8px auto;color:#f5d08b;font:italic 18px/1.2 var(--serif)}.cross{border:0;border-bottom:1px solid var(--gold);background:transparent;color:var(--ink);padding:10px 0;cursor:pointer;font:italic 18px/1 var(--serif)}.content--cruce>a{margin-top:12px;color:rgba(255,255,255,.66);font:italic 14px/1 var(--serif);text-underline-offset:5px}.planet{position:fixed;z-index:30;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;background:radial-gradient(circle at 50% 43%,rgba(23,52,68,.92),rgba(2,5,7,.99) 52%,#020405 78%),#020405;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .5s,visibility .5s}.planet.open{visibility:visible;opacity:1;pointer-events:auto}.planet__orb{width:clamp(150px,24vw,260px);aspect-ratio:1;border-radius:50%;transform:scale(calc(.98 + var(--swell,.5)*.04));background:radial-gradient(circle at 35% 28%,#d9f5ff 0 1%,#4c9ec3 5%,#17394d 32%,#061018 62%,#020405 75%);box-shadow:0 0 70px rgba(110,206,246,.27),inset -30px -24px 60px #000;position:relative}.planet__orb:after{content:'';position:absolute;inset:49% -35%;height:1px;background:linear-gradient(90deg,transparent,#e7bb68,transparent);box-shadow:0 0 18px #e7bb68;transform:rotate(-8deg)}.planet h3{margin:22px 0 7px;font:400 clamp(34px,5vw,68px)/.95 var(--serif)}.planet p{max-width:590px;margin:5px auto;font:italic 18px/1.35 var(--serif)}.planet__path{color:#a8ddf2;font:500 9px/1 var(--sans)!important;letter-spacing:.17em;text-transform:uppercase}.planet__price{color:#f3cb7d;font-style:normal!important;font-weight:700!important}.planet button{margin-top:16px;border:0;border-bottom:1px solid var(--gold);background:transparent;color:var(--ink);padding:9px 0;cursor:pointer}.no-script{position:fixed;z-index:99;bottom:0;left:0;right:0;background:#211c13;color:#fff;padding:12px;text-align:center;font-size:12px}.fallback .world{display:none}.fallback .scene__image{filter:saturate(.88) contrast(1.08) brightness(.86)}[dir=rtl] .roman{letter-spacing:.08em}[dir=rtl] .content--split h1,[dir=rtl] .content--murmurs h2,[dir=rtl] .content--grieta h2,[dir=rtl] .content--cruce h2{letter-spacing:-.02em}
@media(max-width:760px){.world{opacity:.68}.rail{right:4px}.rail ol{gap:5px}.language{left:10px;bottom:9px}.scene{height:135svh}.scene--murmullos{height:165svh}.scene--devolucion,.scene--cruce{height:155svh}.scene__content{width:calc(100% - 30px);padding:32px 8px 38px}.scene__image{inset:0;width:100%;height:100%;transform:scale(calc(1.05 + var(--local,0)*.09 + var(--swell,.5)*.01)) translate3d(calc(var(--drift-x,0%) + var(--tilt-x,0%)),calc(var(--drift-y,0%) + var(--tilt-y,0%)),0)}.scene--umbral .scene__image{object-position:61% 50%}.scene--escucha .scene__image{object-position:64% 50%}.scene--murmullos .scene__image{object-position:56% 50%}.content--split{display:flex;align-items:flex-start;justify-content:flex-end;gap:18px;padding-bottom:8svh}.content--split h1{font-size:58px}.content--split>div:first-of-type{width:90%}.weights{width:100%;display:grid;grid-template-columns:repeat(5,1fr)}.weights button{font-size:8px;min-height:48px}.content--murmurs{padding-bottom:6svh}.content--murmurs h2{font-size:43px;max-width:92%}.doors{grid-template-columns:repeat(5,1fr)}.doors button{height:46px;font-size:7px}.content--murmurs blockquote{font-size:24px}.content--grieta h2{font-size:53px}.content--estancia blockquote{font-size:52px}.content--devolucion>blockquote{font-size:35px}.question-form label{font-size:39px}.question-form div{width:100%}.content--cruce h2{font-size:61px}.origin{font-size:18px}.bridges button{min-height:56px;font-size:8px}.sleeping{gap:8px;font-size:6px}.law{font-size:17px}.thread{opacity:.72}.planet p{font-size:16px}.planet__orb{width:145px}}
/* Movimiento reducido = modo calmo, NO casa congelada: en Android la
   señal la enciende el sistema y este bloque apagaba hasta las
   transformaciones guiadas por el scroll y el aliento — el visitante
   veía fotos quietas en cada build. Se conserva el scroll sin
   suavizado y el grano más tenue; el movimiento que queda es el que
   el propio visitante guía (caída, respiración), atenuado en el JS. */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.grain{opacity:.035}}

/* ============ ORIGEN · DESCENSO · REGRESO ============ */
.scene--origen{height:170svh}.scene--descenso{height:560svh}.scene--regreso{height:160svh}
.origen__sticky{background:#010203}
.origen__void{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse 60% 45% at 50% 50%,rgba(241,201,121,calc(.03 + var(--swell,.5)*.05)),transparent 70%),#010203}
.origen__pulse{position:absolute;left:50%;top:50%;width:12vmin;height:12vmin;border-radius:50%;transform:translate(-50%,-50%) scale(calc(.7 + var(--swell,.5)*.9));background:radial-gradient(circle,rgba(255,233,176,.5),rgba(241,201,121,.12) 55%,transparent 72%);filter:blur(2px)}
.origen__pulse--2{width:34vmin;height:34vmin;background:radial-gradient(circle,transparent 55%,rgba(241,201,121,.10) 72%,transparent 85%);transform:translate(-50%,-50%) scale(calc(.85 + var(--swell,.5)*.35))}
.origen__line{position:absolute;left:50%;top:50%;width:92vw;height:1px;background:linear-gradient(90deg,transparent,#ffe9b0 30% 70%,transparent);box-shadow:0 0 18px rgba(255,233,176,.8);transform:translate(-50%,-50%) scaleX(.06)}
.origen__mirror{position:absolute;left:50%;top:50%;width:min(46vmin,340px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 38% 32%,rgba(233,244,255,.20),rgba(120,160,190,.06) 45%,transparent 70%);border:1px solid rgba(233,244,255,.14);opacity:0}
.origen__shards{position:absolute;left:50%;top:50%;width:70vmin;height:70vmin;transform:translate(-50%,-50%);opacity:0}
.origen__shards i{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#ffe9b0;box-shadow:0 0 10px #f1c979}
.origen__shards i:nth-child(1){transform:translate(-19vmin,-12vmin)}.origen__shards i:nth-child(2){transform:translate(15vmin,-17vmin)}.origen__shards i:nth-child(3){transform:translate(22vmin,7vmin)}.origen__shards i:nth-child(4){transform:translate(-23vmin,11vmin)}.origen__shards i:nth-child(5){transform:translate(-7vmin,19vmin)}.origen__shards i:nth-child(6){transform:translate(9vmin,16vmin)}.origen__shards i:nth-child(7){transform:translate(-13vmin,-20vmin)}.origen__shards i:nth-child(8){transform:translate(18vmin,-4vmin)}
.content--origen{align-items:center;text-align:center}
.origen__first{margin:0;font:italic 400 clamp(15px,1.8vw,20px)/1.3 var(--serif);color:rgba(255,255,255,.55);animation:origenIn 2.4s ease .3s both}
.origen__q{margin:14px 0 0;font:italic 400 clamp(44px,7.5vw,96px)/1 var(--serif);letter-spacing:-.03em;color:#f7e7bd;text-shadow:0 0 calc(18px + var(--swell,.5)*26px) rgba(241,201,121,.45);animation:origenIn 2.8s ease 1s both}
.origen__q.answered{font-size:clamp(24px,3.4vw,40px);color:rgba(255,255,255,.6);text-shadow:none}
.origen__name{margin:10px 0 0;font:400 clamp(40px,7vw,88px)/1 var(--serif);color:#ffe9b0;letter-spacing:-.02em}
.origen__murmurs{position:absolute;bottom:12svh;left:0;right:0;margin:0;font:italic 400 15px/1 var(--serif);color:rgba(255,255,255,.5);opacity:0}
.origen__murmurs span{margin:0 .55em}
@keyframes origenIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* DESCENSO */
.descenso__sticky{background:#020507}
.roman--descenso{position:absolute;z-index:8;top:clamp(24px,5svh,52px);left:max(23px,calc(50% - 590px));margin:0;font:500 9px/1 var(--sans);letter-spacing:.32em;color:rgba(255,255,255,.55)}
.beat{position:absolute;inset:0;overflow:hidden;opacity:0}
.plane{position:absolute;inset:-9%;background-size:cover;background-position:50% 50%;background-repeat:repeat-x;will-change:transform,background-position;filter:saturate(.9) contrast(1.06) brightness(.98)}
.plane--back{filter:saturate(.82) contrast(1.04) brightness(.8)}
/* las capas ya no se recortan con tijera: se funden con máscaras degradadas,
   sin línea recta que delate la costura entre un plano y el siguiente */
.plane--mid{-webkit-mask-image:linear-gradient(180deg,transparent 3%,#000 19%,#000 74%,transparent 90%);mask-image:linear-gradient(180deg,transparent 3%,#000 19%,#000 74%,transparent 90%)}
.plane--front{filter:saturate(.97) contrast(1.08) brightness(1.03);-webkit-mask-image:linear-gradient(180deg,transparent 42%,#000 64%);mask-image:linear-gradient(180deg,transparent 42%,#000 64%)}
.beat--mares .plane--mid{-webkit-mask-image:linear-gradient(180deg,transparent 24%,#000 44%,#000 62%,transparent 84%);mask-image:linear-gradient(180deg,transparent 24%,#000 44%,#000 62%,transparent 84%)}
.beat--mares .plane--front{-webkit-mask-image:linear-gradient(180deg,transparent 48%,#000 72%);mask-image:linear-gradient(180deg,transparent 48%,#000 72%)}
.beat--vida .plane--front{-webkit-mask-image:linear-gradient(180deg,transparent 36%,#000 60%);mask-image:linear-gradient(180deg,transparent 36%,#000 60%)}
.beat--humano .plane{background-position:40% 45%}
.beat__word{position:absolute;z-index:6;bottom:6svh;left:0;right:0;margin:0;text-align:center;font:italic 400 clamp(20px,2.6vw,32px)/1 var(--serif);color:rgba(255,244,214,.85);text-shadow:0 2px 18px #000;letter-spacing:.04em}
.stars-dots{position:absolute;inset:0;background-image:radial-gradient(1.5px 1.5px at 18% 28%,#ffe9b0,transparent),radial-gradient(1px 1px at 66% 16%,#bdeaff,transparent),radial-gradient(1.5px 1.5px at 82% 42%,#ffe9b0,transparent),radial-gradient(1px 1px at 38% 64%,#fff,transparent),radial-gradient(1.5px 1.5px at 55% 82%,#f1c979,transparent),radial-gradient(1px 1px at 27% 86%,#bdeaff,transparent);animation:twinkle 3.6s ease-in-out infinite alternate}
@keyframes twinkle{from{opacity:.35}to{opacity:.95}}
.blackhole{position:absolute;left:50%;top:50%;width:120vmin;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(calc(.92 + var(--swell,.5)*.14));background:radial-gradient(circle,transparent 42%,rgba(0,0,0,calc(.10 + var(--swell,.5)*.16)) 68%,transparent 78%);pointer-events:none}
.sea-shine{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(255,220,150,calc(.05 + var(--swell,.5)*.13)) 62%,transparent 88%);mix-blend-mode:screen;will-change:opacity,transform}
.animals{position:absolute;inset:0;color:rgba(2,8,10,.88)}
.animal{position:absolute;width:64px;filter:drop-shadow(0 0 8px rgba(255,216,140,.6)) drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.animal--bird{width:84px;left:14%;top:15%}.animal--fish{width:88px;left:58%;top:56%;color:rgba(2,16,22,.88);filter:drop-shadow(0 0 10px rgba(255,220,150,.75)) drop-shadow(0 2px 8px rgba(0,0,0,.55))}.animal--deer{width:136px;left:26%;top:70%;color:rgba(3,10,10,.93);filter:drop-shadow(0 0 7px rgba(255,216,140,.55)) drop-shadow(0 2px 5px rgba(0,0,0,.5))}
.fish-wake{position:absolute;width:120px;height:30px;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,rgba(255,228,165,.34),rgba(150,220,255,.12) 55%,transparent 72%);filter:blur(3px);opacity:0;pointer-events:none}
.merge-ring{position:absolute;left:50%;top:50%;width:min(52vmin,380px);aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(calc(.9 + var(--swell,.5)*.16 + var(--bp,0)*.26));border:1px solid rgba(255,233,176,.75);box-shadow:0 0 calc(30px + var(--swell,.5)*40px + var(--bp,0)*36px) rgba(241,201,121,.4),inset 0 0 50px rgba(241,201,121,.14)}
/* REGRESO */
.content--regreso{align-items:center;text-align:center;justify-content:center}
.regreso__line{max-width:640px;margin:0;font:italic 400 clamp(19px,2.4vw,27px)/1.3 var(--serif);color:rgba(255,255,255,.85)}
.regreso__q{margin:26px 0 0;font:italic 400 clamp(22px,3vw,32px)/1 var(--serif);color:rgba(255,255,255,.55)}
.regreso__name{margin:8px 0 0;font:400 clamp(44px,8vw,100px)/1 var(--serif);color:#ffe9b0;letter-spacing:-.02em;text-shadow:0 0 34px rgba(241,201,121,.5)}
.regreso__open{margin:10px 0 0;font:italic 400 17px/1.3 var(--serif);color:rgba(255,255,255,.6)}
.regreso__climb{margin-top:30px;color:var(--gold);font:italic 17px/1 var(--serif);text-underline-offset:6px}
/* DESCENSO PRO (WebGL): el canvas construye los tres primeros mundos en
   tiempo real; los planos fotográficos DOM de esos golpes se apagan y las
   siluetas, la palabra y el resplandor de superficie quedan por encima.
   Sin la clase gl-on, todo sigue exactamente como la cadena de respaldo. */
.descenso-gl{position:absolute;inset:0;z-index:2;width:100%;height:100%;display:block;pointer-events:none}
/* ESTACIONES: el visitante puede quedarse en cada mundo. El arrastre
   horizontal mira alrededor dentro del mundo; el vertical sigue bajando
   (pan-y). Al atracar, el mundo nombra la estancia en voz baja. */
.descenso__sticky{touch-action:pan-y}
.station{position:absolute;z-index:9;left:0;right:0;bottom:12svh;margin:0;padding:0 24px;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .9s ease,transform .9s ease;pointer-events:none}
.scene--descenso.docked .station{opacity:1;transform:none}
.station__line{display:block;font:italic 400 clamp(16px,2vw,21px)/1.35 var(--serif);color:rgba(255,244,214,.92);text-shadow:0 2px 16px #000,0 0 34px rgba(0,0,0,.65)}
.beat .plane{transition:filter .6s ease}
.beat.touched .plane{filter:brightness(1.17) saturate(1.06)}
/* (2)+(8) en modo foto, la visita tiñe el descenso con su propia semilla;
   (9) el pico abre el mundo entero también sobre la foto */
.scene--descenso:not(.gl-on) .descenso__sticky{filter:hue-rotate(var(--vhue,0deg))}
.beat{transition:filter 1.2s ease}
.beat.peak{filter:brightness(1.2) saturate(1.14)}
.regreso__peak{margin:14px 0 0;font:italic 400 clamp(16px,2vw,20px)/1.35 var(--serif);color:#f3d79f;text-shadow:0 2px 14px #000}
.animal{transition:filter .5s ease}
.animal.attentive{filter:drop-shadow(0 0 15px rgba(255,220,150,.95)) drop-shadow(0 2px 6px rgba(0,0,0,.5)) brightness(1.4)}
/* ESTELAS DE CAÍDA (modo foto): rayos radiales en la periferia cuya
   fuerza es la velocidad del cuerpo que cae (--fall, del motor de
   gravedad); en GL las dibuja el shader de postproceso (uFall) */
.scene--descenso:not(.gl-on) .descenso__sticky::after{content:'';position:absolute;inset:-12%;z-index:7;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0deg 5deg,rgba(214,236,255,.055) 5.6deg 6.1deg,transparent 6.8deg 11deg);-webkit-mask-image:radial-gradient(circle,transparent 32%,#000 76%,transparent 98%);mask-image:radial-gradient(circle,transparent 32%,#000 76%,transparent 98%);opacity:calc(var(--fall,0)*.85);transform:scale(calc(1 + var(--fall,0)*.22))}
.scene--descenso.gl-on .beat--stars .plane,.scene--descenso.gl-on .beat--agujero .plane,.scene--descenso.gl-on .beat--solar .plane,.scene--descenso.gl-on .beat--mares .plane,.scene--descenso.gl-on .beat--vida .plane{visibility:hidden}
.scene--descenso.gl-on .world-layer{visibility:hidden}
.scene--descenso.gl-on .stars-dots,.scene--descenso.gl-on .blackhole{visibility:hidden}
/* Cadena de respaldo: SOLO con el motor de movimiento muerto (.frozen,
   lo decide el latido de origen.js) el descenso se cuenta en capas quietas.
   Con el corazón latiendo, el respaldo es solo cosmético y la caída sigue. */
.fallback.frozen .scene--descenso{height:auto}
.fallback.frozen .descenso__sticky{position:relative;height:auto}
.fallback.frozen .beat{position:relative;inset:auto;height:62svh;opacity:1!important;visibility:visible!important}
.fallback.frozen .plane{transform:none!important}
.fallback.frozen .scene--origen{height:110svh}
@media(max-width:760px){.scene--descenso{height:520svh}.scene--origen{height:155svh}.blackhole{left:58%;width:44vmin}.animal--deer{width:98px}.roman--descenso{left:15px}}
@media(prefers-reduced-motion:reduce){.origen__q,.origen__first{animation:none}.stars-dots{animation:none}}

/* ============ LA LLEGADA A LA MANO (primera persona) ============
   Capa fija que cruza la frontera Descenso→Umbral sin corte: manos
   reales entran por los bordes sosteniendo un teléfono; en su pantalla,
   diminuto, el Origen otra vez y un anillo que crece hasta coincidir
   con el anillo de la respiración. El pulgar sobre la pantalla es
   pieza aparte: el toque real del visitante lo hunde en el mismo
   golpe (.pressing lo gobierna landing.js). Sin texto: el cuerpo lo
   nota solo. */
.landing{position:fixed;inset:0;z-index:15;pointer-events:none;visibility:hidden}
.land__stage{position:absolute;left:50%;bottom:-7svh;height:114svh;aspect-ratio:600/1138;will-change:transform,opacity}
.land__hands{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.05) brightness(.94);-webkit-mask-image:radial-gradient(ellipse 82% 90% at 50% 47%,#000 58%,transparent 99%);mask-image:radial-gradient(ellipse 82% 90% at 50% 47%,#000 58%,transparent 99%)}
.land__origin{position:absolute;left:50.3%;top:43.2%;width:34%;transform:translate(-50%,-50%);opacity:.55}
.land__line{position:absolute;left:50%;top:50%;width:58%;height:1px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#ffe9b0 32% 68%,transparent);box-shadow:0 0 8px rgba(255,233,176,.7)}
.land__dot{position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;transform:translate(-50%,-50%);background:#ffe9b0;box-shadow:0 0 10px 3px rgba(241,201,121,.55)}
.land__thumb{position:absolute;left:38.33%;top:39.54%;width:41.67%;transition:transform .16s ease,filter .16s ease;will-change:transform}
.landing.pressing .land__thumb{transform:translate(-2.6%,1.5%) scale(.968);filter:brightness(1.16)}
.landing.pressing .land__stage{filter:brightness(1.03)}
.land__ring{position:absolute;border:1px solid rgba(255,233,176,.85);border-radius:50%;box-shadow:0 0 34px rgba(241,201,121,.35),inset 0 0 30px rgba(169,228,255,.16);opacity:0;will-change:left,top,width,height,opacity}
.land__static{display:none}
.fallback .land__static{display:block;position:absolute;inset:0;overflow:hidden}
.fallback .land__static img{width:100%;height:100%;object-fit:cover;object-position:50% 82%;opacity:.94;filter:saturate(.82) contrast(1.05) brightness(.94)}
@media(max-width:760px){.land__stage{height:116svh;bottom:-8svh}}
@media(prefers-reduced-motion:reduce){.land__thumb{transition:none}.landing.pressing .land__thumb{transform:none;filter:none}}

/* ============ ESTANCIA VIVA · REGRESO SIN SALIDA ============ */
.scene--estancia.lit .scene__image{filter:saturate(.9) contrast(1.08) brightness(1.02)}
.scene--estancia.lit blockquote{text-shadow:0 0 64px #c07f22,0 0 22px rgba(255,205,110,.55)}
.scene--estancia blockquote{transition:text-shadow 1.2s ease}
.fall-again{margin-top:26px;border:1px solid rgba(230,184,95,.55);border-radius:999px;background:rgba(216,169,79,.1);color:#f3d79f;padding:13px 30px;cursor:pointer;font:italic 400 18px/1 var(--serif);letter-spacing:.02em;transition:background .5s,box-shadow .5s}
.fall-again:hover,.fall-again:active{background:rgba(216,169,79,.22);box-shadow:0 0 34px rgba(230,184,95,.3)}

/* ============ SUB-TÚNELES: LAS BOCAS Y LA PRIMERA CÁMARA ============
   En cada estación atracada, una boca respira en el mundo: una rendija
   de luz con su invitación. Detrás, la cámara donde jugar es crear.
   La boca solo existe con la estación viva (dataset.mouth lo gobierna
   tuneles.js desde el estado de atraque compartido). */
.mouth{position:absolute;z-index:10;left:50%;bottom:24svh;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:9px;border:0;background:transparent;color:rgba(255,244,214,.92);cursor:pointer;padding:14px 18px;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s;pointer-events:none;-webkit-tap-highlight-color:transparent}
.mouth__ring{width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,233,176,.65);box-shadow:0 0 26px rgba(241,201,121,.35),inset 0 0 18px rgba(241,201,121,.22);transform:scale(calc(.92 + var(--swell,.5)*.14));animation:mouthBreath 4.6s ease-in-out infinite}
.mouth__cap{font:italic 400 15px/1.2 var(--serif);letter-spacing:.03em;text-shadow:0 2px 14px #000}
@keyframes mouthBreath{0%,100%{box-shadow:0 0 18px rgba(241,201,121,.25),inset 0 0 12px rgba(241,201,121,.16)}50%{box-shadow:0 0 36px rgba(241,201,121,.5),inset 0 0 24px rgba(241,201,121,.3)}}
.scene--descenso[data-mouth="0"] .mouth--stars,.scene--descenso[data-mouth="1"] .mouth--bh,.scene--descenso[data-mouth="3"] .mouth--sea,.scene--descenso[data-mouth="4"] .mouth--vida{opacity:1;visibility:visible;pointer-events:auto}
.tunel{position:fixed;inset:0;z-index:42;display:none;background:#020507}
.tunel.open{display:block}
.tunel canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;display:block}
.tunel__caption{position:absolute;top:max(20px,env(safe-area-inset-top));left:0;right:0;margin:0;text-align:center;font:italic 400 clamp(17px,2.2vw,22px)/1.3 var(--serif);color:rgba(255,244,214,.9);text-shadow:0 2px 16px #000;pointer-events:none}
.tunel__deep{position:absolute;left:50%;top:40%;width:120px;height:120px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,233,176,.20),transparent 70%);opacity:calc(.4 + var(--swell,.5)*.6);pointer-events:none}
.tunel__deep-line{position:absolute;left:0;right:0;top:calc(40% + 74px);margin:0;text-align:center;font:italic 400 13.5px/1.3 var(--serif);color:rgba(255,244,214,.5);pointer-events:none}
.tunel__exit{position:absolute;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);border:0;border-bottom:1px solid var(--gold);background:rgba(2,5,7,.35);color:var(--ink);padding:12px 10px;cursor:pointer;font:italic 400 17px/1 var(--serif)}
body.in-tunel{overflow:hidden}
/* ============ CRUCE RENACIDO: NACIMIENTO, NO REPISA ============
   El visitante no elige de un catálogo: dice qué quiere que exista,
   desde su peso, su puerta y su respuesta. La forma nace de su caso. */
.cross-form{display:grid;justify-items:center;gap:8px;width:min(100%,620px);margin:2px auto 4px}
.cross-form label{font:italic 400 clamp(22px,3vw,32px)/1.1 var(--serif);color:#f6d79d}
.cross-form__bring{margin:0;font:italic 400 14.5px/1.35 var(--serif);color:rgba(255,255,255,.62)}
.cross-form textarea{width:100%;min-height:74px;resize:vertical;border:0;border-bottom:1px solid rgba(230,184,95,.65);background:rgba(0,0,0,.45);color:var(--ink);padding:13px 15px;font:italic 400 19px/1.35 var(--serif);border-radius:2px}
.cross-form textarea:focus{outline:none;border-bottom-color:var(--gold);box-shadow:0 14px 30px -18px rgba(230,184,95,.45)}
.cross-form textarea::placeholder{color:rgba(255,255,255,.42)}
.equal{max-width:640px;margin:2px auto 0;font:italic 400 15px/1.35 var(--serif);color:rgba(255,244,214,.78)}
.permanence{width:min(100%,620px);margin:16px auto 0;padding:16px 18px 13px;border:1px solid rgba(230,184,95,.28);background:rgba(3,6,8,.5);backdrop-filter:blur(8px)}
.permanence__title{margin:0;font:500 9px/1.3 var(--sans);letter-spacing:.24em;color:rgba(246,215,157,.9)}
.permanence__copy{margin:9px auto 0;max-width:520px;font:italic 400 16.5px/1.4 var(--serif);color:rgba(255,255,255,.88)}
.permanence__price{margin:9px 0 0;font:700 15px/1.3 var(--sans);letter-spacing:.04em;color:#f3cb7d}
.permanence__note{margin:7px auto 0;max-width:520px;font:italic 400 13.5px/1.35 var(--serif);color:rgba(255,255,255,.55)}
.permanence__slot{margin:12px auto 0}
.permanence__pay{display:inline-block;padding:11px 22px;border:1px solid rgba(169,198,232,.55);color:#A9C6E8;font:600 14.5px/1.25 var(--sans);letter-spacing:.03em;text-decoration:none;transition:border-color .24s ease,color .24s ease,background .24s ease}
.permanence__pay:hover{border-color:#6E93C4;color:#EDE9DD;background:rgba(110,147,196,.12)}
.permanence__pay:focus-visible{outline:2px solid #6E93C4;outline-offset:3px}
.planet{overflow-y:auto}
.planet__step{max-width:560px;color:#cfeaf7}
.planet__step strong{color:#f3d79f;font-weight:400}
@media(max-width:760px){.cross-form textarea{font-size:17px;min-height:64px}.permanence{padding:13px 13px 10px}.permanence__copy{font-size:15px}.equal{font-size:13.5px}.content--cruce{justify-content:flex-start;padding-top:9svh;overflow-y:auto}}
@media(prefers-reduced-motion:reduce){.mouth__ring{animation:none}.breath.holding .breath__ring{transition:none}}

/* ============ LAS OBRAS HABITAN (amueblar la casa) ============
   Las creaciones del creador viven dentro de su mundo, como
   murmullo legible al ritmo del aliento: sin firma civil, sin
   vitrina, sin precio. En su idioma original siempre. */
/* GUERRA CIVIL — el tramo oscuro del descenso */
.obra-tramo{position:absolute;inset:0;z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 26px;text-align:center;opacity:0;pointer-events:none;background:radial-gradient(ellipse 70% 46% at 50% 50%,rgba(0,0,0,.55),transparent 72%)}
.obra-tramo__title,.obra-mano__title{margin:0;font:500 9px/1 var(--sans);letter-spacing:.34em;color:rgba(230,184,95,.75)}
.obra-tramo__line{max-width:620px;margin:16px 0 0;font:italic 400 clamp(22px,3.4vw,38px)/1.25 var(--serif);color:rgba(255,240,214,.94);text-shadow:0 2px 22px #000;transition:opacity .42s ease}
.obra-tramo.swap .obra-tramo__line{opacity:0}
/* TE RECONOCÍ — la mano, la llegada */
.obra-mano{position:absolute;z-index:6;left:0;right:0;bottom:15svh;padding:0 26px;text-align:center;opacity:0;pointer-events:none}
.obra-mano__line{max-width:560px;margin:13px auto 0;font:italic 400 clamp(19px,2.6vw,29px)/1.3 var(--serif);color:rgba(255,244,220,.95);text-shadow:0 2px 18px #000,0 0 34px rgba(0,0,0,.6);transition:opacity .42s ease}
.obra-mano.swap .obra-mano__line{opacity:0}
/* El murmullo dentro de las cámaras de los sub-túneles */
.tunel__obra{position:absolute;left:0;right:0;bottom:max(84px,calc(env(safe-area-inset-bottom) + 62px));padding:0 26px;text-align:center;pointer-events:auto;cursor:pointer;transition:opacity .43s ease}
.tunel__obra.swap{opacity:0}
.tunel__obra-title{margin:0;font:500 9px/1 var(--sans);letter-spacing:.34em;color:rgba(230,184,95,.8)}
.tunel__obra-who{margin:12px 0 0;font:500 10px/1 var(--sans);letter-spacing:.26em;color:rgba(169,228,255,.85);min-height:1em}
.tunel__obra-line{max-width:640px;margin:8px auto 0;font:italic 400 clamp(18px,2.5vw,26px)/1.35 var(--serif);color:rgba(255,244,220,.95);text-shadow:0 2px 16px #000}
.tunel__deeper{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));border:0;border-bottom:1px solid rgba(230,184,95,.55);background:rgba(2,5,7,.35);color:rgba(255,244,220,.85);padding:10px 4px;cursor:pointer;font:italic 400 14.5px/1 var(--serif)}
.tunel__deeper[hidden]{display:none}
.tunel__obra[hidden]{display:none}
.fallback.frozen .obra-tramo{position:relative;inset:auto;height:52svh;opacity:.92!important;background:#050607}
.fallback.frozen .obra-mano{opacity:1!important}
/* Los textos que habitan escenas: Estancia guarda la carta y la
   sumisión; Devolución guarda los cierres de las dos tandas. */
.obra-scene{width:min(680px,100%);margin:5svh auto 0;text-align:center;pointer-events:none}
.obra-scene__title{margin:0;font:500 9px/1 var(--sans);letter-spacing:.34em;color:rgba(230,184,95,.78)}
.obra-scene__line{max-width:640px;min-height:2.7em;margin:13px auto 0;font:italic 400 clamp(18px,2.5vw,27px)/1.35 var(--serif);color:rgba(255,244,220,.94);text-shadow:0 2px 18px #000;transition:opacity .42s ease}
.obra-scene.swap .obra-scene__line{opacity:0}
.obra-scene--devolucion{position:absolute;top:11svh;left:50%;transform:translateX(-50%);margin:0}
.obra-scene--devolucion .obra-scene__line{min-height:2.5em;font-size:clamp(16px,2.1vw,23px)}
@media(max-width:760px){.tunel__deeper{font-size:13px;bottom:auto;top:max(64px,calc(env(safe-area-inset-top) + 44px))}.tunel__obra{bottom:max(96px,calc(env(safe-area-inset-bottom) + 74px))}.obra-mano{bottom:17svh}.obra-scene{margin-top:4svh}.obra-scene__line{font-size:18px}.obra-scene--devolucion{top:9svh}.obra-scene--devolucion .obra-scene__line{font-size:16px}}

/* ============ EL ESCENARIO (veredicto de la mesa) ============
   Entre el Origen y el Umbral no hay documento: un escenario fijo
   absorbe entero el gesto de bajar y lo convierte en profundidad.
   Sin barra de scroll, sin traslación de página, sin costuras —
   los mundos nacen dentro, crecen, envuelven y se atraviesan.
   Al aterrizar, el escenario se suelta y la casa vuelve a ser
   páginas (stage.js gobierna la frontera). */
html.stage-on,body.stage-on{overflow:hidden!important;scrollbar-width:none!important}
html.stage-on::-webkit-scrollbar,body.stage-on::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
body.stage-on .scene--origen,body.stage-on .scene--descenso{position:fixed;inset:0;height:100svh!important}
body.stage-on .scene--origen{z-index:13}
body.stage-on .scene--descenso{z-index:12}
body.stage-on .scene--origen .scene__sticky,body.stage-on .scene--descenso .descenso__sticky{height:100svh}
body.stage-on .origen__sticky,body.stage-on .descenso__sticky{touch-action:none}
/* ============ LA ESCALERA: AGUJERO NEGRO · SISTEMA SOLAR (foto) ====
   En modo GL estos mundos los construye descenso-gl.js en tiempo
   real; aquí viven sus cuerpos en la cadena de respaldo: el disco
   gira, el anillo de luz doblada respira con el aliento y los
   planetas cuelgan en la lejanía — la capa entera crece por looming
   (origen.js la escala con la ley óptica s ∝ 1/d). */
.world-layer{position:absolute;inset:0;z-index:3;pointer-events:none;will-change:transform,opacity;transform-origin:50% 50%}
.bh-core{position:absolute;left:50%;top:50%;width:36vmin;height:36vmin;border-radius:50%;transform:translate(-50%,-50%);background:#000;box-shadow:0 0 60px 18px rgba(0,0,0,.9),0 0 120px 40px rgba(0,0,0,.55)}
.bh-ring{position:absolute;left:50%;top:50%;width:39vmin;height:39vmin;border-radius:50%;transform:translate(-50%,-50%);border:2px solid rgba(255,233,176,.85);box-shadow:0 0 22px rgba(255,214,130,.75),inset 0 0 18px rgba(255,214,130,.4);opacity:calc(.55 + var(--swell,.5)*.45)}
.bh-disk{position:absolute;left:50%;top:50%;width:104vmin;height:30vmin;border-radius:50%;transform:translate(-50%,-50%) rotate(-9deg);background:radial-gradient(ellipse at 50% 50%,transparent 26%,rgba(255,196,110,.16) 40%,rgba(255,166,66,.5) 55%,rgba(255,226,160,.85) 68%,rgba(255,150,50,.35) 82%,transparent 96%);filter:blur(1.2px);animation:bhSpin 26s linear infinite}
.bh-jet{position:absolute;left:50%;width:3px;height:26vmin;transform:translateX(-50%);background:linear-gradient(180deg,transparent,rgba(169,228,255,.5));filter:blur(1px)}
.bh-jet--up{bottom:64%;background:linear-gradient(0deg,transparent,rgba(169,228,255,.5))}
.bh-jet--down{top:64%}
@keyframes bhSpin{from{transform:translate(-50%,-50%) rotate(-9deg) scale(1)}50%{transform:translate(-50%,-50%) rotate(-9deg) scale(1.045)}to{transform:translate(-50%,-50%) rotate(-9deg) scale(1)}}
.orb{position:absolute;border-radius:50%;transform:translate(-50%,-50%)}
.orb--sun{left:16%;top:26%;width:17vmin;height:17vmin;background:radial-gradient(circle at 42% 40%,#fff6d8,#ffd98c 38%,#f2a94e 68%,rgba(242,169,78,0) 78%);box-shadow:0 0 70px 26px rgba(255,205,110,.4)}
.orb--mercury{left:64%;top:20%;width:2.6vmin;height:2.6vmin;background:radial-gradient(circle at 38% 34%,#e8e2d6,#9a917f 60%,#57503f)}
.orb--venus{left:78%;top:38%;width:4.6vmin;height:4.6vmin;background:radial-gradient(circle at 38% 34%,#ffeec4,#dfa95e 58%,#8a5a24);box-shadow:0 0 18px rgba(255,214,140,.35)}
.orb--earth{left:56%;top:58%;width:6.4vmin;height:6.4vmin;background:radial-gradient(circle at 36% 32%,#cfeeff,#5ea8d8 34%,#2e6da3 55%,#1d5c38 74%,#0d2c46);box-shadow:0 0 26px rgba(120,200,255,.5)}
.orb--mars{left:82%;top:66%;width:3.6vmin;height:3.6vmin;background:radial-gradient(circle at 38% 34%,#ffc9a3,#c96f3f 58%,#6e3018)}
.orb--jupiter{left:26%;top:72%;width:10vmin;height:10vmin;background:repeating-linear-gradient(178deg,#e8c9a0 0 12%,#b98a5a 12% 20%,#e5d3ae 20% 30%,#a5713d 30% 38%,#e8c9a0 38% 50%);box-shadow:0 0 30px rgba(230,190,130,.3)}
.orb--saturn{left:44%;top:14%;width:7vmin;height:7vmin;background:radial-gradient(circle at 38% 34%,#f2e2b8,#c8a86a 60%,#7d5f30);box-shadow:0 0 20px rgba(230,200,140,.3)}
.orb--saturn:after{content:'';position:absolute;left:50%;top:50%;width:15vmin;height:3.6vmin;border-radius:50%;transform:translate(-50%,-50%) rotate(-14deg);border:2px solid rgba(240,220,170,.55)}
.orb--uranus{left:68%;top:84%;width:4.2vmin;height:4.2vmin;background:radial-gradient(circle at 38% 34%,#dffcff,#8fd4dc 55%,#3d7d8c);box-shadow:0 0 16px rgba(160,230,235,.3)}
.orb--neptune{left:12%;top:52%;width:3.8vmin;height:3.8vmin;background:radial-gradient(circle at 38% 34%,#cfe0ff,#5f7fe0 55%,#24377a);box-shadow:0 0 16px rgba(130,160,255,.35)}
/* LA TIERRA VIVA: árboles en primer plano que se abren al paso y un
   ave que cruza el claro — habitantes DOM sobre el mundo GL y la foto */
.trees{position:absolute;inset:auto 0 -2% 0;height:46%;z-index:4;color:rgba(2,10,5,.92);pointer-events:none}
.tree{position:absolute;bottom:0;filter:drop-shadow(0 0 6px rgba(190,255,190,.14));transform-origin:50% 100%;animation:treeSway 7s ease-in-out infinite alternate}
.tree--a{left:2%;height:96%;width:auto}
.tree--b{left:50%;transform:translateX(-50%);height:64%;width:auto;animation-delay:-3s}
.tree--c{right:2%;height:88%;width:auto;animation-delay:-5s}
@keyframes treeSway{from{transform:rotate(-.7deg)}to{transform:rotate(.9deg)}}
.tree--b{animation-name:treeSwayB}
@keyframes treeSwayB{from{transform:translateX(-50%) rotate(-.7deg)}to{transform:translateX(-50%) rotate(.9deg)}}
.vida-bird{left:0;top:16%;color:rgba(2,10,8,.85);animation:birdCross 36s linear infinite}
@keyframes birdCross{0%{transform:translate(-14vw,0) scale(.8)}25%{transform:translate(22vw,-2.2vh) scale(.95)}55%{transform:translate(58vw,1.2vh) scale(1.05)}100%{transform:translate(116vw,-1vh) scale(1.15)}}
.animal--whale{width:min(320px,58vw);left:-8%;top:63%;color:rgba(1,8,14,.5);filter:blur(2.5px);animation:whaleDrift 48s ease-in-out infinite alternate}
@keyframes whaleDrift{from{transform:translateX(-6vw) translateY(0)}to{transform:translateX(54vw) translateY(-3vh)}}
@media(prefers-reduced-motion:reduce){.bh-disk,.tree,.vida-bird,.animal--whale{animation:none}}
/* ============ PROFUNDIDAD GENERATIVA: HUD DE LAS CÁMARAS-JUEGO ====
   La profundidad se nombra en voz baja, la mecánica se insinúa en una
   línea, la palabra de la marea respira al centro y la luz de más
   adentro es un botón sin marco: seguir entrando es tocarla. El eco
   vive hondo (profundidad ≥ 2): una palabra dicha, devuelta tarde. */
.tunel__depth{position:absolute;top:calc(max(20px,env(safe-area-inset-top)) + 34px);left:0;right:0;margin:0;text-align:center;font:500 9px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:rgba(230,184,95,.75);pointer-events:none}
.tunel__hint{position:absolute;top:calc(max(20px,env(safe-area-inset-top)) + 56px);left:0;right:0;margin:0;padding:0 30px;text-align:center;font:italic 400 13.5px/1.4 var(--serif);color:rgba(255,244,214,.62);pointer-events:none}
.tunel__word{position:absolute;top:19svh;left:0;right:0;margin:0;text-align:center;font:italic 400 clamp(26px,4.5vw,40px)/1 var(--serif);letter-spacing:.42em;color:rgba(190,255,235,.92);text-shadow:0 0 24px rgba(120,255,210,.35);pointer-events:none}
.tunel__godeep{position:absolute;left:50%;top:calc(40% + 108px);transform:translateX(-50%);border:0;border-bottom:1px solid rgba(230,184,95,.6);background:rgba(2,5,7,.3);color:rgba(255,244,220,.92);padding:9px 6px;cursor:pointer;font:italic 400 15.5px/1 var(--serif);-webkit-tap-highlight-color:transparent}
.tunel__godeep[hidden]{display:none}
.tunel__echo{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:flex;gap:0;width:min(76vw,320px)}
.tunel__echo[hidden]{display:none}
.tunel__echo input{flex:1;min-width:0;border:0;border-bottom:1px solid rgba(169,228,255,.55);background:rgba(0,0,0,.4);color:var(--ink);padding:10px 12px;font:italic 16px/1.2 var(--serif)}
.tunel__echo input:focus{outline:none;border-bottom-color:var(--blue)}
.tunel__echo button{border:1px solid rgba(169,228,255,.55);background:rgba(119,197,230,.14);color:var(--ink);padding:10px 14px;cursor:pointer;font:italic 15px/1 var(--serif)}
.tunel__echo-out{position:absolute;left:0;right:0;top:calc(max(20px,env(safe-area-inset-top)) + 98px);margin:0;padding:0 26px;text-align:center;font:italic 400 clamp(17px,2.4vw,23px)/1.3 var(--serif);color:#bdeaff;text-shadow:0 2px 14px #000;pointer-events:none}
@media(max-width:760px){.tunel__hint{font-size:12.5px;padding:0 20px}.tunel__word{top:16svh}}

/* ============ CREACIÓN · EL TALLER ============
   La puerta despierta: quien elige CREACIÓN en los Murmullos es
   reconocido como creador y llevado al taller, que vive sobre la
   Estancia sin pisar las obras del creador. La obra del visitante
   se guarda en la memoria de la visita, arde en su Regreso y dentro
   de los sub-túneles — aparte, con su propio nombre: «tu obra». */
.creator-path{margin:18px 0 0;text-align:left}
.creator-path[hidden]{display:none}
.creator-path__line{margin:0;font:italic 400 clamp(22px,3vw,34px)/1.15 var(--serif);color:#ffe9b0;text-shadow:0 2px 16px #000}
.creator-path__go{margin-top:10px;border:1px solid rgba(230,184,95,.6);border-radius:999px;background:rgba(216,169,79,.12);color:#f3d79f;padding:11px 24px;cursor:pointer;font:italic 400 16px/1 var(--serif)}
.creator-path__go:hover,.creator-path__go:active{background:rgba(216,169,79,.24)}
.taller-entry{margin-top:4svh;text-align:center}
.taller-entry__btn{border:0;border-bottom:1px solid var(--gold);background:transparent;color:var(--ink);padding:10px 2px;cursor:pointer;font:italic 400 18px/1 var(--serif)}
.taller-entry__note{margin:9px auto 0;max-width:520px;font:italic 400 14px/1.4 var(--serif);color:rgba(255,244,214,.62)}
.taller{position:fixed;inset:0;z-index:46;display:none;background:radial-gradient(ellipse at 50% 38%,rgba(24,32,26,.96),rgba(2,5,7,.99) 62%),#020507;overflow-y:auto}
.taller.open{display:block}
body.in-taller{overflow:hidden}
.taller__inner{width:min(100% - 40px,760px);margin:0 auto;padding:calc(max(22px,env(safe-area-inset-top)) + 8px) 0 calc(max(26px,env(safe-area-inset-bottom)) + 10px)}
.taller__roman{margin:0;text-align:center;font:500 9px/1.4 var(--sans);letter-spacing:.32em;color:rgba(246,215,157,.9)}
.taller__quiet{margin:14px auto 0;max-width:560px;text-align:center;font:italic 400 16.5px/1.45 var(--serif);color:rgba(255,255,255,.78)}
.taller__intro{margin:12px auto 0;max-width:560px;text-align:center;font:italic 400 15.5px/1.55 var(--serif);color:rgba(246,215,157,.85)}
.taller__tools{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:24px 0 18px}
.taller__tools button{border:1px solid rgba(255,255,255,.22);background:rgba(3,6,8,.54);color:var(--ink);padding:10px 14px;cursor:pointer;font:italic 400 15px/1 var(--serif);max-width:236px}
.taller__tool-name{display:block}
.taller__tool-why{display:block;margin-top:5px;font:italic 400 12.5px/1.4 var(--serif);color:rgba(255,255,255,.55)}
.taller__tools button.active .taller__tool-why{color:rgba(255,233,176,.78)}
.taller__tools button.active{border-color:var(--gold);background:rgba(226,177,83,.18);color:#ffe9b0}
.taller__panel{max-width:640px;margin:0 auto}
.taller__panel[hidden]{display:none}
.taller__panel textarea{width:100%;resize:vertical;border:0;border-bottom:1px solid rgba(230,184,95,.55);background:rgba(0,0,0,.42);color:var(--ink);padding:13px 14px;font:italic 400 19px/1.45 var(--serif);border-radius:2px}
.taller__panel textarea:focus{outline:none;border-bottom-color:var(--gold)}
.taller__panel textarea::placeholder{color:rgba(255,255,255,.4)}
.taller__row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.taller__act{border:1px solid rgba(255,255,255,.28);background:rgba(3,6,8,.5);color:var(--ink);padding:10px 16px;cursor:pointer;font:italic 400 15px/1 var(--serif)}
.taller__act--gold{border-color:rgba(230,184,95,.65);color:#f3d79f;background:rgba(216,169,79,.12)}
.taller__act.listening{border-color:var(--blue);color:#bdeaff}
.taller__hint{margin:12px 0 0;font:italic 400 14px/1.45 var(--serif);color:rgba(255,255,255,.6)}
.taller__canvas{display:block;width:100%;height:min(46svh,380px);border:1px solid rgba(255,255,255,.14);background:#04070a;touch-action:none;cursor:crosshair}
.taller__eco{display:flex;gap:0;max-width:520px;margin:8px auto 0}
.taller__eco input{flex:1;min-width:0;border:0;border-bottom:1px solid rgba(169,228,255,.55);background:rgba(0,0,0,.42);color:var(--ink);padding:12px 13px;font:italic 18px/1.2 var(--serif)}
.taller__eco input:focus{outline:none;border-bottom-color:var(--blue)}
.taller__eco-out{min-height:1.6em;margin:16px 0 0;text-align:center;font:italic 400 clamp(19px,2.6vw,26px)/1.3 var(--serif);color:#bdeaff}
.taller__saved{min-height:1.5em;margin:20px 0 0;text-align:center;font:italic 400 16px/1.3 var(--serif);color:#f3d79f;transition:opacity 1.2s ease}
.taller__shelf{margin-top:30px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px}
.taller__shelf-title{margin:0;text-align:center;font:500 9px/1.3 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:rgba(230,184,95,.8)}
.taller__exit{display:block;margin:30px auto 0;border:0;border-bottom:1px solid var(--gold);background:transparent;color:var(--ink);padding:11px 4px;cursor:pointer;font:italic 400 17px/1 var(--serif)}
.yours{width:min(680px,100%);margin:30px auto 0;text-align:center}
.yours[hidden]{display:none}
.yours__title{margin:0 0 14px;font:italic 400 clamp(21px,2.8vw,30px)/1.15 var(--serif);color:#ffe9b0;text-shadow:0 2px 14px #000}
.yours__list{display:grid;gap:12px}
.yours__list--shelf{margin-top:14px;text-align:left}
.yours__item{border:1px solid rgba(255,255,255,.14);background:rgba(3,6,8,.5);padding:13px 15px;text-align:left;backdrop-filter:blur(6px)}
.yours__item.reading{border-color:rgba(230,184,95,.65)}
.yours__meta{margin:0;font:500 8.5px/1.3 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:rgba(169,228,255,.8)}
.yours__text{margin:8px 0 0;font:italic 400 17px/1.45 var(--serif);color:rgba(255,244,220,.94);white-space:pre-wrap;overflow-wrap:anywhere}
.yours__thumb{display:block;width:min(300px,100%);height:auto;margin-top:10px;border:1px solid rgba(255,255,255,.1)}
.yours__listen{margin-top:10px;border:0;border-bottom:1px solid rgba(169,228,255,.6);background:transparent;color:#bdeaff;padding:6px 0;cursor:pointer;font:italic 400 14.5px/1 var(--serif)}
.tunel__yours{position:absolute;left:0;right:0;top:27svh;padding:0 26px;text-align:center;pointer-events:none;z-index:3}
.tunel__yours[hidden]{display:none}
.tunel__yours-title{margin:0;font:500 9px/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:rgba(169,228,255,.85)}
.tunel__yours canvas{display:block;width:min(240px,62vw);height:auto;margin:10px auto 0;opacity:.92}
.tunel__yours-line{max-width:520px;margin:10px auto 0;font:italic 400 clamp(16px,2.2vw,21px)/1.35 var(--serif);color:rgba(220,240,255,.95);text-shadow:0 2px 14px #000}
@media(max-width:760px){.taller__inner{width:calc(100% - 26px)}.taller__canvas{height:42svh}.tunel__yours{top:24svh}.yours__text{font-size:16px}}
.taller__dictate-note{margin-top:14px;border:1px solid rgba(169,228,255,.4);background:rgba(10,24,34,.55);padding:13px 15px}
.taller__dictate-note[hidden]{display:none}
.taller__dictate-note p{margin:0 0 11px;font:italic 400 14.5px/1.5 var(--serif);color:rgba(230,244,255,.92)}

/* ============ LAS PIELES DE VIDEO (orden del dueño, 08:27) ============
   El collage murió: fuera los planos de foto apilados con máscaras,
   fuera las siluetas-recorte de pinos/venado/pez. Cada mundo del
   descenso es ahora UNA piel de footage real a pantalla completa
   (Pexels, licencia libre; el agujero negro tratado al color de la
   casa), vendorizada en assets/video — un mundo a la vez, fundido
   por la profundidad de la caída, con la capa interactiva (GL z2,
   golpes y palabras z3, estaciones y bocas por encima) sobre ella.
   La foto queda como póster y como respaldo honesto: donde el video
   no corre, cada golpe guarda UNA imagen plena (.plane--skin), nunca
   capas encimadas. En el respaldo congelado las pieles se apagan y
   esa imagen plena cuenta el mundo en silencio. */
.world-skin{position:absolute;inset:0;z-index:1;overflow:hidden;background:#020507;pointer-events:none}
.world-skin__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;visibility:hidden;filter:saturate(.92) contrast(1.05) brightness(.96)}
.beat{z-index:3}
.plane--skin{inset:0;-webkit-mask-image:none;mask-image:none;filter:saturate(.9) contrast(1.06) brightness(.94)}
.scene--descenso.video-live .plane--skin{visibility:hidden}
.fallback.frozen .world-skin{display:none}

/* ============ MEMORIA · LA FASE DE MEMORIA EN EL APARATO ============
   La casa por fin recuerda ENTRE visitas — pero solo dentro del
   aparato del visitante (ia1_ en localStorage): su nombre dado, su
   obra, su peso y su puerta, su aliento calibrado, su frase, sus
   respuestas a la pregunta de la noche y sus visitas. Nada sale a
   ningún servidor; la cámara «tu espacio» lo muestra todo y guarda
   el acto de olvido total. La memoria entre personas y el panel del
   planeta son de la fase de backend: aquí no se fingen. */
.origen__back{margin:18px auto 0;max-width:580px;text-align:center}
.origen__back[hidden]{display:none}
.origen__back span{display:block;margin-top:5px;font:italic 400 clamp(15px,2vw,19px)/1.5 var(--serif);color:rgba(246,215,157,.94);text-shadow:0 2px 12px #000}
.taller-entry__btn--space{margin-top:8px;font-size:16px;color:rgba(255,244,214,.85)}
.fall-again--space{display:block;margin:26px auto 0}
.nightq{margin:28px auto 0;max-width:580px;text-align:center}
.nightq[hidden]{display:none}
.nightq__label{margin:0;font:500 9px/1.3 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:rgba(169,228,255,.85)}
.nightq__q{margin:12px 0 0;font:italic 400 clamp(22px,3.2vw,32px)/1.25 var(--serif);color:#ffe9b0;text-shadow:0 2px 14px #000}
.nightq__form{display:flex;max-width:520px;margin:16px auto 0}
.nightq__form[hidden]{display:none}
.nightq__form input{flex:1;min-width:0;border:0;border-bottom:1px solid rgba(169,228,255,.55);background:rgba(0,0,0,.42);color:var(--ink);padding:12px 13px;font:italic 18px/1.2 var(--serif);border-radius:0}
.nightq__form input:focus{outline:none;border-bottom-color:var(--blue)}
.nightq__form input::placeholder{color:rgba(255,255,255,.4)}
.nightq__form button{border:1px solid rgba(230,184,95,.65);background:rgba(216,169,79,.12);color:#f3d79f;padding:10px 18px;cursor:pointer;font:italic 400 15px/1 var(--serif);white-space:nowrap}
.nightq__done{margin:16px 0 0;font:italic 400 17px/1.5 var(--serif);color:rgba(220,240,255,.92)}
.nightq__done[hidden]{display:none}
.espacio{position:fixed;inset:0;z-index:47;display:none;background:radial-gradient(ellipse at 50% 34%,rgba(26,30,44,.96),rgba(2,5,7,.99) 62%),#020507;overflow-y:auto}
.espacio.open{display:block}
body.in-espacio{overflow:hidden}
.espacio__inner{width:min(100% - 40px,760px);margin:0 auto;padding:calc(max(22px,env(safe-area-inset-top)) + 8px) 0 calc(max(26px,env(safe-area-inset-bottom)) + 10px)}
.espacio__roman{margin:0;text-align:center;font:500 9px/1.4 var(--sans);letter-spacing:.32em;color:rgba(246,215,157,.9)}
.espacio__name-label{margin:26px 0 0;text-align:center;font:500 9px/1.3 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:rgba(169,228,255,.85)}
.espacio__name{margin:10px 0 0;text-align:center;font:400 clamp(38px,6.4vw,72px)/1.05 var(--serif);color:#ffe9b0;letter-spacing:-.02em;overflow-wrap:anywhere}
.espacio__name--none{font-size:clamp(20px,3vw,28px);font-style:italic;color:rgba(255,244,220,.75)}
.espacio__only{margin:20px auto 0;max-width:560px;text-align:center;font:italic 400 15.5px/1.55 var(--serif);color:rgba(255,255,255,.72)}
.espacio__section{margin-top:30px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px}
.espacio__section-title{margin:0;text-align:center;font:500 9px/1.3 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:rgba(230,184,95,.8)}
.espacio__empty{margin:14px 0 0;text-align:center;font:italic 400 15px/1.5 var(--serif);color:rgba(255,255,255,.55)}
.espacio__empty[hidden]{display:none}
.espacio__gift{margin:14px auto 0;max-width:600px;text-align:center;font:italic 400 clamp(19px,2.6vw,25px)/1.4 var(--serif);color:rgba(255,244,220,.95)}
.espacio__q{margin:2px 0 0;font:italic 400 14.5px/1.4 var(--serif);color:rgba(169,228,255,.85)}
.espacio__visits{margin:30px 0 0;text-align:center;font:italic 400 15px/1.5 var(--serif);color:rgba(255,255,255,.62)}
.espacio__forget-zone{margin-top:34px;text-align:center}
.espacio__forget{border:1px solid rgba(255,255,255,.25);background:transparent;color:rgba(255,255,255,.6);padding:11px 22px;cursor:pointer;font:italic 400 15px/1.3 var(--serif)}
.espacio__forget.armed{border-color:rgba(255,150,120,.7);color:#ffc9b0;background:rgba(120,40,20,.14)}
.espacio__forgot{min-height:1.5em;margin:14px 0 0;font:italic 400 16px/1.4 var(--serif);color:#f3d79f}
.espacio__exit{display:block;margin:26px auto 0;border:0;border-bottom:1px solid var(--gold);background:transparent;color:var(--ink);padding:11px 4px;cursor:pointer;font:italic 400 17px/1 var(--serif)}
@media(max-width:760px){.espacio__inner{width:calc(100% - 26px)}.nightq__form button{padding:10px 12px}}

