/* Ajustes sobre la identidad original. Se conservan style.css, collages y efectos. */
html{--anchor-offset:170px;scroll-padding-top:var(--anchor-offset)}
@media(max-width:1359px){html{--anchor-offset:120px}}
/* Encuadrar el contenido de cada sección, descontando su espacio interior. */
body.inicio main>.section[id]{--section-inset:clamp(64px,9vw,120px);scroll-margin-top:calc(112px - var(--anchor-offset) - var(--section-inset))}
body.inicio main>.section--tight[id]{--section-inset:clamp(40px,6vw,72px)}
body.inicio main>.qs[id]{--section-inset:clamp(72px,8vw,124px)}
body.inicio main>.luj[id]{--section-inset:clamp(64px,9vw,120px)}
#numeros,.card[id]{scroll-margin-top:calc(112px - var(--anchor-offset))}
[hidden]{display:none!important}body.menu-open,body.photo-open{overflow:hidden}main:focus{outline:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #cc960b;outline-offset:5px}.header :focus-visible,.hero :focus-visible,.sec--noche :focus-visible{outline-color:#ffcd43}.icon{display:block;flex-shrink:0;width:22px;height:22px}
/* La misma cabecera flotante, adaptada para notebooks y contacto siempre accesible. */
@media(min-width:1101px){
 body.home .header{height:86px;top:24px}body.home .header.is-scrolled{height:76px;top:12px}
 body.home .header .container{grid-template-columns:auto minmax(0,1fr) auto;padding:0 22px;gap:22px}
 body.home .brand{font-size:1.9rem;gap:12px}body.home .brand img{width:94px;height:94px;flex-basis:94px}body.home .brand small{font-size:.68rem}
 body.home .header.is-scrolled .brand{font-size:1.8rem}body.home .header.is-scrolled .brand img{width:86px;height:86px;flex-basis:86px}
 body.home .nav{display:flex;position:static;inset:auto;flex-direction:row;justify-content:center;gap:20px;padding:0;max-height:none;overflow:visible;visibility:visible;transform:none;opacity:1;pointer-events:auto;border:0;border-radius:0;background:none;box-shadow:none}
 body.home .nav a{padding:12px 0;font-size:.91rem;opacity:1;transform:none;white-space:nowrap}body.home .nav .nav__extra,body.home .nav .nav__wa{display:none}
 body.home .header__wa{display:inline-flex;min-width:128px;min-height:46px;padding:.7em 1.1em;font-size:.88rem}body.home .burger{display:none}
}
@media(min-width:1500px){body.home .header{height:98px}body.home .brand{font-size:2.2rem}body.home .brand img{width:112px;height:112px;flex-basis:112px}body.home .nav{gap:32px}body.home .nav a{font-size:1rem}}
@media(max-width:1100px){
 body.home .header .container{grid-template-columns:minmax(0,1fr) auto auto;gap:12px}
 body.home .header__wa{display:inline-flex;min-width:0;min-height:44px;padding:10px 16px;font-size:.84rem}
 body.home .nav{justify-content:flex-start;align-items:stretch;gap:2px;padding:18px 24px 24px;max-height:calc(100dvh - 120px);overscroll-behavior:contain}
 body.home .nav a{text-align:left;padding:11px 14px;font-size:1.15rem;line-height:1.45;min-height:44px}
 body.home .nav .nav__extra{font-size:.9rem;color:#c8d6bb;border-top:1px solid #ffffff22;margin-top:8px;padding-top:17px}
 body.home .nav .nav__wa{display:none}
 .menu-open::after{content:'';position:fixed;inset:0;background:#04180ccc;z-index:999}
}
@media(max-width:760px){
 body.home .header{height:68px;top:12px;left:10px;right:10px}body.home .header .container{padding:0 9px 0 5px;gap:7px}
 body.home .brand img,body.home .header.is-scrolled .brand img{width:58px;height:58px;flex-basis:58px}body.home .brand{gap:5px}
 body.home .brand span,body.home .header.is-scrolled .brand span{font-size:1.1rem}body.home .brand small{font-size:.43rem;letter-spacing:.045em}
 body.home .header__wa{padding:10px 12px;font-size:.73rem;min-height:40px;gap:5px}body.home .header__wa span{display:none}
 body.home .burger{width:40px;height:40px}body.home .burger span{left:12px;right:12px}body.home .burger span:nth-child(1){top:14px}body.home .burger span:nth-child(2){top:20px}body.home .burger span:nth-child(3){top:26px}body.home .burger[aria-expanded=true] span:nth-child(1),body.home .burger[aria-expanded=true] span:nth-child(3){top:20px}
 body.home .nav{max-height:calc(100dvh - 104px);top:calc(100% + 9px);padding:14px 18px 20px;border-radius:24px}
 body.home .nav a{font-size:1.08rem;padding-block:10px}
}
@media(max-width:360px){body.home .brand small{display:none}body.home .brand span{font-size:1rem}body.home .brand img,body.home .header.is-scrolled .brand img{width:50px;height:50px;flex-basis:50px}}
/* Movimiento cinematográfico original: transición más nítida y controles discretos. */
body.home .hero--reference .hero__slides picture{transition-duration:1.4s}
body.home .hero__controls{position:absolute;right:40px;bottom:38px;z-index:20;display:flex;gap:18px;align-items:center}
body.home .hero--reference .hero__controls .hero__dots{position:static;display:flex;align-items:center;gap:6px;transform:none}
body.home .hero__controls .hero__dots button{width:32px;height:44px;border-radius:0;background:transparent;position:relative;padding:0;box-shadow:none}
body.home .hero__controls .hero__dots button::before{content:'';display:block;width:7px;height:7px;margin:auto;background:#fff8;border-radius:50%;transition:width .3s,background .3s}
body.home .hero__controls .hero__dots button.is-active::before{width:22px;border-radius:6px;background:#f8c633}
body.home .hero--reference .hero__controls .hero__dots button,body.home .hero--reference .hero__controls .hero__dots button.is-active,body.home .hero--reference .hero__controls .hero__dots button:hover{background:transparent;border:0;transform:none;box-shadow:none}
body.home .hero--reference .hero__controls .hero__dots button::after{display:none}
body.home .hero__pause{padding:9px 15px;min-height:44px;border:1px solid #eedda54d;border-radius:999px;background:#0b2318a6;color:#f8efdc;font-size:12px;backdrop-filter:blur(6px)}
body.home .hero__pause:hover{background:#183c29}
.hero.is-paused *{animation-play-state:paused!important}
@media(max-width:760px){body.home .hero__controls{right:18px;bottom:22px;gap:8px}body.home .hero__pause{padding:8px 12px;font-size:11px}body.home .hero--reference .scroll-cue{left:30px;transform:none;bottom:19px}body.home .hero--reference .hero__tone{background:linear-gradient(90deg,rgba(3,18,9,.92),rgba(3,18,9,.77) 68%,rgba(3,18,9,.45))!important}body.home .hero--reference .hero__foreground{opacity:.35}}
@media(max-width:1280px){.wa-float{display:none}}
body.menu-open .wa-float,body.photo-open .wa-float{display:none}
/* Claridad y accesos sin sustituir las composiciones originales. */
body.inicio .page-hero .hero__bg picture{display:block;width:100%;height:100%}
body.inicio .section .eyebrow>svg{width:24px;height:24px;flex:0 0 24px}
body.inicio .section .center>.btn-row{justify-content:center}
body.inicio .section .map__facade p{color:#e1eadc}
body.inicio .cta{grid-template-columns:minmax(0,1fr)}
body.inicio .cta>*{min-width:0;max-width:100%}
@media(max-width:1279px){body.home .qs__title{white-space:normal}}
/* En notebooks, la presentación y sus accesos entran con menos desplazamiento. */
@media(min-width:1101px) and (max-height:850px){
 body.home .qs__eyebrow{margin-bottom:16px}
 body.home .qs__title{margin-bottom:16px}
 body.home .qs__rule{margin-bottom:22px}
 body.home .qs__copy>p{margin-bottom:16px}
 body.home .qs__quote{margin:22px 0 24px}
 body.home .qs__cta{margin-bottom:22px}
}
@media(max-width:760px){
 body.inicio main .btn{max-width:100%;white-space:normal;line-height:1.4}
 body.inicio .section .cta .btn-row{width:100%;justify-content:center}
 body.inicio .section .cta .btn{width:100%;min-width:0;padding:14px 18px;min-height:48px}
 body.inicio .section .cta .eyebrow{gap:8px;letter-spacing:.14em;font-size:.68rem}
 body.inicio .section .cta .eyebrow::before,body.inicio .section .cta .eyebrow::after{width:24px;flex:0 0 24px}
}
/* Cinco fichas equilibradas sin cambiar el diseño de cada tarjeta. */
@media(min-width:1100px){
 body[data-page="quinchos.html"] #lista>.container>.grid{grid-template-columns:repeat(6,minmax(0,1fr))}
 body[data-page="quinchos.html"] #lista .card{grid-column:span 2}
 body[data-page="quinchos.html"] #lista .card:nth-child(4){grid-column:2/span 2}
 body[data-page="quinchos.html"] #lista .card:nth-child(5){grid-column:4/span 2}
}
@media(min-width:640px) and (max-width:1099px){
 body[data-page="quinchos.html"] #lista>.container>.grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 body[data-page="quinchos.html"] #lista .card{grid-column:span 2}
 body[data-page="quinchos.html"] #lista .card:nth-child(5){grid-column:2/span 2}
}
@media(max-width:899px){body.inicio .split>.section-copy{order:-1}}
body.inicio.directions-page #auto .media-frame{aspect-ratio:4/5}
@media(min-width:900px){
 body.inicio.directions-page #auto .split{align-items:start}
 body.inicio.directions-page #auto .media-frame{aspect-ratio:4/3}
 body[data-page="quinchos.html"] #hospedaje .bento>a:first-child{grid-row:span 2}
}
@media(max-width:600px){
 body.inicio #exploradores .bento .b-1x2{grid-row:auto}
 body.inicio .luj__head{position:relative;display:block}
 body.inicio .luj__logo{position:absolute;right:0;top:0;width:62px;height:62px}
 body.inicio .luj__logo-svg{padding:12px}
 body.inicio .luj__head .eyebrow,body.inicio .luj__head h2{padding-right:82px}
}
.reviews-hint{display:none}
@media(max-width:900px){.reviews-hint{display:block;text-align:center;font-size:.8rem;margin:18px 0 0;color:#53674d}}
.page-index{display:flex;flex-wrap:wrap;justify-content:center;gap:0 28px;padding:17px 24px;border-bottom:1px solid #83987944;font-size:14px;background:#f8f4e9;color:#25452e;border-radius:0 0 24px 24px;position:relative;z-index:1}
.page-index a{padding:10px 0;min-height:42px}.page-index a:hover{color:#79610c}
.quick-actions{margin-top:24px!important}.quick-actions .btn{min-height:48px}
.clarity-note{font-size:.92rem;line-height:1.7;margin:26px auto 0;max-width:850px;text-align:center}.clarity-note a{text-decoration:underline;text-underline-offset:4px}
.shared-kitchen{display:grid;grid-template-columns:1fr 1.5fr;gap:34px;align-items:center;border-block:1px solid var(--linea);padding:30px 0;margin-top:36px}.shared-kitchen h3{margin:0}.shared-kitchen p{margin:0;font-size:1rem}
.content-detail{margin-top:28px;border:1px solid var(--linea);border-radius:22px;padding:0 24px;background:var(--tarjeta)}.content-detail summary{padding:20px 0;cursor:pointer;font-weight:500}.content-detail[open]{padding-bottom:24px}
.photo-enlarge{display:block;width:100%;height:100%;position:relative}.photo-enlarge:focus-visible{outline-offset:-5px}.photo-enlarge::after{content:'↗';position:absolute;right:12px;bottom:12px;width:34px;height:34px;display:grid;place-items:center;color:#fff5d9;background:#0b2615c9;border:1px solid #ffffff45;border-radius:50%;font-size:17px;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s;z-index:5}.photo-enlarge:hover::after,.photo-enlarge:focus-visible::after{opacity:1;transform:none}
@media(hover:none){.photo-enlarge::after{opacity:1;transform:none}}
.map__facade,.map__facade>div{min-width:0;max-width:100%;overflow-wrap:anywhere}.map__facade p{font-size:14px;line-height:1.65}.map iframe{width:100%;height:100%}
body.inicio.contact-page .page-hero,body.inicio.directions-page .page-hero,body.inicio.gallery-page .page-hero{min-height:0;padding-top:155px;padding-bottom:40px}
body.inicio.gallery-page .page-hero h1{max-width:none}
@media(max-width:760px){
 html{--anchor-offset:110px}.page-index{gap:0 20px;font-size:12px;padding:12px 16px;justify-content:flex-start}.page-index a{padding-block:10px}
 .shared-kitchen{grid-template-columns:1fr;gap:16px;padding-block:24px}.clarity-note{font-size:14px;text-align:left}.content-detail{padding-inline:18px}
 body.inicio.contact-page .page-hero,body.inicio.directions-page .page-hero,body.inicio.gallery-page .page-hero{padding-top:116px;padding-bottom:30px}
 body.inicio .quick-actions .btn{font-size:.82rem;padding:.85em 1.25em;min-height:46px}.quick-actions{gap:10px!important}
 body.inicio.gallery-page .page-hero .lead{font-size:.95rem;line-height:1.6}
}
/* Filtros del álbum: se mantiene el mosaico original. */
.gallery-toolbar{margin-bottom:24px}.gallery-toolbar .filters{margin-bottom:0}.mobile-filter{display:none}.gallery-status{font-size:.85rem;text-align:center;margin:16px 0 0;color:#47604a}.gallery-more{text-align:center;margin-top:30px}
@media(min-width:701px){body.inicio.gallery-page main>.section.sec--arena{padding-top:48px}}
body.inicio .filters button[aria-pressed=true]{background:#edb72c;color:#102014;border-color:#edb72c}
@media(max-width:700px){.gallery-toolbar .filters{display:none}.mobile-filter{display:block}.mobile-filter label{font-size:13px;font-weight:500;display:block;margin-bottom:8px}.mobile-filter select{width:100%;padding:12px 16px;background:#fffcf6;border:1px solid #aaba9d;border-radius:999px;font:inherit;font-size:16px;color:#24452c}.gallery-status{text-align:left;font-size:12px;margin-top:10px}body.gallery-page main>.section.sec--arena{padding-top:24px}.gallery-toolbar{margin-bottom:18px}}
/* Visor en el mismo verde profundo, con foco aislado y controles alcanzables. */
dialog.lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;border:0;margin:0;padding:18px 30px;color:#f8efdc;background:#06180ff5;overflow:hidden}
dialog.lightbox[open]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;justify-content:stretch;align-items:stretch;gap:12px}dialog.lightbox::backdrop{background:#06180f}
.lightbox__head{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px}.lightbox__head p{margin:0}
dialog.lightbox button{position:static;translate:none;flex-shrink:0;width:48px;height:48px;border:1px solid #eedda54d}
dialog.lightbox :focus-visible{outline-color:#f5c644}
.lightbox__media{display:flex;justify-content:center;align-items:center;height:100%;min-height:0;min-width:0;overflow:hidden}
dialog.lightbox .lightbox__image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;box-shadow:none;border-radius:8px;animation:none}
.lightbox__bottom{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:20px;align-items:center;width:100%;max-width:1050px;margin:auto}
.lightbox__bottom p{text-align:center;line-height:1.5;font-size:14px;max-height:85px;overflow:auto;margin:0}.lightbox__prev .icon{transform:rotate(180deg)}dialog.lightbox button:disabled{opacity:.35;cursor:default}
@media(max-width:700px){dialog.lightbox{padding:10px 12px max(14px,env(safe-area-inset-bottom))}.lightbox__bottom{gap:12px}.lightbox__bottom p{font-size:12px;max-height:110px}}
/* Consulta contextual, con los materiales y tipografía del sitio original. */
body.inicio .formulario{display:block}.form-heading h2{font-size:2.5rem}.form-heading p{font-size:.94rem;line-height:1.65;margin:14px 0 24px}.form-heading em{font-style:normal;color:#746321}
body.inicio .formulario label{display:block;margin:18px 0 8px;font-weight:500;letter-spacing:0;color:#24452b}
.form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.form-row--single{grid-template-columns:1fr}.form-row>div{min-width:0}
body.inicio .formulario input,body.inicio .formulario select,body.inicio .formulario textarea{min-height:48px;font-size:16px;line-height:1.5;border-color:#a9ba9a;background:#fffdf8}
body.inicio .formulario input::placeholder,body.inicio .formulario textarea::placeholder{color:#637461;opacity:1}
.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.form-actions .btn{font-size:.88rem}.message-preview{border-block:1px solid #b8c5aa;margin-top:24px}.message-preview summary{padding:17px 0;font-size:14px;cursor:pointer;display:flex;justify-content:space-between;gap:16px;font-weight:500}.message-preview summary>span{font-size:23px;line-height:1}.message-preview[open] summary>span{transform:rotate(45deg)}.message-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px;line-height:1.7;margin:0;padding-bottom:20px;color:#304b33}
.text-button{background:none;border:0;padding:11px 0;min-height:44px;font-size:13px;color:#305432;text-decoration:underline;text-underline-offset:4px}.formulario>.text-button{margin-top:10px}.form-status{font-size:14px;line-height:1.6;color:#305432}.form-status:empty{display:none}.formulario .small-copy{font-size:12px;line-height:1.7;margin-top:18px;color:#5b6b54}.copy-email{display:flex;flex-direction:column}.copy-status{font-size:12px}.formulario .btn .icon{width:20px;height:20px}.formulario noscript{font-size:14px}
@media(max-width:760px){.form-row{grid-template-columns:1fr;gap:0}body.inicio .formulario{padding:24px 20px}.form-heading h2{font-size:2.1rem}.form-actions{flex-direction:column}.form-actions .btn{width:100%;min-height:48px}}
@media(max-width:700px){
 body[data-page="grupos.html"] #actividades .card{display:grid;grid-template-columns:112px minmax(0,1fr)}
 body[data-page="grupos.html"] #actividades .card__media{height:100%;min-height:190px;aspect-ratio:auto}
 body[data-page="grupos.html"] #actividades .card__media img{height:100%;object-fit:cover}
 body[data-page="grupos.html"] #actividades .card__body{padding:20px 16px}
 body[data-page="grupos.html"] #actividades .card__body h3{font-size:1.35rem}
 body[data-page="grupos.html"] #actividades .card__body p{font-size:.88rem;line-height:1.6}
 body[data-page="grupos.html"] #pension .grid--4{grid-template-columns:1fr 1fr}
}
/* Contenido legible cuando JavaScript está desactivado. */
html:not(.js) .reveal,html:not(.js) .stagger>*{opacity:1;transform:none}html:not(.js) .gallery-toolbar,html:not(.js) .gallery-more{display:none}
@media(max-width:1100px){html:not(.js) body.home .header{position:relative;top:12px;margin-bottom:26px;height:auto}html:not(.js) body.home .header .container{display:flex;flex-wrap:wrap;padding:12px}html:not(.js) body.home .nav{position:static;visibility:visible;opacity:1;transform:none;pointer-events:auto;max-height:none;flex-basis:100%;background:transparent;border:0;box-shadow:none;padding:12px}html:not(.js) body.home .nav a{opacity:1;transform:none}html:not(.js) .burger{display:none}}
@media(prefers-reduced-motion:reduce){body.home .hero--reference .hero__slides picture{transition:none}body.home .hero--reference .hero__slide:not(.is-active){opacity:0;visibility:hidden}.hero__controls *{transition:none!important}}

/* Servicios: encabezado editorial y un panel continuo de foto + prestaciones. */
body.inicio #servicios{--section-inset:clamp(64px,6vw,96px);padding-block:var(--section-inset)}
body.inicio #servicios>.container{width:min(var(--ancho),calc(100% - var(--gutter)*2))}
body.inicio #servicios>.huellas{opacity:.45}
body.inicio #servicios .serv{display:block}
body.inicio #servicios .serv__intro{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:end;gap:24px 64px;padding:0;margin-bottom:36px}
body.inicio #servicios .serv__heading{min-width:0}
body.inicio #servicios .serv__intro .eyebrow{margin-bottom:16px;font-size:.76rem;letter-spacing:.28em}
body.inicio #servicios .serv__intro h2{font-size:clamp(2.3rem,3vw,3.6rem);line-height:1.06;max-width:25ch;margin:0;text-wrap:balance}
body.inicio #servicios .serv__intro h2 .grad-text--sol{display:block}
body.inicio #servicios .serv__summary{padding-bottom:3px;min-width:0}
body.inicio #servicios .serv__intro .lead{font-size:1.05rem;line-height:1.65;max-width:38ch;margin:0 0 20px}
body.inicio #servicios .serv__intro .btn-row{margin:0}
body.inicio #servicios .serv__intro .btn{padding:14px 24px;font-size:.92rem;min-height:50px}
body.inicio #servicios .serv__panel{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,2fr);overflow:hidden;border:1px solid var(--linea);border-radius:26px;background:var(--tarjeta);box-shadow:var(--sombra-tarjeta)}
body.inicio #servicios .serv__foto{display:block;position:relative;min-width:0;min-height:0;max-width:none;width:100%;height:100%;aspect-ratio:auto;margin:0;border:0;border-radius:0;box-shadow:none;animation:none}
body.inicio #servicios .serv__foto .photo-enlarge{position:absolute;inset:0}
body.inicio #servicios .serv__foto img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 60%}
body.inicio #servicios .serv__foto::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(8,31,20,.85));pointer-events:none}
body.inicio #servicios .serv__caption{position:absolute;left:30px;right:30px;bottom:30px;z-index:1;pointer-events:none;color:#fff9e9}
body.inicio #servicios .serv__caption span{display:block;font-size:.65rem;font-weight:600;letter-spacing:.21em;color:#f5d17d;margin-bottom:12px}
body.inicio #servicios .serv__caption strong{display:block;max-width:12ch;font-family:var(--serif);font-size:clamp(30px,2.6vw,40px);line-height:1.05;font-weight:500}
body.inicio #servicios .serv__lista{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:0;min-width:0;padding:8px 30px;counter-reset:none}
body.inicio #servicios .serv__lista .feature{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:auto 1fr;align-content:start;align-items:center;gap:12px 12px;min-width:0;min-height:0;margin:0;padding:24px 24px 24px 0;border:0;border-bottom:1px solid var(--linea);background:transparent;border-radius:0;box-shadow:none;transform:none}
body.inicio #servicios .serv__lista .feature:nth-child(even){padding-right:0;padding-left:24px;border-left:1px solid var(--linea)}
body.inicio #servicios .serv__lista .feature:nth-last-child(-n+2){border-bottom:0}
body.inicio #servicios .serv__lista .feature::before,body.inicio #servicios .serv__lista .feature::after{display:none;content:none}
body.inicio #servicios .serv__lista .feature__icon{position:static;width:38px;height:38px;margin:0;border:1px solid var(--linea);border-radius:50%;background:rgba(176,122,26,.07);color:var(--oro);transform:none}
body.inicio #servicios .serv__lista .feature__icon svg{width:21px;height:21px;stroke-width:1.7}
body.inicio #servicios .serv__lista .feature h3{font-size:1.03rem;line-height:1.25;margin:0;padding:0}
body.inicio #servicios .serv__lista .feature p{grid-column:1/-1;align-self:start;max-width:none;font-size:.91rem;line-height:1.6;margin:0;color:var(--texto)}
@media(max-width:1100px){
 body.inicio #servicios .serv__intro{gap:28px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}
 body.inicio #servicios .serv__panel{grid-template-columns:minmax(0,.72fr) minmax(0,2fr)}
 body.inicio #servicios .serv__lista{padding-inline:22px}
 body.inicio #servicios .serv__lista .feature{padding-right:18px}
 body.inicio #servicios .serv__lista .feature:nth-child(even){padding-left:18px}
 body.inicio #servicios .serv__caption{left:22px;right:22px;bottom:26px}
}
@media(max-width:800px){
 body.inicio #servicios .serv__intro{grid-template-columns:1fr;gap:22px;margin-bottom:28px}
 body.inicio #servicios .serv__intro h2{max-width:25ch}
 body.inicio #servicios .serv__intro .lead{max-width:54ch}
 body.inicio #servicios .serv__panel{grid-template-columns:1fr}
 body.inicio #servicios .serv__foto{height:250px}
 body.inicio #servicios .serv__foto img{object-position:center 62%}
 body.inicio #servicios .serv__caption strong{max-width:none;font-size:34px}
}
@media(max-width:540px){
 body.inicio #servicios .serv__intro .eyebrow{font-size:.64rem;letter-spacing:.17em;gap:10px}
 body.inicio #servicios .serv__intro h2{font-size:clamp(32px,9vw,42px)}
 body.inicio #servicios .serv__intro .lead{font-size:1rem}
 body.inicio #servicios .serv__panel{border-radius:22px}
 body.inicio #servicios .serv__foto{height:220px}
 body.inicio #servicios .serv__caption{left:22px;bottom:24px}
 body.inicio #servicios .serv__caption strong{font-size:32px}
 body.inicio #servicios .serv__lista{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;padding:0 22px}
 body.inicio #servicios .serv__lista .feature,body.inicio #servicios .serv__lista .feature:nth-child(even),body.inicio #servicios .serv__lista .feature:nth-last-child(-n+2){padding:22px 0;border-left:0;border-bottom:1px solid var(--linea)}
 body.inicio #servicios .serv__lista .feature:last-child{border-bottom:0}
body.inicio #servicios>.huellas{display:none}
}

/* Experiencias: collage ampliado, marcos dorados y detalles botánicos. */
body.inicio #organizar{padding-block:clamp(80px,7vw,128px)}
body.inicio #organizar>.container{width:min(1440px,calc(100% - var(--gutter)*2));grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:clamp(40px,4.5vw,80px)}
body.inicio #organizar .section-copy{position:relative;z-index:2;min-width:0}
body.inicio #organizar h2{max-width:15ch;margin-bottom:24px;text-wrap:balance}
body.inicio #organizar .lead{font-size:1.08rem;line-height:1.7;max-width:46ch}
body.inicio #organizar .chips{gap:9px;margin-top:28px;padding-top:24px;border-top:1px solid var(--linea)}
body.inicio #organizar .chips span{font-size:.82rem;line-height:1.45;padding:9px 13px;background:rgba(255,255,255,.035)}
body.inicio #organizar .btn-row{margin-top:30px}
body.inicio #organizar .organizar__collage{isolation:isolate;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:24px;align-items:stretch;width:100%;max-width:none;height:clamp(560px,39vw,680px);padding:0;margin-block:30px 46px}
body.inicio #organizar .organizar__collage::before{content:"";position:absolute;z-index:-1;inset:-55px -50px -45px 25%;border:1px solid var(--linea);border-radius:50%;transform:rotate(-20deg);background:radial-gradient(ellipse,rgba(242,186,43,.08),transparent 65%);pointer-events:none}
body.inicio #organizar .organizar__collage::after{content:"";position:absolute;z-index:-1;inset:20px -25px -25px -22px;border:1px dashed rgba(242,186,43,.22);border-radius:36px;transform:rotate(-3deg);pointer-events:none}
body.inicio #organizar .flot__foto{min-width:0;min-height:0;width:100%;height:100%;margin:0;aspect-ratio:auto;border:1px solid var(--linea-fuerte);border-radius:28px;box-shadow:var(--sombra-foto);animation:none}
body.inicio #organizar .flot__foto--grande{grid-column:1;grid-row:1/3}
body.inicio #organizar .flot__foto--chica{grid-column:2;grid-row:1;align-self:stretch;rotate:2deg;transform:translateY(-12px)}
body.inicio #organizar .flot__foto--ancha{grid-column:2;grid-row:2;rotate:-2deg;transform:translateY(10px)}
body.inicio #organizar .photo-enlarge{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
body.inicio #organizar .flot__foto img{object-fit:cover;transition:transform .65s var(--ease-out)}
body.inicio #organizar .flot__foto--grande img{object-position:50% 62%}
body.inicio #organizar .flot__foto--chica img{object-position:50% 72%}
body.inicio #organizar .flot__foto--ancha img{object-position:50% 50%}
body.inicio #organizar .flot__foto::after{content:"";position:absolute;inset:52% 0 0;background:linear-gradient(transparent,rgba(4,20,12,.87));pointer-events:none}
body.inicio #organizar .organizar__caption{position:absolute;z-index:2;left:22px;right:22px;bottom:23px;color:#fff7e8;font-family:var(--serif);font-size:clamp(25px,2vw,32px);line-height:1.05;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.3)}
body.inicio #organizar .organizar__caption span{display:block;width:26px;padding-bottom:7px;margin-bottom:10px;border-bottom:1px solid #f2ba2b;font-family:var(--font);font-size:.62rem;letter-spacing:.15em;color:#f4d78a}
body.inicio #organizar .flot__hoja{z-index:3;right:-35px;top:-76px;width:185px;height:185px;opacity:.72}
body.inicio #organizar .organizar__nota{position:absolute;right:16px;bottom:-52px;display:flex;align-items:center;gap:18px;margin:0;color:var(--oro);font-family:var(--serif);font-size:1.55rem;font-style:italic;line-height:1.2}
body.inicio #organizar .organizar__nota::before{content:"";width:46px;height:1px;background:var(--oro);opacity:.7}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 body.inicio #organizar .photo-enlarge:hover img{transform:scale(1.045)}
}
@media(max-width:1100px){
 body.inicio #organizar>.container{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px}
 body.inicio #organizar .organizar__collage{height:580px;gap:18px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
 body.inicio #organizar .organizar__caption{left:16px;right:16px;bottom:20px;font-size:25px}
}
@media(max-width:1000px){
 body.inicio #organizar>.container{grid-template-columns:1fr;gap:44px}
 body.inicio #organizar .section-copy{max-width:760px}
 body.inicio #organizar h2{max-width:22ch}
 body.inicio #organizar .lead{max-width:62ch}
 body.inicio #organizar .organizar__collage{height:600px;max-width:820px;margin:20px auto 46px;gap:24px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
 body.inicio #organizar .flot__hoja{width:150px;height:150px;top:-58px;right:-16px}
 body.inicio #organizar .organizar__caption{font-size:32px;left:24px}
}
@media(max-width:600px){
 body.inicio #organizar{padding-block:68px}
 body.inicio #organizar>.container{gap:32px}
 body.inicio #organizar .lead{font-size:1rem}
 body.inicio #organizar .chips{gap:8px;margin-top:22px;padding-top:20px}
 body.inicio #organizar .chips span{font-size:.76rem;padding:8px 11px;max-width:100%}
 body.inicio #organizar .organizar__collage{height:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:16px;margin-block:16px 40px}
 body.inicio #organizar .flot__foto{height:auto;border-radius:22px}
 body.inicio #organizar .flot__foto--grande{grid-column:1/-1;grid-row:1;aspect-ratio:1/1}
 body.inicio #organizar .flot__foto--chica{grid-column:1;grid-row:2;aspect-ratio:3/4;transform:none;rotate:-2deg}
 body.inicio #organizar .flot__foto--ancha{grid-column:2;grid-row:2;aspect-ratio:3/4;transform:translateY(10px);rotate:2deg}
 body.inicio #organizar .organizar__caption{left:14px;right:12px;bottom:18px;font-size:24px}
 body.inicio #organizar .flot__foto--grande .organizar__caption{left:22px;font-size:32px}
 body.inicio #organizar .flot__hoja{width:112px;height:112px;top:-46px;right:-8px}
 body.inicio #organizar .organizar__collage::before{inset:-30px -20px 35% 20%}
 body.inicio #organizar .organizar__collage::after{inset:14px -9px -18px;border-radius:25px}
 body.inicio #organizar .organizar__nota{font-size:1.3rem;right:0;bottom:-50px;gap:10px}
 body.inicio #organizar .organizar__nota::before{width:24px}
}
@media(prefers-reduced-motion:reduce){
 body.inicio #organizar .flot__hoja{animation:none}
 body.inicio #organizar .flot__foto img{transition:none}
}

/* Movimiento (17/9/2026, skill "animate" de Emil Kowalski): respuesta al presionar, transiciones con propiedades nombradas,
   hover solo con puntero, entradas más ágiles, visor y menú con entrada/salida, y movimiento reducido gentil. Ver ADR-007. */
:root{--ease-suave:cubic-bezier(.77,0,.175,1);--t-press:.12s;--t-ui:.2s}
/* Transiciones con propiedades explícitas (reemplazan los "transition:.3s" del original). */
.btn{transition:transform var(--t-ui) var(--ease-out),box-shadow .3s var(--ease-out),background .25s,color .25s,border-color .25s}
.filters button{transition:transform var(--t-ui) var(--ease-out),background .25s,color .25s,border-color .25s,box-shadow .25s}
.social a{transition:background .25s,color .25s,transform var(--t-ui) var(--ease-out)}
.chips span{transition:background .25s,color .25s,transform var(--t-ui) var(--ease-out)}
.hero__dots button{transition:background .3s,transform .3s var(--ease-out)}
.masonry a span,.bento a span{transition:opacity .3s,transform .3s var(--ease-out)}
.wa-float span{transition:opacity .25s,transform .25s var(--ease-out)}
.masonry a,.bento a,.photo-enlarge,.burger,.hero__pause,dialog.lightbox button,.text-button,.card__link{transition:transform var(--t-ui) var(--ease-out)}
/* Sin puntero (táctil) el toque no deja un hover pegado. Va antes de :active para que el press siga ganando. */
@media(hover:none){
 .btn:hover,.card:hover,.feature:hover,.tile:hover,.plan:hover,.review:hover,.social-card:hover,.chips span:hover,.filters button:hover,.social a:hover,.wa-float:hover,.qs__social a:hover i{transform:none}
 .btn:hover::after,.social-card:hover::after{transform:translateX(-120%)}
 .card:hover .card__media img,.bento a:hover img,.masonry a:hover img,.media-frame:hover img,.luj__photo--arch:hover img,body.inicio #organizar .photo-enlarge:hover img{transform:none}
 .brand:hover img,body.home .brand:hover img{transform:none}
 .btn:hover svg,body.inicio .section .btn:hover svg,.qs__cta .btn:hover svg,body.home .hero--reference .hero__cta .btn:hover svg,body.home .header__wa:hover svg,body.home .nav .nav__wa:hover svg{transform:none}
}
/* Respuesta inmediata al presionar cualquier control. */
.btn:active{transform:scale(.97);transition-duration:var(--t-press)}
.filters button:active,.hero__pause:active,body.home .hero__controls .hero__dots button:active,dialog.lightbox button:active,.social a:active,.burger:active,.text-button:active,.chips span:active,.card__link:active,.page-index a:active{transform:scale(.96);transition:transform var(--t-press) var(--ease-out)}
.qs__social a:active i{transform:scale(.94);transition:transform var(--t-press) var(--ease-out)}
.masonry a:active,.bento a:active,.photo-enlarge:active{transform:scale(.985);transition:transform var(--t-press) var(--ease-out)}
.wa-float:active{transform:scale(.95);transition:transform var(--t-press) var(--ease-out)}
/* Revelado al hacer scroll: recorrido más corto y escalonado de 50 ms; se libera will-change al terminar. */
.reveal{transform:translateY(22px);transition-duration:.65s}
.reveal--left{transform:translateX(-28px)}.reveal--right{transform:translateX(28px)}.reveal--zoom{transform:scale(.95)}
.reveal.is-in{transform:none;will-change:auto}
.stagger>*{transform:translateY(18px);transition-duration:.55s}
.stagger.is-in>*:nth-child(1){transition-delay:0s}.stagger.is-in>*:nth-child(2){transition-delay:.05s}.stagger.is-in>*:nth-child(3){transition-delay:.1s}.stagger.is-in>*:nth-child(4){transition-delay:.15s}.stagger.is-in>*:nth-child(5){transition-delay:.2s}.stagger.is-in>*:nth-child(6){transition-delay:.25s}.stagger.is-in>*:nth-child(7){transition-delay:.3s}.stagger.is-in>*:nth-child(8){transition-delay:.35s}.stagger.is-in>*:nth-child(9){transition-delay:.4s}.stagger.is-in>*:nth-child(n+10){transition-delay:.45s}
/* Botón del menú: las barras se mueven con transform (no con top). */
.burger span{transition:transform .25s var(--ease-suave),opacity .15s}
.burger[aria-expanded="true"] span:nth-child(1){top:17px;transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(3){top:29px;transform:translateY(-6px) rotate(-45deg)}
@media(max-width:760px){body.home .burger[aria-expanded=true] span:nth-child(1){top:14px}body.home .burger[aria-expanded=true] span:nth-child(3){top:26px}}
/* Menú móvil: entra en 380 ms desde la cabecera y sale más rápido (250 ms); los enlaces conservan su escalonado. */
@media(max-width:1100px){
 body.home .nav{transition:transform .25s var(--ease-out),opacity .2s,visibility 0s .25s}
 body.home .nav.is-open{transition:transform .38s var(--ease-out),opacity .3s,visibility 0s}
 body.home .nav a{transition-property:opacity,transform;transition-duration:.15s,.2s;transition-timing-function:ease,var(--ease-out)}
 body.home .nav.is-open a{transition-duration:.35s,.45s}
 .menu-open::after{opacity:1;transition:opacity .25s}
 @starting-style{.menu-open::after{opacity:0}}
}
/* Desplegables: el contenido aparece con un fundido corto en vez de saltar. */
details[open]>:not(summary){animation:detallesIn .25s var(--ease-out) both}
@keyframes detallesIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
/* Álbum: cada foto nueva entra con fundido y 30 ms de escalonado (retraso asignado por main.js). */
.gallery-grid .gallery-item{animation:galeriaIn .3s var(--ease-out) backwards}
@keyframes galeriaIn{from{opacity:0;transform:translateY(8px)}}
/* Visor: fundido de 200 ms al abrir y cerrar; la foto entra desde escala .96 (navegadores sin @starting-style: aparece directo). */
dialog.lightbox{opacity:0;transition:opacity .2s var(--ease-out),display .2s allow-discrete,overlay .2s allow-discrete}
dialog.lightbox[open]{opacity:1}
dialog.lightbox::backdrop{opacity:0;transition:opacity .2s var(--ease-out),display .2s allow-discrete,overlay .2s allow-discrete}
dialog.lightbox[open]::backdrop{opacity:1}
dialog.lightbox .lightbox__image{transition:transform .25s var(--ease-out)}
@starting-style{
 dialog.lightbox[open],dialog.lightbox[open]::backdrop{opacity:0}
 dialog.lightbox[open] .lightbox__image{transform:scale(.96)}
}
/* Movimiento reducido: menos y más suave, no cero. Se conservan fundidos cortos y la respuesta al presionar. */
@media(prefers-reduced-motion:reduce){
 .btn:hover,.card:hover,.feature:hover,.tile:hover,.plan:hover,.review:hover,.social-card:hover,.filters button:hover,.social a:hover,.chips span:hover{transform:none}
 .btn:active,.filters button:active,.hero__pause:active,dialog.lightbox button:active,.social a:active,.burger:active,.text-button:active,.chips span:active,.card__link:active,.wa-float:active{transition-duration:var(--t-press)!important}
 dialog.lightbox,dialog.lightbox::backdrop{transition-duration:.15s!important}
 body.home .nav,body.home .nav.is-open,body.home .nav a{transform:none;transition-duration:.15s!important;transition-delay:0s!important}
 .menu-open::after{transition-duration:.15s!important}
 details[open]>:not(summary){animation:detallesFundido .2s ease both;animation-duration:.2s!important}
 .gallery-grid .gallery-item{animation:none}
 .burger span{transition-duration:.15s!important}
}
@keyframes detallesFundido{from{opacity:0}}

/* Móvil nativo (17/9/2026, skill "mobile-native" de Emil Kowalski): sin destello al tocar, sin retraso de clic,
   controles no seleccionables, hover de color solo con puntero, zonas seguras en apaisado y áreas de toque de 44 px. Ver ADR-008. */
html{-webkit-tap-highlight-color:transparent;color-scheme:light}
a,button,summary,label,select,[role=button],.chips span{touch-action:manipulation}
button,summary,.btn,.burger,.filters button,.chips span,.hero__controls,.scroll-cue,.nav a,.page-index a,.indice-pagina a,.lightbox__head,.lightbox__bottom{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
a[data-lightbox],.photo-enlarge,.brand{-webkit-touch-callout:none}
body.inicio .indice-pagina a{transition:border-color .25s,color .25s,opacity var(--t-press)}
/* Enlaces de texto: respuesta al presionar (el destello del navegador ya no está). */
.nav a:active,.page-index a:active,.indice-pagina a:active,.footer a:active,.crumbs a:active,.card__link:active,.qs__social a:active{opacity:.6;transition:opacity var(--t-press)}
/* Sin puntero, el toque no deja pegados los cambios de color y fondo del hover (los de posición ya se anulan más arriba). */
@media(hover:none){
 .feature:hover{color:inherit;box-shadow:var(--sombra)}.feature:hover::before{opacity:0}.feature:hover p{color:var(--tinta-2)}
 .feature:hover .feature__icon{background:linear-gradient(135deg,rgba(79,154,85,.18),rgba(244,197,49,.25));color:var(--musgo);transform:none}
 body.inicio .section .grid .feature:hover{color:var(--marfil);border-color:var(--linea);box-shadow:var(--sombra-tarjeta)}
 body.inicio .section .grid .feature:hover p{color:var(--texto)}
 body.inicio .section .grid .feature:hover .feature__icon{background:rgba(176,122,26,.08);color:var(--oro);transform:none}
 body.inicio .sec--noche .grid .feature:hover .feature__icon,body.inicio .sec--bosque .grid .feature:hover .feature__icon{background:rgba(4,18,10,.5)}
 .btn--ghost:hover{background:rgba(255,255,255,.12)}
 .btn--outline:hover{background:transparent;color:var(--bosque)}
 body.inicio .section .btn--bosque:hover,body.inicio .section .btn--outline:hover,body.inicio .section .btn--ghost:hover{background:transparent;color:#fff}
 body.inicio .section .btn--bosque:hover svg,body.inicio .section .btn--ghost:hover svg,body.inicio .section .btn--outline:hover svg{color:var(--oro)}
 .qs__cta .btn--ghost:hover{color:#fff;background:transparent}.qs__cta .btn--ghost:hover svg{color:var(--qs-oro)}
 body.home .hero--reference .hero__cta .btn--ghost:hover{color:#fff;background:rgba(4,18,10,.28)}
 body.home .hero--reference .hero__cta .btn--ghost:hover svg{color:var(--hero-yellow)}
 .chips span:hover{background:var(--blanco);color:inherit}
 body.inicio .chips span:hover{background:rgba(255,255,255,.05);border-color:var(--linea);color:var(--marfil)}
 .social a:hover{background:rgba(255,255,255,.08);color:inherit}
 .qs__social a:hover{color:inherit}.qs__social a:hover i{background:transparent;color:var(--qs-oro)}
 body.home .hero__pause:hover{background:#0b2318a6}
 .card:hover .card__media::after{opacity:.7}
 body.inicio .section .card:hover{border-color:var(--linea)}
 .footer a:hover,.crumbs a:hover,body.inicio .footer a:hover,body.inicio .crumbs a:hover,.page-index a:hover{color:inherit}
 body.inicio .indice-pagina a:hover{border-color:transparent;color:#14291d}
 .nav a:hover:not([aria-current="page"])::after{transform:scaleX(0)}
 body.home .hero--reference .hero__dots button:hover{background:rgba(243,234,220,.38)}
 body.home .hero--reference .scroll-cue:hover{background:transparent;border-color:inherit}
}
/* Zonas seguras (notch en apaisado): cabecera flotante y visor. viewport-fit=cover ya está en las 8 páginas. */
@media(max-width:1100px){body.home .header{left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right))}}
@media(max-width:760px){body.home .header{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right))}}
dialog.lightbox{padding:max(18px,env(safe-area-inset-top)) max(30px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(30px,env(safe-area-inset-left));overscroll-behavior:contain}
@media(max-width:700px){dialog.lightbox{padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}}
.lightbox__bottom p{overscroll-behavior:contain}
.reviews--scroll{overscroll-behavior-x:contain}
/* Áreas de toque de 44 px sin mover el diseño (relleno con margen negativo) donde el enlace medía 21–37 px. */
@media(pointer:coarse){
 .footer li a,.footer p a,.crumbs a,.lightbox__head a{display:inline-block;padding-block:11px;margin-block:-11px}
 .card__link{min-height:44px;padding-top:0;margin-top:auto}
 body.inicio .indice-pagina a,.page-index a{display:inline-flex;align-items:center;min-height:44px}
 .brand{min-height:44px;align-items:center}
}

/* Pulido Impeccable (17/9/2026, skill "impeccable" de pbakaus, ADR-009): jerarquía de encabezados, texto funcional de 11 px o más,
   superficies del navegador con la paleta, títulos equilibrados, párrafos sin viudas y texto largo que no desborda. */
/* Pie: los títulos de columna pasan de h4 a h3 (antes se salteaba un nivel); mismo aspecto que tenían. */
.footer h3{color:#fff;font-size:.85rem;line-height:1.12;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px}
body.inicio .footer h3{color:#f2ba2b;letter-spacing:.2em;font-weight:600}
/* Texto funcional nunca por debajo de 11 px (rótulos de fotos, numeración del collage, eyebrow de la llamada final en móvil). */
body.inicio #servicios .serv__caption span{font-size:.72rem;letter-spacing:.18em}
body.inicio #organizar .organizar__caption span{font-size:.7rem}
@media(max-width:760px){body.inicio .section .cta .eyebrow{font-size:.72rem}}
/* Contadores con numerales tabulares: el ancho no baila mientras cuentan. */
[data-count]{font-variant-numeric:tabular-nums}
/* Superficies del navegador con la paleta: barra de scroll, cursor de texto y controles de formulario. */
html{scrollbar-color:#3f7a49 #ece5d4}
body.inicio .formulario input,body.inicio .formulario select,body.inicio .formulario textarea{caret-color:var(--musgo);accent-color:var(--musgo)}
/* Títulos equilibrados, párrafos sin palabras sueltas al final. */
h1,h2,h3{text-wrap:balance}
p,li,.lead,figcaption{text-wrap:pretty}
/* Texto claro sobre verde profundo: un poco más de interlineado. */
body.inicio .sec--noche p:not(.lead),body.inicio .sec--bosque p:not(.lead),body.inicio .qs p:not(.lead),body.inicio .luj p:not(.lead),body.inicio .cta p:not(.lead){line-height:1.7}
/* Correos y enlaces largos no desbordan en pantallas angostas; en móvil los párrafos se cortan con guion. */
.footer a,.copy-email,.tile a,.map__facade a{overflow-wrap:anywhere}
@media(max-width:600px){
 body.inicio .section p,body.inicio .section li{-webkit-hyphens:auto;hyphens:auto}
 body.inicio .section .eyebrow{letter-spacing:.16em}
}
/* Tarjetas de planes (visitas particulares): la franja superior pasa de 6 a 3 px. */
.plan::before{height:3px}
/* La cita de presentación tenía interlineado 1.28; 1.45 respira sin cambiar el tamaño. */
body.home .qs__quote,body.home .qs__quote p{line-height:1.45}
@media(max-width:540px){body.inicio #servicios .serv__intro .eyebrow{font-size:.7rem}}

/* Navegación móvil (20/9/2026, skill "mobile-native" de Emil Kowalski, ADR-012): en el celular la navegación baja a la zona del pulgar.
   Barra inferior fija (Inicio, Campamentos, WhatsApp realzado, Fotos, Menú) y hoja de menú que sube desde abajo como <dialog> modal
   (páginas, secciones de esta página y vías de consulta). El burger y el desplegable de la cabecera quedan para tablets y notebooks.
   No hay :hover acá (la barra y la hoja solo existen en pantallas táctiles angostas); el zoom nunca se desactiva. */
html{--barra-h:0px}
.barra{display:none}
@media(max-width:760px) and (min-height:481px){
 html{--barra-h:62px;scroll-padding-bottom:calc(var(--barra-h) + env(safe-area-inset-bottom,0px))}
 /* La cabecera queda con marca y "Consultar"; la barra reemplaza al burger (el WhatsApp flotante ya estaba oculto a 1280 px o menos). */
 body.home .burger{display:none}
 body.home .header .container{grid-template-columns:minmax(0,1fr) auto}
 /* Nada termina debajo de la barra: pie y controles de la portada suben lo que mide. */
 .footer{padding-bottom:calc(30px + var(--barra-h) + env(safe-area-inset-bottom,0px))}
 body.home .hero__controls{bottom:calc(22px + var(--barra-h) + env(safe-area-inset-bottom,0px))}
 body.home .hero--reference .scroll-cue{bottom:calc(19px + var(--barra-h) + env(safe-area-inset-bottom,0px))}
 /* Barra: cinco destinos de 62 px de alto con etiqueta siempre visible; el activo, en dorado. */
 .barra{position:fixed;left:0;right:0;bottom:0;z-index:950;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;padding:0 max(4px,env(safe-area-inset-left,0px)) env(safe-area-inset-bottom,0px) max(4px,env(safe-area-inset-right,0px));color:rgba(243,234,220,.74);background:rgba(5,20,11,.9);border-top:1px solid rgba(224,230,190,.16);box-shadow:0 -12px 30px -18px rgba(0,0,0,.7);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);transition:transform .25s var(--ease-out)}
 .barra a,.barra button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;height:var(--barra-h);margin:0;padding:0 2px;border:0;border-radius:14px;background:none;color:inherit;font:500 11px/1.1 var(--font);letter-spacing:.01em;white-space:nowrap;text-decoration:none;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
 .barra svg{width:24px;height:24px;flex:0 0 24px}
 .barra__icono{display:grid;place-items:center;width:52px;height:30px;border-radius:999px;transition:background .25s,color .25s,transform var(--t-press) var(--ease-out)}
 .barra a:active .barra__icono,.barra button:active .barra__icono{transform:scale(.9);background:rgba(243,234,220,.12)}
 .barra [aria-current="page"],.barra .barra__menu[aria-expanded="true"]{color:#f2ba2b}
 .barra [aria-current="page"] .barra__icono,.barra .barra__menu[aria-expanded="true"] .barra__icono{background:rgba(242,186,43,.16)}
 /* WhatsApp: botón central realzado sobre la barra, siempre a un toque. */
 .barra__wa{color:#f3eadc}
 .barra__wa .barra__icono{width:56px;height:56px;margin-top:-26px;border-radius:50%;color:#fff;background:#25d366;box-shadow:0 10px 24px -8px rgba(37,211,102,.8),0 0 0 4px rgba(5,20,11,.92)}
 .barra__wa svg{width:29px;height:29px}
 .barra__wa:active .barra__icono{transform:scale(.94);background:#1fbf5c}
 .barra :focus-visible{outline-color:#ffcd43;outline-offset:-4px}
 /* Con el teclado en pantalla o una foto ampliada, la barra se retira. */
 body:has(input:focus,textarea:focus,select:focus) .barra,body.photo-open .barra{transform:translateY(calc(100% + 12px));pointer-events:none}
 /* Hoja de menú: <dialog> modal anclado abajo, con asa, cabecera y cuerpo desplazable propio. */
 dialog.hoja{position:fixed;inset:auto 0 0 0;width:100%;max-width:none;max-height:calc(100dvh - 44px - env(safe-area-inset-top,0px));margin:0;padding:0;border:0;border-radius:28px 28px 0 0;color:#f3eadc;background:linear-gradient(165deg,#0b2617 0%,#0f3a20 100%);box-shadow:0 -24px 60px -30px rgba(0,0,0,.85);overflow:hidden;flex-direction:column;transform:translateY(100%);transition:transform .25s var(--ease-out),display .25s allow-discrete,overlay .25s allow-discrete}
 dialog.hoja[open]{display:flex;transform:none;transition-duration:.38s}
 dialog.hoja::backdrop{background:rgba(3,16,9,.6);opacity:0;transition:opacity .2s,display .25s allow-discrete,overlay .25s allow-discrete}
 dialog.hoja[open]::backdrop{opacity:1;transition-duration:.3s}
 @starting-style{dialog.hoja[open]{transform:translateY(100%)}dialog.hoja[open]::backdrop{opacity:0}}
 body.hoja-abierta{overflow:hidden}
 .hoja__asa{flex:0 0 auto;display:grid;place-items:center;height:28px;touch-action:none}
 .hoja__asa::before{content:'';width:42px;height:5px;border-radius:999px;background:rgba(243,234,220,.32)}
 .hoja__cabecera{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 14px 12px 22px;touch-action:none}
 .hoja__cabecera small{display:block;margin-bottom:6px;font:600 .66rem/1 var(--font);letter-spacing:.22em;text-transform:uppercase;color:#f2ba2b}
 .hoja__nombre{margin:0;font:500 1.6rem/1.02 var(--serif);letter-spacing:.01em;color:#f3eadc}
 .hoja__cerrar{flex:0 0 44px;width:44px;height:44px;padding:0;display:grid;place-items:center;border:1px solid rgba(224,230,190,.22);border-radius:50%;background:rgba(255,255,255,.06);color:#f3eadc;transition:transform var(--t-press) var(--ease-out),background .2s}
 .hoja__cerrar:active{transform:scale(.92);background:rgba(255,255,255,.16)}
 .hoja__cuerpo{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 18px calc(22px + env(safe-area-inset-bottom,0px))}
 .hoja__titulo{margin:18px 4px 10px;font:600 .7rem/1 var(--font);letter-spacing:.18em;text-transform:uppercase;color:rgba(243,234,220,.55)}
 .hoja__cuerpo>.hoja__titulo:first-child{margin-top:4px}
 .hoja__paginas,.hoja__secciones,.hoja__redes{margin:0;padding:0;list-style:none}
 .hoja__paginas{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .hoja__paginas a{display:flex;align-items:center;gap:12px;min-height:58px;padding:8px 12px 8px 14px;border:1px solid rgba(224,230,190,.14);border-radius:16px;background:rgba(255,255,255,.055);color:#f3eadc;font:500 .97rem/1.2 var(--font);text-decoration:none;transition:transform var(--t-press) var(--ease-out),background .2s,border-color .2s}
 .hoja__paginas svg{width:24px;height:24px;flex:0 0 24px;color:#f2ba2b}
 .hoja__paginas a:active{transform:scale(.97);background:rgba(255,255,255,.13)}
 .hoja__paginas a[aria-current="page"]{border-color:rgba(242,186,43,.6);background:rgba(242,186,43,.1);color:#f2ba2b}
 .hoja__secciones{display:flex;flex-wrap:wrap;gap:8px}
 .hoja__secciones a{display:inline-flex;align-items:center;min-height:42px;padding:8px 16px;border:1px solid rgba(224,230,190,.22);border-radius:999px;color:#e8e1d1;font:500 .9rem/1.2 var(--font);text-decoration:none;transition:transform var(--t-press) var(--ease-out),background .2s}
 .hoja__secciones a:active{transform:scale(.96);background:rgba(255,255,255,.13)}
 .hoja__consulta{display:grid;gap:10px}
 .hoja__consulta .btn{width:100%;min-height:54px;margin:0;padding:.8em 1.2em;font-size:1rem;font-weight:600}
 .hoja__consulta .btn--wa{color:#fff;background:#25d366;box-shadow:0 12px 26px -12px rgba(37,211,102,.8)}
 .hoja__consulta .btn--sol{color:#102014;background:linear-gradient(135deg,#ffc834,#f2ba2b)}
 .hoja__redes{display:flex;gap:8px;margin-top:12px}
 .hoja__redes li{flex:1 1 0;min-width:0}
 .hoja__redes a{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;border:1px solid rgba(224,230,190,.16);border-radius:14px;color:#e8e1d1;font:500 .86rem/1 var(--font);text-decoration:none;transition:background .2s}
 .hoja__redes svg{width:20px;height:20px;flex:0 0 20px}
 .hoja__redes a:active{background:rgba(255,255,255,.13)}
 dialog.hoja :focus-visible{outline-color:#ffcd43}
 /* Movimiento reducido: la hoja solo se funde y las respuestas al presionar quedan cortas. */
 @media(prefers-reduced-motion:reduce){
  dialog.hoja{opacity:0;transform:none;transition:opacity .15s,display .15s allow-discrete,overlay .15s allow-discrete}
  dialog.hoja[open]{opacity:1;transform:none;transition-duration:.15s}
  @starting-style{dialog.hoja[open]{opacity:0;transform:none}}
  .barra,.barra__icono,.hoja__paginas a,.hoja__secciones a,.hoja__cerrar{transition-duration:var(--t-press)}
 }
}
/* Selector de WhatsApp (20/9/2026, ADR-013): cualquier botón de WhatsApp abre primero la elección. Grupo o contingente → formulario breve
   → +54 9 11 7110-6613; visita particular → +54 9 11 6101-4744 (el número que ya estaba). Tarjeta centrada en escritorio y tablets;
   hoja desde abajo en el celular, con el mismo lenguaje que la hoja de menú. Sin JavaScript los enlaces siguen yendo al número original. */
dialog.wa{width:min(100% - 32px,460px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid rgba(224,230,190,.16);border-radius:26px;color:#f3eadc;background:linear-gradient(165deg,#0b2617 0%,#0f3a20 100%);box-shadow:0 30px 80px -30px rgba(0,0,0,.85);overflow:hidden;flex-direction:column;opacity:0;transform:translateY(12px) scale(.98);transition:opacity .2s,transform .25s var(--ease-out),display .25s allow-discrete,overlay .25s allow-discrete}
dialog.wa[open]{display:flex;opacity:1;transform:none;transition-duration:.3s,.38s}
dialog.wa::backdrop{background:rgba(3,16,9,.62);opacity:0;transition:opacity .2s,display .25s allow-discrete,overlay .25s allow-discrete}
dialog.wa[open]::backdrop{opacity:1;transition-duration:.3s}
@starting-style{dialog.wa[open]{opacity:0;transform:translateY(12px) scale(.98)}dialog.wa[open]::backdrop{opacity:0}}
body.wa-abierto{overflow:hidden}
.wa__asa{display:none}
.wa__cabecera{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 16px 10px 24px}
.wa__cabecera small{display:block;margin-bottom:6px;font:600 .66rem/1 var(--font);letter-spacing:.22em;text-transform:uppercase;color:#f2ba2b}
.wa__titulo{margin:0;font:500 1.55rem/1.05 var(--serif);letter-spacing:.01em;color:#f3eadc;text-wrap:balance}
.wa__cerrar{flex:0 0 44px;width:44px;height:44px;padding:0;display:grid;place-items:center;border:1px solid rgba(224,230,190,.22);border-radius:50%;background:rgba(255,255,255,.06);color:#f3eadc;transition:transform var(--t-press) var(--ease-out),background .2s}
.wa__cerrar:active{transform:scale(.92);background:rgba(255,255,255,.16)}
.wa__cuerpo{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 20px 24px}
.wa__opciones{display:grid;gap:10px}
.wa__opcion{display:flex;align-items:center;gap:14px;width:100%;min-height:78px;margin:0;padding:14px 14px 14px 16px;border:1px solid rgba(224,230,190,.16);border-radius:18px;background:rgba(255,255,255,.055);color:#f3eadc;text-align:left;text-decoration:none;font:inherit;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;transition:transform var(--t-press) var(--ease-out),background .2s,border-color .2s}
.wa__opcion>svg:first-child{width:28px;height:28px;flex:0 0 28px;color:#f2ba2b}
.wa__opcion>svg:last-child{width:20px;height:20px;flex:0 0 20px;margin-left:auto;color:rgba(243,234,220,.5)}
.wa__opcion span{display:block;min-width:0}
.wa__opcion strong{display:block;font:600 1.02rem/1.25 var(--font)}
.wa__opcion small{display:block;margin-top:3px;font:400 .82rem/1.35 var(--font);color:rgba(243,234,220,.72)}
.wa__opcion:active{transform:scale(.98);background:rgba(255,255,255,.12)}
.wa__form{display:grid;gap:12px}
.wa__form label{display:grid;gap:6px;font:500 .8rem/1.2 var(--font);letter-spacing:.02em;color:rgba(243,234,220,.78)}
.wa__form input,.wa__form select,.wa__form textarea{width:100%;min-height:48px;margin:0;padding:10px 14px;border:1px solid rgba(224,230,190,.22);border-radius:14px;background:rgba(255,255,255,.06);color:#f3eadc;font:400 16px/1.3 var(--font);caret-color:#f2ba2b;accent-color:#2f6b3f;color-scheme:dark}
.wa__form textarea{min-height:92px;resize:vertical}
.wa__form input::placeholder,.wa__form textarea::placeholder{color:rgba(243,234,220,.42)}
.wa__fila{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.wa__vista{border:1px solid rgba(224,230,190,.16);border-radius:14px;background:rgba(0,0,0,.14)}
.wa__vista summary{min-height:44px;padding:12px 14px;font:500 .84rem/1.3 var(--font);color:rgba(243,234,220,.75);cursor:pointer;user-select:none;-webkit-user-select:none}
.wa__mensaje{margin:0;padding:0 14px 14px;font:400 .84rem/1.5 var(--font);color:#e8e1d1;white-space:pre-wrap;overflow-wrap:anywhere}
.wa__estado{margin:0;min-height:1.2em;font:500 .84rem/1.35 var(--font);color:#ffd966}
.wa__acciones{display:grid;gap:8px}
.wa__acciones .btn{width:100%;min-height:52px;margin:0;font-size:1rem;font-weight:600}
.wa__acciones .btn--wa{color:#fff;background:#25d366;box-shadow:0 12px 26px -12px rgba(37,211,102,.8)}
.wa__acciones .btn--correo{color:#f3eadc;background:rgba(255,255,255,.07);border:1px solid rgba(224,230,190,.3)}
.wa__secundarias{display:flex;flex-wrap:wrap;justify-content:center;gap:0 6px}
.wa__volver{min-height:44px;margin:0;padding:0 12px;border:0;background:none;color:rgba(243,234,220,.8);font:500 .9rem/1 var(--font);cursor:pointer;user-select:none;-webkit-user-select:none;transition:opacity var(--t-press)}
.wa__volver:active{opacity:.6}
.wa__mas{margin:2px 0 0;text-align:center;font:400 .84rem/1.3 var(--font);color:rgba(243,234,220,.65)}
.wa__mas a{color:#f2ba2b;text-decoration:underline;text-underline-offset:3px}
dialog.wa :focus-visible{outline-color:#ffcd43}
@media(hover:hover) and (pointer:fine){
 .wa__opcion:hover{background:rgba(255,255,255,.1);border-color:rgba(242,186,43,.55)}
 .wa__cerrar:hover{background:rgba(255,255,255,.14)}
 .wa__volver:hover{color:#f2ba2b}
 .wa__acciones .btn--correo:hover{background:rgba(255,255,255,.14);border-color:rgba(242,186,43,.55)}
}
@media(max-width:760px) and (min-height:481px){
 dialog.wa{position:fixed;inset:auto 0 0 0;width:100%;max-width:none;max-height:calc(100dvh - 44px - env(safe-area-inset-top,0px));margin:0;border-width:1px 0 0;border-radius:28px 28px 0 0;opacity:1;transform:translateY(100%);transition:transform .25s var(--ease-out),display .25s allow-discrete,overlay .25s allow-discrete}
 dialog.wa[open]{transform:none;transition-duration:.38s}
 @starting-style{dialog.wa[open]{opacity:1;transform:translateY(100%)}}
 .wa__asa{display:grid;place-items:center;height:28px;touch-action:none}
 .wa__asa::before{content:'';width:42px;height:5px;border-radius:999px;background:rgba(243,234,220,.32)}
 .wa__cabecera{padding:2px 14px 10px 22px;touch-action:none}
 .wa__cuerpo{padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))}
 body.wa-abierto .barra{transform:translateY(calc(100% + 12px));pointer-events:none}
}
@media(prefers-reduced-motion:reduce){
 dialog.wa,dialog.wa[open]{transform:none;transition:opacity .15s,display .15s allow-discrete,overlay .15s allow-discrete}
 dialog.wa{opacity:0}dialog.wa[open]{opacity:1}
 @starting-style{dialog.wa[open]{opacity:0;transform:none}}
 .wa__opcion,.wa__cerrar{transition-duration:var(--t-press)}
}
/* Legibilidad en el celular (20/9/2026, revisión de las 8 páginas a 375 × 812 con Chrome, ADR-015): el texto funcional queda en 11 px o más,
   "Consultar" de la cabecera se lee, la tagline de la marca se oculta en la cabecera donde medía 6,9 px (en el pie sube a 11 px)
   y los enlaces de teléfono y correo de las fichas de contacto reciben 44 px de toque sin mover el diseño. */
@media(max-width:760px){
 body.home .header .brand small{display:none}
 body.home .footer .brand small{font-size:.7rem;letter-spacing:.1em}
 body.home .header__wa{font-size:.8rem;padding:10px 14px;min-height:42px}
}
@media(pointer:coarse){.tile a{display:inline-block;padding-block:11px;margin-block:-11px}}

/* Optimización general (20/9/2026, ADR-017): visor con transición direccional entre fotos, WhatsApp flotante también en tablets
   y notebooks (en el celular lo reemplaza la barra inferior) y detalles de los CTA unificados. La identidad no cambia. */
/* Visor: la foto nueva entra deslizándose desde el lado hacia el que se avanza (280 ms); con movimiento reducido solo se funde. */
dialog.lightbox .lightbox__image--desde-der{animation:fotoDesdeDer .28s var(--ease-out)}
dialog.lightbox .lightbox__image--desde-izq{animation:fotoDesdeIzq .28s var(--ease-out)}
@keyframes fotoDesdeDer{from{opacity:0;transform:translateX(36px)}}
@keyframes fotoDesdeIzq{from{opacity:0;transform:translateX(-36px)}}
@media(prefers-reduced-motion:reduce){
 dialog.lightbox .lightbox__image--desde-der,dialog.lightbox .lightbox__image--desde-izq{animation:fotoFundido .15s ease}
}
@keyframes fotoFundido{from{opacity:0}}
/* WhatsApp flotante: visible en tablets y notebooks (761–1280 px); a 760 px o menos la barra inferior ya tiene WhatsApp. */
@media(min-width:761px) and (max-width:1280px){.wa-float{display:grid}body.menu-open .wa-float,body.photo-open .wa-float,body.hoja-abierta .wa-float,body.wa-abierto .wa-float{display:none}}
/* Cabecera: "Consultar por mi grupo" completo desde tablets; en el celular queda "Consultar" (el span se oculta a ≤760 px). */
@media(max-width:1100px){body.home .header__wa{white-space:nowrap}}

/* La intro de la portada (ADR-018, ADR-037) tiene su hoja propia, assets/css/intro.css: solo la usa index.html. */

/* Portada del inicio en el celular (23/9/2026, ADR-020, reemplaza el ajuste de ADR-019): foto arriba y clara, texto abajo, como las
   referencias del propietario. Solo hasta 760 px; en tablet y escritorio no cambia nada. Cada foto tiene su recorte vertical (<source media>
   en index.html) y ocupa la parte de arriba, fundiéndose con el verde de base hacia abajo (mask-image estática); el velo deja despejadas a
   las personas y oscurece donde va el texto; el texto se apoya abajo; el párrafo largo se cambia por uno corto (.hero__lead-movil); la capa
   recortada de "abrazo" no se usa. La flecha queda centrada; de los controles solo queda "Pausar" (pausa obligatoria del carrusel, WCAG 2.2.2). */
.hero__lead-movil{display:none}
@media(max-width:760px){
 body.home .hero--reference{align-items:flex-end}
 body.home .hero--reference .hero__center{padding:96px 28px calc(84px + var(--barra-h) + env(safe-area-inset-bottom,0px))}
 body.home .hero--reference .hero__photo{inset:0 0 auto;height:min(82%,125vw);-webkit-mask-image:linear-gradient(180deg,#000 50%,transparent 97%);mask-image:linear-gradient(180deg,#000 50%,transparent 97%)}
 body.home .hero--reference .hero__slide--abrazo .hero__photo,body.home .hero--reference .hero__slide--nina .hero__photo,body.home .hero--reference .hero__slide--copa .hero__photo{object-position:50% 0%}
 body.home .hero--reference .hero__slide .hero__tone{background:linear-gradient(180deg,rgba(4,23,14,.6) 0%,rgba(4,23,14,0) 17%,rgba(4,23,14,0) 30%,rgba(4,23,14,.45) 50%,rgba(4,23,14,.8) 68%),linear-gradient(90deg,rgba(4,23,14,.55) 0%,rgba(4,23,14,.2) 52%,rgba(4,23,14,0) 82%)!important}
 body.home .hero--reference .hero__foreground{display:none}
 body.home .hero__copy{max-width:none}
 body.home .hero__ornament{top:0;width:auto;margin:0 0 16px;justify-content:flex-start}
 body.home .hero--reference h1{font-size:clamp(2.35rem,10.6vw,2.9rem);line-height:.98;max-width:7.1em}
 body.home .hero__rule{margin:18px 0 14px}
 body.home .hero--reference .lead{max-width:20em;margin:0 0 24px;font-size:1rem;line-height:1.45}
 body.home .hero--reference .lead:not(.hero__lead-movil){display:none}
 body.home .hero--reference .hero__lead-movil{display:block}
 body.home .hero--reference .hero__cta{flex-direction:column;align-items:stretch;gap:10px}
 body.home .hero--reference .hero__cta .btn{width:100%;max-width:none;min-height:50px;justify-content:center}
 body.home .hero--reference .scroll-cue{left:50%;transform:translateX(-50%);width:30px;height:48px;bottom:calc(20px + var(--barra-h) + env(safe-area-inset-bottom,0px))}
 body.home .hero--reference .scroll-cue span{top:13px;width:9px;height:9px}
 body.home .hero--reference .hero__controls .hero__dots{display:none}
 body.home .hero__controls{right:16px;bottom:calc(22px + var(--barra-h) + env(safe-area-inset-bottom,0px))}
}

/* Contacto en el celular (23/9/2026, ADR-021): no hay página de contacto; los enlaces a contacto.html abren el formulario del selector de
   WhatsApp (main.js), así que pierden la flecha "↗" que anuncia otra página. Mismo corte que la barra inferior. Netlify publica los enlaces
   como "/contacto" (direcciones sin .html): por eso las dos formas. */
@media(max-width:760px) and (min-height:481px){a:is([href^="contacto.html"],[href^="/contacto"])>span[aria-hidden="true"]{display:none}}

/* Galería como sala de exposición (23/9/2026, ADR-023): fondo oscuro, categorías con foto circular, filas justificadas en orden
   de lectura (main.js calcula los anchos), leyendas solo al pasar el cursor, fotos que aparecen al cargar y "Ver más" que suma
   filas abajo sin mover las de arriba. Reemplaza las columnas (.masonry) y el <select> del celular. */
body.gallery-page .page-hero::after{content:"";position:absolute;inset:auto 0 0;height:96px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(7,26,16,0),#071a10)}
body.inicio.gallery-page .page-hero{padding-bottom:26px}
@media(max-width:760px){
 body.inicio.gallery-page .page-hero{padding-top:104px;padding-bottom:6px}
 body.gallery-page .page-hero .crumbs,body.gallery-page .page-hero .lead{display:none}
 body.gallery-page .page-hero .eyebrow{margin-bottom:10px}
}
body.inicio.gallery-page .galeria-sala{padding:clamp(22px,3vw,40px) 0 clamp(56px,7vw,96px)}
body.inicio.gallery-page .galeria-sala>.container{width:min(1560px,100% - var(--gutter)*2)}
.galeria-sala :focus-visible{outline-color:#ffcd43}

/* Categorías: círculo con una foto de cada una, cantidad en una pastilla y nombre abajo */
.galeria-sala .gallery-toolbar{margin:0 0 clamp(22px,3vw,36px)}
body.gallery-page .galeria-sala .filters{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(12px,1.8vw,26px);margin:0}
body.inicio .galeria-sala .filters button{--circulo:72px;display:grid;justify-items:center;align-content:start;gap:12px;width:calc(var(--circulo) + 26px);padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--texto);font:inherit;cursor:pointer;transition:color .2s ease}
.galeria-sala .filtro__foto{grid-area:1/1;display:block;width:var(--circulo);height:var(--circulo);padding:3px;border-radius:50%;background:#0b2217;box-shadow:0 0 0 1.5px var(--linea);transition:box-shadow .25s ease,transform var(--t-ui) var(--ease-out)}
.galeria-sala .filtro__foto img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;transition:transform .6s var(--ease-out)}
.galeria-sala .filtro__foto--todas{display:grid;place-items:center;color:var(--oro);background:radial-gradient(circle at 50% 35%,#16402a,#0b2217 72%)}
.galeria-sala .filtro__foto--todas svg{width:42%;height:42%}
.galeria-sala .filtro__cantidad{grid-area:1/1;align-self:end;z-index:1;min-width:26px;margin-bottom:-9px;padding:1px 7px;border-radius:999px;background:#071a10;box-shadow:0 0 0 1px var(--linea);color:var(--texto-suave);font-size:11px;font-weight:600;line-height:17px;font-variant-numeric:tabular-nums;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.galeria-sala .filtro__nombre{font-size:13px;font-weight:500;line-height:1.25;text-align:center;text-wrap:balance}
body.inicio .galeria-sala .filters button[aria-pressed=true]{background:none;color:var(--marfil)}
.galeria-sala .filters button[aria-pressed=true] .filtro__foto{box-shadow:0 0 0 2px var(--oro)}
.galeria-sala .filters button[aria-pressed=true] .filtro__cantidad{background:var(--oro);box-shadow:0 0 0 1px var(--oro);color:#102014}
@media(hover:hover) and (pointer:fine){
 body.inicio .galeria-sala .filters button:hover{transform:none;color:var(--marfil)}
 .galeria-sala .filters button:hover .filtro__foto{box-shadow:0 0 0 1.5px var(--linea-fuerte)}
 .galeria-sala .filters button[aria-pressed=true]:hover .filtro__foto{box-shadow:0 0 0 2px var(--oro)}
 .galeria-sala .filters button:hover .filtro__foto img{transform:scale(1.08)}
}
body.inicio .galeria-sala .filters button:active{transform:none}
.galeria-sala .filters button:active .filtro__foto{transform:scale(.94);transition:transform var(--t-press) var(--ease-out)}
.galeria-sala .filters button:focus-visible{outline:none}
.galeria-sala .filters button:focus-visible .filtro__foto{outline:3px solid #ffcd43;outline-offset:3px}
/* Teléfono: una tira que se desliza de costado, pegada a los bordes de la pantalla */
@media(max-width:760px){
 body.gallery-page .galeria-sala .filters{flex-wrap:nowrap;justify-content:flex-start;gap:10px;margin-inline:calc(var(--gutter)*-1);padding:6px var(--gutter) 14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:var(--gutter);scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 28px),transparent)}
 body.gallery-page .galeria-sala .filters::-webkit-scrollbar{display:none}
 body.inicio .galeria-sala .filters button{--circulo:60px;flex:none;gap:11px;width:74px;scroll-snap-align:start}
 .galeria-sala .filtro__nombre{font-size:12px}
 .galeria-sala .gallery-toolbar{margin-bottom:18px}
}

/* Grilla: sin JavaScript (o en el editor), mosaico parejo 4:3; con JavaScript, filas justificadas (.is-armada) */
.gallery-grid{--fila:172px;--hueco:6px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(46%,230px),1fr));gap:var(--hueco)}
@media(min-width:600px){.gallery-grid{--fila:210px;--hueco:8px}}
@media(min-width:900px){.gallery-grid{--fila:250px;--hueco:10px}}
@media(min-width:1200px){.gallery-grid{--fila:290px;--hueco:12px}}
.gallery-grid.is-armada{display:flex;flex-wrap:wrap;align-items:flex-start;transition:opacity .15s ease}
.gallery-grid.is-cambiando{opacity:0}
html.js .gallery-grid:not(.is-armada){visibility:hidden;animation:galeriaSinArmar 0s 2.5s forwards}
@keyframes galeriaSinArmar{to{visibility:visible}}
.gallery-grid .gallery-item{position:relative;display:block;min-width:0;aspect-ratio:4/3;margin:0;overflow:hidden;border-radius:10px;background:#0f2a1c;isolation:isolate;-webkit-tap-highlight-color:transparent}
.gallery-grid.is-armada .gallery-item{flex:none;aspect-ratio:var(--ar,1.5)}
.gallery-grid .gallery-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out),opacity .45s ease}
.gallery-grid.is-armada .gallery-item:not(.is-cargada) img{opacity:0}
.gallery-grid .gallery-item{animation:galeriaIn .36s var(--ease-out) backwards}
@keyframes galeriaIn{from{opacity:0;transform:translateY(10px)}}
/* Leyenda: oculta; aparece al pasar el cursor (o con el foco del teclado) sobre un degradé suave */
.gallery-grid .gallery-item::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(4,16,9,0) 48%,rgba(4,16,9,.82));opacity:0;transition:opacity .3s ease}
.gallery-grid .gallery-item span{position:absolute;left:16px;right:14px;bottom:13px;z-index:2;padding-left:20px;color:#fbf6ec;font-size:.9rem;font-weight:500;line-height:1.3;text-shadow:0 1px 10px rgba(0,0,0,.45);opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .3s var(--ease-out);pointer-events:none}
.gallery-grid .gallery-item span::before{content:"";position:absolute;left:0;top:.66em;width:12px;height:1px;background:#f2ba2b}
.gallery-grid .gallery-item:focus-visible{z-index:2;outline:3px solid #ffcd43;outline-offset:2px}
.gallery-grid .gallery-item:focus-visible::after{opacity:1}
.gallery-grid .gallery-item:focus-visible span{opacity:1;transform:none}
@media(hover:hover) and (pointer:fine){
 .gallery-grid .gallery-item:hover::after{opacity:1}
 .gallery-grid .gallery-item:hover span{opacity:1;transform:none;transition-delay:.05s}
 .gallery-grid .gallery-item:hover img{transform:scale(1.045)}
}
.gallery-grid .gallery-item{transition:transform var(--t-ui) var(--ease-out)}
.gallery-grid .gallery-item:active{transform:scale(.985);transition:transform var(--t-press) var(--ease-out)}
@media(max-width:600px){.gallery-grid .gallery-item{border-radius:7px}}

/* Pie: cuántas fotos se ven, barra de avance y "Ver más fotos" */
body.gallery-page .gallery-more{display:grid;justify-items:center;gap:14px;margin-top:clamp(30px,4vw,48px);text-align:center}
body.gallery-page .gallery-status{margin:0;color:var(--texto-suave);font-size:13px;text-align:center;font-variant-numeric:tabular-nums}
.gallery-avance{width:min(240px,62%);height:2px;overflow:hidden;border-radius:2px;background:rgba(243,234,220,.14)}
.gallery-avance span{display:block;height:100%;background:var(--oro);transform:scaleX(var(--avance,0));transform-origin:left;transition:transform .6s var(--ease-out)}
.gallery-more .btn .icon{width:18px;height:18px}
html:not(.js) .gallery-more{display:none}

/* Movimiento reducido: sin desplazamientos; las fotos aparecen con un fundido corto */
@media(prefers-reduced-motion:reduce){
 .gallery-grid .gallery-item{animation:none}
 .gallery-grid .gallery-item img{transition-duration:.2s!important;transition-property:opacity!important}
 .gallery-grid .gallery-item span,.gallery-grid .gallery-item::after{transform:none;transition-duration:.2s!important}
}

/* Visor en carrusel (23/9/2026, ADR-023): la foto actual centrada y las vecinas asomando a los costados, atenuadas. La pista es
   un desplazamiento horizontal con imanes (una foto por gesto); el <dialog> ocupa toda la pantalla sin márgenes y el fondo es su
   ::backdrop, así la foto que crece desde la miniatura no se desvanece junto con él. */
dialog.lightbox{padding:0;background:transparent;opacity:1;transition:none;gap:10px}
dialog.lightbox[open]{grid-template-rows:auto minmax(0,1fr) auto;gap:10px}
dialog.lightbox::backdrop{background:#06180f;opacity:0;transition:opacity .3s ease}
dialog.lightbox[open]::backdrop{opacity:1}
@starting-style{dialog.lightbox[open]::backdrop{opacity:0}}
dialog.lightbox .lightbox__head,dialog.lightbox .lightbox__bottom{transition:opacity .3s ease .08s}
@starting-style{dialog.lightbox[open] .lightbox__head,dialog.lightbox[open] .lightbox__bottom{opacity:0}}
.lightbox__head{padding:max(14px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) 0 max(22px,env(safe-area-inset-left));font-variant-numeric:tabular-nums}
dialog.lightbox .lightbox__bottom{padding:0 max(22px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));box-sizing:border-box}
dialog.lightbox button[aria-disabled=true]{opacity:.3;cursor:default}
.lightbox__media{position:relative;display:block;container-type:size;height:100%;min-height:0;overflow:hidden}
.lightbox__pista{--ancho-max:76cqw;--hueco-visor:18px;position:relative;display:flex;align-items:center;gap:var(--hueco-visor);height:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-user-select:none;user-select:none}
.lightbox__pista::-webkit-scrollbar{display:none}
.lightbox__pista.is-moviendo,.lightbox__pista.is-arrastrando{scroll-snap-type:none}
.lightbox__pista{touch-action:pan-x pinch-zoom}
.lightbox__pista.con-zoom{touch-action:auto}
@media(hover:hover) and (pointer:fine){.lightbox__pista{cursor:grab}.lightbox__pista.is-arrastrando{cursor:grabbing}}
.lightbox__foto{--ancho:min(calc(100cqh * var(--ar,1.5)),var(--ancho-max));flex:none;width:var(--ancho);aspect-ratio:var(--ar,1.5);scroll-snap-align:center;scroll-snap-stop:always;opacity:.42;transition:opacity .25s ease}
.lightbox__foto:first-child{margin-inline-start:calc(50cqw - var(--ancho)/2)}
.lightbox__foto:last-child{margin-inline-end:calc(50cqw - var(--ancho)/2)}
.lightbox__foto.es-actual{opacity:1}
.lightbox__foto:not(.es-actual){cursor:pointer}
.lightbox__marco{width:100%;height:100%;overflow:hidden;border-radius:10px;background:#0d2619;transition:opacity .2s ease}
.lightbox__marco img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease;-webkit-user-drag:none;pointer-events:none}
.lightbox__foto.is-cargada .lightbox__marco img{opacity:1}
/* Donde el navegador lo permite, la atenuación y el leve achique de las vecinas siguen al desplazamiento cuadro a cuadro */
@supports (animation-timeline:view()){
 .lightbox__foto{transition:none;animation:visorFoco linear both;animation-timeline:view(inline)}
}
@keyframes visorFoco{0%,30%{opacity:.42;transform:translateX(-4%) scale(.92)}50%{opacity:1;transform:none}70%,100%{opacity:.42;transform:translateX(4%) scale(.92)}}
/* Deslizar para cerrar: mientras la foto sigue al dedo, el fondo y los controles se aclaran en proporción (sin transición) */
dialog.lightbox.is-bajando::backdrop{opacity:calc(1 - var(--bajada,0)*.7);transition:none}
dialog.lightbox.is-bajando .lightbox__head,dialog.lightbox.is-bajando .lightbox__bottom{opacity:calc(1 - var(--bajada,0)*2.5);transition:none}
dialog.lightbox.is-bajando .lightbox__foto:not(.es-actual) .lightbox__marco{opacity:calc(1 - var(--bajada,0)*2);transition:none}
dialog.lightbox.is-cerrando::backdrop{opacity:0;transition:opacity .26s ease}
dialog.lightbox.is-cerrando .lightbox__head,dialog.lightbox.is-cerrando .lightbox__bottom{opacity:0;transition:opacity .16s ease}
dialog.lightbox.is-cerrando .lightbox__foto:not(.es-actual) .lightbox__marco{opacity:0;transition:opacity .16s ease}
@media(max-width:760px){
 .lightbox__pista{--ancho-max:80cqw;--hueco-visor:10px}
 .lightbox__marco{border-radius:8px}
 .lightbox__head{padding-inline:max(16px,env(safe-area-inset-left))}
 dialog.lightbox .lightbox__bottom{padding-inline:max(12px,env(safe-area-inset-left))}
}
@media(prefers-reduced-motion:reduce){
 .lightbox__foto{animation:none!important;transition-duration:.2s!important}
 dialog.lightbox[open]::backdrop,dialog.lightbox.is-cerrando::backdrop,dialog.lightbox .lightbox__head,dialog.lightbox .lightbox__bottom{transition-duration:.15s!important}
}

/* Inicio: paneles rediseñados (24/9/2026, ADR-024). El inicio resume y deriva a las subpáginas: los mismos paneles, con cerca de un
   60 % menos de texto y un diseño pensado para leerse de un vistazo. Servicios: foto del predio de fondo y seis íconos que llevan a su
   página. Piletas: tres datos con ícono. Quinchos: los cinco con su capacidad en grande. Actividades: el mosaico lleva a cada actividad.
   Cómo llegar: una línea, con sus datos y el mapa. La portada, la intro y los efectos no cambian. */

/* Servicios: encabezado con el botón al costado; panel con la foto de fondo y los servicios como íconos */
@media(min-width:801px){body.inicio #servicios .serv__summary{justify-self:end}}
body.inicio #servicios .serv__vista{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);min-height:clamp(420px,34vw,480px);overflow:hidden;border:1px solid var(--linea);border-radius:30px;background:#0a2416;box-shadow:var(--sombra-tarjeta)}
body.inicio #servicios .serv__vista-foto{position:absolute;inset:0;z-index:-1;margin:0}
body.inicio #servicios .serv__vista-foto img{display:block;width:100%;height:100%;object-fit:cover;object-position:18% 60%}
body.inicio #servicios .serv__vista-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,31,20,.78) 0%,rgba(8,31,20,0) 46%),linear-gradient(90deg,rgba(8,31,20,.08) 0%,rgba(8,31,20,.22) 24%,rgba(8,31,20,.86) 44%,rgba(8,31,20,.95) 100%)}
body.inicio #servicios .serv__vista .serv__caption{left:32px;right:auto;bottom:32px;max-width:30%}
body.inicio #servicios .serv__iconos{grid-column:2;align-self:center;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin:0;padding:clamp(26px,3.2vw,46px) clamp(22px,3vw,44px);list-style:none}
body.inicio #servicios .serv__iconos li{min-width:0}
body.inicio #servicios .serv__iconos a{display:grid;grid-template-columns:56px minmax(0,1fr);grid-template-areas:"icono titulo" "icono detalle";column-gap:16px;align-items:center;min-height:84px;padding:12px 14px;border-radius:18px;color:#f6efe2;transition:background-color .25s,transform var(--t-ui) var(--ease-out)}
body.inicio #servicios .serv__icono{grid-area:icono;display:grid;place-items:center;width:56px;height:56px;border:1px solid rgba(242,186,43,.62);border-radius:50%;background:rgba(4,18,10,.45);color:#f2ba2b;transition:background-color .25s,color .25s,transform .45s var(--ease-out)}
body.inicio #servicios .serv__icono svg{width:26px;height:26px}
body.inicio #servicios .serv__iconos b{grid-area:titulo;align-self:end;font-size:1.12rem;font-weight:600;line-height:1.25;color:#f6efe2}
body.inicio #servicios .serv__iconos small{grid-area:detalle;align-self:start;margin-top:4px;font-size:.9rem;line-height:1.4;color:rgba(243,234,220,.74)}
body.inicio #servicios .serv__iconos a:focus-visible{outline-color:#ffcd43;outline-offset:2px}
body.inicio #servicios .serv__iconos a:active{transform:scale(.97);transition-duration:var(--t-press)}
@media(hover:hover) and (pointer:fine){
 body.inicio #servicios .serv__iconos a:hover{background:rgba(255,255,255,.06)}
 body.inicio #servicios .serv__iconos a:hover .serv__icono{background:#f2ba2b;color:#102014;transform:rotate(-6deg) scale(1.06)}
}
@media(max-width:800px){
 body.inicio #servicios .serv__vista{grid-template-columns:minmax(0,1fr);min-height:0;border-radius:24px}
 body.inicio #servicios .serv__vista-foto{position:relative;z-index:0;height:clamp(190px,50vw,300px)}
 body.inicio #servicios .serv__vista-foto img{object-position:30% 55%}
 body.inicio #servicios .serv__vista-foto::after{background:linear-gradient(180deg,rgba(8,31,20,0) 30%,rgba(8,31,20,.94) 100%)}
 body.inicio #servicios .serv__vista .serv__caption{left:22px;right:22px;bottom:18px;max-width:none}
 body.inicio #servicios .serv__vista .serv__caption span{display:none}
 body.inicio #servicios .serv__iconos{grid-column:1;padding:12px 12px 18px}
}
@media(max-width:540px){
 body.inicio #servicios .serv__iconos{gap:0 4px}
 body.inicio #servicios .serv__iconos a{grid-template-columns:minmax(0,1fr);grid-template-areas:"icono" "titulo" "detalle";row-gap:0;align-items:start;min-height:0;padding:14px 10px}
 body.inicio #servicios .serv__icono{width:44px;height:44px;margin-bottom:10px}
 body.inicio #servicios .serv__icono svg{width:21px;height:21px}
 body.inicio #servicios .serv__iconos b{font-size:.98rem}
 body.inicio #servicios .serv__iconos small{font-size:.82rem}
}

/* Piletas: tres datos con ícono, en fila, entre dos líneas doradas */
body.inicio #piletas .verano__datos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:30px 0 34px;padding:22px 0;list-style:none;border-block:1px solid var(--linea)}
body.inicio #piletas .verano__datos li{display:grid;justify-items:center;align-content:start;gap:12px;padding:0 10px;text-align:center;color:var(--texto-fuerte);font-size:1rem;font-weight:600;line-height:1.25}
body.inicio #piletas .verano__datos li+li{border-left:1px solid var(--linea)}
body.inicio #piletas .verano__datos i{display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--linea-fuerte);border-radius:50%;background:#fffdf8;color:var(--oro)}
body.inicio #piletas .verano__datos svg{width:26px;height:26px}
@media(max-width:600px){
 body.inicio #piletas .verano__datos{margin:24px 0 26px;padding:18px 0}
 body.inicio #piletas .verano__datos li{padding:0 6px;font-size:.9rem}
 body.inicio #piletas .verano__datos i{width:46px;height:46px}
 body.inicio #piletas .verano__datos svg{width:22px;height:22px}
}

/* Quinchos: los cinco con su capacidad en números grandes (el 5 ocupa dos filas); cada uno lleva a su ficha en Instalaciones */
body.inicio .capacidad__cabecera{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-bottom:clamp(26px,3vw,40px)}
body.inicio .capacidad__cabecera h2{margin:0}
body.inicio .capacidad__cabecera .lead{margin:12px 0 0}
body.inicio .capacidad{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,clamp(200px,17vw,250px));gap:16px}
body.inicio .capacidad__q{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;overflow:hidden;padding:20px 22px;border:1px solid var(--linea);border-radius:24px;background:#0c2418;box-shadow:var(--sombra-tarjeta);color:#f6efe2;transition:transform var(--t-ui) var(--ease-out)}
body.inicio .capacidad__q--grande{grid-row:1/3;padding:28px 30px}
body.inicio .capacidad__q img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
body.inicio .capacidad__q::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,18,10,0) 25%,rgba(4,18,10,.55) 55%,rgba(4,18,10,.92) 100%)}
body.inicio .capacidad__dato{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
body.inicio .capacidad__dato b{font-family:var(--serif);font-size:clamp(2.8rem,3.6vw,3.8rem);font-weight:600;line-height:.9;letter-spacing:-.01em;color:#f2ba2b}
body.inicio .capacidad__dato small{font-size:.9rem;font-weight:500;color:rgba(243,234,220,.9)}
body.inicio .capacidad__nombre{font-size:.92rem;font-weight:600;letter-spacing:.02em;color:#f6efe2;transition:color .25s}
body.inicio .capacidad__q--grande .capacidad__dato b{font-size:clamp(4.4rem,6.6vw,6.6rem)}
body.inicio .capacidad__q--grande .capacidad__dato small{font-size:1.05rem}
body.inicio .capacidad__q--grande .capacidad__nombre{font-size:1.05rem}
body.inicio .capacidad__q--albergue .capacidad__dato b{font-size:clamp(2rem,2.5vw,2.6rem);line-height:1}
body.inicio .capacidad__q:active{transform:scale(.985);transition-duration:var(--t-press)}
body.inicio .capacidad.stagger>.capacidad__q{transition:transform var(--t-ui) var(--ease-out)}
body.inicio .capacidad.stagger.is-in>.capacidad__q{animation:capacidadEntra .6s var(--ease-out) backwards}
body.inicio .capacidad.stagger.is-in>.capacidad__q:nth-child(2){animation-delay:.06s}body.inicio .capacidad.stagger.is-in>.capacidad__q:nth-child(3){animation-delay:.12s}body.inicio .capacidad.stagger.is-in>.capacidad__q:nth-child(4){animation-delay:.18s}body.inicio .capacidad.stagger.is-in>.capacidad__q:nth-child(5){animation-delay:.24s}
@keyframes capacidadEntra{from{opacity:0;transform:translateY(18px)}}
@media(hover:hover) and (pointer:fine){
 body.inicio .capacidad__q:hover img{transform:scale(1.06)}
 body.inicio .capacidad__q:hover .capacidad__nombre{color:#ffc834}
}
@media(max-width:760px){
 body.inicio .capacidad{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:clamp(150px,40vw,210px);gap:12px}
 body.inicio .capacidad__q{padding:14px 16px;border-radius:20px}
 body.inicio .capacidad__q--grande{grid-column:1/-1;grid-row:span 2;padding:20px 22px}
 body.inicio .capacidad__dato b{font-size:2.5rem}
 body.inicio .capacidad__q--grande .capacidad__dato b{font-size:4.2rem}
 body.inicio .capacidad__q--albergue .capacidad__dato b{font-size:1.8rem}
 body.inicio .capacidad__dato small{font-size:.8rem}
 body.inicio .capacidad__nombre{font-size:.82rem}
}
@media(prefers-reduced-motion:reduce){body.inicio .capacidad__q:hover img{transform:none}}

/* Actividades: cada foto del mosaico lleva a su actividad y suma un dato corto debajo del nombre */
body.inicio .actividades__mosaico a span small{display:block;margin-top:3px;font-size:.78rem;font-weight:400;letter-spacing:.01em;color:rgba(243,234,220,.8)}
/* Quiénes somos en el celular: sin los botones que tenía, la cita queda más cerca de las fotos; los números, más compactos */
@media(max-width:600px){
 body.home .qs__grid{gap:36px}
 body.home .qs__quote{margin-bottom:0}
 body.home .qs__dato{gap:8px;padding:16px 8px 14px}
 body.home .qs__dato i{width:42px;height:42px}
 body.home .qs__dato i svg{width:20px;height:20px}
 body.home .qs__dato b{font-size:1.85rem}
 body.home .qs__dato span{margin-top:6px}
 body.home .qs__dato span::after{margin-top:9px}
}
/* Cómo llegar del inicio en compu: el mapa más grande (columna más ancha y más alto) */
@media(min-width:900px){
 body.inicio #como-llegar>.split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 body.inicio #como-llegar .map{aspect-ratio:auto;min-height:clamp(420px,36vw,540px)}
}
/* Pulido Impeccable de Cómo llegar: datos con cortes parejos, un solo botón y "Abrir en Google Maps" como etiqueta sobre el mapa */
body.inicio #como-llegar .tile{padding-right:12px}
body.inicio #como-llegar .tile span{display:block;text-wrap:balance}
body.inicio #como-llegar .map__abrir{position:absolute;left:16px;bottom:16px;z-index:3;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);padding:10px 14px 10px 12px;border:1px solid rgba(176,122,26,.4);border-radius:16px;background:#fffdf8;color:#14291d;box-shadow:0 18px 34px -20px rgba(4,18,10,.55);transition:transform var(--t-ui) var(--ease-out),border-color .25s}
body.inicio #como-llegar .map__abrir>svg:first-child{flex:none;width:34px;height:34px;padding:7px;border-radius:50%;background:#14291d;color:#f2ba2b}
body.inicio #como-llegar .map__abrir span{display:grid;gap:1px;min-width:0}
body.inicio #como-llegar .map__abrir b{font-size:.92rem;font-weight:600;line-height:1.25}
body.inicio #como-llegar .map__abrir small{font-size:.8rem;line-height:1.3;color:#5f4a12}
body.inicio #como-llegar .map__abrir>svg:last-child{flex:none;width:16px;height:16px;color:#8a6110;transition:transform var(--t-ui) var(--ease-out)}
body.inicio #como-llegar .map__abrir:active{transform:scale(.97);transition-duration:var(--t-press)}
body.inicio #como-llegar .map__abrir:focus-visible{outline-offset:3px}
@media(hover:hover) and (pointer:fine){
 body.inicio #como-llegar .map__abrir:hover{border-color:rgba(176,122,26,.75)}
 body.inicio #como-llegar .map__abrir:hover>svg:last-child{transform:translate(2px,-2px)}
}
@media(max-width:600px){body.inicio #como-llegar .map__abrir{left:10px;bottom:10px;max-width:calc(100% - 20px);padding:8px 12px 8px 10px}}

/* ===== Piletas del inicio: cielo y agua con andarivel (ADR-029, 11/10/2026) =====
   Arriba el cielo: el arco de la temporada (nov → feb) con el sol del logo en la cima y el título.
   Una ola separa el agua: el andarivel cruza la pantalla y sus tres boyas son los datos que tranquilizan
   al coordinador; abajo, las tres fotos (abren el visor) y el botón. Maqueta: lienzo/piletas/b-andarivel.html.
   En la compu la sección entera (con las fotos) entra en una pantalla: el alto de las fotos (--fh) sale del alto de la ventana. */
body.inicio #piletas.pil{padding:0;color:#132019}
body.inicio #piletas.pil::before{display:none}
#piletas .pil-cielo{position:relative;padding:34px 0 0;text-align:center;
  background:radial-gradient(50% 46% at 50% 10%,rgba(255,214,102,.3),transparent 70%),
             linear-gradient(180deg,#f2e7d3 0%,#e2eef2 22%,#eef0e5 62%,#f1ede0 100%)}
#piletas .pil-cielo .container{position:relative;z-index:1}

#piletas .pil-temporada{position:relative;width:min(980px,100%);margin-inline:auto;aspect-ratio:1000/200;color:#a8701a}
#piletas .pil-arco{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#piletas .pil-arco__meses circle{fill:var(--oro)}
#piletas .pil-arco__meses text{fill:#7d500c;font:600 14.5px var(--font);letter-spacing:.08em;text-transform:uppercase}

body.inicio #piletas .pil-cielo h2{margin:-50px auto 0;max-width:20ch;padding-bottom:28px;font-family:var(--serif);font-weight:500;
  font-size:clamp(2.5rem,3.4vw,3.4rem);line-height:1;letter-spacing:-.015em;color:#132019;text-wrap:balance}
body.inicio #piletas .pil-cielo h2 span{display:block;color:#a8701a}

/* sol del logo en la cima del arco: no da vueltas, se balancea ±6°; cada rayo crece desde su base y titila (--d en el HTML).
   --s = ancho del sol; el recuadro es 1,6 veces mayor y su centro es la H. Solo transform y opacity. */
body.inicio #piletas .orn-sol--verano{--s:96px;width:calc(var(--s)*1.6);height:calc(var(--s)*1.6);aspect-ratio:1;
  left:50%;right:auto;top:35%;opacity:1;animation:none;transform:translate(-50%,-50%);color:var(--oro);z-index:1}
body.inicio .orn-sol--verano::before{content:"";position:absolute;inset:18%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,214,102,.55),rgba(255,214,102,0));animation:sol-brillo 6s ease-in-out infinite alternate}
body.inicio .orn-sol--verano .sol-rayos{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:.85}
body.inicio .orn-sol--verano .sol-logo{position:absolute;width:var(--s);height:auto;aspect-ratio:1002/918;left:calc(50% - var(--s)*.483);top:calc(50% - var(--s)*.4965);transform-origin:48.3% 54.2%;filter:drop-shadow(0 6px 14px rgba(176,122,26,.2));animation:sol-balanceo 7s ease-in-out infinite}
body.inicio .orn-sol--verano .sol-aro{opacity:.7;animation:sol-aro 6s ease-in-out infinite alternate}
body.inicio .orn-sol--verano .sol-rayos__haz line{transform-box:view-box;animation:sol-rayo 3.2s ease-in-out var(--d,0s) infinite}
@keyframes sol-balanceo{0%,100%{transform:rotate(-6deg) scale(1)}50%{transform:rotate(6deg) scale(1.035)}}
@keyframes sol-brillo{from{opacity:.55;transform:scale(.94)}to{opacity:1;transform:scale(1.06)}}
@keyframes sol-aro{from{opacity:.35}to{opacity:.85}}
/* cada rayo crece desde su base (x = 79): translateX compensa la escala para que el extremo interior no se mueva */
@keyframes sol-rayo{0%,100%{opacity:.3;transform:translateX(15.8px) scaleX(.8)}50%{opacity:1;transform:translateX(-11.85px) scaleX(1.15)}}

/* ---------- agua ----------
   Degradé que se hace hondo enseguida (el texto blanco de las boyas pasa 4,5:1), brillo bajo la superficie,
   cáusticas (la red de luz del fondo de la pileta: herramientas/causticas.py) en dos capas que se mueven distinto,
   y unas pocas burbujas que suben. */
#piletas .pil-agua{position:relative;padding:16px 0 54px;color:#fff;
  background:linear-gradient(180deg,rgba(255,255,255,.16) 0,rgba(255,255,255,0) 90px),
             linear-gradient(180deg,#2a9fd6 0,#1579b0 96px,#11689c 58%,#0d5a88 100%)}
#piletas .pil-agua__luz{position:absolute;inset:0;overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.4) 45%,rgba(0,0,0,.1) 100%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.4) 45%,rgba(0,0,0,.1) 100%)}
#piletas .pil-agua__luz::before,#piletas .pil-agua__luz::after{content:"";position:absolute;inset:-700px;will-change:transform}
#piletas .pil-agua__luz::before{background:url(../img/agua-causticas-a.webp) 0 0/680px 680px;opacity:.11;animation:pil-causticas-a 80s linear infinite}
#piletas .pil-agua__luz::after{background:url(../img/agua-causticas-b.webp) 0 0/560px 560px;opacity:.06;animation:pil-causticas-b 110s linear infinite}
@keyframes pil-causticas-a{to{transform:translate3d(-680px,-680px,0)}}
@keyframes pil-causticas-b{to{transform:translate3d(560px,-560px,0)}}
#piletas .pil-ola{position:absolute;left:0;top:-40px;width:200%;max-width:none;height:42px;fill:#2a9fd6;animation:pil-ola 16s linear infinite}
@keyframes pil-ola{to{transform:translateX(-50%)}}
/* abajo, una ola quieta del color de la sección siguiente (#organizar) para que el agua no corte seco */
#piletas .pil-ola--pie{top:auto;bottom:-1px;width:100%;max-width:none;fill:#0c2418;transform:scaleX(-1);animation:none}
#piletas .pil-agua .container{position:relative;z-index:1}

/* burbujas: suben con translate y se mecen con transform (dos propiedades, no se pisan) */
#piletas .pil-burbujas{--alto:520px;position:absolute;inset:0;overflow:hidden;pointer-events:none}
#piletas .pil-burbuja{position:absolute;bottom:-20px;left:var(--x);width:var(--t);height:var(--t);border-radius:50%;opacity:0;
  background:radial-gradient(circle at 33% 30%,rgba(255,255,255,.95) 0 12%,rgba(255,255,255,.18) 34%,rgba(255,255,255,.05) 60%,rgba(255,255,255,.4) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
  animation:pil-sube var(--dur) linear var(--d) infinite,pil-mece 2.8s ease-in-out var(--d) infinite}
@keyframes pil-sube{0%{translate:0 0;opacity:0}12%{opacity:.85}80%{opacity:.6}100%{translate:0 calc(var(--alto)*-1);opacity:0}}
@keyframes pil-mece{0%,100%{transform:translateX(-5px)}50%{transform:translateX(5px)}}

/* andarivel: la soga cruza de lado a lado; las boyas flotan sobre ella */
#piletas .pil-andarivel{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none}
#piletas .pil-andarivel::before{content:"";position:absolute;left:calc(50% - 50vw);right:calc(50% - 50vw);top:27px;height:10px;border-radius:5px;
  background:radial-gradient(circle at 50% 50%,#fff 0 3.5px,transparent 4px) 0 50%/22px 10px repeat-x,
             linear-gradient(rgba(255,255,255,.6),rgba(255,255,255,.6)) 0 50%/100% 2px no-repeat}
#piletas .pil-andarivel li{position:relative;display:grid;justify-items:center;gap:9px;animation:pil-flota 4.5s ease-in-out calc(var(--i)*-1.5s) infinite}
#piletas .pil-boya{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fffdf8;color:#8a5a12;
  box-shadow:0 0 0 5px var(--oro),0 14px 24px -10px rgba(5,40,70,.55)}
#piletas .pil-boya svg{width:27px;height:27px}
#piletas .pil-dato{font-family:var(--font);font-weight:700;font-size:1.15rem;line-height:1.2;color:#fff;text-shadow:0 1px 8px rgba(5,40,70,.45)}
@keyframes pil-flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* fotos: en la compu, una franja cuya altura se ajusta a la ventana para que la sección entre entera */
#piletas .pil-fotos{--fh:clamp(190px,calc(100svh - 671px),320px);display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:18px;margin-top:24px}
#piletas .pil-foto{margin:0;height:var(--fh);border-radius:20px;overflow:hidden;box-shadow:0 30px 50px -28px rgba(3,30,55,.75)}
#piletas .pil-foto a{display:block;height:100%}
#piletas .pil-foto img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}
#piletas .pil-foto--salto img{object-position:50% 22%}
#piletas .pil-foto a:focus-visible{outline:3px solid var(--oro);outline-offset:-3px}
@media(hover:hover) and (pointer:fine){#piletas .pil-foto a:hover img{transform:scale(1.04)}}

#piletas .pil-cta{margin:22px 0 0;text-align:center}
body.inicio #piletas .pil-boton{border:1.5px solid #fff;background:rgba(255,255,255,.08);color:#fff;box-shadow:none}
body.inicio #piletas .pil-boton svg{color:#fff}
@media(hover:hover) and (pointer:fine){body.inicio #piletas .pil-boton:hover{background:#fff;color:#0d5a88}body.inicio #piletas .pil-boton:hover svg{color:#0d5a88}}
body.inicio #piletas .pil-boton:focus-visible{outline:2px solid var(--oro);outline-offset:3px}

/* pantallas bajas (compu de 768 px de alto): se achica el cielo para que las fotos sigan entrando */
@media(min-width:761px) and (max-height:820px){
 #piletas .pil-cielo{padding-top:28px}
 #piletas .pil-temporada{width:min(860px,100%)}
 body.inicio #piletas .orn-sol--verano{--s:76px}
 body.inicio #piletas .pil-cielo h2{margin-top:-48px;padding-bottom:22px;font-size:2.6rem}
 #piletas .pil-agua{padding-top:12px}
 #piletas .pil-boya{width:56px;height:56px}
 #piletas .pil-andarivel::before{top:23px}
 #piletas .pil-fotos{--fh:clamp(170px,calc(100svh - 590px),320px);margin-top:20px}
 #piletas .pil-cta{margin-top:18px}
}
@media(min-width:761px) and (max-width:1000px){body.inicio #piletas .orn-sol--verano{--s:84px}}

@media(max-width:760px){
 #piletas .pil-cielo{padding-top:36px}
 #piletas .pil-temporada{width:100%}
 body.inicio #piletas .orn-sol--verano{--s:62px}
 #piletas .pil-arco__meses text{font-size:36px;transform:translateY(4px)}
 #piletas .pil-arco__meses circle{r:9px}
 body.inicio #piletas .pil-cielo h2{margin-top:14px;max-width:none;padding-bottom:52px;font-size:2.2rem}
 #piletas .pil-agua{padding:20px 0 56px}
 #piletas .pil-burbujas{--alto:760px}
 #piletas .pil-ola{top:-28px;height:30px}
 #piletas .pil-ola--pie{top:auto;height:26px}
 #piletas .pil-andarivel::before{top:22px}
 #piletas .pil-boya{width:54px;height:54px;box-shadow:0 0 0 4px var(--oro),0 10px 18px -8px rgba(5,40,70,.55)}
 #piletas .pil-boya svg{width:24px;height:24px}
 #piletas .pil-dato{max-width:8em;font-size:.9rem;line-height:1.15;text-align:center;text-wrap:balance}
 #piletas .pil-fotos{grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}
 #piletas .pil-foto{height:auto;border-radius:16px;aspect-ratio:4/3}
 #piletas .pil-foto--grande{grid-column:1/-1;grid-row:1;aspect-ratio:16/10}
 body.inicio #piletas .pil-boton{width:100%;justify-content:center}
}

/* ---------- aparición (una vez, al entrar en pantalla; main.js le pone .is-in a cada .pil-escena) ----------
   Cielo: el arco se dibuja desde el centro, sube el sol, aparecen los meses y el título.
   Agua: se tiende la soga, caen las boyas, suben las fotos de a una y al final el botón. Solo con JS y sin "reducir movimiento". */
@media(prefers-reduced-motion:no-preference){
 html.js #piletas .pil-arco{clip-path:inset(0 50% 0 50%);transition:clip-path 1.2s var(--ease-out) .1s}
 html.js #piletas .pil-arco__meses>*{opacity:0;transition:opacity .5s ease .7s}
 html.js #piletas .pil-arco__meses>:nth-child(n+3){transition-delay:.85s}
 html.js #piletas .pil-arco__meses>:nth-child(n+5){transition-delay:1s}
 html.js #piletas .pil-arco__meses>:nth-child(n+7){transition-delay:1.15s}
 html.js #piletas .orn-sol--verano{opacity:0;transform:translate(-50%,-22%) scale(.82);transition:opacity .7s ease,transform 1.1s var(--ease-out)}
 html.js #piletas .pil-cielo h2,html.js #piletas .pil-cielo h2 span{opacity:0;transform:translateY(18px);transition:opacity .8s ease .3s,transform .9s var(--ease-out) .3s}
 html.js #piletas .pil-cielo h2 span{transition-delay:.45s}
 html.js #piletas .pil-cielo.is-in .pil-arco{clip-path:inset(0 0 0 0)}
 html.js #piletas .pil-cielo.is-in .pil-arco__meses>*{opacity:1}
 html.js #piletas .pil-cielo.is-in .orn-sol--verano{opacity:1;transform:translate(-50%,-50%)}
 html.js #piletas .pil-cielo.is-in h2,html.js #piletas .pil-cielo.is-in h2 span{opacity:1;transform:none}

 html.js #piletas .pil-andarivel::before{transform:scaleX(0);transition:transform 1.1s var(--ease-out) .15s}
 html.js #piletas .pil-boya{opacity:0;transform:translateY(-34px) scale(.86);transition:opacity .35s ease,transform .75s cubic-bezier(.34,1.56,.64,1)}
 html.js #piletas .pil-dato{opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .6s var(--ease-out)}
 html.js #piletas .pil-andarivel li:nth-child(1) :is(.pil-boya,.pil-dato){transition-delay:.35s}
 html.js #piletas .pil-andarivel li:nth-child(2) :is(.pil-boya,.pil-dato){transition-delay:.5s}
 html.js #piletas .pil-andarivel li:nth-child(3) :is(.pil-boya,.pil-dato){transition-delay:.65s}
 html.js #piletas .pil-foto{opacity:0;transform:translateY(34px) scale(.97);transition:opacity .7s ease,transform .9s var(--ease-out)}
 html.js #piletas .pil-foto--salto{transition-delay:.75s}
 html.js #piletas .pil-foto--grande{transition-delay:.85s}
 html.js #piletas .pil-foto--grupo{transition-delay:.95s}
 html.js #piletas .pil-cta{opacity:0;transform:translateY(12px);transition:opacity .6s ease 1.15s,transform .7s var(--ease-out) 1.15s}
 html.js #piletas .pil-agua.is-in .pil-andarivel::before{transform:none}
 html.js #piletas .pil-agua.is-in :is(.pil-boya,.pil-dato,.pil-foto,.pil-cta){opacity:1;transform:none}
}

@media(prefers-reduced-motion:reduce){
 body.inicio .orn-sol--verano::before,body.inicio .orn-sol--verano .sol-logo,body.inicio .orn-sol--verano .sol-aro,body.inicio .orn-sol--verano .sol-rayos__haz line,
 #piletas .pil-agua__luz::before,#piletas .pil-agua__luz::after,#piletas .pil-ola,#piletas .pil-andarivel li{animation:none}
 #piletas .pil-burbujas{display:none}
}

/* ===== Servicios del inicio: mosaico de seis fotos (ADR-030, 11/10/2026) =====
   Una foto real por servicio, de distinto tamaño (quinchos la más grande). Entran barriéndose desde abajo de a una;
   con el mouse, la foto se inclina hacia el puntero (main.js), se acerca, la sigue una luz dorada y aparece la flecha.
   Maqueta: lienzo/servicios/b-mosaico.html. */
/* en la compu entra en una pantalla debajo de la cabecera: el alto de las filas sale del alto de la ventana */
body.inicio #servicios.srv{padding:clamp(40px,6vh,72px) 0;color:#132019}
#servicios .container{position:relative;z-index:1}
#servicios .srv-cabeza{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:24px}
body.inicio #servicios .srv-cabeza h2{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,min(3.6vw,6vh),3.8rem);line-height:1.02;
  letter-spacing:-.015em;color:#132019;text-wrap:balance}
body.inicio #servicios .srv-cabeza h2 span{display:block;color:#a8701a}
#servicios .srv-cabeza .btn{flex:none}

#servicios .srv-grilla{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(116px,calc((100svh - 380px)/3),240px);gap:16px;margin:0;padding:0;list-style:none;perspective:1100px}
#servicios .srv-tile--0{grid-column:1/3;grid-row:1/3}
#servicios .srv-tile--1{grid-column:3/5;grid-row:1}
#servicios .srv-tile--2{grid-column:3;grid-row:2}
#servicios .srv-tile--3{grid-column:3;grid-row:3}
#servicios .srv-tile--4{grid-column:1/3;grid-row:3}
#servicios .srv-tile--5{grid-column:4;grid-row:2/4}

#servicios .srv-tile a{--rx:0deg;--ry:0deg;--mx:50%;--my:50%;position:relative;display:block;height:100%;border-radius:22px;overflow:hidden;text-decoration:none;color:#fff;
  background:#173222;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s var(--ease-out),box-shadow .4s ease;
  box-shadow:0 22px 40px -28px rgba(14,42,27,.7)}
#servicios .srv-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
#servicios .srv-tile--0 img{object-position:50% 60%}
#servicios .srv-tile--3 img{object-position:50% 80%}
#servicios .srv-tile--1 img{object-position:65% 60%}
#servicios .srv-tile--4 img{object-position:50% 22%}
#servicios .srv-velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,16,.30) 0%,rgba(8,26,16,0) 26%,rgba(8,26,16,.15) 45%,rgba(8,26,16,.86) 100%)}
#servicios .srv-brillo{position:absolute;inset:0;opacity:0;transition:opacity .4s ease;
  background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,226,140,.28),transparent 45%)}
#servicios .srv-ico{position:absolute;top:16px;left:16px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  background:rgba(14,42,27,.8);border:1.5px solid rgba(242,186,43,.85);color:var(--oro);transition:background-color .3s ease,color .3s ease,transform .4s var(--ease-out)}
#servicios .srv-ico svg{width:23px;height:23px}
#servicios .srv-txt{position:absolute;left:20px;right:20px;bottom:18px;display:grid;gap:3px;text-shadow:0 1px 12px rgba(8,26,16,.5)}
#servicios .srv-txt b{font-family:var(--font);font-weight:600;font-size:1.2rem;line-height:1.15}
#servicios .srv-tile--0 .srv-txt b{font-family:var(--serif);font-weight:500;font-size:2.2rem;line-height:1}
#servicios .srv-txt small{font-family:var(--font);font-size:.92rem;line-height:1.3;color:rgba(255,248,230,.88)}
#servicios .srv-flecha{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;
  background:var(--oro);color:#1b2a0a;opacity:0;transform:scale(.6) translateX(-6px);transition:opacity .3s ease,transform .45s cubic-bezier(.34,1.56,.64,1)}
#servicios .srv-flecha svg{width:18px;height:18px}
#servicios .srv-tile a:focus-visible{outline:3px solid var(--oro);outline-offset:3px}
@media(hover:hover) and (pointer:fine){
 #servicios .srv-tile a:hover{box-shadow:0 0 0 2px var(--oro),0 34px 50px -26px rgba(14,42,27,.75)}
 #servicios .srv-tile a:hover img{transform:scale(1.07)}
 #servicios .srv-tile a:hover .srv-brillo{opacity:1}
 #servicios .srv-tile a:hover .srv-ico{background:var(--oro);color:#1b2a0a;transform:rotate(-8deg) scale(1.06)}
 #servicios .srv-tile a:hover .srv-flecha{opacity:1;transform:none}
}
#servicios .srv-tile a:focus-visible .srv-flecha{opacity:1;transform:none}
/* compus bajas: las fotos chicas quedan en ~120 px; ícono y textos más compactos para que no se pisen */
@media(min-width:761px) and (max-height:740px){
 #servicios .srv-ico{top:11px;left:11px;width:36px;height:36px}
 #servicios .srv-ico svg{width:19px;height:19px}
 #servicios .srv-flecha{top:11px;right:11px;width:34px;height:34px}
 #servicios .srv-txt{left:16px;bottom:12px}
 #servicios .srv-txt b{font-size:1.05rem}
 #servicios .srv-txt small{font-size:.84rem}
}
/* en pantallas táctiles la flecha se ve siempre */
@media(hover:none){#servicios .srv-flecha{opacity:1;transform:none;width:34px;height:34px}}

/* aparición (main.js le pone .is-in a .srv-escena): cada foto entra barriéndose desde abajo y se aleja apenas */
@media(prefers-reduced-motion:no-preference){
 html.js #servicios .srv-cabeza{transition:opacity .8s ease,transform .9s var(--ease-out)}
 html.js #servicios:not(.is-in) .srv-cabeza{opacity:0;transform:translateY(18px)}
 html.js #servicios .srv-tile{clip-path:inset(0 round 22px);transition:clip-path 1s var(--ease-out) calc(.15s + var(--k)*.1s)}
 html.js #servicios:not(.is-in) .srv-tile{clip-path:inset(100% 0 0 0 round 22px)}
 html.js #servicios:not(.is-in) .srv-tile img{transform:scale(1.25)}
 html.js #servicios.is-in .srv-tile img{transition:transform 1.4s var(--ease-out) calc(.15s + var(--k)*.1s)}
 html.js #servicios.is-in .srv-tile a:hover img{transition-delay:0s;transition-duration:1s}
 html.js #servicios .srv-txt,html.js #servicios .srv-ico{transition:opacity .6s ease calc(.6s + var(--k)*.1s),transform .7s var(--ease-out) calc(.6s + var(--k)*.1s),background-color .3s ease,color .3s ease}
 html.js #servicios:not(.is-in) :is(.srv-txt,.srv-ico){opacity:0;transform:translateY(10px)}
 html.js #servicios.is-in .srv-tile a:hover .srv-ico{transition-delay:0s}
}

@media(max-width:760px){
 body.inicio #servicios.srv{padding:56px 0 64px}
 #servicios .srv-cabeza{flex-direction:column;align-items:stretch;gap:20px;margin-bottom:24px}
 #servicios .srv-cabeza .btn{justify-content:center}
 #servicios .srv-grilla{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:10px}
 #servicios .srv-tile--0{grid-column:1/3;grid-row:auto / span 2}
 #servicios .srv-tile--1,#servicios .srv-tile--2,#servicios .srv-tile--3,#servicios .srv-tile--5{grid-column:auto;grid-row:auto}
 #servicios .srv-tile--3{order:1}
 #servicios .srv-tile--4{grid-column:1/3;grid-row:auto;order:9}
 #servicios .srv-ico{top:10px;left:10px;width:38px;height:38px}
 #servicios .srv-ico svg{width:20px;height:20px}
 #servicios .srv-txt{left:12px;right:12px;bottom:11px}
 #servicios .srv-txt b{font-size:.98rem}
 #servicios .srv-tile--0 .srv-txt b{font-size:1.7rem}
 #servicios .srv-txt small{font-size:.78rem}
 #servicios .srv-flecha{right:10px;top:10px;width:30px;height:30px}
}

/* ===== Columna de secciones del inicio (11/10/2026) =====
   La misma de Campamentos, Instalaciones y Actividades (grupos.css, "mapa"): una columna de puntos fija en el borde derecho, centrada
   en altura. Cada punto es un disco oscuro con aro dorado; el de la sección actual lleva la huella y su nombre aparece un instante
   (main.js marca aria-current con el índice [data-indice]); en todos vuelve al pasar el puntero o enfocar con el teclado.
   Solo desde 1340 px, como en las otras páginas; debajo no se muestra (en el celular el inicio ya tiene su barra inferior y su hoja). */
body.inicio .mapa--inicio{display:none}
@media(min-width:1340px){
 body.inicio .mapa--inicio{--ease-fuerte:cubic-bezier(.23,1,.32,1);display:block;position:fixed;top:50%;right:clamp(8px,1vw,22px);z-index:30;width:auto;transform:translateY(-50%);color:#f3eadc}
 body.inicio .mapa--inicio>.container,body.inicio .mapa--inicio .mapa__caja{display:block;width:auto;max-width:none;margin:0;padding:0}
 body.inicio .mapa--inicio .mapa__pista{position:relative;display:flex;flex-direction:column;margin:0;padding:0;list-style:none;overflow:visible;background:none}
 body.inicio .mapa--inicio .mapa__pista li{flex:none}
 body.inicio .mapa--inicio .mapa__pista a{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;min-height:42px;padding:0;background:none;color:rgba(243,234,220,.78);
  font-size:.9rem;font-weight:500;white-space:nowrap;text-decoration:none;transition:color .2s ease}
 body.inicio .mapa--inicio .mapa__marca{position:relative;display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:#0a1f14;
  box-shadow:0 0 0 1.5px rgba(242,186,43,.6),0 5px 12px rgba(0,0,0,.35)}
 body.inicio .mapa--inicio .mapa__marca::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(242,186,43,.75);transition:transform .25s var(--ease-fuerte),opacity .2s ease}
 body.inicio .mapa--inicio .mapa__marca::after{content:"";position:absolute;inset:0;background:var(--oro);opacity:0;transform:scale(.6) rotate(-20deg);transition:transform .3s var(--ease-fuerte),opacity .2s ease;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='15.5' rx='4.6' ry='4'/%3E%3Cellipse cx='6.2' cy='10' rx='1.9' ry='2.4' transform='rotate(-18 6.2 10)'/%3E%3Cellipse cx='17.8' cy='10' rx='1.9' ry='2.4' transform='rotate(18 17.8 10)'/%3E%3Cellipse cx='9.3' cy='6.4' rx='1.8' ry='2.3' transform='rotate(-8 9.3 6.4)'/%3E%3Cellipse cx='14.7' cy='6.4' rx='1.8' ry='2.3' transform='rotate(8 14.7 6.4)'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='15.5' rx='4.6' ry='4'/%3E%3Cellipse cx='6.2' cy='10' rx='1.9' ry='2.4' transform='rotate(-18 6.2 10)'/%3E%3Cellipse cx='17.8' cy='10' rx='1.9' ry='2.4' transform='rotate(18 17.8 10)'/%3E%3Cellipse cx='9.3' cy='6.4' rx='1.8' ry='2.3' transform='rotate(-8 9.3 6.4)'/%3E%3Cellipse cx='14.7' cy='6.4' rx='1.8' ry='2.3' transform='rotate(8 14.7 6.4)'/%3E%3C/svg%3E") center/contain no-repeat}
 body.inicio .mapa--inicio .mapa__pista li:has(~ li a[aria-current]) .mapa__marca::before{background:rgba(242,186,43,.75)}
 body.inicio .mapa--inicio .mapa__pista a[aria-current]{color:var(--oro)}
 body.inicio .mapa--inicio .mapa__pista a[aria-current] .mapa__marca::before{opacity:0;transform:scale(.4)}
 body.inicio .mapa--inicio .mapa__pista a[aria-current] .mapa__marca::after{opacity:1;transform:rotate(10deg)}
 body.inicio .mapa--inicio .mapa__txt{position:absolute;right:calc(100% + 6px);top:50%;transform:translate(6px,-50%);padding:6px 14px;border:1px solid rgba(242,186,43,.35);border-radius:999px;
  background:#0a1f14;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .25s var(--ease-fuerte)}
 body.inicio .mapa--inicio .mapa__pista a:focus-visible{outline:none}
 body.inicio .mapa--inicio .mapa__pista a:focus-visible .mapa__marca{box-shadow:0 0 0 2px var(--oro),0 5px 12px rgba(0,0,0,.35)}
 body.inicio .mapa--inicio .mapa__pista a:focus-visible .mapa__txt{opacity:1;transform:translate(0,-50%)}
 body.inicio .mapa--inicio a:active{opacity:.7}
 @media(hover:hover) and (pointer:fine){body.inicio .mapa--inicio .mapa__pista a:hover{color:#fff7ea}body.inicio .mapa--inicio .mapa__pista a:hover .mapa__txt{opacity:1;transform:translate(0,-50%)}}
 /* al llegar a una sección, su nombre aparece, se queda 1 segundo y se cierra solo; vuelve al pasar el puntero o enfocar */
 body.inicio .mapa--inicio .mapa__pista a[aria-current] .mapa__txt{animation:mapa-aviso 1.5s ease both}
 @keyframes mapa-aviso{0%{opacity:0;transform:translate(6px,-50%)}17%,83%{opacity:1;transform:translate(0,-50%)}100%{opacity:0;transform:translate(0,-50%)}}
}
/* Servicios y Piletas ya no tienen el relleno de las demás secciones: al saltar desde la columna su borde superior queda justo debajo de la cabecera (donde se midió que entran en una pantalla) */
body.inicio main>#servicios.section,body.inicio main>#piletas.section{scroll-margin-top:calc(92px - var(--anchor-offset))}
@media(min-width:1340px) and (prefers-reduced-motion:reduce){body.inicio .mapa--inicio .mapa__pista a[aria-current] .mapa__txt{animation:none}}

/* Recarga o Atrás/Adelante (ADR-032): el <head> marca html.sin-aparicion un instante (1,6 s) para que lo que ya está a la vista aparezca armado
   en lugar de repetir la entrada animada (revelados, mosaico de Servicios, arco y boyas de Piletas). Solo apaga transiciones: las animaciones
   continuas (sol, burbujas, agua) siguen. Pasado ese instante todo vuelve a animarse al llegar a cada sección. */
html.sin-aparicion *,html.sin-aparicion *::before,html.sin-aparicion *::after{transition:none !important}

/* ===== Quiénes somos del inicio: toda la sección en una pantalla en la compu (ADR-033, 11/10/2026) =====
   Mismo contenido y mismo diseño: se achican el relleno de arriba y abajo, las fotos (su alto sale del alto de la ventana: --qs-h) y la
   distancia hasta la fila de datos, para que el texto, las tres fotos y los cinco datos se vean juntos debajo de la cabecera.
   Medido con la sección justo debajo de la cabecera fija (como Servicios y Piletas). Desde 1101 px, donde hay dos columnas. */
@media(min-width:1101px){
 body.inicio main>#quienes-somos.qs{--qs-h:clamp(290px,calc(100svh - 92px - 300px),560px);padding:clamp(22px,4.2vh,50px) 0 clamp(20px,3.6vh,40px);scroll-margin-top:calc(92px - var(--anchor-offset))}
 body.inicio .qs__eyebrow{margin-bottom:clamp(10px,1.8vh,18px)}
 body.inicio .qs__title{margin-bottom:clamp(10px,1.6vh,16px)}
 body.inicio .qs__rule{margin-bottom:clamp(12px,2vh,20px)}
 body.inicio .qs__copy>p{margin-bottom:clamp(10px,1.6vh,16px)}
 body.inicio .qs__quote{margin:clamp(10px,2vh,20px) 0 0}
 body.inicio .qs__photos{height:var(--qs-h);grid-template-rows:minmax(0,1fr) minmax(0,.62fr);gap:clamp(12px,2vh,20px);padding:clamp(10px,1.8vh,18px) 22px clamp(4px,1vh,8px) 0}
 body.inicio .qs__photo--grande,body.inicio .qs__photo--chica,body.inicio .qs__photo--ancha{aspect-ratio:auto;height:100%;min-height:0}
 body.inicio .qs__photo--chica{margin-top:0;align-self:stretch}
 body.inicio .qs__photo--ancha{margin-right:0}
 body.inicio .qs__photo a{display:block;height:100%}
 body.inicio .qs__photo--grande img{object-position:50% 38%}
 body.inicio .qs__datos{margin-top:clamp(16px,3vh,32px)}
 body.inicio .qs__dato{padding:clamp(10px,1.8vh,18px) 12px clamp(9px,1.6vh,16px) 20px}
 body.inicio .qs__dato i{width:clamp(42px,5.6vh,58px);height:clamp(42px,5.6vh,58px)}
 body.inicio .qs__dato i svg{width:clamp(20px,2.6vh,26px);height:clamp(20px,2.6vh,26px)}
 body.inicio .qs__dato b{font-size:clamp(2rem,2.4vw,2.7rem)}
}
@media(min-width:1501px){body.inicio .qs__photo--ancha{margin-right:-26px}}
/* compus bajas (≤ 740 px de alto, p. ej. 1366×657 con la barra del navegador): se compactan el texto, la cita y la fila de datos */
@media(min-width:1101px) and (max-height:740px){
 body.inicio main>#quienes-somos.qs{--qs-h:clamp(260px,calc(100svh - 92px - 262px),560px);padding:14px 0 12px}
 body.inicio .qs__eyebrow{margin-bottom:8px}
 body.inicio .qs__title{font-size:clamp(1.9rem,2.3vw,2.35rem);margin-bottom:8px}
 body.inicio .qs__rule{margin-bottom:10px}
 body.inicio .qs__copy>p{margin-bottom:8px;font-size:.96rem;line-height:1.55}
 body.inicio .qs__quote{margin-top:8px;grid-template-columns:44px 1fr;gap:14px;padding:10px 20px}
 body.inicio .qs__quote svg{width:44px;height:44px}
 body.inicio .qs__quote p{font-size:1.1rem}
 body.inicio .qs__datos{margin-top:12px}
 body.inicio .qs__dato{padding:8px 10px 8px 16px}
 body.inicio .qs__dato i{width:40px;height:40px}
 body.inicio .qs__dato b{font-size:1.9rem}
}

/* ===== Encuadre de las secciones del inicio (ADR-034, 11/10/2026) =====
   Pedido del dueño: al elegir una sección (columna de puntos, menú, enlaces) tiene que quedar ENCUADRADA, sin franjas de la anterior
   ni de la siguiente, y adaptarse al zoom del navegador. Desde 1101 px de ancho (dos columnas):
   - cada sección mide al menos una pantalla (100svh) y su contenido queda centrado debajo de la cabecera fija (que flota encima);
   - al saltar a una sección, su borde superior queda arriba de todo (scroll-margin compensa el scroll-padding general);
   - lo que más ocupa (fotos, collage, mosaicos, mapa, foto del corazón) toma su alto del alto de la ventana, así con zoom (que achica
     la ventana en px CSS) todo se reacomoda en vez de cortarse.
   --cab = lugar que ocupa la cabecera; --aire-a / --aire-b = respiro arriba (debajo de la cabecera) y abajo. */
@media(min-width:1101px){
 body.inicio{--cab:92px;--aire-a:clamp(10px,2.4vh,34px);--aire-b:clamp(14px,3vh,38px)}
 body.inicio main>.section[id]{min-height:100svh;display:grid;align-content:center;padding-top:calc(var(--cab) + var(--aire-a));padding-bottom:var(--aire-b);
  scroll-margin-top:calc(0px - var(--anchor-offset))}
 body.inicio main>.section[id]>.container{min-width:0}

 /* Quiénes somos (ADR-033): mismo cálculo de fotos, ahora con la sección arriba de todo */
 body.inicio main>#quienes-somos.qs{padding-top:calc(var(--cab) + var(--aire-a));padding-bottom:var(--aire-b);scroll-margin-top:calc(0px - var(--anchor-offset))}
 /* Servicios (ADR-030) */
 body.inicio main>#servicios.srv{padding-top:calc(var(--cab) + var(--aire-a));padding-bottom:var(--aire-b);scroll-margin-top:calc(0px - var(--anchor-offset))}
 /* Piletas (ADR-029): el cielo arranca debajo de la cabecera y el agua se estira hasta el borde de abajo */
 body.inicio main>#piletas.pil{display:flex;flex-direction:column;padding:0;scroll-margin-top:calc(0px - var(--anchor-offset))}
 body.inicio main>#piletas .pil-cielo{padding-top:calc(var(--cab) + var(--aire-a) - 14px)}
 body.inicio main>#piletas .pil-agua{flex:1;display:grid;align-content:center}

 /* Qué podés organizar: el collage toma el alto disponible */
 body.inicio #organizar .organizar__collage{height:clamp(280px,calc(100svh - var(--cab) - 205px),640px);margin-block:12px 26px}

 /* Quinchos: las dos filas del mosaico salen del alto disponible */
 body.inicio #quinchos .capacidad__cabecera{margin-bottom:clamp(14px,2.6vh,36px)}
 body.inicio #quinchos .capacidad{grid-template-rows:repeat(2,clamp(140px,calc((100svh - var(--cab) - 240px)/2),260px))}

 /* Actividades: tres filas del mosaico según el alto; menos aire entre título, mosaico y botón */
 body.inicio #actividades .bento{grid-auto-rows:clamp(84px,calc((100svh - var(--cab) - 372px)/3),200px)}
 body.inicio #actividades .mt{margin-top:clamp(14px,2.6vh,30px)}

 /* Cómo llegar: el mapa no pasa del alto disponible */
 body.inicio #como-llegar .map{min-height:clamp(300px,calc(100svh - var(--cab) - 190px),540px)}

 /* Experiencias: la foto del corazón se achica según el alto; las reseñas, más compactas */
 body.inicio #resenas .media-frame--wide{aspect-ratio:auto;height:clamp(110px,calc(100svh - var(--cab) - 560px),360px)}
 body.inicio #resenas .mt{margin-top:clamp(14px,2.4vh,30px)}
 body.inicio #resenas .section .review,body.inicio #resenas .review{padding:clamp(16px,2.4vh,28px) clamp(18px,1.8vw,28px) clamp(14px,2vh,24px)}
}
/* pantallas bajas (zoom 125 % o más, o compus de 768 px o menos): reseñas y títulos un poco más compactos */
@media(min-width:1101px) and (max-height:780px){
 body.inicio #resenas .review p{font-size:.9rem;line-height:1.5}
 body.inicio #resenas .review{gap:8px}
 body.inicio #actividades .center .lead,body.inicio #resenas .reviews-hint{margin-top:6px}
}
/* pantallas muy bajas (≤ 700 px de alto: zoom 150 %, 1366×657 con barra): Piletas, Organizar, Quiénes somos y Experiencias se compactan más */
@media(min-width:1101px) and (max-height:700px){
 body.inicio #piletas .pil-temporada{width:min(600px,100%)}
 body.inicio #piletas .orn-sol--verano{--s:62px}
 body.inicio #piletas .pil-cielo h2{margin-top:-30px;padding-bottom:46px;font-size:2.1rem}
 body.inicio #piletas .pil-agua{padding:8px 0 40px}
 body.inicio #piletas .pil-boya{width:46px;height:46px}
 body.inicio #piletas .pil-boya svg{width:21px;height:21px}
 body.inicio #piletas .pil-andarivel::before{top:18px}
 body.inicio #piletas .pil-dato{font-size:.95rem}
 body.inicio #piletas .pil-fotos{--fh:clamp(110px,calc(100svh - 540px),320px);margin-top:14px}
 body.inicio #piletas .pil-cta{margin-top:12px}
 body.inicio main>#quienes-somos.qs{--qs-h:clamp(220px,calc(100svh - 92px - 262px),560px)}
 body.inicio #organizar .chips span{padding:6px 12px;font-size:.8rem}
 body.inicio #organizar .lead{margin-bottom:8px}
 body.inicio #resenas .review p{font-size:.86rem;line-height:1.45}
 body.inicio #resenas h2{font-size:2.3rem}
 body.inicio #resenas .media-frame--wide{height:clamp(90px,calc(100svh - var(--cab) - 560px),360px)}
 body.inicio #resenas .media-frame--wide img{object-position:50% 45%}
 body.inicio #actividades h2{font-size:2.3rem}
 body.inicio #actividades .center .lead{margin:4px 0 0}
}
/* pantallas bajas (≤ 820 px de alto): fotos de Piletas y texto de Organizar más compactos */
@media(min-width:1101px) and (max-height:820px){
 body.inicio #piletas .pil-fotos{--fh:clamp(110px,calc(100svh - 604px),320px)}
 body.inicio #organizar h2{font-size:clamp(2.2rem,3vw,2.9rem)}
 body.inicio #organizar .mt{margin-top:18px}
 body.inicio #organizar .chips{gap:8px}
}
@media(min-width:1101px) and (max-height:660px){
 body.inicio .qs__title{font-size:1.75rem}
 body.inicio #organizar .chips span{padding:5px 10px;font-size:.76rem}
 body.inicio #organizar h2{font-size:2.1rem}
 body.inicio{--aire-a:8px;--aire-b:10px}
 body.inicio #actividades .mt{margin-top:10px}
 body.inicio #actividades .eyebrow{margin-bottom:6px}
 body.inicio #resenas .mt{margin-top:10px}
 body.inicio #resenas .review{padding:12px 16px 10px;gap:6px}
 body.inicio #resenas .review .stars{font-size:.9rem}
 body.inicio #resenas .review .avatar{width:32px;height:32px;font-size:.95rem}
 body.inicio #resenas .review footer{padding-top:2px}
 body.inicio #resenas .rating-badge{margin-block:6px}
}

/* ===== Sin número de WhatsApp escrito (ADR-039): botones que abren el selector "grupo o visita particular" ===== */
.footer .pie-wa,.tile .tile__wa{display:inline-flex;align-items:center;gap:8px;margin:0;border-radius:999px;background:#25d366;color:#fff;font-weight:600;line-height:1.2;box-shadow:0 10px 22px -12px rgba(37,211,102,.8)}
.footer .pie-wa{padding:10px 18px}
.tile .tile__wa{margin-top:6px;padding:9px 16px;font-size:.95rem}
.footer .pie-wa svg,.tile .tile__wa svg,body.inicio .tile .tile__wa svg{width:18px;height:18px;flex:none;color:#fff}
.footer .pie-wa:hover,.tile .tile__wa:hover,body.inicio .footer .pie-wa:hover{color:#fff}
.footer .pie-wa:active,.tile .tile__wa:active{opacity:1;transform:scale(.97)}
.footer__bottom a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* ===== Privacidad (ADR-039): texto corto y legible, enlazada solo desde el pie ===== */
.legal{max-width:760px}
.legal h2{font-size:clamp(1.6rem,2.6vw,2rem);margin:40px 0 12px}
.legal p{margin:0 0 14px;max-width:68ch;line-height:1.65}
.legal a{text-decoration:underline;text-underline-offset:3px}
.legal .legal__fecha{margin-top:32px;font-size:.9rem;opacity:.75}
