/* Aqualis Yachts · morado lujo: violeta casi negro, orquídea de acento y perla champán.
   Movimiento con curva de muelle (--e). Todo lo animado usa transform/opacity y respeta prefers-reduced-motion. */
:root{--bg:#0B0614;--bg2:#120A22;--sup:#1A1030;--sup2:#221641;--linea:rgba(233,219,182,.12);--linea2:rgba(233,219,182,.22);
--tinta:#F3EEF9;--tenue:#A99BC6;--suave:#D6CCEA;--orq:#B98BFF;--orq-d:#7B4FC4;--perla:#E9DBB6;--perla-l:#F6EEDB;
--fd:"Cormorant Garamond",Georgia,serif;--fb:"Manrope",system-ui,-apple-system,sans-serif;--fw:"Cinzel",Georgia,serif;
--e:cubic-bezier(.32,.72,0,1);--r:26px;--w:1280px;--nav:72px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--bg);color:var(--tinta);font:16px/1.6 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}
button,select{font:inherit;color:inherit}button{cursor:pointer}
h1,h2,h3{margin:0;font-family:var(--fd);font-weight:600;line-height:1;letter-spacing:-.01em;text-wrap:balance}
em{font-style:italic;font-weight:500;color:var(--perla)}
p{text-wrap:pretty}.mono{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--orq);outline-offset:3px;border-radius:8px}
.skip{position:absolute;left:-999px;top:12px;z-index:100;background:var(--perla);color:var(--bg);padding:8px 14px;border-radius:99px}.skip:focus{left:12px}
.grano{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.progreso{position:fixed;z-index:60;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--orq-d),var(--orq),var(--perla));transform-origin:0 50%;transform:scaleX(var(--p,0))}

/* ---------- intro ---------- */
.intro{position:fixed;inset:0;z-index:95;display:grid;place-items:center;align-content:center;gap:18px;background:var(--bg);animation:intro-sale .7s var(--e) 1.5s forwards}
.intro-emb{position:relative;width:min(300px,60vw);aspect-ratio:2.33}
.intro-ala{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.intro-ala.izq{clip-path:inset(0 50% 0 0);transform-origin:50% 60%;animation:ala-izq 1.1s var(--e) both}
.intro-ala.der{clip-path:inset(0 0 0 50%);transform-origin:50% 60%;animation:ala-der 1.1s var(--e) both}
.intro-wm{font:600 clamp(16px,2.4vw,22px) var(--fw);letter-spacing:.6em;padding-left:.6em;color:var(--perla);animation:wm 1s var(--e) .45s both}
@keyframes ala-izq{from{transform:rotate(28deg) scale(.7);opacity:0}to{transform:none;opacity:1}}
@keyframes ala-der{from{transform:rotate(-28deg) scale(.7);opacity:0}to{transform:none;opacity:1}}
@keyframes wm{from{opacity:0;letter-spacing:1.2em}to{opacity:1}}
@keyframes intro-sale{to{opacity:0;visibility:hidden}}
.sin-intro .intro{display:none}

/* ---------- botones ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 22px;border-radius:99px;border:1px solid transparent;font-weight:600;font-size:15px;white-space:nowrap;transition:transform .5s var(--e),background .3s,border-color .3s,filter .3s,box-shadow .4s}
.btn:active{transform:scale(.97)}
.btn-lg{height:58px;padding:0 30px;font-size:16px}
.btn-perla{background:linear-gradient(180deg,var(--perla-l),var(--perla));color:#1A1030;box-shadow:0 18px 40px -18px rgba(233,219,182,.6)}.btn-perla:hover{filter:brightness(1.05)}
.btn-orq{background:linear-gradient(180deg,#CBA6FF,var(--orq));color:#1A0B33;box-shadow:0 14px 34px -14px rgba(185,139,255,.8)}.btn-orq:hover{filter:brightness(1.07)}
.btn-vidrio{background:rgba(26,16,48,.45);border-color:var(--linea2);color:var(--tinta);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn-vidrio:hover{border-color:var(--orq);box-shadow:0 0 0 4px rgba(185,139,255,.12)}
.ico-c{display:grid;place-items:center;width:32px;height:32px;margin-right:-12px;border-radius:50%;background:rgba(26,16,48,.12);transition:transform .5s var(--e)}
.btn:hover .ico-c{transform:translateY(3px)}

/* ---------- navegación ---------- */
.nav{position:fixed;z-index:50;top:14px;left:50%;translate:-50% 0;width:min(var(--w),calc(100% - 24px));display:flex;align-items:center;gap:16px;padding:8px 8px 8px 16px;border-radius:99px;background:rgba(18,10,34,.5);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--linea);transition:background .4s,transform .6s var(--e)}
.nav.solida{background:rgba(18,10,34,.86)}.nav.oculta{transform:translateY(-120%)}
.nav-logo{display:flex;align-items:center;gap:10px}.nav-logo img{width:46px;height:auto}.wm{font:600 15px var(--fw);letter-spacing:.34em;color:var(--perla)}
.nav-links{display:flex;gap:2px;margin:0 auto}.nav-links a{position:relative;padding:8px 14px;border-radius:99px;font-size:14px;color:var(--tenue);transition:color .3s,background .3s}
.nav-links a:hover,.nav-links a.on{color:var(--tinta);background:rgba(185,139,255,.1)}
.nav-r{display:flex;align-items:center;gap:8px}
.idioma{display:flex;padding:3px;border-radius:99px;border:1px solid var(--linea)}.idioma button{border:0;background:none;width:38px;height:32px;border-radius:99px;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--tenue);transition:all .3s var(--e)}.idioma button.on{background:var(--perla);color:var(--bg)}

/* ---------- portada ---------- */
.portada{position:relative;min-height:100dvh;display:grid;align-content:end;padding:130px max(20px,calc((100% - var(--w))/2)) 34px;overflow:hidden;isolation:isolate}
.portada-media{position:absolute;inset:0;z-index:-2;transform:scale(calc(1 + var(--sp,0) * .12));transform-origin:60% 40%}
.portada-video{width:100%;height:100%;object-fit:cover;animation:acerca 2.6s var(--e) both}
@keyframes acerca{from{transform:scale(1.14)}}
.portada-velo{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,6,20,.6) 0%,rgba(11,6,20,.05) 30%,rgba(11,6,20,.45) 66%,var(--bg) 100%),radial-gradient(ellipse at 15% 85%,rgba(123,79,196,.45),transparent 60%)}
.portada-txt{max-width:980px;transform:translateY(calc(var(--sp,0) * -60px));opacity:calc(1 - var(--sp,0) * 1.6)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;padding:7px 15px 7px 12px;border-radius:99px;background:rgba(18,10,34,.45);border:1px solid var(--linea2);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--perla);backdrop-filter:blur(10px)}
.punto{width:7px;height:7px;border-radius:50%;background:var(--orq);box-shadow:0 0 0 0 rgba(185,139,255,.7);animation:late 2.4s infinite}
@keyframes late{70%{box-shadow:0 0 0 10px rgba(185,139,255,0)}100%{box-shadow:0 0 0 0 rgba(185,139,255,0)}}
.titular{font-size:clamp(50px,6.8vw,104px);text-shadow:0 2px 40px rgba(11,6,20,.35)}
.titular .linea{display:block;overflow:hidden;padding-bottom:.08em}
.titular .linea>*{display:inline-block;animation:sube-linea 1.2s var(--e) both}
.titular .linea:nth-child(2)>*{animation-delay:.12s}
@keyframes sube-linea{from{transform:translateY(105%)}}
.sube{animation:sube 1s var(--e) both}.lede.sube{animation-delay:.3s}.ctas.sube{animation-delay:.42s}.cifras.sube{animation-delay:.55s}
@keyframes sube{from{opacity:0;transform:translateY(24px)}}
html:not(.sin-intro) .titular .linea>*{animation-delay:1.55s}html:not(.sin-intro) .titular .linea:nth-child(2)>*{animation-delay:1.67s}
html:not(.sin-intro) .eyebrow.sube{animation-delay:1.45s}html:not(.sin-intro) .lede.sube{animation-delay:1.8s}html:not(.sin-intro) .ctas.sube{animation-delay:1.9s}html:not(.sin-intro) .cifras.sube{animation-delay:2s}
.lede{max-width:34em;margin:22px 0 32px;font-size:clamp(17px,1.4vw,19px);color:var(--suave)}
.ctas{display:flex;gap:12px;flex-wrap:wrap}
.cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:44px 0 0;padding:0;list-style:none;border-radius:22px;overflow:hidden;background:var(--linea);border:1px solid var(--linea)}
.cifras li{display:flex;align-items:baseline;gap:12px;padding:18px 22px;background:rgba(18,10,34,.66);backdrop-filter:blur(10px)}
.cifras b{font:600 34px/1 var(--fd);color:var(--perla)}.cifras span{font-size:13px;color:var(--tenue)}
.bajar{position:absolute;left:50%;bottom:-6px;translate:-50% 0;width:1px;height:46px;overflow:hidden}
.bajar span{position:absolute;inset:0;background:linear-gradient(transparent,var(--perla));animation:cae 2s var(--e) infinite}
@keyframes cae{from{transform:translateY(-100%)}to{transform:translateY(100%)}}

/* ---------- cinta ---------- */
.cinta{overflow:hidden;padding:26px 0;border-block:1px solid var(--linea);background:var(--bg2);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cinta-pista{display:flex;width:max-content;gap:40px;animation:cinta 40s linear infinite}
.cinta-pista span{display:flex;align-items:center;gap:40px;font:500 italic clamp(22px,2.6vw,34px) var(--fd);color:var(--suave);white-space:nowrap}
.cinta-pista img{width:42px;opacity:.8}
@keyframes cinta{to{transform:translateX(-50%)}}

/* ---------- destacados: carril fijo ---------- */
.destacados{position:relative;height:calc(var(--n,5) * 85vh)}
.dest-fijo{position:sticky;top:0;height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:28px;padding:calc(var(--nav) + 40px) 0 40px;overflow:hidden}
.dest-h{width:min(var(--w),calc(100% - 40px));margin:0 auto;display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.dest-h h2{font-size:clamp(40px,5vw,72px)}
.dest-ctrl{display:flex;align-items:center;gap:16px;color:var(--tenue);font-size:13px;letter-spacing:.12em}
.dest-barra{position:relative;width:160px;height:2px;background:var(--linea2);border-radius:2px;overflow:hidden}.dest-barra i{position:absolute;inset:0;background:var(--orq);transform-origin:0 50%;transform:scaleX(var(--dp,.2))}
.dest-carril{display:flex;gap:22px;padding-left:max(20px,calc((100% - var(--w))/2));will-change:transform;transform:translate3d(calc(var(--dx,0) * -1px),0,0)}
.dest-c{position:relative;flex:0 0 min(860px,78vw);border-radius:30px;overflow:hidden;background:var(--sup);border:1px solid var(--linea);cursor:pointer;isolation:isolate}
.dest-c img,.dest-c video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--e)}
.dest-c video{opacity:0;transition:opacity .8s}.dest-c.vivo video{opacity:1}
.dest-c:hover img{transform:scale(1.04)}
.dest-c::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,6,20,.1) 40%,rgba(11,6,20,.9));z-index:0}
.dest-info{position:absolute;left:30px;right:30px;bottom:26px;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:20px}
.dest-info h3{font-size:clamp(40px,4.6vw,66px)}
.dest-info p{margin:8px 0 0;max-width:30em;color:var(--suave);font-size:15px}
.dest-specs{display:flex;gap:22px;margin-top:14px;color:var(--tenue);font-size:13px}.dest-specs b{display:block;font:600 24px/1 var(--fd);color:var(--perla)}
.dest-ver{flex:none;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--perla);color:var(--bg);font-size:22px;transition:transform .6s var(--e)}
.dest-c:hover .dest-ver{transform:rotate(-45deg) scale(1.06)}
.dest-n{position:absolute;top:22px;left:26px;z-index:1;font:600 12px var(--fw);letter-spacing:.3em;color:var(--perla);padding:6px 12px;border-radius:99px;background:rgba(11,6,20,.5);backdrop-filter:blur(8px);border:1px solid var(--linea2)}

/* ---------- secciones ---------- */
.sec{width:min(var(--w),calc(100% - 40px));margin:0 auto;padding:clamp(90px,10vw,140px) 0 clamp(80px,9vw,120px)}
.sec-h{max-width:760px;margin-bottom:44px}
.tag{display:inline-flex;align-items:center;gap:12px;margin:0 0 16px;font:600 12px var(--fw);letter-spacing:.3em;text-transform:uppercase;color:var(--orq)}
.tag::before{content:"";width:30px;height:1px;background:var(--orq)}
.sec-h h2{font-size:clamp(42px,5.4vw,76px)}
.sub{margin:18px 0 0;color:var(--tenue);max-width:36em}
.revela{opacity:0;transform:translateY(30px);transition:opacity 1s var(--e),transform 1s var(--e);transition-delay:calc(var(--d,0) * 80ms)}
.revela.visto{opacity:1;transform:none}

/* filtros */
.filtros{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:28px}
.seg{position:relative;display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:99px;background:var(--bg2);border:1px solid var(--linea)}
.seg button{position:relative;z-index:1;border:0;background:none;height:40px;padding:0 18px;border-radius:99px;font-size:14px;color:var(--tenue);transition:color .35s var(--e),background .35s var(--e)}
.seg button.on{background:var(--sup2);color:var(--tinta);box-shadow:inset 0 0 0 1px rgba(185,139,255,.4)}
.sel{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--tenue)}
.sel select{height:48px;border-radius:99px;background:var(--bg2);border:1px solid var(--linea);padding:0 40px 0 18px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--tenue) 50%),linear-gradient(135deg,var(--tenue) 50%,transparent 50%);background-position:calc(100% - 22px) 21px,calc(100% - 17px) 21px;background-size:5px 5px;background-repeat:no-repeat}
.f-total{margin-left:auto;font-size:13px;color:var(--tenue);letter-spacing:.06em}

/* tarjetas */
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px}
.yate{position:relative;display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;background:var(--sup);border:1px solid var(--linea);cursor:pointer;transition:transform .7s var(--e),border-color .4s,box-shadow .6s;animation:entra-c .8s var(--e) both;animation-delay:calc(var(--i,0)*55ms)}
@keyframes entra-c{from{opacity:0;transform:translateY(24px) scale(.98)}}
.yate:hover{transform:translateY(-6px);border-color:rgba(185,139,255,.5);box-shadow:0 30px 60px -30px rgba(123,79,196,.6)}
.yate::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(185,139,255,.14),transparent 45%);opacity:0;transition:opacity .4s}
.yate:hover::before{opacity:1}
.yate-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:radial-gradient(ellipse at 50% 120%,rgba(123,79,196,.4),var(--bg2) 70%)}
.yate-media img,.yate-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--e),opacity .5s}
.yate-media video{opacity:0}.yate.reproduce .yate-media video{opacity:1}
.yate:hover .yate-media img{transform:scale(1.06)}
.silueta{position:absolute;inset:auto 8% 24% 8%;display:flex;justify-content:center;transition:transform 1.2s var(--e)}
.yate:hover .silueta{transform:translateX(4%)}
.silueta svg{width:100%;height:auto;overflow:visible}
.silueta .estela{stroke-dasharray:6 8;animation:estela 3s linear infinite}
@keyframes estela{to{stroke-dashoffset:-56}}
.sin-fotos{position:absolute;left:16px;bottom:14px;font-size:12px;letter-spacing:.08em;color:var(--tenue)}
.gama{position:absolute;top:14px;left:14px;z-index:1;padding:5px 11px;border-radius:99px;background:rgba(11,6,20,.6);backdrop-filter:blur(8px);border:1px solid var(--linea2);font:600 10.5px var(--fw);letter-spacing:.18em;color:var(--perla)}
.destacado{position:absolute;top:14px;right:14px;z-index:1;padding:5px 11px;border-radius:99px;background:var(--orq);color:#1A0B33;font-size:11px;font-weight:700;letter-spacing:.08em}
.yate-cuerpo{padding:20px 20px 18px;display:flex;flex-direction:column;gap:12px;flex:1}
.yate h3{font-size:32px}
.yate-datos{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--tenue)}.yate-datos b{display:block;font:600 20px var(--fd);color:var(--tinta)}
.yate-pie{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid var(--linea)}
.ver{font-size:14px;font-weight:600;color:var(--perla);transition:letter-spacing .4s var(--e)}.yate:hover .ver{letter-spacing:.03em}
.guardar{position:relative;z-index:3;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border-radius:99px;border:1px solid var(--linea2);background:none;font-size:13px;font-weight:600;transition:all .35s var(--e)}
.guardar:hover{border-color:var(--orq)}.guardar.on{background:var(--orq);border-color:var(--orq);color:#1A0B33}
.guardar.pop{animation:pop .5s var(--e)}@keyframes pop{40%{transform:scale(1.12)}}
.vacio{grid-column:1/-1;padding:40px;text-align:center;color:var(--tenue)}

/* experiencias */
.exp{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:300px 300px;gap:16px}
.exp-c{position:relative;overflow:hidden;border:1px solid var(--linea);border-radius:var(--r);padding:0;background:var(--sup);text-align:left;isolation:isolate}
.exp-c.grande{grid-row:span 2}
.exp-c img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;transform:translateY(calc(var(--ep,0) * 1px)) scale(1.02);transition:scale 1.4s var(--e)}
.exp-c:hover img{scale:1.06}
.exp-c::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,transparent 35%,rgba(11,6,20,.92))}
.exp-t{position:absolute;left:24px;right:70px;bottom:22px;z-index:1;display:grid;gap:6px}
.exp-t b{font:600 30px/1 var(--fd)}.exp-c.grande .exp-t b{font-size:44px}.exp-t span{font-size:14px;color:var(--suave)}
.exp-ir{position:absolute;right:20px;bottom:20px;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--linea2);background:rgba(11,6,20,.4);backdrop-filter:blur(8px);transition:all .5s var(--e)}
.exp-c:hover .exp-ir{background:var(--perla);color:var(--bg);transform:rotate(-45deg)}

/* pasos */
.pasos{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:0;padding:0;list-style:none}
.pasos::before{content:"";position:absolute;top:95px;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,var(--orq) 15%,var(--perla) 85%,transparent);transform-origin:0 50%;transform:scaleX(var(--hilo,0));transition:transform .2s linear}
.pasos li{position:relative;padding:0 6px;text-align:center}
.paso-ic{position:relative;width:190px;height:190px;margin:0 auto 6px;display:grid;place-items:center}
.paso-ic::before{content:"";position:absolute;inset:22%;border-radius:50%;background:radial-gradient(circle,rgba(185,139,255,.35),transparent 70%);filter:blur(10px)}
.paso-ic img{position:relative;width:160px;height:160px;object-fit:contain;mix-blend-mode:lighten;animation:flota 6s ease-in-out infinite;animation-delay:calc(var(--d,0) * -1.4s)}
@keyframes flota{50%{transform:translateY(-8px) rotate(1.5deg)}}
.pasos .n{display:block;margin-bottom:8px;font:600 12px var(--fw);letter-spacing:.3em;color:var(--orq)}
.pasos h3{font-size:28px;margin-bottom:8px}.pasos p{margin:0 auto;max-width:18em;color:var(--tenue);font-size:15px}

/* incluye */
.incluye{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:18px}
.panel{padding:30px;border-radius:var(--r);background:var(--bg2);border:1px solid var(--linea)}
.panel h3{font-size:30px;margin-bottom:16px}
.panel ul{margin:0;padding:0;list-style:none}.panel li{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--linea);font-size:15px;opacity:0;transform:translateX(-10px);transition:all .7s var(--e);transition-delay:calc(var(--k,0) * 70ms + 200ms)}
.panel.visto li{opacity:1;transform:none}
.panel.si li::before{content:"✓";color:var(--orq);font-weight:700}.panel.no li::before{content:"✕";color:var(--tenue)}
.panel.tieup{position:relative;background:linear-gradient(160deg,rgba(123,79,196,.32),var(--bg2) 62%);display:flex;flex-direction:column;gap:14px}
.panel.tieup::before{content:"";position:absolute;right:-10px;top:-40px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(185,139,255,.32),transparent 68%);filter:blur(14px);pointer-events:none}
/* la brújula se sale del cuadro: flota por delante del borde */
.tieup-ic{position:absolute;z-index:2;right:-38px;top:-70px;width:200px;mix-blend-mode:lighten;pointer-events:none;animation:sale 6s ease-in-out infinite}
@keyframes sale{0%,100%{transform:perspective(600px) translateY(0) rotateX(8deg) rotateY(-14deg)}50%{transform:perspective(600px) translateY(-10px) rotateX(-4deg) rotateY(10deg)}}
@media (max-width:600px){.tieup-ic{right:-8px;top:-54px;width:150px}.panel.tieup{margin-top:40px}}
.panel.tieup h3{position:relative;max-width:8em}.panel.tieup p{margin:0;color:var(--suave)}.panel.tieup .btn{align-self:flex-start;margin-top:auto}
.muelles{margin-top:44px}.muelles h3{font-size:26px;margin-bottom:14px}
.muelles ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.muelles li{padding:9px 15px;border-radius:99px;border:1px solid var(--linea);font-size:14px;color:var(--tenue);transition:all .4s var(--e)}.muelles li:hover{border-color:var(--orq);color:var(--tinta)}

/* tiempo */
.tiempo{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.dia{padding:18px 14px;border-radius:20px;background:var(--bg2);border:1px solid var(--linea);display:grid;gap:8px;justify-items:start;animation:entra-c .7s var(--e) both;animation-delay:calc(var(--i,0) * 60ms)}
.dia.hoy{border-color:rgba(185,139,255,.5);background:linear-gradient(170deg,rgba(123,79,196,.25),var(--bg2))}
.dia h4{margin:0;font:600 12px var(--fw);letter-spacing:.2em;color:var(--orq)}
.dia .ic{font-size:28px;line-height:1}.dia .temp{font:600 32px/1 var(--fd)}
.dia dl{margin:0;display:grid;gap:4px;font-size:12.5px;color:var(--tenue);width:100%}.dia dl div{display:flex;justify-content:space-between}.dia dd{margin:0;color:var(--tinta)}
.estado{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:99px}.estado.calma{background:rgba(111,207,151,.15);color:#8BE0AE}.estado.bien{background:rgba(185,139,255,.16);color:var(--orq)}.estado.mov{background:rgba(233,185,73,.16);color:#F0C766}
.nota-tiempo{margin:18px 0 0;color:var(--tenue);font-size:14px}

/* preguntas */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;interpolate-size:allow-keywords}
.faq details{border-top:1px solid var(--linea)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:24px 0;font:600 25px/1.2 var(--fd);transition:color .3s}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--linea2);font:400 20px var(--fb);color:var(--orq);transition:transform .5s var(--e)}
.faq details[open] summary::after{transform:rotate(45deg)}.faq summary:hover{color:var(--perla)}
.faq details::details-content{height:0;overflow:clip;transition:height .5s var(--e),content-visibility .5s allow-discrete}
.faq details[open]::details-content{height:auto}
.faq p{margin:0 0 24px;color:var(--tenue);max-width:34em}

/* cierre */
.cierre{position:relative;overflow:hidden;padding:clamp(120px,14vw,190px) 20px;text-align:center;isolation:isolate}
.cierre-media{position:absolute;inset:-10% 0;z-index:-2;transform:translateY(calc(var(--cp,0) * 1px))}
.cierre-media img{width:100%;height:100%;object-fit:cover;opacity:.5}
.cierre::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(11,6,20,.4),var(--bg) 78%)}
.cierre-in{max-width:780px;margin:0 auto;display:grid;justify-items:center;gap:22px}
.cierre-emb{width:min(300px,62vw);mix-blend-mode:lighten;animation:flota 7s ease-in-out infinite}
.cierre h2{font-size:clamp(46px,6.4vw,92px)}.cierre h2 em{display:block}.cierre p{margin:0;color:var(--suave)}

.pie{border-top:1px solid var(--linea);padding:56px 20px 120px;background:linear-gradient(180deg,var(--bg),#07030E)}
.pie-in{width:min(var(--w),100%);margin:0 auto;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;align-items:start}
.pie-logo{width:200px;height:auto}
.pie h4{margin:0 0 12px;font:600 12px var(--fw);letter-spacing:.24em;color:var(--orq)}.pie p{margin:0;color:var(--tenue);font-size:15px;line-height:1.9}.pie a{transition:color .3s}.pie a:hover{color:var(--perla)}
.pie-fino{width:min(var(--w),100%);margin:40px auto 0;color:#6E6190;font-size:13px}

/* bandeja */
.bandeja{position:fixed;z-index:45;left:50%;bottom:18px;translate:-50% 0;animation:sube .6s var(--e)}
.bandeja-btn{display:flex;align-items:center;gap:12px;height:60px;padding:0 10px;border-radius:99px;border:1px solid rgba(185,139,255,.5);background:rgba(18,10,34,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-weight:600;box-shadow:0 24px 60px -16px rgba(123,79,196,.7)}
.bandeja-n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--orq);color:#1A0B33;font-weight:800}
.bandeja-btn .ico-c{margin:0;width:40px;height:40px;background:var(--perla);color:var(--bg)}

/* diálogos */
dialog{padding:0;border:0;background:none;color:inherit;max-width:none;max-height:none}
dialog::backdrop{background:rgba(5,2,10,.74);backdrop-filter:blur(8px)}
.ficha{width:min(1100px,calc(100% - 24px));max-height:calc(100dvh - 24px);border-radius:30px;background:var(--bg2);border:1px solid var(--linea2);overflow:auto;overscroll-behavior:contain}
.ficha[open],.contacto[open]{animation:entra .55s var(--e)}
@keyframes entra{from{opacity:0;transform:translateY(28px) scale(.97)}}
.f-portada{position:relative;aspect-ratio:21/9;background:var(--sup);overflow:hidden}
.f-portada img,.f-portada video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.f-portada::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,var(--bg2))}
.f-titulo{position:absolute;left:30px;bottom:22px;z-index:1}.f-titulo h2{font-size:clamp(42px,5.4vw,70px)}
.f-cerrar{position:absolute;top:16px;right:16px;z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid var(--linea2);background:rgba(11,6,20,.6);backdrop-filter:blur(8px);font-size:18px;transition:transform .5s var(--e)}.f-cerrar:hover{transform:rotate(90deg)}
.f-cuerpo{padding:24px 30px 34px;display:grid;gap:30px}
.f-datos{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;border-radius:18px;overflow:hidden;background:var(--linea);border:1px solid var(--linea)}
.f-datos div{padding:14px 16px;background:var(--sup)}.f-datos span{display:block;font-size:11px;letter-spacing:.12em;color:var(--tenue)}.f-datos b{font:600 24px var(--fd)}
.f-galeria{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:160px;gap:8px}
.f-galeria button{position:relative;border:0;padding:0;border-radius:14px;overflow:hidden;background:var(--sup)}.f-galeria button:first-child{grid-row:span 2}
.f-galeria img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--e)}.f-galeria button:hover img{transform:scale(1.06)}
.f-galeria .mas{position:absolute;inset:0;display:grid;place-items:center;background:rgba(11,6,20,.55);font:600 26px var(--fd)}
.f-col{display:grid;grid-template-columns:1.3fr 1fr;gap:30px}
.f-col h3,.f-bloque h3{font-size:26px;margin-bottom:10px}.f-col p{margin:0 0 10px;color:var(--suave)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.chips li{padding:7px 12px;border-radius:99px;background:var(--sup);border:1px solid var(--linea);font-size:13px}
.rutas{margin:0;padding:0;list-style:none}.rutas li{padding:12px 0;border-top:1px solid var(--linea)}.rutas b{display:block;font-family:var(--fd);font-size:21px}.rutas span{color:var(--tenue);font-size:14px}
.anadidos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.anadidos label{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:14px;background:var(--sup);border:1px solid var(--linea);cursor:pointer;transition:border-color .3s,background .3s}
.anadidos label:has(input:checked){border-color:var(--orq);background:rgba(123,79,196,.16)}.anadidos input{accent-color:var(--orq);margin-top:3px}
.anadidos b{display:block;font-size:14px}.anadidos small{color:var(--tenue);font-size:12.5px;line-height:1.4}
.f-accion{position:sticky;bottom:0;display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:16px 18px;border-radius:18px;background:linear-gradient(120deg,rgba(60,32,110,.95),rgba(26,16,48,.95));border:1px solid rgba(185,139,255,.35);backdrop-filter:blur(12px)}
.f-accion p{flex:1;margin:0;min-width:220px}

.contacto{width:min(540px,calc(100% - 24px));border-radius:30px;background:var(--bg2);border:1px solid var(--linea2);padding:30px;position:relative}
.contacto h2{font-size:38px;margin-bottom:8px}.contacto>p{color:var(--tenue);margin:0 0 18px}
.c-lista{margin:0 0 16px;padding:14px 16px;border-radius:16px;background:var(--sup);font-size:14px;color:var(--suave);white-space:pre-wrap}
.c-acciones{display:grid;gap:10px}.c-acciones .btn{width:100%}
.c-correo{display:block;margin-top:14px;text-align:center;color:var(--tenue);font-size:14px}.c-correo:hover{color:var(--perla)}

.visor{position:fixed;inset:0;z-index:80;background:rgba(5,2,10,.95);display:grid;place-items:center;padding:20px;animation:sube .4s var(--e)}
.visor img{max-height:86dvh;width:auto;border-radius:12px}
.visor button{position:absolute;width:54px;height:54px;border-radius:50%;border:1px solid var(--linea2);background:rgba(18,10,34,.7);font-size:20px}
.visor .cerrar{top:18px;right:18px}.visor .ant{left:18px;top:50%}.visor .sig{right:18px;top:50%}
.visor .cuenta{position:absolute;bottom:20px;left:50%;translate:-50% 0;color:var(--tenue);font-size:13px}

[hidden]{display:none!important}
@media (max-width:1080px){.tiempo{grid-template-columns:repeat(4,1fr)}}
@media (max-width:980px){.nav-links{display:none}.cifras{grid-template-columns:1fr 1fr}.pasos{grid-template-columns:1fr 1fr;row-gap:40px}.pasos::before{display:none}.incluye{grid-template-columns:1fr}.faq{grid-template-columns:1fr}.pie-in{grid-template-columns:1fr 1fr}.f-col{grid-template-columns:1fr}.f-datos{grid-template-columns:repeat(3,1fr)}
  .exp{grid-template-columns:1fr 1fr;grid-template-rows:320px 240px 240px}.exp-c.grande{grid-column:span 2;grid-row:auto}
  .destacados{height:auto}.dest-fijo{position:relative;height:auto;padding-top:80px}.dest-carril{transform:none!important;overflow-x:auto;scroll-snap-type:x mandatory;padding-right:20px;scrollbar-width:none}.dest-carril::-webkit-scrollbar{display:none}.dest-c{scroll-snap-align:center;aspect-ratio:4/5;flex-basis:84vw}}
@media (max-width:600px){.nav{padding-left:12px}.wm{display:none}.nav .btn-orq{padding:0 16px}.pasos{grid-template-columns:1fr}.rejilla{grid-template-columns:1fr}.f-galeria{grid-template-columns:1fr 1fr;grid-auto-rows:120px}.f-galeria button:first-child{grid-column:span 2;grid-row:auto}.f-portada{aspect-ratio:4/3}.portada{padding-top:110px}.btn-lg{width:100%}.tiempo{grid-template-columns:repeat(2,1fr)}.exp{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:260px}.exp-c.grande{grid-column:auto}.pie-in{grid-template-columns:1fr}.dest-info{flex-direction:column;align-items:flex-start}.dest-ver{display:none}.f-total{margin-left:0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.revela,.panel li{opacity:1;transform:none}.intro{display:none}.portada-txt,.portada-media{transform:none!important;opacity:1!important}}

/* ================= pulido fino (26-oct) ================= */
::selection{background:rgba(185,139,255,.38);color:#fff}
html{scrollbar-color:var(--orq-d) var(--bg);scrollbar-width:thin}
h1,h2,h3{font-feature-settings:"kern","liga";font-kerning:normal}
.sec-h h2,.dest-h h2,.cierre h2{letter-spacing:-.018em}
.cifras b,.yate-datos b,.dest-specs b,.f-datos b,.dia .temp,.pasos .n{font-variant-numeric:lining-nums tabular-nums}
.lede,.sub,.panel li,.faq p{hanging-punctuation:first}

/* entrada del menú tras la intro */
.nav{animation:nav-baja 1s var(--e) both}html:not(.sin-intro) .nav{animation-delay:1.5s}
@keyframes nav-baja{from{opacity:0;transform:translateY(-24px)}}
.nav.oculta{animation:none}
.nav-links{position:relative}
.nav-ind{position:absolute;z-index:-1;top:0;height:100%;left:0;width:0;border-radius:99px;background:rgba(185,139,255,.12);box-shadow:inset 0 0 0 1px rgba(185,139,255,.22);opacity:0;transition:transform .55s var(--e),width .55s var(--e),opacity .3s}
.nav-links a.on{background:none}

/* brillo perla en el titular */
.titular em{background:linear-gradient(100deg,var(--perla) 0%,#FFF6E2 22%,var(--perla) 40%,#C9A9FF 70%,var(--perla) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sube-linea 1.2s var(--e) both,brillo 7s ease-in-out 2.4s infinite}
html:not(.sin-intro) .titular em{animation-delay:1.67s,3.6s}
@keyframes brillo{50%{background-position:100% 0}}

/* etiqueta «en pantalla» */
.en-pantalla{position:absolute;right:max(20px,calc((100% - var(--w))/2));top:calc(var(--nav) + 46px);display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 14px;border-radius:99px;border:1px solid var(--linea2);background:rgba(18,10,34,.5);backdrop-filter:blur(12px);font-size:13px;color:var(--suave);transition:border-color .3s,color .3s}
.en-pantalla:hover{border-color:var(--orq);color:var(--tinta)}
html:not(.sin-intro) .en-pantalla.sube{animation-delay:2.1s}

/* separadores con el emblema */
.ornamento{width:min(var(--w),calc(100% - 40px));margin:0 auto;display:flex;align-items:center;gap:18px;opacity:.7}
.ornamento span{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--linea2))}.ornamento span:last-child{transform:scaleX(-1)}
.ornamento img{width:44px;height:auto}

/* fotos que entran fundidas */
.cargando{opacity:0}.fundida{animation:fundir 1s var(--e)}
@keyframes fundir{from{opacity:0}}

/* chips de la tarjeta */
.chips-yate{position:absolute;right:14px;bottom:14px;z-index:1;display:flex;gap:6px}
.chips-yate span{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:99px;background:rgba(11,6,20,.62);backdrop-filter:blur(8px);border:1px solid var(--linea2);font-size:11.5px;font-weight:600;color:var(--suave)}
.chips-yate svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}

/* filtro con fondo deslizante */
.seg-ind{position:absolute;z-index:0;top:0;left:0;height:40px;border-radius:99px;background:var(--sup2);box-shadow:inset 0 0 0 1px rgba(185,139,255,.4);transition:transform .5s var(--e),width .5s var(--e)}
.seg.con-ind button.on{background:none;box-shadow:none}

/* el hilo de los pasos pasa por detrás de los íconos */
.paso-ic{background:radial-gradient(circle closest-side,var(--bg) 0 72%,rgba(11,6,20,0) 100%)}

/* iconos del tiempo */
.dia .ic svg{width:34px;height:34px;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dia .ic .sol{stroke:var(--perla)}.dia .ic .nube{stroke:var(--suave)}.dia .ic .agua{stroke:var(--orq)}

/* compartir en la ficha */
.f-compartir{position:absolute;top:16px;right:72px;z-index:2;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 16px;border-radius:99px;border:1px solid var(--linea2);background:rgba(11,6,20,.6);backdrop-filter:blur(8px);font-size:14px;font-weight:600}
.f-compartir svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* barra fija en el móvil y botón de subir */
.barra-movil{display:none}
.subir{position:fixed;z-index:44;right:20px;bottom:20px;width:54px;height:54px;border-radius:50%;border:1px solid var(--linea2);background:rgba(18,10,34,.8);backdrop-filter:blur(12px);display:grid;place-items:center;opacity:0;transform:translateY(16px);pointer-events:none;transition:all .5s var(--e)}
.subir img{width:32px}.subir.ver{opacity:1;transform:none;pointer-events:auto}.subir:hover{border-color:var(--orq)}
@media (max-width:700px){
  .barra-movil{position:fixed;z-index:46;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1.3fr;gap:8px;padding:8px;border-radius:99px;background:rgba(18,10,34,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--linea2);transform:translateY(140%);transition:transform .6s var(--e)}
  .barra-movil.ver{transform:none}
  .barra-movil .btn{height:48px;padding:0 12px}
  .barra-n{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:#1A0B33;color:var(--perla);font-size:12px}
  .bandeja{display:none!important}.subir{display:none}
  .en-pantalla{display:none}
  .pie{padding-bottom:140px}
}
@media (prefers-reduced-motion:reduce){.titular em{animation:none;color:var(--perla);background:none}}
@media (max-width:700px){
  .seg{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg button{flex:none}
  .portada-velo{background:linear-gradient(180deg,rgba(11,6,20,.35) 0%,rgba(11,6,20,.25) 30%,rgba(11,6,20,.78) 62%,var(--bg) 100%),radial-gradient(ellipse at 15% 85%,rgba(123,79,196,.45),transparent 60%)}
}

/* ================= novedades (26-oct, ronda 2) ================= */
/* titular: las cursivas sobresalen de su caja; se amplía la caja para no cortar la «w» ni la «g» */
.titular .linea{padding:0 .14em .2em;margin:0 -.14em -.12em}
.titular em{padding:0 .1em .06em .12em;margin:0 -.1em -.06em -.12em}
@media (max-height:640px){.en-pantalla{display:none}}

/* titulares de sección: aparecen enfocándose */
.revela h2>*{opacity:0;filter:blur(12px);transition:opacity 1.1s var(--e),filter 1.2s var(--e);transition-delay:.12s}
.revela h2>em{transition-delay:.42s}
.revela.visto h2>*{opacity:1;filter:none}

/* separadores: el emblema con alas entre dos olas que corren */
.ornamento span{height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='12'%3E%3Cpath d='M0 6Q12 0 24 6T48 6' fill='none' stroke='%23A57BEA' stroke-width='1.1'/%3E%3C/svg%3E") repeat-x 0 50%/48px 12px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 75%);mask-image:linear-gradient(90deg,transparent,#000 75%);animation:ola 2.6s linear infinite}
@keyframes ola{to{background-position-x:48px}}
.ornamento img{animation:aletea 5s ease-in-out infinite}
@keyframes aletea{50%{transform:translateY(-4px) scale(1.04)}}

/* grano de película muy suave */
body::after{content:"";position:fixed;inset:-60px;z-index:100;pointer-events:none;opacity:.045;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grano .9s steps(3) infinite}
@keyframes grano{33%{transform:translate(-22px,14px)}66%{transform:translate(16px,-20px)}}

/* pasos: el icono sube y se acerca al pasar */
.paso-ic img{transition:scale .7s var(--e),translate .7s var(--e)}
.paso-ic::before{transition:transform .7s var(--e),opacity .7s}
.pasos li:hover .paso-ic img{scale:1.14;translate:0 -12px}
.pasos li:hover .paso-ic::before{transform:scale(1.35)}

/* tarjetas con inclinación 3D */
.yate:hover{transform:perspective(1100px) translateY(-6px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s var(--e),border-color .4s,box-shadow .6s}

/* cursor propio (solo ratón) */
.cursor{position:fixed;left:0;top:0;z-index:95;pointer-events:none;opacity:0;transition:opacity .3s}
.cursor.vivo{opacity:1}
.cursor span{position:absolute;left:-17px;top:-17px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(185,139,255,.75);display:grid;place-items:center;font:700 0 var(--fb);letter-spacing:.08em;text-transform:uppercase;color:#1A0B33;transition:left .45s var(--e),top .45s var(--e),width .45s var(--e),height .45s var(--e),background .3s,border-color .3s,font-size .3s}
.cursor.enlace span{left:-26px;top:-26px;width:52px;height:52px;background:rgba(185,139,255,.12)}
.cursor.grande span{left:-46px;top:-46px;width:92px;height:92px;background:var(--perla);border-color:transparent;font-size:12px;box-shadow:0 10px 40px -10px rgba(233,219,182,.6)}
.con-cursor .yate,.con-cursor .dest-c,.con-cursor .exp-c{cursor:none}

/* atardecer en vivo */
.ocaso{display:inline-flex;align-items:center;gap:10px;margin-top:18px;height:40px;padding:0 16px;border-radius:99px;border:1px solid var(--linea2);background:linear-gradient(90deg,rgba(233,219,182,.12),rgba(185,139,255,.08));font-size:14px;color:var(--perla)}
.ocaso svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
@media (prefers-reduced-motion:reduce){.revela h2>*{opacity:1;filter:none}body::after,.ornamento span,.ornamento img{animation:none}.cursor{display:none}}

/* ================= ronda 3: cine, mapa de rutas y comparar ================= */
/* cine: un marco pequeño que se abre a pantalla completa con el scroll */
.cine{position:relative;height:240vh}
.cine-fijo{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;display:grid;place-items:center}
.cine-marco{position:absolute;inset:0;clip-path:inset(calc((1 - var(--cv,0)) * 22%) calc((1 - var(--cv,0)) * 30%) round calc((1 - var(--cv,0)) * 40px));background:var(--sup)}
.cine-marco video{width:100%;height:100%;object-fit:cover;transform:scale(calc(1.3 - var(--cv,0) * .3))}
.cine-marco::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,6,20,.25),rgba(11,6,20,.6));opacity:calc(.4 + var(--cv,0) * .6)}
.cine-txt{position:relative;z-index:1;text-align:center;padding:0 20px;pointer-events:none}
.cine-txt .tag{justify-content:center}
.cine-txt h2{font-size:clamp(46px,8.4vw,132px);line-height:.95;letter-spacing:-.02em;transform:scale(calc(.84 + var(--cv,0) * .16));text-shadow:0 4px 60px rgba(11,6,20,.7)}
.cine-txt em{display:block;color:var(--perla)}
@media (prefers-reduced-motion:reduce){.cine{height:auto}.cine-fijo{position:relative}.cine{--cv:1}}

/* mapa de rutas */
.rutas-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-areas:"cab mapa" "lista mapa";grid-template-rows:auto 1fr;column-gap:clamp(30px,5vw,80px);align-items:start}
.rutas-in .sec-h{grid-area:cab;margin-bottom:26px}
.rutas-lista{grid-area:lista;margin:0;padding:0;list-style:none;display:grid;gap:6px}
.rutas-lista button{width:100%;display:flex;gap:16px;align-items:flex-start;text-align:left;padding:16px 18px;border-radius:20px;border:1px solid transparent;background:none;color:inherit;transition:background .45s var(--e),border-color .45s}
.rutas-lista button:hover,.rutas-lista button.on{background:var(--bg2);border-color:var(--linea2)}
.rutas-lista .n{flex:none;padding-top:7px;font:600 12px var(--fw);letter-spacing:.2em;color:var(--orq)}
.rutas-lista b{display:block;font:500 26px/1.15 var(--fd)}
.rutas-lista small{display:block;margin-top:4px;color:var(--tenue);font-size:14.5px}
.ruta-cta{display:inline-block;margin-top:10px;font-size:13.5px;font-weight:600;color:var(--perla);max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--e),opacity .4s}
.rutas-lista button.on .ruta-cta{max-height:30px;opacity:1}
.mapa{grid-area:mapa;position:sticky;top:110px;margin:0;border-radius:30px;overflow:hidden;border:1px solid var(--linea);background:radial-gradient(ellipse at 60% 45%,#2A1B4F,#170E2E 75%)}
.mapa svg{display:block;width:100%;height:auto}
.m-tierra{fill:#0B0614;stroke:rgba(233,219,182,.5);stroke-width:1.2;stroke-linejoin:round}
.m-ruta{cursor:pointer;transition:opacity .5s}
.m-ruta path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--e) calc(var(--i) * .28s + .3s),stroke .5s,opacity .5s}
.mapa.visto .m-ruta path{stroke-dashoffset:0}
.m-linea{stroke:var(--orq);stroke-width:3.2}
.m-halo{stroke:var(--orq);stroke-width:14;opacity:.22;filter:url(#m-brillo)}
.mapa[data-activa] .m-ruta:not(.on){opacity:.16}
.m-ruta.on .m-linea{stroke:var(--perla)}.m-ruta.on .m-halo{stroke:var(--perla);opacity:.45}
.m-muelle circle{fill:var(--perla);opacity:.85}
.m-muelle{cursor:default}.m-muelle circle{transition:r .3s}.m-muelle text{font:600 17px var(--fb);fill:var(--perla);paint-order:stroke;stroke:#0B0614;stroke-width:5px;opacity:0;transition:opacity .3s}.m-muelle:hover text{opacity:1}.m-muelle:hover circle{r:8px}
.m-pin{cursor:pointer}
.m-pin>g{transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .8s var(--e) calc(var(--i) * .28s + 1.6s)}
.mapa.visto .m-pin>g{transform:scale(1)}
.m-pin circle{fill:var(--orq);stroke:#0B0614;stroke-width:4;transition:fill .4s}
.m-pin text{font:700 21px var(--fb);fill:#1A0B33;text-anchor:middle}
.m-pin.on circle{fill:var(--perla)}
.m-barco{fill:#FFF6E2}.m-estela{fill:rgba(233,219,182,.25);filter:url(#m-brillo)}
.mapa-rosa{position:absolute;left:4%;bottom:5%;width:17%;mix-blend-mode:lighten;opacity:.85;pointer-events:none}
.mapa-norte{position:absolute;top:14px;right:14%;font-size:12px;letter-spacing:.06em;color:var(--tenue)}
.mapa figcaption{position:absolute;right:14px;bottom:10px;font-size:10.5px;color:var(--tenue);opacity:.7}
@media (max-width:980px){.rutas-in{grid-template-columns:1fr;grid-template-areas:"cab" "mapa" "lista"}.mapa{position:relative;top:0;margin-bottom:22px}}
@media (max-width:700px){.m-muelle text{display:none}.m-pin circle{r:30px}.m-pin text{font-size:28px;transform:translateY(3px)}.mapa-norte{right:16px}}

/* comparar */
.comparar{width:min(1180px,calc(100% - 24px));max-height:calc(100dvh - 24px);border-radius:30px;background:var(--bg2);border:1px solid var(--linea2);overflow:auto;overscroll-behavior:contain}
.c-cab{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:22px 26px;background:linear-gradient(var(--bg2) 70%,transparent)}
.c-cab h2{font-size:clamp(30px,3.4vw,44px)}.c-cab .f-cerrar{position:static}
.c-scroll{overflow-x:auto;padding:0 26px 10px}
.c-tabla{display:grid;grid-template-columns:130px repeat(var(--n),minmax(0,1fr));width:max(100%,calc(130px + var(--n) * 220px))}
.c-tabla>div{padding:13px 14px;border-top:1px solid var(--linea)}
.c-tabla>.c-yate,.c-tabla>.c-et:first-child{border-top:0}
.c-et{position:sticky;left:0;z-index:1;background:var(--bg2);font:600 11px var(--fw);letter-spacing:.2em;text-transform:uppercase;color:var(--orq);display:flex;align-items:center}
.c-yate{display:grid;gap:8px;justify-items:start}
.c-foto{position:relative;width:100%;aspect-ratio:16/10;border:0;padding:0;border-radius:18px;overflow:hidden;background:var(--sup)}
.c-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e)}.c-foto:hover img{transform:scale(1.05)}
.c-yate b{font:500 26px var(--fd)}.c-gama{font:600 11px var(--fw);letter-spacing:.2em;text-transform:uppercase;color:var(--tenue)}
.c-v{font-size:16px;font-variant-numeric:lining-nums tabular-nums;color:var(--suave)}
.c-v.mejor{color:var(--perla);font-weight:700}.c-v.mejor::after{content:" ★";color:var(--orq);font-size:12px}
.c-chips{display:flex;flex-wrap:wrap;gap:6px}.c-chips span{padding:4px 10px;border-radius:99px;border:1px solid var(--linea2);font-size:12.5px}
.c-acc{display:flex;gap:8px;align-items:center}.c-acc .btn{height:42px;padding:0 16px;font-size:14px}
.c-quitar{border:0;background:none;color:var(--tenue);font-size:14px;text-decoration:underline;text-underline-offset:3px}
.c-pie{position:sticky;bottom:0;display:flex;justify-content:flex-end;padding:18px 26px;background:linear-gradient(transparent,var(--bg2) 30%)}
.bandeja{display:flex;gap:8px;align-items:center}.bandeja[hidden]{display:none}
.bandeja-comp{height:60px;padding:0 22px;border-radius:99px;border:1px solid var(--linea2);background:rgba(18,10,34,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-weight:600}
.bandeja-comp[hidden],.barra-comp[hidden]{display:none}
@media (max-width:700px){.barra-movil:has(.barra-comp:not([hidden])){grid-template-columns:52px 1fr 1.3fr}.barra-movil .barra-comp{padding:0;font-size:20px}.c-tabla{grid-template-columns:96px repeat(var(--n),minmax(0,1fr));width:max(100%,calc(96px + var(--n) * 180px))}}
