/* Fuentes propias (Sora y DM Sans, licencia OFL, subconjunto latino). Sin Google Fonts. */
@font-face{font-family:'Sora';font-style:normal;font-weight:700 800;font-display:swap;src:url(../fonts/sora-latin.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/dm-sans-latin.woff2) format('woff2')}
:root{
  --ocean:#063f52; --ocean-2:#0b5068; --ink:#17333d; --lagoon:#17a7a2; --reef:#bfe9e4; --reef-2:#79cbc7;
  --coral:#f4775f; --coral-dark:#db5d4b; --sun:#ffd86b; --white:#fff; --mist:#eef8f7;
  --display:"Sora",system-ui,-apple-system,sans-serif; --text:"DM Sans",system-ui,-apple-system,sans-serif;
  --gut:clamp(16px,4vw,48px); --max:1280px; --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--text);font-size:17px;line-height:1.55;color:var(--ink);background:var(--white);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.012em;line-height:1.08}
.btn{display:inline-flex;align-items:center;gap:.6em;font:700 16px/1 var(--text);padding:17px 26px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;transition:transform .2s var(--ease),background-color .2s,color .2s}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:scale(.97)}
.btn-coral{background:#c0412b;color:#fff}.btn-coral:hover{background:#a8361f}
.btn-white{background:#fff;color:var(--ocean)}.btn-white:hover{background:var(--reef)}
.btn-sun{background:var(--sun);color:var(--ink)}
.btn svg{width:19px;height:19px}

/* his top bar */
.topbar{background:var(--ocean);color:#d6f1ef;font-size:14px}
.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
.topbar a{text-decoration:none;font-weight:600;color:#fff}
@media(max-width:640px){.topbar .r{display:none}}
/* nav */
.topbar .soc{display:inline-flex;gap:12px;margin-left:14px;vertical-align:middle}
.topbar .soc svg{width:16px;height:16px}
.lang{display:inline-flex;margin-left:14px;background:rgba(255,255,255,.12);border-radius:999px;padding:2px}
.lang button{border:0;background:none;color:#d6f1ef;font:700 12px var(--text);padding:4px 10px;border-radius:999px;cursor:pointer}
.lang button[aria-pressed=true]{background:var(--sun);color:var(--ink)}
.nav{position:sticky;top:0;z-index:30;background:#fff;transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 8px 30px rgba(6,63,82,.12)}
.nav>.wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ocean);font:800 17px/1.05 var(--text);letter-spacing:.02em}
.brand img{width:64px;transition:transform .5s var(--ease)}
.brand:hover img{transform:rotate(-8deg) scale(1.06)}
.menu{list-style:none;display:flex;align-items:center;gap:6px;font-weight:600;color:var(--ocean)}
.menu>li>a,.menu>li>button{display:flex;align-items:center;gap:6px;text-decoration:none;padding:12px 14px;border-radius:999px;border:0;background:none;font:600 16px var(--text);color:inherit;cursor:pointer;transition:background-color .2s}
.menu>li>a:hover,.menu>li>button:hover,.menu>li>button[aria-expanded=true]{background:var(--mist)}
.menu .hot{background:var(--sun)!important;color:var(--ink)}
.menu .hot em{font-style:normal;font-size:11px;background:var(--coral);color:#fff;border-radius:999px;padding:2px 7px}
.menu svg.car{width:14px;height:14px;transition:transform .25s}
.menu button[aria-expanded=true] svg.car{transform:rotate(180deg)}
.has-mega{position:static}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 30px 60px rgba(6,63,82,.18);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s var(--ease),visibility .25s;max-height:calc(100vh - 120px);overflow:auto}
.mega.open{opacity:1;visibility:visible;transform:none}
.mega .wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;padding-top:22px;padding-bottom:24px}
.mg-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.mg-card{position:relative;display:flex;flex-direction:column;text-decoration:none;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 1px 0 rgba(6,63,82,.06),0 10px 24px -16px rgba(6,63,82,.45);transition:transform .2s var(--ease),box-shadow .2s}
.mg-card:hover,.mg-card:focus-visible{transform:translateY(-3px);box-shadow:0 1px 0 rgba(6,63,82,.06),0 18px 30px -16px rgba(6,63,82,.55)}
.mg-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--reef)}
.mg-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.mg-card:hover .mg-img img{transform:scale(1.05)}
.mg-price{position:absolute;right:0;bottom:0;background:var(--ocean);color:#fff;padding:5px 9px;font:800 17px/1 var(--display);display:flex;flex-direction:column;align-items:flex-end}
.mg-price small{font:600 9.5px/1.3 var(--text);color:var(--reef)}
.mg-tag{position:absolute;left:0;top:8px;background:var(--sun);color:var(--ink);font:800 10.5px var(--text);padding:3px 8px}
.mg-body{display:block;padding:9px 10px 11px}
.mg-body b{display:block;font:800 15.5px/1.15 var(--display);color:var(--ocean)}
.mg-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:5px;font:700 11.5px var(--text);color:#0f7f7b}
.mg-meta span{display:inline-flex;gap:4px;align-items:center}
.mg-custom{display:flex;flex-direction:column;justify-content:center;gap:8px;background:var(--sun);border-radius:6px;padding:18px 16px;text-decoration:none;color:var(--ink);transition:transform .2s var(--ease)}.mg-custom:hover{transform:translateY(-3px)}.mg-custom b{font-size:20px!important;line-height:1.1}.mg-custom span{display:grid;gap:6px}
.mg-custom b{font:800 17px var(--display)}.mg-custom span span{font-size:14px;color:#3c5560}.mg-custom em{font-style:normal;font-weight:700;white-space:nowrap}
.mega .side{background:var(--ocean);color:#fff;border-radius:8px;padding:22px;display:flex;flex-direction:column;gap:12px}
.mega .side b{font:800 24px/1.1 var(--display)}
.mega .side .stat{font:800 34px/1 var(--display);color:var(--sun);margin-top:auto}
.mega .side .stat small{display:block;font:600 13px/1.4 var(--text);color:#d6f1ef;margin-top:4px}
@media(max-width:1250px){.mg-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.burger{display:none;width:48px;height:48px;border-radius:50%;border:0;background:var(--mist);cursor:pointer;place-items:center}
.burger svg{width:24px;height:24px;color:var(--ocean)}
@media(max-width:1080px){.menu,.mega{display:none}.burger{display:grid}.nav .book-top{display:none}}
.drawer{position:fixed;inset:0;z-index:60;background:var(--ocean);color:#fff;padding:20px var(--gut) 40px;overflow:auto;transform:translateX(100%);visibility:hidden;transition:transform .4s var(--ease),visibility .4s}
.drawer.open{transform:none;visibility:visible}
.drawer .top{display:flex;justify-content:space-between;align-items:center}
.drawer .top img{width:64px}
.drawer .dhead{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px}
.drawer .dhead a{font-weight:700;font-size:14px;color:#ffd86b;text-underline-offset:3px}
.drawer .dlabel{margin:0;font:800 12px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.drawer .tl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 26px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.16)}
.drawer .dlist{display:grid;margin-top:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden}
.drawer .dlist a{display:flex;align-items:center;gap:12px;min-height:54px;padding:10px 14px;text-decoration:none;font-weight:700;font-size:16px;color:#fff}
.drawer .dlist a+a{border-top:1px solid rgba(255,255,255,.1)}
.drawer .dlist a:active{background:rgba(255,255,255,.08)}
.drawer .dlist span:not(.dic){flex:1;min-width:0}
.drawer .dlist small{display:block;font-weight:500;font-size:13px;color:rgba(255,255,255,.7);margin-top:2px}
.drawer .dic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:rgba(255,255,255,.1)}
.drawer .dic svg{width:18px;height:18px}
.drawer .chev{flex:none;width:18px;height:18px;opacity:.55}
.drawer .dplan{background:rgba(255,216,107,.12)}
.drawer .dplan .dic{background:#ffd86b;color:var(--ocean)}
.drawer .dplan em{flex:none;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#ffd86b;color:var(--ocean);padding:4px 8px;border-radius:4px}
.drawer .dwa{display:flex;justify-content:center;width:100%;margin-top:18px}
.drawer .tl a{display:grid;align-content:start;gap:6px;text-decoration:none;font-weight:600;font-size:15px}
.drawer .tl img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px}

/* hero */
.hero{position:relative;min-height:calc(100svh - 120px);color:#fff;overflow:hidden;display:flex;align-items:center;background:var(--ocean)}
.hero-logo-bg{position:absolute;left:-8vw;bottom:-18vh;width:46vw;max-width:640px;opacity:.07;pointer-events:none;will-change:transform}
.hero-logo-bg img{}
.hero-inner{position:relative;z-index:3;width:100%;display:grid;grid-template-columns:6fr 6fr;gap:clamp(24px,4vw,56px);align-items:center;padding-top:40px;padding-bottom:140px}
@media(max-width:960px){.hero-inner{grid-template-columns:1fr;padding-top:30px;padding-bottom:120px}}
/* moving photo wall */
.wall{position:relative;height:min(78vh,720px);display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;overflow:hidden;border-radius:28px;-webkit-mask-image:linear-gradient(#000 82%,transparent);mask-image:linear-gradient(#000 82%,transparent)}
.col{display:flex;flex-direction:column;gap:12px;will-change:transform}
.col.c1{animation:up 38s linear infinite}.col.c2{animation:down 44s linear infinite}.col.c3{animation:up 50s linear infinite}
.col img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px}
.col img.w{aspect-ratio:1}
@keyframes up{to{transform:translateY(-50%)}}@keyframes down{from{transform:translateY(-50%)}to{transform:none}}
.wall:hover .col{animation-play-state:paused}
.badge{position:absolute;right:14px;bottom:70px;width:130px;z-index:4;filter:drop-shadow(0 14px 24px rgba(0,0,0,.35))}
@media(max-width:960px){.wall{height:300px;grid-template-columns:1fr 1fr 1fr;order:-1;margin-bottom:6px}.col.c3{display:flex}.badge{width:84px;bottom:30px}}
.sample{font-size:14px;color:var(--mut);margin-top:12px}
.prompt{background:var(--mist);border-radius:22px;padding:28px;font-size:18px}
.prompt b{display:block;font:800 26px/1.15 var(--display);color:var(--ocean);margin-bottom:8px}
.chip{display:inline-flex;gap:8px;align-items:center;background:rgba(255,255,255,.16);border-radius:999px;padding:8px 16px;font-weight:600;font-size:14px}
.hero h1{font-size:clamp(42px,5vw,76px);margin-top:20px;max-width:15ch}
.hero h1 .sun{color:var(--sun)}
.hero p{font-size:clamp(18px,1.5vw,21px);max-width:40ch;margin:24px 0 32px}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px}
.promise{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:34px;font-weight:600;font-size:15px}
.promise span{display:flex;align-items:center;gap:8px}
.promise svg{width:20px;height:20px;color:var(--sun)}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}
.waves{position:absolute;left:0;right:0;bottom:-1px;z-index:4;height:120px;pointer-events:none;overflow:hidden}
.waves svg{position:absolute;bottom:0;width:200%;height:100%}
.w1{animation:waveX 14s linear infinite}.w2{animation:waveX 22s linear infinite reverse}
@keyframes waveX{to{transform:translateX(-50%)}}


/* logo de fondo con paralaje en secciones claras */
.bgl{position:relative;overflow:hidden}
.bgl>.wrap{position:relative;z-index:1}
.bg-logo{position:absolute;z-index:0;pointer-events:none;will-change:transform;opacity:.13}
.bg-logo img{width:100%}
.bg-logo.b{animation-delay:-5s}
@keyframes sway{0%,100%{transform:translate(0,0) rotate(-6deg) scale(1)}33%{transform:translate(3vw,-2vh) rotate(4deg) scale(1.04)}66%{transform:translate(-2vw,2vh) rotate(-2deg) scale(.98)}}
.bg-logo.right{right:-6vw;top:6%;width:min(44vw,620px)}
.bg-logo.left{left:-8vw;top:18%;width:min(40vw,560px)}
.bg-logo.small{width:min(22vw,300px);opacity:.10}
@media(max-width:760px){.bg-logo.right,.bg-logo.left{width:80vw}}
/* planner */
.planner{background:#fff;padding:clamp(70px,9vw,130px) 0}
.planner-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,5vw,70px);align-items:start}
@media(max-width:960px){.planner-grid{grid-template-columns:1fr}}
.new{display:inline-block;background:var(--coral);color:#fff;font-weight:700;font-size:13px;border-radius:999px;padding:6px 12px;margin-bottom:16px}
.planner h2{font-size:clamp(40px,5vw,72px);color:var(--ocean)}
.planner .lede{font-size:19px;margin:18px 0 28px;max-width:36ch}
.form{background:var(--ocean);color:#fff;border-radius:28px;padding:clamp(22px,3vw,34px);display:grid;gap:16px;position:relative;overflow:hidden}

.form label{display:grid;gap:7px;font-weight:600;font-size:15px;position:relative}
.form select,.form input{font:500 17px var(--text);padding:14px 16px;border-radius:14px;border:0;background:#fff;color:var(--ink);width:100%}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.toggle{display:flex;gap:8px}
.toggle button{flex:1;font:700 16px var(--text);padding:14px;border-radius:14px;border:0;background:var(--ocean-2);color:#fff;cursor:pointer;transition:background-color .2s,transform .15s}
.toggle button[aria-pressed=true]{background:var(--sun);color:var(--ink)}
.toggle button:active{transform:scale(.97)}
.daybar{background:var(--ocean-2);border-radius:14px;padding:16px;position:relative}
.daybar .t{display:flex;justify-content:space-between;font-size:14px;color:var(--reef);margin-bottom:10px}
.bar{position:relative;height:16px;border-radius:99px;background:#0d6079;overflow:hidden}
.bar i{position:absolute;top:0;bottom:0;border-radius:99px;transition:left .5s var(--ease),width .5s var(--ease)}
.bar .free{background:var(--lagoon)}.bar .buf{background:var(--coral)}
.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:14px}
.legend b{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.summary{font:700 22px/1.3 var(--display);margin-top:6px}
.linkbtn{background:none;border:0;color:var(--sun);font:inherit;text-decoration:underline;cursor:pointer}
.manual{display:none}.manual.on{display:grid}
.note{font-size:14px;color:var(--reef);position:relative}
.results{display:grid;gap:12px}
.res{display:grid;grid-template-columns:120px 1fr auto;gap:16px;align-items:center;background:var(--mist);border-radius:22px;padding:12px;transition:transform .25s var(--ease),opacity .3s}
.res img{width:120px;height:96px;object-fit:cover;border-radius:14px}
.res h3{font-size:23px;color:var(--ocean)}
.res .meta{font-size:15px;margin-top:4px}
.res .back{font-weight:700;color:var(--lagoon)}
.res .price{text-align:right;padding-right:10px;font-weight:800;font-size:20px;color:var(--ocean)}
.res .price small{display:block;font-weight:500;font-size:13px;color:#4c6670}
.res.tight{opacity:.5}.res.tight .back{color:var(--coral-dark)}
.res:hover{transform:translateX(6px)}
.add{font:700 14px var(--text);margin-top:9px;padding:9px 14px;border-radius:999px;border:0;background:var(--reef);color:var(--ocean);cursor:pointer;transition:background-color .2s}
.add[aria-pressed=true]{background:var(--ocean);color:#fff}
@media(max-width:600px){.res{grid-template-columns:92px 1fr}.res img{width:92px;height:92px}.res .price{grid-column:1/-1;text-align:left;padding:0 6px 6px}}
.book{position:sticky;bottom:14px;margin-top:18px;background:#c0412b;color:#fff;border-radius:22px;padding:16px 18px;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;z-index:5}
.book b{font:800 20px var(--display)}

/* his "choose your adventure" */
.adv{background:var(--mist);padding:clamp(80px,10vw,140px) 0}
.adv h2,.private h2,.glimpse h2,.reviews h2{font-size:clamp(40px,5.2vw,76px);color:var(--ocean)}
.kick{font-weight:700;color:var(--coral-dark);font-size:17px;margin-bottom:10px}
.adv .lede{font-size:19px;max-width:52ch;margin-top:16px}
.tour{display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,4vw,60px);align-items:center;margin-top:clamp(60px,8vw,110px)}
.tour:nth-child(even){grid-template-columns:5fr 7fr}
.tour:nth-child(even) .pic{order:2}
@media(max-width:860px){.tour,.tour:nth-child(even){grid-template-columns:1fr}.tour:nth-child(even) .pic{order:0}}
.pic{position:relative;overflow:hidden;border-radius:28px;aspect-ratio:4/3;background:var(--reef)}
.pic img{position:absolute;left:0;top:-10%;width:100%;height:120%;object-fit:cover;will-change:transform}
.tour h3{font-size:clamp(32px,3.4vw,50px);color:var(--ocean)}
.tour p{margin:14px 0}
.facts{display:flex;flex-wrap:wrap;gap:10px 22px;font-weight:700;margin:16px 0 20px}
.facts span{display:flex;gap:8px;align-items:center}
.facts svg{width:20px;height:20px;color:var(--lagoon)}
.stops{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.stops li{background:#fff;color:var(--ocean);border-radius:999px;padding:7px 14px;font-weight:600;font-size:15px}
.tour .btn{margin-top:0}

/* his "travel privately" + day */
.private{background:var(--ocean);color:#fff;padding:clamp(80px,10vw,140px) 0;position:relative;overflow:hidden}
.private h2{color:#fff;max-width:14ch}
.private .kick{color:var(--sun)}
.private .lede{font-size:19px;max-width:52ch;margin-top:16px;color:#d6f1ef}
.pvt-logo{position:absolute;right:-8vw;top:8%;width:38vw;max-width:560px;opacity:.9;will-change:transform}
.pvt-logo img{}
@media(max-width:900px){.pvt-logo{opacity:.18;width:70vw}}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:56px;position:relative;max-width:980px}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.steps time{font:800 clamp(38px,4vw,58px)/1 var(--display);color:var(--sun);display:block}
.steps h3{font:700 20px/1.25 var(--text);margin:12px 0 6px}
.steps p{color:#d6f1ef;font-size:16px}
.packs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:64px;max-width:980px;position:relative}
@media(max-width:760px){.packs{grid-template-columns:1fr}}
.pack{border-radius:26px;padding:clamp(24px,3vw,36px);background:var(--ocean-2)}
.pack.vip{background:var(--sun);color:var(--ink)}
.pack h3{font-size:40px}
.pack ul{list-style:none;margin-top:18px;display:grid;gap:10px}
.pack li{display:flex;gap:10px}
.pack li svg{flex:none;width:21px;height:21px;margin-top:2px;color:var(--reef-2)}
.pack.vip li svg{color:var(--coral-dark)}

/* his gallery */
.glimpse{padding:clamp(80px,10vw,140px) 0}
.gal{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(120px,15vw,210px);gap:12px;margin-top:44px}
.gal figure{position:relative;overflow:hidden;border-radius:20px;background:var(--reef)}
.gal img{position:absolute;left:0;top:-12%;width:100%;height:124%;object-fit:cover;will-change:transform;transition:scale .6s var(--ease)}
.gal figure:hover img{scale:1.05}
.g1{grid-column:span 7;grid-row:span 2}.g2{grid-column:span 5}.g3{grid-column:span 5}.g4{grid-column:span 4}.g5{grid-column:span 4}.g6{grid-column:span 4}
@media(max-width:700px){.gal{grid-template-columns:1fr 1fr}.gal figure{grid-column:span 1!important;grid-row:span 1!important}.g1{grid-column:span 2!important;grid-row:span 2!important}}

/* reviews */
.reviews{background:var(--mist);padding:clamp(80px,10vw,140px) 0}
.rev-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(30px,5vw,80px);align-items:center}
@media(max-width:860px){.rev-grid{grid-template-columns:1fr}}
.reviews p{font-size:19px;margin:18px 0 28px;max-width:42ch}
.rev-links{display:flex;flex-wrap:wrap;gap:12px}
.rev-logo{justify-self:center;width:min(100%,380px)}
.rev-logo img{}

/* his CTA + footer */
.ready{background:var(--coral);color:#fff;padding:clamp(70px,9vw,120px) 0;text-align:center}
.ready h2{font-size:clamp(42px,5.6vw,84px)}
.ready p{font-size:20px;margin:16px auto 30px;max-width:40ch}
footer{background:var(--ocean);color:#fff;padding:80px 0 36px;overflow:hidden}
.foot-top{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:36px}
@media(max-width:860px){.foot-top{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-top{grid-template-columns:1fr}}
footer h4{font:700 16px var(--text);color:var(--sun);margin-bottom:12px}
footer p,footer a{color:#d6f1ef;text-decoration:none;display:block;margin:4px 0}
footer a:hover{color:#fff}
.foot-brand img{width:120px;margin-bottom:14px}
.ico a{display:flex!important;align-items:center;gap:10px;margin:8px 0!important;word-break:break-all}
.ico a svg{flex:none;width:34px;height:34px;padding:7px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--sun);transition:background-color .2s,color .2s,transform .2s}
.ico a:hover svg{background:var(--sun);color:var(--ocean);transform:translateY(-2px)}
.legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:56px;font-size:14px;color:#9cc6cc}

.wa{position:fixed;right:18px;bottom:18px;z-index:50;width:62px;height:62px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .2s var(--ease)}
.wa:hover{transform:scale(1.08)}
.wa svg{width:32px;height:32px;color:#fff}

.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}}

/* --- revisión diseño/ventas/Codex 2026-11-10 --- */
:root{--mut:#4c6670}
.planner-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}
@media(max-width:960px){.planner-grid{grid-template-columns:minmax(0,1fr)}}
.row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.form label,.res>div{min-width:0}
.form select{text-overflow:ellipsis}
@media(max-width:600px){.form .row2{grid-template-columns:minmax(0,1fr)}}
.book[hidden]{display:none}
.bookact{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
#mailBtn{color:#fff;font-size:13px;opacity:.9}
.bar{height:22px}
.res{border:2px solid transparent}
.res:has(.add[aria-pressed=true]){background:#fff;border-color:var(--lagoon);box-shadow:0 10px 30px rgba(6,63,82,.12)}
.res.tight{opacity:.62}
.best{display:inline-block;background:var(--sun);color:var(--ink);font:700 12px var(--text);border-radius:99px;padding:3px 9px;margin-bottom:6px}
.res .back{color:#0f7f7b}
@media(max-width:600px){.res{grid-template-columns:64px minmax(0,1fr) auto;gap:10px;padding:10px}.res img{width:64px;height:64px}.res .price{grid-column:auto;text-align:right;padding:0;font-size:17px}.res h3{font-size:19px}.res .meta{font-size:13.5px}}
@media(min-width:861px){.tour{grid-template-columns:5fr 7fr}.tour:nth-child(even){grid-template-columns:7fr 5fr}}
@media(max-width:860px){.pic{max-width:none}}
.pic{max-width:560px;width:100%}
.g1{grid-column:span 6;grid-row:span 2}.g2,.g3{grid-column:span 6}
.revtiles{display:flex;gap:12px;flex-wrap:wrap}
.revtiles span{display:grid;gap:4px;background:#fff;border-radius:16px;padding:16px 20px;min-width:180px;font-size:14px;color:var(--mut)}
.revtiles b{font:800 20px var(--display);color:var(--ocean)}
.ready{background:#c0412b}
.new{background:#c0412b}
.steps,.packs{max-width:none}
.pvt-logo{top:2%;right:-4vw;width:30vw}
.ico a{word-break:normal;overflow-wrap:anywhere}
body.has-book .wa{opacity:0;pointer-events:none}
@media(max-width:600px){.wa{width:52px;height:52px;bottom:calc(16px + env(safe-area-inset-bottom))}.wa svg{width:28px;height:28px}}
.hero-inner{padding-bottom:110px}
.wallbtn{position:absolute;left:12px;bottom:14px;z-index:5;font:700 13px var(--text);background:rgba(6,63,82,.85);color:#fff;border:0;border-radius:99px;padding:8px 14px;cursor:pointer}
.wall.paused .col{animation-play-state:paused}
.res .switch{background:var(--sun)}

/* --- tours en tarjetas y carrusel (2026-11-10) --- */
.col img{border-radius:6px}.res img{border-radius:4px}
.tgrid2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:48px}
@media(max-width:1060px){.tgrid2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.tgrid2{grid-template-columns:minmax(0,1fr)}}
.tcard{background:#fff;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 0 rgba(6,63,82,.06),0 18px 40px -24px rgba(6,63,82,.35);transition:transform .25s var(--ease),box-shadow .25s}
.tcard:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(6,63,82,.06),0 28px 50px -24px rgba(6,63,82,.45)}
.tc-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--reef)}
.tc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.tcard:hover .tc-img img{transform:scale(1.04)}
.tc-price{position:absolute;right:0;bottom:0;background:var(--ocean);color:#fff;padding:10px 16px 10px;font:800 30px/1 var(--display);display:flex;flex-direction:column;align-items:flex-end}
.tc-price small{font:600 11px/1.3 var(--text);color:var(--reef);text-transform:none}
.tc-price small:first-child{order:-1}
.tc-pop{position:absolute;left:0;top:14px;background:var(--sun);color:var(--ink);font:800 12px var(--text);padding:6px 12px;letter-spacing:.02em}
.tc-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.tc-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font:700 13px var(--text);color:#0f7f7b;margin-bottom:8px}
.tcard h3{font-size:26px;line-height:1.05;margin-bottom:8px}.tcard h3 a{text-decoration:none;color:var(--ocean)}
.tcard p{font-size:15px;color:#3c5560;margin:0 0 12px}
.tc-stops{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.tc-stops li{font-size:12.5px;font-weight:600;background:var(--mist);color:var(--ocean);padding:4px 10px;border-radius:4px}
.tc-act{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tc-act .btn{padding:13px 22px}
.tc-fit{font-weight:700;font-size:14px;color:var(--ocean);text-decoration:underline;text-underline-offset:4px}
.tcustom{margin-top:22px;background:var(--ocean);color:#fff;border-radius:8px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.tcustom h3{color:var(--sun);font-size:30px}.tcustom p{color:#d6f1ef;margin-top:6px;max-width:60ch}
.tcustom .tc-act{margin:0;gap:10px}
.carou{position:relative;margin-top:40px}
.car-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,30%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px;scrollbar-width:none}
.car-track::-webkit-scrollbar{display:none}
@media(max-width:640px){.car-track{grid-auto-columns:82%}}
.slide{scroll-snap-align:start;position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:6px;background:var(--reef)}
.slide img{width:100%;height:100%;object-fit:cover}
.slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;color:#fff;font:700 15px var(--text);background:linear-gradient(transparent,rgba(4,30,40,.75))}
.car-ctrl{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
.car-btn{width:48px;height:48px;border-radius:50%;border:0;background:var(--ocean);color:#fff;font-size:26px;line-height:1;cursor:pointer;transition:transform .2s}
.car-btn:hover{transform:scale(1.08)}
.menu>li>a,.menu>li>button{white-space:nowrap}

/* --- planificador horizontal (escritorio/tablet) --- */
.pl-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(20px,4vw,60px);align-items:end;margin-bottom:28px}
.pl-head .lede{margin:0 0 6px}.pl-head .sample{margin:0}
@media(max-width:860px){.pl-head{grid-template-columns:minmax(0,1fr)}}
.pl-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 18px;align-items:end;border-radius:16px}
.pl-form .f-wide,.pl-form .daybar{grid-column:1/-1}
.pl-form .f-half{grid-column:span 2;margin:0}
.pl-form .f-next{grid-column:span 2}
.pl-form .note{margin:0}
@media(max-width:1060px){.pl-form{grid-template-columns:repeat(2,minmax(0,1fr))}.pl-form .f-half,.pl-form .f-next{grid-column:1/-1}}
@media(max-width:640px){.pl-form{grid-template-columns:minmax(0,1fr)}}
.pl-results{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px;gap:14px}
@media(max-width:1060px){.pl-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.pl-results{grid-template-columns:minmax(0,1fr)}}
.pl-results .prompt{grid-column:1/-1}
.pl-results .res{grid-template-columns:84px minmax(0,1fr);align-items:start}
.pl-results .res img{width:84px;height:84px}
.pl-results .res .price{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;text-align:left;padding:8px 2px 0;border-top:1px solid rgba(6,63,82,.08)}
.pl-results .res .price small{display:inline}
.pl-results .res h3{font-size:21px}
.pl-results .res:hover{transform:translateY(-3px)}

/* --- ronda 3 de revisión --- */
.tc-meta span{display:inline-flex;gap:5px;align-items:center}
@media(max-width:700px){.pl-results:not(.all) .res:nth-of-type(n+4):not(:has(.add[aria-pressed=true])){display:none}.showall{grid-column:1/-1;justify-self:center;padding:12px 20px}}
@media(min-width:701px){.showall{display:none}}
@media(min-width:641px) and (max-width:1060px){.tgrid2 .tcard:last-child{grid-column:1/-1;flex-direction:row}.tgrid2 .tcard:last-child .tc-img{flex:0 0 50%;aspect-ratio:auto}}
.slide{aspect-ratio:4/3}.car-track{grid-auto-columns:minmax(260px,24%)}
@media(max-width:640px){.car-track{grid-auto-columns:74%}}
.car-play{border:0;border-radius:99px;background:var(--mist);color:var(--ocean);font:700 14px var(--text);padding:0 18px;height:48px;cursor:pointer;margin-right:auto}
.rev-grid{grid-template-columns:7fr 5fr}
@media(max-width:860px){.rev-grid{grid-template-columns:1fr}}
.rev-photo{margin:0;border-radius:8px;overflow:hidden;aspect-ratio:4/3}.rev-photo img{width:100%;height:100%;object-fit:cover}
.revtiles a{display:grid;gap:4px;background:#fff;border-radius:12px;padding:16px 22px;text-decoration:none;color:var(--ocean);font-weight:600}
.revtiles a b{font:800 20px var(--display)}
@media(max-width:640px){.tc-act .btn{flex:1;justify-content:center}}
.tcard{position:relative}.tcard h3 a::after{content:"";position:absolute;inset:0}.tc-act,.tc-img{position:relative;z-index:1}
.tc-price{font-size:26px;padding:8px 12px}
.add{background:#fff;border:2px solid var(--ocean);color:var(--ocean)}.add[aria-pressed=true]{background:var(--ocean);color:#fff}.add.switch{background:var(--sun);border-color:var(--sun)}
.ico a{overflow-wrap:normal}
.pvt-logo{top:clamp(60px,8vw,110px)!important;right:max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)))!important;width:clamp(200px,22vw,320px)!important;opacity:1!important}
@media(max-width:900px){.pvt-logo{position:relative!important;right:auto!important;top:auto!important;width:180px!important;margin:0 auto 10px var(--gut);display:block}}
.glimpse{padding:clamp(70px,8vw,110px) 0;overflow:hidden}
.car-track{grid-auto-columns:clamp(320px,38vw,600px);gap:16px;margin-right:calc(-1 * max(var(--gut),calc((100vw - var(--max))/2 + var(--gut))));padding-right:max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)))}
.slide{aspect-ratio:3/2;border-radius:4px}
.slide figcaption{font-size:18px;padding:40px 18px 16px}
@media(max-width:640px){.car-track{grid-auto-columns:84vw}.slide{aspect-ratio:4/3}.slide figcaption{font-size:15px}}

/* ===== páginas de tour ===== */
.crumbs{font-size:14px;color:var(--mut);margin-bottom:18px}.crumbs a{color:var(--ocean)}
.thero{background:var(--ocean);color:#fff;padding:clamp(40px,6vw,80px) 0 clamp(60px,8vw,110px);position:relative;overflow:hidden}
.thero .crumbs,.thero .crumbs a{color:#c9e9e6}
.thero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,60px);align-items:center}
@media(max-width:860px){.thero-grid{grid-template-columns:minmax(0,1fr)}}
.thero h1{font-size:clamp(40px,5.6vw,80px);color:#fff}
.thero p{font-size:19px;margin:18px 0 26px;max-width:46ch;color:#e3f4f3}
.thero .facts{color:#fff}.thero .facts svg{color:var(--sun)}
.tmosaic{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;max-width:560px;width:100%;aspect-ratio:4/3;justify-self:center}.tmosaic img{width:100%;height:100%;object-fit:cover;border-radius:6px}.tmosaic img:first-child{grid-row:1/-1}
.frame{background:#fff;padding:12px 12px 46px;border-radius:10px;transform:rotate(2deg);max-width:520px;width:100%;justify-self:center;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.frame img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.frame span{display:block;text-align:center;font:700 18px var(--display);color:var(--ocean);margin-top:12px}
.tbody{padding:clamp(60px,8vw,110px) 0}
.tgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(30px,5vw,70px);align-items:start}
@media(max-width:860px){.tgrid{grid-template-columns:minmax(0,1fr)}}
.tbody h2{font-size:clamp(30px,3.6vw,46px);color:var(--ocean);margin:0 0 16px}
.tbody h2+ul{margin-bottom:40px}
.tside{display:grid;gap:16px;position:sticky;top:100px}
.pricebox{background:var(--mist);border-radius:24px;padding:26px}
.meet{background:var(--ocean);color:#fff;border-radius:24px;padding:24px}.meet h3{color:var(--sun);font-size:24px;margin-bottom:10px}.meet p{margin-top:10px;font-size:15px;color:#d6f1ef}.meet b{display:block;color:#fff;font-size:16px}
.meet .sample{color:#bfe3e0}
.gtk{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}@media(max-width:600px){.gtk{grid-template-columns:1fr}}
.gtk div{background:var(--mist);border-radius:18px;padding:18px;font-size:15px}.gtk b{display:block;font:800 19px var(--display);color:var(--ocean);margin-bottom:4px}
.pk{margin-top:10px}
.tcta{background:#c0412b;color:#fff;padding:clamp(50px,7vw,90px) 0}.tcta .wrap{display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.tcta h2{color:#fff;font-size:clamp(30px,3.6vw,48px)}.tcta p{color:#fff3ee;margin-top:8px;font-size:18px}
@media(max-width:860px){.tside{position:static}}
.pricebox .big{font:800 46px var(--display);color:var(--ocean)}
.pricebox .btn{width:100%;justify-content:center;margin-top:12px}
.pk{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:40px}
@media(max-width:600px){.pk{grid-template-columns:1fr}}
.pk div{border-radius:20px;padding:20px;background:var(--ocean);color:#fff}.pk div.v{background:var(--sun);color:var(--ink)}
.pk h3{font-size:28px;color:inherit;margin-bottom:10px}.pk ul{list-style:none;display:grid;gap:8px}.pk li{display:flex;gap:8px}.pk svg{width:20px;flex:none}
.timeline{list-style:none;display:grid;gap:12px;margin-bottom:40px}
.timeline li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;font-size:17px}
.timeline b{width:34px;height:34px;border-radius:50%;background:var(--lagoon);color:#fff;display:grid;place-items:center;font-size:15px}
.related{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:960px){.related{grid-template-columns:1fr 1fr}}
.related a{display:grid;gap:8px;text-decoration:none;background:var(--mist);border-radius:18px;padding:10px}
.related img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px}
.related b{color:var(--ocean);font:800 20px var(--display)}

/* ===== páginas legales ===== */
.doc{max-width:820px;margin:0 auto;padding:clamp(40px,6vw,80px) var(--gut)}
.doc h1{font-size:clamp(36px,5vw,60px);color:var(--ocean);margin-bottom:10px}
.doc h2{font-size:26px;color:var(--ocean);margin:36px 0 10px}.doc h3{font-size:20px;color:var(--ocean);margin:24px 0 8px}
.doc p,.doc li{font-size:17px;line-height:1.65;margin:10px 0}.doc ul,.doc ol{padding-left:22px}
.doc mark{background:#fff2b3;color:var(--ink);border-radius:4px;padding:0 4px}
.lnav{font-size:14px;color:var(--mut);margin-bottom:24px}.lnav a{color:var(--ocean)}
.pt{width:100%;border-collapse:collapse;margin:16px 0;font-size:16px}.pt th,.pt td{text-align:left;padding:10px 12px;border-bottom:1px solid #d6e6e5;vertical-align:top}.pt th{background:var(--mist);color:var(--ocean)}
.draft{background:#fff2b3;border-radius:14px;padding:14px 18px;font-size:15px;margin-bottom:24px}

/* ===== producción: utilidades comunes ===== */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--sun);color:var(--ink);padding:10px 16px;border-radius:999px;font-weight:700;text-decoration:none}
.skip:focus{left:12px}
.legal a{display:inline!important;color:inherit;margin:0!important}
.legal a.inf{color:#fff;font-weight:700}
.menu a[aria-current=page]{background:var(--mist)}
.mega .side .btn{align-self:flex-start}
.mg-all{grid-column:1/-1;font-weight:700;color:var(--ocean);text-decoration:underline;text-underline-offset:4px;font-size:15px}
/* página interior (tours, about, book, legal) */
.phero{background:var(--ocean);color:#fff;padding:clamp(48px,7vw,96px) 0 clamp(56px,8vw,110px);position:relative;overflow:hidden}
.phero .kick{color:var(--sun)}
.phero h1{font-size:clamp(42px,5.6vw,80px);color:#fff;max-width:16ch}
.phero p.lead{font-size:clamp(18px,1.5vw,21px);max-width:52ch;margin-top:18px;color:#e3f4f3}
.phero .crumbs,.phero .crumbs a{color:#c9e9e6}
.phero .hero-logo-bg{left:auto;right:-8vw;bottom:-30%;opacity:.08}
.psec{padding:clamp(60px,8vw,110px) 0}
.psec.mist{background:var(--mist)}
.psec h2{font-size:clamp(34px,4.4vw,60px);color:var(--ocean)}
.psec .lede{font-size:19px;max-width:56ch;margin-top:14px}
/* about */
.ab-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(30px,5vw,70px);align-items:center}
@media(max-width:860px){.ab-grid{grid-template-columns:minmax(0,1fr)}}
.ab-grid p{margin-top:14px;font-size:18px}
.ab-photo{margin:0;border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:var(--reef);max-width:560px;width:100%;justify-self:center}.ab-photo img{width:100%;height:100%;object-fit:cover}
.ab-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:40px}
@media(max-width:860px){.ab-cards{grid-template-columns:minmax(0,1fr)}}
.ab-cards article{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 0 rgba(6,63,82,.06),0 18px 40px -24px rgba(6,63,82,.35)}
.ab-cards img{width:100%;aspect-ratio:4/3;object-fit:cover}
.ab-cards div{padding:18px 20px 22px}.ab-cards h3{font-size:26px;color:var(--ocean);margin-bottom:6px}.ab-cards p{font-size:16px;color:#3c5560}
/* book */
.bk-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(24px,4vw,50px);align-items:start}
@media(max-width:900px){.bk-grid{grid-template-columns:minmax(0,1fr)}}
.bk-card{background:#fff;border-radius:16px;padding:clamp(22px,3vw,36px);box-shadow:0 1px 0 rgba(6,63,82,.06),0 24px 50px -28px rgba(6,63,82,.4)}
.bk-card h2{font-size:clamp(30px,3.4vw,42px);color:var(--ocean)}
.bk-card>p{margin:10px 0 22px;color:#3c5560}
.form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
@media(max-width:640px){.form-grid{grid-template-columns:minmax(0,1fr)}}
.field{display:grid;gap:7px;min-width:0}.field.full{grid-column:1/-1}
.field label{font-weight:600;font-size:15px;color:var(--ocean)}
.field input,.field select,.field textarea{font:500 17px var(--text);padding:14px 16px;border-radius:12px;border:2px solid #cfe3e2;background:#fff;color:var(--ink);width:100%;min-width:0}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--lagoon);outline:0}
.field textarea{min-height:130px;resize:vertical}
.field .btn{justify-content:center}
.field .btn[disabled]{opacity:.6;cursor:wait}
#formStatus{margin-top:16px;font-weight:600}
#formStatus.notice{background:var(--mist);border-radius:12px;padding:14px 16px}
#formStatus.ok{background:#e3f7ef;color:#0b5a3c}#formStatus.err{background:#fde8e4;color:#8a2a17}
.small-note{font-size:14px;color:var(--mut);margin-top:14px}
.bk-side{display:grid;gap:16px;position:sticky;top:100px}
@media(max-width:900px){.bk-side{position:static}}
.bk-side .box{background:var(--mist);border-radius:16px;padding:24px}
.bk-side .box.dark{background:var(--ocean);color:#fff}.bk-side .box.dark h3{color:var(--sun)}
.bk-side h3{font-size:24px;color:var(--ocean);margin-bottom:8px}
.bk-side ul{padding-left:20px;margin:10px 0 0}.bk-side li{margin:4px 0}
.bk-side .btn{margin-top:14px;justify-content:center;width:100%}
#bookingSummary strong{display:block;color:var(--ocean);font-size:18px}
.doc-wrap{background:#fff}

/* revisión 10-nov: correos largos sin desborde, áreas táctiles de 44 px en pantallas táctiles, carrusel sin ampliar fotos chicas */
.doc p,.doc li,.doc td,footer p,footer a{overflow-wrap:anywhere}
#nextDay{width:22px!important;height:22px!important}
@media(pointer:coarse),(max-width:760px){
 footer a{padding:10px 0;margin:0}
 .legal a{display:inline-block!important;padding:12px 6px}
 .tc-fit{display:inline-flex;align-items:center;min-height:44px}
 .tcard h3 a{display:inline-block;padding:6px 0}
 .wallbtn,.car-play,.car-btn{min-height:44px;min-width:44px}
 .f-next{min-height:44px}
}

/* ===== auditoría UX/accesibilidad 10-nov ===== */
/* barra de reserva fija: overflow:clip no rompe position:sticky (hidden sí) */
.planner.bgl{overflow:clip}
@supports not (overflow:clip){.planner.bgl{overflow:visible}.planner .bg-logo{display:none}}
@media(max-width:600px){
 .book{bottom:calc(8px + env(safe-area-inset-bottom));padding:12px 14px;gap:8px}
 .book b{font-size:17px}#bookSub{font-size:14px}
 .bookact{flex-direction:row;align-items:center;width:100%;justify-content:space-between}
 #bookBtn{padding:13px 18px}
 #mailBtn{display:inline-block;padding:12px 4px;font-size:14px;opacity:1}
}
/* foco visible: azul océano sobre fondos claros, amarillo sobre fondos oscuros */
:focus-visible{outline:3px solid var(--fr,#063f52);outline-offset:3px}
.topbar,.form,.hero,.private,.phero,.thero,footer,.drawer,.mega .side,.box.dark,.book,.tcta,.ready,.tcustom{--fr:#ffd86b}
.field input,.field select,.field textarea{border-color:#6b8f95}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ocean);outline:3px solid var(--ocean);outline-offset:2px}
/* contraste */
.kick{color:#b23a26}
.res.tight{opacity:1}.res.tight img{filter:grayscale(1);opacity:.55}.res.tight .back{color:#a23a28}
.res .back{color:#0b6f6b}
.menu .hot em{background:#c0412b;font-size:12px}
.timeline b{background:#0b6f6b}
/* tipografía: sin palabras sueltas al final de los títulos; textos chicos legibles */
h1,h2,h3,.summary{text-wrap:balance}
p,li{text-wrap:pretty}
.mg-price small,.mg-tag{font-size:12px}
.tc-price small,.tc-pop{font-size:13px}
/* áreas táctiles restantes */
.crumbs a,.small-note a{display:inline-block;padding:12px 2px;margin:-12px 0}
.topbar .soc a{display:inline-grid;place-items:center;min-width:24px;min-height:24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.mega:not(.open) img,.drawer:not(.open) .tl img{display:none}
footer .fh{font:700 16px var(--text);color:var(--sun);margin-bottom:12px;letter-spacing:0;line-height:1.3}
.tgt{display:none}.tgt:target{display:block}

#contact{scroll-margin-top:80px}

/* foto de Animal Park: encuadre alto para no cortar la cara */
img[src$="animal-park.webp"]{object-position:50% 12%}

/* ===== SEO 10-nov: páginas de puerto, bloque de puertos y preguntas frecuentes ===== */
.foot-top{grid-template-columns:1.6fr 1fr 1.25fr 1fr 1.35fr;gap:32px}
@media(max-width:1100px){.foot-top{grid-template-columns:1fr 1fr 1fr}.foot-brand{grid-column:1/-1}}
@media(max-width:640px){.foot-top{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.foot-top{grid-template-columns:1fr}}
.hero p a,.phero .lead a{color:#fff;text-underline-offset:3px}
.thero .tk{color:var(--sun);margin-bottom:8px}
/* mega menú: enlaces por puerto */
.mg-ports{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding-top:12px;border-top:1px solid #dcebea;font:700 13px var(--text);color:var(--mut)}
.mg-ports>span{letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin-right:4px}
.mg-ports a{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:4px;background:var(--mist);color:var(--ocean);text-decoration:none;font-size:14px;transition:background-color .2s}
.mg-ports a:hover{background:var(--reef)}
.mg-ports svg{width:15px;height:15px;color:#0b6f6b}
/* tarjetas de puerto */
.ports-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(16px,4vw,60px);align-items:end}
.ports-head .lede{margin:0 0 8px}
@media(max-width:860px){.ports-head{grid-template-columns:minmax(0,1fr)}}
.ports{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:36px}
.ports-one{grid-template-columns:minmax(0,640px);margin-top:24px}
@media(max-width:700px){.ports{grid-template-columns:minmax(0,1fr)}}
.port-card{position:relative;display:flex;flex-direction:column;gap:8px;background:var(--ocean);color:#fff;text-decoration:none;border-radius:8px;padding:clamp(22px,3vw,32px);overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s;box-shadow:0 18px 40px -26px rgba(6,63,82,.6);--fr:#ffd86b}
.port-card:hover{transform:translateY(-4px);box-shadow:0 28px 50px -26px rgba(6,63,82,.7)}
.port-card::after{content:"";position:absolute;right:-40px;bottom:-60px;width:200px;height:200px;border-radius:50%;border:28px solid rgba(255,255,255,.05);pointer-events:none}
.pc-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:6px;background:var(--sun);color:var(--ocean);margin-bottom:6px}
.pc-ico svg{width:24px;height:24px}
.pc-lines{font:700 13px var(--text);letter-spacing:.04em;color:var(--reef)}
.port-card h3{font-size:clamp(24px,2.4vw,32px);color:#fff}
.port-card p{color:#d6f1ef;font-size:16px;max-width:44ch}
.pc-go{margin-top:auto;padding-top:10px;font-weight:700;color:var(--sun)}
/* página de puerto */
.phero h1.ph-port{max-width:18ch}
.ph-facts{color:#fff;margin:22px 0 22px}
.port-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(30px,5vw,70px);align-items:start}
@media(max-width:860px){.port-grid{grid-template-columns:minmax(0,1fr)}}
.port-grid h2,.port-plan h2{margin-bottom:6px}
.pfacts{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
@media(max-width:600px){.pfacts{grid-template-columns:minmax(0,1fr)}}
.pfacts li{background:#fff;border:1px solid #d6e6e5;border-left:4px solid var(--lagoon);border-radius:6px;padding:16px 18px;font-size:16px;color:#3c5560}
.pfacts b{display:block;font:800 18px/1.25 var(--display);color:var(--ocean);margin-bottom:4px}
.port-meet{position:sticky;top:100px;border-radius:8px;padding:clamp(22px,3vw,30px)}
@media(max-width:860px){.port-meet{position:static}}
.pm-steps{list-style:none;counter-reset:pm;display:grid;gap:14px;margin:14px 0 8px}
.pm-steps li{counter-increment:pm;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;font-size:15.5px;color:#d6f1ef}
.pm-steps li::before{content:counter(pm);grid-row:1/3;width:34px;height:34px;border-radius:6px;background:var(--sun);color:var(--ocean);display:grid;place-items:center;font:800 15px var(--display)}
.pm-steps b{color:#fff;font-size:16.5px;margin-bottom:2px}
.port-meet .btn{margin-top:16px;width:100%;justify-content:center}
.port-plan{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(30px,5vw,70px);align-items:start}
@media(max-width:900px){.port-plan{grid-template-columns:minmax(0,1fr)}}
.port-plan .lede{font-size:18px}
.tt-wrap{overflow-x:auto;border:1px solid #d6e6e5;border-radius:6px}
.tt{margin:0;font-size:16px}
.tt th[scope=row]{font-weight:700;background:none;color:var(--ocean)}
.tt th[scope=row] a{color:var(--ocean);text-underline-offset:3px;display:inline-block;padding:4px 0}
.tt td{white-space:nowrap;font-variant-numeric:tabular-nums}
.tt tbody tr:last-child>*{border-bottom:0}
.tt td:last-child{font-weight:700;color:#0b6f6b}
/* preguntas frecuentes */
.faq-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,70px);align-items:start}
@media(max-width:900px){.faq-grid{grid-template-columns:minmax(0,1fr)}}
.faq-head{position:sticky;top:110px}
@media(max-width:900px){.faq-head{position:static}}
.faq-head .lede a{color:var(--ocean);font-weight:700;text-underline-offset:3px}
.faq{display:grid;gap:10px}
.faq details{background:#fff;border:1px solid #d6e6e5;border-radius:6px;transition:border-color .2s,box-shadow .2s}
.faq details[open]{border-color:var(--reef-2);box-shadow:0 14px 30px -24px rgba(6,63,82,.45)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:16px 20px;cursor:pointer;font:800 17.5px/1.3 var(--display);color:var(--ocean);border-radius:6px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:10px;height:10px;margin-right:4px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:translateY(2px) rotate(225deg)}
.faq summary:hover{background:#f7fcfb}
.faq .a{padding:0 20px 20px}
.faq .a p{font-size:16.5px;color:#3c5560;max-width:68ch}
.faq .a a{color:var(--ocean);font-weight:700;text-underline-offset:3px}
.port-plan h2,.faq-head h2{font-size:clamp(32px,3.4vw,50px)}
@media(max-width:600px){.tt{font-size:15px}.tt th,.tt td{padding:10px 10px}.tt thead th{font-size:13.5px}}
@media(min-width:641px) and (max-width:1000px){.car-track{grid-auto-columns:60vw}}
/* "Contact" lleva al pie: la columna de contacto se ilumina para que se note */
.fcontact{border-radius:10px;transition:background .4s,box-shadow .4s}
.fcontact.flash{background:rgba(255,216,107,.14);box-shadow:0 0 0 12px rgba(255,216,107,.14),0 0 0 14px rgba(255,216,107,.55)}
@media(prefers-reduced-motion:reduce){.fcontact{transition:none}}
/* ===== Asistente de preguntas (js/asistente.js), mismo esquema que el de Infinity: botón sobre el de WhatsApp,
   panel lateral en escritorio y hoja inferior en celular ===== */
.asis{position:fixed;right:20px;bottom:96px;z-index:55;font-family:var(--text)}
.asis-btn{position:relative;width:60px;height:60px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -6px rgba(6,63,82,.55),0 2px 6px rgba(6,63,82,.2);transition:transform .25s var(--ease),opacity .2s,visibility .2s}
.asis-ring{position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(from 200deg,var(--lagoon),var(--sun),var(--coral),var(--lagoon));z-index:-1}
.asis-btn::before{content:"";position:absolute;inset:0;border-radius:50%;background:#fff}
.asis-btn img{position:relative;width:46px;height:46px;border-radius:50%;object-fit:cover}
.asis-badge{position:absolute;right:-4px;top:-4px;width:24px;height:24px;border-radius:50%;background:var(--ocean);color:var(--sun);display:grid;place-items:center;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.asis-btn:hover{transform:translateY(-3px) scale(1.04)}
.asis-btn:focus-visible{outline:3px solid var(--ocean);outline-offset:4px}
.asis.open .asis-btn{opacity:0;visibility:hidden;transform:scale(.85)}
.asis-tip{position:absolute;right:74px;top:50%;translate:0 -50%;white-space:nowrap;background:#fff;color:var(--ink);font-size:14px;font-weight:500;padding:10px 14px;border-radius:12px;box-shadow:0 12px 30px -8px rgba(6,63,82,.45);cursor:pointer;opacity:0;visibility:hidden;transform:translateX(8px);transition:opacity .3s,transform .3s var(--ease),visibility .3s}
.asis-tip b{color:#c0412b}
.asis-tip::after{content:"";position:absolute;right:-6px;top:50%;width:12px;height:12px;background:#fff;transform:translateY(-50%) rotate(45deg);border-radius:2px}
.asis-tip.show{opacity:1;visibility:visible;transform:none}
.asis-bg{position:fixed;inset:0;background:rgba(4,30,40,.4);z-index:90;animation:asisF .25s}
.asis-bg[hidden],.asis-panel[hidden]{display:none}
.asis-panel{position:fixed;top:0;right:0;bottom:0;width:min(400px,100vw);display:flex;flex-direction:column;z-index:91;color:#fff;background:linear-gradient(180deg,#0a4d63 0%,#063f52 45%,#05303f 100%);border-radius:18px 0 0 18px;box-shadow:-24px 0 60px rgba(4,30,40,.35);overflow:hidden;animation:asisIn .3s var(--ease)}
.asis-hd{display:flex;align-items:center;gap:12px;padding:16px 16px 14px 18px;padding-top:calc(16px + env(safe-area-inset-top,0px));border-bottom:1px solid rgba(255,255,255,.1)}
.asis-av{width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;box-shadow:0 0 0 2px var(--sun)}
.asis-av img{width:38px;height:38px;border-radius:50%;object-fit:cover}
.asis-tt b{display:block;font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:-.01em}
.asis-tt small{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--sun);margin-top:2px}
.asis-tt small i{width:7px;height:7px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 3px rgba(61,220,132,.2)}
.asis-x{margin-left:auto;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}
.asis-x:hover{background:rgba(255,255,255,.14)}
.asis-msgs{flex:1 1 auto;min-height:0;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.asis-m{max-width:90%;padding:11px 14px;border-radius:16px;font-size:15px;line-height:1.5}
.asis-m.bot{align-self:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-top-left-radius:5px;color:#e6f4f3}
.asis-m.bot b{color:#fff}
.asis-m.bot a:not(.asis-cta){color:var(--sun);text-underline-offset:2px}
.asis-m.me{align-self:flex-end;background:#c0412b;border-top-right-radius:5px;color:#fff;font-weight:500}
.asis-m.typing{display:flex;gap:5px;padding:14px 16px}
.asis-m.typing span{width:7px;height:7px;border-radius:50%;background:#9fd3d0;animation:asisP 1s infinite}
.asis-m.typing span:nth-child(2){animation-delay:.15s}.asis-m.typing span:nth-child(3){animation-delay:.3s}
.asis-step{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--sun);font-weight:700;margin-bottom:4px}
.asis-cta{display:inline-flex;align-items:center;gap:8px;margin-top:12px;min-height:44px;padding:10px 16px;border-radius:999px;background:#25d366;color:#05303f;font-weight:700;font-size:14px;text-decoration:none;box-shadow:0 8px 18px -8px rgba(37,211,102,.7)}
.asis-cta svg{width:18px;height:18px;flex:none}
.asis-cta:hover{background:#3ddc84}
.asis-alt{margin:10px 0 0;font-size:13px;color:#b9dcd9}
.asis-chips{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.08)}
.asis-chips button{font:inherit;font-size:14px;font-weight:600;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,216,107,.5);border-radius:999px;padding:9px 14px;min-height:44px;cursor:pointer;text-align:left}
.asis-chips button:hover{background:rgba(255,216,107,.16)}
.asis-chips .asis-chip-wa{border-color:rgba(61,220,132,.7)}
.asis-chips .asis-cancel{border-color:rgba(255,255,255,.25);color:#b9dcd9}
.asis-form{display:flex;gap:8px;padding:12px 14px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.14)}
.asis-form input{flex:1;min-width:0;font:inherit;font-size:16px;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:11px 16px}
.asis-form input::placeholder{color:#9fc7c4}
.asis-form input:focus-visible{outline:2px solid var(--sun);outline-offset:1px}
.asis-send,.asis-wa{width:46px;height:46px;border-radius:50%;border:0;display:grid;place-items:center;flex:none;cursor:pointer}
.asis-send{background:var(--sun);color:var(--ocean)}
.asis-wa{background:#25d366;color:#fff}
.asis-panel :is(a,button):focus-visible{outline:2px solid var(--sun);outline-offset:2px}
@keyframes asisIn{from{transform:translateX(40px);opacity:.4}to{transform:none;opacity:1}}
@keyframes asisUp{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@keyframes asisF{from{opacity:0}to{opacity:1}}
@keyframes asisP{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
html.asis-on .wa{opacity:0;pointer-events:none}
body.has-book .asis{opacity:0;pointer-events:none}
@media(max-width:600px){
  .asis{right:18px;bottom:calc(82px + env(safe-area-inset-bottom))}
  .asis-btn{width:54px;height:54px}.asis-btn img{width:42px;height:42px}
  .asis-tip{right:66px;font-size:13px;padding:9px 12px}
  .asis-panel{top:auto;left:0;width:100%;height:88vh;height:88dvh;border-radius:18px 18px 0 0;animation-name:asisUp}
  html.asis-on{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.asis-panel,.asis-bg{animation:none}.asis-m.typing span{animation:none;opacity:.7}.asis-btn,.asis-tip{transition:none}}
@media print{.asis{display:none}}
.faq-asis{display:flex;align-items:center;gap:14px;margin-top:22px;width:100%;max-width:420px;text-align:left;font:inherit;color:#fff;background:var(--ocean);border:0;border-radius:14px;padding:14px 18px;cursor:pointer;box-shadow:0 14px 30px -18px rgba(6,63,82,.8);transition:transform .2s var(--ease),box-shadow .2s}
.faq-asis:hover{transform:translateY(-2px);box-shadow:0 18px 34px -16px rgba(6,63,82,.85)}
.faq-asis[hidden]{display:none}
.faq-asis .fa-ico{width:42px;height:42px;border-radius:50%;background:var(--sun);color:var(--ocean);display:grid;place-items:center;flex:none}
.faq-asis b{display:block;font-family:var(--display);font-size:17px}
.faq-asis small{display:block;font-size:14px;color:#cdeae7;margin-top:2px}
.asis-chips{max-height:34%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,216,107,.4) transparent}
@media(max-width:600px){.asis-chips{max-height:126px}}
/* celular y tablet: los botones flotantes (WhatsApp y asistente) esperan a que el visitante baje del encabezado */
@media(max-width:820px){
  .wa,.asis-btn{opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s}
  html.floats-on .wa,html.floats-on .asis-btn{opacity:1;visibility:visible;transform:none}
  html.floats-on body.has-book .wa,html.asis-on .wa{opacity:0;visibility:hidden}
  .asis-tip{display:none}
}
/* celular/tablet: el logo de "Travel privately" queda quieto encima del texto (el paralaje lo bajaba sobre la etiqueta) */
@media(max-width:900px){.pvt-logo{transform:none!important;width:150px!important;margin:0 0 22px var(--gut)!important}}
/* Add-on de fotografía profesional y dron (portada y fichas) */
.addon{background:linear-gradient(135deg,#0a4d63,#063f52 60%,#05303f);color:#fff;padding:clamp(56px,7vw,96px) 0;position:relative;overflow:hidden}
.addon-in{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:center}
.addon-ico{display:flex;gap:16px}
.addon-ico span{width:clamp(76px,9vw,108px);height:clamp(76px,9vw,108px);border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;color:var(--sun)}
.addon-ico span:nth-child(2){transform:translateY(22px);color:#7fe0d9}
.addon-ico svg{width:52%;height:52%}
.addon .kick{color:var(--sun)}
.addon h2{color:#fff;max-width:20ch}
.addon h2 .sun{color:var(--sun)}
.addon .lede{color:#d6f1ef;max-width:58ch}
@media(max-width:700px){.addon-in{grid-template-columns:minmax(0,1fr)}.addon-ico span:nth-child(2){transform:none}}
.addon-mini{display:flex;gap:16px;align-items:flex-start;margin-top:22px;background:#063f52;color:#d6f1ef;border-radius:14px;padding:18px 20px}
.addon-mini b{display:block;color:#fff;font-family:var(--display);font-size:17px;margin-bottom:4px}
.am-ico{flex:none;width:46px;height:46px;border-radius:12px;background:rgba(255,216,107,.16);color:var(--sun);display:grid;place-items:center}
.am-ico svg{width:24px;height:24px}
.addon h2{font-size:clamp(34px,4.6vw,62px);line-height:1.02;margin:6px 0 18px}
.addon .lede{font-size:clamp(17px,1.4vw,20px);line-height:1.6}
.tc-meta .tc-photo{color:#c0412b}
.tc-meta .tc-photo svg{color:#c0412b}
.mg-price small:last-child{margin-left:2px;font-size:.62em}
/* menú de tours: el precio va debajo de la foto, no encima */
.mg-from{display:block;margin-top:4px;font:600 12.5px/1.2 var(--text);color:var(--mut)}
.mg-from strong{font:800 16px/1 var(--display);color:#c0412b;letter-spacing:-.01em}
/* menú de tours: franja de precio bajo la foto (destaca sin tapar la foto) */
.mg-band{display:flex;align-items:baseline;gap:6px;background:var(--ocean);color:#fff;padding:7px 10px 8px}
.mg-band strong{font:800 21px/1 var(--display);color:var(--sun);letter-spacing:-.02em}
.mg-band small{font:600 11.5px/1 var(--text);color:var(--reef)}
.mg-band{gap:5px;white-space:nowrap}
.mg-band strong{font-size:19px}
.mg-band small{white-space:nowrap;font-size:11px}

/* video de la portada (11-nov): marco vertical 9:16, play redondo, texto y redes */
.reel{background:linear-gradient(160deg,#0a4d63 0%,#063f52 55%,#04303e 100%);color:#fff;padding:clamp(72px,9vw,128px) 0;position:relative;overflow:hidden}
.reel-glow{position:absolute;width:720px;height:720px;left:-180px;top:50%;margin-top:-360px;border-radius:50%;background:radial-gradient(circle,rgba(255,216,107,.22),rgba(255,216,107,0) 65%);pointer-events:none}
.reel-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(36px,6vw,88px);align-items:center}
.reel-fig{margin:0}
.reel-frame{position:relative;aspect-ratio:9/16;border-radius:24px;overflow:hidden;background:#021e27;border:6px solid rgba(255,255,255,.1);box-shadow:0 30px 70px -24px rgba(0,0,0,.7)}
.reel-frame video{width:100%;height:100%;object-fit:cover;display:block;background:#021e27}
.reel-play{position:absolute;inset:0;margin:auto;width:84px;height:84px;display:grid;place-items:center;border:0;border-radius:50%;background:linear-gradient(135deg,#ffd86b,#f4775f);color:#063f52;cursor:pointer;box-shadow:0 0 0 10px rgba(255,216,107,.22),0 14px 34px rgba(0,0,0,.4);transition:transform .2s var(--ease),box-shadow .2s;animation:reelPulse 2.4s ease-in-out infinite}
.reel-play svg{margin-left:4px}
.reel-play:hover{transform:scale(1.07)}
@keyframes reelPulse{0%,100%{box-shadow:0 0 0 10px rgba(255,216,107,.22),0 14px 34px rgba(0,0,0,.4)}50%{box-shadow:0 0 0 20px rgba(255,216,107,.06),0 14px 34px rgba(0,0,0,.4)}}
.reel-dur{position:absolute;right:14px;bottom:14px;background:rgba(2,30,39,.75);color:#fff;font:700 13px/1 var(--text);padding:6px 9px;border-radius:999px}
.reel-frame.playing .reel-play,.reel-frame.playing .reel-dur{display:none}
.reel-fallback{position:absolute;left:0;right:0;bottom:16px;text-align:center;color:#fff}
.reel-fig figcaption{margin-top:14px;display:flex;flex-direction:column;gap:3px;text-align:center}
.reel-fig figcaption small{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sun)}
.reel-fig figcaption b{font:800 19px/1.25 var(--display)}
.reel-fig figcaption span{font-size:14.5px;color:#bfe9e4}
.reel .kick{color:var(--sun)}
.reel h2{font-size:clamp(38px,4.8vw,68px);color:#fff;max-width:15ch}
.reel h2 .sun{color:var(--sun)}
.reel .lede{font-size:19px;color:#d6f1ef;max-width:50ch;margin-top:16px}
.reel-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.reel-list li{display:flex;gap:12px;align-items:flex-start;font-size:17px;color:#fff}
.reel-list svg{flex:none;width:22px;height:22px;margin-top:2px;padding:3px;border-radius:50%;background:var(--sun);color:#063f52}
.reel-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.reel-follow{margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.reel-follow span{color:#d6f1ef}.reel-follow b{color:#fff}
.reel-soc{display:flex;gap:10px}
.reel-soc a{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:#fff;transition:transform .2s var(--ease)}
.reel-soc a:hover{transform:translateY(-3px)}
.reel-soc svg{width:22px;height:22px}
.s-fb{background:#1877f2}.s-ig{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285aeb 90%)}.s-tt{background:#111;box-shadow:inset 2px 0 0 #25f4ee,inset -2px 0 0 #fe2c55}
@media(max-width:860px){.reel-in{grid-template-columns:minmax(0,1fr)}.reel-fig{width:min(100%,340px);margin:0 auto}.reel-glow{left:50%;margin-left:-360px;top:0;margin-top:-120px}}
@media (prefers-reduced-motion:reduce){.reel-play{animation:none}}
