@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@500;600&display=swap');

:root{--ivory:#f7f3eb;--gold:#c9a86a;--gold-light:#ead9b8;--ink:#161616;--glass:rgba(15,15,15,.48)}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0}
body{font-family:'DM Sans',Arial,sans-serif;background:#0b0b0b;color:#fff;overflow:hidden}
button,a{font:inherit}
.offer-display{position:relative;width:100vw;height:100vh;height:100dvh;background:#0b0b0b;overflow:hidden}
.offer-display:before{content:"";position:absolute;z-index:20;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 110px rgba(0,0,0,.35)}
.carousel,.slide{position:absolute;inset:0;width:100%;height:100%}
.slide{opacity:0;visibility:hidden;transform:scale(1.035);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 9s cubic-bezier(.16,.8,.2,1),visibility 1s;display:flex;align-items:center;justify-content:center;background:#090909}
.slide.is-active{opacity:1;visibility:visible;transform:scale(1)}
.slide-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.42) 0%,rgba(5,5,5,.03) 48%,rgba(5,5,5,.38) 100%),linear-gradient(180deg,rgba(0,0,0,.32) 0%,transparent 25%,rgba(0,0,0,.02) 55%,rgba(0,0,0,.82) 100%);pointer-events:none}
.slide-info{position:absolute;left:7vw;right:20vw;bottom:12vh;text-align:left;text-shadow:0 3px 25px rgba(0,0,0,.65)}
.slide-info:before{content:"VIAJES MAREVIA  ·  EXPERIENCIAS SELECCIONADAS";display:block;margin-bottom:15px;color:var(--gold-light);font-size:clamp(9px,1vw,14px);font-weight:600;letter-spacing:.24em}
.slide-info h1{margin:0;max-width:900px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(38px,5.3vw,88px);line-height:1.02;font-weight:500;letter-spacing:-.02em}
.brand-mark{position:absolute;z-index:10;left:6vw;top:5vh;color:var(--ivory);font-size:clamp(12px,1.25vw,18px);font-weight:600;letter-spacing:.24em;text-transform:uppercase;text-shadow:0 2px 16px #000}
.brand-mark span{color:var(--gold);font-weight:400}
.offer-counter{position:absolute;z-index:10;right:6vw;top:5vh;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.8);font-size:11px;letter-spacing:.2em}.offer-counter .line{width:48px;height:1px;background:var(--gold)}
.floating-actions{position:absolute;right:5vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;z-index:15}
.floating-action{width:clamp(88px,8.8vw,142px);height:clamp(88px,8.8vw,142px);border:1px solid rgba(255,255,255,.35);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-decoration:none;cursor:pointer;box-shadow:0 14px 40px rgba(0,0,0,.28);font-weight:600;font-size:clamp(9px,1vw,14px);letter-spacing:.1em;transition:transform .25s ease,background .25s ease,border-color .25s ease;backdrop-filter:blur(12px)}
.floating-action:hover,.floating-action:focus-visible{transform:scale(1.07);outline:0;border-color:var(--gold-light)}
.action-trip{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}.action-trip:hover{background:#fff}
.action-qr{background:rgba(15,15,15,.5);color:#fff}.action-qr:hover{background:rgba(15,15,15,.78)}
.action-icon{font-size:clamp(27px,3.2vw,46px);line-height:.8;font-weight:300}.qr-icon{width:clamp(27px,3vw,44px);height:clamp(27px,3vw,44px);border:2px solid currentColor;background:linear-gradient(90deg,currentColor 0 22%,transparent 22% 36%,currentColor 36% 55%,transparent 55% 70%,currentColor 70%);position:relative}.qr-icon:after{content:"";position:absolute;inset:6px;border:2px solid currentColor}
.carousel-arrow{position:absolute;z-index:16;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.18);color:#fff;font-size:34px;line-height:1;cursor:pointer;backdrop-filter:blur(9px);transition:.25s}.carousel-prev{left:2.3vw}.carousel-next{right:2.3vw}.carousel-arrow:hover,.carousel-arrow:focus-visible{background:rgba(255,255,255,.12);border-color:var(--gold-light);outline:0}
.carousel-dots{position:absolute;z-index:17;bottom:4.5vh;left:7vw;display:flex;gap:8px;max-width:50vw;overflow:hidden;padding:5px}.dot{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer;transition:.25s}.dot.is-active{width:28px;border-radius:10px;background:var(--gold-light)}
.progress-track{position:absolute;left:7vw;right:7vw;bottom:2.6vh;height:1px;background:rgba(255,255,255,.2);z-index:18}.progress-track span{display:block;width:0;height:100%;background:var(--gold-light);box-shadow:0 0 9px rgba(234,217,184,.45)}
.empty-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10vw;background:radial-gradient(circle at center,#202020,#080808 65%)}.empty-state h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(34px,5vw,72px);font-weight:500}.empty-state p{font-size:clamp(15px,1.5vw,22px);opacity:.65}
.qr-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center}.qr-modal.is-open{display:flex}.qr-backdrop{position:absolute;inset:0;background:rgba(8,8,8,.86);backdrop-filter:blur(14px)}
.qr-dialog{position:relative;z-index:1;width:min(88vw,570px);padding:46px 42px 38px;border:1px solid rgba(201,168,106,.4);border-radius:2px;background:var(--ivory);color:var(--ink);text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.6)}
.qr-close{position:absolute;right:14px;top:9px;width:44px;height:44px;border:0;background:transparent;font-size:32px;cursor:pointer;color:#555}.qr-kicker{margin:0 0 9px;font-size:10px;letter-spacing:.25em;font-weight:600;color:#8b7040}.qr-dialog h2{margin:0 0 24px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(25px,3vw,38px);font-weight:500}
.qr-code-wrap{width:300px;height:300px;max-width:70vw;max-height:70vw;margin:0 auto 21px;background:#fff;padding:10px;display:flex;align-items:center;justify-content:center;border:1px solid #ddd}.qr-code-wrap img{width:100%;height:100%;image-rendering:auto}.qr-help{margin:0 auto 21px;max-width:420px;color:#555;line-height:1.5;font-size:14px}.qr-open-link{display:inline-block;padding:13px 24px;border:1px solid #1a1a1a;background:#1a1a1a;color:#fff;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
@media (orientation:portrait){.brand-mark{top:3vh;left:6vw}.offer-counter{top:3vh;right:6vw}.floating-actions{right:3.2vw}.floating-action{width:clamp(78px,11.5vw,124px);height:clamp(78px,11.5vw,124px)}.slide-info{left:7vw;right:19vw;bottom:11vh}.carousel-arrow{width:46px;height:46px}.carousel-prev{left:1.4vw}.carousel-next{right:1.4vw}}
@media (max-width:600px){.brand-mark{font-size:9px}.offer-counter{font-size:8px}.offer-counter .line{width:25px}.floating-actions{right:2.2vw;gap:9px}.floating-action{width:70px;height:70px;font-size:7px}.action-icon{font-size:27px}.qr-icon{width:27px;height:27px}.slide-info{left:5vw;right:24vw;bottom:14vh}.slide-info:before{font-size:7px;letter-spacing:.16em;margin-bottom:9px}.slide-info h1{font-size:28px}.carousel-arrow{display:none}.carousel-dots{left:5vw;bottom:4.5vh}.progress-track{left:5vw;right:5vw}.qr-dialog{padding:40px 20px 26px}}
