/* Plantilla de landing EntreAguas (lenguaje de maquetacion inspirado en sotu.com.mx y radhootulum.com;
   paleta, tipografia, textos y fotos propios de EntreAguas). Sin frameworks: una sola hoja para todas las landings. */
:root{--cream:#F1EADB;--paper:#FBF7EE;--ink:#14231C;--forest:#1E3A2C;--forest2:#2C4A39;--sage:#7C9A86;--sand:#C2AE82;
  --line:rgba(20,35,28,.2);--g:clamp(16px,3vw,43px);--serif:"Crimson Text",Georgia,serif;--sans:"Hind",Tahoma,sans-serif;--ui:"IBM Plex Sans",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3{margin:0;font-weight:400}
strong{font-weight:600}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:90;background:var(--paper);padding:10px 16px;font-family:var(--ui);font-size:12px}
.skip:focus{top:12px}

/* tipografia */
.l-eye{font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.l-h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:.03em;line-height:1.06;font-size:clamp(2.1rem,4.3vw,3.5rem)}
.l-h3{font-family:var(--serif);text-transform:uppercase;letter-spacing:.03em;line-height:1.1;font-size:clamp(1.6rem,2.6vw,2.2rem)}
.l-sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,1.7vw,1.4rem);line-height:1.35}
.l-body{max-width:40rem}
.l-body p+p{margin-top:1.1em}
.l-sq{display:block;width:10px;height:10px;background:currentColor;opacity:.8}

/* botones: contorno cuadrado que se llena al pasar */
.l-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border:1.5px solid currentColor;font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:background .2s linear,color .2s linear,border-color .2s linear}
.l-btn.on-dark{color:var(--cream)} .l-btn.on-dark:hover{background:var(--cream);color:var(--forest);border-color:var(--cream)}
.l-btn.on-light{color:var(--ink)} .l-btn.on-light:hover{background:var(--forest);color:var(--cream);border-color:var(--forest)}
.l-tlink{font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.07em;text-transform:uppercase;position:relative;display:inline-block;padding:10px 0}
.l-tlink::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transition:opacity .3s,transform .3s}
.l-tlink:hover::after{opacity:0;transform:translateY(4px)}

/* cabecera: flota sobre el heroe con degradado y se va con el scroll */
.l-top{position:absolute;inset:0 0 auto 0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--g);
  background:rgba(18,42,31,.58);color:#fff;-webkit-backdrop-filter:blur(10px) saturate(1.35);backdrop-filter:blur(10px) saturate(1.35)}
.l-logo{display:inline-block;width:62px;height:46px;background:var(--cream);-webkit-mask:url(/editorial/img/logo.png) center/contain no-repeat;mask:url(/editorial/img/logo.png) center/contain no-repeat}
.l-nav{display:flex;align-items:center;gap:22px}
.l-nav a{font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:.07em;text-transform:uppercase;position:relative}
.l-nav a.u::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.l-nav a.u:hover::after{transform:scaleX(1)}
.l-nav .l-btn{min-height:40px;padding:0 16px;font-size:11px}
@media(max-width:640px){.l-nav a.u{display:none}}

/* heroe: video o foto a sangre + dos grupos en diagonal sobre resplandores difusos */
.l-hero{position:relative;height:84vh;height:84svh;min-height:560px;max-height:880px;color:var(--cream);display:grid;grid-template-rows:1fr auto;gap:32px;padding:108px var(--g) 44px;overflow:hidden;background:var(--forest)}
.l-hero>video,.l-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.l-hero::after{content:"";position:absolute;inset:0;background:rgba(20,35,28,.2)}
.l-hero .ga,.l-hero .gb{position:relative;z-index:2}
.l-hero .ga::before,.l-hero .gb::before{content:"";position:absolute;inset:-40px -48px;z-index:-1;border-radius:15px;background:rgba(20,35,28,.5);filter:blur(38px);mix-blend-mode:multiply}
.l-hero .gb::before{background:rgba(20,35,28,.44)}
.l-hero .ga{align-self:center;max-width:800px;text-align:center;justify-self:start}
.l-hero .ga .l-eye{color:rgba(241,234,219,.88)}
.l-hero h1{text-wrap:balance;font-family:var(--serif);font-size:clamp(2rem,3.7vw,3.2rem);line-height:1.2;margin-top:18px;text-shadow:0 1px 24px rgba(0,0,0,.3)}
.l-box{display:inline-block;margin-top:.14em;padding:.02em .4em .08em;background:rgba(20,35,28,.82);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-shadow:none;line-height:1.15;font-style:italic;color:var(--sand)}
.l-box .last{text-transform:uppercase;letter-spacing:.02em}
.l-hero .gb{justify-self:end;align-self:end;max-width:560px;text-align:right}
.l-hero .gb .k{font-weight:600;font-size:1.05rem}
.l-hero .gb p{font-size:16px}
.l-hero .gb p{color:rgba(241,234,219,.92)}
.l-hero .gb .l-btn{margin-top:20px}
@media(max-width:767px){.l-hero{height:auto;min-height:84svh;max-height:none;padding-top:104px;gap:28px}.l-hero .ga{text-align:left;justify-self:stretch}.l-hero .gb{text-align:left;justify-self:stretch}}

/* division de entrada: retrato a sangre por la izquierda + foto circular que lo monta */
.l-split{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr);align-items:center;gap:0;padding:48px 0 64px}
.l-split .fig{position:relative;margin-right:0}
.l-split .fig>img.port{width:100%;aspect-ratio:4/5;object-fit:cover;max-height:86vh}
.l-circ{position:absolute;border-radius:50%;object-fit:cover;aspect-ratio:1/1;border:6px solid var(--cream)}
.l-split .fig>img.l-circ{width:clamp(150px,19vw,273px);height:auto;right:calc(clamp(150px,19vw,273px) * -.42);top:12%}
.l-split .txt{padding:0 var(--g) 0 calc(clamp(150px,19vw,273px) * .58 + 48px)}
.l-split .txt .l-h2{color:var(--forest2)}
.l-split .txt .l-body{margin-top:32px}
.l-split .txt .l-btn{margin-top:36px}
@media(max-width:767px){.l-split{grid-template-columns:1fr;gap:56px;padding-top:24px}.l-split .fig{margin-right:22vw}.l-split .fig>img.l-circ{width:40vw;right:-18vw;top:auto;bottom:-28px}.l-split .txt{padding:0 var(--g)}}

/* banda oscura con titulo + marquesina de palabras */
.l-band{background:var(--forest);color:var(--cream);padding:56px 0 64px;text-align:center;overflow:hidden}
.l-band .l-sub{color:var(--sand);margin-top:10px}
.l-band .l-h3,.l-band .l-sub{padding:0 var(--g)}
.l-marq{display:flex;width:max-content;margin-top:40px;animation:l-marq 46s linear infinite}
.l-marq span{font-family:var(--serif);font-style:italic;font-size:clamp(2rem,4vw,3.4rem);line-height:1.1;white-space:nowrap;display:inline-flex;align-items:center;color:rgba(241,234,219,.9)}
.l-marq span::after{content:"";display:inline-block;width:10px;height:10px;background:var(--sand);margin:0 clamp(28px,3.4vw,52px)}
@keyframes l-marq{to{transform:translateX(-50%)}}

/* dos columnas: ustedes traen / nosotros ponemos */
.l-duo{background:var(--forest2);color:var(--cream);display:grid;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);gap:0;padding:72px var(--g)}
.l-duo .col{text-align:center;padding:0 clamp(12px,3vw,48px)}
.l-duo .rule{background:rgba(241,234,219,.22)}
.l-duo .l-sub{color:var(--sand);margin-top:10px}
.l-duo ul{list-style:none;margin:32px auto 0;padding:0;max-width:30rem}
.l-duo li{padding:14px 0;border-top:1px solid rgba(241,234,219,.18);color:rgba(241,234,219,.9)}
.l-duo li:last-child{border-bottom:1px solid rgba(241,234,219,.18)}
.l-duo li b{font-weight:600;color:var(--cream)}
@media(max-width:767px){.l-duo{grid-template-columns:1fr;gap:56px}.l-duo .rule{display:none}}

/* division en espejo: texto a la izquierda + par de fotos que se montan a la derecha */
.l-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,72px);padding:48px 0 40px;background:var(--paper)}
.l-pair .txt{padding-left:var(--g)}
.l-pair .txt .l-h2{max-width:14ch;color:var(--forest2)}
.l-pair .txt .l-sub{margin-top:14px;color:var(--forest)}
.l-pair .txt .l-body{margin-top:32px}
.l-pair .ph{position:relative;display:flex;justify-content:flex-end;padding-bottom:80px}
.l-pair .ph .big{width:68%;aspect-ratio:2/3;object-fit:cover;max-height:88vh}
.l-pair .ph .small{position:absolute;left:4%;top:80px;width:40%;aspect-ratio:3/5;object-fit:cover;border:6px solid var(--paper)}
@media(max-width:767px){.l-pair{grid-template-columns:1fr;padding:32px 0 64px}.l-pair .ph{order:-1}.l-pair .ph .big{width:78%}.l-pair .ph .small{width:44%;left:var(--g)}.l-pair .txt{padding:0 var(--g)}}

/* tres atmosferas: columnas escalonadas sobre foto con velo */
.l-atm{position:relative;color:var(--cream);padding:88px var(--g) 110px;overflow:hidden}
.l-atm>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.l-atm::before{content:"";position:absolute;inset:0;background:rgba(20,35,28,.8);z-index:1}
.l-atm>*:not(img){position:relative;z-index:2}
.l-atm .hd{text-align:center;max-width:48rem;margin:0 auto}
.l-atm .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:64px;align-items:start}
.l-atm .c{text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px}
.l-atm .c:nth-child(2){margin-top:64px}
.l-atm .c:nth-child(3){margin-top:128px;flex-direction:column-reverse}
.l-atm .c img{width:clamp(140px,14vw,190px);aspect-ratio:1/1;border-radius:50%;object-fit:cover}
.l-atm .c .l-eye{color:var(--sand)}
.l-atm .c .l-sub{margin-top:6px}
.l-atm .c p.t{margin-top:12px;color:rgba(241,234,219,.86);max-width:22rem}
@media(max-width:767px){.l-atm .grid{grid-template-columns:1fr;gap:56px}.l-atm .c:nth-child(2),.l-atm .c:nth-child(3){margin-top:0}.l-atm .c:nth-child(3){flex-direction:column}}

/* formatos sobre arena */
.l-fmt{background:var(--sand);color:var(--ink);padding:72px var(--g) 80px}
.l-fmt .hd{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.l-fmt ol{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:24px}
.l-fmt li{border-top:1px solid rgba(20,35,28,.35);padding-top:18px}
.l-fmt li .n{font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:.07em;color:rgba(20,35,28,.7)}
.l-fmt li h3{font-family:var(--serif);font-size:clamp(1.55rem,2.2vw,1.95rem);line-height:1.12;margin-top:10px}
.l-fmt li p{margin-top:10px;color:rgba(20,35,28,.82)}
.l-fmt .note{margin-top:40px;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:rgba(20,35,28,.85)}
@media(max-width:900px){.l-fmt ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.l-fmt ol{grid-template-columns:1fr}}

/* preguntas frecuentes */
.l-faq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);padding:88px var(--g)}
.l-faq .l-h2{color:var(--forest2)}
.l-faq .l-sub{margin-top:14px;color:var(--forest)}
.l-faq details{border-top:1px solid var(--line)}
.l-faq details:last-child{border-bottom:1px solid var(--line)}
.l-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;font-family:var(--serif);font-size:clamp(1.3rem,1.8vw,1.5rem);line-height:1.25}
.l-faq summary::-webkit-details-marker{display:none}
.l-faq summary i{flex:0 0 auto;width:14px;height:14px;position:relative}
.l-faq summary i::before,.l-faq summary i::after{content:"";position:absolute;left:0;right:0;top:6px;height:1.5px;background:var(--ink);transition:transform .3s}
.l-faq summary i::after{transform:rotate(90deg)}
.l-faq details[open] summary i::after{transform:rotate(0)}
.l-faq details p{padding:0 0 22px;max-width:40rem;color:rgba(20,35,28,.82)}
@media(max-width:767px){.l-faq{grid-template-columns:1fr;padding:64px var(--g)}}

/* cierre: foto bajo velo al 90 % */
.l-cta{position:relative;color:var(--cream);text-align:center;padding:72px var(--g) 80px;overflow:hidden}
.l-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.l-cta::before{content:"";position:absolute;inset:0;background:rgba(30,58,44,.9);z-index:1}
.l-cta>*:not(img){position:relative;z-index:2}
.l-cta .l-logo{width:86px;height:64px}
.l-cta .l-h2{margin-top:32px}
.l-cta .l-sub{color:var(--sand);margin-top:12px}
.l-cta .acts{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 28px;margin-top:36px}
.l-cta .more{margin-top:36px;font-size:15px;color:rgba(241,234,219,.8)}
.l-cta .more a{border-bottom:1px solid rgba(241,234,219,.5)}
.l-cta .more a:hover{border-color:var(--cream)}

/* pie */
.l-foot{background:var(--ink);color:rgba(241,234,219,.75);padding:28px var(--g) 36px;font-size:13px;font-weight:400;display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center}
.l-foot nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.l-foot a:hover{color:var(--cream)}

/* boton flotante de WhatsApp */
.l-wa{position:fixed;right:20px;bottom:20px;z-index:40;width:56px;height:56px;border-radius:50%;background:var(--forest);color:var(--cream);display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}

/* aparicion: solo en navegadores de personas (html.anim); agentes y lectores sin JS ven todo */
html.anim .rv{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,.61,.24,1),transform .8s cubic-bezier(.22,.61,.24,1)}
html.anim .rvi{opacity:0;transform:translateY(12%);transition:opacity .9s ease,transform .9s cubic-bezier(.22,.61,.24,1)}
html.anim .rv.in,html.anim .rvi.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.l-marq{animation:none;flex-wrap:wrap;width:auto;justify-content:center}html.anim .rv,html.anim .rvi{opacity:1;transform:none;transition:none}}

/* ======================= selector de idioma ======================= */
.l-lang{display:inline-flex;align-items:center;gap:8px;font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:.07em}
.l-lang a{opacity:.62;padding:4px 0;border-bottom:1px solid transparent}
.l-lang a[aria-current="page"]{opacity:1;border-bottom-color:currentColor}
.l-lang a:hover{opacity:1}
.l-lang i{font-style:normal;opacity:.5}

/* ======================= collage de dos fotos + texto (SoTu: cuidado / resultado / mesa) ======================= */
.l-col{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,88px);padding:64px 0;overflow:hidden}
.l-col.t-cream{background:var(--cream);color:var(--ink)}
.l-col.t-paper{background:var(--paper);color:var(--ink)}
.l-col.t-f2{background:var(--forest2);color:var(--cream)}
.l-col.t-dark{color:var(--cream)}
.l-col.t-dark>.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.l-col.t-dark::before{content:"";position:absolute;inset:0;background:rgba(20,35,28,.9);z-index:1}
.l-col>*:not(.bg){position:relative;z-index:2}
.l-col .ph{position:relative;height:clamp(440px,52vw,780px)}
.l-col .ph img{position:absolute;object-fit:cover}
.l-col.pl .ph img.big{left:0;top:0;width:31vw;height:100%}
.l-col.pl .ph img.small{left:19vw;top:0;width:27vw;height:86%}
.l-col.pr .ph img.big{right:0;top:0;width:37vw;height:100%}
.l-col.pr .ph img.small{right:26vw;top:13%;width:23vw;height:87%}
.l-col .txt{padding:0 var(--g)}
.l-col.pl .txt{padding-left:0}
.l-col.pr .txt{padding-right:0}
.l-col .ey{margin-bottom:22px}
.l-col h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:.07em;line-height:1.08;font-size:clamp(2.1rem,4.1vw,3.7rem)}
.l-col .sb{font-family:var(--sans);font-weight:300;font-size:clamp(1.15rem,1.6vw,1.4rem);margin-top:18px;opacity:.85}
.l-col .l-body{margin-top:clamp(28px,3.4vw,48px);max-width:42rem;font-size:clamp(16px,1.25vw,18px);line-height:1.7}
.l-col.t-f2 .l-body,.l-col.t-dark .l-body{color:rgba(241,234,219,.86)}
.l-col.t-dark h2{color:var(--sand)}
.l-col ul.facts{list-style:none;padding:0;margin:26px 0 0;max-width:42rem}
.l-col ul.facts li{display:flex;gap:14px;align-items:baseline;padding:12px 0;border-top:1px solid currentColor;border-color:rgba(241,234,219,.2)}
.l-col.t-cream ul.facts li,.l-col.t-paper ul.facts li{border-color:var(--line)}
.l-col ul.facts li:last-child{border-bottom:1px solid rgba(241,234,219,.2)}
.l-col.t-cream ul.facts li:last-child,.l-col.t-paper ul.facts li:last-child{border-bottom-color:var(--line)}
.l-col ul.facts b{font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:.07em;text-transform:uppercase;min-width:9.5rem;flex:0 0 auto;opacity:.9}
.l-col .acts{margin-top:32px;display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center}
@media(max-width:860px){.l-col{grid-template-columns:1fr;gap:40px;padding:48px 0 56px}
  .l-col .ph{height:112vw;max-height:620px}
  .l-col.pl .ph img.big{width:62vw}.l-col.pl .ph img.small{left:38vw;width:56vw;top:10%;height:80%}
  .l-col.pr .ph{order:-1}.l-col.pr .ph img.big{width:62vw}.l-col.pr .ph img.small{right:38vw;width:52vw;top:14%;height:80%}
  .l-col .txt,.l-col.pl .txt,.l-col.pr .txt{padding:0 var(--g)}
  .l-col ul.facts li{flex-direction:column;gap:4px}.l-col ul.facts b{min-width:0}}

/* ======================= habitaciones (diseno del receso: titulo gigante + slider con fichas) ======================= */
.l-rooms{position:relative;padding:88px 0 96px;background:linear-gradient(180deg,var(--cream) 0,var(--cream) 42%,var(--paper) 42%)}
.l-rooms .bigt{font-family:var(--serif);text-transform:uppercase;text-align:center;white-space:nowrap;font-size:clamp(3.2rem,11.5vw,10.5rem);line-height:1;letter-spacing:.02em;
  background:linear-gradient(180deg,#1E3A2C 16%,rgba(30,58,44,.45) 48%,rgba(30,58,44,.1) 72%);-webkit-background-clip:text;background-clip:text;color:transparent;overflow:hidden}
.l-sl{position:relative;margin:calc(-1 * clamp(1.4rem,4.6vw,4.2rem)) var(--g) 0}
.l-sl .vp{position:relative;overflow:hidden;aspect-ratio:1296/690;touch-action:pan-y;background:var(--forest)}
.l-sl .tr{display:flex;height:100%;transition:transform .8s cubic-bezier(.7,0,.3,1)}
.l-sl .sd{position:relative;flex:0 0 100%;height:100%}
.l-sl .sd img{width:100%;height:100%;object-fit:cover}
.l-sl .sd::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,35,28,.1) 0%,rgba(20,35,28,.16) 45%,rgba(20,35,28,.68) 100%)}
.l-sl .tx{position:absolute;left:clamp(20px,5.2vw,75px);right:clamp(20px,5.2vw,75px);bottom:clamp(24px,5.6vw,80px);z-index:2;color:var(--cream)}
.l-sl .tx .l-eye{color:rgba(241,234,219,.85)}
.l-sl h3{font-family:var(--serif);font-size:clamp(2.2rem,5vw,4.4rem);line-height:1;margin-top:10px}
.l-sl ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px 16px;margin:clamp(16px,2.4vw,32px) 0 0}
.l-sl li{display:inline-flex;align-items:center;height:42px;padding:2px 18px 2px 2px;border-radius:21px;background:rgba(241,234,219,.14);font-size:16px;line-height:1;color:var(--cream);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.l-sl li span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--cream);color:var(--forest);margin-right:11px}
.l-sl li span svg{width:18px;height:18px}
.l-sl .arw{position:absolute;top:50%;z-index:4;transform:translateY(-50%);display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:var(--cream);color:var(--forest);border:0;cursor:pointer;box-shadow:0 14px 20px rgba(20,35,28,.28);transition:background .3s,color .3s}
.l-sl .arw:hover{background:var(--forest);color:var(--cream)}
.l-sl .arw svg{width:16px;height:16px}
.l-sl .arw.pv{left:-25px}.l-sl .arw.nx{right:-25px}
.l-sl .cnt{position:absolute;right:clamp(20px,5.2vw,75px);top:clamp(18px,3vw,36px);z-index:3;color:var(--cream);font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:.07em}
.l-rooms .pick{text-align:center;margin:40px var(--g) 0}
.l-rooms .pick .lead{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.2;color:var(--forest)}
.l-rooms .pick .det{margin-top:8px;color:rgba(20,35,28,.72)}
.l-rooms .elige{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:22px}
.l-rooms .elige span{font-family:var(--ui);font-weight:700;font-size:11px;letter-spacing:.07em;text-transform:uppercase;margin-right:6px}
.l-rooms .elige button{height:38px;padding:0 16px;border-radius:30px;background:var(--cream);border:1px solid var(--line);font-family:var(--sans);font-size:15px;color:var(--ink);cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.l-rooms .elige button:hover{border-color:var(--forest)}
.l-rooms .elige button[aria-current="true"]{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.l-rooms .nota{max-width:46rem;margin:16px auto 0;font-size:15px;line-height:1.6;color:rgba(20,35,28,.66)}
.l-rooms .more{margin-top:22px}
@media(max-width:767px){.l-sl .vp{aspect-ratio:4/5}.l-sl .arw{width:42px;height:42px}.l-sl .arw.pv{left:-12px}.l-sl .arw.nx{right:-12px}.l-sl li{height:36px;font-size:14px}.l-sl li span{width:32px;height:32px}}

/* ======================= ubicacion (mapa ilustrado + mapa real en recuadro + listas) ======================= */
.l-loc{background:var(--cream);padding:88px 0 96px;overflow:hidden}
.l-loc .hd{text-align:center;padding:0 var(--g)}
.l-loc .hd .l-h2{color:var(--forest2)}
.l-loc .hd .l-sub{margin-top:12px;color:var(--forest)}
.l-loc .grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,64px);margin-top:56px;align-items:start}
.l-loc .maps{position:relative;padding:0 0 0 var(--g)}
.l-loc .map-il{position:relative;border:2px solid var(--ink);background:#E3E6D6;margin-left:12%}
.l-loc .map-il svg{display:block;width:100%;height:auto}
.l-loc .map-in{position:relative;z-index:2;width:56%;margin:-22% 0 0 calc(-1 * var(--g));border:2px solid var(--ink);background:var(--paper);aspect-ratio:292/400}
.l-loc .map-in iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.75) sepia(.12)}
.l-loc .cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px clamp(20px,3vw,48px);padding-right:var(--g)}
.l-loc h3{font-family:var(--serif);text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.1;color:var(--forest2)}
.l-loc ol,.l-loc ul{list-style:none;padding:0;margin:18px 0 0}
.l-loc li{padding:7px 0;line-height:1.45}
.l-loc li b{font-family:var(--ui);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.l-loc li .n{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--forest);color:var(--cream);font-family:var(--ui);font-weight:700;font-size:11px;margin-right:8px;vertical-align:1px}
.l-loc li .n.me{background:var(--sand);color:var(--ink)}
.l-loc li small{display:block;font-size:14px;color:rgba(20,35,28,.66);margin-left:30px}
.l-loc .note{grid-column:1/-1;font-size:14px;color:rgba(20,35,28,.66)}
.l-loc .acts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
@media(max-width:900px){.l-loc .grid{grid-template-columns:1fr}.l-loc .maps{padding-right:var(--g)}.l-loc .cols{padding:0 var(--g)}}
@media(max-width:560px){.l-loc .cols{grid-template-columns:1fr}.l-loc .map-il{margin-left:0}.l-loc .map-in{width:64%;margin-left:calc(-1 * var(--g))}}

/* ======================= registro (SoTu: proximos eventos, fila con foto + formulario) ======================= */
.l-reg{background:var(--paper);padding:56px var(--g) 96px}
.l-reg .hd{margin-left:clamp(0px,22vw,320px)}
.l-reg .hd .l-h2{color:var(--forest2);max-width:12ch}
.l-reg .row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,88px);align-items:center;margin-top:48px}
.l-reg .row>img{width:100%;aspect-ratio:501/574;object-fit:cover;max-width:540px;justify-self:end}
.l-reg h3{font-family:var(--serif);font-size:clamp(1.8rem,2.8vw,2.6rem);line-height:1.15;letter-spacing:.05em;color:var(--forest2)}
.l-reg hr{border:0;border-top:1px solid rgba(20,35,28,.55);margin:24px 0}
.l-reg .intro{max-width:36rem;color:rgba(20,35,28,.82)}
.l-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin-top:26px;max-width:40rem}
.l-form label{display:flex;flex-direction:column;gap:6px;font-family:var(--ui);font-weight:600;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:rgba(20,35,28,.72)}
.l-form label.w{grid-column:1/-1}
.l-form input,.l-form textarea,.l-form select{font-family:var(--sans);font-weight:400;font-size:16px;letter-spacing:0;text-transform:none;color:var(--ink);background:transparent;border:0;border-bottom:1px solid rgba(20,35,28,.4);padding:8px 0;border-radius:0;outline:none}
.l-form textarea{resize:vertical;min-height:72px}
.l-form input:focus,.l-form textarea:focus,.l-form select:focus{border-bottom-color:var(--forest)}
.l-form .send{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:8px}
.l-form .send .l-btn{min-width:220px;cursor:pointer;background:transparent}
.l-form .hint{font-size:13px;color:rgba(20,35,28,.6);max-width:26rem}
@media(max-width:860px){.l-reg .hd{margin-left:0}.l-reg .row{grid-template-columns:1fr}.l-reg .row>img{justify-self:stretch;max-width:none;aspect-ratio:4/3}.l-form{grid-template-columns:1fr}}

/* ======================= plantilla Radhoo (colegios) ======================= */
.r-top{position:fixed;inset:0 0 auto 0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--g);background:rgba(18,42,31,.58);color:#fff;-webkit-backdrop-filter:blur(10px) saturate(1.35);backdrop-filter:blur(10px) saturate(1.35);transition:transform .2s ease-in-out,background .3s ease}
.r-top.solid{background:rgba(18,42,31,.86)}
.r-top.hide{transform:translateY(-110%)}
.r-top nav{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}
.r-top nav a.u{font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:.07em;text-transform:uppercase;position:relative}
.r-top nav a.u::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.r-top nav a.u:hover::after{transform:scaleX(1)}
@media(max-width:900px){.r-top nav a.u{display:none}}
.r-hero{position:relative;height:86vh;height:86svh;min-height:560px;max-height:880px;display:grid;place-items:center;text-align:center;color:var(--cream);overflow:hidden;background:var(--forest);padding:96px var(--g) 120px}
.r-hero>video,.r-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.r-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,35,28,.42),rgba(20,35,28,.36) 55%,rgba(20,35,28,.6))}
.r-hero .in{position:relative;z-index:2;max-width:900px}
.r-hero .l-eye{color:rgba(241,234,219,.88)}
.r-hero h1{font-family:var(--serif);font-size:clamp(2rem,4vw,3.4rem);line-height:1.2;margin-top:18px;text-wrap:balance;text-shadow:0 1px 24px rgba(0,0,0,.3)}
.r-hero .badges{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:34px}
.r-seal{display:grid;place-items:center;text-align:center;width:92px;height:92px;border-radius:50%;border:1.5px solid rgba(241,234,219,.85);font-family:var(--ui);font-weight:700;letter-spacing:.07em;text-transform:uppercase;line-height:1.15;color:var(--cream)}
.r-seal b{display:block;font-size:17px;letter-spacing:.04em}
.r-seal small{display:block;font-size:8.5px;font-weight:600}
.r-seal.ink{border-color:rgba(241,234,219,.6)}
.r-hero .side{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:rgba(241,234,219,.92);max-width:15rem;text-align:left}
.r-bar{position:fixed;left:50%;bottom:18px;z-index:35;transform:translateX(-50%);width:min(680px,calc(100% - 32px));display:flex;align-items:stretch;background:var(--paper);box-shadow:0 10px 36px rgba(0,0,0,.22);transition:opacity .3s,transform .3s}
.r-bar.off{opacity:0;pointer-events:none;transform:translate(-50%,20px)}
.r-bar div{flex:1;padding:12px 18px;border-right:1px solid rgba(20,35,28,.12);min-width:0}
.r-bar div span{display:block;font-family:var(--ui);font-weight:600;font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:rgba(20,35,28,.62)}
.r-bar div p{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r-bar a{display:flex;align-items:center;padding:0 24px;background:var(--forest);color:var(--cream);font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.r-bar a:hover{background:var(--forest2)}
@media(max-width:640px){.r-bar div.opt{display:none}}
.r-man{background:var(--paper);padding:64px var(--g) 64px;text-align:center}
.r-man h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:.08em;font-size:clamp(1.5rem,2.3vw,1.95rem);line-height:1.45;color:var(--forest2)}
.r-man p{max-width:920px;margin:40px auto 0;font-size:17px;line-height:1.65}
.r-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:48px var(--g) 64px;background:var(--cream)}
.r-three img{width:100%;aspect-ratio:1/1;object-fit:cover}
@media(max-width:640px){.r-three{grid-template-columns:1fr 1fr}.r-three img:last-child{display:none}}
.r-dark{background:var(--forest);color:var(--cream);padding:64px var(--g) 80px}
.r-dark .hd{text-align:center;max-width:1160px;margin:0 auto}
.r-dark h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:.08em;font-size:clamp(1.5rem,2.3vw,1.95rem)}
.r-dark .hd .l-eye{margin-top:10px;color:var(--sand)}
.r-dark .hd p{margin:26px auto 0;max-width:52rem;color:rgba(241,234,219,.86)}
.r-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:48px}
.r-cards article img{width:100%;aspect-ratio:3/4;object-fit:cover}
.r-cards h3{font-family:var(--serif);text-transform:uppercase;letter-spacing:.06em;font-size:1.35rem;line-height:1.35;margin-top:18px}
.r-cards p{margin-top:8px;color:rgba(241,234,219,.82);font-size:16px}
.r-cards .r-btn{margin-top:20px}
@media(max-width:860px){.r-cards{grid-template-columns:1fr}}
.r-btn{display:inline-flex;align-items:center;justify-content:center;min-height:62px;padding:0 30px;border:2px solid var(--sand);color:var(--sand);font-family:var(--ui);font-weight:600;font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;transition:background .1s linear,color .1s linear}
.r-btn:hover{background:var(--sand);color:var(--ink)}
.r-btn.lt{border-color:var(--forest2);color:var(--forest2);min-height:48px;padding:0 26px}
.r-btn.lt:hover{background:var(--forest2);color:var(--cream)}
.r-amen{background:var(--sand);color:var(--ink);padding:56px var(--g) 64px;text-align:center}
.r-amen h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:.08em;font-size:clamp(1.4rem,2vw,1.7rem)}
.r-amen ul{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:36px 16px}
.r-amen li{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:15px;line-height:1.5}
.r-amen svg{width:34px;height:34px;color:var(--ink)}
.r-dest{background:var(--ink);color:var(--cream);padding:72px clamp(16px,5.5vw,80px) 88px}
.r-dest .kick{text-align:center;font-family:var(--ui);font-size:14px;letter-spacing:.42em;text-transform:uppercase;line-height:1.8}
.r-dest .kick b{font-weight:700;display:block}
.r-dest .ban{position:relative;margin-top:36px;aspect-ratio:3.2/1;overflow:hidden}
.r-dest .ban img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.r-dest .ban::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,35,28,.6),rgba(20,35,28,.25) 45%,rgba(20,35,28,.45))}
.r-dest .ban .wm{position:absolute;left:6%;top:50%;transform:translateY(-50%);z-index:2;max-width:50%;font-family:var(--serif);font-size:clamp(1.9rem,4.2vw,3.7rem);line-height:.95;text-transform:uppercase;letter-spacing:.04em}
.r-dest .ban .wm i{display:block;font-size:.5em;letter-spacing:.02em;text-transform:none;color:var(--sand)}
.r-dest .ban .ov{position:absolute;right:5%;top:50%;transform:translateY(-50%);z-index:2;width:min(400px,36%);text-align:left;font-size:16.5px;line-height:1.65;color:#fff;background:rgba(18,42,31,.82);padding:22px 26px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-shadow:none}
.r-dest .ban .ov b{display:block;margin-top:10px;font-weight:600;color:#E6D3A6}
.r-dest .ban .wm{text-shadow:0 2px 18px rgba(0,0,0,.45)}
.r-five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:40px}
.r-five img{width:100%;aspect-ratio:1.46/1;object-fit:cover}
.r-five h4{margin:14px 0 0;font-family:var(--serif);font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:1.2rem;line-height:1.35}
.r-five p{margin-top:6px;font-size:14.5px;line-height:1.6;color:rgba(241,234,219,.8)}
@media(max-width:1000px){.r-five{grid-template-columns:repeat(2,minmax(0,1fr))}.r-dest .ban{aspect-ratio:4/3}.r-dest .ban .ov{left:6%;right:6%;top:auto;bottom:8%;transform:none;width:auto;text-align:left}.r-dest .ban .wm{top:12%;transform:none}}
.r-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;max-width:1160px;margin:0 auto;padding:56px var(--g);align-items:start}
.r-split.rev .media{order:2}
.r-split .media{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--forest)}
.r-split .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1s ease}
.r-split .media img.on{opacity:1}
.r-split h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:.08em;font-size:clamp(1.5rem,2.3vw,1.95rem);line-height:1.4;color:var(--forest2)}
.r-split .st{margin-top:8px;font-family:var(--ui);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(20,35,28,.66)}
.r-split .l-body{margin-top:24px}
.r-split .r-btn{margin-top:30px}
.r-split ul.facts{list-style:none;padding:0;margin:22px 0 0}
.r-split ul.facts li{padding:10px 0;border-top:1px solid var(--line)}
.r-split ul.facts li:last-child{border-bottom:1px solid var(--line)}
.r-split ul.facts b{font-weight:600}
.r-bg-cream{background:var(--cream)} .r-bg-paper{background:var(--paper)}
@media(max-width:860px){.r-split{grid-template-columns:1fr}.r-split.rev .media{order:0}}
.r-contact{background:var(--sand);color:var(--ink);padding:88px var(--g)}
.r-contact .two{display:grid;grid-template-columns:repeat(2,minmax(0,420px));justify-content:center;gap:clamp(32px,8vw,120px)}
.r-contact h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:.08em;font-size:clamp(1.4rem,2vw,1.7rem);text-align:center}
.r-contact .c{text-align:center}
.r-contact .c p{margin-top:14px}
.r-contact .c a{border-bottom:1px solid rgba(20,35,28,.5)}
.r-contact .c .lbl{margin-top:28px;font-weight:600}
.r-contact .l-form{grid-template-columns:1fr;margin-top:22px}
.r-contact .l-form input,.r-contact .l-form textarea{background:var(--paper);border:1px solid rgba(20,35,28,.35);padding:10px 12px}
.r-contact .l-form label{color:rgba(20,35,28,.8)}
.r-contact .l-form .hint{color:rgba(20,35,28,.72)}
@media(max-width:860px){.r-contact .two{grid-template-columns:1fr}}
.r-foot{background:#0E1813;color:var(--cream);padding:72px var(--g) 40px;text-align:center}
.r-foot .line{font-family:var(--serif);text-transform:uppercase;letter-spacing:.08em;font-size:1.3rem}
.r-foot .line b{font-weight:600}
.r-foot .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;max-width:1100px;margin:48px auto 0;text-align:left}
.r-foot .cols h3{font-family:var(--ui);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.r-foot .cols h3+hr{width:120px;border:0;border-top:1px solid rgba(241,234,219,.4);margin:14px 0 16px}
.r-foot .cols a,.r-foot .cols p{display:block;font-size:15px;line-height:2;color:rgba(241,234,219,.82)}
.r-foot .cols a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(194,174,130,.7)}
.r-foot .cols a:hover{color:var(--cream)}
.r-foot .seals{display:flex;justify-content:center;gap:clamp(24px,8vw,120px);margin-top:64px}
.r-foot .legal{margin-top:40px;font-size:13px;line-height:1.7;color:rgba(241,234,219,.66);max-width:56rem;margin-left:auto;margin-right:auto}
@media(max-width:760px){.r-foot .cols{grid-template-columns:1fr;text-align:center}.r-foot .cols h3+hr{margin:14px auto 16px}}

/* menu en blanco sobre la barra negra; logo blanco */
.l-top .l-logo,.r-top .l-logo{background:#fff}
.l-top .l-btn.on-dark{color:#fff;border-color:#fff}.l-top .l-btn.on-dark:hover{background:#fff;color:#122A1F}
/* videos: primer cuadro debajo, fundido al arrancar, sin boton de play de iOS */
.vwrap{position:absolute;inset:0;overflow:hidden}
.vwrap img,.vwrap video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
video.vfade{opacity:0;transition:opacity .9s ease}
video.vfade.on{opacity:1}
video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
video::-webkit-media-controls{display:none!important}
