:root{
  --cream:#f6f0e6;--paper:#fffdf8;--sand:#e7ddcf;--ink:#29241f;--muted:#746c63;
  --wine:#8f1d2c;--wine-dark:#6f1521;--stone:#c8b7a2;--dark:#231f1b;
  --radius:18px;--shadow:0 18px 55px rgba(35,31,27,.12);
  --container:min(1280px,calc(100% - 96px));--narrow:min(1120px,calc(100% - 96px));
  --s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2rem;--s5:3rem;--s6:4rem;--s7:6rem;--s8:8rem;
  --fs-xs:clamp(.76rem,.74rem + .08vw,.82rem);--fs-sm:clamp(.88rem,.84rem + .12vw,.96rem);
  --fs-base:clamp(1rem,.96rem + .15vw,1.08rem);--fs-lg:clamp(1.12rem,1.03rem + .28vw,1.3rem);
  --fs-h3:clamp(1.4rem,1.22rem + .55vw,1.8rem);--fs-h2:clamp(2rem,1.45rem + 1.7vw,3.35rem);
  --fs-h1:clamp(3.25rem,2rem + 4vw,6.4rem);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-size:var(--fs-base);line-height:1.6}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;line-height:.98;margin:0;font-weight:600}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}p{margin:.6rem 0 0}.container{width:var(--container);margin:auto}.container-narrow{width:var(--narrow);margin:auto}.section{padding:var(--s8) 0}.section-dark{background:var(--dark);color:#fff;padding:var(--s8) 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:var(--fs-xs);font-weight:700;color:var(--wine);margin:0 0 1rem}.eyebrow.light{color:#f1d9ce}.lead{font-size:var(--fs-lg);color:var(--muted)}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.8rem 1rem;z-index:9999}.skip-link:focus{top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;border:1px solid transparent;padding:.75rem 1.25rem;font-weight:700;font-size:var(--fs-sm);transition:.25s ease}.btn-primary{background:var(--wine);color:#fff}.btn-primary:hover{background:var(--wine-dark);transform:translateY(-1px)}.btn-light{background:#fff;color:var(--dark)}.btn-outline-light{border-color:rgba(255,255,255,.65);color:#fff;background:transparent}.btn-whatsapp{background:#1f7a53;color:#fff}.text-button,.text-link{border:0;background:none;color:var(--wine);padding:0;font-weight:700}.site-header{height:76px;position:absolute;top:0;left:0;right:0;z-index:20;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}.site-header.scrolled{position:fixed;background:rgba(255,253,248,.94);backdrop-filter:blur(14px);color:var(--ink);box-shadow:0 8px 30px rgba(0,0,0,.08);border:0}.header-inner{height:100%;display:flex;align-items:center;gap:2rem}.brand{width:138px;flex:0 0 138px}.brand img{width:100%;max-height:58px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:1.45rem;margin-left:auto}.main-nav a{font-size:.83rem;font-weight:600}.header-book{margin-left:.5rem}.nav-toggle{display:none;border:0;background:none;padding:.5rem}.nav-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px}.hero{min-height:92vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#54483d}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,14,.66) 0%,rgba(20,17,14,.35) 42%,rgba(20,17,14,.06) 75%),linear-gradient(0deg,rgba(20,17,14,.34),transparent 48%)}.hero-content{position:relative;z-index:2;padding-bottom:8.5rem}.hero-copy{max-width:720px;color:#fff}.hero h1{font-size:var(--fs-h1);letter-spacing:-.035em}.hero h1 em{font-weight:500}.hero-copy>p:not(.eyebrow){max-width:630px;font-size:var(--fs-lg)}.hero-points{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.35rem}.hero-points span{font-size:var(--fs-sm);border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:.38rem .75rem;background:rgba(0,0,0,.08)}.mobile-hero-cta{display:none;margin-top:1.3rem}.booking-wrap{position:relative;z-index:5;margin-top:-58px}.booking-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem;display:grid;grid-template-columns:1fr 1fr .85fr 1.1fr;gap:.8rem;align-items:end}.booking-card label,.contact-form label{font-size:var(--fs-xs);font-weight:700;color:var(--muted)}.booking-card input,.booking-card select,.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:.4rem;border:1px solid #ddd1c3;border-radius:12px;background:#fff;padding:.78rem .85rem;color:var(--ink)}.booking-note{grid-column:1/-1;font-size:.76rem;color:var(--muted);margin:.2rem 0 0}.trust-strip{padding:5.3rem 0 1.2rem}.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--sand);border-bottom:1px solid var(--sand)}.trust-grid div{padding:1.25rem 1rem;text-align:center;border-right:1px solid var(--sand)}.trust-grid div:last-child{border:0}.trust-grid strong,.trust-grid span{display:block}.trust-grid span{font-size:var(--fs-xs);color:var(--muted)}.intro{padding-top:5rem}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:7rem;align-items:end}.section-heading{margin-bottom:2.6rem;max-width:780px}.split-heading{display:flex;justify-content:space-between;align-items:end;max-width:none;gap:2rem}.rooms-section{background:var(--cream)}.rooms-scroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,31%);gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:thin}.room-card{background:#fff;border-radius:var(--radius);overflow:hidden;scroll-snap-align:start;box-shadow:0 8px 24px rgba(35,31,27,.07)}.room-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.room-body{padding:1.2rem}.room-body h3{font-size:1.65rem}.room-body p{color:var(--muted);font-size:var(--fs-sm);margin-bottom:.8rem}.internal-note{font-size:.78rem;color:var(--muted);margin-top:1rem}.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.amenities-grid div{border:1px solid var(--sand);border-radius:var(--radius);padding:1.35rem;background:#fff}.amenities-grid span,.amenities-grid strong,.amenities-grid small{display:block}.amenities-grid span{color:var(--wine);font-size:1.3rem}.amenities-grid small{color:var(--muted)}.virtual-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:center}.virtual-grid p{color:#d8cec3}.tour-poster{position:relative;border:0;border-radius:var(--radius);overflow:hidden;padding:0;background:#000;box-shadow:var(--shadow)}.tour-poster img{aspect-ratio:16/10;object-fit:cover;opacity:.75}.tour-poster span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--wine);font-size:1.25rem}.gallery-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;grid-template-rows:280px 280px;gap:1rem}.gallery-item{border:0;padding:0;overflow:hidden;border-radius:var(--radius);background:#eee}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery-item:hover img{transform:scale(1.025)}.testimonials{background:var(--cream)}.center{text-align:center;margin-left:auto;margin-right:auto}.testimonials-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.testimonials-grid blockquote{margin:0;background:#fff;border-radius:var(--radius);padding:1.4rem}.testimonials-grid blockquote p{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;line-height:1.25}.testimonials-grid footer{margin-top:1rem;color:var(--muted);font-size:var(--fs-xs)}.bernal-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem}.destination-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.destination-cards article{background:var(--cream);border-radius:var(--radius);padding:1.4rem}.destination-cards p{color:var(--muted)}.location{background:#efe5d8}.location-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:center}.clean-list{padding-left:1.1rem;color:var(--muted)}.map-placeholder{min-height:360px;border-radius:var(--radius);background:radial-gradient(circle at 65% 35%,#d9c6ae 0 7%,transparent 8%),linear-gradient(25deg,#ddd0bf 0 46%,#c7b69f 47% 52%,#e5dacd 53%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 0 0 1px rgba(35,31,27,.08)}.map-placeholder span{background:var(--wine);color:#fff;padding:.55rem .8rem;border-radius:999px;font-weight:700}.map-placeholder small{margin-top:.55rem}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-form label:nth-child(4){grid-column:1/-1}.contact-form .btn{justify-self:start}.final-cta{min-height:68vh;position:relative;display:flex;align-items:center;overflow:hidden}.final-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.final-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,20,17,.7),rgba(25,20,17,.12))}.final-content{position:relative;color:#fff;z-index:2}.final-content h2{font-size:clamp(3rem,6vw,6rem)}.final-content div{display:flex;gap:.7rem;margin-top:1.4rem}.site-footer{background:#171411;color:#f6efe7;padding:4rem 0 7rem}.footer-grid{display:grid;grid-template-columns:1.25fr 1.2fr .8fr 1fr;gap:2.5rem}.footer-grid h3{font-family:Inter,sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.12em}.footer-grid a,.footer-grid span{display:block;font-size:.85rem;color:#d4c9bf;margin:.35rem 0}.footer-logo{max-width:150px;filter:brightness(1.15)}.footer-bottom{margin-top:3rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.76rem;color:#aa9d92}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:40;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#1f7a53;color:#fff;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.25)}.mobile-actionbar{display:none}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#171411;color:#fff;padding:.75rem 1rem;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{max-width:680px;width:calc(100% - 32px);border:0;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(20,17,14,.68)}.dialog-close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:1.8rem}.modal-list{padding-left:1.2rem}.modal-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
@media(max-width:1024px){:root{--container:min(100% - 48px,1280px);--narrow:min(100% - 48px,1120px)}.main-nav{gap:.8rem}.main-nav a{font-size:.76rem}.intro-grid,.virtual-grid,.bernal-grid,.location-grid,.contact-grid{gap:3rem}.testimonials-grid{grid-template-columns:1fr 1fr}.amenities-grid{grid-template-columns:repeat(3,1fr)}.rooms-scroller{grid-auto-columns:42%}}
@media(max-width:820px){:root{--container:calc(100% - 40px);--narrow:calc(100% - 40px)}.site-header{height:64px}.brand{width:118px;flex-basis:118px}.nav-toggle{display:block;margin-left:auto;color:inherit}.main-nav{position:fixed;left:20px;right:20px;top:72px;background:#fff;color:var(--ink);border-radius:16px;box-shadow:var(--shadow);padding:1rem;display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a{padding:.7rem;font-size:.95rem}.header-book{display:none}.hero{min-height:82vh}.hero-content{padding-bottom:5rem}.booking-wrap{margin-top:0;background:var(--cream);padding:1rem 0}.booking-card{grid-template-columns:1fr 1fr;box-shadow:none}.booking-card .btn{grid-column:1/-1}.trust-strip{padding:1rem 0}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid div{border-bottom:1px solid var(--sand)}.intro-grid,.virtual-grid,.bernal-grid,.location-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}.rooms-scroller{grid-auto-columns:72%}.amenities-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 1}.footer-grid{grid-template-columns:1fr 1fr}.floating-whatsapp{display:none}.mobile-actionbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:50;left:12px;right:12px;bottom:12px;background:#fff;border-radius:999px;box-shadow:var(--shadow);overflow:hidden}.mobile-actionbar a,.mobile-actionbar button{min-height:50px;display:grid;place-items:center;border:0;font-weight:800;background:#fff;color:var(--ink)}.mobile-actionbar button{background:var(--wine);color:#fff}.site-footer{padding-bottom:6rem}}
@media(max-width:560px){:root{--container:calc(100% - 32px);--narrow:calc(100% - 32px);--s8:5rem}.hero{min-height:78vh}.hero-overlay{background:linear-gradient(0deg,rgba(20,17,14,.66),rgba(20,17,14,.12) 65%)}.hero-content{padding-bottom:3.7rem}.hero-copy{max-width:100%}.hero h1{font-size:clamp(3rem,17vw,4.8rem)}.hero-points{display:none}.mobile-hero-cta{display:inline-flex}.booking-card{grid-template-columns:1fr}.booking-card .btn{grid-column:auto}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid div:nth-child(5){grid-column:1/-1}.intro-grid{gap:1rem}.split-heading{align-items:flex-start;flex-direction:column}.rooms-scroller{grid-auto-columns:88%}.amenities-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(5,250px)}.gallery-item.wide{grid-column:auto}.testimonials-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.testimonials-grid blockquote{min-width:86%;scroll-snap-align:start}.destination-cards{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.contact-form label:nth-child(4){grid-column:auto}.final-content div{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}}

/* V2 multipágina */
body{padding-top:0}.site-header.scrolled{position:sticky;top:0}.main-nav a[aria-current="page"]{color:var(--wine);font-weight:700}.compact-hero{min-height:78vh}.page-hero{padding:8rem 0 4.5rem;background:var(--cream)}.page-hero h1{font-size:clamp(3.4rem,7vw,6.3rem)}.dark-page-hero{background:#211d19;color:#fff}.dark-page-hero .lead{color:#d9d0c7}.destination-hero{min-height:70vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff}.destination-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.rooms-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}.btn-outline{background:transparent;color:var(--wine);border:1px solid var(--wine)}.feature-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:center}.feature-grid.reverse{grid-template-columns:1.2fr .8fr}.feature-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius)}.gallery-preview{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:1rem}.gallery-preview img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.compact-testimonials{grid-template-columns:repeat(3,1fr)}.short-cta{min-height:52vh}.room-list-grid{display:grid;gap:1.5rem}.room-list-card{display:grid;grid-template-columns:.7fr 1.3fr;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 24px rgba(35,31,27,.07)}.room-list-card img{width:100%;height:100%;min-height:320px;object-fit:cover}.room-list-card>div{padding:2.2rem}.card-actions{display:flex;gap:1rem;align-items:center;margin-top:1.5rem}.room-hero{min-height:68vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff}.room-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.room-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,18,15,.68),rgba(22,18,15,.06) 65%)}.room-hero-copy{position:relative;z-index:2;padding-bottom:4.5rem}.room-hero-copy h1{font-size:clamp(3rem,6vw,6rem);max-width:980px}.room-detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:5rem}.amenity-list{columns:2;padding-left:1.2rem}.booking-aside{background:var(--cream);padding:2rem;border-radius:var(--radius);align-self:start;position:sticky;top:110px}.booking-aside .btn{width:100%;margin-top:.8rem}.room-gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1rem}.room-gallery img{width:100%;height:280px;object-fit:cover;border-radius:var(--radius)}.room-gallery img:first-child{grid-row:span 2;height:576px}.amenity-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.amenity-feature-grid article{background:var(--cream);border-radius:var(--radius);overflow:hidden;padding-bottom:1.6rem}.amenity-feature-grid img{width:100%;height:340px;object-fit:cover}.amenity-feature-grid h2,.amenity-feature-grid p{padding-left:1.5rem;padding-right:1.5rem}.full-gallery{columns:3 320px;column-gap:1rem}.full-gallery .gallery-item{display:block;width:100%;margin:0 0 1rem;break-inside:avoid}.full-gallery .gallery-item img{width:100%;height:auto;display:block}.tour-stage{position:relative}.tour-stage>img{width:100%;max-height:680px;object-fit:cover;border-radius:var(--radius)}.tour-stage-card{position:absolute;left:3rem;bottom:3rem;background:#fff;padding:2rem;border-radius:var(--radius);max-width:430px;box-shadow:var(--shadow)}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.destination-grid article{background:var(--cream);border-radius:var(--radius);padding:1.8rem}.legal-copy{max-width:850px}.legal-copy h2{margin-top:2.5rem}.home-split{padding-top:6rem;padding-bottom:6rem}
@media(max-width:1024px){.rooms-preview-grid{grid-template-columns:1fr 1fr}.feature-grid,.feature-grid.reverse,.room-detail-grid{grid-template-columns:1fr;gap:2rem}.room-list-card{grid-template-columns:1fr 1fr}.room-gallery{grid-template-columns:1fr 1fr}.destination-grid{grid-template-columns:1fr 1fr}.gallery-preview{grid-template-columns:1fr 1fr}.amenity-feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.site-header.scrolled{position:sticky}.rooms-preview-grid,.room-list-card,.amenity-feature-grid,.destination-grid{grid-template-columns:1fr}.room-list-card img{min-height:260px}.compact-testimonials{display:flex}.room-detail-grid{grid-template-columns:1fr}.booking-aside{position:static}.room-gallery{grid-template-columns:1fr}.room-gallery img,.room-gallery img:first-child{height:260px;grid-row:auto}.amenity-list{columns:1}.tour-stage-card{position:static;margin-top:1rem}.gallery-preview{grid-template-columns:1fr 1fr}.compact-hero{min-height:72vh}}
@media(max-width:560px){.page-hero{padding:6rem 0 3rem}.gallery-preview{grid-template-columns:1fr}.feature-grid,.feature-grid.reverse{grid-template-columns:1fr}.room-list-card>div{padding:1.3rem}.amenity-feature-grid img{height:240px}.destination-hero{min-height:60vh}.room-hero{min-height:58vh}.room-hero-copy{padding-bottom:2.5rem}}


/* ===== V2.1 UX / CUSTOMER JOURNEY REFINEMENT ===== */
.section-next{display:flex;justify-content:flex-end;gap:1rem;align-items:center;margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--sand);font-size:var(--fs-sm);color:var(--muted)}
.section-next p{margin:0}
.choice-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--sand);border:1px solid var(--sand);border-radius:var(--radius);overflow:hidden;margin-bottom:4rem}.choice-strip div{background:#fff;padding:1.35rem}.choice-strip strong,.choice-strip span{display:block}.choice-strip span{font-size:var(--fs-sm);color:var(--muted);margin-top:.25rem}
.room-compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}.room-compare-card{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;border:1px solid #eee3d7;border-radius:var(--radius);overflow:hidden;min-height:330px}.room-compare-card>img{width:100%;height:100%;object-fit:cover}.room-compare-card>div{padding:1.7rem}.room-compare-card h2{font-size:clamp(1.65rem,2.2vw,2.25rem);line-height:1.02}.room-capacity{font-size:var(--fs-xs);font-weight:800;color:var(--wine);text-transform:uppercase;letter-spacing:.1em}.room-bed{font-weight:700}.room-compare-card ul{padding-left:1.15rem;color:var(--muted);font-size:var(--fs-sm)}.featured-room{background:#fbf3e9;border-color:#dec9b3}
.journey-cta{background:linear-gradient(120deg,#6f1521,#9e2637);color:#fff;padding:4.2rem 0}.journey-cta-inner,.room-next-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem}.journey-cta h2{max-width:720px}.journey-actions{display:flex;gap:.8rem;flex-wrap:wrap}.journey-cta .btn-outline-light{border-color:rgba(255,255,255,.65)}
.gallery-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}.gallery-filters button{border:1px solid var(--sand);background:#fff;border-radius:999px;padding:.65rem 1rem;font-weight:700;color:var(--muted)}.gallery-filters button.active{background:var(--wine);color:#fff;border-color:var(--wine)}
.editorial-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:1rem}.editorial-gallery .gallery-item{border-radius:var(--radius);overflow:hidden}.editorial-gallery .gallery-item img{width:100%;height:100%;object-fit:cover}.editorial-gallery .hero-tile{grid-column:span 2;grid-row:span 2}.editorial-gallery .wide-tile{grid-column:span 2}.editorial-gallery .portrait-tile{grid-row:span 2}.editorial-gallery .gallery-item.is-hidden{display:none}.gallery-close{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding-top:2rem;margin-top:2rem;border-top:1px solid var(--sand)}.gallery-close p{margin:0;margin-right:auto;color:var(--muted)}
.amenity-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:.7rem;margin-top:2rem}.amenity-summary span{padding:1rem;border:1px solid var(--sand);border-radius:999px;text-align:center;font-size:var(--fs-sm);font-weight:700}
.destination-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:5rem;align-items:end;margin-bottom:4rem}.destination-story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.4rem}.destination-feature{background:var(--cream);border-radius:var(--radius);overflow:hidden}.destination-feature img{width:100%;aspect-ratio:16/10;object-fit:cover}.destination-feature div{padding:2rem}.destination-cards.rich{align-content:start}.destination-cards.rich article{border:1px solid #eadfd3}.destination-cards.rich h3{font-size:1.55rem}
.location-visual{position:relative}.location-visual>img{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:var(--radius)}.location-address-card{position:absolute;left:1.2rem;bottom:1.2rem;background:rgba(255,253,248,.94);backdrop-filter:blur(8px);padding:1rem 1.2rem;border-radius:14px;box-shadow:var(--shadow)}.location-address-card strong,.location-address-card span{display:block}.location-address-card span{font-size:var(--fs-xs);color:var(--muted)}.location-points{display:grid;gap:1rem;margin:2rem 0}.location-points div{padding:1rem 0;border-bottom:1px solid var(--sand)}.location-points strong,.location-points span{display:block}.location-points span{color:var(--muted);font-size:var(--fs-sm)}
.contact-premium-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:start}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-card{display:flex;flex-direction:column;gap:.3rem;padding:1.35rem;border:1px solid var(--sand);border-radius:var(--radius);background:#fff}.contact-card span{color:var(--wine);font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.contact-card strong{font-size:1.1rem}.contact-card small{color:var(--muted)}.primary-contact{background:var(--cream);border-color:#dcc5af}.contact-social{display:flex;gap:1rem;margin-top:1rem}.contact-social a{font-weight:700;color:var(--wine)}.contact-form-card{background:var(--cream);padding:2rem;border-radius:var(--radius)}.form-heading{grid-column:1/-1;margin-bottom:.4rem}.form-note{grid-column:1/-1;font-size:var(--fs-xs);color:var(--muted);margin:0}.booking-reassurance{font-size:var(--fs-xs);color:var(--muted);margin-top:1rem}.room-next-step{padding:4rem 0;background:#fff}.room-next-inner{border-top:1px solid var(--sand);padding-top:3rem}
@media(max-width:1024px){.room-compare-grid{grid-template-columns:1fr}.amenity-summary{grid-template-columns:repeat(3,1fr)}.destination-intro,.destination-story-grid,.contact-premium-grid{grid-template-columns:1fr;gap:2rem}.editorial-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.choice-strip{grid-template-columns:1fr}.journey-cta-inner,.room-next-inner{align-items:flex-start;flex-direction:column}.editorial-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}.amenity-summary{grid-template-columns:1fr 1fr}.contact-cards{grid-template-columns:1fr}.gallery-close{align-items:flex-start;flex-direction:column}.gallery-close p{margin-right:0}.room-compare-card{grid-template-columns:1fr}.room-compare-card>img{aspect-ratio:4/3}}
@media(max-width:560px){.section-next{align-items:flex-start;flex-direction:column}.editorial-gallery{grid-template-columns:1fr;grid-auto-rows:250px}.editorial-gallery .hero-tile,.editorial-gallery .wide-tile,.editorial-gallery .portrait-tile{grid-column:auto;grid-row:auto}.amenity-summary{grid-template-columns:1fr}.journey-actions{width:100%;flex-direction:column}.journey-actions .btn{width:100%}.contact-form-card{padding:1.25rem}.contact-social{flex-direction:column}}

/* V2.2 corrective: verified content + customer journey */
.room-map-note{margin:-1.2rem 0 2.4rem;color:var(--muted);font-size:var(--fs-sm);max-width:850px}
.room-gallery:has(img:only-child){grid-template-columns:minmax(0,1fr);max-width:920px}
.room-gallery:has(img:only-child) img:first-child{grid-row:auto;height:auto;max-height:620px;aspect-ratio:16/10;object-fit:cover}
.matterport-wrap{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#171411;box-shadow:var(--shadow)}
.matterport-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tour-fallback{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem;padding:1rem 0;border-top:1px solid var(--sand)}
.tour-fallback p{margin:0;color:var(--muted)}
.gallery-curated{padding-top:5rem}
.editorial-gallery{grid-auto-flow:dense}
.editorial-gallery .gallery-item:nth-child(7n+2){min-height:0}
@media(max-width:820px){.tour-fallback{align-items:flex-start;flex-direction:column}.matterport-wrap{aspect-ratio:4/3}}
@media(max-width:560px){.matterport-wrap{aspect-ratio:3/4}.editorial-gallery{grid-template-columns:1fr;grid-auto-rows:270px}.editorial-gallery .hero-tile,.editorial-gallery .wide-tile,.editorial-gallery .portrait-tile{grid-column:auto;grid-row:auto}}

/* V2.3 — atracciones / Bernal */
.attraction-groups{display:grid;gap:5rem}
.attraction-group-heading{max-width:760px;margin-bottom:2rem}
.attraction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.attraction-card{background:#fff;border:1px solid #eadfd3;border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 24px rgba(35,31,27,.05)}
.attraction-card img{width:100%;height:230px;object-fit:cover}
.attraction-card>div{padding:1.4rem}
.attraction-card h3{font-size:1.75rem}
.attraction-card p{color:var(--muted);font-size:var(--fs-sm)}
@media(max-width:1024px){.attraction-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.attraction-groups{gap:3.5rem}.attraction-grid{grid-template-columns:1fr}.attraction-card img{height:220px}}


/* ============================================================
   V2.7 — REFINAMIENTO VISUAL / CONSISTENCIA / CONVERSIÓN
   Mantiene arquitectura y customer journey de V2.6.
   ============================================================ */

:root{
  --fs-h2:clamp(1.95rem,1.48rem + 1.45vw,3.05rem);
  --fs-h1:clamp(3.05rem,2rem + 3.35vw,5.55rem);
  --shadow-soft:0 12px 36px rgba(35,31,27,.085);
}

.section{padding:clamp(5.4rem,7vw,7rem) 0}
.section-dark{padding:clamp(5.4rem,7vw,7rem) 0}
.section-heading{margin-bottom:2.35rem}
.eyebrow{margin-bottom:.8rem}

/* Header: slightly more legible and polished */
.site-header.scrolled{
  background:rgba(255,253,248,.965);
  box-shadow:0 7px 24px rgba(28,23,19,.07);
}
.brand{width:148px;flex-basis:148px}
.main-nav{gap:1.35rem}
.main-nav a{font-size:.82rem;letter-spacing:.01em}
.header-book{min-height:44px;padding:.68rem 1.15rem}

/* Hero */
.compact-hero{min-height:80vh}
.hero-content{padding-bottom:7.6rem}
.hero-copy{max-width:660px}
.hero-copy>p:not(.eyebrow){max-width:560px}
.hero-overlay{
  background:
  linear-gradient(90deg,rgba(20,17,14,.62) 0%,rgba(20,17,14,.31) 42%,rgba(20,17,14,.035) 76%),
  linear-gradient(0deg,rgba(20,17,14,.28),transparent 50%);
}
.hero-points span{backdrop-filter:blur(4px);background:rgba(20,17,14,.12)}

/* Booking: visually integrated with hero, without feeling like a separate widget */
.booking-card{
  border:1px solid rgba(143,29,44,.08);
  box-shadow:0 18px 45px rgba(35,31,27,.13);
  padding:1.1rem 1.2rem 1rem;
}
.booking-card input,.booking-card select{
  min-height:46px;
  border-color:#ded2c4;
}
.booking-note{font-size:.74rem;margin-top:.12rem}
.trust-strip{padding:4.2rem 0 .5rem}
.trust-grid strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.18rem;font-weight:700}
.trust-grid div{padding:1.1rem .75rem}

/* Intro: less empty and more editorial */
.intro{padding-top:4.4rem}
.intro-grid{gap:5.5rem}
.intro-grid h2{max-width:620px}
.intro-grid .lead{max-width:520px}

/* Rooms: stronger hierarchy, same 4-card logic */
.rooms-section{
  background:linear-gradient(180deg,#f7f0e6 0%,#f5ede1 100%);
}
.rooms-preview-grid{gap:1rem}
.room-card{
  border:1px solid rgba(104,83,62,.09);
  box-shadow:var(--shadow-soft);
  transition:transform .28s ease,box-shadow .28s ease;
}
.room-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(35,31,27,.12)}
.room-card img{aspect-ratio:5/4}
.room-body{padding:1.3rem 1.25rem 1.4rem}
.room-body h3{font-size:clamp(1.42rem,1.25rem + .35vw,1.72rem);line-height:1.02}
.room-body p{margin-top:.5rem}
.section-next{margin-top:1.8rem}

/* Amenities: make the photography carry more value */
.home-split{padding-top:6.5rem;padding-bottom:6.5rem}
.feature-grid{gap:4.3rem}
.feature-grid img{
  box-shadow:var(--shadow-soft);
  aspect-ratio:16/9;
}
.feature-grid>div p:not(.eyebrow){max-width:570px}

/* Home gallery: editorial hierarchy instead of four identical thumbnails */
.gallery-preview{
  grid-template-columns:1.35fr .9fr .9fr 1.1fr;
  grid-template-rows:235px 115px;
  gap:.9rem;
}
.gallery-preview img{
  width:100%;height:100%;aspect-ratio:auto;object-fit:cover;
  box-shadow:0 8px 22px rgba(35,31,27,.06);
}
.gallery-preview img:nth-child(1){grid-row:1 / 3}
.gallery-preview img:nth-child(2){grid-row:1 / 2}
.gallery-preview img:nth-child(3){grid-row:1 / 3}
.gallery-preview img:nth-child(4){grid-row:1 / 3}

/* Virtual tour: slightly more cinematic, less visually heavy */
.virtual-grid{gap:4.2rem}
.tour-poster img{aspect-ratio:16/9}
.tour-poster span{width:60px;height:60px}
.virtual-tour.section-dark{background:#211d19}

/* Testimonials */
.testimonials-grid blockquote{
  border:1px solid rgba(104,83,62,.07);
  box-shadow:0 7px 18px rgba(35,31,27,.035);
  padding:1.55rem;
}
.testimonials-grid blockquote p{font-size:1.28rem}

/* Bernal teaser */
.bernal-teaser .feature-grid{gap:4rem}
.bernal-teaser .feature-grid img{aspect-ratio:16/9}

/* Final conversion block: still dramatic, but no longer oversized */
.short-cta{min-height:48vh}
.final-content h2{font-size:clamp(2.9rem,5vw,5.1rem)}
.final-overlay{background:linear-gradient(90deg,rgba(25,20,17,.68),rgba(25,20,17,.1))}

/* Internal page standards */
.page-hero{padding:7rem 0 4rem}
.page-hero h1{font-size:clamp(3rem,5.5vw,5.25rem)}
.room-compare-grid{gap:1.1rem}
.room-compare-card{
  min-height:300px;
  box-shadow:0 7px 22px rgba(35,31,27,.04);
}
.room-compare-card>div{padding:1.55rem}
.room-compare-card h2{font-size:clamp(1.55rem,1.65vw,2.08rem)}
.room-compare-card>img{object-position:center}
.choice-strip{margin-bottom:3.2rem}

/* Footer */
.site-footer{padding-top:3.6rem}
.footer-grid{gap:2.2rem}
.footer-logo{max-width:160px}

/* Responsive */
@media(max-width:1024px){
  .gallery-preview{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px}
  .gallery-preview img:nth-child(n){grid-column:auto;grid-row:auto}
  .gallery-preview img{height:100%}
}
@media(max-width:820px){
  .brand{width:122px;flex-basis:122px}
  .compact-hero{min-height:72vh}
  .hero-content{padding-bottom:4.8rem}
  .section{padding:4.6rem 0}
  .section-dark{padding:4.6rem 0}
  .intro-grid{gap:2rem}
  .rooms-preview-grid{grid-template-columns:1fr 1fr}
  .room-card img{aspect-ratio:4/3}
  .home-split{padding:4.8rem 0}
  .short-cta{min-height:44vh}
}
@media(max-width:560px){
  .rooms-preview-grid{grid-template-columns:1fr}
  .gallery-preview{grid-template-columns:1fr;grid-template-rows:none}
  .gallery-preview img{height:auto;aspect-ratio:4/3}
  .split-heading{align-items:flex-start;flex-direction:column}
  .split-heading .btn{width:auto}
  .final-content div{align-items:stretch;flex-direction:column}
  .final-content .btn{width:100%}
}


/* ============================================================
   V2.8 — FICHAS DE HABITACIONES
   Revisión comercial, editorial y responsive.
   ============================================================ */

.room-hero{
  min-height:72vh;
  display:grid;
  align-items:end;
  position:relative;
  overflow:hidden;
}
.room-hero>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.room-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(20,17,14,.68) 0%,rgba(20,17,14,.33) 48%,rgba(20,17,14,.06) 78%),
    linear-gradient(0deg,rgba(20,17,14,.48),transparent 52%);
}
.room-hero-copy{
  position:relative;
  z-index:2;
  color:#fff;
  padding-top:10rem;
  padding-bottom:5rem;
  max-width:760px;
  margin-left:max(0px,calc((100% - 1200px)/2));
}
.room-hero-copy h1{
  font-size:clamp(3.3rem,6vw,5.8rem);
  line-height:.91;
  max-width:760px;
  margin:.35rem 0 .75rem;
}
.room-hero-copy>p:not(.eyebrow){
  font-size:1.02rem;
  opacity:.92;
}
.room-hero-actions{
  display:flex;
  gap:.7rem;
  flex-wrap:wrap;
  margin-top:1.55rem;
}
.btn-ghost-light{
  color:#fff;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(20,17,14,.15);
  backdrop-filter:blur(5px);
}
.btn-ghost-light:hover{background:#fff;color:#251f1b}

.room-intro{background:#fffdf8}
.room-facts-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid #e5d9ca;
  border-radius:14px;
  overflow:hidden;
  margin-bottom:4rem;
  background:#faf6ef;
}
.room-facts-strip>div{
  padding:1.25rem 1.35rem;
  border-right:1px solid #e5d9ca;
}
.room-facts-strip>div:last-child{border-right:0}
.room-facts-strip strong{
  display:block;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.35rem;
  line-height:1;
  color:#2d2520;
}
.room-facts-strip span{
  display:block;
  margin-top:.25rem;
  font-size:.75rem;
  color:#776c62;
}

.room-editorial-grid{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(290px,.72fr);
  gap:clamp(3rem,7vw,7rem);
  align-items:start;
}
.room-editorial-copy h2{
  max-width:650px;
  font-size:var(--fs-h2);
}
.room-editorial-copy .lead{
  max-width:650px;
  margin:1rem 0 1.6rem;
  color:#62574e;
}
.room-editorial-copy .amenity-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem 1.4rem;
  padding:0;
  margin:0;
  list-style:none;
}
.room-editorial-copy .amenity-list li{
  position:relative;
  padding-left:1.15rem;
  color:#3f3832;
}
.room-editorial-copy .amenity-list li:before{
  content:"";
  width:5px;height:5px;border-radius:50%;
  background:#8f1d2c;
  position:absolute;left:0;top:.63em;
}

.booking-aside{
  position:sticky;
  top:110px;
  border:1px solid #e2d5c6;
  border-radius:16px;
  background:#f8f1e8;
  padding:1.65rem;
  box-shadow:0 14px 38px rgba(35,31,27,.07);
}
.booking-aside h3{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.7rem;
  margin-bottom:.55rem;
}
.booking-aside .btn{
  width:100%;
  margin-top:.7rem;
  text-align:center;
}
.booking-reassurance{
  font-size:.74rem;
  color:#7c7066;
  margin-top:.9rem;
}

.room-gallery{
  display:grid;
  grid-template-columns:1.25fr .75fr .75fr;
  grid-auto-rows:250px;
  gap:1rem;
}
.room-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:14px;
  box-shadow:0 8px 26px rgba(35,31,27,.06);
}
.room-gallery img:first-child{
  grid-row:span 2;
}
.room-gallery img:nth-child(4){
  grid-column:span 2;
}

.room-next-step{
  padding:4.5rem 0;
  background:#8f1d2c;
  color:#fff;
}
.room-next-inner{
  display:flex;
  gap:2.5rem;
  align-items:center;
  justify-content:space-between;
}
.room-next-inner h2{
  color:#fff;
  max-width:650px;
  margin-bottom:.35rem;
}
.room-next-inner>div>p:not(.eyebrow){opacity:.82}
.room-next-step .eyebrow{color:#f7d7d9}
.room-next-step .btn-outline{
  border-color:#fff;color:#fff;
}
.room-next-step .btn-outline:hover{background:#fff;color:#8f1d2c}

@media(max-width:900px){
  .room-hero{min-height:64vh}
  .room-hero-copy{padding-bottom:4rem}
  .room-facts-strip{grid-template-columns:1fr 1fr}
  .room-facts-strip>div:nth-child(2){border-right:0}
  .room-facts-strip>div:nth-child(-n+2){border-bottom:1px solid #e5d9ca}
  .room-editorial-grid{grid-template-columns:1fr;gap:2.6rem}
  .booking-aside{position:static}
  .room-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:220px}
  .room-gallery img:first-child{grid-row:span 2}
  .room-gallery img:nth-child(4){grid-column:auto}
  .room-next-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .room-hero{min-height:66svh}
  .room-hero-copy{padding-top:8rem;padding-bottom:2.8rem}
  .room-hero-copy h1{font-size:clamp(2.75rem,13vw,4rem)}
  .room-hero-actions{flex-direction:column;align-items:stretch}
  .room-hero-actions .btn{width:100%;text-align:center}
  .room-facts-strip{margin-bottom:2.8rem}
  .room-facts-strip>div{padding:1rem}
  .room-editorial-copy .amenity-list{grid-template-columns:1fr}
  .room-gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:auto}
  .room-gallery img,
  .room-gallery img:first-child,
  .room-gallery img:nth-child(4){
    height:auto;
    aspect-ratio:4/3;
    grid-row:auto;
    grid-column:auto;
  }
  .room-next-step{padding:3.5rem 0}
  .journey-actions{width:100%;display:flex;flex-direction:column}
  .journey-actions .btn{width:100%}
}

/* V3.1 — Amenidades + Ubicación */
.amenity-note{max-width:860px;margin:1.25rem auto 0;text-align:center;color:var(--muted);font-size:var(--fs-sm);line-height:1.65}
.location-intro-copy{max-width:620px;color:var(--muted);font-size:var(--fs-base);line-height:1.75;margin:1.25rem 0 .5rem}


/* V3.2 · Amenidades + Ubicación */
.amenities-page-section .amenity-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.65rem;max-width:1280px}
.amenities-page-section .amenity-feature-grid article{min-width:0}
.amenities-page-section .amenity-feature-grid img{height:360px}
.amenities-page-section .amenity-feature-grid h2{font-size:clamp(1.9rem,2.25vw,2.65rem);margin-top:.15rem}
.amenities-page-section .amenity-summary{width:100%;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin:2.4rem 0 0}
.amenities-page-section .amenity-summary span{min-width:0;padding:.9rem .65rem;white-space:normal;line-height:1.25}

.location-hero{min-height:72vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#4a4038}
.location-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%}
.location-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,18,15,.72) 0%,rgba(22,18,15,.38) 46%,rgba(22,18,15,.08) 78%),linear-gradient(0deg,rgba(22,18,15,.36),transparent 55%)}
.location-hero-content{position:relative;z-index:2;padding-bottom:5.2rem}
.location-hero h1{font-size:clamp(3.4rem,6.8vw,6.9rem);letter-spacing:-.035em;max-width:930px}
.location-hero h1 em{font-weight:500}
.location-hero-content>p:not(.eyebrow){font-size:var(--fs-lg);max-width:690px}
.location-hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.location-benefit-strip{background:#fff;border-bottom:1px solid var(--sand)}
.location-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.location-benefit-grid div{padding:1.7rem 1.5rem;border-right:1px solid var(--sand)}
.location-benefit-grid div:last-child{border-right:0}
.location-benefit-grid strong,.location-benefit-grid span{display:block}
.location-benefit-grid strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.7rem;line-height:1.05}
.location-benefit-grid span{color:var(--muted);font-size:var(--fs-sm);margin-top:.25rem}
.location-editorial{background:var(--paper)}
.location-editorial-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:5rem;align-items:center}
.location-copy h2{max-width:640px}
.location-copy>p:not(.eyebrow){color:var(--muted);max-width:650px}
.location-address-inline{border-top:1px solid var(--sand);border-bottom:1px solid var(--sand);padding:1.25rem 0;margin:2rem 0 1.2rem}
.location-address-inline span,.location-address-inline strong{display:block}
.location-address-inline span{text-transform:uppercase;letter-spacing:.14em;color:var(--wine);font-size:var(--fs-xs);font-weight:700;margin-bottom:.35rem}
.location-address-inline strong{font-size:var(--fs-sm)}
.location-map-link{display:inline-block;margin-top:.35rem}
.location-image-stack{position:relative;padding-bottom:3.5rem}
.location-main-photo{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.location-main-photo img{width:100%;aspect-ratio:16/11;object-fit:cover}
.location-note-card{position:absolute;right:-1.2rem;bottom:0;width:min(390px,75%);background:var(--cream);border:1px solid var(--sand);border-radius:16px;padding:1.25rem 1.35rem;box-shadow:0 12px 35px rgba(35,31,27,.11)}
.location-note-card span,.location-note-card strong{display:block}
.location-note-card span{text-transform:uppercase;letter-spacing:.12em;color:var(--wine);font-size:var(--fs-xs);font-weight:700;margin-bottom:.4rem}
.location-note-card strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.5rem;line-height:1.08}
.location-decision{background:var(--cream);padding-top:5.5rem;padding-bottom:5.5rem}
.location-decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.location-decision article{background:#fff;border:1px solid rgba(143,29,44,.08);border-radius:var(--radius);padding:2rem}
.location-decision article>span{font-size:var(--fs-xs);letter-spacing:.15em;color:var(--wine);font-weight:700}
.location-decision h3{margin-top:1rem}
.location-decision p{color:var(--muted);font-size:var(--fs-sm)}

@media(max-width:1024px){
  .amenities-page-section .amenity-feature-grid{gap:1.25rem}
  .amenities-page-section .amenity-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .location-editorial-grid{grid-template-columns:1fr 1fr;gap:3rem}
}
@media(max-width:820px){
  .amenities-page-section .amenity-feature-grid{grid-template-columns:1fr}
  .amenities-page-section .amenity-feature-grid img{height:320px}
  .location-hero{min-height:66vh}
  .location-hero-content{padding-bottom:3.8rem}
  .location-benefit-grid{grid-template-columns:1fr}
  .location-benefit-grid div{border-right:0;border-bottom:1px solid var(--sand);padding:1.15rem 0}
  .location-benefit-grid div:last-child{border-bottom:0}
  .location-editorial-grid{grid-template-columns:1fr;gap:2.5rem}
  .location-note-card{right:1rem}
  .location-decision-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .amenities-page-section .amenity-feature-grid img{height:250px}
  .amenities-page-section .amenity-summary{grid-template-columns:1fr 1fr}
  .location-hero{min-height:62vh}
  .location-hero-overlay{background:linear-gradient(0deg,rgba(22,18,15,.75),rgba(22,18,15,.15) 70%)}
  .location-hero h1{font-size:clamp(3rem,16vw,4.65rem)}
  .location-hero-actions{flex-direction:column;align-items:stretch}
  .location-hero-actions .btn{width:100%}
  .location-image-stack{padding-bottom:0}
  .location-note-card{position:relative;right:auto;bottom:auto;width:auto;margin:-1.25rem 1rem 0}
  .amenities-page-section .amenity-summary span{padding:.8rem .45rem;font-size:.78rem}
}


/* V3.3 · Amenidades + Contacto */
.amenities-page-section .amenity-feature-grid{
  width:min(1440px,calc(100% - 96px));
  max-width:none;
  gap:1.9rem;
}
.amenities-page-section .amenity-feature-grid img{height:390px}
.amenity-summary-wrap{margin-top:2.5rem}
.amenities-page-section .amenity-summary{
  width:100%;
  margin:0;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
}
.amenities-page-section .amenity-summary span{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.contact-page-section{padding-top:6.5rem;padding-bottom:7rem}
.contact-page-section .contact-premium-grid{gap:5rem}
.contact-page-section .contact-cards{gap:1.1rem}
.contact-page-section .primary-contact{
  grid-column:1/-1;
  background:var(--wine);
  color:#fff;
  border-color:var(--wine);
  padding:1.8rem;
  min-height:170px;
  justify-content:center;
}
.contact-page-section .primary-contact span,
.contact-page-section .primary-contact small{color:#f4d9dd}
.contact-page-section .primary-contact strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:2.2rem;line-height:1}
.contact-page-section .primary-contact b{margin-top:.55rem;font-size:var(--fs-sm)}
.contact-page-section .contact-card:not(.primary-contact){min-height:145px;justify-content:center}
.contact-page-section .contact-social{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--sand)}
.contact-page-section .contact-form-card{padding:2.5rem;background:#f6f0e6;border:1px solid #eadfd3}
.contact-page-section .form-heading p:not(.eyebrow){color:var(--muted);max-width:570px;margin-top:.8rem}
.contact-page-section .contact-form textarea{min-height:170px;resize:vertical}
.contact-page-section .contact-form .btn{min-width:210px}

@media(max-width:1024px){
  .amenities-page-section .amenity-feature-grid{width:var(--container)}
  .amenities-page-section .amenity-feature-grid img{height:340px}
  .contact-page-section .contact-premium-grid{gap:3rem}
}
@media(max-width:820px){
  .amenities-page-section .amenity-summary{grid-template-columns:1fr 1fr}
  .contact-page-section{padding-top:4.5rem;padding-bottom:5rem}
  .contact-page-section .primary-contact{grid-column:auto}
}
@media(max-width:560px){
  .amenities-page-section .amenity-feature-grid{width:calc(100% - 36px)}
  .amenities-page-section .amenity-summary{grid-template-columns:1fr}
  .amenity-summary-wrap{width:calc(100% - 36px)}
  .contact-page-section .contact-form-card{padding:1.35rem}
}

/* V3.4 · Contacto + respiración Amenidades */
.amenity-summary-wrap{padding-bottom:1.4rem}
.amenity-note{margin-top:1.4rem;margin-bottom:.2rem}

.contact-page-section .contact-form-card{
  grid-template-columns:1fr 1fr;
  gap:1.05rem 1.1rem;
}
.contact-page-section .contact-form-card label{
  min-width:0;
}
.contact-page-section .contact-form-card input,
.contact-page-section .contact-form-card select,
.contact-page-section .contact-form-card textarea{
  display:block;
  width:100%;
  margin-top:.4rem;
  border:1px solid #ddd1c3;
  border-radius:12px;
  background:#fff;
  padding:.82rem .9rem;
  color:var(--ink);
}
.contact-page-section .contact-form-card select{appearance:auto}
.contact-page-section .form-full{grid-column:1/-1}
.contact-page-section .label-optional{
  font-weight:500;
  color:var(--muted);
  text-transform:none;
  letter-spacing:0;
  margin-left:.25rem;
}
.contact-page-section .form-submit-row{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-top:.15rem;
}
.contact-page-section .form-submit-row .form-note{
  max-width:420px;
}
.contact-page-section .contact-form textarea{min-height:118px}
.contact-page-section .contact-form .btn{min-width:220px}

@media(max-width:820px){
  .contact-page-section .form-submit-row{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  .contact-page-section .contact-form-card{grid-template-columns:1fr}
  .contact-page-section .form-full{grid-column:auto}
  .contact-page-section .contact-form .btn{width:100%}
  .amenity-summary-wrap{padding-bottom:1rem}
}


/* V3.5 · Contacto: escala de título homologada */
.contact-page-hero h1{font-size:clamp(2.75rem,4.6vw,4.45rem);max-width:1050px}
.contact-page-hero .lead{max-width:980px}
@media(max-width:560px){
  .contact-page-hero h1{font-size:clamp(2.55rem,12vw,3.65rem)}
}

/* V3.6 · Galería editorial */
.gallery-visual-hero{min-height:64vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#3f352d}.gallery-visual-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}.gallery-visual-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,19,15,.72) 0%,rgba(24,19,15,.34) 48%,rgba(24,19,15,.05) 78%),linear-gradient(0deg,rgba(24,19,15,.28),transparent 55%)}.gallery-visual-copy{position:relative;z-index:2;padding-bottom:4.8rem}.gallery-visual-copy h1{font-size:clamp(3.6rem,6vw,6.6rem);letter-spacing:-.035em;max-width:900px}.gallery-visual-copy h1 em{font-weight:500}.gallery-visual-copy>p:not(.eyebrow){max-width:650px;font-size:var(--fs-lg);color:#f5eee7}.gallery-intro-strip{padding:4.5rem 0 1rem}.gallery-intro-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:5rem;align-items:end}.gallery-intro-inner h2{font-size:clamp(2.4rem,4vw,4rem)}.gallery-intro-inner>p{max-width:660px;color:var(--muted);margin:0 0 .35rem}.gallery-v36 .gallery-item{position:relative}.gallery-v36 .gallery-item:after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(0deg,rgba(20,17,14,.55),transparent);opacity:.8;pointer-events:none}.gallery-v36 .gallery-item>span{position:absolute;z-index:2;left:1rem;bottom:.8rem;color:#fff;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:800;opacity:.92}.gallery-v36 .gallery-item:hover>span{opacity:1}.gallery-room-note{max-width:850px;color:var(--muted);font-size:.78rem;margin:1.2rem 0 0}.gallery-close-premium{margin-top:4rem;padding:3rem 0 0;align-items:flex-end}.gallery-close-premium>div:first-child{max-width:720px}.gallery-close-premium h2{font-size:clamp(2.3rem,4vw,4rem)}.gallery-close-premium .eyebrow{margin-bottom:.7rem}.gallery-close-premium .journey-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-left:auto}.gallery-close-premium p{margin-right:0}.gallery-curated{padding-bottom:7rem}
@media(max-width:1024px){.gallery-intro-inner{grid-template-columns:1fr;gap:1.4rem}.gallery-close-premium{align-items:flex-start;flex-direction:column}.gallery-close-premium .journey-actions{margin-left:0}}
@media(max-width:820px){.gallery-visual-hero{min-height:58vh}.gallery-visual-copy{padding-bottom:3.5rem}.gallery-intro-strip{padding-top:3.5rem}.gallery-close-premium{padding-top:2.4rem}}
@media(max-width:560px){.gallery-visual-hero{min-height:62vh}.gallery-visual-overlay{background:linear-gradient(0deg,rgba(24,19,15,.72),rgba(24,19,15,.12) 72%)}.gallery-visual-copy h1{font-size:clamp(3rem,14vw,4.6rem)}.gallery-visual-copy>p:not(.eyebrow){font-size:1rem}.gallery-intro-inner h2{font-size:2.5rem}.gallery-close-premium .journey-actions,.gallery-close-premium .journey-actions .btn{width:100%}.gallery-room-note{font-size:.74rem}}

/* V3.8 — recorrido virtual premium */
.tour-hero-premium{min-height:72vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#342d27}.tour-hero-premium>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%}.tour-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,18,15,.74) 0%,rgba(22,18,15,.38) 46%,rgba(22,18,15,.08) 78%),linear-gradient(0deg,rgba(22,18,15,.34),transparent 56%)}.tour-hero-copy{position:relative;z-index:2;padding-bottom:5.5rem;max-width:1280px}.tour-hero-copy h1{font-size:clamp(3.6rem,6.2vw,6.6rem);letter-spacing:-.035em;max-width:900px}.tour-hero-copy h1 em{font-weight:500}.tour-hero-copy>p:not(.eyebrow){max-width:680px;font-size:var(--fs-lg);color:#f5eee7;margin-bottom:1.5rem}.tour-value-strip{background:#fff;border-bottom:1px solid var(--sand)}.tour-value-grid{display:grid;grid-template-columns:repeat(3,1fr)}.tour-value-grid>div{padding:1.5rem 1.6rem;border-right:1px solid var(--sand)}.tour-value-grid>div:last-child{border-right:0}.tour-value-grid strong,.tour-value-grid span{display:block}.tour-value-grid strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem}.tour-value-grid span{font-size:.8rem;color:var(--muted);margin-top:.1rem}.tour-experience{padding-top:6.5rem}.tour-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:5rem;align-items:end;margin-bottom:2.6rem}.tour-intro-grid h2{font-size:clamp(2.7rem,4.6vw,4.7rem);max-width:720px}.tour-intro-grid>p{color:var(--muted);max-width:660px;margin:0 0 .4rem}.matterport-frame-premium{padding:1rem;background:#fff;border:1px solid #e4d8ca;border-radius:calc(var(--radius) + 8px);box-shadow:0 22px 60px rgba(35,31,27,.12)}.matterport-frame-premium .matterport-wrap{box-shadow:none;border-radius:calc(var(--radius) - 2px)}.tour-fallback-premium{margin-top:1.4rem}.tour-next{background:var(--cream);padding-top:5rem;padding-bottom:5rem}.tour-next-grid{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem}.tour-next-grid>div:first-child{max-width:760px}.tour-next-grid h2{font-size:clamp(2.7rem,4.5vw,4.5rem)}.tour-next-grid>div:first-child>p:last-child{color:var(--muted);max-width:650px}.tour-next-grid .journey-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}.tour-next-grid .journey-actions .btn{white-space:nowrap}
@media(max-width:820px){.tour-hero-premium{min-height:68vh}.tour-hero-copy{padding-bottom:4rem}.tour-value-grid{grid-template-columns:1fr}.tour-value-grid>div{border-right:0;border-bottom:1px solid var(--sand)}.tour-value-grid>div:last-child{border-bottom:0}.tour-intro-grid{grid-template-columns:1fr;gap:1.2rem}.tour-next-grid{align-items:flex-start;flex-direction:column}.tour-next-grid .journey-actions{justify-content:flex-start}}
@media(max-width:560px){.tour-hero-copy h1{font-size:3.2rem}.tour-hero-copy>p:not(.eyebrow){font-size:1rem}.matterport-frame-premium{padding:.55rem}.tour-next-grid .journey-actions{width:100%;flex-direction:column}.tour-next-grid .journey-actions .btn{width:100%}}

/* V3.9 Home refinement */
.home-hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.55rem}.home-hero-actions .btn{min-width:170px}.compact-hero .hero-content{padding-bottom:7.4rem}@media(max-width:560px){.home-hero-actions{flex-direction:column;align-items:stretch}.home-hero-actions .btn{width:100%}.compact-hero .hero-content{padding-bottom:4.4rem}}


/* V4.0 · Refinamiento consolidado Home + footer global */
.home-split .feature-grid>div{padding-right:1rem}
.home-split .home-section-cta{margin-top:1.55rem}

.home-virtual-premium .virtual-grid>div>p:not(.eyebrow){margin-bottom:1.65rem}
.home-virtual-premium .virtual-grid>div .btn{margin-top:.15rem}

.home-bernal-premium .feature-grid>div>p:not(.eyebrow){margin-bottom:1.65rem}
.home-bernal-premium .feature-grid>div .btn{margin-top:.1rem}

.home-testimonials-premium{background:#f3ecdf}
.home-testimonials-premium .section-heading{margin-bottom:3rem}
.home-testimonials-premium .compact-testimonials{gap:1.35rem}
.home-testimonials-premium .compact-testimonials blockquote{
  position:relative;
  min-height:255px;
  padding:2.2rem 2rem 1.8rem;
  border:1px solid rgba(143,29,44,.08);
  border-radius:22px;
  box-shadow:0 14px 34px rgba(35,31,27,.055);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.home-testimonials-premium .quote-mark{
  display:block;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:4.2rem;
  line-height:.55;
  color:var(--wine);
  opacity:.7;
  margin-bottom:1.15rem;
}
.home-testimonials-premium blockquote p{font-size:1.34rem;line-height:1.32;margin:0}
.home-testimonials-premium blockquote footer{padding-top:1.35rem;margin-top:1.45rem;border-top:1px solid #eadfd3;display:flex;align-items:baseline;gap:.45rem}
.home-testimonials-premium blockquote footer strong{color:var(--ink);font-size:.82rem}
.home-testimonials-premium blockquote footer span{color:var(--muted);font-size:.76rem}

/* Footer claro para conservar íntegro el logotipo */
.site-footer{
  background:#e8ded2;
  color:#241f1a;
  border-top:1px solid #d9cbbb;
}
.footer-grid h3{color:#241f1a}
.footer-grid a,.footer-grid span{color:#5f554d}
.footer-grid a:hover{color:var(--wine)}
.footer-logo{filter:none;opacity:1}
.footer-grid>div:first-child p{color:#241f1a;font-weight:700}
.footer-bottom{border-top:1px solid rgba(60,48,38,.16);color:#766a60}

@media(max-width:820px){
  .home-testimonials-premium .compact-testimonials blockquote{min-width:82%;min-height:240px}
}
@media(max-width:560px){
  .home-split .feature-grid>div{padding-right:0}
  .home-split .home-section-cta{width:auto}
  .home-testimonials-premium .compact-testimonials blockquote{padding:1.8rem 1.5rem;min-width:88%}
  .home-testimonials-premium blockquote p{font-size:1.24rem}
}


/* V4.1 · Cierre visual Home */
.home-split .feature-grid{grid-template-columns:.88fr 1.12fr;gap:5.6rem}
.home-split .feature-grid>div{padding:1rem 0}
.home-split .home-section-cta{margin-top:1.9rem;padding-left:1.35rem;padding-right:1.35rem}

.home-virtual-premium .virtual-grid>div>p:not(.eyebrow){margin-bottom:2rem}
.home-virtual-premium .virtual-grid>div .btn{margin-top:.25rem}

.home-bernal-premium .feature-grid{gap:4.8rem}
.home-bernal-premium .feature-grid>div{max-width:520px}
.home-bernal-premium .feature-grid>div>p:not(.eyebrow){margin-bottom:2rem;max-width:500px}
.home-bernal-premium .feature-grid>div .btn{margin-top:.25rem}

.home-testimonials-premium{padding-top:6.6rem;padding-bottom:6.6rem}
.home-testimonials-premium .section-heading h2{font-size:clamp(2.6rem,4vw,4.1rem)}
.home-testimonials-premium .compact-testimonials{gap:1.6rem}
.home-testimonials-premium .compact-testimonials blockquote{
  min-height:290px;
  padding:2.5rem 2.25rem 2rem;
  background:linear-gradient(180deg,#fff 0%,#fffdfa 100%);
  border:1px solid rgba(143,29,44,.10);
  box-shadow:0 18px 42px rgba(35,31,27,.06);
}
.home-testimonials-premium .quote-mark{font-size:4.8rem;margin-bottom:1.35rem;opacity:.62}
.home-testimonials-premium blockquote p{font-size:1.38rem;line-height:1.36}
.home-testimonials-premium blockquote footer{margin-top:1.65rem;padding-top:1.45rem}
.home-testimonials-premium blockquote footer strong{font-size:.86rem}
.home-testimonials-premium blockquote footer span{font-size:.78rem}

/* mini galería: más editorial y con mejor lectura de las cuatro historias */
.gallery-preview{grid-template-columns:1.25fr 1fr 1fr 1.15fr;grid-template-rows:255px 135px;gap:1rem}
.gallery-preview img:nth-child(1){grid-row:1/3;object-position:center}
.gallery-preview img:nth-child(2){grid-row:1/2;object-position:center 55%}
.gallery-preview img:nth-child(3){grid-row:1/3;object-position:center}
.gallery-preview img:nth-child(4){grid-row:1/3;object-position:center}

/* Footer global: piedra cálida para conservar logo completo y legibilidad */
.site-footer{background:#d8cbbc;color:#211d19;border-top:1px solid #c6b5a3}
.footer-grid h3{color:#211d19}
.footer-grid a,.footer-grid span{color:#514940}
.footer-grid a:hover{color:var(--wine)}
.footer-logo{filter:none;opacity:1}
.footer-grid>div:first-child p{color:#211d19;font-weight:700}
.footer-bottom{border-top:1px solid rgba(58,45,34,.18);color:#665c53}

@media(max-width:1024px){
  .gallery-preview{grid-template-columns:1fr 1fr;grid-template-rows:230px 230px}
  .gallery-preview img:nth-child(n){grid-column:auto;grid-row:auto}
  .home-split .feature-grid{gap:3.5rem}
}
@media(max-width:820px){
  .home-split .feature-grid{grid-template-columns:1fr;gap:2rem}
  .home-bernal-premium .feature-grid{gap:2rem}
  .home-testimonials-premium .compact-testimonials blockquote{min-height:260px}
}


/* V4.2 · Cierre definitivo Home */
/* Mini-galería: cuatro imágenes con idéntico peso visual */
.gallery-preview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:none;
  gap:1rem;
  align-items:stretch;
}
.gallery-preview img,
.gallery-preview img:nth-child(n){
  width:100%;
  height:360px;
  aspect-ratio:auto;
  grid-column:auto;
  grid-row:auto;
  object-fit:cover;
  object-position:center;
  border-radius:var(--radius);
}
.gallery-preview img:nth-child(1){object-position:center 48%}
.gallery-preview img:nth-child(2){object-position:center 52%}
.gallery-preview img:nth-child(3){object-position:center 50%}
.gallery-preview img:nth-child(4){object-position:center 48%}

/* CTA: misma respiración editorial en los tres bloques */
.home-split .feature-grid>div>p:not(.eyebrow),
.home-virtual-premium .virtual-grid>div>p:not(.eyebrow),
.home-bernal-premium .feature-grid>div>p:not(.eyebrow){margin-bottom:2.15rem}
.home-split .home-section-cta,
.home-virtual-premium .virtual-grid>div .btn,
.home-bernal-premium .feature-grid>div .btn{margin-top:0}

/* Testimonios: menos caja genérica, más pieza editorial */
.home-testimonials-premium{background:#f4ede3}
.home-testimonials-premium .compact-testimonials{gap:1.75rem;align-items:stretch}
.home-testimonials-premium .compact-testimonials blockquote{
  min-height:310px;
  padding:2.65rem 2.35rem 2.1rem;
  border:1px solid rgba(143,29,44,.11);
  border-top:3px solid rgba(143,29,44,.55);
  border-radius:20px;
  background:#fffdf9;
  box-shadow:0 18px 44px rgba(35,31,27,.07);
}
.home-testimonials-premium .quote-mark{font-size:5.2rem;line-height:.45;margin-bottom:1.45rem;color:var(--wine);opacity:.55}
.home-testimonials-premium blockquote p{font-size:1.36rem;line-height:1.38}
.home-testimonials-premium blockquote footer{margin-top:1.8rem;padding-top:1.5rem;border-top:1px solid #eadfd3}
.home-testimonials-premium blockquote footer strong{font-size:.9rem}
.home-testimonials-premium blockquote footer span{font-size:.79rem}

/* Footer global: piedra cálida clara, alto contraste con logotipo original */
.site-footer{background:#cdbba7;color:#1f1a16;border-top:1px solid #bda78f}
.footer-grid h3{color:#1f1a16}
.footer-grid a,.footer-grid span{color:#423a33}
.footer-grid a:hover{color:var(--wine)}
.footer-logo{filter:none;opacity:1;background:rgba(255,253,248,.34);border-radius:10px;padding:.35rem .5rem}
.footer-grid>div:first-child p{color:#1f1a16;font-weight:700}
.footer-bottom{border-top:1px solid rgba(45,34,25,.22);color:#554b43}

@media(max-width:1024px){
  .gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-preview img,.gallery-preview img:nth-child(n){height:310px}
}
@media(max-width:560px){
  .gallery-preview{grid-template-columns:1fr}
  .gallery-preview img,.gallery-preview img:nth-child(n){height:290px}
  .home-testimonials-premium .compact-testimonials blockquote{min-height:275px;padding:2rem 1.6rem}
}

/* ============================================================
   V4.3 · AUDITORÍA RESPONSIVE / MOBILE HARDENING
   Sin cambios de diseño en escritorio.
   ============================================================ */
html,body{max-width:100%;overflow-x:hidden}

@media(max-width:820px){
  .site-header.scrolled{position:fixed;top:0;left:0;right:0}
  .main-nav{
    max-height:calc(100dvh - 92px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .main-nav a{
    min-height:44px;
    display:flex;
    align-items:center;
  }
  .nav-toggle{min-width:44px;min-height:44px}
  .mobile-actionbar{
    bottom:max(12px,env(safe-area-inset-bottom));
  }
  .site-footer{
    padding-bottom:calc(6rem + env(safe-area-inset-bottom));
  }
  .compact-testimonials{
    gap:1rem;
    padding-bottom:.45rem;
    scrollbar-width:none;
  }
  .compact-testimonials::-webkit-scrollbar{display:none}
  .contact-form-card,.booking-aside{max-width:100%}
  .matterport-frame-premium,.matterport-wrap{max-width:100%}
}

@media(max-width:560px){
  .page-hero h1{font-size:clamp(2.65rem,13vw,3.7rem)}
  .gallery-visual-copy h1{font-size:clamp(2.8rem,13vw,4rem)}
  .tour-hero-copy h1{font-size:clamp(2.85rem,13vw,4rem)}
  .contact-page-hero h1{font-size:clamp(2.45rem,11.5vw,3.35rem)}

  .btn{min-height:46px}
  .gallery-filters{gap:.45rem}
  .gallery-filters button{min-height:42px;padding:.55rem .8rem}

  .home-testimonials-premium .compact-testimonials{
    margin-right:calc(-1 * 16px);
    padding-right:16px;
  }
  .home-testimonials-premium .compact-testimonials blockquote{
    min-width:86%;
    min-height:auto;
  }

  .footer-grid{gap:1.8rem}
  .footer-logo{max-width:145px}
  .footer-bottom{gap:.45rem}

  .tour-fallback-premium .btn,
  .tour-next-grid .journey-actions .btn,
  .gallery-close-premium .journey-actions .btn{
    white-space:normal;
    text-align:center;
  }

  .contact-card{min-width:0}
  .contact-form input,.contact-form select,.contact-form textarea{font-size:16px}
  .booking-card input,.booking-card select{font-size:16px}
}

/* ============================================================
   V4.4 · MOBILE HERO / ACTION BAR FIX
   Corrige solapamiento de header, títulos recortados y barra CTA.
   ============================================================ */
@media(max-width:820px){
  .site-header{height:68px}
  .brand{width:112px;flex-basis:112px}
  .brand img{max-height:54px}

  /* Barra inferior menos invasiva y con espacio real reservado */
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
  .mobile-actionbar{
    left:0;
    right:0;
    bottom:0;
    border-radius:0;
    height:calc(58px + env(safe-area-inset-bottom));
    padding-bottom:env(safe-area-inset-bottom);
    box-shadow:0 -10px 28px rgba(35,31,27,.12);
    border-top:1px solid rgba(35,31,27,.08);
  }
  .mobile-actionbar a,.mobile-actionbar button{min-height:58px}
  .site-footer{padding-bottom:4.5rem}

  /* Home: el copy nunca invade el header/logo */
  .compact-hero{
    min-height:100svh;
    align-items:flex-start;
  }
  .compact-hero .hero-content{
    padding-top:calc(68px + 3rem);
    padding-bottom:3.5rem;
  }
  .compact-hero .hero-copy{max-width:100%}

  /* Ubicación: evita que el título alto se recorte por arriba */
  .location-hero{
    min-height:calc(100svh - 68px);
    align-items:flex-start;
  }
  .location-hero-content{
    padding-top:3.2rem;
    padding-bottom:3rem;
  }
}

@media(max-width:560px){
  .compact-hero .hero-copy .eyebrow{margin-bottom:.7rem}
  .compact-hero .hero-copy h1{
    font-size:clamp(3.25rem,15vw,4.45rem);
    line-height:.9;
  }
  .compact-hero .hero-copy>p:not(.eyebrow){
    font-size:1.02rem;
    line-height:1.5;
    margin-top:1.15rem;
  }
  .compact-hero .home-hero-actions{margin-top:1.45rem}

  .location-hero h1{
    font-size:clamp(3.05rem,14vw,4.15rem);
    line-height:.9;
  }
  .location-hero-content>p:not(.eyebrow){
    font-size:1.02rem;
    line-height:1.5;
    margin-top:1.15rem;
  }
  .location-hero-actions{margin-top:1.45rem}
}

/* ============================================================
   V4.5 · MOBILE DETAIL PAGES POLISH
   Habitaciones, fichas, Contacto y Recorrido virtual.
   ============================================================ */
@media(max-width:560px){
  /* Habitaciones: tarjetas más compactas y CTA fáciles de tocar */
  .rooms-page-hero{padding-top:calc(68px + 2.4rem)}
  .room-choice{padding-top:3.4rem}
  .room-compare-grid{gap:1.2rem}
  .room-compare-card{min-height:0}
  .room-compare-card>img{aspect-ratio:16/10;max-height:245px;object-fit:cover}
  .room-compare-card>div{padding:1.3rem}
  .room-compare-card h2{font-size:clamp(1.75rem,8.6vw,2.15rem);line-height:1}
  .room-compare-card ul{margin-bottom:.75rem}
  .room-compare-card .card-actions{flex-direction:column;align-items:stretch;gap:.7rem;margin-top:1.15rem}
  .room-compare-card .card-actions .btn{width:100%}
  .room-compare-card .card-actions .text-link{min-height:44px;display:flex;align-items:center;justify-content:center}

  /* Fichas: hero y bloques de decisión sin exceso de altura */
  .room-hero{min-height:72svh}
  .room-hero-copy{padding-top:calc(68px + 2.5rem);padding-bottom:2.4rem}
  .room-hero-copy h1{font-size:clamp(2.65rem,12.2vw,3.8rem);line-height:.92}
  .room-facts-strip{margin-bottom:2.2rem}
  .room-facts-strip strong{font-size:1.2rem}
  .booking-aside{padding:1.35rem}
  .room-gallery{gap:.75rem}

  /* Contacto: evita un hero demasiado alto y mantiene el formulario cómodo */
  .contact-page-hero{padding-top:calc(68px + 2.4rem);padding-bottom:2.8rem}
  .contact-page-hero h1{font-size:clamp(2.35rem,10.8vw,3.15rem);line-height:.98}
  .contact-page-hero .lead{font-size:1rem;line-height:1.55}
  .contact-page-section{padding-top:3.5rem;padding-bottom:4.2rem}
  .contact-page-section .primary-contact{min-height:145px;padding:1.45rem}
  .contact-page-section .contact-card:not(.primary-contact){min-height:118px}
  .contact-page-section .contact-form-card{padding:1.25rem;gap:.9rem}
  .contact-page-section .form-submit-row{gap:.75rem}

  /* Recorrido virtual: hero y Matterport con ritmo más compacto */
  .tour-hero-premium{min-height:70svh;align-items:flex-end}
  .tour-hero-copy{padding-top:calc(68px + 2rem);padding-bottom:3rem}
  .tour-hero-copy h1{font-size:clamp(2.75rem,12.5vw,3.8rem);line-height:.94}
  .tour-value-grid>div{padding:1.1rem 1.2rem}
  .tour-experience{padding-top:4rem}
  .tour-intro-grid{margin-bottom:1.8rem}
  .matterport-wrap{aspect-ratio:4/5}
  .tour-fallback-premium{gap:.8rem}
  .tour-fallback-premium .btn{width:100%}
  .tour-next{padding-top:3.8rem;padding-bottom:3.8rem}
}
