/* Activities Gran Canaria · sistema de diseño
   Atlántico de día: fotografía real, tipografía ancha de casco, rosa coral para la acción. */
@view-transition{navigation:auto}
:root{
  --atl:#0A3550; --abisal:#071F2E; --espuma:#F3F6F4; --bajio:#2EC4B6; --toba:#C8894B; --senal:#E8607A;
  --paper:#FFFFFF; --sand:#ECE6D8;
  --ink:var(--abisal); --ink-2:#3E5461; --ink-3:#4F626D; --senal-ink:#B83A57;
  --line:rgba(7,31,46,.13); --line-2:rgba(7,31,46,.26);
  --on-dark:#F3F6F4; --on-dark-2:#BCD2DE; --line-dark:rgba(243,246,244,.18);
  --font:"Archivo","Helvetica Neue",Arial,sans-serif;
  --g:max(18px,env(safe-area-inset-left,0px)); --gr:max(18px,env(safe-area-inset-right,0px));
  --ease:cubic-bezier(.23,1,.32,1); --ease-io:cubic-bezier(.77,0,.175,1);
  --hdr:64px; --radius:4px;
  color-scheme:light;
}
@media (min-width:900px){:root{--g:max(40px,env(safe-area-inset-left,0px));--gr:max(40px,env(safe-area-inset-right,0px));--hdr:80px}}
@media (min-width:1440px){:root{--g:56px;--gr:56px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--atl) var(--espuma)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--espuma);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
@media (min-width:900px){body{font-size:17px}}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,dl,dd,figure,blockquote,ol,ul{margin:0}
ol,ul{padding:0;list-style:none}
::selection{background:var(--senal);color:var(--abisal)}
:focus-visible{outline:2px solid var(--senal);outline-offset:3px;border-radius:3px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-80px;z-index:300;background:var(--abisal);color:var(--espuma);padding:.7rem 1rem;border-radius:8px}
.skip:focus{top:12px}
.wrap{width:100%;max-width:1520px;margin-inline:auto;padding-left:var(--g);padding-right:var(--gr)}
.ico{width:20px;height:20px;flex:none}
.tnum{font-variant-numeric:tabular-nums}

/* Tipografía */
.display{font-weight:780;font-stretch:122%;line-height:.94;letter-spacing:-.032em;text-wrap:balance}
.h1{font-size:clamp(2.3rem,9.4vw,7.2rem)}
@media (max-width:599px){.display{font-stretch:114%}.h2{font-stretch:114%}}
.h2{font-size:clamp(2rem,7vw,4.6rem);font-weight:770;font-stretch:120%;line-height:.97;letter-spacing:-.028em;text-wrap:balance}
.h3{font-size:clamp(1.5rem,4.4vw,2.4rem);font-weight:740;font-stretch:115%;line-height:1.02;letter-spacing:-.02em;text-wrap:balance}
.lead{font-size:clamp(1.05rem,2.6vw,1.3rem);line-height:1.5;color:var(--ink-2);max-width:54ch;text-wrap:pretty}
.label{font-size:.74rem;font-weight:640;letter-spacing:.09em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.muted{color:var(--ink-3)}
.prose p{color:var(--ink-2);max-width:64ch}
.prose p+p{margin-top:1rem}
.prose h2{font-size:1.4rem;font-weight:720;font-stretch:112%;margin:2.4rem 0 .8rem;color:var(--ink)}
.prose ul{margin:.6rem 0 1rem;display:grid;gap:.4rem}
.prose li{padding-left:1.1rem;position:relative;color:var(--ink-2)}
.prose li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--senal)}
.ph{background:rgba(232,96,122,.14);padding:0 .25em;border-radius:3px}
.ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ln>span{display:block}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.w>span{display:inline-block}

/* Botones y enlaces */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.85rem 1.4rem;border-radius:999px;border:1px solid transparent;font-weight:640;font-size:1rem;line-height:1;cursor:pointer;white-space:nowrap;isolation:isolate;overflow:hidden;transition:transform 160ms var(--ease),color 260ms ease,border-color 260ms ease,background-color 260ms ease}
.btn:active{transform:scale(.97)}
.btn::before{content:"";position:absolute;inset:0;border-radius:inherit;transform:translateY(101%);transition:transform 420ms var(--ease);z-index:-1}
.btn--signal{background:var(--senal);color:var(--abisal)}
.btn--signal::before{background:var(--abisal)}
.btn--dark{background:var(--abisal);color:var(--espuma)}
.btn--dark::before{background:var(--senal)}
.btn--line{border-color:currentColor;background:transparent}
.btn--line::before{background:currentColor}
@media (hover:hover) and (pointer:fine){
  .btn--signal:hover{color:var(--espuma)} .btn--dark:hover{color:var(--abisal)}
  .btn:hover::before{transform:translateY(0)}
  .btn--line:hover{color:var(--abisal)} .on-dark .btn--line:hover,.btn--line.is-light:hover{color:var(--abisal)}
  .btn--line:not(.is-light):hover{color:var(--espuma)}
}
.on-dark .btn--line::before,.btn--line.is-light::before{background:var(--espuma)}
.btn--sm{min-height:44px;padding:.55rem 1rem;font-size:.92rem}
.btn--lg{min-height:62px;padding:1rem 1.8rem;font-size:1.1rem}
.btn--block{width:100%}
.btn svg.arr{width:16px;height:16px;transition:transform 320ms var(--ease)}
@media (hover:hover){.btn:hover svg.arr{transform:translateX(3px)}}
.lnk{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;font-weight:640;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px)/100% 1px no-repeat;transition:background-size 380ms var(--ease)}
.lnk svg{width:15px;height:15px;transition:transform 320ms var(--ease)}
@media (hover:hover){.lnk:hover{background-size:0 1px;background-position:100% calc(100% - 10px)}.lnk:hover svg{transform:translateX(4px)}}

/* Intro (solo primera visita) */
.intro{position:fixed;inset:0;z-index:250;background:var(--atl);color:var(--espuma);display:grid;place-items:center;align-content:center;gap:1.4rem;pointer-events:none}
.intro svg{width:min(42vw,200px);height:auto;overflow:visible}
.intro p{display:flex;gap:1.4rem;font-size:.78rem;font-weight:600;letter-spacing:.16em;color:var(--on-dark-2);font-variant-numeric:tabular-nums}
html:not(.js-intro) .intro{display:none}

/* Cabecera */
.hdr{position:fixed;z-index:80;top:0;left:0;right:0;padding-top:env(safe-area-inset-top,0px);color:var(--abisal);transition:background-color 320ms ease,color 320ms ease,transform 460ms var(--ease),box-shadow 320ms ease}
.hdr__in{height:var(--hdr);display:flex;align-items:center;justify-content:space-between;gap:1rem}
.hdr.is-over{color:var(--espuma)}
.hdr.is-over .lang__btn{border-color:rgba(243,246,244,.5)}
.hdr.is-solid{background:rgba(243,246,244,.92);color:var(--abisal);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);box-shadow:0 1px 0 var(--line)}
.hdr.is-hidden{transform:translateY(-100%)}
.brand{display:flex;align-items:center;gap:.7rem;min-height:44px}
.brand svg{width:36px;height:38px;flex:none}
.brand__word{display:flex;flex-direction:column;font-weight:820;font-stretch:125%;text-transform:uppercase;font-size:.74rem;line-height:1.04;letter-spacing:.02em}
@media (min-width:900px){.brand svg{width:42px;height:44px}.brand__word{font-size:.86rem}}
.nav{display:none}
@media (min-width:1180px){
  .nav{display:flex;gap:2rem;font-weight:580;font-size:.96rem}
}
@media (min-width:1180px){
  .nav a{position:relative;padding:.6rem 0;white-space:nowrap}
  .nav a::after{content:"";position:absolute;left:0;right:0;bottom:.35rem;height:1.5px;background:var(--senal);transform:scaleX(0);transform-origin:right;transition:transform 420ms var(--ease)}
  .nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
}
.hdr__end{display:flex;align-items:center;gap:.5rem}
.lang{position:relative;display:none}
@media (min-width:720px){.lang{display:block}}
.lang__btn{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:0 .85rem;border:1px solid currentColor;border-radius:999px;background:transparent;font-weight:620;font-size:.85rem;cursor:pointer}
.lang__btn svg{width:11px;height:8px}
.lang__list{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;background:var(--paper);color:var(--abisal);border-radius:14px;padding:.4rem;box-shadow:0 20px 44px -14px rgba(7,31,46,.38);transform-origin:top right}
.lang__list a{display:flex;justify-content:space-between;padding:.6rem .8rem;border-radius:8px;font-size:.95rem}
.lang__list a:hover,.lang__list a[aria-current]{background:var(--espuma)}
.lang__list small{color:var(--ink-3);font-size:.75rem}
.hdr__cta span{display:none}
@media (min-width:560px){.hdr__cta span{display:inline}}
.burger{position:relative;width:48px;height:48px;border:0;background:transparent;cursor:pointer;border-radius:999px}
.burger span{position:absolute;left:13px;right:13px;height:2px;background:currentColor;transition:transform 360ms var(--ease)}
.burger span:nth-child(1){top:19px}.burger span:nth-child(2){top:27px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}
@media (min-width:1180px){.burger{display:none}}
.hdr.menu-open{color:var(--espuma);background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}

.menu{position:fixed;inset:0;z-index:70;background:var(--atl);color:var(--espuma);display:flex;flex-direction:column;justify-content:space-between;gap:2rem;overflow:auto;padding:calc(var(--hdr) + env(safe-area-inset-top,0px) + 1.6rem) var(--gr) calc(1.6rem + env(safe-area-inset-bottom,0px)) var(--g);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path 560ms var(--ease-io),visibility 0s 560ms}
.menu.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path 560ms var(--ease-io),visibility 0s}
.menu nav{display:flex;flex-direction:column}
.menu nav a{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line-dark);font-size:clamp(1.8rem,8vw,3rem);font-weight:760;font-stretch:120%;letter-spacing:-.02em;line-height:1.05;opacity:0;transform:translateY(18px);transition:opacity 420ms ease,transform 560ms var(--ease)}
.menu nav a small{font-size:.8rem;font-weight:560;font-stretch:100%;letter-spacing:.04em;color:var(--bajio)}
.menu.is-open nav a{opacity:1;transform:none}
.menu.is-open nav a:nth-child(2){transition-delay:40ms}.menu.is-open nav a:nth-child(3){transition-delay:80ms}.menu.is-open nav a:nth-child(4){transition-delay:120ms}.menu.is-open nav a:nth-child(5){transition-delay:160ms}.menu.is-open nav a:nth-child(6){transition-delay:200ms}
.menu__foot{display:grid;gap:1rem}
.menu__foot p{color:var(--on-dark-2);font-size:.92rem;line-height:1.7}
.menu__langs{display:flex;flex-wrap:wrap;gap:.4rem}
.menu__langs a{padding:.45rem .7rem;border:1px solid var(--line-dark);border-radius:999px;font-size:.82rem;font-weight:600}
.menu__langs a[aria-current]{background:var(--espuma);color:var(--abisal)}

/* Barra inferior móvil */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:.6rem var(--gr) calc(.6rem + env(safe-area-inset-bottom,0px)) var(--g);background:rgba(243,246,244,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -1px 0 var(--line);display:flex;align-items:center;gap:.8rem;transform:translateY(110%);transition:transform 480ms var(--ease)}
.dock.is-on{transform:none}
.dock__info{flex:1;min-width:0;line-height:1.2}
.dock__info b{display:block;font-weight:760;font-stretch:112%;font-size:1.05rem;font-variant-numeric:tabular-nums}
.dock__info span{font-size:.8rem;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.dock .btn{flex:none}
@media (min-width:900px){.dock{display:none}}
body.has-dock .foot{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}
@media (min-width:900px){body.has-dock .foot{padding-bottom:1.6rem}}

/* ---------------- HOME ---------------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;color:var(--espuma);background:var(--abisal);overflow:hidden}
.hero__media{position:absolute;inset:0}
.hero__media video,.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__desk{display:none}
@media (min-width:900px){
  .hero__mob{display:none}
  .hero__desk{display:block;position:absolute;inset:0;background:var(--abisal);overflow:hidden}
}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,31,46,.72) 0%,rgba(7,31,46,.3) 26%,rgba(7,31,46,.4) 50%,rgba(7,31,46,.92) 100%),rgba(7,31,46,.22)}
@media (min-width:900px){.hero__shade{background:linear-gradient(180deg,rgba(7,31,46,.68) 0%,rgba(7,31,46,.28) 22%,rgba(7,31,46,.36) 45%,rgba(7,31,46,.9) 100%),rgba(7,31,46,.22)}}
.hero__in{position:relative;z-index:2;width:100%;padding-top:calc(var(--hdr) + 4rem);padding-bottom:calc(1.4rem + env(safe-area-inset-bottom,0px))}
.hero__title{max-width:14ch}
@media (min-width:900px){.hero__title{max-width:none;font-size:clamp(4rem,7.6vw,8.4rem)}}
.hero__row{display:grid;gap:1.2rem;margin-top:1.3rem}
@media (min-width:900px){.hero__row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:3rem;margin-top:2rem}}
.hero__lead{color:var(--espuma);font-size:1.02rem;max-width:44ch;opacity:.92}
@media (min-width:900px){.hero__lead{font-size:1.18rem}}
.hero__cta{display:flex;flex-direction:column;gap:.6rem}
@media (min-width:560px){.hero__cta{flex-direction:row}}
.hero__cta .btn{flex:1}
.sea{margin-top:1.4rem;display:grid;grid-template-columns:auto 1fr;gap:.2rem 1rem;align-items:center;padding-top:1rem;border-top:1px solid var(--line-dark)}
.sea__head{display:flex;align-items:center;gap:.55rem;font-size:.72rem;font-weight:640;letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1}
.sea__dot{width:8px;height:8px;border-radius:50%;background:var(--bajio);animation:ping 2.4s ease-out 3}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(46,196,182,.6)}70%{box-shadow:0 0 0 10px rgba(46,196,182,0)}100%{box-shadow:0 0 0 0 rgba(46,196,182,0)}}
.sea dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-top:.5rem}
.sea dt{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--on-dark-2);font-weight:620}
.sea dd{font-size:clamp(1rem,4vw,1.4rem);font-weight:740;font-stretch:112%;font-variant-numeric:tabular-nums;white-space:nowrap}
.sea__src{grid-column:1/-1;font-size:.76rem;color:var(--on-dark-2);margin-top:.35rem}
@media (min-width:900px){.sea{grid-template-columns:auto 1fr auto;margin-top:2.2rem}.sea__head{grid-column:auto}.sea dl{grid-column:auto;margin:0;max-width:640px}.sea__src{grid-column:auto;margin:0;text-align:right}}
.hero__scroll{display:none}
@media (min-width:900px){.hero__scroll{display:flex;position:absolute;right:var(--gr);top:50%;z-index:2;writing-mode:vertical-rl;gap:1rem;align-items:center;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:620;color:var(--on-dark-2)}.hero__scroll i{display:block;width:1px;height:64px;background:linear-gradient(var(--espuma),transparent);animation:drip 2.2s var(--ease-io) infinite}}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.sec{position:relative;padding-block:clamp(4.5rem,11vw,9.5rem)}
.sec--tight{padding-block:clamp(3.5rem,8vw,6rem)}
.sec__head{display:grid;gap:1.1rem;margin-bottom:clamp(2.2rem,5vw,4rem)}
@media (min-width:1000px){.sec__head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:4rem}}
.on-dark{background:var(--atl);color:var(--espuma)}
.on-dark .lead,.on-dark .muted,.on-dark .prose p{color:var(--on-dark-2)}
.on-abisal{background:var(--abisal);color:var(--espuma)}
.on-abisal .lead,.on-abisal .muted{color:var(--on-dark-2)}

/* Manifiesto que se ilumina */
.manif{background:var(--espuma)}
.manif__txt{font-size:clamp(1.7rem,5.4vw,3.6rem);font-weight:640;font-stretch:112%;line-height:1.14;letter-spacing:-.018em;max-width:26ch;text-wrap:pretty}
.manif__txt .wd{transition:color .25s}
.js-motion .manif__txt .wd.dim{color:rgba(7,31,46,.2)}
.manif__sub{margin-top:1.6rem}
.manif__foot{display:flex;flex-wrap:wrap;gap:.6rem 2.4rem;margin-top:clamp(2rem,5vw,3.4rem);padding-top:1.4rem;border-top:1px solid var(--line-2);color:var(--ink-2);font-weight:560}
.manif__foot b{color:var(--ink);font-weight:760;font-stretch:112%}

/* Tarjeta de experiencia */
.xc{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:8px;isolation:isolate;transition:transform 160ms var(--ease),border-color 220ms ease,box-shadow 320ms var(--ease)}
.xc:active{transform:scale(.985)}
.xc:has(.xc__link:focus-visible){outline:2px solid var(--senal);outline-offset:3px}
.xc__media{position:relative;aspect-ratio:4/5;border-radius:7px;overflow:hidden;background:var(--atl)}
.xc__img{position:absolute;inset:-2% -9%;will-change:transform}
.xc__img img,.xc__img video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease)}
.xc__media::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(180deg,rgba(7,31,46,0),rgba(7,31,46,.55));pointer-events:none}
.xc__tag{position:absolute;left:10px;top:10px;z-index:2;padding:.38rem .65rem;border-radius:999px;background:rgba(243,246,244,.94);color:var(--abisal);font-size:.74rem;font-weight:680;letter-spacing:.01em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.xc__cat{position:absolute;left:12px;bottom:11px;z-index:2;color:var(--espuma);font-size:.74rem;font-weight:660;letter-spacing:.08em;text-transform:uppercase}
.xc__body{display:flex;flex-direction:column;flex:1;padding:16px 10px 8px}
.xc__title{font-size:1.3rem;font-weight:760;font-stretch:115%;line-height:1.08;letter-spacing:-.014em;min-height:2.16em;text-wrap:balance}
.xc__link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:12px}
.xc__link:focus-visible{outline:none}
.xc__desc{margin-top:.55rem;color:var(--ink-2);font-size:.94rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(3 * 1.45em)}
.xc__specs{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);margin-top:1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.xc__specs div{padding:.7rem 0;min-width:0}
.xc__specs div+div{padding-left:.9rem;border-left:1px solid var(--line)}
.xc__specs dt{font-size:.72rem;font-weight:640;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.xc__specs dd{margin-top:.2rem;font-size:.92rem;font-weight:640;line-height:1.3;font-variant-numeric:tabular-nums}
.xc__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;margin-top:auto;padding-top:1rem}
.xc__price{display:grid;line-height:1.1;min-width:0}
.xc__price small{font-size:.74rem;font-weight:600;color:var(--ink-3)}
.xc__price b{font-size:1.75rem;font-weight:820;font-stretch:118%;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.xc__price span{margin-top:.2rem;font-size:.8rem;color:var(--ink-3);font-weight:560}
.xc__acts{display:flex;gap:.45rem;flex:none}
.xc__wa,.xc__go{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:none}
.xc__wa{position:relative;z-index:2;background:var(--senal);color:var(--abisal);transition:transform 160ms var(--ease),background-color 200ms ease}
.xc__wa:active{transform:scale(.94)}
.xc__wa .ico{width:22px;height:22px}
.xc__go{border:1px solid var(--line-2);color:var(--abisal);transition:background-color 220ms ease,color 220ms ease,border-color 220ms ease}
.xc__go svg{width:17px;height:17px;transition:transform 260ms var(--ease)}
@media (hover:hover) and (pointer:fine){
  .xc:hover{border-color:var(--line-2);box-shadow:0 24px 40px -28px rgba(7,31,46,.45)}
  .xc:hover .xc__img img,.xc:hover .xc__img video{transform:scale(1.045)}
  .xc:hover .xc__go{background:var(--abisal);border-color:var(--abisal);color:var(--espuma)}
  .xc:hover .xc__go svg{transform:translateX(3px)}
  .xc__wa:hover{background:var(--abisal);color:var(--espuma)}
}
.xc.is-hidden{display:none}

/* Carrusel horizontal (móvil y escritorio) */
.cx{position:relative;overflow-x:clip}
.cx__track{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-left:var(--g);padding:6px var(--gr) 10px var(--g);scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.cx__track::-webkit-scrollbar{display:none}
.cx__track:focus-visible{outline:2px solid var(--senal);outline-offset:-2px}
.cx__track>.xc{flex:0 0 min(80vw,340px);scroll-snap-align:start}
@media (min-width:900px){
  .cx__track{gap:20px}
  .cx__track>.xc{flex-basis:clamp(320px,26vw,400px)}
  @media (min-width:1520px){.cx__track{padding-left:calc((100vw - 1520px)/2 + var(--g));scroll-padding-left:calc((100vw - 1520px)/2 + var(--g))}}
}
.cx.is-drag .cx__track{scroll-snap-type:none;cursor:grabbing;user-select:none}
.cx.is-drag .xc{pointer-events:none}
.cx__bar{display:flex;align-items:center;gap:1.2rem;margin-top:1.2rem}
.cx__prog{position:relative;flex:1;height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.cx__prog span{position:absolute;inset:0;background:var(--abisal);transform-origin:left;transform:scaleX(.2)}
.cx__count{font-size:.85rem;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}
.cx__count b{color:var(--ink);font-weight:760}
.cx__nav{display:flex;gap:.5rem}
.cx__nav button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--abisal);cursor:pointer;display:grid;place-items:center;transition:background-color 200ms ease,color 200ms ease,opacity 200ms ease,transform 160ms var(--ease)}
.cx__nav button:active{transform:scale(.94)}
.cx__nav button:disabled{opacity:.3;cursor:default}
.cx__nav svg{width:16px;height:16px}
@media (hover:hover) and (pointer:fine){.cx__nav button:not(:disabled):hover{background:var(--abisal);color:var(--espuma);border-color:var(--abisal)}}
.cx.no-overflow .cx__bar{display:none}
.on-dark .cx__prog,.on-abisal .cx__prog{background:var(--line-dark)}
/* Catálogo por filas */
.crow{padding-block:clamp(1.6rem,4vw,2.6rem)}
.crow+.crow{border-top:1px solid var(--line)}
.crow__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 2rem;margin-bottom:1.2rem}
.crow__n{font-size:.95rem;font-weight:620;color:var(--ink-3);font-stretch:100%;vertical-align:middle;margin-left:.3rem}
.crow.is-hidden{display:none}

/* Bloque firma: lancha */
.sig{background:var(--abisal);color:var(--espuma);overflow:hidden}
.sig__grid{display:grid;gap:2.4rem}
@media (min-width:1000px){.sig__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:4rem;align-items:center}}
/* Abanico de clips de la lancha (home): variante sobre fondo oscuro */
.sig .fan{--fw:clamp(170px,46vw,16rem)}
.sig .fan__nav>button{border-color:rgba(243,247,249,.35);color:var(--espuma)}
@media (hover:hover) and (pointer:fine){.sig .fan__nav>button:hover{background:var(--espuma);color:var(--abisal);border-color:var(--espuma)}}
.sig .fan__dots button{background:rgba(243,247,249,.3)}
.sig .fan__dots button[aria-current="true"]{background:var(--senal)}
.sig .fan__card{box-shadow:0 24px 50px -20px rgba(0,0,0,.7)}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.6rem 0;border-top:1px solid var(--line-dark)}
.facts div{padding:.8rem 0;border-bottom:1px solid var(--line-dark)}
.facts div:nth-child(odd){padding-right:1rem}
.facts div:nth-child(even){padding-left:1rem;border-left:1px solid var(--line-dark)}
.facts dt{font-size:.72rem;font-weight:640;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-2)}
.facts dd{margin-top:.15rem;font-size:1.2rem;font-weight:740;font-stretch:112%;font-variant-numeric:tabular-nums}
@media (min-width:600px){.facts{grid-template-columns:repeat(4,minmax(0,1fr))}.facts div{padding:.8rem 1rem!important;border-left:1px solid var(--line-dark)}.facts div:first-child{border-left:0;padding-left:0!important}}

/* Split tierra */
.land{display:grid;gap:1.2rem}
@media (max-width:899px){
  .land{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;margin-inline:0;padding:0 var(--gr) 6px var(--g);scroll-padding-left:var(--g)}
  .land::-webkit-scrollbar{display:none}
  .land .tile{flex:0 0 82vw;min-height:min(112vw,520px);scroll-snap-align:start}
}
@media (min-width:900px){.land{grid-template-columns:1fr 1fr;gap:1.6rem}}
.tile{position:relative;display:block;min-height:min(120vw,620px);border-radius:var(--radius);overflow:hidden;color:var(--espuma);background:var(--atl);isolation:isolate}
@media (min-width:900px){.tile{min-height:min(52vw,720px)}}
.tile img,.tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--ease)}
.tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,31,46,0) 35%,rgba(7,31,46,.82) 100%)}
.tile__in{position:absolute;left:0;right:0;bottom:0;padding:1.4rem;display:grid;gap:.6rem}
@media (min-width:900px){.tile__in{padding:2.2rem}}
.tile__in p{color:rgba(243,246,244,.86);max-width:42ch}
.tile__meta{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-weight:620;font-size:.92rem;padding-top:.8rem;border-top:1px solid var(--line-dark)}
@media (hover:hover) and (pointer:fine){.tile:hover img,.tile:hover video{transform:scale(1.05)}}

/* Banda: buceo */
.band{position:relative;min-height:88svh;display:flex;align-items:flex-end;color:var(--espuma);overflow:hidden;isolation:isolate}
.band>img,.band>video{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;z-index:-2}
.band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,31,46,.2),rgba(7,31,46,.85))}
.band .wrap{padding-bottom:clamp(2.4rem,6vw,5rem)}
.prog{display:grid;gap:.1rem;margin-top:1.6rem;max-width:720px}
.prog li{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-top:1px solid var(--line-dark);font-weight:560}
.prog li b{font-weight:760;font-variant-numeric:tabular-nums}

/* Cómo se reserva */
.steps{counter-reset:s;display:grid}
@media (min-width:900px){.steps{grid-template-columns:repeat(4,1fr);gap:1.6rem}}
.steps li{counter-increment:s;display:grid;align-content:start;gap:.35rem;padding:1.3rem 0;border-top:1px solid var(--line-2)}
.steps li::before{content:counter(s,decimal-leading-zero);font-weight:800;font-stretch:125%;font-size:2.2rem;line-height:1;color:var(--senal-ink);font-variant-numeric:tabular-nums;margin-bottom:.6rem}
.steps b{font-size:1.14rem;font-weight:720;font-stretch:108%}
.steps span{color:var(--ink-2)}
.tide{margin-top:clamp(2.6rem,6vw,4.4rem);display:grid;gap:1.6rem;padding:clamp(1.4rem,4vw,2.8rem);border-radius:var(--radius);background:var(--atl);color:var(--espuma);position:relative;overflow:hidden;isolation:isolate}
.tide video,
.tide .vimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.45}
.tide::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,53,80,.96) 0%,rgba(10,53,80,.75) 60%,rgba(10,53,80,.6))}
.tide p{margin-top:.8rem;color:var(--on-dark-2);max-width:52ch}
.tide dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.4rem;align-content:end}
@media (min-width:600px){.tide dl{grid-template-columns:repeat(3,auto);justify-content:start}}
.tide dt{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-2);font-weight:640}
.tide dd{font-size:clamp(1.5rem,5.4vw,2.4rem);font-weight:780;font-stretch:118%;font-variant-numeric:tabular-nums;line-height:1.05;white-space:nowrap}
.tide small{grid-column:1/-1;font-size:.78rem;color:var(--on-dark-2)}
@media (min-width:1000px){.tide{grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:end;gap:4rem}}

/* Mapa de zonas */
.map{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--atl)}
.map img{width:100%;height:auto}
.pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;pointer-events:none}
.pin b{padding:.32rem .6rem;border-radius:6px;background:var(--espuma);color:var(--abisal);font-size:.72rem;font-weight:680;white-space:nowrap;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
.pin i{width:1px;height:18px;background:var(--espuma)}
.pin s{width:12px;height:12px;border-radius:50%;background:var(--senal);border:2px solid var(--espuma);text-decoration:none}
.pin--base b{background:var(--senal)}
.pin--low{transform:translate(-50%,0);flex-direction:column-reverse}
.pin--l{align-items:flex-start;transform:translate(-6px,-100%)}.pin--l i{margin-left:5px}.pin--l s{margin-left:0}
.pin--r{align-items:flex-end;transform:translate(calc(-100% + 6px),-100%)}.pin--r i{margin-right:5px}
@media (max-width:699px){.pin b{font-size:.72rem;padding:.22rem .45rem}.pin i{height:10px}.pin s{width:9px;height:9px}}
.map__scroll{overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--g)) calc(-1 * var(--gr));padding-inline:var(--g) var(--gr)}
.map__scroll::-webkit-scrollbar{display:none}
@media (max-width:699px){.map__scroll .map{width:760px}}
.map__note{margin-top:.8rem;font-size:.78rem;color:var(--ink-3)}


/* Quiénes somos */
.about{background:var(--espuma);overflow-x:clip}
.about__grid{display:grid;gap:3rem}
@media (min-width:1000px){.about__grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(3rem,6vw,6rem);align-items:center}}
.about__lede{margin-top:1.4rem;font-size:clamp(1.65rem,4vw,2.9rem);font-weight:700;font-stretch:115%;line-height:1.1;letter-spacing:-.022em;max-width:19ch;text-wrap:balance}
.about__lede .wd{transition:color .25s}
.js-motion .about__lede .wd.dim{color:rgba(7,31,46,.2)}
.about__text{margin-top:1.4rem}
.about__list{margin-top:2rem;display:grid;border-top:1px solid var(--line-2)}
@media (min-width:600px){.about__list{grid-template-columns:1fr 1fr;column-gap:2rem}}
.about__list li{position:relative;display:grid;gap:.2rem;padding:1rem 0 1rem 1.5rem;border-bottom:1px solid var(--line)}
.about__list li::before{content:"";position:absolute;left:0;top:1.42rem;width:8px;height:8px;border-radius:50%;background:var(--senal)}
.about__list b{font-weight:700}
.about__list span{color:var(--ink-2);font-size:.95rem;line-height:1.45}
.about__media{position:relative;padding-bottom:12%}
.about__a{position:relative;width:76%;margin-left:auto;aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:var(--atl)}
.about__a video,.about__a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.about__b{position:absolute;left:0;bottom:0;width:54%;aspect-ratio:4/3;border-radius:10px;overflow:hidden;border:8px solid var(--espuma);box-shadow:0 30px 60px -28px rgba(7,31,46,.5);background:var(--atl)}
.about__b img{width:100%;height:100%;object-fit:cover}
@media (max-width:599px){.about__a{width:84%}.about__b{width:58%;border-width:6px}.about__media{padding-bottom:16%}}
/* Widget de reseñas de Google: tipografía de la marca */
.gwidget,.gwidget *{font-family:var(--font)!important}


/* Pestañas de experiencias en la home */
.tabs{margin-bottom:1.2rem}
/* Grupos y profesionales */
.duo__grid{display:grid;gap:1rem}
@media (min-width:900px){.duo__grid{grid-template-columns:1fr 1fr;gap:1.4rem}}
.duo__card{position:relative;display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:var(--paper);border:1px solid var(--line);isolation:isolate;transition:border-color 220ms ease,box-shadow 320ms var(--ease),transform 160ms var(--ease)}
.duo__card:active{transform:scale(.99)}
.duo__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--atl)}
.duo__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale 700ms var(--ease)}
.duo__body{display:flex;flex-direction:column;gap:.8rem;padding:clamp(1.3rem,3vw,2rem);flex:1}
.duo__body p{color:var(--ink-2);max-width:46ch}
.duo__go{display:inline-flex;align-items:center;gap:.5rem;margin-top:auto;padding-top:.6rem;font-weight:660}
.duo__go svg{width:16px;height:16px;transition:transform 260ms var(--ease)}
.duo__card--dark{background:var(--abisal);color:var(--espuma);border-color:var(--abisal);min-height:360px}
.duo__card--dark .duo__body p{color:var(--on-dark-2)}
.duo__mark{position:absolute;right:-10%;bottom:-18%;width:72%;height:auto;color:var(--espuma);opacity:.13;z-index:-1}
.duo__list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.2rem;margin:.4rem 0 .4rem}
.duo__list li{position:relative;padding-left:1rem;font-size:.92rem;color:var(--espuma)}
.duo__list li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--senal)}
@media (max-width:420px){.duo__list{grid-template-columns:1fr}}
@media (hover:hover) and (pointer:fine){.duo__card:hover{border-color:var(--line-2);box-shadow:0 30px 50px -34px rgba(7,31,46,.5)}.duo__card:hover .duo__media img{scale:1.045}.duo__card:hover .duo__go svg{transform:translateX(4px)}}
/* Pie: columnas plegables en móvil */
.fcol summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:default}
.fcol summary::-webkit-details-marker{display:none}
.fcol summary svg{display:none}
.fcol summary h3{margin-bottom:.9rem}
@media (max-width:699px){
  .foot__cols{gap:0}
  .fcol{border-top:1px solid var(--line-dark)}
  .fcol:last-child{border-bottom:1px solid var(--line-dark)}
  .fcol summary{cursor:pointer;min-height:56px}
  .fcol summary h3{margin:0}
  .fcol summary svg{display:block;width:16px;height:16px;transition:transform 300ms var(--ease)}
  .fcol[open] summary svg{transform:rotate(45deg)}
  .fcol ul{padding-bottom:1.2rem}
  .foot__brand{padding-bottom:1.6rem}
}

/* Opiniones */
.gwidget{min-height:420px}
.gwidget iframe{max-width:100%}
.rev{overflow:hidden}
.rev__head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1rem 2rem;margin-bottom:2.2rem}
.rev__score{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem 1.2rem}
.rev__score b{font-size:clamp(4.4rem,18vw,10rem);font-weight:820;font-stretch:125%;line-height:.84;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.rev__score span{color:var(--ink-2);font-weight:580;max-width:20ch}
.stars{display:flex;gap:3px;color:var(--senal)}
.stars svg{width:18px;height:18px}
.belt{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-left:var(--g);padding-right:var(--gr);scroll-padding-left:var(--g)}
.belt::-webkit-scrollbar{display:none}
.belt__ctl{display:flex;gap:.5rem}
.belt__ctl button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line-2);background:transparent;cursor:pointer;display:grid;place-items:center;transition:background-color 200ms,color 200ms,transform 160ms var(--ease)}
.belt__ctl button:hover{background:var(--abisal);color:var(--espuma)}
.belt__ctl button:active{transform:scale(.95)}
.belt__ctl svg{width:16px;height:16px}
.belt__track{display:flex;gap:1rem;flex:none}
.quote{scroll-snap-align:start}
.quote{flex:0 0 min(82vw,420px);padding:1.5rem;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:1.4rem}
.quote{margin:0}.quote blockquote{margin:0}
.quote blockquote p{font-size:1.08rem;line-height:1.45}
.quote__tr{font-size:.88rem;line-height:1.45;color:var(--ink-3);margin-top:-.4rem}
.quote figcaption{font-size:.85rem;color:var(--ink-3);font-weight:580}


/* Preguntas */
.faq{display:grid;gap:2rem}
@media (min-width:1000px){.faq{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:5rem}.faq>div:first-child{position:sticky;top:calc(var(--hdr) + 2rem);align-self:start}}
.qa{border-top:1px solid var(--line-2)}
.qa:last-child{border-bottom:1px solid var(--line-2)}
.qa summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px;padding:1.05rem 0;cursor:pointer;list-style:none;font-weight:660;font-size:1.06rem;line-height:1.3}
.qa summary::-webkit-details-marker{display:none}
.qa summary svg{width:18px;height:18px;flex:none;transition:transform 360ms var(--ease)}
.qa[open] summary svg{transform:rotate(45deg)}
.qa__a{padding:0 0 1.3rem;color:var(--ink-2);max-width:64ch}
.on-dark .qa,.on-abisal .qa{border-color:var(--line-dark)}
.on-dark .qa__a{color:var(--on-dark-2)}

/* Teaser partners */
.teaser{display:grid;gap:2rem}
@media (min-width:1000px){.teaser{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:5rem;align-items:end}}
.ticks{display:grid}
.ticks li{display:grid;gap:.2rem;padding:1rem 0 1rem 1.7rem;border-top:1px solid var(--line-2);position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:1.48rem;width:9px;height:9px;border-radius:50%;background:var(--senal)}
.ticks b{font-weight:700;font-size:1.05rem}
.ticks span{color:var(--ink-2)}
.on-dark .ticks li,.on-abisal .ticks li{border-color:var(--line-dark)}
.on-dark .ticks span,.on-abisal .ticks span{color:var(--on-dark-2)}
@media (min-width:760px){.ticks--2{grid-template-columns:1fr 1fr;column-gap:2.4rem}}

/* ---------------- Páginas interiores ---------------- */
.phead{padding-top:calc(var(--hdr) + clamp(3rem,8vw,6rem));padding-bottom:clamp(2.2rem,5vw,3.6rem)}
.crumbs{display:flex;flex-wrap:wrap;gap:.3rem .6rem;font-size:.85rem;color:var(--ink-3);margin-bottom:1.2rem}
.crumbs a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
.crumbs a:hover{text-decoration-color:var(--senal)}
.on-dark .crumbs,.on-abisal .crumbs,.phero .crumbs{color:var(--on-dark-2)}
.phead .lead{margin-top:1.4rem}
@media (min-width:600px){.phead .hero__cta .btn{flex:0 0 auto}}

/* Catálogo */
.filt{display:grid;gap:1rem;margin-bottom:1.8rem}
@media (min-width:900px){.filt{grid-template-columns:1fr auto;align-items:center}}
.chips{display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--g)) calc(-1 * var(--gr));padding:0 var(--gr) .2rem var(--g)}
.chips::-webkit-scrollbar{display:none}
@media (min-width:900px){.chips{margin:0;padding:0;flex-wrap:wrap}}
.chip{flex:none;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:0 1rem;border:1px solid var(--line-2);border-radius:999px;background:transparent;font-weight:620;font-size:.92rem;cursor:pointer;transition:background-color 220ms,color 220ms,border-color 220ms,transform 160ms var(--ease)}
.chip i{font-style:normal;font-size:.74rem;opacity:.6;font-variant-numeric:tabular-nums}
.chip[aria-pressed="true"]{background:var(--abisal);color:var(--espuma);border-color:var(--abisal)}
.chip:active{transform:scale(.97)}
.selects{display:flex;gap:.6rem;flex-wrap:wrap}
@media (max-width:899px){.selects{display:grid;grid-template-columns:1fr 1fr}.sel select{width:100%}}
.sel{position:relative}
.sel select{appearance:none;-webkit-appearance:none;min-height:44px;padding:0 2.4rem 0 1rem;border:1px solid var(--line-2);border-radius:999px;background:var(--paper);font-weight:600;font-size:.92rem;cursor:pointer}
.sel::after{content:"";position:absolute;right:1rem;top:50%;width:7px;height:7px;border-right:1.6px solid var(--ink-2);border-bottom:1.6px solid var(--ink-2);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.empty{display:none;padding:3rem 0;color:var(--ink-2)}
.empty.is-on{display:block}

/* Ficha de producto */
.phero{position:relative;background:var(--abisal);color:var(--espuma);padding-top:var(--hdr)}
.phero__grid{display:grid}
.phero__media{position:relative;overflow:hidden;background:var(--atl);aspect-ratio:4/5;max-height:72svh;width:100%}
.phero__media.is-portrait{aspect-ratio:9/14}
.phero__media img,.phero__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero__media figcaption{position:absolute;left:.9rem;bottom:.8rem;font-size:.72rem;font-weight:600;color:var(--espuma);text-shadow:0 1px 10px rgba(0,0,0,.55)}
.phero__in{padding-top:1.8rem;padding-bottom:clamp(2rem,5vw,3.4rem)}
.phero__title{font-size:clamp(2.6rem,10.5vw,6.2rem);max-width:15ch}
.phero__sub{margin-top:1rem;font-size:clamp(1.02rem,2.4vw,1.22rem);max-width:46ch;color:rgba(243,246,244,.88)}
.phero__cta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.phero__cta .btn{flex:1 1 auto}
@media (max-width:899px){.phero__media{margin:0}}
@media (min-width:900px){
  .phero{padding-top:calc(var(--hdr) + 2rem)}
  .phero__grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:3.4rem;align-items:end;padding-bottom:clamp(2.4rem,5vw,4rem)}
  .phero__in{order:-1;padding:0}
  .phero__media{aspect-ratio:auto;height:min(78vh,820px);max-height:none;border-radius:var(--radius)}
  .phero__cta .btn{flex:0 0 auto}
}
.pgrid{display:grid;gap:3rem;padding-block:clamp(3rem,7vw,5.5rem)}
@media (min-width:1000px){.pgrid{grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:5rem;align-items:stretch}.pgrid>aside{align-self:stretch}}
.pgrid>*{min-width:0}
.book select{min-width:0;width:60%}
.pbody>section+section{margin-top:clamp(3rem,6vw,4.4rem)}
.pbody h2{font-size:clamp(1.6rem,4vw,2.3rem);font-weight:760;font-stretch:118%;line-height:1;letter-spacing:-.02em;margin-bottom:1.2rem}
.timeline{display:grid}
.timeline li{display:grid;grid-template-columns:5.2rem minmax(0,1fr);gap:1rem;padding:1rem 0;border-top:1px solid var(--line);position:relative}
.timeline li:last-child{border-bottom:1px solid var(--line)}
.timeline time,.timeline .t{font-weight:740;font-stretch:112%;font-variant-numeric:tabular-nums;color:var(--senal-ink)}
.timeline b{display:block;font-weight:680}
.timeline span{color:var(--ink-2);font-size:.96rem}
.incl{display:grid;gap:1.6rem}
@media (min-width:700px){.incl{grid-template-columns:1fr 1fr}}
.incl h3{font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;font-weight:680;margin-bottom:.6rem}
.incl ul{display:grid;gap:.55rem}
.incl li{display:grid;grid-template-columns:20px 1fr;gap:.6rem;color:var(--ink-2);line-height:1.45}
.incl li svg{width:18px;height:18px;margin-top:.15rem}
.incl .yes svg{color:#0F7B70}.incl .no svg{color:var(--ink-3)}
.kv{display:grid;border-top:1px solid var(--line)}
.kv div{display:grid;gap:.2rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
@media (min-width:600px){.kv div{grid-template-columns:minmax(0,2fr) minmax(0,5fr);gap:1.4rem}}
.kv dt{font-weight:660}
.kv dd{color:var(--ink-2)}
/* Galería en abanico: tarjetas apiladas con giro y escala, centrada la activa; GSAP coloca cada tarjeta */
.fan{--fw:clamp(200px,58vw,24rem);--fh:calc(var(--fw)*1.25);position:relative;margin-top:.4rem}
.fan--tall{--fw:clamp(170px,46vw,17rem);--fh:calc(var(--fw)*16/9)}
.fan__stage{position:relative;height:calc(var(--fh) + 5.5rem);overflow:hidden;margin:0 calc(-1*var(--gr)) 0 calc(-1*var(--g));padding:0 var(--gr) 0 var(--g);touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none}
.fan__stage:focus-visible{box-shadow:inset 0 0 0 2px var(--senal)}
.fan__card{position:absolute;top:.6rem;left:50%;width:var(--fw);height:var(--fh);margin-left:calc(var(--fw)/-2);border-radius:14px;overflow:hidden;background:var(--atl);box-shadow:0 18px 44px -18px rgba(7,31,46,.55),0 2px 6px rgba(7,31,46,.12);transform-origin:50% 50%;will-change:transform;cursor:pointer;opacity:0}
.fan__card img,.fan__card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.fan__card figcaption{position:absolute;left:.8rem;right:.8rem;bottom:.8rem;font-size:.78rem;font-weight:600;color:var(--espuma);text-shadow:0 1px 10px rgba(0,0,0,.55);pointer-events:none}
.fan__card.is-center{cursor:default}
.fan__nav{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:.9rem}
.fan__nav>button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--abisal);cursor:pointer;display:grid;place-items:center;flex:0 0 auto;transition:background-color 200ms ease,color 200ms ease,transform 160ms var(--ease)}
.fan__nav>button:active{transform:scale(.94)}
.fan__nav>button svg{width:16px;height:16px}
@media (hover:hover) and (pointer:fine){.fan__nav>button:hover{background:var(--abisal);color:var(--espuma);border-color:var(--abisal)}}
.fan__dots{display:flex;gap:.45rem;align-items:center}
.fan__dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:var(--line-2);cursor:pointer;transition:transform 250ms var(--ease),background-color 250ms ease}
.fan__dots button[aria-current="true"]{background:var(--senal);transform:scale(1.35)}
@media (min-width:900px){.fan__stage{margin:0;padding:0}.fan__nav>button{width:48px;height:48px}}
.minimap{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9;background:var(--atl)}
.minimap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.note{padding:1.2rem 1.3rem;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);color:var(--ink-2)}
.note b{color:var(--ink)}

/* Reserva (calculadora) */
.book{position:relative;padding:clamp(1.3rem,3vw,1.8rem);border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);box-shadow:0 30px 60px -40px rgba(7,31,46,.4)}
@media (min-width:1000px){.book{position:sticky;top:calc(var(--hdr) + 1.4rem)}}
.book__price{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.book__price b{font-size:2.4rem;font-weight:800;font-stretch:120%;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.book__price span{color:var(--ink-3);font-size:.95rem}
.book__rows{display:grid;gap:.2rem;margin-top:1.2rem;border-top:1px solid var(--line)}
.book__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:62px;border-bottom:1px solid var(--line)}
.book__row label,.book__row .lb{font-weight:620;display:grid;line-height:1.2}
.book__row small{font-weight:500;color:var(--ink-3);font-size:.82rem}
.step{display:flex;align-items:center;gap:.2rem}
.step button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:transparent;cursor:pointer;font-size:1.2rem;line-height:1;display:grid;place-items:center;transition:background-color 200ms,transform 160ms var(--ease)}
.step button:active{transform:scale(.94)}
.step button:disabled{opacity:.35;cursor:default}
.step output{min-width:2.2rem;text-align:center;font-weight:740;font-size:1.1rem;font-variant-numeric:tabular-nums}
.book input[type=date],.book select{min-height:44px;padding:0 .8rem;border:1px solid var(--line-2);border-radius:10px;background:var(--espuma);font-size:16px;max-width:60%}
.book__total{display:flex;justify-content:space-between;align-items:baseline;margin:1.1rem 0;font-weight:640}
.book__total b{font-size:1.7rem;font-weight:800;font-stretch:118%;font-variant-numeric:tabular-nums}
.book__fine{margin-top:.9rem;font-size:.82rem;color:var(--ink-3);line-height:1.5}

/* Formularios */
.form{padding:clamp(1.4rem,4vw,2.2rem);border-radius:var(--radius);background:var(--paper);color:var(--abisal);border:1px solid var(--line)}
.form h3{font-size:1.6rem;font-weight:760;font-stretch:116%;letter-spacing:-.015em}
.form>p{margin-top:.4rem;color:var(--ink-2);font-size:.95rem}
.form__fields{display:grid;gap:.9rem;margin-top:1.4rem}
@media (min-width:700px){.form__fields .half{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}}
.field{position:relative}
.field input,.field select,.field textarea{width:100%;min-height:58px;padding:1.5rem .95rem .5rem;border:1px solid var(--line-2);border-radius:10px;background:var(--espuma);font-size:16px;color:var(--abisal);transition:border-color 200ms,box-shadow 200ms,background-color 200ms;appearance:none;-webkit-appearance:none}
.field textarea{resize:vertical;min-height:110px}
.field label{position:absolute;left:1rem;top:1.08rem;font-size:1rem;color:var(--ink-3);pointer-events:none;transform-origin:left top;transition:transform 240ms var(--ease),color 200ms}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--atl);background:var(--paper);box-shadow:0 0 0 3px rgba(10,53,80,.14)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label,.field select+label,.field input[type=date]+label{transform:translateY(-.64rem) scale(.76);color:var(--atl)}
.field--select::after{content:"";position:absolute;right:1.1rem;top:50%;width:8px;height:8px;border-right:1.6px solid var(--ink-2);border-bottom:1.6px solid var(--ink-2);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.field.is-bad input,.field.is-bad select{border-color:#C2410C;box-shadow:0 0 0 3px rgba(194,65,12,.12)}
.form__err{color:#B23A0B;font-size:.92rem}
.form__done{display:none;gap:1rem;align-items:start;margin-top:1.4rem;padding:1.2rem;border-radius:10px;background:var(--espuma)}
.form__done svg{width:40px;height:40px;color:#0F7B70;flex:none}
.form.is-sent .form__fields{display:none}
.form.is-sent .form__done{display:flex}

/* Páginas grupos, profesionales, contacto */
.split{display:grid;gap:3rem}
.split .h2,.teaser .h2,.sig .h2{font-size:clamp(2rem,7vw,4.2rem)}
@media (min-width:1000px){.split .h2,.teaser .h2,.sig .h2{font-size:clamp(2.4rem,3.9vw,4.2rem)}}
@media (min-width:1000px){.split{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:5rem;align-items:start}}
.media-r{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;background:var(--atl)}
.media-r img,.media-r video{width:100%;height:100%;object-fit:cover}
.venues{display:grid;gap:1rem}
@media (min-width:700px){.venues{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.venues{grid-template-columns:repeat(4,1fr)}}
.venue{padding:1.4rem;border-radius:var(--radius);border:1px solid var(--line-dark);display:grid;gap:.4rem;align-content:start;min-height:180px}
.venue b{font-size:1.4rem;font-weight:760;font-stretch:118%}
.venue span{color:var(--on-dark-2)}
.venue em{font-style:normal;font-size:.8rem;color:var(--bajio);font-weight:640;letter-spacing:.06em;text-transform:uppercase}
.contact{display:grid;gap:1rem}
@media (min-width:800px){.contact{grid-template-columns:repeat(3,1fr)}}
.contact a,.contact div{display:grid;gap:.3rem;padding:1.4rem;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);transition:border-color 220ms,transform 220ms var(--ease)}
.contact a:hover{border-color:var(--senal);transform:translateY(-2px)}
.contact b{font-size:1.2rem;font-weight:740;font-stretch:112%;overflow-wrap:anywhere}
.contact__mail b{font-size:1.02rem;font-stretch:100%}
.sec.sec--afterhead{padding-top:clamp(2.2rem,5vw,4.5rem)}
.contact span{color:var(--ink-3);font-size:.88rem}
.doc{max-width:820px}
.doc .draft{margin-bottom:2rem}

/* Tablero de marca */
.bb{display:grid;gap:1.2rem}
.bb__card{border-radius:var(--radius);padding:clamp(1.4rem,4vw,2.4rem);background:var(--paper);border:1px solid var(--line);display:grid;gap:1rem;align-content:start}
.bb__logo{display:grid;place-items:center;min-height:300px;border-radius:var(--radius)}
.bb__logo svg{width:min(60%,320px);height:auto}
@media (min-width:900px){.bb--2{grid-template-columns:1fr 1fr}.bb--3{grid-template-columns:repeat(3,1fr)}.bb--4{grid-template-columns:repeat(4,1fr)}}
.lockup{display:flex;align-items:center;gap:1.2rem}
.lockup svg{width:84px;height:88px;flex:none}
.lockup span{font-weight:840;font-stretch:125%;text-transform:uppercase;font-size:clamp(1.3rem,3.4vw,2.2rem);line-height:1.02;letter-spacing:.01em}
.swatch{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--paper)}
.swatch i{display:block;height:130px}
.swatch div{padding:1rem;display:grid;gap:.2rem;font-size:.9rem}
.swatch b{font-size:1.05rem}
.swatch code{font-family:inherit;font-weight:660;font-variant-numeric:tabular-nums}
.swatch span{color:var(--ink-3)}
.typo{display:grid;gap:1.2rem}
.typo div{display:grid;gap:.3rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.typo small{color:var(--ink-3);font-size:.8rem}
.mock-card{aspect-ratio:85/55;border-radius:10px;padding:1.4rem;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 50px -30px rgba(7,31,46,.55)}
.mock-avatar{width:160px;height:160px;border-radius:50%;display:grid;place-items:center;background:var(--atl)}
.mock-avatar svg{width:62%;height:auto}
.dont{display:grid;gap:.6rem}
.dont li{padding:.9rem 1rem;border-radius:var(--radius);background:rgba(194,65,12,.08);color:#7A2A0A}

/* Pie */
.foot{background:var(--atl);color:var(--espuma);padding-top:clamp(4rem,10vw,8rem);padding-bottom:calc(1.6rem + env(safe-area-inset-bottom,0px))}
.foot__cta{display:grid;gap:1.8rem;padding-bottom:clamp(3rem,7vw,5rem);border-bottom:1px solid var(--line-dark)}
.foot__big{font-size:clamp(3rem,13vw,8.2rem);font-weight:830;font-stretch:125%;line-height:.86;letter-spacing:-.045em}
.foot__cta p{color:var(--on-dark-2);max-width:40ch;margin-bottom:1.3rem}
.foot__cta .btn{width:100%}
@media (min-width:600px){.foot__cta .btn{width:auto}}
@media (min-width:1000px){.foot__cta{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:end;gap:3rem}}
.foot__cols{display:grid;gap:2.2rem;padding-block:3rem}
@media (min-width:700px){.foot__cols{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.foot__cols{grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2.4fr))}}
.foot__mark{width:66px;height:68px;margin-bottom:1rem}
.foot__brand p{color:var(--on-dark-2);line-height:1.6}
.foot h3{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-2);font-weight:640;margin-bottom:.9rem}
.foot ul{display:grid;gap:.5rem}
.foot ul a{display:inline-block;padding:.15rem 0;transition:color 200ms}
.foot ul a:hover{color:var(--senal)}
.foot ul b{font-weight:640;word-break:break-word}
.foot__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.4rem;border-top:1px solid var(--line-dark);font-size:.82rem;color:var(--on-dark-2)}
.foot__legal nav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.foot__legal a{padding:.3rem 0}
.foot__legal a:hover{color:var(--espuma)}


/* ---------- Sistema de movimiento por scroll ---------- */
.scrollbar{position:fixed;top:0;left:0;right:0;height:3px;background:var(--senal);transform-origin:left;transform:scaleX(0);z-index:200;pointer-events:none}
.band-txt{overflow:hidden;padding-block:clamp(1.6rem,5vw,3.6rem);background:var(--espuma)}
.bt__row{display:flex;width:max-content;white-space:nowrap;font-size:clamp(3.2rem,12.5vw,11.5rem);font-weight:830;font-stretch:125%;letter-spacing:-.045em;line-height:1.02;color:var(--abisal);will-change:transform}
.bt__row span{display:inline-flex;align-items:center}
.bt__row i{font-style:normal;color:var(--senal);padding:0 .28em;-webkit-text-stroke:0}
.bt__row--o{color:transparent;-webkit-text-stroke:1.5px var(--atl)}
@media (max-width:599px){.bt__row--o{-webkit-text-stroke-width:1px}}
.stepsbox{position:relative}
.stepsbox__fill{position:absolute;left:0;top:0;width:100%;height:2px;background:var(--senal);transform-origin:left;transform:scaleX(0);z-index:1}
@media (max-width:899px){.steps{grid-template-columns:1fr 1fr;column-gap:1rem}.steps li{padding:1rem 0}.steps li::before{font-size:1.6rem;margin-bottom:.4rem}.steps b{font-size:1rem}.steps span{font-size:.9rem;line-height:1.45}}
.js-motion .steps li::before{color:rgba(7,31,46,.2);transition:color .5s ease}
.js-motion .steps li.is-lit::before{color:var(--senal-ink)}
.js-motion .timeline .t{color:var(--ink-3);transition:color .4s ease}
.js-motion .timeline li{transition:border-color .4s ease}
.js-motion .timeline li.is-lit .t{color:var(--senal-ink)}
.js-motion .timeline li.is-lit{border-top-color:var(--senal)}
.js-motion [data-circle]{clip-path:circle(18% at 50% 55%)}


/* ---------- Isla: patrón de marca con las curvas de nivel reales ---------- */
.isla{position:absolute;pointer-events:none;color:var(--espuma);opacity:.2;overflow:visible}
.isla .isla__lines{fill:none;stroke:currentColor}
.isla path{vector-effect:non-scaling-stroke;stroke-width:1.1}
.isla__dot{fill:var(--senal)}
.phead--isla{position:relative;background:var(--abisal);color:var(--espuma);overflow:hidden;isolation:isolate;padding-bottom:clamp(3.2rem,7vw,5.5rem)}
.phead--isla .wrap{position:relative;z-index:1}
.phead--isla .lead{color:var(--on-dark-2)}
.phead--isla .crumbs{color:var(--on-dark-2)}
.phead--isla .crumbs a{text-decoration-color:var(--line-dark)}
.phead--isla .btn--line{color:var(--espuma)}
.phead--isla>.isla{right:-6%;top:50%;width:min(58vw,780px);height:auto;transform:translateY(-44%);z-index:0}
@media (max-width:899px){.phead--isla>.isla{right:-38%;top:auto;bottom:-28%;width:115vw;transform:none;opacity:.14}}
.phero{isolation:isolate;overflow:hidden}
.phero>.isla{left:-14%;top:-6%;width:min(70vw,900px);height:auto;opacity:.1;z-index:-1}
.foot{position:relative;overflow:hidden;isolation:isolate}
.isla--foot{right:-10%;bottom:-30%;width:min(80vw,1000px);height:auto;opacity:.07;z-index:-1}
@media (max-width:699px){.isla--foot{width:140vw;right:-45%;bottom:-12%}}

/* ---------- Opiniones: panel propio con el widget de Google dentro ---------- */
.rev{background:var(--espuma)}

/* ---------- Mapa interactivo ---------- */
@keyframes sail{to{stroke-dashoffset:-18}}
@keyframes pinpulse{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.6);opacity:0}}

/* Movimiento: estados iniciales solo con JS de animación activo */
.js-motion [data-fade]{opacity:0;transform:translateY(26px)}
.js-motion [data-clip]{clip-path:inset(12% 6% 12% 6%)}
.js-motion [data-clip] img,.js-motion [data-clip] video{transform:scale(1.18)}

/* Transiciones entre páginas */
::view-transition-old(root){animation:vt-out .38s var(--ease-io) both}
::view-transition-new(root){animation:vt-in .62s var(--ease) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-24px)}}
@keyframes vt-in{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* Marca · el patrón */
.pat{display:grid;border-radius:var(--radius);overflow:hidden;background:var(--abisal);color:var(--espuma);margin-bottom:1.2rem}
.pat__art{position:relative;min-height:clamp(320px,52vw,520px);overflow:hidden;background:radial-gradient(120% 90% at 30% 40%,var(--atl),var(--abisal))}
.pat__art .isla{position:absolute;inset:0;margin:auto;width:min(118%,640px);height:auto;aspect-ratio:1;opacity:.55}
.pat__art .isla__dot{r:1.4px}
.pat__coord{position:absolute;left:1.4rem;bottom:1.2rem;color:#B7C6CE;font-size:.78rem}
.pat__txt{display:grid;gap:1.1rem;align-content:center;padding:clamp(1.6rem,5vw,3.4rem)}
.pat__txt .lead{color:var(--espuma)}
.pat__txt .muted{color:#B7C6CE}
.pat__uses{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:.4rem 0 0}
.pat__uses li{font-size:.85rem;padding:.45rem .85rem;border-radius:99px;border:1px solid rgba(243,246,244,.22)}
.pat__rule{gap:.5rem}
@media (min-width:900px){.pat{grid-template-columns:1.15fr 1fr}}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Selector de categorías de la home: fichas con foto */
.cats__ask{color:var(--ink-3);margin:0 0 .8rem}
.cats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}
.cat{position:relative;isolation:isolate;display:grid;align-content:end;gap:.25rem;min-height:clamp(170px,15vw,210px);padding:1rem 1rem 1.05rem;border:0;border-radius:16px;overflow:hidden;background:var(--abisal);color:var(--espuma);text-align:left;font:inherit;cursor:pointer;transition:transform 160ms var(--ease)}
.cat img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.62);transform:scale(1.06);transition:filter 300ms ease,transform 700ms var(--ease)}
.cat__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,31,46,.1) 20%,rgba(7,31,46,.88))}
.cat::after{content:"";position:absolute;inset:0;border-radius:inherit;border:3px solid transparent;transition:border-color 200ms ease;pointer-events:none}
.cat__t{font-size:1.18rem;font-weight:760;font-stretch:115%;line-height:1.1}
.cat__d{font-size:.8rem;line-height:1.35;color:rgba(243,246,244,.78)}
.cat__n{position:absolute;top:.8rem;left:.85rem;padding:.28rem .6rem;border-radius:99px;background:rgba(7,31,46,.55);font-size:.72rem;font-weight:680;backdrop-filter:blur(6px)}
.cat__on{position:absolute;top:.72rem;right:.72rem;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--senal);color:var(--abisal);opacity:0;transform:scale(.7);transition:opacity 200ms ease,transform 240ms var(--ease)}
.cat[aria-pressed="true"]::after{border-color:var(--senal)}
.cat[aria-pressed="true"] img{filter:none;transform:scale(1)}
.cat[aria-pressed="true"] .cat__on{opacity:1;transform:none}
.cat:active{transform:scale(.97)}
.cat:focus-visible{outline:3px solid var(--atl);outline-offset:3px}
@media (hover:hover) and (pointer:fine){.cat:not([aria-pressed="true"]):hover img{filter:saturate(.8) brightness(.68);transform:scale(1.03)}}
.cats__now{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:1.4rem 0 .2rem;color:var(--ink-3);font-size:.95rem}
.cats__now b{color:var(--abisal);font-size:1.25rem;font-weight:760;font-stretch:112%}
.cats__now span::before{content:"·";margin-right:.5rem}
@media (max-width:899px){
  .cats{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1 * var(--g)) calc(-1 * var(--gr));padding:0 var(--gr) .3rem var(--g);scroll-padding-inline:var(--g)}
  .cats::-webkit-scrollbar{display:none}
  .cat{flex:0 0 min(46vw,220px);min-height:150px;scroll-snap-align:start}
  .cat__d{display:none}
}
@media (prefers-reduced-motion:reduce){.cat,.cat img,.cat__on{transition:none}}

/* Mapa de zonas: más ancho en escritorio, a sangre en móvil */

/* Noche en Playa del Inglés: reel, salas y ambiente */
.night{background:radial-gradient(55% 45% at 12% 38%,rgba(232,96,122,.16),transparent 70%),radial-gradient(45% 40% at 92% 85%,rgba(46,196,182,.12),transparent 70%),var(--abisal)}
.night__grid{display:grid;gap:clamp(1.6rem,4vw,3.4rem);margin-top:clamp(1.6rem,4vw,2.8rem);align-items:start}
@media (min-width:900px){.night__grid{grid-template-columns:minmax(260px,5fr) 7fr}}
.night__reel{position:relative;margin:0;border-radius:22px;overflow:hidden;aspect-ratio:9/16;max-height:720px;background:#000;box-shadow:0 40px 90px -40px rgba(232,96,122,.55),0 0 0 1px rgba(243,246,244,.08)}
@media (max-width:899px){.night__reel{aspect-ratio:4/5}}
.night__reel video,
.night__reel .vimg{width:100%;height:100%;object-fit:cover;display:block}
.night__reel figcaption{position:absolute;left:0;right:0;bottom:0;display:grid;gap:.35rem;padding:3rem 1.2rem 1.2rem;background:linear-gradient(180deg,transparent,rgba(7,31,46,.85));color:var(--espuma)}
.night__reel figcaption b{font-size:1.35rem;font-weight:760;font-stretch:115%}
.night__live{display:inline-flex;align-items:center;gap:.45rem;justify-self:start;padding:.3rem .65rem;border-radius:99px;background:rgba(7,31,46,.6);font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;backdrop-filter:blur(6px)}
.night__live i{width:7px;height:7px;border-radius:50%;background:var(--senal);box-shadow:0 0 0 0 rgba(232,96,122,.7);animation:livepulse 1.8s ease-out infinite}
@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(232,96,122,.7)}100%{box-shadow:0 0 0 10px rgba(232,96,122,0)}}
.night__k{color:var(--on-dark-2);margin:0 0 .6rem}
.night__venues{list-style:none;margin:0;padding:0;border-top:1px solid rgba(243,246,244,.14)}
.nv{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.1rem;padding:1.15rem .4rem;border-bottom:1px solid rgba(243,246,244,.14);color:var(--espuma);overflow:hidden;isolation:isolate}
.nv::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(232,96,122,.2),rgba(232,96,122,0) 70%);transform:scaleX(0);transform-origin:left;transition:transform 420ms var(--ease)}
.nv__n{font-size:.85rem;font-weight:700;color:var(--on-dark-2);font-variant-numeric:tabular-nums;transition:color 200ms ease}
.nv__b{display:grid;gap:.15rem}
.nv__b b{font-size:clamp(1.35rem,2.6vw,2rem);font-weight:780;font-stretch:118%;line-height:1.05;letter-spacing:-.01em}
.nv__b em{font-style:normal;font-size:.88rem;color:var(--bajio)}
.nv__go{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:680;color:var(--espuma);opacity:.75;transition:opacity 200ms ease}
.nv__go svg{width:15px;height:15px;transition:transform 260ms var(--ease)}
.nv:active{transform:scale(.99)}
@media (hover:hover) and (pointer:fine){.nv:hover::before{transform:scaleX(1)}.nv:hover .nv__n{color:var(--senal)}.nv:hover .nv__go{opacity:1}.nv:hover .nv__go svg{transform:translateX(4px)}}
@media (max-width:599px){.nv__go{font-size:0;gap:0}.nv__go svg{width:20px;height:20px}}
.night__offers{display:grid;gap:.9rem;margin-top:1.6rem}
@media (min-width:600px){.night__offers{grid-template-columns:1fr 1fr}}
.noff{display:grid;gap:.4rem;align-content:start;padding:1.3rem 1.3rem 1.4rem;border-radius:16px;background:rgba(243,246,244,.05);border:1px solid rgba(243,246,244,.14)}
.noff .label{color:var(--on-dark-2)}
.noff b{font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:800;font-stretch:120%;line-height:1;color:var(--espuma)}
.noff p{color:var(--on-dark-2);font-size:.92rem;line-height:1.5}
.noff p strong{color:var(--espuma)}
.noff--gift{border-color:rgba(232,96,122,.45);background:linear-gradient(160deg,rgba(232,96,122,.14),rgba(232,96,122,.02))}
.noff--gift b{color:var(--senal)}
.night__legal{margin-top:1rem;font-size:.85rem;color:var(--on-dark-2)}

@media (prefers-reduced-motion:reduce){.night__live i{animation:none}.nv::before{transition:none}}

/* Grupos: cómo lo organizamos */
.howto__grid{display:grid;gap:clamp(1.6rem,4vw,4rem);align-items:stretch}
@media (min-width:900px){.howto__grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}
.howto__media{position:relative;margin:0;min-height:clamp(440px,52vw,640px);border-radius:24px;overflow:hidden;background:var(--abisal);isolation:isolate}
.howto__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.howto__media::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,31,46,.05) 30%,rgba(7,31,46,.9))}
.howto__cap{position:absolute;left:0;right:0;bottom:0;display:grid;gap:1rem;padding:clamp(1.4rem,3.5vw,2.6rem);color:var(--espuma)}
.howto__cap .h2{color:var(--espuma)}
.howto__cap p{color:#D7E3EA;max-width:38ch}
.howto__cap .btn{justify-self:start}
.howto__steps{position:relative;list-style:none;margin:0;padding:0;display:grid;align-content:center;gap:clamp(.8rem,2vw,1.2rem)}
.howto__steps::before,.howto__steps::after{content:"";position:absolute;left:clamp(2.1rem,3.6vw,2.7rem);top:2.6rem;bottom:2.6rem;width:2px;background:var(--line-2)}
.howto__steps::after{background:var(--senal);transform:scaleY(var(--fill,0));transform-origin:top}
.howto__steps li{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,2.4vw,1.8rem);align-items:start;padding:clamp(1.3rem,2.6vw,2rem);border-radius:20px;background:var(--paper);border:1px solid var(--line);transition:border-color 300ms ease,box-shadow 300ms ease}
.howto__n{display:grid;place-items:center;width:clamp(2.6rem,4vw,3.2rem);height:clamp(2.6rem,4vw,3.2rem);border-radius:50%;background:var(--espuma);border:2px solid var(--line-2);font-weight:800;font-stretch:120%;font-size:1rem;color:var(--abisal);font-variant-numeric:tabular-nums;transition:background-color 300ms ease,border-color 300ms ease,color 300ms ease}
.howto__steps li div{display:grid;gap:.45rem}
.howto__steps b{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:760;font-stretch:112%;line-height:1.15}
.howto__steps span{color:var(--ink-2);line-height:1.55}
.howto__steps em{font-style:normal;justify-self:start;margin-top:.3rem;padding:.3rem .65rem;border-radius:99px;background:rgba(46,196,182,.14);color:#0E6F67;font-size:.8rem;font-weight:680}
.howto__steps li.is-lit{border-color:rgba(232,96,122,.45);box-shadow:0 24px 50px -30px rgba(7,31,46,.35)}
.howto__steps li.is-lit .howto__n{background:var(--senal);border-color:var(--senal);color:var(--abisal)}
@media (max-width:899px){.howto__media{min-height:auto;aspect-ratio:4/5}.howto__steps::before,.howto__steps::after{left:calc(1.3rem + 1.3rem - 1px)}}
.howto__cap .h2{font-size:clamp(2.1rem,3.4vw,3.3rem)}
@media (max-width:899px){.howto__cap .h2{font-size:clamp(2rem,9vw,2.8rem)}}

/* ================================================================
   Móvil corporativo: cabecera compacta y escala tipográfica sobria
   (solo pantallas estrechas; escritorio no cambia)
   ================================================================ */
@media (max-width:699px){
  :root{--hdr:56px}
  /* Cabecera */
  .brand{gap:.55rem;min-height:40px}
  .brand svg{width:26px;height:28px}
  .brand__word{font-size:.6rem;font-weight:740;font-stretch:112%;letter-spacing:.05em;line-height:1.1}
  .hdr__end{gap:.25rem}
  .hdr .hdr__cta{min-height:34px;padding:.38rem .8rem;gap:.35rem;font-size:.78rem;font-weight:620}
  .hdr__cta span{display:inline}
  .hdr__cta svg{width:14px;height:14px}
  .burger{width:40px;height:40px;margin-right:-8px}
  .burger span{left:11px;right:11px;height:1.5px}
  .burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:22.5px}
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(3.25px) rotate(45deg)}
  .burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.25px) rotate(-45deg)}
  /* Menú */
  .menu{gap:1.4rem}
  .menu nav a{padding:.85rem 0;font-size:1.3rem;font-weight:620;font-stretch:100%;letter-spacing:-.01em}
  .menu nav a small{font-size:.72rem}
  .menu__foot{gap:.8rem}
  .menu__foot p{font-size:.84rem}
  .menu__langs a{padding:.32rem .58rem;font-size:.72rem}
  /* Escala tipográfica */
  .display{font-weight:720;font-stretch:108%;line-height:1.03;letter-spacing:-.024em}
  .h1,.hero__title{font-size:clamp(1.85rem,8vw,2.2rem)}
  .phero__title{font-size:clamp(1.85rem,8vw,2.2rem)}
  .h2,.split .h2,.teaser .h2,.sig .h2,.howto__cap .h2{font-size:clamp(1.55rem,6.6vw,1.85rem);font-weight:720;font-stretch:108%;line-height:1.06;letter-spacing:-.02em}
  .h3{font-size:1.25rem;font-weight:700;font-stretch:105%;line-height:1.15}
  .lead{font-size:1rem;line-height:1.55}
  .label{font-size:.7rem}
  .about__lede{font-size:1.18rem;font-weight:600;font-stretch:102%;line-height:1.3;max-width:none}
  .manif__txt{font-size:1.35rem;font-stretch:104%}
  .foot__big{font-size:clamp(2.2rem,11vw,3rem);font-stretch:112%}
  .xc__title{font-size:1.1rem;font-stretch:106%}
  .facts dd{font-size:1.02rem;font-stretch:104%}
  .tide dd{font-size:1.3rem;font-stretch:108%}
  .sea dd{font-size:1rem}
  .cat__t{font-size:1.02rem;font-stretch:106%}
  .cats__now b{font-size:1.05rem}
  .nv__b b{font-size:1.2rem;font-stretch:108%}
  .noff b{font-size:1.45rem;font-stretch:110%}
  .howto__steps b{font-size:1.08rem;font-stretch:104%}
  .rev__score b{font-size:3.6rem}
  /* Botones y barra inferior */
  .btn{min-height:46px;font-size:.92rem;padding:.7rem 1.2rem}
  .btn--lg{min-height:50px;font-size:.95rem}
  .btn--sm{min-height:40px;font-size:.85rem}
  .dock{padding-top:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}
  .dock__info b{font-size:.9rem;font-weight:700;font-stretch:100%}
  .dock__info span{font-size:.74rem}
  .dock .btn{min-height:40px;padding:.5rem 1rem;font-size:.85rem}
  /* Cabeceras interiores más cerca del menú */
  .phead{padding-top:calc(var(--hdr) + 2rem)}
  .phead .lead{margin-top:1rem}
}

/* Vídeo vertical completo (sin recortes) y botón de sonido */
.phero__media.is-portrait{aspect-ratio:9/16;width:min(100%,calc(78svh * 9 / 16));max-height:none;justify-self:center;border-radius:14px}
@media (min-width:900px){.phero__media.is-portrait{height:min(80vh,820px);width:auto;justify-self:end}}
.vsound{position:absolute;z-index:3;top:.8rem;right:.8rem;display:inline-flex;align-items:center;gap:.4rem;min-height:36px;padding:.35rem .75rem;border:0;border-radius:99px;background:rgba(7,31,46,.62);color:var(--espuma);font:inherit;font-size:.76rem;font-weight:640;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color 200ms ease,transform 160ms var(--ease)}
.vsound svg{width:16px;height:16px}
.vsound .vs-on{display:none}
.vsound[aria-pressed="true"]{background:var(--senal);color:var(--abisal)}
.vsound[aria-pressed="true"] .vs-on{display:inline}.vsound[aria-pressed="true"] .vs-off{display:none}
.vsound:active{transform:scale(.96)}

/* ============ Cómo se reserva: pasos + conversación de ejemplo ============ */
.bk{display:grid;gap:clamp(1.6rem,4vw,4rem);align-items:center}
@media (min-width:900px){.bk{grid-template-columns:minmax(0,6fr) minmax(320px,5fr)}}
.bk__side{display:grid;gap:1.2rem;align-content:center}
.bk__steps{display:grid;gap:.6rem}
.bk__step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start;padding:1.15rem 1.25rem 1.3rem;border:1px solid var(--line);border-radius:16px;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer;overflow:hidden;transition:background-color 260ms ease,border-color 260ms ease,box-shadow 260ms ease}
.bk__n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line-2);font-weight:740;font-size:.9rem;font-variant-numeric:tabular-nums;color:var(--ink-3);transition:background-color 260ms ease,border-color 260ms ease,color 260ms ease}
.bk__tx{display:grid;gap:.25rem}
.bk__tx b{font-size:1.08rem;font-weight:720;font-stretch:106%;line-height:1.25}
.bk__tx span{color:var(--ink-3);font-size:.94rem;line-height:1.5}
.bk__bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:transparent}
.bk__bar i{position:absolute;inset:0;background:var(--senal);transform:scaleX(0);transform-origin:left}
.bk__step.is-run .bk__bar i{animation:bkfill var(--dur,4000ms) linear forwards}
@keyframes bkfill{to{transform:scaleX(1)}}
.bk__step[aria-selected="true"]{background:var(--paper);border-color:transparent;box-shadow:0 24px 50px -32px rgba(7,31,46,.4)}
.bk__step[aria-selected="true"] .bk__n{background:var(--senal);border-color:var(--senal);color:var(--abisal)}
.bk__step.is-done .bk__n{background:var(--abisal);border-color:var(--abisal);color:var(--espuma)}
.bk__step:not([aria-selected="true"]) .bk__tx span{display:none}
.bk__step:focus-visible{outline:3px solid var(--atl);outline-offset:2px}
@media (hover:hover) and (pointer:fine){.bk__step:not([aria-selected="true"]):hover{border-color:var(--line-2);background:rgba(255,255,255,.5)}}
.bk__cap{display:none}
.bk__cta{justify-self:start}
/* Teléfono */
.bk__phone{position:relative;margin:0 auto;width:min(100%,360px);height:600px;display:flex;flex-direction:column;border-radius:38px;border:9px solid var(--abisal);background:#E9EFEC;overflow:hidden;box-shadow:0 50px 100px -40px rgba(7,31,46,.55)}
.bk__top{display:flex;align-items:center;gap:.7rem;padding:1rem 1rem .8rem;background:var(--abisal);color:var(--espuma)}
.bk__av{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--atl)}
.bk__av svg{width:24px;height:24px;color:var(--espuma)}
.bk__top b{display:block;font-size:.92rem;font-weight:700}
.bk__top span{font-size:.74rem;color:var(--on-dark-2)}
.bk__chat{position:relative;flex:1;display:flex;flex-direction:column;gap:.55rem;padding:1rem .8rem 1.2rem;overflow-y:auto;scrollbar-width:none;isolation:isolate}
.bk__chat::-webkit-scrollbar{display:none}
.bk__phone{isolation:isolate}
.isla--chat{position:absolute;left:-30%;top:16%;width:160%;height:auto;opacity:.07;color:var(--atl);z-index:0}
.bk__top,.bk__chat{position:relative;z-index:1}
.isla--chat .isla__dot{opacity:.6}
.bk__day{margin-top:auto;align-self:center;padding:.25rem .65rem;border-radius:8px;background:rgba(255,255,255,.8);font-size:.7rem;font-weight:640;color:var(--ink-3);margin-bottom:.3rem}
[data-s]{display:none}
[data-s].is-in{display:block;animation:bkin 320ms cubic-bezier(.23,1,.32,1) both}
@keyframes bkin{from{opacity:0;transform:translateY(10px) scale(.98)}}
.bm{position:relative;max-width:84%;padding:.55rem .75rem 1.25rem;border-radius:14px;font-size:.84rem;line-height:1.45;color:var(--ink);box-shadow:0 1px 1px rgba(7,31,46,.08)}
.bm--me{align-self:flex-end;background:#D3EEE9;border-bottom-right-radius:4px}
.bm--ag{align-self:flex-start;background:#fff;border-bottom-left-radius:4px}
.bm b{font-weight:700}
.bm__t{position:absolute;right:.6rem;bottom:.3rem;font-size:.66rem;color:var(--ink-3)}
.bm__ok{font-style:normal;letter-spacing:-.2em;color:#1C9E93;margin-left:.15rem}
.bm__pin{display:flex;align-items:center;gap:.35rem;margin-top:.5rem;padding:.4rem .55rem;border-radius:8px;background:var(--espuma);font-size:.76rem;font-weight:640;color:var(--abisal)}
.bm__pin svg{width:14px;height:14px;color:var(--senal)}
.bm--ag.is-new.is-in{animation-delay:900ms}
.bm--typing{align-self:flex-start;display:none;padding:.65rem .8rem;background:#fff;border-radius:14px}
.bm--typing.is-in{display:flex;gap:4px;animation:bktyping 900ms steps(1,end) forwards}
@keyframes bktyping{0%{opacity:1}99%{opacity:1}100%{opacity:0;position:absolute;pointer-events:none}}
.bm--typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:bkdot 1s ease-in-out infinite}
.bm--typing i:nth-child(2){animation-delay:.15s}.bm--typing i:nth-child(3){animation-delay:.3s}
@keyframes bkdot{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.bkc{padding:.9rem;border-radius:16px;background:#fff;box-shadow:0 12px 30px -18px rgba(7,31,46,.45)}
.bkc.is-in{display:grid;gap:.45rem}
.bkc__h{display:grid;gap:.1rem;padding-bottom:.45rem;border-bottom:1px solid var(--line)}
.bkc__h b{font-size:.95rem;font-weight:740}
.bkc__h span{font-size:.74rem;color:var(--ink-3)}
.bkc__r{display:flex;justify-content:space-between;font-size:.82rem}
.bkc__r span{color:var(--ink-3)}
.bkc__r{opacity:0;animation:bkrow 320ms cubic-bezier(.23,1,.32,1) forwards}
@keyframes bkrow{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.bkc.is-in .bkc__r:nth-of-type(2){animation-delay:.5s}.bkc.is-in .bkc__r:nth-of-type(3){animation-delay:1.1s}.bkc.is-in .bkc__r:nth-of-type(4){animation-delay:1.7s}
.bkc__send{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.35rem;min-height:38px;border-radius:99px;background:var(--senal);color:var(--abisal);font-size:.8rem;font-weight:700;opacity:0;animation:bkrow 320ms cubic-bezier(.23,1,.32,1) 2.3s forwards}
.bkc__send svg{width:14px;height:14px}
@media (max-width:899px){
  .bk__side{order:2}
  .bk__steps{grid-template-columns:repeat(4,1fr);gap:.35rem}
  .bk__step{display:block;padding:.65rem .2rem .8rem;border-radius:10px;text-align:center}
  .bk__n{margin:0 auto;width:30px;height:30px;font-size:.82rem}
  .bk__tx{display:none}
  .bk__cap{display:block;min-height:3.2em;font-size:.95rem;line-height:1.5;color:var(--ink-2)}
  .bk__cap b{color:var(--abisal);font-weight:700;display:block}
  .bk__cta{justify-self:stretch}
  .bk__phone{height:470px;width:min(100%,340px);border-width:7px;border-radius:30px}
}
@media (prefers-reduced-motion:reduce){[data-s].is-in,.bkc__r,.bkc__send{animation:none;opacity:1}.bm--ag.is-new.is-in{animation:none}.bm--typing.is-in{display:none}}
/* Cancelación + mar en vivo */
.tide2{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:1.6rem;margin-top:clamp(2.6rem,6vw,4.4rem);padding:clamp(1.4rem,4vw,2.8rem);border-radius:22px;background:var(--atl);color:var(--espuma)}
@media (min-width:900px){.tide2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:3rem}}
.tide2 video,
.tide2 .vimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.4}
.tide2::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(7,31,46,.95),rgba(10,53,80,.72))}
.tide2__txt p{margin-top:.8rem;color:var(--on-dark-2);max-width:52ch;line-height:1.6}
.tide2__now{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem;font-size:.78rem;font-weight:680;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2)}
.tide2 dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.tide2 dl div{padding:.9rem .9rem 1rem;border-radius:14px;background:rgba(243,246,244,.07);border:1px solid rgba(243,246,244,.14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.tide2 dt{font-size:.7rem;font-weight:660;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-2)}
.tide2 dt span{color:var(--bajio)}
.tide2 dd{margin-top:.3rem;font-size:clamp(1.15rem,3.6vw,1.9rem);font-weight:740;font-stretch:108%;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}
.tide2 small{display:block;margin-top:.7rem;font-size:.74rem;color:var(--on-dark-2)}

/* Menú móvil: icono de línea por apartado en lugar de números */
.menu nav a{justify-content:flex-start;align-items:center;gap:.95rem}
.menu nav .mi{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;border:1px solid var(--line-dark);color:var(--bajio);transition:background-color 200ms ease,border-color 200ms ease,color 200ms ease}
.menu nav .mi svg{width:20px;height:20px}
.menu nav .mt{flex:1;min-width:0}
.menu nav .mgo{flex:none;width:16px;height:16px;opacity:.45;transition:transform 220ms var(--ease),opacity 200ms ease}
.menu nav a[aria-current="page"] .mi{background:var(--bajio);border-color:var(--bajio);color:var(--abisal)}
.menu nav a[aria-current="page"] .mgo{opacity:.9}
.menu nav a:active .mi{transform:scale(.96)}
@media (hover:hover) and (pointer:fine){.menu nav a:hover .mi{border-color:var(--bajio)}.menu nav a:hover .mgo{opacity:.9;transform:translateX(3px)}}

/* Mar en vivo: iconos y filas legibles en móvil */
.tide2 dt{display:flex;align-items:center;gap:.45rem}
.tide2 dt svg{flex:none;width:18px;height:18px;color:var(--bajio)}
.tide2 dt em{font-style:normal;color:var(--bajio)}
@media (max-width:699px){
  .tide2{padding:1.4rem 1.1rem 1.2rem;border-radius:18px}
  .tide2__now{margin-bottom:.6rem;font-size:.72rem}
  .tide2 dl{grid-template-columns:1fr;gap:0;border-radius:14px;background:rgba(243,246,244,.07);border:1px solid rgba(243,246,244,.14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  .tide2 dl div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .tide2 dl div+div{border-top:1px solid rgba(243,246,244,.12)}
  .tide2 dt{font-size:.78rem;letter-spacing:.06em}
  .tide2 dt svg{width:20px;height:20px}
  .tide2 dd{margin:0;font-size:1.15rem;font-weight:720;font-stretch:104%}
  .tide2 small{margin-top:.6rem;font-size:.7rem}
}

/* Opiniones: título propio y menos aire sobre el widget */
.rev{padding-top:clamp(3.4rem,7vw,6rem);padding-bottom:clamp(1.2rem,4vw,4rem)}
.gwidget{margin-bottom:-2rem}
.rev__head{margin-bottom:clamp(.4rem,1.5vw,1rem)}

/* Reserva: profundidad suave tras el teléfono */
.reserva{overflow:hidden;background:radial-gradient(55% 45% at 82% 55%,rgba(46,196,182,.14),transparent 70%),radial-gradient(40% 35% at 10% 90%,rgba(232,96,122,.07),transparent 70%),var(--espuma)}



/* Grupos y profesionales: tarjetas con más presencia, sin exagerar */
@media (min-width:900px){.duo__grid{grid-template-columns:1.15fr 1fr;align-items:stretch}.duo__media{aspect-ratio:16/9}}
.duo__card{transition:transform 240ms var(--ease),box-shadow 300ms ease,border-color 300ms ease}
@media (hover:hover) and (pointer:fine){.duo__card:hover{transform:translateY(-3px)}}
.duo__card--dark{background:radial-gradient(80% 60% at 85% 100%,rgba(46,196,182,.14),transparent 70%),var(--abisal)}

/* Opiniones: curvas de la isla muy tenues en una esquina */
.rev{position:relative;isolation:isolate}
.isla--rev{right:-8%;top:-6%;width:min(44vw,600px);height:auto;color:var(--atl);opacity:.07;z-index:-1}
@media (max-width:699px){.isla--rev{right:-40%;top:-2%;width:110vw}}

/* Grupos y profesionales: panel Atlántico contenido, mismo lenguaje que la tarjeta de cancelación */
.duo__panel{position:relative;isolation:isolate;overflow:hidden;padding:clamp(1.4rem,4.5vw,4rem);border-radius:28px;color:var(--espuma);background:radial-gradient(55% 50% at 0% 0%,rgba(46,196,182,.18),transparent 70%),radial-gradient(45% 45% at 100% 100%,rgba(232,96,122,.12),transparent 70%),var(--atl);box-shadow:0 50px 100px -60px rgba(7,31,46,.7)}
.duo__panel .sec__head{margin-bottom:clamp(1.6rem,4vw,2.8rem)}
.duo__panel .h2{color:var(--espuma)}
.duo__panel .lead{color:var(--on-dark-2)}
.isla--duo{right:-10%;top:-18%;width:min(62vw,820px);height:auto;color:var(--espuma);opacity:.1;z-index:-1}
.duo__panel .duo__card{border-color:transparent}
.duo__panel .duo__card--dark{background:radial-gradient(80% 60% at 85% 100%,rgba(46,196,182,.16),transparent 70%),var(--abisal);border:1px solid rgba(243,246,244,.12)}
@media (hover:hover) and (pointer:fine){.duo__panel .duo__card:hover{box-shadow:0 34px 60px -30px rgba(0,0,0,.55)}}
@media (max-width:699px){.duo__panel{border-radius:22px;padding:1.4rem 1rem 1rem}.isla--duo{right:-45%;top:-6%;width:120vw}}
.duo__panel .duo__card:not(.duo__card--dark){color:var(--abisal)}

/* Franja de lugares: más contenida en escritorio (móvil sin cambios) */
@media (min-width:900px){
  .band-txt{padding-block:clamp(1.4rem,3vw,2.6rem)}
  .bt__row{font-size:clamp(3.4rem,5.6vw,6rem);letter-spacing:-.035em}
  .bt__row--o{-webkit-text-stroke-width:1.2px}
}

/* ==========================================================================
   La noche (/noche/): página propia, oscura, con neón rosa coral y bajío.
   Referencias: webs de clubes (line-up, ticker, pase, vídeo vertical a pantalla).
   ========================================================================== */
.pg-noche{--n-bg:#04070C;--n-bg2:#0A1019;--n-ink:#F3F6F4;--n-dim:rgba(243,246,244,.64);--n-line:rgba(243,246,244,.12);--neon:#E8607A;--neon-2:#2EC4B6;background:var(--n-bg);color:var(--n-ink)}
.pg-noche ::selection{background:var(--neon);color:#04070C}
.pg-noche main{position:relative;isolation:isolate}
/* grano de película sobre toda la página */
.pg-noche main::after{content:"";position:fixed;inset:-50%;z-index:70;pointer-events:none;opacity:.07;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='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}
.pg-noche .hdr.is-solid{background:rgba(4,7,12,.82);color:var(--n-ink);box-shadow:0 1px 0 var(--n-line)}
.pg-noche .hdr.is-solid .lang__btn{border-color:rgba(243,246,244,.4)}
.pg-noche .dock{background:rgba(4,7,12,.9);color:var(--n-ink);box-shadow:0 -1px 0 var(--n-line)}
.pg-noche .dock__info span{color:var(--n-dim)}
.pg-noche .scrollbar{background:linear-gradient(90deg,var(--neon-2),var(--neon))}
.pg-noche .foot{background:#070B12;border-top:1px solid var(--n-line)}
.pg-noche .foot .isla{opacity:.5}

.btn--ghost-dark{border-color:rgba(243,246,244,.38);color:var(--n-ink,#F3F6F4);background:rgba(4,7,12,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn--ghost-dark::before{background:#F3F6F4}
@media (hover:hover) and (pointer:fine){.btn--ghost-dark:hover{color:#04070C}}
.pg-noche .btn--signal{box-shadow:0 0 0 1px rgba(232,96,122,.5),0 10px 40px -8px rgba(232,96,122,.65)}

/* Tipos de la página */
.nlabel{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;font-weight:680;letter-spacing:.16em;text-transform:uppercase;color:var(--neon)}
.nlabel::before{content:"";width:18px;height:1px;background:currentColor}
.nh2{margin-top:.9rem;font-size:clamp(1.75rem,7.4vw,4.4rem);font-weight:820;font-stretch:118%;line-height:.98;letter-spacing:-.03em;text-wrap:balance}
.nlead{margin-top:1rem;max-width:52ch;font-size:clamp(1rem,2.4vw,1.2rem);line-height:1.55;color:var(--n-dim);text-wrap:pretty}
.nsec{position:relative;padding-block:clamp(4.5rem,11vw,9rem)}
.nhead{margin-bottom:clamp(2rem,5vw,3.4rem)}

/* ---- Hero: tres vídeos verticales en escritorio, uno a pantalla en móvil */
.nh{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--n-bg)}
.nh__stage{position:absolute;inset:0;display:grid;grid-template-columns:1fr;gap:6px}
.nh__v{position:relative;overflow:hidden}
.nh__v video,
.nh__v .vimg{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;filter:saturate(1.15) contrast(1.05)}
.nh__v--l,.nh__v--r{display:none}
@media (min-width:900px){.nh__stage{grid-template-columns:1fr 1.15fr 1fr}.nh__v--l,.nh__v--r{display:block}.nh__v--l video,.nh__v--r video,.nh__v--l .vimg,.nh__v--r .vimg{filter:saturate(1.1) brightness(.62)}}
.nh__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,7,12,.55) 0%,rgba(4,7,12,0) 26%,rgba(4,7,12,.2) 50%,rgba(4,7,12,.92) 82%,#04070C 100%),radial-gradient(120% 70% at 50% 110%,rgba(232,96,122,.28),transparent 60%)}
.nh__beams{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:.55}
.nh__beams i{position:absolute;top:-20%;left:50%;width:2px;height:140%;transform-origin:50% 0;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(232,96,122,.9) 30%,rgba(255,255,255,0) 85%);filter:blur(1px);box-shadow:0 0 22px 6px rgba(232,96,122,.25)}
.nh__beams i:nth-child(1){animation:beam 9s ease-in-out infinite}
.nh__beams i:nth-child(2){background:linear-gradient(180deg,rgba(255,255,255,0),rgba(46,196,182,.9) 30%,rgba(255,255,255,0) 85%);box-shadow:0 0 22px 6px rgba(46,196,182,.22);animation:beam 11s ease-in-out -3s infinite reverse}
.nh__beams i:nth-child(3){animation:beam 13s ease-in-out -6s infinite}
@keyframes beam{0%,100%{transform:rotate(-28deg)}50%{transform:rotate(28deg)}}
.nh__in{position:relative;z-index:2;padding-top:calc(var(--hdr) + 2rem);padding-bottom:clamp(5.5rem,12vh,8rem)}
.nh .crumbs{color:var(--n-dim)}
.nh .crumbs a{text-decoration-color:rgba(243,246,244,.3)}
.nh__kick{display:inline-flex;align-items:center;gap:.6rem;color:var(--n-ink);font-size:.72rem;letter-spacing:.14em}
.nh__live{width:8px;height:8px;border-radius:50%;background:var(--neon);box-shadow:0 0 0 0 rgba(232,96,122,.7);animation:livep 2s infinite}
@keyframes livep{0%{box-shadow:0 0 0 0 rgba(232,96,122,.7)}70%{box-shadow:0 0 0 10px rgba(232,96,122,0)}100%{box-shadow:0 0 0 0 rgba(232,96,122,0)}}
.nh__t{margin-top:.8rem;display:grid}
.nh__big{display:block;font-size:clamp(3.3rem,15.5vw,15.5rem);font-weight:900;font-stretch:125%;line-height:.82;letter-spacing:-.045em;text-transform:uppercase;color:#FFF5F7;text-shadow:0 0 6px rgba(255,255,255,.35),0 0 24px rgba(232,96,122,.85),0 0 70px rgba(232,96,122,.55),0 0 140px rgba(232,96,122,.35)}
.nh__sub{display:block;margin-top:.5rem;font-size:clamp(1.35rem,5.4vw,3rem);font-weight:740;font-stretch:115%;letter-spacing:-.02em;line-height:1.05}
.nh__lead{margin-top:1.1rem;max-width:44ch;font-size:clamp(1rem,2.3vw,1.2rem);line-height:1.5;color:rgba(243,246,244,.82)}
.nh__cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.nh__scroll{position:absolute;z-index:2;left:50%;bottom:1.4rem;width:26px;height:42px;margin-left:-13px;border:1.5px solid rgba(243,246,244,.5);border-radius:14px}
.nh__scroll span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:var(--n-ink);animation:wheel 1.8s var(--ease) infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}
@media (max-width:899px){.nh__scroll{display:none}.nh__cta .btn{flex:1 1 100%}}
/* parpadeo de neón al entrar (una sola vez) */
.js-motion .nh__big{animation:neon 1.6s linear .25s both}
@keyframes neon{0%{opacity:0}8%{opacity:.9}10%{opacity:.1}16%{opacity:1}18%{opacity:.25}24%{opacity:1}60%{opacity:.85}62%{opacity:1}100%{opacity:1}}

/* ---- Ticker */
.ntick-w{position:relative;z-index:2;overflow:hidden;padding-block:2.2rem;margin-block:-2.2rem}
.ntick{position:relative;z-index:2;overflow:hidden;padding-block:1.05rem;background:var(--neon);color:#04070C;transform:rotate(-1.6deg) scale(1.04);margin-block:-1rem;box-shadow:0 20px 60px -20px rgba(232,96,122,.6)}
.ntick__track{display:flex;width:max-content;align-items:center;gap:1.4rem;font-size:clamp(1.05rem,3.4vw,1.7rem);font-weight:860;font-stretch:122%;text-transform:uppercase;letter-spacing:-.01em;white-space:nowrap;will-change:transform}
.ntick__track i{font-style:normal;font-size:.7em;opacity:.7}
.is-static .ntick__track,.ntick__track.is-css{animation:tick 26s linear infinite}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---- Ruta de 3 pubs */
.nruta{background:radial-gradient(70% 60% at 85% 30%,rgba(232,96,122,.16),transparent 70%),radial-gradient(50% 50% at 0% 100%,rgba(46,196,182,.1),transparent 70%)}
.nruta__grid{display:grid;gap:3rem}
.nruta__pass{width:100%;max-width:580px}
@media (min-width:1200px){.nruta__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:4.5rem;align-items:start}.nruta__pass{position:sticky;top:calc(var(--hdr) + 3rem)}.nruta .nh2{font-size:clamp(2.6rem,4.4vw,4.2rem)}}
.nrules{margin-top:2rem;display:grid;border-top:1px solid var(--n-line)}
.nrule{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 0;border-bottom:1px solid var(--n-line)}
.nrule__i{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(243,246,244,.06);border:1px solid var(--n-line);color:var(--neon-2)}
.nrule__i svg{width:22px;height:22px}
.nrule b{display:block;font-weight:720;font-stretch:108%;font-size:1.06rem;line-height:1.25}
.nrule div>span{display:block;margin-top:.2rem;color:var(--n-dim);font-size:.95rem}
.nrule--key .nrule__i{background:rgba(232,96,122,.14);border-color:rgba(232,96,122,.5);color:var(--neon);box-shadow:0 0 24px -4px rgba(232,96,122,.6)}
.nrule--key b{color:#FFD9E0}
.nrule--key b::before{content:"Importante";color:var(--neon);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:760;display:block;margin-bottom:.2rem}
.nfree{display:inline-flex;align-items:center;gap:.7rem;margin-top:1.8rem;padding:.5rem .95rem .5rem .5rem;border-radius:99px;background:rgba(46,196,182,.1);border:1px solid rgba(46,196,182,.4);font-weight:640;font-size:.95rem}
.nfree span{padding:.3rem .6rem;border-radius:99px;background:var(--neon-2);color:#04070C;font-size:.68rem;font-weight:760;letter-spacing:.1em;text-transform:uppercase}

/* el pase */
.pass{position:relative;display:grid;grid-template-columns:1fr;border-radius:22px;overflow:hidden;color:var(--n-ink);background:linear-gradient(150deg,#1A0D17 0%,#0B0F1A 55%,#071A1D 100%);box-shadow:0 0 0 1px rgba(232,96,122,.45),0 0 60px -10px rgba(232,96,122,.55),0 40px 80px -30px rgba(0,0,0,.9);transform-style:preserve-3d;will-change:transform}
@media (min-width:600px){.pass{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}}
@media (min-width:1200px){.pass__price b{font-size:clamp(5.5rem,7.5vw,9rem)}.pass__ring{width:54px;height:54px}}
.pass::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.025) 0 2px,transparent 2px 9px);pointer-events:none}
.pass__main{position:relative;padding:1.6rem 1.5rem 1.4rem}
.pass__k{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--neon)}
.pass__price{display:flex;align-items:flex-start;gap:.2rem;margin-top:.6rem;line-height:.8}
.pass__price b{font-size:clamp(6rem,24vw,9.5rem);font-weight:900;font-stretch:125%;letter-spacing:-.06em;color:#FFF5F7;text-shadow:0 0 30px rgba(232,96,122,.7)}
.pass__price span{font-size:2.4rem;font-weight:800;margin-top:.5rem;color:var(--neon)}
.pass__pp{margin-top:.6rem;font-size:.9rem;color:var(--n-dim)}
.pass__meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.1rem}
.pass__meta span{padding:.3rem .65rem;border:1px solid var(--n-line);border-radius:99px;font-size:.76rem;font-weight:600}
.pass__stub{position:relative;padding:1.4rem 1.5rem 1.6rem;border-top:2px dashed rgba(243,246,244,.22);display:grid;align-content:center;gap:1.2rem}
@media (min-width:600px){.pass__stub{border-top:0;border-left:2px dashed rgba(243,246,244,.22)}
  .pass__stub::before,.pass__stub::after{content:"";position:absolute;left:-13px;width:24px;height:24px;border-radius:50%;background:var(--n-bg)}
  .pass__stub::before{top:-12px}.pass__stub::after{bottom:-12px}}
.pass__stamps{display:flex;justify-content:space-between;gap:.6rem}
.pass__stamp{display:grid;justify-items:center;gap:.45rem;flex:1}
.pass__stamp small{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--n-dim)}
.pass__ring{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;border:1.5px dashed rgba(243,246,244,.3);color:rgba(243,246,244,.3);transition:border-color .4s ease,color .4s ease,background-color .4s ease,box-shadow .4s ease}
.pass__ring svg{width:28px;height:28px}
.pass__stamp.is-on .pass__ring{border:2px solid var(--neon);border-style:solid;color:#FFF5F7;background:rgba(232,96,122,.18);box-shadow:0 0 24px rgba(232,96,122,.6),inset 0 0 12px rgba(232,96,122,.4)}
.pass__stamp.is-on small{color:var(--n-ink)}
.pass__rule{font-size:.85rem;line-height:1.35;color:var(--n-dim);text-align:center}
.pass__rule b{color:var(--neon);font-size:1.15rem;font-weight:800}
.pass__glare{position:absolute;inset:0;pointer-events:none;background:radial-gradient(40% 50% at var(--gx,30%) var(--gy,0%),rgba(255,255,255,.14),transparent 70%);mix-blend-mode:screen}
.nruta__btn{margin-top:1.2rem}
@media (min-width:1200px){.nruta__btn{display:none}}

/* ---- Usted elige cuándo */
.nwhen{border-top:1px solid var(--n-line);background:linear-gradient(180deg,var(--n-bg),var(--n-bg2))}
.nwhen__grid{display:grid;gap:2.6rem}
@media (min-width:1000px){.nwhen__grid{grid-template-columns:.9fr 1.1fr;gap:5rem;align-items:center}}
.wk{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.wk__d{display:grid;justify-items:center;gap:.5rem;padding:.9rem .2rem;border-radius:12px;background:rgba(243,246,244,.04);border:1px solid var(--n-line);transition:background-color .5s ease,border-color .5s ease,box-shadow .5s ease}
.wk__d abbr{text-decoration:none;font-weight:780;font-stretch:115%;font-size:1.05rem}
.wk__d span{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--n-dim);white-space:nowrap}
.wk__d.is-pub.is-on{background:rgba(232,96,122,.16);border-color:var(--neon);box-shadow:0 0 26px -6px rgba(232,96,122,.7)}
.wk__d.is-pub.is-on span{color:var(--neon)}
.is-static .wk__d.is-pub{background:rgba(232,96,122,.16);border-color:var(--neon)}
.wk__note{margin-top:.7rem;font-size:.8rem;color:var(--n-dim)}
.clk{margin-top:2.2rem;padding:1.3rem 1.2rem 1.1rem;border:1px solid var(--n-line);border-radius:16px;background:rgba(243,246,244,.03)}
.clk__bar{position:relative;height:8px;border-radius:9px;background:rgba(243,246,244,.08);overflow:visible}
.clk__fill{position:absolute;left:0;top:0;bottom:0;width:75%;border-radius:9px;background:linear-gradient(90deg,var(--neon-2),var(--neon));box-shadow:0 0 18px rgba(232,96,122,.6);transform-origin:left}
.clk__cut{position:absolute;left:75%;top:-8px;bottom:-8px;width:2px;margin-left:-1px;background:#FFF5F7;box-shadow:0 0 12px var(--neon)}
.clk__h{position:relative;height:1.1rem;margin-top:.7rem;font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--n-dim)}
.clk__h li{position:absolute;top:0;transform:translateX(-50%)}
.clk__h li:nth-child(1){left:0;transform:none}.clk__h li:nth-child(2){left:25%}.clk__h li:nth-child(3){left:50%}.clk__h li:nth-child(4){left:75%}.clk__h li:nth-child(5){left:auto;right:0;transform:none}
.clk__h li.is-cut{color:var(--n-ink);font-weight:760}
.clk__lbl{margin-top:.9rem;font-size:.95rem;color:var(--n-dim)}
.clk__lbl b{color:var(--n-ink)}

/* ---- Las salas */
.nsalas{background:radial-gradient(60% 40% at 50% 0%,rgba(46,196,182,.08),transparent 70%)}
.salas{display:grid;gap:14px}
@media (min-width:700px){.salas{grid-template-columns:1fr 1fr}}
@media (min-width:1200px){.salas{grid-template-columns:repeat(4,1fr)}}
.sala__a{position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:5/6;padding:1.2rem;border-radius:18px;overflow:hidden;isolation:isolate;background:#070B12;border:1px solid var(--n-line);transition:border-color .4s ease,box-shadow .4s ease}
@media (min-width:700px){.sala__a{aspect-ratio:4/5}}
@media (min-width:1200px){.sala__a{aspect-ratio:3/5}}
.sala__bg{position:absolute;inset:0;z-index:-2}
.sala__bg video,
.sala__bg .vimg{width:100%;height:100%;object-fit:cover;opacity:.55;filter:saturate(1.2);transition:opacity .6s ease,scale .8s var(--ease)}
.sala__a::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,7,12,.75) 0%,rgba(4,7,12,.15) 40%,rgba(4,7,12,.35) 60%,rgba(4,7,12,.95) 100%),radial-gradient(60% 45% at var(--mx,50%) var(--my,30%),color-mix(in srgb,var(--glow) 35%,transparent),transparent 70%)}
.sala__bg--glow i{position:absolute;width:90%;aspect-ratio:1;border-radius:50%;filter:blur(50px);opacity:.5;background:var(--glow)}
.sala__bg--glow i:nth-child(1){left:-30%;top:20%;animation:drift 12s ease-in-out infinite alternate}
.sala__bg--glow i:nth-child(2){right:-35%;bottom:-10%;opacity:.3;background:#E8607A;animation:drift 15s ease-in-out -5s infinite alternate-reverse}
@keyframes drift{to{transform:translate(18%,-14%) scale(1.15)}}
.sala__logo{width:min(82%,300px);height:auto;margin:1.2rem auto 0;filter:drop-shadow(0 0 18px color-mix(in srgb,var(--glow) 55%,transparent));transition:scale .6s var(--ease)}
.sala__ft{display:flex;flex-direction:column;gap:.9rem}
.sala__ft b{display:block;font-size:1.35rem;font-weight:800;font-stretch:115%;letter-spacing:-.01em}
.sala__ft div span{display:block;margin-top:.15rem;font-size:.85rem;color:var(--n-dim)}
.sala__go{display:inline-flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:46px;padding:.6rem 1rem;border-radius:99px;background:rgba(243,246,244,.08);border:1px solid rgba(243,246,244,.2);font-weight:660;font-size:.92rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .35s ease,color .35s ease,border-color .35s ease}
.sala__go svg{width:16px;height:16px;transition:translate .35s var(--ease)}
@media (hover:hover) and (pointer:fine){
  .sala__a:hover{border-color:color-mix(in srgb,var(--glow) 70%,transparent);box-shadow:0 0 50px -12px var(--glow)}
  .sala__a:hover .sala__bg video,
  .sala__a:hover .sala__bg .vimg{opacity:.85;scale:1.06}
  .sala__a:hover .sala__logo{scale:1.05}
  .sala__a:hover .sala__go{background:var(--neon);border-color:var(--neon);color:#04070C}
  .sala__a:hover .sala__go svg{translate:4px 0}
}
.sala__a:active{scale:.985}

/* Salas en móvil: carrusel deslizable con la siguiente asomando */
.salas__nav{display:none}
@media (max-width:699px){
  .salas{grid-auto-flow:column;grid-auto-columns:84%;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--g)) calc(-1 * var(--gr));padding-inline:var(--g) var(--gr);scroll-padding-inline:var(--g);scrollbar-width:none}
  .salas::-webkit-scrollbar{display:none}
  .sala{scroll-snap-align:start}
  .salas__nav{display:flex;align-items:center;gap:1rem;margin-top:1.1rem}
  .salas__count{font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--n-dim);min-width:3.2em}
  .salas__count b{color:var(--n-ink)}
  .salas__dots{display:flex;gap:6px}
  .salas__dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(243,246,244,.25);transition:width .3s var(--ease),background-color .3s ease}
  .salas__dots button.is-on{width:22px;background:var(--neon)}
  .salas__hint{margin-left:auto;font-size:.78rem;color:var(--n-dim)}
}
/* ---- Ambiente real: dos reels */
.reels{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,380px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--g)) calc(-1 * var(--gr));padding-inline:var(--g) var(--gr);scrollbar-width:none}
.reels::-webkit-scrollbar{display:none}
@media (min-width:900px){.reels{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,400px));justify-content:center;gap:28px;overflow:visible;margin:0;padding:0}.reel:nth-child(2){margin-top:5rem}}
.reel{position:relative;aspect-ratio:9/16;border-radius:22px;overflow:hidden;scroll-snap-align:center;background:#070B12;box-shadow:0 0 0 1px var(--n-line),0 40px 80px -30px rgba(0,0,0,.9)}
.reel video,
.reel .vimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reel figcaption{position:absolute;left:0;right:0;bottom:0;padding:3rem 1.1rem 1.1rem;background:linear-gradient(0deg,rgba(4,7,12,.9),transparent);display:grid;gap:.25rem}
.reel figcaption b{font-weight:760;font-stretch:112%}
.reel__live{display:inline-flex;align-items:center;gap:.45rem;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--neon)}
.reel__live i{width:7px;height:7px;border-radius:50%;background:var(--neon);animation:livep 2s infinite}

/* ---- Antes de la noche y regalos */
.nmore__grid{display:grid;gap:14px}
@media (min-width:900px){.nmore__grid{grid-template-columns:1.3fr 1fr}}
.nmore__card{position:relative;display:grid;border-radius:20px;overflow:hidden;background:var(--n-bg2);border:1px solid var(--n-line)}
@media (min-width:600px){a.nmore__card{grid-template-columns:.8fr 1fr}}
.nmore__media{position:relative;min-height:280px}
.nmore__media video,
.nmore__media .vimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nmore__txt{padding:1.5rem;display:flex;flex-direction:column;gap:.7rem;justify-content:center}
.nmore__txt h3{font-size:clamp(1.4rem,3.4vw,2rem);font-weight:800;font-stretch:115%;letter-spacing:-.02em;line-height:1.05}
.nmore__txt p:not(.nlabel){color:var(--n-dim)}
.nmore__go{display:inline-flex;align-items:center;gap:.5rem;margin-top:.4rem;font-weight:700;color:var(--neon)}
.nmore__go svg,.nmore__links svg{width:16px;height:16px}
.nmore__card--gift{background:radial-gradient(90% 80% at 100% 0%,rgba(232,96,122,.28),transparent 60%),var(--n-bg2);border-color:rgba(232,96,122,.4)}
.nmore__links{display:grid;gap:.2rem;margin-top:.4rem}
.nmore__links a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:48px;border-bottom:1px solid var(--n-line);font-weight:640}
@media (hover:hover) and (pointer:fine){a.nmore__card:hover .nmore__go svg,.nmore__links a:hover svg{translate:4px 0}.nmore__links a:hover{color:var(--neon)}}
.nmore__go svg,.nmore__links svg{transition:translate .3s var(--ease)}

/* ---- Cómo se reserva */
.nhow{border-top:1px solid var(--n-line)}
.nsteps{display:grid;gap:12px;counter-reset:s}
@media (min-width:900px){.nsteps{grid-template-columns:repeat(3,1fr)}}
.nsteps li{position:relative;display:grid;gap:.4rem;padding:1.4rem 1.3rem 1.5rem;border-radius:16px;background:rgba(243,246,244,.04);border:1px solid var(--n-line)}
.nstep__n{font-size:2.6rem;font-weight:900;font-stretch:125%;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--neon);margin-bottom:.5rem}
.nsteps b{font-size:1.1rem;font-weight:740}
.nsteps li>span:last-child{color:var(--n-dim)}

/* ---- Preguntas */
.nfaq__grid{display:grid;gap:1rem}
@media (min-width:1000px){.nfaq__grid{grid-template-columns:.8fr 1.2fr;gap:5rem}}
.nfaq .faq{grid-template-columns:1fr;gap:0}
.pg-noche .qa{border-color:var(--n-line)}
.pg-noche .qa__a{color:var(--n-dim)}
.pg-noche .qa summary svg{color:var(--neon)}


/* ---- Grupos: acceso a la noche */
.gnight__card{display:grid;border-radius:20px;overflow:hidden;background:#04070C;color:var(--espuma)}
@media (min-width:800px){.gnight__card{grid-template-columns:.8fr 1.2fr}}
.gnight__media{position:relative;min-height:340px}
.gnight__media video,
.gnight__media .vimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gnight__txt{padding:clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;gap:1rem;justify-content:center;background:radial-gradient(70% 70% at 100% 0%,rgba(232,96,122,.25),transparent 65%)}
.gnight__txt .label{color:var(--senal)}
.gnight__txt p:not(.label){color:var(--on-dark-2);max-width:48ch}
.gnight__txt .btn{align-self:flex-start;margin-top:.4rem}
@media (hover:hover) and (pointer:fine){.gnight__card:hover .btn--signal{color:var(--espuma)}.gnight__card:hover .btn::before{transform:translateY(0)}}

@media (prefers-reduced-motion:reduce){.nh__beams,.nh__live,.reel__live i,.sala__bg--glow i,.nh__scroll span{animation:none}.ntick__track{animation-duration:80s}}

/* ---- La noche: ventana de reserva (hoja inferior en móvil, ventana centrada en escritorio) */
.bs{position:fixed;inset:0;z-index:130;display:flex;align-items:flex-end;justify-content:center;color-scheme:dark;color:var(--n-ink,#F3F6F4)}
.bs[hidden]{display:none}
.bs__scrim{position:absolute;inset:0;background:rgba(2,4,8,.66);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity 280ms ease}
.bs.is-open .bs__scrim{opacity:1}
.bs__panel{position:relative;display:flex;flex-direction:column;width:100%;max-height:92svh;border-radius:22px 22px 0 0;background:linear-gradient(180deg,#0E1420,#070B12);box-shadow:0 0 0 1px rgba(243,246,244,.1),0 -30px 80px -20px rgba(232,96,122,.35);transform:translateY(100%);transition:transform 420ms var(--ease-drawer,cubic-bezier(.32,.72,0,1))}
.bs.is-open .bs__panel{transform:translateY(0)}
@media (min-width:900px){
  .bs{align-items:center;padding:2rem}
  .bs__panel{width:min(560px,100%);max-height:min(88vh,860px);border-radius:22px;transform:translateY(24px) scale(.97);opacity:0;transition:transform 260ms var(--ease),opacity 220ms ease}
  .bs.is-open .bs__panel{transform:none;opacity:1}
  .bs__grab{display:none}
}
.bs__grab{display:flex;justify-content:center;padding:.6rem 0 .1rem;touch-action:none}
.bs__grab span{width:40px;height:4px;border-radius:4px;background:rgba(243,246,244,.28)}
.bs__hd{display:flex;align-items:center;gap:.9rem;padding:.6rem 1.2rem 1rem;border-bottom:1px solid rgba(243,246,244,.1);touch-action:none}
@media (min-width:900px){.bs__hd{padding:1.3rem 1.5rem 1.1rem}}
.bs__logo{flex:none;display:grid;place-items:center;width:64px;height:48px;border-radius:12px;background:rgba(243,246,244,.05);border:1px solid rgba(243,246,244,.1)}
.bs__logo img{width:56px;height:auto}
.bs__ttl{flex:1;min-width:0}
.bs__ttl .nlabel{font-size:.66rem}
.bs__ttl h2{margin-top:.2rem;font-size:1.35rem;font-weight:800;font-stretch:115%;letter-spacing:-.01em;line-height:1.1}
.bs__sub{font-size:.85rem;color:var(--n-dim,rgba(243,246,244,.64))}
.bs__x{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(243,246,244,.08);color:inherit;cursor:pointer}
.bs__x svg{width:16px;height:16px}
.bs__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.4rem 1.2rem 1rem;display:grid;gap:.3rem}
@media (min-width:900px){.bs__body{padding:.6rem 1.5rem 1.2rem}}
.bs__f{border:0;margin:0;padding:.9rem 0;min-width:0}
.bs__f+.bs__f{border-top:1px solid rgba(243,246,244,.07)}
.bs__f legend{float:left;width:100%;padding:0;margin-bottom:.7rem;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--n-dim,rgba(243,246,244,.64))}
.bs__f legend small,.bs__name small{font-weight:500;letter-spacing:0;text-transform:none;opacity:.75}
.bs__f>:not(legend){clear:both}
[data-mode="ruta"] .bs__logo{display:none}
.bchips--salas .bchip>span{width:100%;height:100%}
.bs__f.is-err legend{color:var(--neon,#E8607A)}
.bs__f.is-err legend::after{content:" · Elija una opción";text-transform:none;letter-spacing:0;font-weight:600}
[data-mode="ruta"] [data-only="sala"],[data-mode="sala"] [data-only="ruta"]{display:none}
.bchips{display:flex;flex-wrap:wrap;gap:.45rem}
.bchips--days{flex-wrap:nowrap;overflow-x:auto;margin-inline:-1.2rem;padding-inline:1.2rem;scrollbar-width:none;scroll-snap-type:x proximity}
.bchips--days::-webkit-scrollbar{display:none}
@media (min-width:900px){.bchips--days{margin-inline:-1.5rem;padding-inline:1.5rem}}
.bchip{position:relative;flex:none;scroll-snap-align:start}
.bchip input{position:absolute;opacity:0;pointer-events:none}
.bchip>span{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.5rem .95rem;border-radius:12px;border:1px solid rgba(243,246,244,.16);background:rgba(243,246,244,.04);font-size:.92rem;font-weight:620;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,color .2s ease}
.bchip input:checked+span{border-color:var(--neon,#E8607A);background:rgba(232,96,122,.16);color:#FFF5F7;box-shadow:0 0 18px -6px rgba(232,96,122,.8)}
.bchip input:focus-visible+span{outline:2px solid var(--neon,#E8607A);outline-offset:2px}
.bchip:active>span{scale:.97}
.bchips--salas{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.bchip--sala>span{flex-direction:column;gap:.3rem;min-height:78px;padding:.55rem .5rem;font-size:.82rem}
.bchip--sala img{width:72px;height:auto;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--glow) 45%,transparent))}
.bchip--sala input:checked+span{border-color:var(--glow);background:color-mix(in srgb,var(--glow) 14%,transparent);box-shadow:0 0 22px -8px var(--glow)}
.bchip--day>span{flex-direction:column;gap:0;min-width:64px;padding:.45rem .7rem;line-height:1.15}
.bchip--day small{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--n-dim,rgba(243,246,244,.64))}
.bchip--day b{font-size:1.05rem;font-weight:780}
.bchip--day input:checked+span small{color:#FFD9E0}
.bs__date{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.6rem;min-height:48px;padding:.3rem .4rem .3rem .9rem;border-radius:12px;border:1px solid rgba(243,246,244,.12);background:rgba(243,246,244,.03);font-size:.9rem;color:var(--n-dim,rgba(243,246,244,.64))}
.bs__date input{min-height:40px;padding:.3rem .5rem;border:0;border-radius:8px;background:rgba(243,246,244,.08);color:var(--n-ink,#F3F6F4);font:inherit;font-size:16px}
.bs__date.is-on{border-color:var(--neon,#E8607A)}
.bs__two{display:grid;gap:.5rem}
.bs__two .bs__date{margin-top:0}
.step{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem;border-radius:14px;border:1px solid rgba(243,246,244,.14);background:rgba(243,246,244,.04)}
.step button{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:10px;background:rgba(243,246,244,.08);color:inherit;font-size:1.4rem;line-height:1;cursor:pointer}
.step button:active{scale:.94}
.step button:disabled{opacity:.35;cursor:default}
.step output{min-width:3.2ch;text-align:center;font-size:1.4rem;font-weight:800;font-variant-numeric:tabular-nums}
.tog{display:flex;align-items:flex-start;gap:.8rem;padding:.6rem 0;cursor:pointer}
.tog input{position:absolute;opacity:0;pointer-events:none}
.tog__sw{position:relative;flex:none;width:46px;height:28px;margin-top:.1rem;border-radius:99px;background:rgba(243,246,244,.16);transition:background-color .2s ease}
.tog__sw::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#F3F6F4;transition:transform .22s var(--ease)}
.tog input:checked+.tog__sw{background:var(--neon,#E8607A)}
.tog input:checked+.tog__sw::after{transform:translateX(18px)}
.tog input:focus-visible+.tog__sw{outline:2px solid var(--neon,#E8607A);outline-offset:2px}
.tog b{display:block;font-weight:680;font-size:.98rem}
.tog small{display:block;margin-top:.1rem;font-size:.84rem;color:var(--n-dim,rgba(243,246,244,.64))}
.tog[hidden]{display:none}
.bs__name{display:grid;gap:.45rem;padding:.9rem 0 .2rem;border-top:1px solid rgba(243,246,244,.07);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--n-dim,rgba(243,246,244,.64))}
.bs__name input{min-height:48px;padding:.6rem .9rem;border-radius:12px;border:1px solid rgba(243,246,244,.14);background:rgba(243,246,244,.04);color:var(--n-ink,#F3F6F4);font:inherit;font-size:16px;letter-spacing:0;text-transform:none}
.bs__name input:focus{outline:none;border-color:var(--neon,#E8607A)}
.bs__ft{padding:.9rem 1.2rem calc(.9rem + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(243,246,244,.1);background:rgba(7,11,18,.96);display:grid;gap:.7rem}
@media (min-width:900px){.bs__ft{padding:1rem 1.5rem 1.2rem;border-radius:0 0 22px 22px}}
.bs__sum{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-size:.86rem;color:var(--n-dim,rgba(243,246,244,.64))}
.bs__sum b{font-size:1.15rem;font-weight:800;color:var(--n-ink,#F3F6F4);white-space:nowrap}
.bs__sum span{text-align:right;min-width:0}
.bs__note{font-size:.76rem;line-height:1.4;color:var(--n-dim,rgba(243,246,244,.64))}
html.bs-lock,html.bs-lock body{overflow:hidden}
@media (prefers-reduced-motion:reduce){.bs__panel,.bs__scrim{transition-duration:1ms}}

/* ---- La noche: «Por WhatsApp, en tres pasos» con un móvil y una conversación real (WhatsApp en modo oscuro) */
.wad{display:grid;gap:2rem;grid-template-areas:"head" "stage" "steps"}
.wad__side{display:contents}
.wad .nhead{grid-area:head;margin-bottom:0}
.wad__steps{grid-area:steps;display:grid;gap:10px}
.wad__stage{grid-area:stage;display:grid;justify-items:center;gap:.9rem;perspective:1200px}
@media (min-width:1000px){
  .wad{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:none;gap:5rem;align-items:center}
  .wad__side{display:grid;gap:2.4rem}
  .wad .nhead,.wad__steps,.wad__stage{grid-area:auto}
}
.wad__step{position:relative;display:flex;gap:1rem;align-items:flex-start;width:100%;padding:1.1rem 1.2rem 1.25rem;border-radius:16px;border:1px solid var(--n-line);background:rgba(243,246,244,.03);color:inherit;font:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:border-color .35s ease,background-color .35s ease}
.wad__step .nstep__n{margin:0;font-size:2rem;flex:none;line-height:1;opacity:.45;transition:opacity .35s ease}
.wad__txt{display:grid;gap:.25rem}
.wad__txt b{font-size:1.05rem;font-weight:740}
.wad__txt span{color:var(--n-dim);font-size:.94rem}
.wad__bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--neon-2),var(--neon));transform:scaleX(0);transform-origin:left}
.wad__step[aria-pressed="true"]{border-color:rgba(232,96,122,.55);background:rgba(232,96,122,.08)}
.wad__step[aria-pressed="true"] .nstep__n{opacity:1}
.wad__step.is-done .nstep__n{opacity:.8}
.wad__step.is-run .wad__bar{animation:wadbar var(--dur,4s) linear forwards}
@keyframes wadbar{to{transform:scaleX(1)}}
.wad__note{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--n-dim)}
@media (hover:hover) and (pointer:fine){.wad__step:hover{border-color:rgba(243,246,244,.3)}}

/* el móvil */
.wa{position:relative;width:min(290px,80vw);margin:0;padding:9px;border-radius:46px;background:linear-gradient(145deg,#2a2f38,#11151b 60%);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 0 2px #05070a,0 40px 80px -30px rgba(0,0,0,.95),0 0 90px -30px rgba(232,96,122,.45);transform-style:preserve-3d;will-change:transform}
.wa__btn{position:absolute;width:3px;border-radius:2px;background:#2a2f38}
.wa__btn--a{left:-2px;top:110px;height:28px}.wa__btn--b{left:-2px;top:150px;height:46px}.wa__btn--c{right:-2px;top:140px;height:62px}
.wa__screen{position:relative;display:flex;flex-direction:column;height:min(590px,128vw);border-radius:38px;overflow:hidden;background:#0b141a;color:#e9edef;font-size:12.5px;line-height:1.35;isolation:isolate}
.wa__island{position:absolute;left:50%;top:9px;width:86px;height:24px;margin-left:-43px;border-radius:20px;background:#000;z-index:5}
.wa__status{display:flex;justify-content:space-between;align-items:center;padding:12px 22px 4px 26px;background:#1f2c34;font-size:12px}
.wa__status b{font-weight:700}
.wa__status span{display:flex;align-items:center;gap:4px}
.wa__status svg{width:13px;height:13px}
.wa__bat{display:inline-block;width:20px;height:10px;border:1.5px solid currentColor;border-radius:3px;position:relative}
.wa__bat::after{content:"";position:absolute;inset:1.5px 5px 1.5px 1.5px;background:currentColor;border-radius:1px}
.wa__top{display:flex;align-items:center;gap:8px;padding:6px 12px 9px 6px;background:#1f2c34;border-bottom:1px solid rgba(255,255,255,.04)}
.wa__top>svg{width:20px;height:20px;color:#aebac1;flex:none}
.wa__av{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#0A3550;color:#F3F6F4;flex:none}
.wa__av svg{width:24px;height:24px}
.wa__who{flex:1;min-width:0;display:grid;line-height:1.2}
.wa__who b{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wa__who span{font-size:11.5px;color:#8696a0;transition:color .3s ease}
.wa__who span.is-typing{color:#00a884}
.wa__icons{display:flex;gap:14px;color:#aebac1}
.wa__icons svg{width:17px;height:17px}
.wa__chat{position:relative;flex:1;min-height:0;overflow-y:auto;scrollbar-width:none;padding:10px 10px 6px;display:flex;flex-direction:column;gap:5px;background-color:#0b141a;background-image:radial-gradient(rgba(255,255,255,.035) 1.2px,transparent 1.3px),radial-gradient(rgba(255,255,255,.025) 1px,transparent 1.1px);background-size:22px 22px,14px 14px;background-position:0 0,7px 11px}
.wa__chat::-webkit-scrollbar{display:none}
.wa__chat>:first-child{margin-top:auto}
.wa__day{align-self:center;margin-bottom:4px;padding:3px 10px;border-radius:8px;background:#182229;color:#8696a0;font-size:11px}
.wm{position:relative;max-width:84%;padding:6px 8px 6px 9px;border-radius:9px;box-shadow:0 1px .5px rgba(0,0,0,.25)}
.wm p{margin:0;white-space:normal;word-wrap:break-word}
.wm--me{align-self:flex-end;background:#005c4b;border-top-right-radius:2px}
.wm--ag{align-self:flex-start;background:#202c33;border-top-left-radius:2px}
.wm__t{display:flex;justify-content:flex-end;align-items:center;gap:3px;margin-top:2px;font-size:10px;color:rgba(233,237,239,.6)}
.wa__ticks{width:15px;height:11px;color:#8696a0;transition:color .4s ease}
.wm.is-read .wa__ticks{color:#53bdeb}
.wm--card{max-width:88%;padding:4px 4px 6px}
.wm--card>p{padding:6px 5px 0}
.wm--card>.wm__t{padding-right:4px}
.wcard{border-radius:7px;overflow:hidden;background:#182229}
.wcard__h{display:flex;align-items:center;gap:9px;padding:9px;background:linear-gradient(135deg,rgba(201,164,92,.18),rgba(232,96,122,.12))}
.wcard__h img{width:52px;height:auto;flex:none}
.wcard__h b{display:block;font-size:13px}
.wcard__h span{font-size:10.5px;color:#8696a0}
.wcard dl{margin:0;padding:4px 9px 6px}
.wcard dl div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.wcard dl div:last-child{border-bottom:0}
.wcard dt{color:#8696a0}
.wcard dd{margin:0;font-weight:600}
.wtix{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:7px;background:linear-gradient(135deg,rgba(0,168,132,.22),rgba(46,196,182,.08));border:1px dashed rgba(0,168,132,.5)}
.wtix__ok{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#00a884;color:#0b141a;font-weight:800}
.wtix b{display:block;font-size:13px}
.wtix span:not(.wtix__ok){display:block;font-size:10.5px;color:#aebac1}
.wm--typing{display:flex;gap:4px;padding:10px 12px}
.wm--typing i{width:6px;height:6px;border-radius:50%;background:#8696a0;animation:watype 1.1s infinite ease-in-out}
.wm--typing i:nth-child(2){animation-delay:.15s}.wm--typing i:nth-child(3){animation-delay:.3s}
@keyframes watype{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
.wa__bar{display:flex;align-items:flex-end;gap:6px;padding:6px 7px 4px;background:#0b141a}
.wa__field{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:7px;min-height:38px;padding:6px 10px;border-radius:20px;background:#1f2c34;color:#8696a0}
.wa__field>svg,.wa__emo svg{width:18px;height:18px;flex:none}
.wa__input{flex:1;min-width:0;color:#e9edef;font-size:12px;line-height:1.3;max-height:62px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.wa__ph{position:absolute;left:38px;top:50%;transform:translateY(-50%);font-size:13px}
.wa__ph[hidden]{display:none}
.wa__send{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;background:#00a884;color:#0b141a}
.wa__send svg{width:18px;height:18px;grid-area:1/1;transition:opacity .2s ease,transform .2s ease}
.wa__send svg:last-child{opacity:0;transform:scale(.6)}
.wa__send.is-send svg:first-child{opacity:0;transform:scale(.6)}
.wa__send.is-send svg:last-child{opacity:1;transform:none}
.wa__send.is-tap{animation:watap .3s ease}
@keyframes watap{50%{transform:scale(.88)}}
.wa__home{align-self:center;width:110px;height:4px;margin:4px 0 8px;border-radius:4px;background:rgba(233,237,239,.5)}
/* estados del guion: ocultos hasta que les toca */
.js-motion .wa [data-w]:not(.is-in),.js-motion .wa [data-wa-typing]:not(.is-in){display:none}
.wm.is-in.is-new{animation:wain .45s cubic-bezier(.23,1,.32,1)}
@keyframes wain{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
.wm--me.is-new{transform-origin:100% 100%}.wm--ag.is-new{transform-origin:0 100%}
.is-static .wa [data-wa-typing]{display:none}
@media (prefers-reduced-motion:reduce){.wm.is-in.is-new{animation:none}.wm--typing i{animation:none}}
@media (min-width:1000px){.wad__side{max-width:600px}.wa{width:320px}.wa__screen{height:650px;font-size:13px}}
@media (min-width:1000px){.wad{grid-template-columns:minmax(0,600px) auto;justify-content:center;gap:clamp(4rem,8vw,8rem)}}

/* ---- Móvil de WhatsApp en modo claro (home) y piezas comunes */
.bk__stage{display:grid;justify-items:center;perspective:1200px}
.wcard__h--photo img{width:52px;height:40px;object-fit:cover;border-radius:6px}
.wloc{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:4px 8px;border-radius:7px;background:rgba(0,168,132,.14);color:#00a884;font-size:11px;font-weight:600}
.wloc svg{width:12px;height:12px}
.wa--light{background:linear-gradient(145deg,#0E2A3D,#071F2E 60%);box-shadow:0 0 0 1px rgba(7,31,46,.2),0 40px 80px -34px rgba(7,31,46,.55),0 0 90px -40px rgba(46,196,182,.5)}
.wa--light .wa__btn{background:#0E2A3D}
.wa--light .wa__screen{background:#efeae2;color:#111b21}
.wa--light .wa__status,.wa--light .wa__top{background:#fff;color:#111b21}
.wa--light .wa__top{border-bottom-color:rgba(0,0,0,.06)}
.wa--light .wa__top>svg,.wa--light .wa__icons{color:#54656f}
.wa--light .wa__who span{color:#667781}
.wa--light .wa__who span.is-typing{color:#008069}
.wa--light .wa__chat{background-color:#efeae2;background-image:radial-gradient(rgba(17,27,33,.06) 1.2px,transparent 1.3px),radial-gradient(rgba(17,27,33,.04) 1px,transparent 1.1px)}
.wa--light .wa__day{background:#fff;color:#54656f;box-shadow:0 1px .5px rgba(11,20,26,.13)}
.wa--light .wm{box-shadow:0 1px .5px rgba(11,20,26,.13)}
.wa--light .wm--me{background:#d9fdd3}
.wa--light .wm--ag{background:#fff}
.wa--light .wm__t{color:#667781}
.wa--light .wa__ticks{color:#8696a0}
.wa--light .wm.is-read .wa__ticks{color:#53bdeb}
.wa--light .wcard{background:#f5f6f6}
.wa--light .wcard__h{background:linear-gradient(135deg,rgba(10,53,80,.08),rgba(46,196,182,.12))}
.wa--light .wcard__h span,.wa--light .wcard dt{color:#667781}
.wa--light .wcard dl div{border-bottom-color:rgba(0,0,0,.06)}
.wa--light .wm--typing i{background:#8696a0}
.wa--light .wa__bar{background:#efeae2}
.wa--light .wa__field{background:#fff;color:#54656f}
.wa--light .wa__input{color:#111b21}
.wa--light .wa__send{color:#fff}
.wa--light .wa__home{background:rgba(17,27,33,.35)}
.wa--light .wloc{color:#008069}

/* ---- Grupos «Cómo lo organizamos»: la línea une cada círculo con el siguiente (antes iba suelta y asomaba
   entre tarjetas o por fuera de ellas); en móvil, tarjetas más compactas */
.howto__steps{--p:clamp(1.3rem,2.6vw,2rem);--c:clamp(2.6rem,4vw,3.2rem);--gap:clamp(.8rem,2vw,1.2rem);gap:var(--gap)}
.howto__steps::before,.howto__steps::after{display:none}
.howto__steps li{z-index:auto;padding:var(--p)}
.howto__n{position:relative;z-index:2;width:var(--c);height:var(--c)}
.howto__steps li:not(:last-child)::after{content:"";position:absolute;z-index:1;left:calc(var(--p) + var(--c) / 2 - 1px);top:calc(var(--p) + var(--c));height:calc(100% - var(--c) + var(--gap));width:2px;background:var(--line-2);transition:background-color .5s ease}
.howto__steps li.is-lit:not(:last-child)::after{background:var(--senal)}
@media (max-width:899px){
  .howto__steps{--p:1.05rem;--c:2.3rem;--gap:.7rem}
  .howto__steps li{gap:.85rem;border-radius:16px}
  .howto__n{font-size:.82rem}
  .howto__steps b{font-size:1.02rem}
  .howto__steps span{font-size:.93rem;line-height:1.5}
  .howto__steps em{font-size:.74rem;padding:.25rem .6rem}
}
@media (max-width:899px){.howto__steps em{border-radius:9px;line-height:1.35}}
.foot__by{color:var(--espuma);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(243,246,244,.35)}

/* ==========================================================================
   El tiempo en Gran Canaria (/tiempo/): cielo vivo, tarjetas de cristal e instrumentos animados.
   ========================================================================== */
.pg-tiempo{--t-bg:#061423;--t-bg2:#0A1E31;--t-ink:#EAF4F7;--t-dim:rgba(234,244,247,.64);--t-line:rgba(234,244,247,.12);--t-card:rgba(13,34,54,.72);--ok:#2EC4B6;--mid:#F2B35B;--bad:#E8607A;--sunc:#FFD27A;background:var(--t-bg);color:var(--t-ink)}
.pg-tiempo .hdr.is-solid{background:rgba(6,20,35,.84);color:var(--t-ink);box-shadow:0 1px 0 var(--t-line)}
.pg-tiempo .hdr.is-solid .lang__btn{border-color:rgba(234,244,247,.4)}
.pg-tiempo .dock{background:rgba(6,20,35,.92);color:var(--t-ink);box-shadow:0 -1px 0 var(--t-line)}
.pg-tiempo .dock__info span{color:var(--t-dim)}
.pg-tiempo .scrollbar{background:linear-gradient(90deg,var(--ok),var(--sunc))}
.pg-tiempo .foot{background:#04101B;border-top:1px solid var(--t-line)}
.pg-tiempo .crumbs{color:var(--t-dim)}
.pg-tiempo .crumbs a{text-decoration-color:rgba(234,244,247,.3)}
.wx-glass{background:linear-gradient(var(--t-card),var(--t-card)) padding-box,linear-gradient(140deg,rgba(255,255,255,.24),rgba(255,255,255,.04) 42%,rgba(46,196,182,.3)) border-box;border:1px solid transparent}

/* ---- Hero con cielo */
.wx-hero{position:relative;overflow:hidden;isolation:isolate;padding-top:calc(var(--hdr) + 1.2rem);padding-bottom:2.2rem;transition:background 1.2s ease;
  --sky:linear-gradient(180deg,#0B4A7A 0%,#1E7FB0 42%,#5DB4D2 72%,var(--t-bg) 100%);background:var(--sky)}
.wx-hero[data-sky="partly"]{--sky:linear-gradient(180deg,#174566 0%,#2F6F93 45%,#6E9FB5 74%,var(--t-bg) 100%)}
.wx-hero[data-sky="cloud"],.wx-hero[data-sky="fog"]{--sky:linear-gradient(180deg,#22394D 0%,#3F5F75 48%,#6C8696 76%,var(--t-bg) 100%)}
.wx-hero[data-sky="rain"]{--sky:linear-gradient(180deg,#152634 0%,#2B4556 50%,#4C6573 76%,var(--t-bg) 100%)}
.wx-hero[data-tod="dusk"]{--sky:linear-gradient(180deg,#1B2A55 0%,#6A3F72 38%,#D0647A 62%,#F2A65A 80%,var(--t-bg) 100%)}
.wx-hero[data-tod="night"]{--sky:linear-gradient(180deg,#020814 0%,#081A33 50%,#0D2843 78%,var(--t-bg) 100%)}
.wx-sky{position:absolute;inset:0;z-index:-1;pointer-events:none}
.wx-sky__sun{position:absolute;right:-60px;top:40px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,236,170,.95) 0 14%,rgba(255,210,122,.45) 26%,rgba(255,210,122,.12) 46%,transparent 68%);animation:wxpulse 6s ease-in-out infinite;transition:opacity 1s ease}
.wx-sky__moon{position:absolute;right:12%;top:90px;width:70px;height:70px;border-radius:50%;box-shadow:inset -16px -6px 0 0 #DCE6F2;filter:drop-shadow(0 0 22px rgba(220,230,242,.45));opacity:0;transition:opacity 1s ease}
.wx-sky__stars{position:absolute;inset:0 0 40% 0;opacity:0;transition:opacity 1s ease;background-image:radial-gradient(1.2px 1.2px at 20% 30%,#fff,transparent),radial-gradient(1px 1px at 70% 20%,#fff,transparent),radial-gradient(1.4px 1.4px at 40% 70%,#fff,transparent),radial-gradient(1px 1px at 85% 55%,#fff,transparent),radial-gradient(1px 1px at 10% 80%,#fff,transparent),radial-gradient(1.3px 1.3px at 55% 45%,#fff,transparent);background-size:220px 180px}
.wx-sky__cl{position:absolute;height:90px;border-radius:90px;background:#fff;filter:blur(28px);opacity:var(--co,.14);animation:wxdrift linear infinite}
.wx-sky__cl.c1{top:110px;width:320px;left:-10%;animation-duration:70s}
.wx-sky__cl.c2{top:250px;width:420px;left:30%;animation-duration:95s;animation-delay:-40s}
.wx-sky__cl.c3{top:60px;width:260px;left:60%;animation-duration:80s;animation-delay:-20s}
.wx-hero[data-sky="partly"] .wx-sky__cl{--co:.32}
.wx-hero[data-sky="cloud"] .wx-sky__cl,.wx-hero[data-sky="fog"] .wx-sky__cl{--co:.5}
.wx-hero[data-sky="rain"] .wx-sky__cl{--co:.45}
.wx-hero[data-sky="cloud"] .wx-sky__sun,.wx-hero[data-sky="rain"] .wx-sky__sun,.wx-hero[data-sky="fog"] .wx-sky__sun{opacity:.25}
.wx-hero[data-tod="night"] .wx-sky__sun{opacity:0}
.wx-hero[data-tod="night"] .wx-sky__moon,.wx-hero[data-tod="night"] .wx-sky__stars{opacity:1}
.wx-hero[data-tod="dusk"] .wx-sky__sun{top:auto;bottom:120px;right:10%;opacity:.9}
.wx-sky__rain{position:absolute;inset:0;opacity:0;background:repeating-linear-gradient(105deg,transparent 0 14px,rgba(200,230,245,.28) 14px 15px,transparent 15px 36px);background-size:200px 200px;animation:wxrain .5s linear infinite}
.wx-hero[data-sky="rain"] .wx-sky__rain{opacity:.55}
.wx-sky__grid{position:absolute;left:-20%;right:-20%;bottom:0;height:45%;opacity:.22;background-image:linear-gradient(rgba(234,244,247,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(234,244,247,.35) 1px,transparent 1px);background-size:48px 48px;transform:perspective(420px) rotateX(62deg);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(180deg,transparent,#000 60%);mask-image:linear-gradient(180deg,transparent,#000 60%)}
@keyframes wxpulse{50%{transform:scale(1.06)}}
@keyframes wxtw{to{opacity:.55}}
@keyframes wxdrift{from{transform:translateX(-30vw)}to{transform:translateX(60vw)}}
@keyframes wxrain{to{background-position:-60px 200px}}
.wx-hero__in{position:relative;display:grid;gap:1.1rem}
.wx-h1{font-size:clamp(1.45rem,5.6vw,2.6rem);font-weight:760;font-stretch:115%;letter-spacing:-.02em;line-height:1.05}
.wx-kick{display:inline-flex;align-items:center;gap:.55rem;font-size:.8rem;color:var(--t-dim)}
.wx-live{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(46,196,182,.7);animation:wxlive 2s infinite}
@keyframes wxlive{70%{box-shadow:0 0 0 9px rgba(46,196,182,0)}100%{box-shadow:0 0 0 0 rgba(46,196,182,0)}}
.wx-chips{display:flex;gap:.45rem;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--g)) calc(-1 * var(--gr));padding:.2rem var(--gr) .3rem var(--g)}
.wx-chips::-webkit-scrollbar{display:none}
.wx-chip{flex:none;min-height:40px;padding:.45rem .95rem;border-radius:99px;border:1px solid rgba(234,244,247,.25);background:rgba(6,20,35,.25);color:var(--t-ink);font:inherit;font-size:.88rem;font-weight:620;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .25s ease,color .25s ease,border-color .25s ease}
.wx-chip[aria-selected="true"]{background:var(--t-ink);color:#061423;border-color:var(--t-ink)}
.wx-chip:active{scale:.97}
.wx-now{display:flex;align-items:center;gap:.6rem;margin-top:.4rem}
.wx-now__icon{flex:none;width:clamp(96px,28vw,170px);aspect-ratio:1;filter:drop-shadow(0 10px 30px rgba(0,0,0,.25))}
.wx-now__icon svg{width:100%;height:100%}
.wx-now__t{display:flex;align-items:flex-start;line-height:.8}
.wx-now__t b{font-size:clamp(5rem,24vw,10.5rem);font-weight:250;font-stretch:118%;letter-spacing:-.06em;font-variant-numeric:tabular-nums;text-shadow:0 0 40px rgba(255,255,255,.25)}
.wx-now__t span{font-size:clamp(1.2rem,4.5vw,2.2rem);font-weight:500;margin-top:.5em;opacity:.85}
.wx-now__c{margin-top:.5rem;font-size:clamp(1rem,3.8vw,1.35rem);font-weight:640}
.wx-now__s{display:flex;flex-wrap:wrap;gap:.2rem .9rem;margin-top:.25rem;font-size:.88rem;color:rgba(234,244,247,.8)}
.wx-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.wx-quick li{display:grid;gap:.1rem;padding:.7rem .75rem;border-radius:16px;background:rgba(6,20,35,.32);border:1px solid rgba(234,244,247,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.wx-quick svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;color:var(--ok)}
.wx-quick span{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--t-dim)}
.wx-quick b{font-size:clamp(.95rem,3.6vw,1.2rem);font-weight:720;font-variant-numeric:tabular-nums;white-space:nowrap}
.wx-arc{max-width:min(520px,100%);width:100%}
@media (max-width:899px){.wx-arc{max-width:330px;justify-self:center}}
.wx-arc svg{display:block;width:100%;height:auto;overflow:visible}
.wx-arc__bg{fill:none;stroke:rgba(234,244,247,.22);stroke-width:1.5;stroke-dasharray:3 5}
.wx-arc__trail{fill:none;stroke:var(--sunc);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:283;transition:stroke-dashoffset 1.4s cubic-bezier(.23,1,.32,1);filter:drop-shadow(0 0 6px rgba(255,210,122,.7))}
.wx-arc__hz{stroke:rgba(234,244,247,.25);stroke-width:1}
.wx-arc__sun{fill:var(--sunc);filter:drop-shadow(0 0 10px rgba(255,210,122,.95));transition:cx 1.4s cubic-bezier(.23,1,.32,1),cy 1.4s cubic-bezier(.23,1,.32,1)}
.wx-arc__sun.is-down{fill:#DCE6F2;filter:none;opacity:.5}
.wx-arc p{display:flex;justify-content:space-between;gap:.5rem;margin-top:.4rem;font-size:.78rem;color:var(--t-dim)}
.wx-arc p b{color:var(--t-ink);font-variant-numeric:tabular-nums}
.wx-arc p>span:nth-child(2){text-align:center;color:var(--sunc)}
@media (min-width:900px){
  .wx-hero{padding-bottom:3.5rem}
  .wx-hero__in{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:4rem;align-items:end}
  .wx-hero__in>.crumbs,.wx-h1,.wx-kick,.wx-chips{grid-column:1/-1}
  .wx-chips{margin:0;padding:.2rem 0}
  .wx-now{grid-row:span 2}
  .wx-quick{align-self:end}
}

/* ---- Iconos animados */
.wxi{overflow:visible}
.wxi .i-sun__c{fill:var(--sunc);filter:drop-shadow(0 0 8px rgba(255,210,122,.8))}
.wxi .i-sun__r{stroke:var(--sunc);stroke-width:3;stroke-linecap:round;transform-origin:32px 32px;animation:wxspin 24s linear infinite}
.wxi .i-moon{fill:#DCE6F2;filter:drop-shadow(0 0 8px rgba(220,230,242,.5))}
.wxi .i-cloud{fill:#F1F6F9;animation:wxfloat 6s ease-in-out infinite}
.wxi .i-cloud--back{fill:#B9CAD4;animation-delay:-3s}
.wxi .i-rain path{stroke:#7FD6F0;stroke-width:3;stroke-linecap:round;animation:wxdrop 1s linear infinite}
.wxi .i-rain path:nth-child(2){animation-delay:-.33s}.wxi .i-rain path:nth-child(3){animation-delay:-.66s}
.wxi .i-rain--soft path{stroke-width:2;opacity:.8}
.wxi .i-snow circle{fill:#fff;animation:wxdrop 1.6s linear infinite}
.wxi .i-fog path{stroke:#C9D6DE;stroke-width:3;stroke-linecap:round;animation:wxfloat 4s ease-in-out infinite}
.wxi .i-bolt{fill:var(--sunc);animation:wxflash 2.4s steps(1) infinite}
@keyframes wxspin{to{transform:rotate(360deg)}}
@keyframes wxfloat{50%{transform:translateX(2.5px)}}
@keyframes wxdrop{0%{transform:translateY(-3px);opacity:0}30%{opacity:1}100%{transform:translateY(6px);opacity:0}}
@keyframes wxflash{0%,70%{opacity:1}72%{opacity:.2}76%{opacity:1}}

/* ---- Secciones */
.wx-sec{position:relative;padding-block:clamp(3.5rem,9vw,7rem)}
.wx-sec+.wx-sec{border-top:1px solid var(--t-line)}
.wx-head{margin-bottom:clamp(1.6rem,4vw,2.6rem)}
.wx-label{display:inline-flex;align-items:center;gap:.55rem;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ok)}
.wx-label::before{content:"";width:18px;height:1px;background:currentColor}
.wx-h2{margin-top:.8rem;font-size:clamp(1.7rem,6.6vw,3.8rem);font-weight:800;font-stretch:116%;line-height:1;letter-spacing:-.03em;text-wrap:balance}
.wx-lead{margin-top:.9rem;max-width:56ch;color:var(--t-dim);font-size:clamp(.98rem,2.3vw,1.15rem);text-wrap:pretty}

/* ---- Semáforo del mar */
.wx-days{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(118px,1fr);gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--g);scrollbar-width:none;margin-inline:calc(-1 * var(--g)) calc(-1 * var(--gr));padding:.3rem var(--gr) .6rem var(--g)}
.wx-days::-webkit-scrollbar{display:none}
@media (min-width:1000px){.wx-days{grid-auto-flow:row;grid-template-columns:repeat(7,1fr);overflow:visible;margin:0;padding:0}}
.wx-day{--c:var(--ok);position:relative;display:grid;justify-items:center;gap:.45rem;padding:1rem .6rem .9rem;border-radius:20px;color:var(--t-ink);font:inherit;cursor:pointer;scroll-snap-align:start;background:linear-gradient(var(--t-card),var(--t-card)) padding-box,linear-gradient(160deg,rgba(255,255,255,.2),rgba(255,255,255,.03) 50%,color-mix(in srgb,var(--c) 45%,transparent)) border-box;border:1px solid transparent;transition:transform .3s var(--ease),box-shadow .3s ease}
.wx-day[data-sea="mid"]{--c:var(--mid)}.wx-day[data-sea="bad"]{--c:var(--bad)}.wx-day[data-sea="na"]{--c:var(--t-dim)}
.wx-day::before{content:"";position:absolute;left:18%;right:18%;top:0;height:3px;border-radius:0 0 4px 4px;background:var(--c);box-shadow:0 0 14px var(--c)}
.wx-day[aria-pressed="true"]{transform:translateY(-4px);box-shadow:0 18px 40px -18px color-mix(in srgb,var(--c) 70%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--c) 70%,transparent)}
.wx-day:active{scale:.98}
.wx-day__d{display:grid;justify-items:center;line-height:1.1}
.wx-day__d b{font-size:.95rem;font-weight:720}
.wx-day__d small{font-size:.74rem;color:var(--t-dim)}
.wx-day .wxi{width:52px;height:52px}
.wx-day__t{display:flex;gap:.45rem;align-items:baseline;font-variant-numeric:tabular-nums}
.wx-day__t b{font-size:1.25rem;font-weight:760}
.wx-day__t small{color:var(--t-dim)}
.wx-day__sea{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:99px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c);font-size:.7rem;font-weight:740;white-space:nowrap}
.wx-day__sea i{width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}
.wx-day__m{display:flex;gap:.6rem;font-size:.74rem;color:var(--t-dim);font-variant-numeric:tabular-nums}
.wx-day__m span{display:inline-flex;align-items:center;gap:.15rem}
.wx-day__m svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.wx-det{--c:var(--ok);margin-top:1rem;padding:1.3rem 1.2rem;border-radius:22px;background:linear-gradient(var(--t-card),var(--t-card)) padding-box,linear-gradient(140deg,color-mix(in srgb,var(--c) 70%,transparent),rgba(255,255,255,.05) 50%) border-box;border:1px solid transparent;display:grid;gap:1rem}
.wx-det[data-sea="mid"]{--c:var(--mid)}.wx-det[data-sea="bad"]{--c:var(--bad)}
.wx-det:empty{display:none}
.wx-det__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem}
.wx-det__when{font-size:1.2rem;font-weight:780;font-stretch:112%}
.wx-det__sea{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .75rem;border-radius:99px;background:color-mix(in srgb,var(--c) 18%,transparent);color:var(--c);font-weight:740;font-size:.85rem}
.wx-det__sea i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.wx-det__txt{color:var(--t-dim);max-width:70ch}
.wx-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (min-width:800px){.wx-acts{grid-template-columns:repeat(4,1fr)}}
.wx-acts li{--f:var(--ok);display:flex;align-items:center;gap:.65rem;padding:.7rem .8rem;border-radius:14px;background:rgba(234,244,247,.04);border:1px solid color-mix(in srgb,var(--f) 40%,transparent)}
.wx-acts li[data-fit="1"]{--f:var(--mid)}.wx-acts li[data-fit="0"]{--f:var(--bad);opacity:.75}
.wx-acts svg{flex:none;width:26px;height:26px;fill:none;stroke:var(--f);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wx-acts b{display:block;font-size:.86rem;font-weight:680;line-height:1.2}
.wx-acts small{font-size:.74rem;color:var(--f);font-weight:700}
.wx-det__cta{justify-self:start}
@media (max-width:599px){.wx-det__cta{justify-self:stretch}}

/* ---- Widgets */
.wx-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wx-tile{position:relative;display:grid;align-content:start;gap:.35rem;padding:1.1rem 1rem 1.15rem;border-radius:22px;overflow:hidden;background:linear-gradient(var(--t-card),var(--t-card)) padding-box,linear-gradient(140deg,rgba(255,255,255,.22),rgba(255,255,255,.03) 45%,rgba(46,196,182,.25)) border-box;border:1px solid transparent}
.wx-tile h3{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t-dim)}
.wx-tile--wind,.wx-tile--wave,[data-tile="dust"]{grid-column:span 2}
.wx-tile__big{display:flex;align-items:baseline;gap:.25rem;font-variant-numeric:tabular-nums}
.wx-tile__big b{font-size:clamp(2rem,8vw,2.8rem);font-weight:300;font-stretch:115%;letter-spacing:-.03em;line-height:1}
.wx-tile__big small{color:var(--t-dim);font-size:.85rem}
.wx-tile__big--g{justify-content:center;margin-top:-2.2rem}
.wx-tile__l{font-weight:680;font-size:.95rem}
.wx-tile__big--g+.wx-tile__l{text-align:center}
.wx-tile__s{font-size:.8rem;color:var(--t-dim)}
.wx-tile--mini .wx-tile__big b{font-size:1.7rem}
.wx-tile.is-na{opacity:.6}
@media (min-width:900px){
  .wx-tiles{grid-template-columns:repeat(4,1fr);gap:14px}
  .wx-tile{padding:1.4rem}
}
.wx-compass{position:relative;width:min(230px,70%);aspect-ratio:1;margin:.4rem auto .2rem}
.wx-compass__ring{position:absolute;inset:0;width:100%;height:100%}
.wx-compass__ring circle{fill:none;stroke:rgba(234,244,247,.18);stroke-width:1}
.wx-compass__ticks path{stroke:rgba(234,244,247,.45);stroke-width:1.2}
.wx-compass__ring text{fill:var(--t-dim);font-size:9px;font-weight:700;text-anchor:middle;font-family:var(--font)}
.wx-compass__arrow{position:absolute;inset:0;transition:transform 1.2s cubic-bezier(.23,1,.32,1)}
.wx-compass__arrow svg{width:100%;height:100%}
.wx-compass__arrow path{fill:var(--ok);filter:drop-shadow(0 0 6px rgba(46,196,182,.8))}
.wx-compass__v{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;line-height:1;pointer-events:none}
.wx-compass__v b{font-size:2.4rem;font-weight:300;font-stretch:115%;padding:.25rem .5rem;border-radius:12px;background:rgba(6,20,35,.7)}
.wx-compass__v small{margin-top:.2rem;font-size:.75rem;color:var(--t-dim)}
.wx-tile--wind .wx-tile__l,.wx-tile--wind .wx-tile__s{text-align:center}
.wx-waves{position:relative;height:96px;margin:.2rem -1rem .3rem;overflow:hidden;transform-origin:50% 100%;transform:scaleY(var(--amp,.5));transition:transform 1s cubic-bezier(.23,1,.32,1)}
.wx-waves svg{position:absolute;left:0;bottom:0;width:133.33%;height:100%}
.wx-waves .w1{fill:rgba(46,196,182,.55);animation:wxwave var(--spd,4s) linear infinite}
.wx-waves .w2{fill:rgba(30,127,176,.75);animation:wxwave calc(var(--spd,4s) * 1.4) linear infinite reverse}
@keyframes wxwave{to{transform:translateX(-25%)}}
.wx-tile--wave .wx-tile__big{position:absolute;left:1rem;top:2.6rem}
.wx-tile--wave .wx-tile__big b{text-shadow:0 2px 16px rgba(6,20,35,.8)}
.wx-tile--wave.is-na .wx-waves{transform:scaleY(.08)}
.wx-g{display:block;width:100%;max-width:180px;margin:.2rem auto 0;overflow:visible}
.wx-g .g-bg{fill:none;stroke:rgba(234,244,247,.12);stroke-width:9;stroke-linecap:round}
.wx-g .g-val{fill:none;stroke:var(--ok);stroke-width:9;stroke-linecap:round;stroke-dasharray:157;stroke-dashoffset:157;transition:stroke-dashoffset 1.2s cubic-bezier(.23,1,.32,1),stroke .4s ease;filter:drop-shadow(0 0 6px currentColor)}
.wx-g--uv .g-val{stroke:var(--mid);color:var(--mid)}
.wx-g--sea .g-val{color:var(--ok)}
[data-tile="dust"] .wx-g{max-width:170px}
[data-tile="dust"] .g-val{color:var(--ok)}
[data-tile="dust"][data-lev="1"] .g-val{stroke:var(--mid);color:var(--mid)}
[data-tile="dust"][data-lev="2"] .g-val{stroke:#F08A4B;color:#F08A4B}
[data-tile="dust"][data-lev="3"] .g-val{stroke:var(--bad);color:var(--bad)}
[data-tile="dust"] .wx-tile__l{text-align:center}
[data-tile="dust"] .wx-tile__s{text-align:center}

/* ---- Gráfico de 48 horas */
.wx-tabs{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;margin-bottom:.9rem}
.wx-tabs::-webkit-scrollbar{display:none}
.wx-tabs button{flex:none;min-height:40px;padding:.45rem .9rem;border-radius:99px;border:1px solid var(--t-line);background:transparent;color:var(--t-dim);font:inherit;font-size:.86rem;font-weight:640;cursor:pointer}
.wx-tabs button[aria-selected="true"]{background:var(--t-ink);color:#061423;border-color:var(--t-ink)}
.wx-tabs button:disabled{opacity:.35;cursor:default}
.wx-chart{border-radius:22px;padding:.6rem 0 .3rem;background:linear-gradient(var(--t-card),var(--t-card)) padding-box,linear-gradient(140deg,rgba(255,255,255,.2),rgba(255,255,255,.03) 45%,rgba(46,196,182,.25)) border-box;border:1px solid transparent;overflow:hidden}
.wx-chart__scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(234,244,247,.25) transparent;--wx-a:var(--ok)}
.wx-chart__scroll[data-tab="temp"]{--wx-a:#FFC56B}.wx-chart__scroll[data-tab="wind"]{--wx-a:#7FD6F0}.wx-chart__scroll[data-tab="rain"]{--wx-a:#8FA8FF}
.wx-chart__hours{display:flex}
.wx-hr{flex:none;width:46px;display:grid;justify-items:center;gap:.15rem;font-size:.7rem;color:var(--t-dim);font-variant-numeric:tabular-nums}
.wx-hr.is-now small{color:var(--t-ink);font-weight:700}
.wx-hr .wxi,.wx-hr>i{width:26px;height:26px;display:block}
.wx-chart__svg{display:block}
.wx-chart__line{fill:none;stroke:var(--wx-a);stroke-width:2.5;stroke-linejoin:round;filter:drop-shadow(0 0 6px var(--wx-a))}
.wx-chart__area{fill:url(#wxg)}
.wx-chart__bar{fill:var(--wx-a);opacity:.75}
.wx-chart__gust{fill:none;stroke:var(--bad);stroke-width:1.5;stroke-dasharray:4 4}
.wx-chart__val{fill:var(--t-ink);font-size:11px;font-weight:700;text-anchor:middle;font-family:var(--font)}
.wx-chart__day{stroke:rgba(234,244,247,.18);stroke-dasharray:3 4}
.wx-chart__dayl{fill:var(--t-dim);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font)}
.wx-chart__now{fill:var(--t-ink);stroke:var(--wx-a);stroke-width:3}
.wx-chart__hit{fill:transparent;cursor:pointer}
.wx-chart__hit.is-on{fill:rgba(234,244,247,.07)}
.wx-chart__na{padding:2.5rem 1.2rem;color:var(--t-dim);text-align:center}
.wx-tip{display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin-top:.8rem;align-items:center}
.wx-tip b{margin-right:.3rem}
.wx-tip span{padding:.3rem .6rem;border-radius:99px;background:rgba(234,244,247,.07);font-size:.82rem;color:var(--t-ink)}
.wx-hint{margin-top:.6rem;font-size:.78rem;color:var(--t-dim)}

/* ---- La isla */
.wx-isle-grid{display:grid;gap:1.5rem}
@media (min-width:1000px){.wx-isle-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4rem;align-items:center}}
.wx-isle{position:relative;width:100%;max-width:560px;margin-inline:auto;aspect-ratio:1}
.isla--wx{position:absolute;inset:0;width:100%;height:100%}
.isla--wx .isla__lines path{fill:none;stroke:rgba(46,196,182,.42);stroke-width:.4}
.isla--wx .isla__lines path:first-child{stroke:rgba(46,196,182,.95);stroke-width:.75;filter:drop-shadow(0 0 3px rgba(46,196,182,.7))}
.isla--wx .isla__dot{display:none}
.wx-pin{position:absolute;z-index:1;width:0;height:0;padding:0;border:0;background:none;color:var(--t-ink);font:inherit;cursor:pointer}
.wx-pin__dot{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(46,196,182,.2),0 0 14px var(--ok)}
.wx-pin[aria-pressed="true"] .wx-pin__dot{background:var(--sunc);box-shadow:0 0 0 6px rgba(255,210,122,.25),0 0 18px var(--sunc)}
.wx-pin__lab{position:absolute;left:0;bottom:12px;display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem .2rem .3rem;border-radius:99px;background:rgba(6,20,35,.85);border:1px solid rgba(234,244,247,.22);white-space:nowrap;transform:translateX(-50%);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .3s ease,box-shadow .3s ease}
.wx-pin__lab b{font-size:.9rem;font-weight:740;font-variant-numeric:tabular-nums}
.wx-pin__i{display:block;width:24px;height:24px}
.wx-pin__i svg{width:100%;height:100%}
.wx-pin>small{position:absolute;left:0;top:10px;transform:translateX(-50%);white-space:nowrap;font-size:.68rem;font-weight:700;letter-spacing:.04em;color:var(--t-dim);text-shadow:0 1px 6px rgba(6,20,35,.9)}
.wx-pin[aria-pressed="true"] .wx-pin__lab{border-color:var(--sunc);box-shadow:0 0 18px -4px var(--sunc)}
/* zonas cercanas: etiqueta hacia un lado para que no se pisen */
.wx-pin[data-place="mogan"] .wx-pin__lab{transform:translateX(calc(-100% + 8px))}.wx-pin[data-place="mogan"]>small{transform:translateX(-100%)}
.wx-pin[data-place="pr"] .wx-pin__lab{bottom:auto;top:12px;transform:translateX(-8px)}.wx-pin[data-place="pr"]>small{top:44px;transform:translateX(-8px)}
@media (max-width:599px){.wx-pin>small{display:none}.wx-pin__lab b{font-size:.8rem}.wx-pin__i{width:20px;height:20px}}
.wx-list{display:grid;gap:6px;margin-top:1.4rem}
.wx-list button{display:grid;grid-template-columns:1fr auto auto 4.2rem;align-items:center;gap:.7rem;width:100%;min-height:52px;padding:.5rem .9rem;border-radius:14px;border:1px solid var(--t-line);background:rgba(234,244,247,.03);color:var(--t-ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .25s ease,background-color .25s ease}
.wx-list button[aria-pressed="true"]{border-color:rgba(255,210,122,.6);background:rgba(255,210,122,.07)}
.wx-list .wxi{width:30px;height:30px}
.wx-list b{font-size:1.1rem;font-variant-numeric:tabular-nums}
.wx-list small{font-size:.78rem;color:var(--t-dim);text-align:right;font-variant-numeric:tabular-nums}

/* ---- Nota final */
.wx-note p{max-width:78ch;color:var(--t-dim);font-size:.92rem}
.wx-note p b{color:var(--t-ink)}
.wx-src{margin-top:.8rem;font-size:.8rem!important}
.wx-src a{color:var(--t-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(234,244,247,.35)}

/* ---- Cargando / error */
[data-wx-body]{transition:opacity .4s ease}
main:not(.is-ready) [data-wx-body]{opacity:.35}
main.is-error [data-wx-body]{opacity:.35}
@media (prefers-reduced-motion:reduce){.wx-sky__sun,.wx-sky__stars,.wx-sky__cl,.wx-sky__rain,.wxi *,.wx-waves path,.wx-live{animation:none!important}}
.tide2__more{display:inline-flex;align-items:center;gap:.35rem;margin-top:.8rem;font-size:.86rem;font-weight:660;color:var(--espuma);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(243,246,244,.35)}
.tide2__more:hover{text-decoration-color:var(--senal)}
/* Isla del tiempo: sin la opacidad de las islas decorativas; costa blanca con brillo y curvas de nivel suaves */
.isla--wx{opacity:1;color:var(--t-ink)}
.isla--wx .isla__lines path{stroke:rgba(234,244,247,.16);stroke-width:1}
.isla--wx .isla__lines path:first-child{stroke:rgba(234,244,247,.92);stroke-width:2;fill:rgba(46,196,182,.06);filter:drop-shadow(0 0 6px rgba(46,196,182,.55))}
.isla--wx .isla__lines path:nth-child(2),.isla--wx .isla__lines path:nth-child(3){stroke:rgba(234,244,247,.28)}

/* ---- Semáforo a 16 días: niveles de fiabilidad */
.wx-legend{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:-.6rem 0 1rem;font-size:.78rem;color:var(--t-dim)}
.wx-legend li{display:inline-flex;align-items:center;gap:.4rem}
.wx-legend i{width:18px;height:8px;border-radius:4px;background:var(--ok)}
.wx-legend li:nth-child(2) i{background:transparent;border:1.5px dashed var(--ok)}
.wx-legend li:nth-child(3) i{background:rgba(234,244,247,.25)}
.wx-days{grid-auto-columns:minmax(124px,1fr);-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
@media (min-width:1000px){.wx-days{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 6 * 8px) / 7.4);overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem 0 .8rem;scrollbar-width:thin;scrollbar-color:rgba(234,244,247,.25) transparent}}
.wx-day__tier{position:absolute;top:.55rem;right:.6rem;font-size:.56rem;font-weight:760;letter-spacing:.1em;text-transform:uppercase;color:var(--t-dim)}
.wx-day[data-tier="trend"] .wx-day__sea{background:transparent;border:1.5px dashed color-mix(in srgb,var(--c) 70%,transparent)}
.wx-day[data-tier="trend"]::before{opacity:.5}
.wx-day[data-tier="wx"]{--c:rgba(234,244,247,.4)}
.wx-day[data-tier="wx"]::before{opacity:.35;box-shadow:none}
.wx-day[data-tier="wx"] .wx-day__sea{color:var(--t-dim);background:rgba(234,244,247,.06)}
.wx-day[data-tier="wx"] .wx-day__sea i{background:var(--t-dim);box-shadow:none}
.wx-det[data-sea="na"]{--c:rgba(234,244,247,.45)}
.wx-det__warn{padding:.6rem .8rem;border-radius:12px;background:rgba(242,179,91,.1);border:1px solid rgba(242,179,91,.35);color:#F6D4A0;font-size:.86rem}
.wx-acts li[data-fit="3"]{--f:rgba(234,244,247,.4);opacity:.8}
.wx-day__tier{position:static;margin:-.2rem 0 -.15rem;font-size:.56rem;font-weight:760;letter-spacing:.12em;text-transform:uppercase;color:var(--c);opacity:.85}
.wx-day[data-tier="wx"] .wx-day__tier{color:var(--t-dim)}

/* Barra «El mar ahora» de la portada: enlace a la página del tiempo */
.sea__end{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;margin-top:.35rem}
.sea__end .sea__src{margin:0}
.sea__more{display:inline-flex;align-items:center;gap:.4rem;min-height:36px;padding:.35rem .85rem;border-radius:99px;border:1px solid rgba(243,246,244,.38);background:rgba(7,31,46,.28);color:var(--espuma);font-size:.8rem;font-weight:660;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.sea__more span{transition:translate .25s var(--ease)}
.sea__more:active{scale:.97}
@media (hover:hover) and (pointer:fine){.sea__more:hover{background:var(--espuma);color:var(--abisal);border-color:var(--espuma)}.sea__more:hover span{translate:3px 0}}
@media (min-width:900px){.sea__end{grid-column:auto;flex-direction:column;align-items:flex-end;margin:0}.sea__end .sea__src{text-align:right}}
@media (max-width:899px){.sea dd{font-size:clamp(.92rem,3.9vw,1.1rem)}}

/* ---------- Ventana de reserva común (tema claro de .bs) ---------- */
.bs--light{color-scheme:light;--n-ink:var(--ink);--n-dim:var(--ink-3);--neon:var(--senal-ink);color:var(--ink)}
.bs--light .bs__scrim{background:rgba(7,31,46,.48)}
.bs--light .bs__panel{background:var(--paper);box-shadow:0 -24px 60px -24px rgba(7,31,46,.45)}
.bs--light .bs__grab span{background:var(--line-2)}
.bs--light .bs__hd{border-bottom-color:var(--line)}
.bs--light .bs__logo{width:56px;height:56px;overflow:hidden;border-radius:12px;background:var(--espuma);border-color:var(--line)}
.bs--light .bs__logo img{width:100%;height:100%;object-fit:cover}
.bs--light .bs__logo:has(img[hidden]){display:none}
.bs--light .bs__ttl h2{font-size:1.2rem}
.bs--light .bs__x{background:var(--espuma)}
.bs--light .bs__f+.bs__f,.bs--light .bs__name{border-top-color:var(--line)}
.bs--light .bchip>span{border-color:var(--line-2);background:var(--paper)}
.bs--light .bchip input:checked+span{border-color:var(--atl);background:var(--atl);color:var(--espuma);box-shadow:none}
.bs--light .bchip--day input:checked+span small{color:rgba(243,246,244,.75)}
.bs--light .bs__date{border-color:var(--line-2);background:var(--paper)}
.bs--light .bs__date.is-on{border-color:var(--atl)}
.bs--light .bs__date input{background:var(--espuma);color:var(--ink)}
.bs--light .bs__name input{border-color:var(--line-2);background:var(--paper);color:var(--ink)}
.bs--light .bs__name input:focus{border-color:var(--atl)}
.bs--light .bs__ft{background:var(--espuma);border-top-color:var(--line)}
.bs--light .bs__note a{color:var(--ink);font-weight:620;text-decoration:underline;text-underline-offset:2px}
.bs--light .bs__f legend{color:var(--ink-3)}
/* Lista de experiencias: se pliega en una línea cuando ya hay una elegida */
.rx__list{display:grid;gap:1rem}
.rx__g{display:grid;gap:.4rem}
.rx__gl{font-size:.8rem;font-weight:640;color:var(--ink-3)}
.rx{position:relative;display:block;cursor:pointer}
.rx input{position:absolute;opacity:0;pointer-events:none}
.rx__in{display:flex;align-items:center;gap:.8rem;min-height:64px;padding:.45rem .8rem .45rem .45rem;border-radius:12px;border:1px solid var(--line);background:var(--paper);transition:border-color .2s ease,background-color .2s ease}
.rx__in img{flex:none;width:52px;height:52px;border-radius:8px;object-fit:cover;background:var(--espuma)}
.rx__t{display:grid;gap:.1rem;min-width:0;line-height:1.25}
.rx__t b{font-size:.95rem;font-weight:680}
.rx__t small{font-size:.8rem;color:var(--ink-3)}
.rx input:checked+.rx__in{border-color:var(--atl);background:rgba(10,53,80,.05);box-shadow:inset 0 0 0 1px var(--atl)}
.rx input:focus-visible+.rx__in{outline:2px solid var(--atl);outline-offset:2px}
.rx:active .rx__in{transform:scale(.99)}
@media (hover:hover) and (pointer:fine){.rx:hover .rx__in{border-color:var(--line-2)}}
.rx__pick{display:none;align-items:center;justify-content:space-between;gap:1rem;font-weight:680}
.rx__pick span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rx__chg{flex:none;min-height:40px;padding:.4rem .9rem;border-radius:999px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);font:inherit;font-size:.86rem;font-weight:620;cursor:pointer}
.rx__chg:active{transform:scale(.97)}
.bs.is-picked .rx__pick{display:flex}
.bs.is-picked .rx__list{display:none}
.rs__more[hidden]{display:none}
/* Filas de la calculadora dentro de la ventana */
.book__calc{display:contents}
.rs__rows{margin-top:0;border-top:0}
.rs__rows .book__row{min-height:58px;border-bottom-color:var(--line)}
.rs__rows .book__row:last-child{border-bottom:0}
.rs__rows select{min-height:44px;max-width:60%;padding:0 .8rem;border:1px solid var(--line-2);border-radius:10px;background:var(--espuma);color:var(--ink);font:inherit;font-size:16px}
.bs--light .step{border-color:var(--line-2);background:var(--paper)}
.bs--light .step button{background:var(--espuma)}
/* Ficha: campo de hotel en el formulario */
.book__row--txt input{min-height:44px;width:60%;max-width:60%;padding:0 .8rem;border:1px solid var(--line-2);border-radius:10px;background:var(--espuma);color:var(--ink);font:inherit;font-size:16px}
.book__row--txt input:focus{outline:none;border-color:var(--atl)}
.rs__more{display:grid;gap:.3rem;border-top:1px solid var(--line)}
.bs__name[hidden]{display:none}
@media (min-width:900px){.bs__grab{display:none}}

/* ---------- Catálogo: extras a bordo y estado del mar ---------- */
.xtra{margin-top:clamp(3rem,7vw,5.5rem)}
.xtra__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.6rem 2rem;margin-bottom:1.4rem}
.xtra__k{color:var(--senal-ink)}
.xtra__t{margin-top:.5rem;font-size:clamp(1.9rem,4.4vw,3rem);font-weight:770;font-stretch:118%;line-height:1;letter-spacing:-.025em}
.xtra__lead{color:var(--ink-3);font-size:1rem}
.xtra__grid{display:grid;gap:1rem}
@media (min-width:700px){.xtra__grid{grid-template-columns:1fr 1fr;gap:1.25rem}}
.xo{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:8px;transition:border-color 220ms ease}
@media (hover:hover) and (pointer:fine){.xo:hover{border-color:var(--line-2)}.xo:hover .xo__m img,.xo:hover .xo__m video{transform:scale(1.04)}}
.xo__m{position:relative;aspect-ratio:16/10;border-radius:7px;overflow:hidden;background:var(--atl)}
.xo__clip{position:absolute;inset:0;overflow:hidden}
.xo__m img,.xo__m video,.xo__m .vimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease)}
.xo__b{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1rem .7rem .55rem}
.xo__t{font-size:1.2rem;font-weight:740;font-stretch:112%;letter-spacing:-.01em}
.xo__d{margin-top:.2rem;font-size:.92rem;color:var(--ink-3)}
.xo__p{display:grid;justify-items:end;line-height:1.1;text-align:right}
.xo__p b{font-size:1.75rem;font-weight:820;font-stretch:118%;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.xo__p span{margin-top:.2rem;font-size:.8rem;color:var(--ink-3);font-weight:560}
.xsea{margin-top:1rem;padding:1.1rem 1.2rem 1.2rem;border-radius:12px;position:relative;overflow:hidden}
@media (min-width:900px){.xsea{margin-top:1.25rem;padding:1.4rem 1.6rem}}
.xsea .sea{margin-top:0;padding-top:0;border-top:0}
.crow__wx{white-space:nowrap;font-weight:620;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px;transition:text-decoration-color 200ms ease}
@media (hover:hover) and (pointer:fine){.crow__wx:hover{text-decoration-color:currentColor}}
@media (max-width:699px){
  .xo{flex-direction:row;align-items:stretch}
  .xo__m{flex:none;width:44%;aspect-ratio:4/5}
  .xo__b{flex:1;min-width:0;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:.55rem .4rem .35rem .9rem}
  .xo__t{font-size:1.1rem}
  .xo__p{justify-items:start;text-align:left}
  .xo__p b{font-size:1.6rem}
}
@media (max-width:559px){.xsea .sea dl{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:.8rem}}

/* ---------- Grupos ---------- */
/* Cabecera: en móvil el vídeo (vertical) va a sangre detrás del texto; en escritorio, en un marco 9:16 a la derecha */
.ghero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:min(80svh,720px);background:var(--abisal);color:var(--espuma)}
.ghero__isla{display:none}
.ghero__in{width:100%;padding-top:calc(var(--hdr) + 3rem);padding-bottom:clamp(2rem,6vw,3rem)}
.ghero__media{position:absolute;inset:0;z-index:-2;margin:0;background:var(--abisal)}
.ghero__media video,.ghero__media .vimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ghero__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,31,46,.6) 0%,rgba(7,31,46,.1) 28%,rgba(7,31,46,.5) 55%,rgba(7,31,46,.96) 100%)}
.ghero__tag{display:none}
.ghero .crumbs{color:var(--on-dark-2)}
.ghero .crumbs a{text-decoration-color:var(--line-dark)}
.ghero .lead{margin-top:1.1rem;color:#DCE6EC;max-width:56ch}
.ghero .hero__cta{margin-top:1.6rem}
@media (min-width:900px){
  .ghero{display:block;min-height:0}
  .ghero__shade{display:none}
  .ghero__isla{display:block;position:absolute;right:-6%;top:50%;width:min(58vw,780px);height:auto;transform:translateY(-44%);z-index:-1}
  .ghero__in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(2rem,5vw,5rem);align-items:center;padding-top:calc(var(--hdr) + clamp(2.5rem,5vw,4rem));padding-bottom:clamp(3rem,6vw,5rem)}
  .ghero .h1{font-size:clamp(3rem,6.2vw,5.6rem)}
  .ghero__media{position:relative;inset:auto;z-index:1;width:clamp(270px,24vw,370px);aspect-ratio:9/16;border-radius:20px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.65),0 0 0 1px rgba(243,246,244,.08)}
  .ghero__tag{display:flex;position:absolute;left:.8rem;bottom:.8rem;align-items:center;gap:.5rem;padding:.45rem .8rem;border-radius:99px;background:rgba(7,31,46,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.8rem;font-weight:640}
  .ghero__tag span{width:7px;height:7px;border-radius:50%;background:var(--senal)}
}
/* Ritmo: sin huecos dobles entre secciones del mismo fondo */
.pg-grupos .gplans{padding-top:clamp(3rem,7vw,5.5rem);padding-bottom:clamp(2.5rem,5vw,4rem)}
.gplans__head{grid-template-columns:1fr;align-items:end}
@media (min-width:900px){.gplans__head{grid-template-columns:1fr auto;gap:2rem}.gplans__head .lead{text-align:right;max-width:34ch}}
.pg-grupos .gnight{padding-block:0}
.pg-grupos .howto{padding-top:clamp(3.5rem,8vw,6.5rem)}
/* «Cómo lo organizamos»: pasos compactos en móvil */
@media (max-width:699px){
  .howto__media{min-height:380px}
  .howto__steps{--p:1rem;--c:2.4rem;--gap:.6rem}
  .howto__steps li{gap:.9rem;border-radius:16px}
  .howto__steps b{font-size:1.08rem}
  .howto__steps span{font-size:.94rem;line-height:1.5}
  .howto__steps em{margin-top:.15rem}
}
/* Ventana de presupuesto: personas con número editable y atajos */
.gs__n{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1rem}
.gs__n .step input{width:4.4ch;min-height:46px;border:0;background:transparent;color:inherit;font:inherit;font-size:1.4rem;font-weight:800;text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.gs__n .step input::-webkit-outer-spin-button,.gs__n .step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.gs__n .step input:focus-visible{outline:2px solid var(--atl);outline-offset:2px;border-radius:8px}
.gs__q{gap:.4rem}
.gs__qb{border:0;padding:0;background:none;font:inherit;color:inherit;cursor:pointer}
.gs__qb>span{min-width:52px}
.bs--light .gs__qb[aria-pressed="true"]>span{border-color:var(--atl);background:var(--atl);color:var(--espuma)}
@media (min-width:600px){.ghero .hero__cta .btn{flex:0 0 auto}}

/* ---------- Zonas: mapa y lista enlazados ---------- */
.zsec{padding-top:clamp(1.6rem,4vw,3rem)}
.zx{display:grid;gap:1.2rem}
.zx__map{position:relative;overflow:hidden;background:#0b2233;isolation:isolate}
.zx__stage{position:absolute;inset:0;transform-origin:0 0;will-change:transform;--inv:1}
.zx__stage img{position:absolute;inset:0;width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.zx__route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.zx__route path{fill:none;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:2 7;stroke-linecap:round;opacity:.85;animation:sail 1.6s linear infinite}
.zpin{position:absolute;z-index:2;display:flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--abisal);font:inherit;cursor:pointer;transform:translate(-9px,-50%) scale(var(--inv));transform-origin:9px 50%;-webkit-tap-highlight-color:transparent}
.zpin::before{content:"";position:absolute;left:-10px;top:-14px;width:38px;height:38px}
.zpin__dot{position:relative;flex:none;width:18px;height:18px;border-radius:50%;background:#fff;border:4px solid var(--atl);box-shadow:0 2px 8px rgba(0,0,0,.35);transition:transform 200ms var(--ease),background-color 200ms ease,border-color 200ms ease}
.zpin--base .zpin__dot{background:var(--senal);border-color:#fff}
.zpin--dest .zpin__dot{background:var(--bajio);border-color:#fff}
.zpin__lbl{padding:.32rem .6rem;border-radius:8px;background:rgba(255,255,255,.94);font-size:.8rem;font-weight:680;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.25);transition:background-color 200ms ease,color 200ms ease}
.zpin.is-on{z-index:3}
.zpin.is-on .zpin__dot{transform:scale(1.25);background:var(--senal);border-color:#fff}
.zpin.is-on .zpin__dot::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid var(--senal);animation:pinpulse 1.8s ease-out infinite}
.zpin.is-on .zpin__lbl{background:var(--abisal);color:var(--espuma)}
.zpin:focus-visible{outline:none}.zpin:focus-visible .zpin__lbl{outline:2px solid var(--senal);outline-offset:2px}
@media (hover:hover) and (pointer:fine){.zpin:hover .zpin__dot{transform:scale(1.2)}}
/* Etiquetas: en pantallas estrechas solo la elegida, para no taparse */
@media (max-width:999px){.zpin:not(.is-on) .zpin__lbl{display:none}}
.zx__reset{position:absolute;right:10px;top:10px;z-index:4;display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.4rem .8rem;border:0;border-radius:99px;background:rgba(255,255,255,.94);color:var(--abisal);font:inherit;font-size:.82rem;font-weight:660;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity 200ms ease}
.zx__reset svg{width:14px;height:14px}
.zx.is-zoomed .zx__reset{opacity:1;pointer-events:auto}
.zx__reset:active{transform:scale(.97)}
.zx__hint{position:absolute;left:10px;bottom:10px;z-index:4;margin:0;padding:.4rem .75rem;border-radius:99px;background:rgba(7,31,46,.78);color:var(--espuma);font-size:.78rem;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity 300ms ease;pointer-events:none}
.zx.is-used .zx__hint{opacity:0}
.zx__h{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.4rem}
.zx__list{list-style:none;margin:0;padding:0;display:grid}
.zx__it{border-bottom:1px solid var(--line)}
.zx__hd{display:flex;align-items:center;gap:.8rem;width:100%;min-height:58px;padding:.7rem 0 .2rem;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.zx__dot{flex:none;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--atl)}
.zx__it--base .zx__dot{background:var(--senal);border-color:var(--senal)}
.zx__it--dest .zx__dot{background:var(--bajio);border-color:var(--bajio)}
.zx__t{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .7rem}
.zx__t b{font-size:1.08rem;font-weight:760;font-stretch:110%}
.zx__t em{font-style:normal;font-size:.8rem;font-weight:660;color:var(--senal-ink)}
.zx__pm{position:relative;flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);transition:background-color 200ms ease,border-color 200ms ease}
.zx__pm::before,.zx__pm::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.6px;margin:-.8px 0 0 -5.5px;background:currentColor;border-radius:2px;transition:transform 220ms var(--ease)}
.zx__pm::after{transform:rotate(90deg)}
.zx__it.is-on .zx__pm{background:var(--abisal);border-color:var(--abisal);color:var(--espuma)}
.zx__it.is-on .zx__pm::after{transform:rotate(0)}
.zx__sum{padding:0 0 .9rem calc(12px + .8rem);color:var(--ink-2);font-size:.94rem;line-height:1.5}
.zx__more{padding:0 0 1.1rem calc(12px + .8rem);display:grid;gap:.75rem}
.zx__more[hidden]{display:none}
.zx__tip{padding:.7rem .85rem;border-radius:10px;background:var(--paper);border:1px solid var(--line);font-size:.88rem;color:var(--ink-2);line-height:1.45}
.zx__tip b{color:var(--abisal)}
.zx__exl{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.zx__ex{display:grid;border-top:1px solid var(--line);margin-top:-.35rem}
.zx__ex a{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-height:52px;padding:.5rem 0;border-bottom:1px solid var(--line);color:var(--ink)}
.zx__ex a span{display:grid;line-height:1.25}
.zx__ex a b{font-weight:660;font-size:.94rem}
.zx__ex a small{font-size:.8rem;color:var(--ink-3)}
.zx__ex .arr{flex:none;width:15px;height:15px;transition:transform 220ms var(--ease)}
@media (hover:hover) and (pointer:fine){.zx__ex a:hover .arr{transform:translateX(3px)}.zx__hd:hover .zx__pm{border-color:var(--ink)}}
.zx__co{font-size:.76rem;font-weight:600;color:var(--ink-3);letter-spacing:.04em;font-variant-numeric:tabular-nums}
/* Móvil y tableta: mapa a sangre y fijo arriba mientras se recorre la lista */
@media (max-width:999px){
  .pg-zonas .hdr.is-hidden{transform:none}
  .zx__mapcol{position:sticky;top:var(--hdr);z-index:5;margin-inline:calc(-1 * var(--g)) calc(-1 * var(--gr));background:var(--espuma)}
  .zx__mapcol .map__note{padding:.35rem var(--g) .5rem;margin:0;font-size:.7rem;box-shadow:0 8px 14px -12px rgba(7,31,46,.4)}
}
/* Escritorio: mapa a la izquierda y lista a la derecha, con la misma altura */
@media (min-width:1000px){
  .zx{grid-template-columns:minmax(0,1fr) minmax(340px,400px);gap:clamp(1.5rem,3vw,2.5rem);align-items:stretch}
  .zx__map{border-radius:20px}
  .zx__side{position:relative;min-height:0}
  .zx__scroll{position:absolute;inset:0 0 1.9rem;overflow-y:auto;overscroll-behavior:contain;padding-right:.4rem;scrollbar-width:thin}
  .zx__reset{right:14px;top:14px}.zx__hint{left:14px;bottom:14px}
}
/* Fuera de zona */
.zout{position:relative;overflow:hidden;isolation:isolate;margin-top:clamp(2.5rem,6vw,4.5rem);padding:clamp(1.4rem,4vw,2.6rem);border-radius:20px;display:grid;gap:1.2rem;align-items:center}
.zout__isla{right:-12%;top:50%;width:min(70vw,520px);height:auto;transform:translateY(-50%);z-index:-1;opacity:.14}
.zout__t{font-size:clamp(1.45rem,3vw,2.1rem);font-weight:770;font-stretch:116%;line-height:1.05;letter-spacing:-.015em}
.zout__txt p{margin-top:.6rem;color:var(--on-dark-2);max-width:52ch;line-height:1.55}
.zout__f{display:grid;gap:.6rem}
.zout__f input{min-height:52px;padding:.6rem 1rem;border-radius:999px;border:1px solid rgba(243,246,244,.28);background:rgba(243,246,244,.08);color:var(--espuma);font:inherit;font-size:16px}
.zout__f input::placeholder{color:rgba(243,246,244,.6)}
.zout__f input:focus{outline:none;border-color:var(--senal)}
@media (min-width:900px){.zout{grid-template-columns:1fr minmax(320px,420px);gap:2.5rem}}
.zout__f .btn{width:100%}   /* debajo del campo: el texto del botón varía mucho entre idiomas */
@media (prefers-reduced-motion:reduce){.zx__route path,.zpin.is-on .zpin__dot::after{animation:none}}
.zx__map{background:#051a29}
.zpin--l{flex-direction:row-reverse;transform:translate(calc(-100% + 9px),-50%) scale(var(--inv));transform-origin:calc(100% - 9px) 50%}
.zpin--l::before{left:auto;right:-10px}
@media (min-width:1000px){
  .zx{grid-template-columns:min(calc((100svh - var(--hdr) - 6rem) * 1.2479),calc(100% - 340px - 2.5rem)) minmax(340px,1fr)}
}
/* Bordes de la ortofoto fundidos con el mar, para cuando el zoom deja ver margen */
.zx__stage img{z-index:0}
.zx__stage::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,transparent 90%,#051a29),linear-gradient(to right,#051a29,transparent 5%,transparent 95%,#051a29)}
.zx__route{z-index:2}
.zpin{z-index:3}.zpin.is-on{z-index:4}
/* Foto característica de cada zona */
.zx__ph{position:relative;margin:0;border-radius:12px;overflow:hidden;background:var(--sand);aspect-ratio:16/9}
.zx__ph img{width:100%;height:100%;object-fit:cover;display:block}
.zx__ph{aspect-ratio:2/1}

/* ---------- Profesionales ---------- */
.pg-pro .phead .h1{font-size:clamp(2.3rem,6.6vw,5.4rem)}
.pro__cta{margin-top:1.8rem}
.pro__cta .btn .ico{width:18px;height:18px}
@media (min-width:600px){.pro__cta .btn{flex:0 0 auto}}
.pro__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;margin-top:clamp(2rem,5vw,3rem);padding-top:1.2rem;border-top:1px solid var(--line-dark);max-width:760px}
.pro__stats dt{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-2)}
.pro__stats dd{margin-top:.25rem;font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:760;font-stretch:112%;color:var(--espuma)}
@media (min-width:700px){.pro__stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pro__sec{scroll-margin-top:calc(var(--hdr) + 1rem)}
@media (min-width:1000px){.pro__split>.form{position:sticky;top:calc(var(--hdr) + 1.5rem)}}
.pro__more{margin-top:1.2rem;font-weight:620}
/* Catálogo en PDF */
.pcat{overflow:hidden}
.pcat__grid{display:grid;gap:clamp(2.5rem,6vw,4rem);align-items:center}
@media (min-width:1000px){.pcat__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}
.pcat__k{color:#FFB3C1}
.pcat__txt .h2{margin-top:.8rem;font-size:clamp(2rem,4.4vw,3.6rem)}
.pcat__txt .lead{margin-top:1.1rem;color:var(--on-dark-2);max-width:48ch}
.pcat__list{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;gap:.75rem;max-width:52ch}
.pcat__list li{position:relative;padding-left:1.4rem;color:#DCE6EC;line-height:1.5}
.pcat__list li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--senal)}
.pcat__cta{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;margin-top:2rem}
.pcat__cta .ico{width:20px;height:20px}
.pcat__meta{font-size:.85rem;color:var(--on-dark-2);font-variant-numeric:tabular-nums}
.pcat__fan{position:relative;display:block;width:min(100%,520px);aspect-ratio:1/1;margin-inline:auto;-webkit-tap-highlight-color:transparent}
.pcat__pg{position:absolute;top:6%;left:50%;width:56%;height:auto;border-radius:6px;box-shadow:0 30px 60px -24px rgba(0,0,0,.7),0 0 0 1px rgba(243,246,244,.08);transform-origin:50% 100%;transition:transform 500ms var(--ease)}
.pcat__pg--1{z-index:3;transform:translateX(-62%) rotate(-5deg)}
.pcat__pg--2{z-index:2;transform:translateX(-46%) rotate(3deg)}
.pcat__pg--3{z-index:1;transform:translateX(-28%) rotate(11deg)}
@media (hover:hover) and (pointer:fine){
  .pcat__fan:hover .pcat__pg--1{transform:translateX(-74%) rotate(-9deg) translateY(-6px)}
  .pcat__fan:hover .pcat__pg--2{transform:translateX(-48%) rotate(2deg) translateY(-10px)}
  .pcat__fan:hover .pcat__pg--3{transform:translateX(-20%) rotate(14deg)}
}
.pcat__fan:focus-visible{outline:2px solid var(--senal);outline-offset:6px;border-radius:12px}
@media (max-width:999px){.pcat__fan{width:min(100%,380px)}}
@media (prefers-reduced-motion:reduce){.pcat__pg{transition:none}}
.form__done p{min-width:0;overflow-wrap:anywhere}

/* ---------- Ficha: cancelación por el estado del mar (panel con el mar en directo del puerto de salida) ---------- */
.cxl{position:relative;isolation:isolate;overflow:hidden;padding:clamp(1.4rem,4vw,2.4rem);border-radius:20px;background:linear-gradient(140deg,var(--abisal),var(--atl) 70%);color:var(--espuma)}
.isla--cxl{right:-22%;top:-30%;width:min(78%,520px);height:auto;opacity:.1;z-index:-1}
.pbody .cxl h2.cxl__t{margin:0 0 .7rem;font-size:clamp(1.45rem,3.6vw,2rem)}
.cxl__lead{max-width:46ch;color:var(--on-dark-2);line-height:1.55}
.cxl__lead b{color:var(--espuma);font-weight:680}
.cxl__pick{margin-top:1.3rem;font-size:.72rem;font-weight:680;letter-spacing:.1em;text-transform:uppercase;color:var(--bajio)}
.cxl__opts{display:flex;align-items:stretch;gap:.6rem;margin-top:.6rem}
.cxl__opts li:not(.cxl__or){flex:1 1 0;min-width:0;display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border-radius:14px;background:rgba(243,246,244,.07);border:1px solid rgba(243,246,244,.16);font-weight:680;line-height:1.25}
.cxl__opts svg{flex:none;width:24px;height:24px;color:var(--bajio)}
.cxl__or{align-self:center;font-size:.86rem;color:var(--on-dark-2)}
.cxl__now{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line-dark)}
.cxl__nowh{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .6rem;font-size:.74rem;font-weight:680;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2)}
.cxl__state{padding:.2rem .55rem;border-radius:999px;font-size:.7rem;letter-spacing:.04em;background:rgba(46,196,182,.16);color:var(--bajio);transition:opacity 200ms ease}
.cxl__state[data-level="mid"]{background:rgba(200,137,75,.2);color:#E7B27C}
.cxl__state[data-level="bad"]{background:rgba(232,96,122,.2);color:#F29BAC}
.cxl dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.8rem}
.cxl dl div{padding:.75rem .8rem .8rem;border-radius:12px;background:rgba(243,246,244,.05);border:1px solid rgba(243,246,244,.12)}
.cxl dt{display:flex;align-items:center;gap:.4rem;font-size:.68rem;font-weight:660;letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-2)}
.cxl dt svg{flex:none;width:16px;height:16px;color:var(--bajio)}
.cxl dd{margin-top:.3rem;font-size:clamp(1.05rem,3.2vw,1.4rem);font-weight:740;font-stretch:108%;font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere;hyphens:auto}
.cxl__foot{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.4rem 1rem;margin-top:.8rem}
.cxl__foot small{font-size:.74rem;color:var(--on-dark-2)}
.cxl__more{display:inline-flex;align-items:center;gap:.35rem;font-size:.86rem;font-weight:660;color:var(--espuma);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(243,246,244,.35);transition:text-decoration-color 200ms ease}
.cxl__more span{transition:transform 200ms var(--ease)}
@media (hover:hover) and (pointer:fine){.cxl__more:hover{text-decoration-color:var(--senal)}.cxl__more:hover span{transform:translateX(3px)}}
.cxl__tip{margin-top:1.2rem;padding-left:.8rem;border-left:2px solid var(--senal);font-size:.88rem;line-height:1.5;color:var(--on-dark-2)}
@media (max-width:599px){
  .cxl{padding:1.3rem 1.1rem 1.2rem;border-radius:18px}
  .cxl__opts{flex-direction:column;gap:.4rem}
  .cxl__or{align-self:flex-start;padding-left:1rem}
  .cxl dl{gap:.35rem}
  .cxl dl div{padding:.65rem .6rem .7rem}
  .cxl dt{font-size:.62rem;letter-spacing:.06em}
  .cxl dt svg{width:14px;height:14px}
  .cxl__foot{flex-direction:column;align-items:flex-start}
}
/* Línea de garantía en el formulario de la ficha */
.book__safe{display:flex;align-items:center;gap:.5rem;margin-top:.9rem;font-size:.86rem;font-weight:640;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:transparent;transition:text-decoration-color 200ms ease}
.book__safe svg{flex:none;width:20px;height:20px;color:#1D9C90}
@media (hover:hover) and (pointer:fine){.book__safe:hover{text-decoration-color:var(--line-2)}}
.book__safe+.book__fine{margin-top:.5rem}
/* Catálogo: idioma del PDF */
/* Idioma del catálogo: botones con los 10 idiomas a la vista */
.pcat__lang{border:0;margin:1.8rem 0 0;padding:0;min-width:0}
.pcat__lang legend{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;padding:0;margin-bottom:.75rem;font-size:.72rem;font-weight:680;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-2)}
.pcat__lang legend svg{width:16px;height:16px;color:var(--bajio)}
.pcat__lang legend b{font-size:.95rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--espuma)}
.pcat__langs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;max-width:30rem}
.pcat__lg{position:relative;cursor:pointer}
.pcat__lg input{position:absolute;opacity:0;pointer-events:none}
.pcat__lg span{display:grid;place-items:center;min-height:44px;border-radius:12px;border:1px solid rgba(243,246,244,.22);background:rgba(243,246,244,.04);color:var(--on-dark-2);font-weight:750;font-size:.9rem;letter-spacing:.06em;transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease,transform 160ms var(--ease)}
.pcat__lg input:checked+span{background:var(--espuma);border-color:var(--espuma);color:var(--abisal);box-shadow:0 8px 22px -12px rgba(243,246,244,.6)}
.pcat__lg:active span{transform:scale(.96)}
.pcat__lg input:focus-visible+span{outline:2px solid var(--bajio);outline-offset:2px}
@media (hover:hover) and (pointer:fine){.pcat__lg:hover input:not(:checked)+span{border-color:rgba(243,246,244,.5);color:var(--espuma);background:rgba(243,246,244,.09)}}
@media (min-width:900px){.pcat__langs{grid-template-columns:repeat(10,minmax(0,1fr));max-width:38rem}.pcat__lg span{min-height:40px;font-size:.82rem}}
.pcat__lang+.pcat__cta{margin-top:1rem}
.pcat__fan.is-swap .pcat__pg{opacity:.35}

/* Opiniones de Google: aviso previo a cargar Jotform (cookies de terceros) */
.gconsent{max-width:40rem;margin:0;padding:1.4rem 1.3rem;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:14px;display:grid;gap:.9rem;text-align:left}
.gconsent p{margin:0;line-height:1.55}
.gconsent__act{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem}
.gconsent small{opacity:.75}
.gconsent small a{color:inherit}
.rev .gconsent{margin-bottom:clamp(1.5rem,4vw,3rem)}
@media (max-width:599px){.gconsent__act .btn{width:100%;justify-content:center}}

/* ---------- Oferta temporal: popup (Black Friday) ---------- */
.bs--offer .of{overflow:hidden;background:radial-gradient(120% 60% at 100% 100%,rgba(232,96,122,.16),transparent 60%),linear-gradient(180deg,#0B1622,#05080E)}
.bs--offer .of__media{position:relative;display:block;flex:none;height:clamp(128px,19svh,210px);padding:0;border:0;overflow:hidden;isolation:isolate;--mx:70%;--my:30%}
.of__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:50% 60%}
.of__media::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,8,14,.25) 0%,transparent 35%,rgba(5,8,14,.2) 60%,#0B1622 100%)}
/* luz del sol filtrada por el agua, como se ve desde el casco */
.of__caustic{position:absolute;inset:-20%;z-index:1;pointer-events:none;mix-blend-mode:soft-light;opacity:.85;
  background:radial-gradient(40% 30% at var(--mx) var(--my),rgba(255,255,255,.5),transparent 70%),
  radial-gradient(30% 22% at 25% 35%,rgba(160,250,240,.35),transparent 70%),
  radial-gradient(26% 20% at 75% 65%,rgba(255,255,255,.28),transparent 70%);
  animation:ofCaustic 9s ease-in-out infinite alternate}
@keyframes ofCaustic{to{transform:translate3d(6%,4%,0) rotate(4deg) scale(1.06)}}
.bs--offer .bs__grab{position:absolute;top:0;left:0;right:0;z-index:3}
.bs--offer .bs__grab span{background:rgba(243,246,244,.6)}
.of__tag{position:absolute;z-index:2;top:1rem;left:1rem;margin:0}
.of__tag span{position:relative;display:inline-block;overflow:hidden;padding:.42rem .8rem .4rem;border-radius:999px;background:#05080E;border:1px solid rgba(232,96,122,.7);color:var(--senal);font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-stretch:118%;box-shadow:0 6px 24px -8px rgba(232,96,122,.7)}
.of__tag span::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-120%);animation:ofShine 3.2s 1.4s ease-in-out infinite}
@keyframes ofShine{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.of__x{position:absolute;z-index:4;top:.8rem;right:.8rem;background:rgba(5,8,14,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.of__count{position:absolute;z-index:2;left:1rem;right:1rem;bottom:.8rem;display:flex;align-items:flex-end;justify-content:space-between;gap:.6rem}
.of__cl{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(243,246,244,.82);max-width:9rem;line-height:1.25}
.of__units{display:flex;gap:.3rem}
.of__u{display:grid;justify-items:center;min-width:2.9rem;padding:.35rem .3rem .3rem;border-radius:10px;background:rgba(5,8,14,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(243,246,244,.14);overflow:hidden}
.of__u b{display:block;font-size:1.15rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
.of__u small{font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(243,246,244,.66)}
.bs--offer .of__body{gap:.15rem;padding-top:.9rem}
.of__kick{margin:0;font-size:.8rem;color:rgba(243,246,244,.72)}
.of__kick b{color:var(--espuma);font-weight:700}
.of__t{margin:.15rem 0 0;font-size:clamp(1.3rem,5.4vw,1.7rem);font-weight:800;font-stretch:112%;letter-spacing:-.01em;line-height:1.08}
.of__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .8rem;margin-top:.55rem}
.of__was{position:relative;font-size:1.25rem;font-weight:600;color:rgba(243,246,244,.5);font-variant-numeric:tabular-nums}
.of__was i{position:absolute;left:-6%;right:-6%;top:52%;height:2px;border-radius:2px;background:var(--senal);transform:scaleX(1);transform-origin:left center;rotate:-10deg}
.of__now{display:inline-block;font-size:clamp(2.8rem,13vw,3.6rem);font-weight:850;font-stretch:118%;line-height:.95;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums;transform-origin:left bottom;text-shadow:0 10px 40px rgba(232,96,122,.45)}
.of__per{font-size:.85rem;color:rgba(243,246,244,.7)}
.of__grp{justify-self:start;display:inline-flex;align-items:baseline;gap:.35rem;margin:.6rem 0 0;padding:.35rem .75rem;border-radius:999px;background:rgba(46,196,182,.13);color:#9FEDE5;font-size:.84rem}
.of__grp b{color:var(--bajio);font-weight:800}
.of__calc{margin-top:.8rem;padding:.7rem .9rem .8rem;border-radius:16px;background:rgba(243,246,244,.04);border:1px solid rgba(243,246,244,.1);display:grid;gap:.45rem}
.of__row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.of__lb{font-weight:700}
.bs--offer .step button{border-color:rgba(243,246,244,.24);color:inherit}
.bs--offer .step button:disabled{opacity:.3;cursor:default}
.of__meter{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.of__meter span{height:6px;border-radius:3px;background:rgba(243,246,244,.12);transform-origin:left;transition:background-color 260ms ease,box-shadow 260ms ease}
.of__meter span.is-on{background:rgba(232,96,122,.75)}
.of.is-group .of__meter span{background:var(--bajio);box-shadow:0 0 12px rgba(46,196,182,.55)}
.of__hint{margin:0;font-size:.8rem;color:rgba(243,246,244,.7);min-height:1.2em}
.of.is-group .of__hint{color:#9FEDE5}
.of__tot{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .7rem;padding-top:.55rem;border-top:1px solid rgba(243,246,244,.08)}
.of__tot span{font-size:.8rem;color:rgba(243,246,244,.66)}
.of__tot b{font-size:1.45rem;font-weight:800;font-variant-numeric:tabular-nums;margin-left:auto}
.of__tot em{font-style:normal;font-size:.76rem;font-weight:700;padding:.18rem .5rem;border-radius:999px;background:rgba(232,96,122,.16);color:#F7A3B4}
.bs--offer .of__ft{display:grid;gap:.55rem;justify-items:center}
.of__more{margin-top:.45rem}
.of__more{color:inherit;font-size:.88rem;font-weight:600;text-decoration:none;opacity:.85}
.of__more:hover{opacity:1;text-decoration:underline}
.bs--offer .bs__note{text-align:center;margin:0}
@media (min-width:900px){
  .bs--offer .bs__panel{width:min(900px,100%);display:grid;grid-template-columns:minmax(300px,380px) 1fr;grid-template-rows:1fr auto;max-height:min(90vh,640px)}
  .bs--offer .of__media{grid-row:1/3;height:auto}
  .of__media::after{background:linear-gradient(180deg,rgba(5,8,14,.3),transparent 30%,transparent 62%,rgba(5,8,14,.75))}
  .bs--offer .of__body{grid-column:2;padding:1.6rem 1.8rem .4rem}
  .bs--offer .of__ft{grid-column:2;padding:.8rem 1.8rem 1.4rem;border-radius:0 0 22px 0}
  .of__count{flex-direction:column;align-items:flex-start}
  .of__cl{max-width:none}
}
@media (max-height:700px) and (max-width:899px){.bs--offer .of__media{height:130px}.of__calc{margin-top:.6rem}}
@media (prefers-reduced-motion:reduce){.of__caustic,.of__tag span::after{animation:none}}

/* Ficha: aviso de la oferta encima del formulario de reserva */
.ofb{position:relative;overflow:hidden;margin-bottom:1rem;padding:1.1rem 1.2rem 1.2rem;border-radius:16px;color:var(--espuma);background:radial-gradient(110% 80% at 100% 0%,rgba(232,96,122,.28),transparent 60%),linear-gradient(160deg,#0B1622,#05080E);display:grid;gap:.35rem;box-shadow:0 18px 40px -22px rgba(5,8,14,.7)}
.ofb[hidden]{display:none}
.ofb__tag{margin:0}
.ofb__tag span{display:inline-block;padding:.32rem .65rem;border-radius:999px;border:1px solid rgba(232,96,122,.7);color:var(--senal);font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-stretch:118%}
.ofb__t{margin:.2rem 0 0;font-weight:700}
.ofb__p{display:flex;align-items:baseline;gap:.6rem;margin:0}
.ofb__p s{color:rgba(243,246,244,.5);text-decoration-color:var(--senal);text-decoration-thickness:2px;font-size:1.1rem}
.ofb__p b{font-size:2.3rem;font-weight:850;font-stretch:118%;line-height:1}
.ofb__p span{font-size:.82rem;color:rgba(243,246,244,.7)}
.ofb__g{margin:0;font-size:.86rem;color:#9FEDE5}
.ofb__g b{color:var(--bajio)}
.ofb .btn{justify-self:start;margin-top:.4rem}
.book__calc.is-offer .lb small s{opacity:.6}
.book.is-offer [data-total]{color:var(--senal-ink)}
.book.is-offer .book__price s{font-size:.5em;font-weight:600;color:var(--ink-3);text-decoration-color:var(--senal);text-decoration-thickness:2px;margin-right:.15em}

/* Oferta: aviso pequeño abajo a la derecha tras cerrar el popup */
.ofc{position:fixed;z-index:65;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:.15rem;padding:.3rem;border-radius:999px;color:var(--espuma);background:linear-gradient(160deg,#0E1824,#05080E);box-shadow:0 0 0 1px rgba(232,96,122,.45),0 14px 34px -10px rgba(5,8,14,.65),0 0 28px -6px rgba(232,96,122,.45)}
.ofc[hidden]{display:none}
.has-dock .ofc{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.ofc__open{display:flex;align-items:center;gap:.6rem;padding:.35rem .5rem .35rem .7rem;border:0;border-radius:999px;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;transition:transform 160ms var(--ease)}
.ofc__open:active{transform:scale(.97)}
.ofc__dot{position:relative;width:9px;height:9px;border-radius:50%;background:var(--senal);flex:none}
.ofc__dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--senal);opacity:0;animation:ofcPing 2.2s ease-out infinite}
@keyframes ofcPing{0%{transform:scale(.5);opacity:.8}80%,100%{transform:scale(1.5);opacity:0}}
.ofc__t{display:grid;line-height:1.1}
.ofc__t b{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--senal);font-stretch:115%}
.ofc__t small{font-size:.74rem;color:rgba(243,246,244,.75);white-space:nowrap}
.ofc__p{display:flex;align-items:baseline;gap:.3rem;padding:.3rem .65rem;border-radius:999px;background:rgba(243,246,244,.08)}
.ofc__p s{font-size:.72rem;color:rgba(243,246,244,.55);text-decoration-color:var(--senal)}
.ofc__p b{font-size:1.05rem;font-weight:850;font-variant-numeric:tabular-nums}
.ofc__x{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:none;color:rgba(243,246,244,.6);cursor:pointer}
.ofc__x svg{width:14px;height:14px}
@media (hover:hover) and (pointer:fine){.ofc__open:hover .ofc__p{background:rgba(232,96,122,.22)}.ofc__x:hover{color:var(--espuma)}}
@media (prefers-reduced-motion:reduce){.ofc__dot::after{animation:none}}
.of__lb small{display:block;font-size:.76rem;font-weight:500;color:rgba(243,246,244,.66)}
.of__lb small s{text-decoration-color:var(--senal)}
@media (max-width:599px){.ofc__p s{display:none}.ofc__open{gap:.5rem;padding-left:.6rem}.of__row .step button{width:40px;height:40px}}

/* Aviso de cookies: discreto, abajo a la izquierda en escritorio y a lo ancho en móvil */
.ck{position:fixed;z-index:66;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:.8rem;padding:.6rem .6rem .6rem .95rem;border-radius:14px;background:rgba(7,31,46,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--espuma);font-size:.8rem;line-height:1.4;box-shadow:0 12px 30px -12px rgba(5,8,14,.55)}
.ck[hidden]{display:none}
.ck p{margin:0;flex:1;min-width:0}
.ck a{color:inherit;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.ck__ok{flex:none;min-height:36px;padding:.4rem 1rem;border:0;border-radius:999px;background:var(--espuma);color:var(--abisal);font:inherit;font-weight:700;cursor:pointer;transition:transform 160ms var(--ease)}
.ck__ok:active{transform:scale(.97)}
.has-dock .ck{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
.has-ck .ofc{bottom:calc(var(--ckh,0px) + 22px + env(safe-area-inset-bottom,0px))}
.has-ck .has-dock .ofc,.has-ck body.has-dock .ofc{bottom:calc(var(--ckh,0px) + 94px + env(safe-area-inset-bottom,0px))}
@media (min-width:900px){
  .ck{right:auto;max-width:430px;bottom:20px}
  .has-ck .ofc{bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  .has-ck body.has-dock .ofc{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}

/* Formulario de profesionales: campo trampa para robots (invisible) y estado de envío */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form button[disabled]{opacity:.7;cursor:progress}
.form__done[hidden]{display:none!important}

/* ---------- Contacto (2026-10-28) ---------- */
.ct-hero__cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem}
.ct-hero__cta .btn svg{width:18px;height:18px}
.ct-clock{display:flex;align-items:center;gap:.5rem;margin-top:1.4rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2)}
.ct-clock b{font-size:1rem;letter-spacing:0;color:var(--espuma);font-variant-numeric:tabular-nums}
.ct-cards{display:grid;gap:1rem}
@media (min-width:900px){.ct-cards{grid-template-columns:1.15fr 1fr 1fr;align-items:stretch}}
.ct-card{position:relative;display:flex;flex-direction:column;gap:.35rem;padding:1.4rem 1.4rem 1.3rem;border-radius:16px;background:var(--paper);border:1px solid var(--line);transition:transform 260ms var(--ease),box-shadow 260ms var(--ease),border-color 200ms ease}
.ct-card--wa{background:linear-gradient(160deg,#0A3550,#071F2E);color:var(--espuma);border-color:transparent;overflow:hidden;isolation:isolate}
.ct-card--wa::after{content:"";position:absolute;right:-30%;top:-40%;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(46,196,182,.22),transparent 65%);z-index:-1}
.ct-card__top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.4rem}
.ct-card__ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(10,53,80,.07);color:var(--atl)}
.ct-card--wa .ct-card__ic{background:rgba(243,246,244,.1);color:var(--bajio)}
.ct-card__ic svg{width:22px;height:22px}
.ct-card__tag{padding:.28rem .6rem;border-radius:999px;background:rgba(46,196,182,.16);color:#9FEDE5;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ct-card__lbl{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.ct-card--wa .ct-card__lbl{color:var(--on-dark-2)}
.ct-card__val{margin:0;font-size:1.32rem;font-weight:760;font-stretch:112%;line-height:1.2;overflow-wrap:anywhere}
.ct-card__d{margin:.1rem 0 0;color:var(--ink-2);font-size:.95rem;line-height:1.5;flex:1}
.ct-card--wa .ct-card__d{color:var(--on-dark-2)}
.ct-card__act{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.ct-card__act .btn svg{width:16px;height:16px}
.ct-copy{display:inline-flex;align-items:center;gap:.35rem;min-height:40px;padding:0 .8rem;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:.85rem;font-weight:600;opacity:.75;cursor:pointer;transition:opacity 160ms ease,background-color 160ms ease}
.ct-copy svg{width:16px;height:16px}
.ct-copy.is-done{opacity:1;color:#0F7B70}
.ct-card--wa .ct-copy.is-done{color:var(--bajio)}
@media (hover:hover) and (pointer:fine){
  .ct-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(7,31,46,.45)}
  .ct-card:not(.ct-card--wa):hover{border-color:rgba(10,53,80,.25)}
  .ct-copy:hover{opacity:1;background:rgba(10,53,80,.06)}
  .ct-card--wa .ct-copy:hover{background:rgba(243,246,244,.08)}
}
.ct-write{background:var(--paper)}
.ct-write__grid{display:grid;gap:2rem}
@media (min-width:900px){.ct-write__grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:4rem;align-items:center}}
.ct-write .lead{margin-top:1rem;max-width:36rem}
.ct-form{margin-top:1.6rem;padding:0;border:0;background:none;box-shadow:none}
.ct-people{display:grid;gap:.6rem}
@media (min-width:600px){.ct-people{grid-template-columns:1fr 1fr}}
.ct-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;min-height:58px;padding:.35rem .4rem .35rem 1rem;border:1px solid var(--line-2);border-radius:10px;background:var(--espuma)}
.ct-row__l{color:var(--ink-3)}
.ct-row output{min-width:2.4ch;text-align:center;font-size:1.15rem;font-weight:760;font-variant-numeric:tabular-nums}
.ct-row .step button{width:40px;height:40px}
.ct-mini{padding:.9rem;border-radius:14px;background:#efeae2;background-image:radial-gradient(rgba(17,27,33,.06) 1.2px,transparent 1.3px);background-size:14px 14px}
.ct-mini__l{margin:0 0 .5rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#667781}
.ct-mini__chat{display:flex;flex-direction:column}
.ct-msg{align-self:flex-end;max-width:92%;background:#d9fdd3;color:#111b21;box-shadow:0 1px .5px rgba(11,20,26,.13);font-size:.92rem;line-height:1.4;transform-origin:100% 100%}
.ct-mini .wm__t{color:#667781}
.ct-msg p{white-space:pre-line}
.ct-msg .ph{color:#667781}
.ct-msg.is-bump{animation:ctbump .32s cubic-bezier(.23,1,.32,1)}
@keyframes ctbump{from{transform:scale(.97)}to{transform:none}}
.ct-write__phone{display:none}
@media (min-width:900px){
  .ct-mini{display:none}
  .ct-write__phone{display:grid;justify-items:center;gap:1rem;position:sticky;top:calc(var(--hdr) + 2rem)}
  .ct-write__phone .wa{width:300px}
  .ct-write__phone .wa__chat{justify-content:flex-end}
  .ct-write__phone .ct-msg{font-size:12.5px;max-width:86%}
  .ct-write__cap{margin:0;font-size:.82rem;color:var(--ink-3)}
}
.ct-where .map__scroll{margin-top:1.6rem}
.ct-where__more{margin-top:1.2rem}
.ct-faq__grid{display:grid;gap:1.4rem}
@media (min-width:900px){.ct-faq__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;align-items:start}}
@media (prefers-reduced-motion:reduce){.ct-msg.is-bump{animation:none}}
.ct-chan{padding-bottom:clamp(2.2rem,5vw,3.5rem)}
.ct-chan+.ct-write{padding-top:clamp(2.6rem,6vw,5rem)}
.foot__ig{color:inherit;text-decoration:none}
@media (hover:hover) and (pointer:fine){.foot__ig:hover b{text-decoration:underline}}
.ct-social{margin:1.2rem 0 0}
.ct-social a{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;color:var(--ink-2);text-decoration:none;font-size:.95rem}
.ct-social svg{width:20px;height:20px;color:var(--atl)}
.ct-social b{color:var(--ink);font-weight:700}
@media (hover:hover) and (pointer:fine){.ct-social a:hover b{text-decoration:underline}}
