@font-face{font-family:'Fraunces';src:url('../fuentes/fraunces-normal-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';src:url('../fuentes/fraunces-normal-latin-ext.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';src:url('../fuentes/fraunces-italic-latin.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';src:url('../fuentes/fraunces-italic-latin-ext.woff2') format('woff2');font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';src:url('../fuentes/manrope-normal-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';src:url('../fuentes/manrope-normal-latin-ext.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --tinta:#1b2a52;
  --tinta-2:#223565;
  --abismo:#04121f;
  --mar:#0a5a76;
  --aqua:#2fbfcd;
  --aqua-claro:#a9e9ef;
  --espuma:#f7fcfd;
  --arena:#e8d8bd;
  --coral:#dd7350;
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --texto:'Manrope',system-ui,-apple-system,Segoe UI,sans-serif;
  --ancho:min(1300px,90vw);
  --hair:rgba(27,42,82,.14);
  --hair-claro:rgba(255,255,255,.22);
  --sombra:0 24px 60px -28px rgba(9,26,48,.45);
  --curva:cubic-bezier(.19,1,.22,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{
  margin:0;background:var(--espuma);color:var(--tinta);
  font-family:var(--texto);font-weight:400;font-size:clamp(15px,1.05vw,17px);line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4,p,figure,blockquote{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
::selection{background:var(--aqua);color:#03202a}
:focus-visible{outline:2px solid var(--aqua);outline-offset:4px}

/* ---------- grano y luz ---------- */
.grano{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.causticas{position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:soft-light;
  background:
    radial-gradient(60% 40% at 20% 10%,rgba(47,191,205,.35),transparent 70%),
    radial-gradient(50% 35% at 80% 20%,rgba(255,255,255,.5),transparent 70%);
  animation:caustica 18s ease-in-out infinite alternate}
@keyframes caustica{from{transform:translate3d(-2%,-1%,0) scale(1.05)}to{transform:translate3d(3%,2%,0) scale(1.12)}}

/* ---------- utilidades ---------- */
.env{width:var(--ancho);margin-inline:auto}
.oculto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kicker{font-family:var(--texto);font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;font-weight:600;color:var(--mar);display:flex;align-items:center;gap:.9rem}
.kicker::before{content:"";width:38px;height:1px;background:currentColor;opacity:.6;flex:none}
.kicker--claro{color:var(--aqua-claro)}
.titulo{font-family:var(--display);font-weight:300;font-size:clamp(2.6rem,5.6vw,5.4rem);line-height:1.02;letter-spacing:-.025em}
.titulo em{font-style:italic;font-weight:300}
.titulo--claro{color:var(--espuma)}
.entrada{max-width:56ch;color:rgba(27,42,82,.78);font-size:clamp(1rem,1.15vw,1.12rem)}
.entrada--claro{color:rgba(247,252,253,.78)}
.firma{font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2vw,1.85rem);color:var(--mar)}
.firma--claro{color:var(--aqua-claro)}

/* botones */
.btn{position:relative;display:inline-flex;align-items:center;gap:.7rem;padding:1rem 1.6rem;border-radius:999px;
  font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:transform .5s var(--curva),background .4s,color .4s,box-shadow .5s;white-space:nowrap}
.btn svg{width:15px;height:15px;flex:none}
.btn--lleno{background:var(--tinta-2);color:var(--espuma);box-shadow:0 18px 40px -20px rgba(9,26,48,.7)}
.btn--lleno:hover{transform:translateY(-2px);background:var(--mar)}
.btn--aqua{background:var(--aqua);color:#03202a}
.btn--aqua:hover{transform:translateY(-2px);background:var(--aqua-claro)}
.btn--cristal{background:rgba(255,255,255,.12);color:var(--espuma);border:1px solid rgba(255,255,255,.42);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}
.btn--cristal:hover{background:rgba(255,255,255,.24);transform:translateY(-2px)}
.btn--linea{color:var(--tinta-2);border:1px solid var(--hair)}
.btn--linea:hover{border-color:var(--tinta-2);transform:translateY(-2px)}
.btn--pequeno{padding:.72rem 1.15rem;font-size:.7rem}

/* ---------- intro ---------- */
#intro{position:fixed;inset:0;z-index:100;background:#04121f;overflow:hidden;isolation:isolate}
#intro canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
#intro .intro__velo{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 45%,transparent 40%,rgba(2,10,18,.55) 100%);pointer-events:none}
.intro__ui{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6vh 6vw;pointer-events:none}
.intro__marca{width:min(46vw,430px);height:auto;opacity:0;transform:translateY(26px) scale(.96);filter:drop-shadow(0 18px 50px rgba(0,0,0,.35));transition:opacity 1.4s var(--curva),transform 1.6s var(--curva)}
.intro__marca img{width:100%;height:auto}
.intro__lema{margin-top:clamp(20px,4vh,44px);font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(1.5rem,3.4vw,3rem);color:#eaf9fb;opacity:0;transform:translateY(18px);transition:opacity 1.2s var(--curva) .25s,transform 1.4s var(--curva) .25s;letter-spacing:-.01em}
.intro__lugar{margin-top:.9rem;font-size:.68rem;letter-spacing:.42em;text-transform:uppercase;color:rgba(234,249,251,.65);opacity:0;transition:opacity 1s var(--curva) .55s}
.intro__pie{position:absolute;left:0;right:0;bottom:0;padding:0 6vw 3.4vh;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;color:rgba(234,249,251,.7);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase}
.intro__barra{position:absolute;left:0;bottom:0;height:2px;width:0%;background:linear-gradient(90deg,rgba(47,191,205,.2),var(--aqua-claro));box-shadow:0 0 18px rgba(169,233,239,.8)}
.intro__saltar{pointer-events:auto;border:1px solid rgba(234,249,251,.3);border-radius:999px;padding:.55rem 1.1rem;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(234,249,251,.85);transition:background .3s,border-color .3s;background:rgba(4,18,31,.2);backdrop-filter:blur(6px)}
.intro__saltar:hover{background:rgba(234,249,251,.12);border-color:rgba(234,249,251,.6)}
.intro--viva .intro__marca{opacity:1;transform:translateY(0) scale(1)}
.intro--viva .intro__lema{opacity:1;transform:translateY(0)}
.intro--viva .intro__lugar{opacity:1}
.intro--buceo .intro__ui{opacity:0;transform:scale(1.06);transition:opacity .9s ease,transform 1.4s var(--curva)}
.intro--fuera{opacity:0;transform:translateY(-2%) scale(1.02);transition:opacity 1s var(--curva),transform 1.2s var(--curva)}
html.intro-activa,html.intro-activa body{overflow:hidden;height:100%}
html.intro-activa .hero__texto>*{animation-play-state:paused}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:1.1rem 0;transition:background .5s,backdrop-filter .5s,padding .5s,box-shadow .5s}
.nav::before{content:"";position:absolute;inset:0 0 auto;height:150%;background:linear-gradient(180deg,rgba(3,14,25,.55),rgba(3,14,25,.18) 55%,transparent);pointer-events:none;transition:opacity .5s;z-index:-1}
.nav.fijo::before{opacity:0}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.nav__marca{display:flex;align-items:center;gap:.7rem;flex:none;position:relative}
.nav__marca .ondas-nav{height:26px;width:auto;transition:opacity .4s}
.nav__marca .ondas-nav--oscuro{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0}
.nav__marca .nav__sub{font-family:var(--display);font-size:1.34rem;letter-spacing:-.015em;color:#fff;line-height:1;transition:color .4s}
.nav.fijo .nav__marca .ondas-nav--claro{opacity:0}
.nav.fijo .nav__marca .ondas-nav--oscuro{opacity:1}
.nav.fijo .nav__marca .nav__sub{color:var(--tinta-2)}
.nav__menu{display:flex;align-items:center;gap:clamp(1rem,2vw,2.1rem)}
.nav__menu a{position:relative;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:rgba(247,252,253,.86);padding:.35rem 0;transition:color .35s}
.nav__menu a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--aqua);transition:right .5s var(--curva)}
.nav__menu a:hover,.nav__menu a.activo{color:#fff}
.nav__menu a:hover::after,.nav__menu a.activo::after{right:0}
.nav__acciones{display:flex;align-items:center;gap:.8rem}
.nav__tel{font-size:.78rem;letter-spacing:.08em;color:rgba(247,252,253,.85);display:flex;align-items:center;gap:.5rem}
.nav__tel svg{width:14px;height:14px}
.nav.fijo{background:rgba(247,252,253,.82);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:0 1px 0 var(--hair),0 18px 40px -30px rgba(9,26,48,.5);padding:.55rem 0}
.nav.fijo .nav__menu a{color:rgba(27,42,82,.75)}
.nav.fijo .nav__menu a:hover,.nav.fijo .nav__menu a.activo{color:var(--tinta-2)}
.nav.fijo .nav__tel{color:var(--tinta-2)}
.nav.fijo .btn--cristal{background:var(--tinta-2);color:var(--espuma);border-color:transparent}
.nav__abrir{display:none;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.35);align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.08)}
.nav.fijo .nav__abrir{color:var(--tinta-2);border-color:var(--hair);background:transparent}
.nav__abrir span{display:block;width:16px;height:1px;background:currentColor;position:relative}
.nav__abrir span::before,.nav__abrir span::after{content:"";position:absolute;left:0;width:16px;height:1px;background:currentColor;transition:transform .4s var(--curva),top .3s}
.nav__abrir span::before{top:-5px}.nav__abrir span::after{top:5px}

/* menú móvil */
.movil{position:fixed;inset:0;z-index:55;background:rgba(4,18,31,.97);color:var(--espuma);display:flex;flex-direction:column;justify-content:center;padding:8vh 8vw;opacity:0;visibility:hidden;transition:opacity .6s var(--curva),visibility .6s}
.movil.abierto{opacity:1;visibility:visible}
.movil a{font-family:var(--display);font-size:clamp(2rem,7vw,3.2rem);font-weight:300;line-height:1.25;padding:.35rem 0;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:baseline;transform:translateY(18px);opacity:0;transition:transform .7s var(--curva),opacity .7s}
.movil.abierto a{transform:none;opacity:1}
.movil a span{font-family:var(--texto);font-size:.62rem;letter-spacing:.24em;color:var(--aqua-claro)}
.movil__pie{margin-top:auto;padding-top:3rem;display:flex;flex-direction:column;gap:.6rem;font-size:.8rem;color:rgba(247,252,253,.65)}
.movil__cerrar{position:absolute;top:1.4rem;right:6vw;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.55rem 1rem;color:#fff}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--abismo);color:var(--espuma);isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 2s var(--curva)}
.hero__slide.on{opacity:1}
.hero__slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);filter:saturate(1.04) contrast(1.02)}
.hero__slide.on img{animation:kenburns 14s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.03) translate3d(0,0,0)}to{transform:scale(1.13) translate3d(-1.2%,-1.4%,0)}}
.hero__velo{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(180deg,rgba(3,14,25,.72) 0%,rgba(3,14,25,.18) 32%,rgba(3,14,25,.12) 52%,rgba(3,14,25,.82) 100%),
  linear-gradient(100deg,rgba(3,14,25,.68) 0%,rgba(3,14,25,.12) 55%,transparent 100%)}
.hero__in{position:relative;z-index:2;width:var(--ancho);margin:0 auto;padding-bottom:clamp(34px,7vh,80px);padding-top:clamp(120px,18vh,190px)}
.hero__et{display:flex;align-items:center;gap:1rem;font-size:.68rem;letter-spacing:.36em;text-transform:uppercase;color:rgba(247,252,253,.8);margin-bottom:clamp(18px,3vh,34px)}
.hero__et .punto{width:5px;height:5px;border-radius:50%;background:var(--aqua);box-shadow:0 0 12px var(--aqua)}
.hero__texto{max-width:min(1080px,86vw);position:relative}
.hero__texto h1{font-family:var(--display);font-weight:300;font-style:italic;font-size:clamp(3.4rem,10.4vw,9.2rem);line-height:.92;letter-spacing:-.035em;text-shadow:0 30px 80px rgba(0,0,0,.35)}
.hero__texto h1 .linea{display:block;overflow:hidden}
.hero__texto h1 .linea>span{display:block;white-space:nowrap;transform:translateY(110%);animation:sube 1.5s var(--curva) forwards}
.hero__texto h1 .linea:nth-child(2)>span{animation-delay:.12s}
@keyframes sube{to{transform:translateY(0)}}
.hero__bajada{margin-top:clamp(22px,3.4vh,38px);max-width:46ch;font-size:clamp(1rem,1.3vw,1.16rem);color:rgba(247,252,253,.86);line-height:1.6;opacity:0;animation:aparece 1.4s var(--curva) .55s forwards}
.hero__ctas{margin-top:clamp(26px,4vh,42px);display:flex;flex-wrap:wrap;gap:.8rem;opacity:0;animation:aparece 1.4s var(--curva) .8s forwards}
@keyframes aparece{to{opacity:1;transform:none}}
.hero__bajada,.hero__ctas{transform:translateY(16px)}
.hero__pie{position:relative;z-index:2;width:var(--ancho);margin:0 auto;margin-top:clamp(40px,7vh,74px);display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding-bottom:clamp(18px,3vh,30px);border-top:1px solid rgba(255,255,255,.16);padding-top:1.2rem}
.hero__datos{display:flex;gap:clamp(1.2rem,3vw,3rem);flex-wrap:wrap}
.hero__dato{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,252,253,.62)}
.hero__dato b{display:block;font-family:var(--texto);font-weight:600;font-size:.92rem;letter-spacing:.02em;color:#fff;text-transform:none;margin-top:.15rem}
.hero__scroll{display:flex;align-items:center;gap:.8rem;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(247,252,253,.6)}
.hero__scroll i{display:block;width:1px;height:44px;background:linear-gradient(to bottom,var(--aqua),transparent);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;top:-44px;left:0;width:1px;height:44px;background:var(--espuma);animation:gotas 2.4s ease-in-out infinite}
@keyframes gotas{0%{top:-44px}60%,100%{top:44px}}
.hero__slide-ind{display:flex;gap:.5rem;align-items:center}
.hero__slide-ind button{width:26px;height:2px;background:rgba(255,255,255,.25);transition:background .4s,width .4s}
.hero__slide-ind button.on{background:var(--aqua);width:44px}

/* ola decorativa */
.ola{display:block;width:100%;height:clamp(40px,7vw,96px);margin-top:-1px;position:relative;z-index:3}
.ola path{fill:var(--espuma)}
.ola--tinta path{fill:var(--abismo)}

/* ---------- cinta ---------- */
.cinta{background:var(--abismo);color:var(--espuma);border-top:1px solid rgba(255,255,255,.08);overflow:hidden;padding:1.05rem 0}
.cinta__pista{display:flex;width:max-content;animation:cinta 42s linear infinite}
.cinta:hover .cinta__pista{animation-play-state:paused}
.cinta__grupo{display:flex;align-items:center}
.cinta__item{display:block;font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(1rem,1.5vw,1.3rem);color:rgba(247,252,253,.82);padding-right:38px;white-space:nowrap}
.cinta__item::after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--aqua);vertical-align:middle;margin-left:38px;opacity:.9}
@keyframes cinta{to{transform:translate3d(-50%,0,0)}}

/* ---------- secciones ---------- */
.seccion{position:relative;padding:clamp(78px,11vh,140px) 0}
.seccion--marfil{background:var(--espuma)}
.seccion--tinta{background:var(--abismo);color:var(--espuma)}
.seccion--agua{background:linear-gradient(180deg,#eef9fa 0%,#f7fcfd 100%)}
.cabecera{display:grid;grid-template-columns:1fr;gap:clamp(18px,3vh,30px);max-width:820px;margin-bottom:clamp(38px,6vh,70px)}
.cabecera .titulo{max-width:20ch}
.cabecera__fila{display:flex;gap:2rem;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}

/* ---------- lugar ---------- */
.lugar{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.lugar__foto{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:2px}
.lugar__foto img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.6s var(--curva)}
.lugar__foto:hover img{transform:scale(1.02)}
.lugar__foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,18,31,.55))}
.lugar__sello{position:absolute;left:1.2rem;bottom:1.2rem;z-index:2;color:var(--espuma);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;display:flex;align-items:center;gap:.6rem}
.lugar__sello i{width:6px;height:6px;border-radius:50%;background:var(--aqua);box-shadow:0 0 14px var(--aqua)}
.lugar__texto{max-width:52ch}
.lugar__texto .titulo{margin:1.4rem 0 1.6rem;max-width:12ch}
.lugar__texto p+p{margin-top:1rem}
.datos{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hair);margin-top:clamp(28px,4vh,44px);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.datos div{background:var(--espuma);padding:1.1rem .2rem 1.1rem 0}
.datos b{display:block;font-family:var(--display);font-weight:300;font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1;letter-spacing:-.03em}
.datos span{display:block;margin-top:.45rem;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(27,42,82,.55)}

/* ---------- acto horizontal ---------- */
.acto{position:relative;background:var(--abismo);color:var(--espuma)}
.acto__pin{height:340vh}
.acto__fijo{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.acto__pista{display:flex;height:100%;align-items:center;will-change:transform}
.acto__panel{flex:0 0 100vw;height:100%;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:0;position:relative}
.acto__foto{position:relative;height:78vh;overflow:hidden}
.acto__foto img{width:100%;height:100%;object-fit:cover;transform:scale(1.06)}
.acto__foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,31,.35),transparent 40%,rgba(4,18,31,.2))}
.acto__texto{padding:0 clamp(2rem,6vw,7rem)}
.acto__num{font-family:var(--display);font-size:clamp(3.6rem,8vw,7rem);line-height:.8;color:rgba(247,252,253,.14);letter-spacing:-.05em}
.acto__texto h3{font-family:var(--display);font-weight:300;font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.02;margin:.6rem 0 1.2rem;letter-spacing:-.03em}
.acto__texto p{max-width:34ch;color:rgba(247,252,253,.7);font-size:1.02rem}
.acto__mini{display:flex;gap:1.6rem;margin-top:2rem;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(247,252,253,.5)}
.acto__mini b{display:block;color:var(--aqua-claro);font-family:var(--display);font-style:italic;font-size:1.05rem;letter-spacing:0;text-transform:none;margin-top:.3rem}
.acto__barra{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.12)}
.acto__barra i{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--aqua),var(--aqua-claro));box-shadow:0 0 16px rgba(47,191,205,.8)}

/* ---------- carta ---------- */
.carta{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.carta__foto{position:sticky;top:96px;aspect-ratio:3/4;overflow:hidden;border-radius:2px;background:#dfeef1}
.carta__foto img{width:100%;height:100%;object-fit:cover;transition:opacity .6s}
.carta__foto figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.2rem;color:#fff;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;background:linear-gradient(transparent,rgba(4,18,31,.7))}
.pestanas{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.8rem}
.pestanas button{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;padding:.6rem 1rem;border:1px solid var(--hair);border-radius:999px;color:rgba(27,42,82,.65);transition:all .35s}
.pestanas button:hover{border-color:var(--tinta-2);color:var(--tinta-2)}
.pestanas button.on{background:var(--tinta-2);border-color:var(--tinta-2);color:var(--espuma)}
.platos{display:grid;gap:0}
.platos[hidden]{display:none!important}
.plato{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1.05rem 0;border-bottom:1px solid var(--hair);align-items:baseline;animation:platoEntra .6s var(--curva) both}
@keyframes platoEntra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.plato h4{font-family:var(--texto);font-weight:600;font-size:.98rem;letter-spacing:.01em;text-transform:uppercase}
.plato p{font-size:.88rem;color:rgba(27,42,82,.7);margin-top:.2rem;max-width:48ch}
.plato .precio{font-family:var(--display);font-size:1.15rem;white-space:nowrap;color:var(--mar)}
.nota{margin-top:1.4rem;font-size:.8rem;color:rgba(27,42,82,.55);display:flex;gap:.6rem;align-items:flex-start}
.nota svg{width:16px;height:16px;flex:none;margin-top:.15rem;color:var(--aqua)}
.sello-lonja{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.2rem;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mar);border:1px solid rgba(10,90,118,.25);border-radius:999px;padding:.5rem .9rem}

/* ---------- arroces ---------- */
.arroces{position:relative;min-height:88svh;display:flex;align-items:center;overflow:hidden;color:var(--espuma);isolation:isolate;padding:clamp(70px,10vh,120px) 0}
.arroces__fondo{position:absolute;inset:0;z-index:-2}
.arroces__fondo img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;transform:scale(1.02)}
.arroces::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,14,25,.86) 0%,rgba(3,14,25,.52) 46%,rgba(3,14,25,.12) 78%,rgba(3,14,25,.05) 100%),linear-gradient(0deg,rgba(3,14,25,.55),transparent 42%)}
.arroces__in{max-width:none}
.arroces__in>*{max-width:640px}
.arroces h2{font-family:var(--display);font-weight:300;font-size:clamp(2.6rem,6vw,5.2rem);line-height:.98;letter-spacing:-.03em;margin:1.2rem 0 1.4rem}
.arroces h2 em{font-style:italic}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.8rem 0 2.2rem}
.chips span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.5rem .9rem;color:rgba(255,255,255,.82);background:rgba(255,255,255,.04);backdrop-filter:blur(6px)}

/* ---------- galería ---------- */
.galeria{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(78px,8.6vw,124px);gap:clamp(8px,1.1vw,15px)}
.galeria figure{position:relative;overflow:hidden;border-radius:2px;cursor:zoom-in;background:#e7f3f5}
.galeria figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.5s var(--curva),filter .6s}
.galeria figure:hover img{transform:scale(1.04)}
.galeria figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.2rem 1rem .9rem;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:linear-gradient(transparent,rgba(4,18,31,.72));opacity:0;transform:translateY(6px);transition:all .5s var(--curva)}
.galeria figure:hover figcaption{opacity:1;transform:none}
.g1{grid-column:span 4;grid-row:span 4}
.g2{grid-column:span 8;grid-row:span 2}
.g3{grid-column:span 4;grid-row:span 2}
.g4{grid-column:span 4;grid-row:span 2}
.g5{grid-column:span 4;grid-row:span 2}
.g6{grid-column:span 4;grid-row:span 2}
.g7{grid-column:span 4;grid-row:span 2}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(3,12,20,.94);display:flex;align-items:center;justify-content:center;padding:5vw;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s;backdrop-filter:blur(10px)}
.lightbox.abierto{opacity:1;visibility:visible}
.lightbox img{max-width:100%;max-height:86vh;object-fit:contain;box-shadow:0 40px 90px rgba(0,0,0,.5)}
.lightbox button{position:absolute;color:#fff;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.6rem 1.1rem}
.lightbox__cerrar{top:2rem;right:2rem}
.lightbox__prev{left:2rem;top:50%;transform:translateY(-50%)}
.lightbox__next{right:2rem;top:50%;transform:translateY(-50%)}

/* ---------- experiencias ---------- */
.experiencias{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.exp{background:var(--espuma);padding:clamp(1.4rem,2.4vw,2.2rem);display:flex;flex-direction:column;gap:.7rem;min-height:230px;transition:background .45s}
.exp:hover{background:#eef9fa}
.exp svg{width:26px;height:26px;color:var(--mar);margin-bottom:auto}
.exp h4{font-family:var(--display);font-weight:400;font-size:1.25rem;line-height:1.15}
.exp p{font-size:.86rem;color:rgba(27,42,82,.6)}
.exp b{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mar);margin-top:.4rem}

/* ---------- opiniones ---------- */
.opiniones{display:grid;grid-template-columns:1fr 1.35fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.nota-google{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}
.nota-google .num{font-family:var(--display);font-weight:300;font-size:clamp(3.6rem,6vw,5.2rem);line-height:.85;letter-spacing:-.05em}
.estrellas{display:flex;gap:.25rem;color:var(--aqua)}
.estrellas svg{width:18px;height:18px}
.nota-google small{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(27,42,82,.55)}
.citas{display:grid;gap:1px;background:var(--hair)}
.cita{background:var(--espuma);padding:clamp(1.4rem,2.6vw,2.2rem)}
.cita blockquote{font-family:var(--display);font-weight:300;font-size:clamp(1.15rem,1.8vw,1.42rem);line-height:1.4;letter-spacing:-.01em}
.cita blockquote::before{content:"“";color:var(--aqua);font-size:1.6em;line-height:0;vertical-align:-.28em;margin-right:.08em}
.cita footer{margin-top:1rem;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(27,42,82,.5)}

/* ---------- reservas ---------- */
.reservas{position:relative;overflow:hidden;background:var(--abismo);color:var(--espuma);padding:clamp(80px,11vh,140px) 0}
.reservas__fondo{position:absolute;inset:0;z-index:0;opacity:.45}
.reservas__fondo img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.reservas::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(4,18,31,.9),rgba(4,18,31,.7) 45%,rgba(4,18,31,.95))}
.reservas__in{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.reservas__texto .titulo{margin:1.2rem 0 1.4rem;max-width:13ch}
.reservas__lista{margin-top:2rem;display:grid;gap:.9rem;font-size:.9rem;color:rgba(247,252,253,.68)}
.reservas__lista li{display:flex;gap:.8rem;align-items:flex-start}
.reservas__lista svg{width:17px;height:17px;color:var(--aqua);flex:none;margin-top:.15rem}
.form-reserva{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.16);border-radius:4px;padding:clamp(1.4rem,3vw,2.4rem);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:0 40px 90px -40px rgba(0,0,0,.7)}
.form-reserva h3{font-family:var(--display);font-weight:300;font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:.4rem}
.form-reserva .sub{font-size:.82rem;color:rgba(247,252,253,.55);margin-bottom:1.5rem}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.campo{display:flex;flex-direction:column;gap:.4rem}
.campo--ancho{grid-column:1/-1}
.campo label{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(247,252,253,.55)}
.campo input,.campo select,.campo textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:2px;padding:.85rem .9rem;color:#fff;font-family:var(--texto);font-size:.94rem;transition:border-color .3s,background .3s;appearance:none}
.campo select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23a9e9ef' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--aqua);background:rgba(255,255,255,.1)}
.campo input::placeholder{color:rgba(255,255,255,.35)}
.campo option{background:#0b1f2e;color:#fff}
.horas{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.2rem}
.horas button{font-size:.82rem;padding:.55rem .85rem;border:1px solid rgba(255,255,255,.2);border-radius:2px;color:rgba(255,255,255,.8);transition:all .25s;min-width:64px}
.horas button:hover{border-color:var(--aqua);color:#fff}
.horas button.on{background:var(--aqua);border-color:var(--aqua);color:#03202a;font-weight:600}
.horas button[disabled]{opacity:.28;cursor:not-allowed;text-decoration:line-through}
.horas .cargando{font-size:.8rem;color:rgba(255,255,255,.5);padding:.5rem 0}
.form-reserva .btn{width:100%;justify-content:center;margin-top:1.2rem}
.form-reserva .legal-mini{margin-top:.9rem;font-size:.68rem;color:rgba(247,252,253,.4);text-align:center;line-height:1.5}
.form-reserva .legal-mini a{text-decoration:underline;text-underline-offset:3px}
.aviso-form{margin-top:.9rem;font-size:.8rem;color:#ffb4a0;min-height:1em}
.exito{text-align:center;padding:1rem 0}
.exito .tick{width:54px;height:54px;border-radius:50%;background:rgba(47,191,205,.15);border:1px solid var(--aqua);display:grid;place-items:center;margin:0 auto 1rem;color:var(--aqua)}
.exito h4{font-family:var(--display);font-size:1.7rem;font-weight:300;margin-bottom:.5rem}
.exito p{font-size:.9rem;color:rgba(247,252,253,.7)}
.exito .codigo{display:inline-block;margin:1rem 0;font-family:var(--display);font-size:1.5rem;letter-spacing:.12em;color:var(--aqua-claro);border:1px dashed rgba(169,233,239,.4);padding:.5rem 1.1rem}

/* ---------- ubicación ---------- */
.ubicacion{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.mapa{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:2px;background:#dfeef1;border:1px solid var(--hair)}
.mapa iframe{width:100%;height:100%;border:0;filter:saturate(.9) contrast(1.02)}
.mapa__pin{position:absolute;right:1rem;top:1rem;background:rgba(11,27,51,.92);backdrop-filter:blur(10px);padding:.6rem .9rem;border-radius:2px;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;box-shadow:var(--sombra)}
.horario{margin-top:2rem;border-top:1px solid var(--hair)}
.horario li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--hair);font-size:.9rem}
.horario li span:first-child{color:rgba(27,42,82,.6)}
.horario li.cerrado span:last-child{color:var(--coral)}
.horario li.hoy span{color:var(--tinta-2);font-weight:600}

/* ---------- pie ---------- */
.pie{background:var(--abismo);color:rgba(247,252,253,.7);padding:clamp(60px,8vh,90px) 0 2rem;position:relative;overflow:hidden}
.pie__in{display:grid;grid-template-columns:1.3fr .7fr .7fr 1fr;gap:clamp(1.6rem,4vw,3rem);align-items:start}
.pie img.logo{width:min(230px,60%);height:auto;margin-bottom:1.2rem}
.pie p{font-size:.84rem;max-width:30ch;line-height:1.7}
.pie h4{font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(247,252,253,.45);margin-bottom:1rem}
.pie li+li{margin-top:.5rem}
.pie a{transition:color .3s}
.pie a:hover{color:var(--aqua-claro)}
.pie__social{display:flex;gap:.6rem;margin-top:1rem}
.pie__social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;transition:background .3s,border-color .3s}
.pie__social a:hover{background:rgba(255,255,255,.08);border-color:var(--aqua)}
.pie__social svg{width:16px;height:16px}
.pie__base{margin-top:clamp(40px,6vh,60px);padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;font-size:.66rem;letter-spacing:.1em;color:rgba(247,252,253,.35)}
.pie__base a{text-decoration:underline;text-underline-offset:3px}

/* ---------- animaciones de entrada ---------- */
[data-rev]{opacity:0;transform:translateY(34px);transition:opacity 1.1s var(--curva),transform 1.2s var(--curva)}
[data-rev].visto{opacity:1;transform:none}
[data-rev="dcha"]{transform:translateX(40px)}
[data-rev="izda"]{transform:translateX(-40px)}
[data-rev="zoom"]{transform:scale(1.04);opacity:0}
[data-rev].visto[data-rev="zoom"]{transform:none}
[data-retraso="1"]{transition-delay:.1s}
[data-retraso="2"]{transition-delay:.2s}
[data-retraso="3"]{transition-delay:.3s}
[data-retraso="4"]{transition-delay:.4s}

.par{will-change:transform}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .nav__menu{display:none}
  .nav__abrir{display:flex}
  .nav__tel{display:none}
  .lugar{grid-template-columns:1fr;gap:2.4rem}
  .lugar__foto{aspect-ratio:16/12}
  .carta{grid-template-columns:1fr}
  .carta__foto{position:relative;top:0;aspect-ratio:16/9;order:2}
  .opiniones{grid-template-columns:1fr}
  .reservas__in{grid-template-columns:1fr}
  .ubicacion{grid-template-columns:1fr}
  .experiencias{grid-template-columns:repeat(2,1fr)}
  .pie__in{grid-template-columns:1fr 1fr}
  .acto__fijo{height:auto;min-height:auto}
  .acto__pin{height:auto}
  .acto__pista{flex-direction:column;align-items:stretch;width:100%;transform:none!important}
  .acto__panel{grid-template-columns:1fr;flex:none;height:auto;padding:3rem 0;gap:1.6rem}
  .acto__foto{height:56vh}
  .acto__texto{padding:0 5vw}
}
@media(max-width:760px){
  .solo-desktop{display:none}
  .nav__acciones .btn{display:none}
  .hero__texto{max-width:100%!important;padding:0!important;border:0!important;background:none!important;backdrop-filter:none!important;box-shadow:none!important}
  :root{--ancho:88vw}
  .hero__texto{max-width:100%}
  .hero__pie{flex-direction:column;align-items:flex-start;gap:1.2rem}
  .hero__scroll{display:none}
  .datos{grid-template-columns:1fr 1fr}
  .galeria{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(96px,26vw,150px)}
  .galeria figure{grid-column:span 1!important;grid-row:span 2!important}
  .g1{grid-column:span 2!important;grid-row:span 3!important}
  .g2{grid-column:span 2!important;grid-row:span 2!important}
  .experiencias{grid-template-columns:1fr}
  .campos{grid-template-columns:1fr}
  .pie__in{grid-template-columns:1fr}
  .pie__base{flex-direction:column}
  .pestanas{gap:.35rem}
  .pestanas button{padding:.5rem .75rem;font-size:.62rem}
  .cita blockquote{font-size:1.1rem}
  .intro__marca{width:62vw}
  .intro__pie{font-size:.58rem;letter-spacing:.18em}
  .martillo{display:none}
}
@media(max-width:420px){
  .hero__et{font-size:.66rem;letter-spacing:.24em}
  .hero__texto h1{font-size:clamp(2.9rem,13.2vw,4.6rem)}
  .btn{padding:.9rem 1.3rem;font-size:.72rem}
  .lugar__foto{aspect-ratio:4/4}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  [data-rev]{opacity:1;transform:none}
  .hero__texto h1 .linea>span{transform:none}
  .acto__pin{height:auto}
  .acto__fijo{height:auto;min-height:auto}
  .acto__pista{flex-direction:column;align-items:stretch;width:100%;transform:none!important}
  .acto__panel{display:block;flex:none;height:auto;padding:0}
  .acto__foto{height:58vh;width:100%}
  .acto__texto{padding:3rem 6vw 4rem;max-width:900px}
  .acto__barra{display:none}
}

/* modo estático para QA y capturas */
html.estatico *,html.estatico *::before,html.estatico *::after{animation:none!important;transition:none!important}
html.estatico [data-rev]{opacity:1!important;transform:none!important}
html.estatico .acto__pin{height:auto!important}
html.estatico .acto__fijo{height:auto!important;min-height:auto!important}
html.estatico .acto__pista{flex-direction:column!important;align-items:stretch!important;width:100%!important;transform:none!important}
html.estatico .acto__panel{display:block!important;flex:none!important;height:auto!important;padding:0!important}
html.estatico .acto__foto{height:58vh!important;width:100%!important}
html.estatico .acto__texto{padding:3rem 6vw 4rem!important;max-width:900px}
html.estatico .acto__barra{display:none}
html.estatico .hero__texto h1 .linea>span{transform:none!important}
html.estatico .hero__bajada,html.estatico .hero__ctas{opacity:1!important}
html.estatico #intro{display:none}
html.estatico .hero__slide{opacity:0}
html.estatico .hero__slide:first-child{opacity:1}

/* páginas interiores */
.interior{padding-top:clamp(110px,16vh,160px);min-height:100svh}
.interior__cab{max-width:760px;margin-bottom:clamp(30px,5vh,50px)}
.interior h1{font-family:var(--display);font-weight:300;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1;letter-spacing:-.03em}
.prosa{max-width:72ch;font-size:1rem;color:rgba(27,42,82,.78)}
.prosa h2{font-family:var(--display);font-weight:400;font-size:1.6rem;margin:2.2rem 0 .6rem;color:var(--tinta-2)}
.prosa h3{font-weight:600;font-size:1rem;margin:1.6rem 0 .4rem}
.prosa p{margin-bottom:.9rem}
.prosa ul{list-style:disc;padding-left:1.2rem;margin-bottom:1rem}
.prosa li{margin-bottom:.35rem}
.nota-legal{margin-top:3rem;padding:1rem 1.2rem;border-left:2px solid var(--aqua);background:#eef9fa;font-size:.82rem;color:rgba(27,42,82,.7)}

/* reservar.html */
.reserva-pagina{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:start;padding-bottom:6rem}
.pasos{display:flex;gap:.4rem;margin-bottom:2rem;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(27,42,82,.45)}
.pasos span{padding:.45rem .7rem;border:1px solid var(--hair);border-radius:999px}
.pasos span.on{border-color:var(--tinta-2);color:var(--tinta-2);background:#fff}
.tarjeta{background:#fff;border:1px solid var(--hair);border-radius:4px;padding:clamp(1.4rem,3vw,2.2rem);box-shadow:0 30px 70px -50px rgba(9,26,48,.5)}
.tarjeta h2{font-family:var(--display);font-weight:400;font-size:1.5rem;margin-bottom:1rem}
.campo--claro label{color:rgba(27,42,82,.55)}
.campo--claro input,.campo--claro select{border:1px solid var(--hair);background:#fbfefe;color:var(--tinta)}
.campo--claro input:focus,.campo--claro select:focus{border-color:var(--aqua);background:#fff}
.horas--claro button{border-color:var(--hair);color:rgba(27,42,82,.75)}
.horas--claro button.on{background:var(--tinta-2);border-color:var(--tinta-2);color:#fff}
.horas--claro button[disabled]{opacity:.3}
.dias{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;margin-top:.4rem}
.dias button{aspect-ratio:1;border:1px solid var(--hair);border-radius:2px;font-size:.82rem;color:rgba(27,42,82,.75);transition:all .25s}
.dias button.on{background:var(--tinta-2);color:#fff;border-color:var(--tinta-2)}
.dias button[disabled]{opacity:.25;cursor:not-allowed;text-decoration:line-through}
.dias-cab{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(27,42,82,.4);text-align:center;margin-bottom:.3rem}
.mes{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tinta-2)}
.mes button{font-size:1rem;padding:.2rem .6rem;color:var(--tinta-2)}
.resumen{font-size:.86rem;color:rgba(27,42,82,.7);background:#eef9fa;border:1px solid rgba(47,191,205,.25);padding:.8rem 1rem;border-radius:2px;margin-bottom:1rem}
.resumen b{color:var(--tinta-2)}

@media(max-width:900px){
  .reserva-pagina{grid-template-columns:1fr}
}

/* ---------- páginas legales ---------- */
.legal-pagina{background:var(--espuma);min-height:100svh;display:flex;flex-direction:column}
.legal-nav{position:relative;background:var(--tinta-2);color:#fff;padding:1rem 0}
.legal-nav .env{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.legal-nav a.volver{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.legal-cuerpo{flex:1;padding:clamp(48px,8vh,110px) 0}
.legal-grid{display:grid;grid-template-columns:220px 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.legal-menu{position:sticky;top:2rem;display:grid;gap:.5rem;font-size:.82rem}
.legal-menu a{color:rgba(22,35,74,.6);padding:.3rem 0;border-left:2px solid transparent;padding-left:.8rem}
.legal-menu a:hover,.legal-menu a.on{color:var(--tinta-2);border-color:var(--aqua)}
.legal h1{font-family:var(--display);font-weight:300;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1;letter-spacing:-.03em;margin:0 0 .6rem}
.legal h2{font-family:var(--display);font-weight:400;font-size:1.35rem;margin:2.4rem 0 .7rem;letter-spacing:-.01em}
.legal p,.legal li{font-size:.95rem;line-height:1.7;color:rgba(22,35,74,.78)}
.legal ul{padding-left:1.1rem;margin:.6rem 0}
.legal li{margin-bottom:.35rem}
.legal .meta{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(22,35,74,.45);margin-bottom:2rem}
.legal table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.86rem}
.legal th,.legal td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--hair);vertical-align:top}
.legal th{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(22,35,74,.5)}
.legal .nota{background:rgba(51,194,207,.08);border-left:2px solid var(--aqua);padding:.9rem 1.1rem;margin:1.4rem 0;font-size:.88rem}
@media(max-width:820px){.legal-grid{grid-template-columns:1fr}.legal-menu{position:static;display:flex;flex-wrap:wrap;gap:.2rem 1rem}}

/* CTA del nav: legible sobre foto clara y oscura */
.nav .btn--cristal{background:rgba(4,18,31,.32);border-color:rgba(255,255,255,.52)}
.nav .btn--cristal:hover{background:rgba(4,18,31,.5)}
