:root{--cream:#f7f2e9;--ink:#12342b;--orange:#C11F7B;--sand:#ded0b8;--white:#fffaf0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%}.kicker{font-size:.75rem;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;font-weight:650;margin:0 0 1.4rem}.brand{display:flex;flex-direction:column;width:max-content;font-size:1rem;line-height:.84;letter-spacing:.16em;font-weight:700}.brand span:last-child{margin-left:.8rem}
.hero{position:relative;min-height:100svh;overflow:hidden;color:var(--white);display:flex;flex-direction:column;background:#173d32}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.015)}..hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgb(0 0 0 / 50%), rgba(6, 31, 24, .04) 38%, rgb(0 0 0 / 61%));
}.hero-header{position:relative;z-index:2;display:flex;justify-content:center;padding:clamp(1.25rem,3vw,2.5rem) 1.25rem}.hero-logo{display:block;width:clamp(11rem,20vw,17rem)}.hero-logo img{height:auto;filter:brightness(0) invert(1)}
.units{display:grid;grid-template-columns:1fr 1fr;min-height:100svh}.unit{position:relative;min-height:100svh;background-position:center;background-size:cover;color:var(--white);display:flex;flex-direction:column;padding:2rem 3vw}.sunrise{background-image:linear-gradient(rgba(13,38,31,.12),rgba(13,38,31,.45)),url('../img/sunrise.jpg')}.sunset{background-image:linear-gradient(rgba(13,38,31,.12),rgba(13,38,31,.5)),url('../img/sunset.jpg')}.unit:first-child{border-right:1px solid rgba(255,255,255,.5)}.unit-top{display:flex;justify-content:space-between;font-size:.74rem;letter-spacing:.15em}.unit-center{margin:auto;text-align:center}.unit-center>p{font:italic 1.25rem Georgia;margin:0 0 .4rem}.unit h2{margin:0 0 2rem;font:400 clamp(4rem,7vw,7rem)/1 Georgia,serif;letter-spacing:-.05em}.unit-center button{display:inline-flex;align-items:center;gap:1rem;border:1px solid rgba(255,255,255,.72);border-radius:100px;background:rgba(12,40,32,.12);backdrop-filter:blur(5px);color:inherit;padding:1rem 1.4rem;font-size:.75rem;letter-spacing:.13em;transition:.25s}.unit-center button:hover{background:var(--white);color:var(--ink)}
.services{padding:9rem 6vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.services-title h2,.location h2,.slow-panel h2,.drawer-copy h2{font:400 clamp(4rem,7vw,7rem)/.86 Georgia,serif;letter-spacing:-.055em;margin:0}.services-title h2 em,.location h2 em{font-weight:400;color:var(--orange)}.services-title>p:last-child{font-size:1.1rem;line-height:1.65;max-width:23rem;margin-top:2.5rem}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(18,52,43,.25)}.service-grid>div{position:relative;padding:2.3rem 2rem 3.5rem 0;border-bottom:1px solid rgba(18,52,43,.25);min-height:15rem}.service-grid>div:nth-child(odd){border-right:1px solid rgba(18,52,43,.25)}.service-grid>div:nth-child(even){padding-left:2.2rem}.service-grid b{font:400 1.8rem Georgia}.service-grid span{position:absolute;right:1.2rem;top:2.4rem;font-size:.75rem}.service-grid h3{font:400 2rem Georgia;margin:3rem 0 .6rem}.service-grid p{margin:0;color:#496059;font-size:1rem;line-height:1.5}
.location{display:grid;grid-template-columns:1.1fr .9fr;min-height:52rem;background:var(--sand)}.location-image{background:linear-gradient(rgba(14,47,38,.05),rgba(14,47,38,.28)),url('../img/ubicacion.jpg') center/cover;position:relative}.location-image span{position:absolute;left:1.5rem;bottom:1.5rem;color:#fff;font-size:.75rem;letter-spacing:.14em}.location-copy{display:flex;flex-direction:column;justify-content:center;padding:7vw 6vw}.location-copy>p:not(.kicker){font-size:1.12rem;line-height:1.7;margin:2.8rem 0}.location-fact{display:flex;gap:1rem;align-items:center;border-top:1px solid rgba(18,52,43,.25);padding:1.4rem 0}.location-fact>b{font-size:1.8rem}.location-fact span{display:flex;flex-direction:column;gap:.25rem}.location-fact strong{font:400 1.2rem Georgia}.location-fact small{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.location-copy>a{align-self:flex-start;border-bottom:1px solid;padding:.8rem 0;font-size:.78rem;letter-spacing:.13em;margin-top:1rem}
.slow-scroll{min-height:145vh;background:url('../img/bosque.jpg') center/cover fixed;display:flex;align-items:center;justify-content:center;color:var(--white);position:relative}.slow-scroll:after{content:"";position:absolute;inset:0;background:rgba(5,31,24,.4)}.slow-panel{position:sticky;top:18vh;z-index:1;text-align:center;padding:5rem 2rem}.slow-panel>p{font:italic 1.35rem Georgia}.slow-panel h2{font-size:clamp(4.5rem,9vw,9rem);margin:1rem 0 3rem}.slow-panel h2 em{font-weight:400;color:#e8d4b5}.slow-panel>span{font-size:.75rem;letter-spacing:.2em}.social{text-align:center;padding:8rem 1.5rem;background:var(--orange);color:var(--white)}.social h2{font:400 clamp(3.5rem,8vw,8rem) Georgia;margin:1.2rem 0 2.5rem;letter-spacing:-.05em}.social a{display:inline-flex;border-bottom:1px solid;padding:.7rem 0;font-size:.78rem;letter-spacing:.14em}footer{display:grid;grid-template-columns:1.2fr 1fr 1.4fr auto;gap:3rem;padding:4.5rem 6vw;background:#0d2c24;color:var(--cream);align-items:start}footer nav,footer>div{display:flex;flex-direction:column;gap:.75rem;font-size:.9rem}footer small{font-size:.72rem;letter-spacing:.12em;opacity:.55}
.menu-overlay,.tiny-drawer{position:fixed;z-index:30;top:0;right:0;height:100%;transform:translateX(105%);transition:transform .5s cubic-bezier(.76,0,.24,1);overflow:auto}.menu-overlay.open,.tiny-drawer.open{transform:none}.menu-overlay{width:min(100%,40rem);background:var(--orange);color:var(--white);padding:2rem 3rem;display:flex;flex-direction:column}.overlay-top{display:flex;justify-content:space-between}.overlay-top>button,.drawer-image>button{border:0;background:none;color:inherit;font-size:2.2rem}.menu-overlay nav{margin:auto 0;display:flex;flex-direction:column}.menu-overlay nav a{display:grid;grid-template-columns:3rem 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.35);padding:1.4rem 0;font:400 clamp(2.3rem,5vw,4rem) Georgia}.menu-overlay nav a span{font:.75rem Arial;letter-spacing:.1em}.overlay-cta{border:1px solid rgba(255,255,255,.6);border-radius:100px;padding:1rem;text-align:center;font-size:.75rem;letter-spacing:.12em}.scrim{display:none;position:fixed;z-index:25;inset:0;border:0;background:rgba(7,28,22,.5)}.scrim.show{display:block}.tiny-drawer{width:min(100%,43rem);background:var(--cream)}.drawer-image{height:43%;position:relative}.drawer-image img{height:100%;object-fit:cover}.drawer-image>button{position:absolute;top:1.2rem;right:1.2rem;width:2.8rem;height:2.8rem;border-radius:50%;background:var(--cream);color:var(--ink);display:grid;place-items:center}.drawer-copy{padding:2.4rem 3.2rem 4rem}.drawer-copy h2{font-size:5rem;color:var(--orange)}.drawer-copy h3{font:400 1.5rem Georgia;margin:.7rem 0 1.3rem}.drawer-copy>p:not(.kicker){font-size:1rem;line-height:1.65}.drawer-copy ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:2rem 0}.drawer-copy li{font-size:.9rem}.drawer-copy>a{display:flex;align-items:center;justify-content:center;background:var(--orange);color:#fff;border-radius:100px;padding:1.1rem;font-size:.75rem;letter-spacing:.12em}
.whatsapp-wrap{position:fixed;z-index:40;right:1.5rem;bottom:1.5rem;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.whatsapp-button{width:3.8rem;height:3.8rem;border:0;border-radius:50%;background:#C11F7B;color:#fff;display:grid;place-items:center;box-shadow:0 .7rem 2.2rem rgba(7,35,26,.28)}.whatsapp-button svg{width:2rem}.hello-bubble{display:none;border:0;background:#fff;color:var(--ink);border-radius:1rem 1rem .2rem 1rem;padding:.8rem 1rem;text-align:left;box-shadow:0 .7rem 2rem rgba(7,35,26,.18);font-weight:700}.hello-bubble.show{display:block;animation:hello-in .45s ease both}.hello-bubble span{display:block;font-size:.75rem;font-weight:400;margin-top:.15rem}.whatsapp-card{display:none;width:min(21rem,calc(100vw - 2rem));background:#fff;border-radius:1.2rem;box-shadow:0 1rem 3rem rgba(7,35,26,.25);padding:1.25rem;position:relative}.whatsapp-card.show{display:block}.whatsapp-card>button{position:absolute;right:.8rem;top:.6rem;border:0;background:none;font-size:1.6rem}.whatsapp-card b{font:400 1.2rem Georgia}.whatsapp-card p{font-size:.9rem;line-height:1.5}.whatsapp-card>a{display:block;background:#C11F7B;color:#fff;border-radius:100px;text-align:center;padding:.85rem;font-size:.72rem;letter-spacing:.1em}@keyframes hello-in{from{opacity:0;transform:translateY(.7rem) scale(.92)}to{opacity:1;transform:none}}
@media(max-width:760px){.brand{font-size:.88rem}.units{grid-template-columns:1fr}.unit{min-height:88svh;padding:1.4rem 1.2rem}.unit:first-child{border-right:0;border-bottom:1px solid #fff}.unit h2{font-size:4.4rem}.services{padding:6rem 1.25rem;grid-template-columns:1fr;gap:4rem}.services-title h2,.location h2{font-size:4rem}.service-grid>div{padding:1.6rem 1rem 2.2rem 0;min-height:13rem}.service-grid>div:nth-child(even){padding-left:1rem}.service-grid h3{font-size:1.6rem;margin-top:2.5rem}.location{grid-template-columns:1fr;min-height:auto}.location-image{height:100vw}.location-copy{padding:6rem 1.25rem}.slow-scroll{min-height:120vh;background-attachment:scroll}.slow-panel h2{font-size:4.3rem}.social{padding:6rem 1.25rem}.social h2{font-size:3.5rem}footer{grid-template-columns:1fr 1fr;padding:4rem 1.25rem;gap:2.5rem 1rem}footer .brand,footer small{grid-column:1/-1}.menu-overlay{padding:1.5rem 1.2rem}.drawer-image{height:38%}.drawer-copy{padding:2rem 1.25rem 3rem}.drawer-copy h2{font-size:4rem}.drawer-copy ul{grid-template-columns:1fr}.whatsapp-wrap{right:1rem;bottom:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero video{display:none}.hero{background:url('../hero/poster.jpg') center/cover}.menu-overlay,.tiny-drawer{transition:none}.hello-bubble.show{animation:none}}

/* Logo central que pasa a la cabecera al desplazarse. */
.hero-header{position:fixed;inset:0 0 auto;z-index:20;height:100svh;padding:0;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:height .45s ease}
.hero-header::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.92),transparent);opacity:0;transition:opacity .35s ease}
.hero-logo{position:relative;width:clamp(15rem,27vw,25rem);pointer-events:auto;transition:width .45s ease}
.hero-header.is-scrolled{height:8rem}
.hero-header.is-scrolled::before{opacity:1}
.hero-header.is-scrolled .hero-logo{width:7rem}
.hero-title{position:absolute;left:5vw;bottom:6rem;margin:0;font:400 clamp(3rem,6.5vw,6.8rem)/.95 Georgia,serif;letter-spacing:-.045em}
.pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.7);border-radius:100px;padding:1rem 1.4rem;font-size:.75rem;letter-spacing:.13em;color:#fff;transition:background .2s}
.pill:hover{background:#C11F7B}
.hero-cta{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);white-space:nowrap}
.services{grid-template-columns:1fr;gap:4rem}.services-title h2{font-size:clamp(3rem,6vw,6rem)}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid h3{line-height:1.1}.service-grid b,.service-grid>div>span,.location-fact>b{color:#C11F7B}
.location-map{min-height:34rem}.location-map iframe{display:block;width:100%;height:100%;min-height:34rem;border:0}
.social-links{display:flex;justify-content:center;gap:2rem}
.brand{width:9rem}.brand img{height:auto;filter:brightness(0) invert(1)}
.chat-logo{width:7rem;height:auto}
footer{background:#000;grid-template-columns:1fr 1fr 1.4fr}
.footer-credit{background:#000;color:#fff;text-align:center;padding:1.3rem 1rem;font-size:.8rem;border-top:1px solid #222}
.footer-credit a:hover{color:#C11F7B}
@media(max-width:760px){.hero-title{left:1.25rem;bottom:7rem;font-size:clamp(2.8rem,11vw,4rem)}.hero-logo{width:15rem}.hero-header.is-scrolled{height:6.5rem}.hero-header.is-scrolled .hero-logo{width:5.5rem}.hero-cta{bottom:2rem}.service-grid{grid-template-columns:1fr}.service-grid>div:nth-child(odd){border-right:0}.service-grid>div:nth-child(even){padding-left:0}.location-map,.location-map iframe{min-height:25rem}footer{grid-template-columns:1fr 1fr}footer>div{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.hero-header,.hero-header::before,.hero-logo{transition:none}}

/* Inicio y cabecera: espacio propio para el logo y el texto de la referencia. */
.hero{min-height:100svh}
.hero-header{height:17rem}
.hero-logo{width:17rem}
.hero-header::before{background:linear-gradient(180deg,rgba(0,0,0,.8),transparent)}
.hero-header.is-scrolled{height:11rem}
.hero-header.is-scrolled .hero-logo{width:10rem}
.hero-copy{position:relative;z-index:1;margin:auto 5.5vw 4rem;padding-top:18rem}
.hero-copy .kicker{font-size:clamp(.75rem,1.25vw,1.2rem);letter-spacing:.18em;margin-bottom:2rem}
.hero-copy h1{font:400 clamp(3.2rem,5.2vw,7rem)/.88 Georgia,serif;letter-spacing:-.055em;margin:0}
.hero-copy h1 em{font-weight:400;color:#C11F7B}
.hero-description{font-size:clamp(1.05rem,2vw,1.8rem);line-height:1.55;margin:2.5rem 0 2rem}
.hero-copy .pill{gap:.8rem;padding:1.2rem 1.8rem;font-size:clamp(.75rem,1.2vw,1rem)}
.services{background:#f1f1f1}
.service-icon{font-size:4.5rem;color:#C11F7B;display:inline-block;line-height:1.2}
.service-grid h3{margin-top:2rem}
.social{background:#fff;color:var(--ink)}
.social-links{gap:clamp(3rem,10vw,9rem)}
.social-links a{border:0;display:flex;flex-direction:column;align-items:center;gap:1.4rem;color:#C11F7B}
.social-links .fa-brands{font-size:5.5rem}
.location{display:block;position:relative;min-height:0;background:#f1f1f1;padding-top:4rem;isolation:isolate}
.location-copy{position:relative;z-index:2;width:min(48rem,calc(100% - 3rem));margin:0 auto -3rem;background:#fff;padding:clamp(2.5rem,5vw,5rem);text-align:center;box-shadow:0 1rem 3rem #0000000d}
.location-copy h2{font-size:clamp(3rem,5vw,5rem)}
address{font-style:normal;line-height:1.8}
.location-copy address{margin-top:2rem;font-size:1.1rem}
.location-map{width:100%;height:40rem;min-height:0;z-index:1}
.tiny-map-marker{background:#fff;border:3px solid #C11F7B;border-radius:50%;padding:5px;box-shadow:0 4px 16px #0003}
.tiny-map-marker::after{content:"";position:absolute;left:calc(50% - 9px);bottom:-13px;border-left:9px solid transparent;border-right:9px solid transparent;border-top:12px solid #C11F7B}
.tiny-map-marker img{height:100%;object-fit:contain}
.leaflet-control-zoom{margin-top:4rem!important}
footer{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.75rem;background:#000;padding:4rem 1.25rem}
footer .brand{width:12rem}
footer address{font-size:1rem}
.footer-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;flex-wrap:wrap}
.footer-whatsapp i{font-size:2rem;color:#C11F7B}
.footer-credit{background:#fff;color:#222;border:0}
.whatsapp-button i{font-size:2rem}.drawer-copy li i{color:#C11F7B;margin-right:.4rem}
@media(max-width:760px){.hero-header{height:13rem}.hero-logo{width:13rem}.hero-header.is-scrolled{height:5rem}.hero-header.is-scrolled .hero-logo{width:8rem}.hero-copy{margin:auto 1.25rem 3rem;padding-top:14rem}.hero-copy h1{font-size:clamp(2.5rem,9vw,4rem);line-height:.95}.hero-copy .kicker{font-size:.66rem;margin-bottom:1.5rem}.hero-description{margin:1.8rem 0;max-width:30rem}.desktop-break{display:none}.service-icon{font-size:4rem}.social-links .fa-brands{font-size:4.5rem}.social h2{font-size:clamp(2rem,9vw,3.5rem)}.location-copy{width:calc(100% - 2.5rem)}.location-map{height:34rem}.location-copy address{font-size:1rem}.services-title h2{font-size:clamp(2.6rem,10vw,4rem)}}

/* Galería deslizable: navegación táctil, teclado y botones. */
.drawer-image{height:clamp(17rem,43svh,30rem);background:#111}
.gallery-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-slide{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start;scroll-snap-stop:always}
.gallery-slide img{width:100%;height:100%;object-fit:contain}
.gallery-controls{position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:1rem;padding:.4rem;border-radius:3rem;background:rgba(0,0,0,.65);color:#fff}
.gallery-controls button{width:2.75rem;height:2.75rem;border:0;border-radius:50%;background:#C11F7B;color:#fff;display:grid;place-items:center}
.gallery-count{font-size:.85rem;min-width:3.5rem;text-align:center;font-variant-numeric:tabular-nums}
.gallery-track:focus-visible{outline:3px solid #C11F7B;outline-offset:-3px}
.drawer-image>.close-drawer{z-index:2}
