/* Paleta extraída de los vectores oficiales de VOLVERÉ. */
:root{--brand-blue:#167eef;--brand-lime:#bbff00;--brand-green:#00b700;--brand-yellow:#ffd524;--ink:#1a1a1a;--cream:#f9f4ed;--orange:#167eef;--lavender:#bbff00;--muted:#a7a7a0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
header{background:var(--cream);color:var(--ink);height:86px;border-bottom:1px solid #1a1a1a15}
.brand{display:block;line-height:1;font-size:0;letter-spacing:0;flex-shrink:0}
.brand-logo{width:190px;height:auto;display:block}
nav a:hover{color:#0861bf}
.small-cta{background:var(--brand-lime);color:var(--ink);border:0;border-radius:28px;padding:15px 20px;font-weight:700}
.preview{background:#ebe7df;color:#54534d;font-size:9px;letter-spacing:.3px}
.hero{min-height:670px;background:#101b26;height:calc(100svh - 113px)}
.hero:after{background:linear-gradient(90deg,#080e16d9 0%,#080e1640 80%),linear-gradient(0deg,#080e16d9,transparent 75%)}
.hero>.hero-video{position:absolute!important;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0!important;opacity:0;transition:opacity .5s;pointer-events:none}
.hero>.hero-video.is-playing{opacity:1}
.hero>.hero-photo{z-index:0}
.hero-title{margin:auto 0 35px;max-width:680px}
.hero h1{font-size:0;line-height:1;letter-spacing:0;margin:0 0 22px}
.hero-brand{display:block;width:min(100%,650px);height:auto}
.hero-sub{border:0;padding:0;font-size:10px;letter-spacing:2px}
.hero-stamp{color:var(--brand-lime);font-size:24px}
.hero-bottom{align-items:center;gap:35px}
.hero-bottom h2{max-width:550px;font-size:clamp(33px,4vw,57px);line-height:1.02}
.hero-bottom h2 em{color:var(--brand-lime)}
.button{border-radius:28px;font-weight:700}
.orange{background:var(--brand-lime);color:var(--ink)}
.video-actions{display:flex;justify-content:space-between;align-items:center;margin-top:32px;gap:20px}
.video-actions button{border:1px solid #f9f4ed65;background:#10101045;color:var(--cream);font-size:9px;letter-spacing:.8px;padding:10px 16px;border-radius:20px;min-height:38px}
.video-actions button:hover{background:#10101090}
.ticker{background:var(--brand-lime);color:var(--ink);padding:17px 7%;font-size:clamp(17px,2.2vw,30px)}
.ticker b{font-size:24px}
.intro-grid{grid-template-columns:.9fr 1fr;gap:9%;align-items:center}
.intro-portrait{height:570px;overflow:hidden}
.intro-portrait img{height:100%;width:100%;object-fit:cover;object-position:50% 45%;filter:grayscale(1)}
.intro-story h2{font-size:clamp(60px,6vw,86px);line-height:.94;margin-bottom:30px}
.intro-story h2 br:first-child{display:none}
.intro-story h2 em{color:var(--ink)}
.intro-copy p:first-child{font-size:17px;line-height:1.7}
.intro-copy p{font-size:14px;color:#55534f}
.intro-copy h3{font-size:29px;color:#477000;margin:25px 0 0}
.definition{background:var(--ink);color:var(--cream);padding:45px;margin-top:65px;border:0}
.definition h3{font-size:36px;max-width:360px}
.definition strong{color:var(--brand-lime)}
.definition p{font-size:14px;color:#dedbd5}
.ways{background:var(--cream);color:var(--ink);padding-top:25px}
.ways .eyebrow{color:#5b5a53}
.ways h2{font-size:clamp(40px,4.5vw,64px)}
.way{min-height:430px;border-radius:3px}
.way h3{font-size:38px}
.round-arrow{color:var(--brand-lime)}
.programme{background:linear-gradient(#00000018,#00000018),var(--brand-blue);color:#fff}
.programme .section-line{color:#e7f2ff}
.programme .programme-head h2{max-width:790px}
.tabs{border:1px solid #ffffff70;border-radius:25px;padding:3px;gap:3px}
.tabs button{border:0;border-radius:20px;color:#fff;background:transparent;padding:13px 17px;font-weight:600}
.tabs button[aria-selected=true]{background:var(--brand-lime);color:var(--ink)}
.programme-intro p{color:#edf5ff}
.programme-intro strong{color:#fff}
.schedule details{border-color:#ffffff65}
.schedule summary{font-size:23px}
.schedule summary span:first-child{color:#fff}
.schedule details p{color:#fff}
.programme .closing-line{color:var(--brand-lime)}
.programme #panel-noche>h3{color:var(--brand-lime)}
.party-grid details{background:var(--cream);color:var(--ink);border:0;border-radius:4px}
.party-grid summary{font-size:22px}
.programme.is-night{background:linear-gradient(90deg,#080e26f0,#080e26c9),url('assets/photos/night.webp') center 65%/cover}
.participation{background:#181818}
.participation h2 em{color:var(--brand-lime)}
.record{display:none}
.accordion details{border-color:#ffffff40}
.accordion summary{font-size:25px}
.soundtrack{background:var(--cream);color:var(--ink)}
.soundtrack h2{font-size:clamp(42px,5.7vw,76px)}
.soundtrack h2>span{color:#0860bb}
.soundtrack .accordion details{border-color:#1a1a1a40}
.soundtrack .accordion p{color:#494844}
.destinations{background:var(--cream)}
.destination-buttons button[aria-selected=true]{color:#0860bb}
#destination-panel{background:#e9e6dd}
#destination-panel strong{color:#315b00}
.ship{background:#161616}
.ship-grid h2 em,.ship-number{color:var(--brand-lime)}
.ship-photo{height:400px}
.benefits h4{color:var(--brand-lime)}
.cabins{background:var(--cream)}
.cabin-art{background:#e8e3d9}
.cabin-art>div{border-color:#517593;box-shadow:12px 12px 0 #d4d9d8;background:#aac4d5}
.external>div,.balcony>div{background:linear-gradient(#80b8e7 48%,#ebd1ad 49%,#4296bb 51%,#95cbd3)}
.balcony>div:after{border-color:#517593;background:repeating-linear-gradient(90deg,#517593 0 3px,transparent 3px 15px)}
.final-cta{background:linear-gradient(90deg,#131313e8,#13131385),url('assets/photos/shore.webp') center 45%/cover;color:var(--cream)}
.final-cta h2{font-size:clamp(48px,6vw,86px);max-width:1000px}
.final-cta em{color:var(--brand-lime)}
.cta-bottom{border-color:#f9f4ed70}
.dark-button{background:var(--brand-lime);color:var(--ink)}
footer.dark{background:var(--cream);color:var(--ink)}
.footer-top,.footer-bottom{border-color:#1a1a1a30}
.footer-top .brand-logo{width:250px}
.footer-bottom p,.footer-bottom small{color:#5c5a54}
.footer-wa{background:var(--brand-lime);color:var(--ink);border:0;border-radius:24px;font-weight:600}
.human{color:var(--ink)}
dialog{border-radius:5px}
.video-dialog{background:#080808;color:#fff;padding:45px 15px 15px;max-width:1100px;width:calc(100% - 30px)}
.video-dialog video{width:100%;display:block;max-height:78svh}
.video-dialog-close{position:absolute;top:3px;right:12px;color:#fff;font-size:32px;background:none;border:0;width:40px;height:40px}
@media(max-width:950px){nav{gap:18px}.brand-logo{width:170px}.hero-title{max-width:560px}.hero-brand{max-width:540px}.hero-bottom h2{font-size:39px;max-width:450px}.hero-actions{gap:20px}.intro-portrait{height:540px}.intro-story h2{font-size:65px}.intro-copy h3{font-size:25px}.definition{padding:35px;gap:7%}.definition h3{font-size:31px}.programme-head{align-items:start}.schedule summary{font-size:22px}.hero-stamp{font-size:23px}}
@media(max-width:640px){header{height:76px;padding:0 6%}.brand-logo{width:168px}.menu{color:var(--ink);border-color:#1a1a1a50;font-size:19px;padding:5px 9px}nav{top:76px;background:var(--cream);color:var(--ink);border-color:#1a1a1a30}.preview{font-size:7px;padding:7px 5%;gap:5px}.preview a{font-size:7px}.hero{min-height:690px;height:calc(100svh - 100px);max-height:900px;padding:28px 6%}.hero-title{margin:auto 0 28px;max-width:100%}.hero h1{font-size:0;margin:0 0 18px}.hero-brand{width:100%;max-width:420px}.hero-sub{display:block;font-size:8px;letter-spacing:1.5px}.hero-sub span:last-child{max-width:none;text-align:left}.hero-bottom{display:block}.hero-bottom h2{font-size:37px;max-width:330px;line-height:1.05;margin-bottom:25px}.hero-actions{align-items:start;gap:18px}.hero-stamp{font-size:22px}.video-actions{margin-top:28px}.video-actions button{font-size:8px;padding:9px 12px}.ticker{font-size:17px;padding:17px 6%}.ticker b{font-size:22px}.ticker span:last-of-type{font-size:18px}.intro-grid{grid-template-columns:1fr;gap:30px}.intro-portrait{height:340px}.intro-portrait img{object-position:center 48%}.intro-story h2{font-size:65px}.intro-story h2 br:first-child{display:initial}.intro-copy p:first-child{font-size:17px}.intro-copy p{font-size:14px}.intro-copy h3{font-size:29px}.definition{padding:28px 24px;margin-top:35px;gap:20px}.definition h3{font-size:31px}.definition p{font-size:13px}.ways{padding-top:15px}.ways h2{font-size:43px}.way{min-height:400px}.way h3{font-size:38px}.programme-head h2{font-size:40px}.tabs button{font-size:10px;padding:12px 17px}.schedule summary{font-size:22px}.party-grid summary{font-size:25px}.participation h2{font-size:44px}.accordion summary{font-size:25px}.soundtrack h2{font-size:42px}.ship-photo{height:400px}.final-cta h2{font-size:46px;line-height:1}.footer-top .brand-logo{width:220px}.footer-top{gap:25px}.video-dialog{padding:42px 8px 8px}.video-dialog video{max-height:70svh}.hero>.hero-video{object-position:60% center}}
@media(prefers-reduced-motion:reduce){.hero>.hero-video{transition:none}}

/* Portada panorámica: el contenido completo y el comienzo de la página a la vista. */
.hero{height:74svh;min-height:440px;max-height:740px;padding-top:26px;padding-bottom:24px}
.hero-title{margin:auto 0 20px;max-width:510px}
.hero-brand{width:min(100%,490px)}
.hero h1{margin-bottom:14px}
.hero-bottom h2{font-size:clamp(32px,3.2vw,46px);max-width:510px}
.hero-actions{gap:15px}
.video-actions{margin-top:20px}
.hero-stamp{font-size:21px}
@media(min-width:641px) and (max-height:750px){
 .hero{padding-top:22px;padding-bottom:20px;min-height:430px}
 .hero-title{margin-bottom:15px;max-width:430px}
 .hero-brand{width:410px}
 .hero-bottom h2{font-size:35px;max-width:450px}
 .hero-top{font-size:9px}
 .hero-stamp{font-size:18px}
 .hero-sub{font-size:9px}
 .video-actions{margin-top:14px}
 .video-actions button{min-height:32px;padding:8px 13px}
}
@media(max-width:640px){
 .hero{height:72svh;min-height:500px;max-height:640px;padding:22px 6% 20px}
 .hero-title{margin:auto 0 20px;max-width:315px}
 .hero-brand{width:100%;max-width:315px}
 .hero h1{margin-bottom:12px}
 .hero-top{font-size:8px}
 .hero-stamp{font-size:18px}
 .hero-sub{font-size:8px}
 .hero-bottom h2{font-size:31px;line-height:1.05;max-width:330px;margin-bottom:20px}
 .hero-actions{gap:14px}
 .hero-actions .button{min-height:47px;padding:14px 20px}
 .hero-actions .text-link{font-size:9px}
 .video-actions{margin-top:20px}
 .video-actions button{min-height:32px;padding:8px 12px;font-size:7px}
}
@media(max-width:640px) and (max-height:700px){
 .hero{height:calc(100svh - 125px);min-height:440px;max-height:560px;padding-top:18px;padding-bottom:18px}
 .hero-title{max-width:270px;margin-bottom:14px}
 .hero-brand{max-width:270px}
 .hero-bottom h2{font-size:28px;margin-bottom:16px}
 .hero-actions{gap:12px}
 .hero-actions .button{min-height:42px;padding:12px 18px}
 .video-actions{margin-top:15px}
}
