/* Lobby principal: las 17 historias se muestran sin paginación. */
.hero{height:100svh;min-height:720px;background:#172d26}
.hero-bg>img{object-position:50% 45%;filter:brightness(.78) saturate(.96)}
.vignette{background:linear-gradient(180deg,#081c25b8,transparent 22%,transparent 66%,#102824dd),radial-gradient(ellipse at 50% 37%,#07191635,transparent 42%,#061d1b50)}
.scene-header{inset:0 0 auto;height:104px;display:flex;align-items:center;justify-content:center;background:linear-gradient(#122b27ed,#1428204d,transparent);z-index:8}
.publisher-logo{border:0;background:none;pointer-events:auto;padding:4px;width:125px}
.publisher-logo img{width:100%;height:74px;object-fit:contain}
.motion-control{position:absolute;right:24px;top:28px}
.scene-nav{inset:0 11% auto;height:100px;z-index:9}
.scene-link,.scene-nav .nav-story,.scene-nav .nav-publisher{top:26px;transform:none;max-width:none;padding:12px 0}
.scene-nav .nav-story{left:6%}.scene-nav .nav-publisher{right:0}
.scene-link>span,.nav-publisher>span{font:500 20px/1.2 var(--serif)}
.nav-publisher>span>small{font:inherit;display:inline;margin:0 5px 0 0}
.scene-link>span:after{margin-top:8px;width:45px}
.title-lockup{top:19%;width:33%;max-width:490px}
.title-lockup>.eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:14px}
.title-lockup h1{font-size:clamp(47px,5.2vw,82px);line-height:.95;letter-spacing:.035em}
.title-lockup h1>em{font-size:clamp(52px,5.5vw,86px);line-height:1.25;margin-top:3px}
.location{font-size:12px;letter-spacing:.25em;margin:14px 0 24px}
.location:before,.location:after{display:none}
.window-invitation{font:italic clamp(18px,1.75vw,26px)/1.35 var(--serif);max-width:290px;margin:0 auto;color:#f7ead0}
.floating-stage{inset:0}
.door-group{position:absolute;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 2px;pointer-events:none;width:33%;top:20.5%}
.door-group-left{left:2%}.door-group-right{right:2%}
.door-group-lower{grid-template-columns:repeat(5,minmax(0,1fr));width:65%;max-width:1000px;left:50%;top:auto;bottom:8%;transform:translateX(-50%);gap:14px}
.door-group .floating-door{display:block;position:relative;inset:auto;width:100%;max-width:min(165px,17.5svh);justify-self:center;pointer-events:auto}
.door-group-lower .floating-door{max-width:min(150px,17.5svh)}
.door-picture{filter:drop-shadow(0 0 1px #ffe39b) drop-shadow(0 0 5px #e8b45d50) drop-shadow(0 14px 8px #091d20b0)}
.door-number{font-size:13cqw}
.door-caption{bottom:auto;top:84%;width:210px;max-width:72vw;padding:11px 14px;background:#14362ff5;border:1px solid #ceaf73;box-shadow:0 6px 18px #0006;text-shadow:none;color:#fff4dc;z-index:4}
.door-caption strong{display:block;font:500 18px/1.12 var(--serif)}
.door-caption small{display:block;font:12px/1.4 var(--sans);margin-top:7px;color:#e1cba2}
.door-group .floating-door:hover,.door-group .floating-door:focus-visible{z-index:10}
.room-browsing{bottom:20px;width:auto;display:flex;gap:28px;align-items:center;white-space:nowrap}
.all-rooms{background:none;border:0;border-bottom:1px solid #c4ac78;color:#f7e9c8;font:500 14px var(--sans);padding:10px 0;min-height:44px}
.read-letter{font:italic 20px var(--serif);color:#f7e9c8;text-decoration:none;padding:10px 0}
.snow{opacity:.3}.snow i{background:#f5d996}
.letter-section{padding:125px 5% 95px;perspective:2000px}
.section-kicker{font-size:12px;margin-bottom:38px}
.invitation-letter{max-width:1200px;display:grid;grid-template-columns:45% 55%;padding:60px 55px;gap:0;transform:none;animation:letter-breathe 10s ease-in-out infinite;box-shadow:0 24px 60px #031b2266,0 3px 8px #061c2580;transform-origin:50% 85%;border-radius:2px;background-image:linear-gradient(90deg,transparent 47%,#c8ac7220 49.5%,#f5eddb 50%,transparent 52%),radial-gradient(#b89e6820 .65px,transparent .65px);background-size:100% 100%,5px 5px}
.invitation-letter:before{inset:12px;border:3px double #baa065;outline:none}
.letter-left{padding:12px 35px 10px 5px;text-align:center;border-right:1px solid #b9975644}
.letter-left>.eyebrow{font-size:11px;color:#8c784e;margin:0 0 28px}
.letter-left .salutation{font-size:46px;line-height:1.3;color:var(--ink)}
.invitation-letter h2{font-size:30px;line-height:1.25;margin-bottom:32px;letter-spacing:0}
.invitation-letter h2 em{font-size:28px;display:inline-block;margin-top:13px}
.hotel-postcard{margin:30px 0 25px;padding:6px;border:1px solid #bea065;box-shadow:0 8px 20px #71614625;transform:rotate(-1.5deg)}
.hotel-postcard img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}
.letter-publisher{display:block;border:0;background:none;padding:6px;margin:25px auto 0;width:145px}
.letter-publisher img{width:100%;height:88px;object-fit:contain}
.letter-right{padding:8px 5px 8px 40px}
.letter-right .editorial-copy p{font-size:20px;line-height:1.55;margin:0 0 20px}
.letter-right .editorial-copy .lead{font-size:23px;line-height:1.35}
.letter-right .letter-quote{font-size:26px;line-height:1.2;margin:28px 0;text-align:left}
.letter-right .signature{margin:25px 0 14px}
.letter-right .signature span{font-size:39px}
.book-invitation{margin-top:115px;gap:55px;max-width:850px}
.book-invitation>img{width:230px;flex-shrink:0}
footer{padding:38px 8%;border-top:1px solid #b9975622}
footer img{width:145px}
.publisher-popup-logo{width:130px;height:80px;object-fit:contain;margin:0 auto 24px}
.room-synopsis{text-align:left;max-width:650px;font-size:21px;line-height:1.55}
.room-related{font:italic 18px/1.4 var(--serif);color:#857046;text-align:center;margin:24px auto}
.room-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.room-list button{padding:18px 16px;text-align:left;display:grid;grid-template-columns:46px 1fr;gap:8px 12px}
.room-list button strong{font:500 27px var(--serif);grid-row:span 2}
.room-list button span{font:500 21px/1.12 var(--serif)}
.room-list button small{font:12px/1.4 var(--sans);opacity:.8}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(.6deg)}}
@keyframes letter-breathe{0%,100%{transform:translateY(0) rotateX(.2deg) rotateZ(-.15deg)}50%{transform:translateY(-5px) rotateX(-.3deg) rotateZ(.15deg)}}
@media(min-width:1500px){.door-group{width:31%;top:23%;row-gap:36px}.door-group-left{left:3%}.door-group-right{right:3%}.door-group-lower{width:62%;top:auto}.title-lockup{top:20%}}
@media(max-width:1000px) and (min-width:701px){.hero{height:100svh;min-height:720px}.door-group{top:26%;row-gap:28px}.door-group-lower{top:auto;bottom:11%}.title-lockup{top:20%}.title-lockup h1{font-size:45px}.title-lockup h1>em{font-size:53px}.title-lockup .eyebrow{font-size:9px}.location{font-size:10px}.window-invitation{font-size:20px}.scene-nav{inset-inline:8%}.scene-link>span,.nav-publisher>span{font-size:18px}.letter-section{padding:100px 4% 75px}.invitation-letter{padding:50px 32px}.letter-left{padding-right:24px}.letter-right{padding-left:25px}.letter-left .salutation{font-size:37px}.invitation-letter h2{font-size:25px}.invitation-letter h2 em{font-size:24px}.letter-right .editorial-copy p{font-size:19px}.letter-right .editorial-copy .lead{font-size:21px}}
@media(max-width:700px){
 .hero{height:auto;min-height:0;padding:300px 15px 35px}
 .hero-bg>img{inset:0;left:-30%;width:160%;height:920px;object-fit:cover;object-position:50% 10%;transform:none;filter:brightness(.55) saturate(.85)}
 .vignette{background:linear-gradient(180deg,#10282422,transparent 320px,#10282499 700px,#102824 1000px)}
 .scene-header{height:85px}.publisher-logo{width:91px}.publisher-logo img{height:65px}.motion-control{top:23px;right:15px;width:32px;height:32px}
 .scene-nav{inset:81px 22px auto;height:45px;display:flex;justify-content:space-between;align-items:center}
 .scene-nav .scene-link{position:static;transform:none;padding:0;max-width:none}.scene-link>span,.nav-publisher>span{font:500 17px/1.1 var(--serif)}
 .scene-nav .nav-publisher>span>small{display:inline;font:inherit;margin:0 3px 0 0}.scene-link>span:after{margin-top:6px}
 .title-lockup{top:151px;width:96%;max-width:480px}.title-lockup>.eyebrow{display:none}.title-lockup h1{font-size:41px}.title-lockup h1>em{font-size:53px;line-height:1.05;margin-top:3px}.location{font-size:10px;margin:13px 0}.window-invitation{font-size:20px;max-width:100%;margin:0 auto}
 .floating-stage{position:relative;inset:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 0;pointer-events:none;margin:30px auto 28px;max-width:580px}
 .door-group{display:contents;transform:none}
 .door-group .floating-door{inset:auto;width:100%;max-width:158px;display:block}
 .door-group .floating-door:last-child{display:block}.door-number{font-size:13cqw}
 .door-caption{display:none}
 .room-browsing{position:relative;inset:auto;transform:none;justify-content:center;gap:25px;white-space:normal}.all-rooms{font-size:13px}.read-letter{font-size:19px}
 .letter-section{padding:75px 20px 65px}.section-kicker{font-size:10px;letter-spacing:.14em;margin-bottom:28px}
 .invitation-letter{display:block;padding:38px 27px;background-image:radial-gradient(#b89e6820 .65px,transparent .65px);background-size:5px 5px;animation-duration:12s}
 .letter-left{padding:4px 0 28px;border-right:0;border-bottom:1px solid #b9975655}.letter-left>.eyebrow{font-size:10px;margin-bottom:22px}
 .letter-left .salutation{font-size:37px}.invitation-letter h2{font-size:27px}.invitation-letter h2 em{font-size:25px;margin-top:14px}.hotel-postcard{margin:23px 0}.letter-publisher{width:125px;margin-top:22px}.letter-publisher img{height:74px}
 .letter-right{padding:30px 0 0}.letter-right .editorial-copy p{font-size:20px;line-height:1.55}.letter-right .editorial-copy .lead{font-size:23px}.letter-right .letter-quote{font-size:25px}.letter-right .signature span{font-size:35px}
 .book-invitation{margin-top:75px;gap:28px;flex-direction:column;text-align:center}.book-invitation h2{font-size:36px}.book-invitation>img{width:205px}
 .room-list{grid-template-columns:1fr}.room-list button{padding:17px 14px}.room-list button span{font-size:21px}.room-synopsis{font-size:20px;line-height:1.55}
 footer{padding:25px;gap:20px}footer img{width:120px}footer span{display:none}
}
@media(prefers-reduced-motion:reduce){.invitation-letter{animation:none;transform:none}}
.motion-paused .invitation-letter{animation:none;transform:none}

.letter-publisher img,.publisher-popup-logo{filter:brightness(0);opacity:.76}

.room-synopsis p{margin:0 0 1em}.room-synopsis p:last-child{margin-bottom:0}
.hero-bg{overflow:hidden}
.vignette{inset:-5%}
@media(max-width:700px){.vignette{inset:0}}

/* Ajustes de lectura y composición de la carta. */
.title-lockup h1{text-shadow:0 2px 3px #130b08e6,0 5px 14px #130b08cc,0 0 32px #130b08b3}
.title-lockup h1>em{text-shadow:0 2px 4px #130b08,0 6px 16px #130b08e0,0 0 36px #130b08b3}
.letter-section{animation:christmas-drift 120s linear infinite}
@keyframes christmas-drift{from{background-position:0 0,50% 50%}to{background-position:302px 557px,50% 50%}}
.letter-book{display:block;width:min(100%,230px);padding:0;margin:28px auto 0;border:0;background:none;transform:rotate(-3deg);transition:transform .6s ease;filter:drop-shadow(0 12px 12px #3a2b272e)}
.letter-book img{display:block;width:100%;height:auto}
.letter-book:hover,.letter-book:focus-visible{transform:rotate(-1deg) translateY(-4px)}
.letter-closing{margin-top:28px;text-align:right}
.letter-right .letter-closing .signature{margin:0 0 8px}
.letter-closing .letter-link{font-size:14px;margin-top:4px}
@media(max-width:700px){.letter-book{width:200px;margin-top:25px}.letter-closing{margin-top:26px}}
@media(prefers-reduced-motion:reduce){.letter-section{animation:none}.letter-book{transition:none}.letter-book:hover,.letter-book:focus-visible{transform:rotate(-3deg)}}
.motion-paused .letter-section{animation:none}
.motion-paused .letter-book:hover,.motion-paused .letter-book:focus-visible{transform:rotate(-3deg)}

/* Centrar el conjunto tipográfico en el espacio entre las puertas laterales. */
@media(min-width:701px){.title-lockup{top:46%;left:50%;transform:translate(-50%,-50%)}}
