/* ===== Volcán Columba · hoja de estilos común =====
   Tipografías alojadas en local (sin llamadas a Google Fonts). */
@font-face{font-family:"IM Fell English";src:url(../fonts/im-fell-english-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IM Fell English";src:url(../fonts/im-fell-english-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Alegreya Sans";src:url(../fonts/alegreya-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Alegreya Sans";src:url(../fonts/alegreya-sans-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Alegreya Sans";src:url(../fonts/alegreya-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Alegreya Sans";src:url(../fonts/alegreya-sans-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --basalto:#1D1F2A;   /* roca volcánica de noche */
  --basalto-2:#2A2D3B;
  --ceniza:#E4E2DC;    /* ceniza clara */
  --papel:#F3F2EE;
  --embalse:#2F5D62;   /* agua del embalse */
  --embalse-claro:#7FA7A4;
  --vela:#E0A93B;      /* luz de vela */
  --brasa:#B5432C;     /* brasa del volcán */
  --tinta:#23242B;
  --tinta-suave:#55576A;
  --serif:"IM Fell English", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --sans:"Alegreya Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
  --ancho:72rem;
}
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 4.5rem);scroll-behavior:smooth}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 1.125rem/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;margin:0;text-wrap:balance}
h2{font-size:clamp(2rem,4.5vw,3.25rem)}
h3{font-size:1.5rem}
p{margin:0 0 1em;max-width:62ch}
:focus-visible{outline:3px solid var(--vela);outline-offset:3px;border-radius:2px}
.contenedor{width:min(100% - 2.5rem,var(--ancho));margin-inline:auto}
.seccion{padding-block:clamp(4rem,9vw,7.5rem)}
.oscuro{background:var(--basalto);color:var(--ceniza)}
.oscuro p{color:#C9C7D0}
.todo{background:#FFF1B8;color:#5C4500;padding:0 .25em;border-radius:3px;font-style:normal}
.oscuro .todo{background:#5C4A12;color:#FFE7A0}

/* Fotos con hueco de reserva: si la imagen aún no existe se ve el degradado y su texto alternativo */
.foto{position:relative;overflow:hidden;background:
  radial-gradient(120% 90% at 20% 100%,rgba(224,169,59,.35),transparent 60%),
  linear-gradient(160deg,var(--embalse),var(--basalto));}
.foto img{width:100%;height:100%;object-fit:cover}
.foto.sin-imagen::after{content:attr(data-alt);position:absolute;inset:auto 1rem 1rem 1rem;color:rgba(255,255,255,.75);font:italic 1rem/1.3 var(--serif)}

/* Botones */
.boton{display:inline-flex;align-items:center;gap:.6em;padding:.9em 1.5em;border-radius:999px;font:700 1.0625rem/1 var(--sans);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.boton-vela{background:var(--vela);color:var(--basalto)}
.boton-vela:hover{background:#F0BD55}
.boton-borde{border-color:currentColor;color:inherit;background:transparent}
.boton-borde:hover{background:rgba(255,255,255,.1)}
.boton-embalse{background:var(--embalse);color:#fff}
.boton-embalse:hover{background:#264D51}
.boton svg{width:1.2em;height:1.2em;flex:none}

/* Cabecera */
.cabecera{position:fixed;top:0;left:0;right:0;z-index:20;padding-top:env(safe-area-inset-top,0px);transition:background .3s,box-shadow .3s}
.cabecera .contenedor{display:flex;align-items:center;gap:1.5rem;height:4.5rem}
.marca{display:block;line-height:0;flex:none;transition:opacity .3s,visibility .3s}
.marca img{height:2.9rem;width:auto}
.cabecera--inicio:not(.con-fondo) .marca{opacity:0;visibility:hidden}
.logo-hero{width:clamp(11rem,22vw,17rem);height:auto;margin-bottom:1.75rem;filter:drop-shadow(0 2px 14px rgba(0,0,0,.45))}
.logo-pie{width:10rem;height:auto;margin-bottom:1rem}
.cabecera.con-fondo{background:rgba(29,31,42,.92);backdrop-filter:blur(8px);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.cabecera .boton{padding:.65em 1.1em;font-size:.95rem}
.corto{display:none}
@media (max-width:30rem){.largo{display:none}.corto{display:inline}}

/* Hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;color:#fff;isolation:isolate;overflow:hidden}
.hero .foto{position:absolute;inset:0;z-index:-3}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(29,31,42,.72) 0%,rgba(29,31,42,.45) 40%,rgba(29,31,42,0) 70%),linear-gradient(180deg,rgba(29,31,42,.55) 0%,rgba(29,31,42,.1) 25%,rgba(29,31,42,.25) 60%,rgba(29,31,42,.9) 100%)}
.hero h1,.hero .sub{text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero-media{position:absolute;inset:0;z-index:-3}
.pase img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pase img{opacity:0;transition:opacity 1.8s ease}
.pase img.activa{opacity:1;animation:acercar 9s ease-out both}
@keyframes acercar{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-media video{opacity:0;transition:opacity 1.2s ease}
.hero-media.con-video video{opacity:1}
.pausa{position:absolute;right:6rem;bottom:calc(env(safe-area-inset-bottom,0px) + 1.25rem);z-index:2;width:2.75rem;height:2.75rem;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(29,31,42,.45);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px)}
.pausa svg{width:1.1rem;height:1.1rem}
@media (max-width:40rem){.pausa{right:auto;left:1.25rem}}
.hero-texto{padding-block:5.5rem clamp(2.5rem,6vh,4.5rem)}
.hero h1{font-size:clamp(2.4rem,6vw,4.4rem);max-width:15ch;letter-spacing:-.01em}
.hero .sub{font-size:clamp(1.125rem,2vw,1.35rem);max-width:44ch;margin-top:1.25rem;color:#EDEBF2}
.hero .acciones{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.lema{margin-top:2.5rem;display:flex;align-items:center;gap:1rem;font:italic 1.25rem/1.3 var(--serif);color:var(--vela)}
.lema::before{content:"";width:3rem;height:1px;background:currentColor;opacity:.6}
.ubicacion-hero{font-size:1rem;color:#D8D6E0;margin-bottom:1rem}

/* Bienvenida */
.bienvenida{display:grid;gap:clamp(2rem,5vw,4.5rem);grid-template-columns:1fr;align-items:center}
.bienvenida .foto{aspect-ratio:4/5;border-radius:220px 220px 6px 6px}
.bienvenida .entrada{font:italic clamp(1.5rem,3vw,2rem)/1.3 var(--serif);color:var(--embalse);margin:1.25rem 0 1.5rem;max-width:26ch}
@media (min-width:52rem){.bienvenida{grid-template-columns:5fr 6fr}}

/* Motivos */
.motivos{display:grid;gap:2.5rem 3rem;margin-top:3rem;grid-template-columns:1fr}
.motivo{display:grid;grid-template-columns:7.5rem 1fr;gap:1.25rem;align-items:start}
.motivo .foto{aspect-ratio:1;border-radius:50%}
.motivo h3{margin-bottom:.4rem}
.motivo p{font-size:1.0625rem;color:var(--tinta-suave);margin:0}
@media (min-width:46rem){.motivos{grid-template-columns:1fr 1fr}.motivo{grid-template-columns:9rem 1fr}}

/* Alojamiento */
.alojamiento-cab{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr);align-items:end}
.datos{list-style:none;padding:0;margin:0;display:grid;gap:.9rem}
.datos li{display:flex;gap:.9rem;align-items:baseline;min-width:0;overflow-wrap:anywhere}
.datos li::before{content:"";flex:none;width:.55rem;height:.55rem;transform:rotate(45deg) translateY(-.15rem);background:var(--vela)}
.cifra{font:400 clamp(5rem,12vw,8.5rem)/.8 var(--serif);color:var(--vela)}
.cifra-wrap{display:flex;align-items:flex-end;gap:1rem}
.cifra-wrap span{font:italic 1.35rem/1.2 var(--serif);color:var(--ceniza);padding-bottom:.4rem}
@media (min-width:52rem){.alojamiento-cab{grid-template-columns:auto 1fr;gap:4rem}}
.galeria{margin-top:3.5rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);grid-auto-rows:9.5rem;grid-auto-flow:dense}
.galeria button{all:unset;cursor:zoom-in;display:block;border-radius:6px;overflow:hidden}
.galeria button:focus-visible{outline:3px solid var(--vela);outline-offset:3px}
.galeria .foto{width:100%;height:100%}
.galeria img{transition:transform .5s}
.galeria button:hover img{transform:scale(1.04)}
.galeria .g-alto{grid-row:span 2}
.galeria .g-ancho{grid-column:span 2}
@media (min-width:52rem){.galeria{grid-template-columns:repeat(4,1fr);grid-auto-rows:13rem}}

/* Lightbox */
.visor{border:0;padding:0;background:transparent;max-width:min(92vw,80rem);max-height:90vh}
.visor::backdrop{background:rgba(15,16,22,.92)}
.visor img{max-height:82vh;width:auto;margin:auto;border-radius:4px}
.visor p{color:#ddd;text-align:center;margin:.75rem auto 0;font:italic 1.1rem var(--serif)}
.visor-cerrar{position:fixed;top:calc(env(safe-area-inset-top,0px) + 1rem);right:1rem;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:50%;width:3rem;height:3rem;font-size:1.6rem;cursor:pointer}

/* Planes */
.planes{display:grid;gap:1rem;margin-top:3rem;grid-template-columns:1fr}
.plan{position:relative;border-radius:6px;overflow:hidden;min-height:22rem;display:flex;align-items:flex-end;color:#fff;isolation:isolate}
.plan .foto{position:absolute;inset:0;z-index:-2}
.plan::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 35%,rgba(29,31,42,.9))}
.plan>div:not(.foto){padding:1.5rem}
.plan h3{font-size:1.75rem;margin-bottom:.35rem}
.plan .foto::after,.hero .foto::after,.contacto>.foto::after{display:none}
.plan p{font-size:1.0625rem;color:#E6E4EC;margin:0}
@media (min-width:40rem){.planes{grid-template-columns:1fr 1fr}}
@media (min-width:64rem){.planes{grid-template-columns:repeat(4,1fr)}.plan:nth-child(even){transform:translateY(2.5rem)}}
.planes-cta{margin-top:4.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem}
.planes-cta p{margin:0;font:italic 1.3rem var(--serif);color:var(--embalse)}

/* Dónde */
.donde{display:grid;gap:2.5rem;grid-template-columns:minmax(0,1fr)}
.donde-visual{display:grid;gap:1rem}
.mapa{border-radius:6px;overflow:hidden;aspect-ratio:4/3;background:#D3D0C8;box-shadow:0 0 0 1px #C4C1B8}
.mapa iframe{width:100%;height:100%;border:0;display:block}
.paisaje{aspect-ratio:16/7;border-radius:6px}
@media (min-width:56rem){.donde{grid-template-columns:1fr 1fr;gap:4rem;align-items:center}}

/* Trayecto: lugares ordenados por distancia */
.trayecto-t{margin:clamp(3.5rem,7vw,5rem) 0 2rem;text-align:center;font-size:clamp(1.5rem,2.6vw,2rem)}
.trayecto{list-style:none;margin:0;padding:0;position:relative;display:grid;gap:1.5rem}
.trayecto li{position:relative;display:grid;grid-template-columns:4.5rem 1fr;gap:1.25rem;align-items:baseline;padding-left:1.75rem}
.trayecto::before{content:"";position:absolute;left:.35rem;top:.6rem;bottom:.6rem;width:2px;background:repeating-linear-gradient(var(--embalse) 0 6px,transparent 6px 12px)}
.trayecto li::before{content:"";position:absolute;left:0;top:.55rem;width:.85rem;height:.85rem;border-radius:50%;background:var(--ceniza);border:3px solid var(--embalse)}
.trayecto li:first-child::before{background:var(--brasa);border-color:var(--brasa)}
.min{font:400 2rem/1 var(--serif);color:var(--embalse);white-space:nowrap}
.min small{font-size:.5em;font-style:italic}
.lugar{font-size:1.0625rem;line-height:1.35}
@media (min-width:56rem){
  .trayecto{grid-template-columns:repeat(7,1fr);gap:0 1rem}
  .trayecto::before{left:calc(100%/14);right:calc(100%/14);top:3.35rem;bottom:auto;width:auto;height:2px;background:repeating-linear-gradient(90deg,var(--embalse) 0 6px,transparent 6px 12px)}
  .trayecto li{grid-template-columns:1fr;grid-template-rows:2.6rem auto;justify-items:center;text-align:center;padding:0;gap:1.6rem}
  .trayecto li::before{left:50%;top:2.85rem;transform:translateX(-50%)}
  .min{font-size:2.4rem;align-self:end}
  .lugar{font-size:1rem;max-width:14ch}
}

/* Historia: antes y después */
.historia{display:grid;gap:3rem;grid-template-columns:1fr;align-items:center}
.comparador{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;--pos:50%;user-select:none}
.comparador .foto{position:absolute;inset:0}
.comparador .despues{clip-path:inset(0 0 0 var(--pos))}
.comparador .linea{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:var(--vela);transform:translateX(-1px);pointer-events:none}
.comparador .linea::after{content:"";position:absolute;top:50%;left:50%;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--vela) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1F2A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E") center/1.4rem no-repeat;transform:translate(-50%,-50%);box-shadow:0 2px 12px rgba(0,0,0,.35)}
.comparador input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.etiqueta{position:absolute;top:1rem;padding:.3em .8em;border-radius:999px;background:rgba(29,31,42,.75);color:#fff;font-size:.9rem;pointer-events:none}
.etiqueta.izq{left:1rem}.etiqueta.der{right:1rem}
.comparador.solo .despues{clip-path:none}
.comparador.solo .linea,.comparador.solo input,.comparador.solo .etiqueta,.comparador.solo .antes{display:none}
@media (min-width:56rem){.historia{grid-template-columns:6fr 5fr}}

/* FAQ */
.faq-grid{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr)}
.faq-intro p{margin:1.25rem 0 1.75rem;color:var(--tinta-suave)}
.faq{border-top:1px solid #CFCCC4}
@media (min-width:56rem){.faq-grid{grid-template-columns:5fr 7fr;gap:5rem;align-items:start}.faq-intro{position:sticky;top:6rem}}
.faq details{border-bottom:1px solid #CFCCC4}
.faq summary{list-style:none;cursor:pointer;padding:1.25rem 2.5rem 1.25rem 0;font:400 1.4rem/1.3 var(--serif);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.4rem;top:50%;width:.7rem;height:.7rem;border-right:2px solid var(--embalse);border-bottom:2px solid var(--embalse);transform:translateY(-70%) rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding-bottom:1.25rem;color:var(--tinta-suave);margin:0}

/* Contacto */
.contacto{position:relative;isolation:isolate;color:#fff}
.contacto>.foto{position:absolute;inset:0;z-index:-2}
.contacto::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(29,31,42,.96) 0%,rgba(29,31,42,.88) 50%,rgba(29,31,42,.6) 100%)}
.contacto-grid{display:grid;gap:3rem;grid-template-columns:1fr}
.contacto h2{max-width:14ch}
.vias{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:.9rem}
.vias a,.vias span.v{color:#fff;text-decoration:none;display:inline-flex;gap:.75rem;align-items:center}
.vias a:hover{color:var(--vela)}
.vias svg{width:1.3rem;height:1.3rem;color:var(--vela);flex:none}
.formulario{background:rgba(243,242,238,.97);color:var(--tinta);border-radius:8px;padding:clamp(1.5rem,4vw,2.25rem);display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.formulario h3{grid-column:1/-1;font-size:1.75rem}
.campo{display:grid;gap:.35rem;grid-column:1/-1}
.campo.medio{grid-column:span 1}
.campo label{font-weight:500;font-size:1rem}
.campo input,.campo select,.campo textarea{font:inherit;font-size:1rem;padding:.7em .8em;border:1px solid #BDBAB2;border-radius:6px;background:#fff;color:var(--tinta);width:100%}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:2px solid var(--embalse);outline-offset:1px;border-color:var(--embalse)}
.formulario .boton{grid-column:1/-1;justify-content:center}
.formulario .nota{grid-column:1/-1;font-size:.9rem;color:var(--tinta-suave);margin:0}
.error{grid-column:1/-1;color:var(--brasa);font-size:.95rem;margin:0}
@media (min-width:56rem){.contacto-grid{grid-template-columns:1fr 1fr;align-items:center}}
@media (max-width:30rem){.campo.medio{grid-column:1/-1}}

.cierre{font:italic clamp(1.4rem,3vw,1.9rem)/1.3 var(--serif);text-align:center;color:var(--vela);margin:5rem auto 0;max-width:30ch}


/* Dato del volcán */
.dato-volcan{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:center;margin:2rem 0;padding:1.25rem 0;border-block:1px solid #CFCCC4}
.dato-cifra{font:400 clamp(2.6rem,6vw,3.6rem)/1 var(--serif);color:var(--brasa);white-space:nowrap}
.dato-cifra span{font-size:.45em;font-style:italic}
.dato-volcan p{margin:0;font-size:1rem;color:var(--tinta-suave)}
@media (max-width:30rem){.dato-volcan{grid-template-columns:1fr}}

/* Prensa */
.prensa{background:var(--basalto-2);color:var(--ceniza)}
.prensa p{color:#C9C7D0}
.recortes{list-style:none;padding:0;margin:2.25rem 0 0;display:grid;gap:1rem;grid-template-columns:1fr}
.recortes a{display:grid;gap:.5rem;height:100%;padding:1.4rem 1.5rem;border:1px solid rgba(255,255,255,.14);border-radius:4px;text-decoration:none;background:rgba(255,255,255,.03);transition:border-color .2s,background .2s}
.recortes a:hover{border-color:var(--vela);background:rgba(224,169,59,.06)}
.recortes .medio{font-size:.95rem;color:var(--vela)}
.recortes .titular{font:400 1.3rem/1.25 var(--serif);color:#fff}
@media (min-width:52rem){.recortes{grid-template-columns:repeat(3,1fr)}}

/* Pinceladas mágicas */
.form-cab{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.lacre{width:3.4rem;height:3.4rem;flex:none;transform:rotate(-12deg);filter:drop-shadow(0 2px 3px rgba(0,0,0,.25))}
.posdata{text-align:center;margin:1rem auto 0;font:italic 1.05rem var(--serif);color:#A9A6B4}


/* Pie */
.pie{background:#15161E;color:#9C9AA8;font-size:.95rem;padding-block:3.5rem 2rem}

.pie a{color:#C9C7D0}

/* WhatsApp flotante */
.wa-flotante{position:fixed;right:1rem;bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);z-index:30;width:3.5rem;height:3.5rem;border-radius:50%;background:#25D366;color:#fff;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.3)}
.wa-flotante svg{width:1.9rem;height:1.9rem}

/* Animación de entrada del hero: un único momento */
@keyframes aparecer{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero-texto>*{animation:aparecer .9s cubic-bezier(.2,.7,.2,1) both}
.hero-texto>*:nth-child(2){animation-delay:.12s}
.hero-texto>*:nth-child(3){animation-delay:.24s}
.hero-texto>*:nth-child(4){animation-delay:.36s}
.hero-texto>*:nth-child(5){animation-delay:.6s}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== Menú ===== */
.menu{margin-left:auto}
.menu ul{list-style:none;margin:0;padding:0;display:flex;gap:1.75rem}
.menu a{color:#fff;text-decoration:none;font-weight:500;font-size:1.0625rem;padding:.4rem 0;border-bottom:2px solid transparent;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.menu a:hover{color:var(--vela)}
.menu a[aria-current="page"]{border-bottom-color:var(--vela)}
.menu-boton{display:none;margin-left:auto;background:none;border:0;color:#fff;width:2.75rem;height:2.75rem;cursor:pointer;padding:0}
.menu-boton svg{width:1.8rem;height:1.8rem}
.menu-cta{display:none}
@media (max-width:62rem){
  .menu-boton{display:grid;place-items:center}
  .cab-cta{display:none}
  .menu{position:fixed;inset:0;z-index:-1;background:#15161E;padding:calc(env(safe-area-inset-top,0px) + 6rem) 2rem 2rem;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;margin:0}
  .menu.abierto{opacity:1;visibility:visible}
  .menu ul{flex-direction:column;gap:.25rem}
  .menu a{display:inline-block;font:400 2rem/1.4 var(--serif);text-shadow:none}
  .menu-cta{display:inline-flex;margin-top:2rem}
  .menu-abierto{overflow:hidden}
  .menu-abierto .cabecera{background:transparent;box-shadow:none;backdrop-filter:none}
  .menu-abierto .cabecera .marca{opacity:1;visibility:visible}
}

/* ===== Cabecera de página interior ===== */
.pagina-hero{position:relative;min-height:min(68svh,40rem);display:grid;align-items:end;color:#fff;isolation:isolate;overflow:hidden}
.pagina-hero>.foto{position:absolute;inset:0;z-index:-2}
.pagina-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(29,31,42,.6) 0%,rgba(29,31,42,.15) 35%,rgba(29,31,42,.88) 100%)}
.pagina-hero .contenedor{padding-block:8rem clamp(2.5rem,6vw,4rem)}
.pagina-hero h1{font-size:clamp(2.6rem,6.5vw,4.75rem)}
.pagina-hero p{margin:1rem 0 0;font-size:clamp(1.125rem,2vw,1.3rem);max-width:46ch;color:#EDEBF2;text-shadow:0 1px 10px rgba(0,0,0,.3)}

/* ===== Bloques genéricos ===== */
.dos-col{display:grid;gap:clamp(2rem,5vw,4.5rem);grid-template-columns:minmax(0,1fr);align-items:center}
@media (min-width:52rem){.dos-col{grid-template-columns:1fr 1fr}.dos-col.invertido>:first-child{order:2}}
.dos-col>.foto{border-radius:6px;aspect-ratio:4/3}
.intro{margin-top:1.25rem}
.enlace-flecha{display:inline-block;margin-top:.5rem;font-weight:700;color:var(--embalse);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:.1rem}
.oscuro .enlace-flecha{color:var(--vela)}
.enlace-flecha:hover{color:var(--brasa)}

.mosaico{display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}
.mosaico .foto{border-radius:6px;aspect-ratio:1}
.mosaico .foto.ancha{grid-column:span 2;aspect-ratio:2/1}
@media (min-width:52rem){.mosaico.cuatro{grid-template-columns:repeat(4,1fr)}.mosaico.cuatro .foto{aspect-ratio:3/4}}

.servicios{list-style:none;padding:0;margin:1.75rem 0 0;display:grid;gap:.85rem 2rem;grid-template-columns:minmax(0,1fr)}
.servicios li{display:flex;gap:.9rem;align-items:baseline}
.servicios li::before{content:"";flex:none;width:.55rem;height:.55rem;transform:rotate(45deg) translateY(-.15rem);background:var(--vela)}
@media (min-width:40rem){.servicios.dos{grid-template-columns:1fr 1fr}}

.actividades{display:grid;gap:1.25rem;margin-top:3rem;grid-template-columns:minmax(0,1fr)}
.actividad{background:var(--papel);border-radius:6px;padding:1.75rem;border-top:3px solid var(--embalse)}
.actividad h3{margin-bottom:.6rem}
.actividad p{margin:0;font-size:1.0625rem;color:var(--tinta-suave)}
@media (min-width:46rem){.actividades{grid-template-columns:1fr 1fr}}
@media (min-width:68rem){.actividades{grid-template-columns:repeat(3,1fr)}}

/* Línea del tiempo de la historia (secuencia real) */
.hitos{list-style:none;padding:0;margin:3rem 0 0;display:grid;gap:2rem;grid-template-columns:minmax(0,1fr)}
.hito{border-left:2px solid var(--vela);padding-left:1.5rem}
.hito .cuando{font:400 2rem/1 var(--serif);color:var(--vela)}
.hito h3{margin:.6rem 0 .4rem}
.hito p{margin:0}
@media (min-width:56rem){.hitos{grid-template-columns:repeat(3,1fr)}}

/* Banda final de llamada a la acción */
.cta-banda{position:relative;isolation:isolate;color:#fff;text-align:center}
.cta-banda>.foto{position:absolute;inset:0;z-index:-2}
.cta-banda::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(29,31,42,.78)}
.cta-banda h2{max-width:20ch;margin-inline:auto}
.cta-banda p{margin:1.25rem auto 2rem;color:#DEDCE6}
.cta-banda .acciones{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}

/* Mapa con carga bajo demanda (sin cookies de terceros hasta que se pulsa) */
.mapa-carga{position:relative;width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:1.5rem;background:linear-gradient(160deg,var(--embalse),var(--basalto));color:#fff}
.mapa-carga p{margin:0 auto 1rem;font-size:.95rem;color:#D8D6E0;max-width:32ch}

/* Páginas legales */
.legal{max-width:46rem}
.legal h2{font-size:1.75rem;margin:2.5rem 0 .75rem}
.legal ul{padding-left:1.25rem}

/* Pie de varias columnas */
.pie-grid{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr);padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:1.5rem}
.pie-grid h3{font:500 1rem var(--sans);color:#E4E2DC;margin-bottom:.75rem}
.pie-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.pie-grid a{text-decoration:none}.pie-grid a:hover{color:var(--vela)}
@media (min-width:52rem){.pie-grid{grid-template-columns:1.3fr 1fr 1fr 1fr}}
.pie-legal{display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between}

/* Fotos ampliables fuera de la galería */
.mosaico>button{all:unset;cursor:zoom-in;display:block;border-radius:6px;overflow:hidden}
.mosaico>button:focus-visible{outline:3px solid var(--vela);outline-offset:3px}
.mosaico>button.ancha{grid-column:span 2}
.mosaico>button .foto{width:100%;aspect-ratio:1;border-radius:0}
.mosaico>button.ancha .foto{aspect-ratio:2/1}
@media (min-width:52rem){.mosaico.cuatro>button .foto{aspect-ratio:3/4}}
.mosaico img{transition:transform .5s}.mosaico>button:hover img{transform:scale(1.04)}
.foto-redonda{border-radius:6px}
.donde>.foto{aspect-ratio:4/3}
@media (min-width:56rem){
  .trayecto{grid-template-columns:repeat(var(--cols,7),1fr)}
  .trayecto::before{left:calc(100% / (var(--cols,7) * 2));right:calc(100% / (var(--cols,7) * 2))}
}
.menu-abierto .wa-flotante{display:none}
.menu .menu-cta{color:var(--basalto);font:700 1.0625rem/1 var(--sans);border-bottom:0;text-shadow:none;padding:.9em 1.5em}
