/* La presentación tiene su propio espacio visual; comparte la marca de la sala. */
.landing{max-width:1240px;padding:0 48px;margin:auto;color:#fff4f1;overflow:clip}
.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0}
.landing a{color:inherit;text-decoration:none}.landing a:hover{text-decoration:underline}
.landing-plan{font-size:13px;color:#dac4c1!important}.landing-tagline{font-size:15px;color:#f5d1c8}
.landing-hero{position:relative;isolation:isolate;text-align:center;display:flex;flex-direction:column;align-items:center;padding:60px 0 68px}
.landing-hero:before{content:"";position:absolute;z-index:-1;inset:-100px -100px -35px;background:radial-gradient(ellipse at 50% 45%,#ff24002b,transparent 65%);pointer-events:none}
.landing-kicker{font-size:11px;font-weight:700;letter-spacing:.18em;color:#ffab98;display:block}
.landing-logo{width:min(510px,80vw);height:200px;object-fit:contain;max-width:100%;margin:20px 0 25px;filter:drop-shadow(0 16px 40px #ff24002b);animation:brand-arrive .7s ease both}
.landing-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:52px;min-height:54px;padding:15px 30px;border-radius:100px;font-weight:700;font-size:16px;color:white;background:linear-gradient(120deg,#ff4828,#e52612);box-shadow:0 8px 36px #ff240024;transition:transform .2s,box-shadow .2s}
.landing-cta:hover{transform:translateY(-2px);box-shadow:0 12px 44px #ff240040}.landing-cta:disabled{transform:none}
.landing-intro{font-size:18px;line-height:1.55;color:#d9bdb5;margin:24px 0 22px}
.landing-discover{font-size:12px;color:#c8aaa2!important;display:flex;gap:12px;align-items:center}
.landing-orbit{position:absolute;right:15%;bottom:115px;height:35px;display:flex;gap:5px;align-items:center;opacity:.5}
.landing-orbit i{background:#ff6144;width:4px;height:18px;border-radius:4px;animation:music-pulse 1.4s ease-in-out infinite alternate}.landing-orbit i:nth-child(2n){height:34px;animation-delay:.3s}.landing-orbit i:nth-child(3){animation-delay:.6s}
.landing-experience{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:54px 0 72px}
.landing-photo{position:relative;isolation:isolate;border-radius:28px;overflow:hidden;min-width:0;box-shadow:0 22px 60px #0005;border:1px solid #ffffff17}
.landing-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#130503d9);pointer-events:none}
.landing-photo img{display:block;width:100%;height:470px;object-fit:cover;transition:transform .7s}.landing-photo:hover img{transform:scale(1.025)}
.restaurant-photo img{object-position:55% center}.gym-photo img{object-position:58% center}
.landing-photo-caption{position:absolute;z-index:1;bottom:25px;left:25px;right:20px;display:flex;align-items:center;gap:10px;font-size:13px;color:#ffe9e0}
.landing-live-dot{width:7px;height:7px;background:#ff6b4f;border-radius:50%;box-shadow:0 0 12px #ff2400}
.landing h1,.landing h2{font-size:clamp(30px,3.6vw,47px);line-height:1.12;font-weight:600;letter-spacing:-.04em;margin:16px 0 22px}
.landing h1 em,.landing h2 em{color:#ff795d;font-weight:500}.landing-copy>p{font-size:16px;line-height:1.8;color:#d6bdb6}
.landing-benefits{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px;font-size:15px}.landing-benefits li{display:flex;align-items:center;gap:12px}.landing-benefits li:before{content:"✓";display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;color:#ffb49f;background:#ff57331a;border:1px solid #ff57332e;font-size:12px}
.landing-how{text-align:center;padding:64px 0;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12}.landing-how>p{max-width:660px;margin:0 auto;color:#d6bdb6;line-height:1.8}
.landing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:42px 0 24px;text-align:left}.landing-steps article{padding:28px;border-radius:22px;border:1px solid #ffffff13;background:linear-gradient(145deg,#ffffff07,#ff240005)}.step-number{color:#ff846a;font-size:13px;letter-spacing:.08em}.landing-steps h3{font-size:18px;font-weight:600;line-height:1.4;margin:20px 0 12px}.landing-steps p{color:#c5aaa2;font-size:14px;line-height:1.6;margin:0}
.landing-text-button{background:transparent;color:#f5b9a8;font-size:13px;padding:12px}.landing-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.landing-chips span{border:1px solid #ffffff21;border-radius:30px;padding:6px 11px;font-size:11px;color:#d8bdb5}
.landing-reverse{padding:86px 0}.landing-import{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:40px;padding:48px;border:1px solid #ffb7a229;border-radius:28px;background:radial-gradient(ellipse at 100% 100%,#ce220224,transparent 80%),#ffffff04}.landing-import p{max-width:600px;color:#d6bdb6;line-height:1.8}.landing-import h2{font-size:36px}.landing-import-action{display:flex;flex-direction:column;align-items:center;gap:20px}.landing-import-note{font-size:13px;color:#dbb1a5}.landing-footer{padding:50px 0 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#bfa49c;font-size:12px}.landing-footer>span{letter-spacing:.13em;font-weight:700}
.room-tagline{font-style:italic;font-weight:400;color:#e6b5a9}.room-feedback:empty{display:none}.room-feedback{margin:8px 0}.fullscreen-button{width:auto!important;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px}.fullscreen-button svg{width:20px;height:20px;fill:currentColor}.settings-save:empty{display:none}
.auth-switch{display:flex;gap:8px;margin:0 0 18px}.auth-switch button{flex:1;background:#ffffff08;border:1px solid #ffffff16;font-size:14px}.auth-switch button[aria-pressed=true]{background:#ff240026;border-color:#ff6e4a;color:#ffd0c2}.auth-note{color:#e8c2b5;font-size:13px;line-height:1.5}.login-form label{display:block;margin:12px 0 6px}.login-form [hidden]{display:none!important}.fallback-label{font-size:12px;color:#dbb4a6;margin:12px 0}.landing :focus-visible{outline:2px solid #ffb49c;outline-offset:5px}.login-form button:focus-visible{outline:2px solid #ffb49c;outline-offset:2px}
@keyframes brand-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes music-pulse{to{transform:scaleY(.45)}}
@media(max-width:850px){.landing{padding:0 28px}.landing-experience{gap:32px}.landing-photo img{height:420px}.landing-steps{gap:12px}.landing-steps article{padding:22px}.landing-import{padding:32px;gap:24px}.landing-orbit{right:5%}}
@media(max-width:600px){.landing{padding:0 22px}.landing-nav{padding:24px 0}.landing-tagline{font-size:12px}.landing-plan{font-size:12px}.landing-hero{padding:38px 0 45px}.landing-logo{height:155px;margin:17px 0 20px;width:min(400px,88vw)}.landing-kicker{font-size:10px;letter-spacing:.13em}.landing-intro{font-size:16px}.landing-orbit{display:none}.landing-experience{grid-template-columns:1fr;gap:28px;padding:30px 0 48px}.landing-photo{border-radius:22px}.landing-photo img{height:280px}.landing h1,.landing h2{font-size:34px}.landing-copy>p{font-size:15px}.landing-benefits{font-size:14px;gap:12px}.landing-how{padding:44px 0}.landing-how>p{font-size:14px}.landing-steps{grid-template-columns:1fr;margin:26px 0 15px;gap:10px}.landing-steps article{display:grid;grid-template-columns:28px 1fr;column-gap:12px;padding:20px}.landing-steps .step-number{grid-row:1/3;padding-top:3px}.landing-steps h3{margin:0 0 5px;font-size:17px}.landing-steps p{grid-column:2}.landing-reverse{padding-top:48px}.landing-import{grid-template-columns:1fr;padding:26px 22px;gap:20px}.landing-import h2{font-size:31px}.landing-import p{font-size:14px}.landing-import-action{align-items:flex-start}.landing-import-note{display:none}.landing-footer{flex-wrap:wrap;padding:36px 0 24px;font-size:11px;gap:16px}.landing-footer a{flex-basis:100%}.controls{flex-wrap:wrap}.fullscreen-button{min-height:40px}.sub.row{flex-wrap:wrap}.sub.row input[type=number]{max-width:75px}}
@media(prefers-reduced-motion:reduce){.landing *, .landing *:before,.landing *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Muestra pública del catálogo: nuevas tarjetas entran desde la izquierda. */
.landing-songs{margin:80px 0;min-width:0}
.landing-songs-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.landing-songs h2{font-size:clamp(28px,4vw,48px);line-height:1.1;margin:12px 0}
.landing-songs-heading p{color:#c8b8bf;margin:0}
.landing-songs-heading button{flex-shrink:0;border:1px solid #ffffff30;border-radius:999px;background:#ffffff09;color:inherit;padding:10px 16px;cursor:pointer}
.landing-songs-window{overflow:hidden;max-width:100%;mask-image:linear-gradient(90deg,#000 93%,transparent)}
.landing-songs-track{display:flex;gap:16px}
.landing-song{flex:0 0 clamp(190px,23vw,260px);min-width:0;margin:0;border:1px solid #ffffff20;background:linear-gradient(145deg,#32151d,#151015);border-radius:20px;overflow:hidden}
.landing-song img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#29151c}
.landing-song img[hidden]{display:none}
.landing-song h3{font-size:15px;line-height:1.4;margin:0;padding:16px;min-height:74px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:600px){.landing-songs{margin:56px 0}.landing-songs-heading{align-items:flex-start;flex-direction:column;gap:16px}.landing-song{flex-basis:210px}}
