:root{--ink:#1b1714;--brown:#2b211b;--copper:#b66f45;--copper2:#d39a70;--paper:#f3eee6;--sand:#d9cbbb;--white:#fff;--line:rgba(27,23,20,.17);--serif:"Iowan Old Style","Baskerville",Georgia,serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased}body.lock{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}button,a{font:inherit}button{color:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:500;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}.site-header{height:82px;position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.2rem,4vw,4.5rem);color:white;transition:.35s var(--ease)}.site-header.solid{background:rgba(243,238,230,.96);color:var(--ink);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.brand{color:inherit;text-decoration:none;line-height:.9}.brand-main{display:block;font-family:var(--serif);font-size:2rem;letter-spacing:.04em}.brand-sub{font-size:.61rem;letter-spacing:.24em;text-transform:uppercase}.desktop-nav{display:flex;align-items:center;gap:2.1rem}.desktop-nav>a{color:inherit;text-decoration:none;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}.menu-button{display:none;background:transparent;border:0;width:40px;height:40px;padding:8px}.menu-button span{display:block;height:1px;background:currentColor;margin:7px 0}.mobile-menu{display:none}.hero{height:100svh;min-height:680px;position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.hero>img,.hero>picture{position:absolute;inset:0;display:block;width:100%;height:100%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,13,10,.8) 0%,rgba(19,13,10,.43) 43%,rgba(19,13,10,.03) 75%),linear-gradient(0deg,rgba(19,13,10,.38),transparent 50%)}.hero-content{position:relative;z-index:2;padding:0 clamp(1.2rem,7vw,8rem) clamp(4rem,9vh,7rem);max-width:950px}.kicker{margin:0 0 1rem;font-size:.69rem;text-transform:uppercase;letter-spacing:.24em;font-weight:650;color:#8a624a}.kicker.light{color:#e4c6ae}.hero h1,.section h2,.experience-copy h2,.closing h2,.dialog h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.94}.hero h1{font-size:clamp(4rem,8.6vw,8.6rem);margin:0;max-width:8ch}.hero h1 em{font-weight:400;color:var(--copper2)}.hero-copy{font-size:clamp(1.05rem,1.5vw,1.35rem);max-width:43ch;color:rgba(255,255,255,.87);margin:1.8rem 0 0}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.button{border:1px solid transparent;padding:1rem 1.35rem;text-transform:uppercase;letter-spacing:.1em;font-size:.73rem;font-weight:650;cursor:pointer;transition:.25s var(--ease);display:inline-flex;justify-content:center;text-decoration:none}.button-small{padding:.72rem 1rem}.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:var(--copper2)}.button-ghost-light{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}.button-ghost-light:hover{background:#fff;color:var(--ink)}.button-copper{background:var(--copper);color:#fff}.button-copper:hover{background:#955535}.button-dark{background:var(--ink);color:#fff}.hero-note{position:absolute;right:clamp(1.2rem,4vw,4.5rem);bottom:2.2rem;z-index:2;font-family:var(--serif);font-size:1rem;font-style:italic}.section{padding:clamp(5rem,10vw,9rem) clamp(1.2rem,7vw,8rem)}.section-intro{max-width:720px}.section-intro.narrow{max-width:850px}.section-intro h2,.section-head h2{font-size:clamp(3rem,6.5vw,6rem);margin:.2rem 0 1.5rem}.section-intro>p:last-child,.section-head>p{font-size:1.08rem;color:#625950;max-width:52ch}.need-grid{margin-top:3.6rem;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.need-card{min-height:185px;padding:1.5rem;background:transparent;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;cursor:pointer;display:flex;flex-direction:column;transition:.3s var(--ease)}.need-card:nth-child(3n){border-right:0}.need-card:nth-child(n+4){border-bottom:0}.need-card:hover,.need-card:focus-visible{background:var(--ink);color:#fff;outline:0}.need-card span{font-family:var(--serif);font-style:italic;color:var(--copper);font-size:1.2rem}.need-card strong{font-family:var(--serif);font-size:1.8rem;font-weight:400;margin:auto 0 .2rem}.need-card small{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;opacity:.66}.journeys{background:#1d1916;color:#fff}.section-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:4rem;align-items:end;margin-bottom:4rem}.journeys .section-head>p{color:rgba(255,255,255,.62)}.journey-list{border-top:1px solid rgba(255,255,255,.18)}.journey-row{display:grid;grid-template-columns:60px minmax(0,1fr) 230px 40px;gap:1.5rem;align-items:center;padding:1.65rem 0;border-bottom:1px solid rgba(255,255,255,.18);cursor:pointer;transition:.25s}.journey-row:hover{padding-left:1rem;background:rgba(255,255,255,.035)}.journey-index{font-family:var(--serif);font-style:italic;color:var(--copper2)}.journey-territory{margin:0 0 .2rem;text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;color:#c1aa99}.journey-row h3{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:400;margin:0}.journey-row p{margin:.25rem 0 0;color:rgba(255,255,255,.6)}.journey-meta{display:flex;flex-direction:column;gap:.25rem}.journey-meta span{color:rgba(255,255,255,.56);font-size:.8rem}.journey-meta strong{font-weight:500}.journey-row>button{background:transparent;border:0;color:var(--copper2);font-size:1.6rem;cursor:pointer}.experience-split{display:grid;grid-template-columns:1fr 1fr;min-height:720px;background:var(--brown);color:#fff}.experience-image{min-height:520px}.experience-copy{padding:clamp(3rem,8vw,8rem);display:flex;justify-content:center;flex-direction:column}.experience-copy h2{font-size:clamp(3rem,5.6vw,5.7rem);margin:.3rem 0 2rem;max-width:10ch}.experience-copy>p:last-of-type{color:rgba(255,255,255,.68);font-size:1.05rem;max-width:53ch}.sequence{display:flex;align-items:center;gap:.65rem;margin-top:2.5rem;flex-wrap:wrap}.sequence span{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em}.sequence i{width:24px;height:1px;background:var(--copper2)}.services .section-head{margin-bottom:3rem}.service-layout{display:grid;grid-template-columns:.76fr 1.24fr;gap:clamp(2rem,5vw,5rem);align-items:start}.service-image{height:clamp(500px,70vw,780px);position:sticky;top:105px;overflow:hidden}.service-image img{object-position:70% center}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:1fr 180px 80px;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line);align-items:center}.service-list h3{font-family:var(--serif);font-size:1.55rem;font-weight:400;margin:0}.service-list p,.service-list span{font-size:.78rem;color:#74695f;margin:.2rem 0 0}.service-list article>div:nth-child(2){display:flex;flex-direction:column}.service-list strong{font-size:.9rem;font-weight:600}.service-list button,.text-link{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}.continuity{background:#7a3f2b;color:#fff}.continuity .section-intro>p:last-child{color:rgba(255,255,255,.7)}.continuity-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.25);margin-top:4rem}.continuity-card{padding:clamp(2rem,4vw,4rem);background:#713a28}.continuity-card.membership{background:#2b211b}.card-label{text-transform:uppercase;letter-spacing:.16em;font-size:.67rem;color:#e4c6ae}.continuity-card h3{font-family:var(--serif);font-weight:400;font-size:2.5rem;max-width:14ch}.continuity-card ul{padding:0;margin:2rem 0;list-style:none}.continuity-card li,.member-level{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.19)}.continuity-card strong{font-weight:500}.continuity-card small{font-weight:400;opacity:.6}.continuity-card .text-link{color:#fff;padding:1rem 0}.hotel{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:3rem;align-items:center}.hotel-mark{font-family:var(--serif);font-size:8rem;line-height:1;border:1px solid var(--line);width:130px;height:150px;display:grid;place-items:center;color:var(--copper)}.hotel h2{font-size:clamp(3rem,5vw,5.5rem);margin:0 0 1rem}.hotel p:last-child{max-width:65ch;color:#625950}.closing{padding:clamp(7rem,14vw,13rem) 1.2rem;text-align:center;background:linear-gradient(rgba(22,16,12,.82),rgba(22,16,12,.82)),url("hotel-ladera.jpeg") center/cover;color:white}.closing h2{font-size:clamp(4rem,9vw,8rem);margin:.2rem 0 2.5rem}footer{background:#16120f;color:rgba(255,255,255,.7);padding:3rem clamp(1.2rem,4vw,4.5rem);display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;font-size:.75rem}.footer-brand span{font-family:var(--serif);font-size:2.2rem;color:#fff;display:block}.footer-brand small{letter-spacing:.2em;text-transform:uppercase}.mobile-book{display:none}dialog{border:0;padding:0;color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.4)}dialog::backdrop{background:rgba(15,10,7,.76);backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:1rem;top:1rem;z-index:3;border:0;background:transparent;font-size:2rem;cursor:pointer}.journey-dialog{width:min(920px,calc(100% - 2rem));max-height:90vh;background:var(--paper)}.journey-detail{display:grid;grid-template-columns:.7fr 1.3fr}.journey-detail-aside{background:var(--ink);color:#fff;padding:clamp(2rem,5vw,4.5rem);display:flex;flex-direction:column}.journey-detail-aside h2{font-size:clamp(2.8rem,5vw,5rem);margin:.3rem 0 1rem}.journey-price{margin-top:auto}.journey-price span{display:block;color:rgba(255,255,255,.6);font-size:.8rem}.journey-price strong{font-family:var(--serif);font-size:2rem;font-weight:400}.journey-detail-main{padding:clamp(2rem,5vw,4.5rem)}.journey-detail-main h3{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:#8a624a;margin:2rem 0 .5rem}.journey-detail-main p{margin:0;color:#5f554d}.path{display:flex;flex-wrap:wrap;gap:.55rem}.path span{background:#e6ddd2;padding:.45rem .7rem;font-size:.76rem}.modal-actions{display:flex;gap:.7rem;margin-top:2.5rem}.booking-dialog{width:min(700px,calc(100% - 2rem));max-height:92vh;background:var(--paper);padding:clamp(2rem,5vw,4rem)}.booking-head h2{font-size:clamp(2.7rem,5vw,4.6rem);margin:0 0 1rem}.booking-head>p:last-child{color:#6a6057}.booking-dialog form{margin-top:2rem}.booking-dialog label{display:flex;flex-direction:column;gap:.45rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.booking-dialog input,.booking-dialog select,.booking-dialog textarea{width:100%;border:1px solid var(--line);background:#fff;padding:.9rem;font:inherit;font-size:1rem;color:var(--ink);border-radius:0}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.booking-dialog label.consent{flex-direction:row;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:.78rem}.consent input{width:auto;margin-top:.25rem}.submit{width:100%}.form-note{font-size:.8rem;color:#7a3f2b}.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #db9f71;outline-offset:3px}
@media(max-width:900px){.desktop-nav{display:none}.menu-button{display:block}.mobile-menu{position:fixed;inset:82px 0 auto;z-index:99;background:var(--paper);color:var(--ink);padding:1.3rem;flex-direction:column;gap:0}.mobile-menu.open{display:flex}.mobile-menu a{text-decoration:none;padding:1rem 0;border-bottom:1px solid var(--line)}.need-grid{grid-template-columns:1fr 1fr}.need-card:nth-child(3n){border-right:1px solid var(--line)}.need-card:nth-child(2n){border-right:0}.need-card:nth-child(n+4){border-bottom:1px solid var(--line)}.need-card:nth-child(n+5){border-bottom:0}.section-head{grid-template-columns:1fr;gap:1rem}.experience-split{grid-template-columns:1fr}.experience-image{height:58vw}.service-layout{grid-template-columns:1fr}.service-image{position:relative;top:auto;height:60vw}.hotel{grid-template-columns:100px 1fr}.hotel-mark{width:90px;height:110px;font-size:6rem}.hotel .button{grid-column:2}.journey-detail{grid-template-columns:1fr}.journey-price{margin-top:2rem}}
@media(max-width:640px){.site-header{height:68px}.hero{min-height:650px}.hero-content{padding-bottom:6.5rem}.hero h1{font-size:clamp(3.7rem,20vw,6rem)}.hero-note{bottom:1.5rem}.section{padding:5rem 1rem}.need-grid{grid-template-columns:1fr}.need-card{min-height:125px;border-right:0!important;border-bottom:1px solid var(--line)!important}.need-card:last-child{border-bottom:0!important}.journey-row{grid-template-columns:34px 1fr 28px;gap:.7rem}.journey-meta{grid-column:2}.journey-row>button{grid-column:3;grid-row:1/3}.experience-image{height:80vw}.experience-copy{padding:4rem 1rem}.service-image{height:82vw}.service-list article{grid-template-columns:1fr auto}.service-list article>button{grid-column:2;grid-row:1/3}.continuity-grid{grid-template-columns:1fr}.hotel{grid-template-columns:1fr}.hotel-mark{width:80px;height:90px}.hotel .button{grid-column:1}.closing{padding-bottom:9rem}.closing h2{font-size:18vw}footer{grid-template-columns:1fr;padding-bottom:7rem}.mobile-book{display:block;position:fixed;z-index:90;bottom:0;left:0;right:0;width:100%;border:0;background:var(--copper);color:#fff;padding:1.05rem;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}.form-two{grid-template-columns:1fr}.booking-dialog{padding:2rem 1rem}.journey-dialog{max-height:94vh}.journey-detail-aside,.journey-detail-main{padding:2.4rem 1.2rem}.modal-actions{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Official Ladera identity and public review state */
.brand{background:rgba(22,18,15,.9);padding:.55rem .72rem .45rem;display:flex;align-items:flex-end;gap:.7rem}
.brand img{width:106px;height:auto;object-fit:contain}
.brand-sub{font-size:.54rem;letter-spacing:.2em;color:#e4c6ae;white-space:nowrap;padding-bottom:.12rem}
.desktop-nav{gap:1.7rem}
.review-status{position:fixed;z-index:89;top:82px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.65rem;width:max-content;max-width:calc(100% - 2rem);padding:.48rem .8rem;background:rgba(255,255,255,.93);color:#40362f;border:1px solid rgba(27,23,20,.12);box-shadow:0 6px 24px rgba(0,0,0,.1);font-size:.72rem;backdrop-filter:blur(12px)}
.review-status strong{text-transform:uppercase;letter-spacing:.08em;color:#8a4d32}
.review-status span{color:#6b6159}
.hotel{grid-template-columns:180px minmax(0,1fr) auto}
.hotel-logo-panel{width:180px;min-height:126px;background:var(--ink);display:grid;place-items:center;padding:2rem 1.4rem}
.hotel-logo-panel img{width:100%;height:auto;object-fit:contain}
.location{background:#ded4c8;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(2.5rem,6vw,6rem);align-items:stretch}
.location-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.location h2{font-size:clamp(3.2rem,5.8vw,6.3rem);margin:.2rem 0 1.5rem;max-width:8ch}
.location-copy>p:not(.kicker){font-size:1.05rem;color:#5f554d;max-width:45ch}
.location address{font-style:normal;display:flex;flex-direction:column;margin:1.5rem 0 2rem}
.location address strong{font-family:var(--serif);font-size:1.55rem;font-weight:400}
.location address span{color:#6c6259}
.map-frame{min-height:520px;background:#c9b9a8;overflow:hidden}
.map-frame iframe{width:100%;height:100%;min-height:520px;border:0;display:block;filter:sepia(.12) saturate(.8) contrast(.96)}
.footer-brand img{width:118px;height:auto;object-fit:contain;margin-bottom:.45rem}

@media(max-width:900px){
  .hotel{grid-template-columns:180px 1fr}
  .hotel .button{grid-column:2}
  .location{grid-template-columns:1fr}
}

@media(max-width:640px){
  .brand{padding:.45rem .55rem .38rem}
  .brand img{width:82px}
  .brand-sub{display:none}
  .review-status{top:68px;width:calc(100% - 1rem);justify-content:center;text-align:center;flex-wrap:wrap;gap:.1rem .55rem}
  .review-status span{font-size:.68rem}
  .hotel{grid-template-columns:1fr}
  .hotel-logo-panel{width:150px;min-height:105px}
  .hotel .button{grid-column:1}
  .map-frame,.map-frame iframe{min-height:420px}
}

/* Pre-launch audit improvements */
section[id]{scroll-margin-top:9rem}
.site-header.solid{background:rgba(243,238,230,.99);backdrop-filter:none}
.brand{width:160px;height:76px;position:relative;display:block;overflow:hidden;background:transparent;padding:0}
.brand-lockup{position:absolute;inset:0;display:block}
.brand-lockup img{position:absolute;width:190px;height:190px;max-width:none;object-fit:contain;left:-14px;top:-53px;transition:opacity .25s var(--ease)}
.brand .logo-dark{opacity:0}
.site-header.solid .brand .logo-light{opacity:0}
.site-header.solid .brand .logo-dark{opacity:1}
.review-status{backdrop-filter:none;pointer-events:none}
.journey-row{grid-template-columns:60px minmax(0,1fr) minmax(260px,320px) 40px}
.journey-meta small{font-size:.72rem;line-height:1.35;color:rgba(255,255,255,.66)}
.about{background:#e8e0d6}
.about .section-head{align-items:start}
.about-copy{max-width:54ch;color:#5d534b;font-size:1.05rem}
.about-copy p{margin:0 0 1rem}
.facility-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-top:3.5rem}
.facility-grid article{min-height:205px;padding:1.5rem;border-right:1px solid var(--line);display:flex;flex-direction:column}
.facility-grid article:last-child{border-right:0}
.facility-grid span{font-family:var(--serif);font-style:italic;color:var(--copper)}
.facility-grid h3{font-family:var(--serif);font-size:1.8rem;font-weight:400;margin:auto 0 .5rem}
.facility-grid p{font-size:.82rem;color:#6b6158;margin:0}
.reservation-note{margin:1.2rem 0 0;font-size:.82rem;color:#6b6158}
.hotel-logo-panel{width:210px;height:130px;min-height:0;position:relative;overflow:hidden;background:transparent;border:0;padding:0}
.hotel{grid-template-columns:210px minmax(0,1fr) auto}
.hotel-logo-panel img{position:absolute;width:250px;height:250px;max-width:none;object-fit:contain;left:-19px;top:-69px}
.location-actions{display:flex;gap:.7rem;flex-wrap:wrap}
.button-outline{background:transparent;border-color:var(--ink);color:var(--ink)}
.button-outline:hover{background:var(--ink);color:#fff}
.contact-email{display:inline-block;margin-top:1.25rem;color:var(--ink);text-underline-offset:4px}
.map-frame iframe{filter:none}
.faq{background:var(--paper);display:grid;grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}
.faq .section-intro{position:sticky;top:135px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:0}
.faq-list summary{list-style:none;cursor:pointer;padding:1.45rem 2.5rem 1.45rem 0;font-family:var(--serif);font-size:1.5rem;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:.25rem;top:1.4rem;color:var(--copper);font-family:var(--sans);font-size:1.3rem}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{margin:0;padding:0 3rem 1.5rem 0;color:#645a52;max-width:65ch}
footer a{color:inherit;text-underline-offset:3px}
.footer-brand{position:relative;width:210px;height:105px;overflow:hidden}
.footer-brand img{position:absolute;width:250px;height:250px;max-width:none;object-fit:contain;left:-19px;top:-69px;margin:0}
.legal-links{display:flex;gap:1rem;flex-wrap:wrap;margin:.7rem 0}
.optional{font-size:.66rem;color:#7a7068;letter-spacing:.05em;text-transform:none}

@media(max-width:1100px){
  .desktop-nav{display:none}
  .menu-button{display:block}
  .mobile-menu{position:fixed;inset:82px 0 auto;z-index:99;background:var(--paper);color:var(--ink);padding:1.3rem;flex-direction:column;gap:0}
  .mobile-menu.open{display:flex}
  .mobile-menu a{text-decoration:none;padding:1rem 0;border-bottom:1px solid var(--line)}
}

@media(max-width:900px){
  .facility-grid{grid-template-columns:1fr 1fr}
  .facility-grid article:nth-child(2){border-right:0}
  .facility-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .faq{grid-template-columns:1fr}
  .faq .section-intro{position:static}
  .hotel{grid-template-columns:210px 1fr}
}

@media(max-width:640px){
  section[id]{scroll-margin-top:8.2rem}
  .brand{width:130px;height:63px}
  .brand-lockup img{width:156px;height:156px;left:-12px;top:-43px}
  .facility-grid{grid-template-columns:1fr}
  .facility-grid article{min-height:150px;border-right:0;border-bottom:1px solid var(--line)!important}
  .facility-grid article:last-child{border-bottom:0!important}
  .journey-row{grid-template-columns:34px 1fr 28px}
  .hotel-logo-panel{width:190px;height:118px}
  .hotel-logo-panel img{width:226px;height:226px;left:-17px;top:-62px}
  .location-actions{width:100%;flex-direction:column}
  .faq-list summary{font-size:1.3rem}
}

/* Approved Massage Collection, Journey tooltips, Packs and Membership update */
.service-list .service-description{margin-top:.62rem;max-width:54ch;font-size:.82rem;line-height:1.5;color:#5e554e}
.service-list .service-note{margin-top:.55rem;font-size:.72rem;font-style:italic;color:#8a624a}

.continuity-grid{align-items:start}
.continuity-definition{max-width:48ch;color:rgba(255,255,255,.7);margin:0 0 2.4rem}
.pack-list,.membership-list{border-top:1px solid rgba(255,255,255,.22)}
.pack-item,.membership-plan{padding:1.6rem 0;border-bottom:1px solid rgba(255,255,255,.22)}
.continuity-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1.25rem}
.continuity-item-head>div{min-width:0}
.continuity-item-head h4{font-family:var(--serif);font-size:1.55rem;line-height:1.08;font-weight:400;margin:.25rem 0 0}
.continuity-item-head>strong{font-family:var(--serif);font-size:1.18rem;line-height:1.2;font-weight:400;text-align:right;white-space:nowrap}
.item-eyebrow{display:block;font-size:.66rem;line-height:1.4;text-transform:uppercase;letter-spacing:.11em;color:#e4c6ae}
.pack-item>p,.membership-plan>p{font-size:.82rem;line-height:1.55;color:rgba(255,255,255,.72);margin:1rem 0 0}
.pack-item .item-includes,.membership-plan .item-includes{color:#efd6c3;font-size:.76rem}
.membership-plan ul{padding-left:1.1rem;margin:1rem 0 0;list-style:disc}
.membership-plan li{display:list-item;justify-content:initial;gap:0;padding:.22rem 0;border:0;font-size:.8rem;line-height:1.48;color:rgba(255,255,255,.78)}
.continuity-card .text-link{padding:1rem 0 0}
.continuity-payment-status{margin:1.4rem 0 0;padding:1rem 1.1rem;border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.82);font-size:.82rem;line-height:1.55}

.hotel-visual{min-height:clamp(560px,72vw,820px);position:relative;overflow:hidden;isolation:isolate;color:#fff;grid-template-columns:minmax(160px,210px) minmax(0,1fr) auto;align-items:end}
.hotel-visual-bg,.hotel-visual-overlay{position:absolute;inset:0;width:100%;height:100%}.hotel-visual>picture{display:contents}
.hotel-visual-bg{z-index:-2;object-fit:cover;object-position:center}
.hotel-visual-overlay{z-index:-1;background:linear-gradient(90deg,rgba(18,13,10,.88) 0%,rgba(18,13,10,.58) 48%,rgba(18,13,10,.2) 100%),linear-gradient(0deg,rgba(18,13,10,.7),transparent 58%)}
.hotel-visual .hotel-logo-panel{align-self:end;background:transparent;backdrop-filter:none;border:0}
.hotel-visual .hotel-logo-panel img{object-fit:contain}
.hotel-visual-copy{max-width:760px}
.hotel-visual h2{color:#fff;text-wrap:balance}
.hotel-visual .hotel-visual-copy>p:last-child{color:rgba(255,255,255,.8);font-size:1.02rem}
.reservo-shell{max-width:1200px;margin:0 auto;background:#f8f4ed;border:1px solid #cfc3b6;box-shadow:0 18px 55px rgba(49,36,27,.1);overflow:hidden}
.reservo-shell-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:#1d1916;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}
.reservo-shell-head strong{font-weight:500;color:#e6ba96}
.reservo-frame{display:block;width:100%;height:560px;border:0;background:#fff}
.reservo-fallback{margin:0;padding:.9rem 1.25rem;border-top:1px solid var(--line);color:#625950;font-size:.78rem}
.reservo-fallback a{color:inherit;text-underline-offset:3px}
.contact-icon-actions{display:flex;align-items:center;gap:.65rem}
.contact-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(29,25,22,.45);color:var(--ink);transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.contact-icon:hover,.contact-icon:focus-visible{background:var(--ink);color:#fff;border-color:var(--ink)}
.contact-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.booking-gender{max-width:1200px;margin:0 auto 1.5rem;padding:1.35rem 1.5rem;border:1px solid #cfc3b6;background:#f8f4ed}
.booking-gender legend{padding:0 .45rem;font-family:var(--serif);font-size:1.65rem}
.booking-gender>p{margin:0 0 1rem;color:#625950;font-size:.84rem}
.booking-gender-options{display:flex;gap:.7rem;flex-wrap:wrap}
.booking-gender-option{min-width:190px;padding:.9rem 1.15rem;border:1px solid #b7a89a;background:transparent;color:var(--ink);font-size:.74rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.booking-gender-option[aria-pressed="true"],.booking-gender-option:hover,.booking-gender-option:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff}
.booking-gender-status{min-height:1.3em;margin:.8rem 0 0!important;font-size:.8rem!important;color:#7a3f2b!important}
.booking-gender-status a{color:inherit;text-underline-offset:3px;font-weight:650}
.reservo-frame[hidden],.reservo-fallback[hidden]{display:none}

.journey-dialog{overflow:visible}
.journey-dialog #journeyDialogContent{max-height:90vh;overflow-y:auto}
.journey-detail-main .path-instruction{font-size:.72rem;color:#80746b;margin:0 0 .7rem}
.path-item{display:inline-flex;background:transparent!important;padding:0!important}
.path-chip{border:1px solid transparent;background:#e6ddd2;padding:.48rem .72rem;font-size:.76rem;line-height:1.25;cursor:help;transition:.2s var(--ease)}
.path-chip:hover,.path-chip:focus-visible,.path-item.open .path-chip{background:var(--ink);color:#fff;border-color:var(--copper2);outline:0}
.path-tooltip{position:fixed;z-index:20;width:max-content;max-width:min(320px,calc(100vw - 24px));padding:.7rem .82rem;background:#171310;color:#fff;font-size:.76rem;line-height:1.45;box-shadow:0 10px 28px rgba(0,0,0,.28);pointer-events:none}
.path-tooltip::before{content:"";position:absolute;width:8px;height:8px;background:#171310;left:50%;top:-4px;transform:translateX(-50%) rotate(45deg)}

@media(max-width:1100px){
  .continuity-grid{grid-template-columns:1fr}
}

@media(max-width:640px){
  .service-list article{grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .continuity-card{padding:2rem 1.15rem}
  .continuity-item-head{flex-direction:column;gap:.75rem}
  .continuity-item-head>strong{text-align:left;white-space:normal}
  .hotel{grid-template-columns:1fr}
  .path-tooltip{font-size:.74rem}
}

@media(max-width:900px){
  .hotel-visual{grid-template-columns:1fr;align-content:end;gap:1.4rem;min-height:720px}
  .hotel-visual .hotel-logo-panel{width:180px;height:112px}
  .hotel-visual .button{grid-column:1;justify-self:start}
  .reservo-frame{height:580px}
}

@media(max-width:640px){
  .hotel-visual{min-height:680px;padding-bottom:6rem}
  .hotel-visual-bg{object-position:42% center}
  .hotel-visual-overlay{background:linear-gradient(0deg,rgba(18,13,10,.9) 0%,rgba(18,13,10,.5) 68%,rgba(18,13,10,.18) 100%)}
  .hotel-visual .hotel-logo-panel{width:160px;height:100px}
  .hotel-visual h2{font-size:clamp(3.2rem,15vw,5rem)}
  .reservo-shell-head{align-items:flex-start;flex-direction:column}
  .reservo-frame{height:590px}
  .booking-gender{padding:1.1rem}
  .booking-gender-options{display:grid;grid-template-columns:1fr 1fr}
  .booking-gender-option{min-width:0;padding:.85rem .5rem;font-size:.66rem}
  .location-actions{align-items:flex-start}
  .contact-icon-actions{width:100%;justify-content:flex-start}
}

/* Mobile experience refinement */
.review-status-short,.continuity-toggle{display:none}
.continuity-item-body>p{font-size:.82rem;line-height:1.55;color:rgba(255,255,255,.72);margin:1rem 0 0}

@media(max-width:1100px){
  body.menu-open{overflow:hidden}
  .menu-button{width:44px;height:44px;padding:9px}
  .mobile-menu{max-height:calc(100dvh - 82px);overflow-y:auto;box-shadow:0 18px 45px rgba(27,23,20,.18)}
  .mobile-menu a{display:flex;align-items:center;min-height:54px;-webkit-tap-highlight-color:rgba(182,111,69,.18)}
  .mobile-menu a:not(.button),.mobile-menu a:not(.button):visited{color:var(--ink)}
  .mobile-menu a:not(.button):hover,.mobile-menu a:not(.button):active,.mobile-menu a:not(.button):focus-visible{color:var(--copper)}
  .mobile-menu .button,.mobile-menu a.button,.mobile-menu a.button:visited{min-height:50px;margin-top:1rem;color:#fff}
}

@media(max-width:900px){
  .service-list article>button{min-height:44px;padding:.7rem .2rem}
}

@media(max-width:640px){
  body.menu-open{overflow:hidden}
  .section-head{grid-template-columns:minmax(0,1fr)}
  .continuity-grid{grid-template-columns:minmax(0,1fr)}
  .continuity-card{min-width:0}
  .site-header{padding-inline:1rem}
  .menu-button{width:44px;height:44px;padding:9px}
  .review-status{top:68px;left:0;transform:none;width:100%;max-width:none;min-height:32px;padding:.38rem 1rem;border-width:0 0 1px;justify-content:center;white-space:nowrap;box-shadow:0 5px 16px rgba(0,0,0,.08)}
  .review-status strong,.review-status-long{display:none}
  .review-status-short{display:block;font-size:.75rem;line-height:1.3;letter-spacing:.04em;color:#6b5142}
  .mobile-menu{inset:68px 0 auto;max-height:calc(100dvh - 68px);overflow-y:auto;padding:1rem 1.1rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 18px 45px rgba(27,23,20,.18)}
  .mobile-menu a{display:flex;align-items:center;min-height:54px;padding:.8rem 0;font-size:1rem}
  .mobile-menu .button{min-height:50px;margin-top:1rem}
  .mobile-book{min-height:56px;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom))}

  .service-list article{grid-template-columns:1fr;gap:.9rem;padding:1.5rem 0}
  .service-list article>div:nth-child(2){grid-column:1;grid-row:auto;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:1rem}
  .service-list article>button{grid-column:1;grid-row:auto;justify-self:start;min-height:44px;padding:.7rem 0}
  .service-list h3{font-size:1.7rem;line-height:1.12}
  .service-list .service-description{font-size:.9rem;line-height:1.55}

  .pack-item,.membership-plan{padding:1.35rem 0}
  .continuity-item-head{gap:.5rem}
  .continuity-item-head h4{font-size:1.65rem}
  .continuity-item-head>strong{font-size:1.35rem}
  .continuity-toggle{display:flex;width:100%;min-height:46px;margin-top:1rem;padding:.7rem 0;align-items:center;justify-content:space-between;border:0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
  .continuity-toggle::after{content:"+";font-family:var(--serif);font-size:1.35rem;line-height:1}
  .expanded>.continuity-toggle::after{content:"−"}
  .continuity-item-body{display:none}
  .expanded>.continuity-item-body{display:block}
  .continuity-item-body .text-link{display:inline-flex;align-items:center;min-height:44px}

  .journey-dialog,.booking-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}
  .journey-dialog #journeyDialogContent{max-height:calc(100dvh - 1rem)}
  .journey-dialog>.dialog-close{right:.7rem;top:.7rem;width:44px;height:44px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff;font-size:1.8rem;line-height:1}
  .booking-dialog>.dialog-close{right:.55rem;top:.55rem;width:44px;height:44px;display:grid;place-items:center}
  .journey-detail-aside{padding:2rem 1.15rem 1.6rem}
  .journey-detail-aside h2{font-size:2.65rem;line-height:1;max-width:9ch;margin:.2rem 0 .8rem}
  .journey-price{margin-top:1.5rem}
  .journey-price strong{font-size:1.5rem;line-height:1.28}
  .journey-detail-main{padding:2rem 1.15rem}
  .journey-detail-main h3{margin-top:1.6rem}
  .path-chip{min-height:42px;padding:.6rem .75rem;font-size:.8rem;cursor:pointer}
  .modal-actions .button{min-height:48px}
  .booking-dialog{padding:2rem 1.1rem}
}

@media(max-width:360px){
  .section-intro h2,.section-head h2,.hotel h2{font-size:2.3rem;hyphens:auto;overflow-wrap:break-word}
  .continuity-card h3{font-size:1.95rem;hyphens:auto;overflow-wrap:break-word}
}

/* Reservation stays on the Ladera site with a compact, human-confirmed flow. */
.reservation{background:#e8e0d6}
.reservation-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:clamp(2rem,6vw,6rem);align-items:end;max-width:1200px;margin:0 auto 2.5rem}
.reservation-intro h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.96;font-size:clamp(3.4rem,6.5vw,6.3rem);margin:0}
.reservation-intro>p{font-size:1.05rem;max-width:42ch;color:#625950;margin:0 0 .35rem}
.reservation-selection{max-width:1200px;margin:0 auto 1rem;padding:1rem 1.2rem;background:#f8f4ed;border-left:3px solid var(--copper);font-size:.9rem}
.booking-wizard{max-width:1200px;margin:0 auto;background:var(--paper);border:1px solid var(--line);box-shadow:0 25px 65px rgba(27,23,20,.1);padding:clamp(1.25rem,3vw,2.5rem)}
.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;list-style:none;padding:0 0 1.25rem;margin:0 0 2rem;border-bottom:1px solid var(--line)}
.booking-steps li{display:flex;align-items:center;gap:.6rem;color:#8c8278;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.booking-steps li span{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #cfc4b8;border-radius:50%;font-size:.75rem}
.booking-steps li.is-active,.booking-steps li.is-complete{color:var(--ink)}
.booking-steps li.is-active span,.booking-steps li.is-complete span{background:var(--copper);border-color:var(--copper);color:#fff}
.booking-panel{border:0;padding:0;margin:0;min-width:0}
.booking-panel legend{font-family:var(--serif);font-size:clamp(2rem,4vw,3.5rem);line-height:1;margin:0 0 1.5rem;color:var(--ink)}
.booking-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1.5rem}
.booking-choice{position:relative;display:block;cursor:pointer}
.booking-choice input{position:absolute;opacity:0;pointer-events:none}
.booking-choice span{display:flex;flex-direction:column;gap:.35rem;min-height:6.2rem;border:1px solid var(--line);padding:1rem;background:#fbf8f3;transition:border-color .2s,background .2s,transform .2s}
.booking-choice:hover span{border-color:var(--copper);transform:translateY(-2px)}
.booking-choice input:checked+span{border-color:var(--copper);background:#f3e3d7;box-shadow:inset 0 0 0 1px var(--copper)}
.booking-choice strong{font-family:var(--serif);font-size:1.35rem;font-weight:400;color:var(--ink)}
.booking-choice small{font-size:.78rem;color:#6b6158}
.booking-panel label{display:flex;flex-direction:column;gap:.45rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}
.booking-panel input,.booking-panel select,.booking-panel textarea{width:100%;border:1px solid var(--line);background:#fff;padding:.9rem;font:inherit;font-size:1rem;color:var(--ink);border-radius:0}
.booking-panel label.consent{flex-direction:row;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:.78rem}
.booking-panel .consent input{width:auto;margin-top:.25rem}
.booking-helper,.booking-note{color:#6b6158;font-size:.85rem;margin:0 0 1.4rem}
.booking-actions{display:flex;justify-content:space-between;gap:1rem}
.booking-actions .button,.booking-panel>.button{min-width:10rem}
.reservation-help{max-width:1200px;margin:1rem auto 0;color:#625950;font-size:.82rem}
.reservation-help a{color:inherit;text-underline-offset:3px}
.request-dialog{width:min(700px,calc(100% - 2rem));max-height:92vh;background:var(--paper);padding:clamp(2rem,5vw,4rem)}
.request-dialog form{margin-top:2rem}
.request-dialog label{display:flex;flex-direction:column;gap:.45rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}
.request-dialog input,.request-dialog select,.request-dialog textarea{width:100%;border:1px solid var(--line);background:#fff;padding:.9rem;font:inherit;font-size:1rem;color:var(--ink);border-radius:0}
.request-dialog label.consent{flex-direction:row;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:.78rem}
.request-dialog .consent input{width:auto;margin-top:.25rem}
.request-dialog .submit{width:100%}
@media(max-width:760px){
  .reservation-intro{grid-template-columns:1fr;gap:1rem}
  .reservation-intro h2{font-size:clamp(3.1rem,14vw,5rem)}
  .booking-wizard{margin-left:-1rem;margin-right:-1rem;border-left:0;border-right:0;padding:1.25rem}
  .booking-choice-grid{grid-template-columns:1fr 1fr}
  .booking-steps li{font-size:.65rem;gap:.35rem}
  .booking-steps li span{width:1.7rem;height:1.7rem}
  .request-dialog{padding:2rem 1rem}
}

/* Six-question Ladera experience orienter */
.diagnostic-entry{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(3rem,8vw,8rem);align-items:center;background:#efe8de}
.diagnostic-entry-copy{max-width:690px}
.diagnostic-entry-copy h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.94;font-size:clamp(3.4rem,6.7vw,6.5rem);margin:.2rem 0 1.5rem}
.diagnostic-entry-copy>p:not(.kicker){font-size:1.08rem;color:#625950;max-width:54ch;margin:0 0 2rem}
.diagnostic-entry-copy>small{display:block;max-width:50ch;margin-top:1rem;color:#74695f;font-size:.75rem;line-height:1.5}
.diagnostic-entry-steps{border-top:1px solid var(--line)}
.diagnostic-entry-steps article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:.3rem 1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.diagnostic-entry-steps span{grid-row:1/3;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--copper)}
.diagnostic-entry-steps strong{font-family:var(--serif);font-size:1.55rem;font-weight:400;line-height:1.15}
.diagnostic-entry-steps p{margin:0;color:#6b6158;font-size:.84rem;line-height:1.55}

.diagnostic-overlay{--diagnostic-gold:#d39a70;--diagnostic-dark:#2b211b;--diagnostic-panel:#31383d;--diagnostic-ivory:#f7f5f0;--diagnostic-muted:#b8b0a7;position:fixed;inset:0;z-index:220;display:none;align-items:flex-start;justify-content:center;padding:clamp(8px,4vh,48px) 12px;overflow-y:auto;background:rgba(17,14,12,.8);backdrop-filter:blur(4px)}
.diagnostic-overlay.is-open{display:flex}
.diagnostic-modal{position:relative;width:min(620px,100%);min-height:470px;margin:auto 0;padding:clamp(2.2rem,5vw,3.5rem) clamp(1.1rem,5vw,3rem) clamp(1.5rem,4vw,2.5rem);background:var(--diagnostic-panel);color:var(--diagnostic-ivory);border:1px solid rgba(247,245,240,.14);box-shadow:0 30px 100px rgba(0,0,0,.42)}
.diagnostic-close{position:absolute;right:.8rem;top:.8rem;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid rgba(247,245,240,.2);background:transparent;color:var(--diagnostic-ivory);font-size:1.6rem;line-height:1;cursor:pointer}
.diagnostic-close:hover,.diagnostic-close:focus-visible{border-color:var(--diagnostic-gold);color:var(--diagnostic-gold)}
.diagnostic-progress{display:flex;justify-content:center;gap:.42rem;margin:0 2.8rem 1.3rem}
.diagnostic-progress span{width:18px;height:1px;background:rgba(247,245,240,.2)}
.diagnostic-progress span.is-active{background:var(--diagnostic-gold)}
.diagnostic-progress span.is-done{background:var(--diagnostic-muted)}
.diagnostic-step{text-align:center}
.diagnostic-eyebrow{margin:0 0 .65rem;color:var(--diagnostic-gold);font-size:.66rem;font-weight:650;letter-spacing:.24em;text-transform:uppercase}
.diagnostic-step h2{font-family:var(--serif);font-size:clamp(2rem,5vw,3.25rem);font-weight:400;font-style:italic;line-height:1.05;letter-spacing:-.03em;margin:0 2rem 1.3rem;color:var(--diagnostic-ivory)}
.diagnostic-help,.diagnostic-note{color:var(--diagnostic-muted);font-size:.78rem;line-height:1.6;margin:0 auto 1.2rem;max-width:50ch}
.diagnostic-options,.diagnostic-results{display:flex;flex-direction:column;gap:.65rem}
.diagnostic-option,.diagnostic-result{display:block;width:100%;padding:.9rem 1rem;border:1px solid rgba(247,245,240,.18);background:transparent;color:var(--diagnostic-ivory);text-align:left;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease)}
.diagnostic-option:hover,.diagnostic-option:focus-visible,.diagnostic-option.is-selected,.diagnostic-result:hover,.diagnostic-result:focus-visible,.diagnostic-result.is-selected{border-color:var(--diagnostic-gold);background:rgba(211,154,112,.1);outline:0}
.diagnostic-option small{display:block;margin-top:.2rem;color:var(--diagnostic-muted);font-size:.75rem;line-height:1.45}
.diagnostic-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.3rem}
.diagnostic-nav-button{min-height:44px;padding:.55rem .25rem;border:0;background:transparent;color:var(--diagnostic-muted);font-size:.7rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.diagnostic-nav-button:hover,.diagnostic-nav-button:focus-visible{color:var(--diagnostic-ivory)}
.diagnostic-nav-button:disabled{opacity:.3;cursor:not-allowed}
.diagnostic-results{margin-bottom:1rem}
.diagnostic-result strong{display:block;font-family:var(--serif);font-size:1.4rem;font-weight:400;line-height:1.1}
.diagnostic-result span{display:block;margin:.35rem 0 .55rem;color:var(--diagnostic-gold);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.diagnostic-result p{margin:0;color:var(--diagnostic-muted);font-size:.78rem;line-height:1.5}
.diagnostic-cta{display:none;padding-top:.2rem;text-align:center}
.diagnostic-cta.is-visible{display:block}
.diagnostic-whatsapp{width:100%;margin:1rem 0 .8rem}
.diagnostic-cta .diagnostic-note{margin-bottom:0}

@media(max-width:900px){
  .diagnostic-entry{grid-template-columns:1fr;gap:3rem}
}

@media(max-width:640px){
  .booking-choice-grid{grid-template-columns:minmax(0,1fr)}
  .booking-choice,.booking-choice span{min-width:0;width:100%}
  .booking-choice input{width:1px}
  .diagnostic-entry-copy h2{font-size:clamp(3.1rem,15vw,5rem)}
  .diagnostic-entry-copy .button{width:100%;min-height:50px}
  .diagnostic-entry-steps article{grid-template-columns:38px minmax(0,1fr)}
  .diagnostic-overlay{padding:0}
  .diagnostic-modal{width:100%;min-height:100dvh;margin:0;padding:4.2rem 1rem calc(1.5rem + env(safe-area-inset-bottom));border:0}
  .diagnostic-close{right:.65rem;top:.65rem}
  .diagnostic-progress{margin-top:0}
  .diagnostic-step h2{font-size:2.35rem;margin-inline:.75rem}
  .diagnostic-option{min-height:50px;padding:1rem}
  .diagnostic-nav{padding-bottom:.5rem}
}

/* Editorial refinements: align the spa facilities and booking preference controls. */
.facility-grid article{
  display:grid;
  grid-template-rows:auto minmax(4.35rem,auto) 1fr;
  align-content:start;
  min-height:245px;
}
.facility-grid h3{
  align-self:start;
  margin:1.05rem 0 .65rem;
  line-height:1.12;
}
.facility-grid p{line-height:1.55}

.booking-gender{
  max-width:1200px;
  min-width:0;
  margin:0 auto 1.5rem;
  padding:1.3rem 1.5rem 1.5rem;
  border:1px solid var(--line);
  background:transparent;
}
.booking-gender legend{
  max-width:100%;
  padding:0 .55rem;
  color:var(--ink);
  font-family:var(--serif);
  font-size:clamp(1.45rem,2.2vw,1.8rem);
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1.2;
}
.booking-gender>p{
  max-width:52ch;
  margin:.25rem 0 1rem;
  color:#6b6158;
  font-size:.84rem;
  line-height:1.6;
}
.booking-gender-options{display:flex;gap:.65rem;flex-wrap:wrap}
.booking-gender-option{
  appearance:none;
  display:flex;
  align-items:center;
  gap:.85rem;
  min-width:220px;
  min-height:54px;
  padding:.75rem 1rem;
  border:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font:600 .68rem/1.3 var(--sans);
  letter-spacing:.105em;
  text-align:left;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
}
.booking-gender-option::before{
  color:var(--copper);
  font-family:var(--serif);
  font-size:1rem;
  font-style:italic;
  font-weight:400;
  letter-spacing:0;
}
.booking-gender-option[data-booking-gender="female"]::before{content:"01"}
.booking-gender-option[data-booking-gender="male"]::before{content:"02"}
.booking-gender-option[data-booking-gender="any"]::before{content:"03"}
.booking-gender-option:hover,.booking-gender-option:focus-visible{
  border-color:var(--copper);
  outline:0;
}
.booking-gender-option[aria-pressed="true"]{
  border-color:var(--ink);
  background:var(--ink);
  color:#fff;
}
.booking-gender-option[aria-pressed="true"]::before{color:#d39a70}
.booking-gender-option:focus-visible{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--copper)}

@media(max-width:900px){
  .facility-grid article{min-height:250px;padding:1.2rem}
}
@media(max-width:640px){
  .facility-grid article{grid-template-rows:auto auto auto;min-height:0;padding:1.2rem .9rem}
  .facility-grid h3{min-height:0;margin:.75rem 0 .5rem}
  .booking-gender{padding:1rem 1rem 1.1rem}
  .booking-gender-options{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
  .booking-gender-option{min-width:0;min-height:58px;padding:.75rem .65rem;gap:.55rem;font-size:.61rem;letter-spacing:.07em}
}

/* Keep the preference choice inside the same Reservo booking panel. */
.reservo-step{padding:.6rem 1.25rem 0}
.reservo-step .booking-gender{
  max-width:none;
  margin:0;
  padding:.8rem 0 1rem;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
}
.reservo-step .booking-gender legend{padding:0 .35rem 0 0;font-size:clamp(1.35rem,2vw,1.7rem)}
.reservo-step .booking-gender>p{margin:.2rem 0 .8rem}
.reservo-step .booking-gender-status{min-height:0;margin:.7rem 0 0!important}
.reservo-step .reservation-selection{margin:.8rem 0 0;color:#625950;font-size:.8rem}
@media(max-width:640px){
  .reservo-step{padding:.45rem .85rem 0}
  .reservo-step .booking-gender{padding:.75rem 0 .9rem}
  .reservo-step .booking-gender-options{display:grid;grid-template-columns:1fr;gap:.5rem}
  .reservo-step .booking-gender-option{min-width:0;min-height:54px;padding:.65rem .5rem;gap:.45rem;font-size:.59rem;letter-spacing:.045em}
}

/* Five requested spa experiences; keep the existing editorial card treatment. */
.facility-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.facility-grid article{min-width:0}
.facility-grid h3{font-size:clamp(1.28rem,1.65vw,1.8rem)}
.facility-state{margin-top:.7rem!important;color:#78685d!important;font-size:.72rem!important;line-height:1.45!important}
.facility-price{margin-top:.55rem!important;color:var(--copper)!important;font-size:.76rem!important;letter-spacing:.025em}
@media(max-width:900px){
  .facility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facility-grid article{border-bottom:1px solid var(--line)}
  .facility-grid article:nth-child(2n){border-right:0}
  .facility-grid article:last-child{border-right:1px solid var(--line);border-bottom:0}
}
@media(max-width:640px){
  .facility-grid{grid-template-columns:minmax(0,1fr)}
  .facility-grid article,.facility-grid article:last-child{min-height:0;padding:1.2rem .9rem;border-right:0;border-bottom:1px solid var(--line)}
  .facility-grid article:last-child{border-bottom:0}
}

/* Compra directa de Urban Journeys, manteniendo el lenguaje editorial. */
.journey-purchase{margin-top:2rem;padding-top:1.35rem;border-top:1px solid var(--line)}
.journey-purchase-select{display:flex;flex-direction:column;gap:.45rem;margin-bottom:.8rem;color:#74695f;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.journey-purchase-select select{width:100%;min-height:48px;padding:.75rem .85rem;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:.88rem;letter-spacing:normal;text-transform:none}
.journey-purchase-note{font-size:.76rem!important;line-height:1.5;color:#74695f!important}
.journey-purchase .modal-actions{margin-top:1.2rem;align-items:stretch}
.journey-purchase .modal-actions .button{min-height:48px;align-items:center}
@media(max-width:640px){
  .journey-purchase{margin-top:1.5rem;padding-top:1rem}
  .journey-purchase .modal-actions{flex-direction:column}
}

/* Mobile photo framing: keep the opening image immersive and full-height. */
@media(max-width:640px){
  .hero{
    display:flex;
    height:auto;
    aspect-ratio:607/799;
    min-height:0;
    padding-top:0;
    align-items:flex-end;
    overflow:hidden;
    background:var(--ink);
  }
  .hero>img,.hero>picture{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center;
  }
  .hero-overlay{
    inset:0;
    height:100%;
    aspect-ratio:auto;
    background:linear-gradient(0deg,rgba(19,13,10,.7) 0%,rgba(19,13,10,.28) 55%,rgba(19,13,10,.12) 100%);
  }
  .hero-content{
    padding:0 1rem 6.5rem;
    max-width:none;
  }
  .hero h1{font-size:clamp(3.4rem,16vw,5.2rem)}
  .hero-copy{font-size:1rem;margin-top:1.15rem}
  .hero-actions{margin-top:1.3rem}
  .hero-note{position:absolute;right:1rem;bottom:4.3rem;padding:0;font-size:.9rem}

  .experience-image{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:2000/1116;
    overflow:hidden;
  }
  .experience-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
  }
  .service-image{
    position:relative;
    top:auto;
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:1200/670;
    overflow:hidden;
  }
  .service-image img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
  }

  .hotel-visual.section{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:stretch;
    gap:0;
    min-height:0;
    aspect-ratio:852/1122;
    padding:0;
    overflow:hidden;
    isolation:isolate;
    background:var(--ink);
  }
  .hotel-visual-bg{
    position:absolute;
    inset:0;
    z-index:0;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:center;
  }
  .hotel-visual-overlay{
    display:block;
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(0deg,rgba(19,13,10,.92) 0%,rgba(19,13,10,.55) 42%,rgba(19,13,10,.08) 72%);
  }
  .hotel-visual .hotel-logo-panel{
    position:relative;
    z-index:2;
    align-self:flex-start;
    width:auto;
    height:auto;
    min-height:0;
    margin:0;
    padding:1.4rem 0 0;
    background:transparent;
  }
  .hotel-visual .hotel-logo-panel img{
    position:relative;
    inset:auto;
    width:160px;
    height:100px;
    margin-left:1rem;
    object-fit:contain;
  }
  .hotel-visual-copy{
    position:relative;
    z-index:2;
    max-width:none;
    padding:0 1rem 1.5rem;
    background:transparent;
  }
  .hotel-visual .button{position:relative;z-index:2;margin:0 1rem 1.6rem;align-self:flex-start}

  .closing{
    background-image:linear-gradient(rgba(22,16,12,.78),rgba(22,16,12,.78)),url("hotel-ladera.jpeg");
    background-position:center,center top;
    background-size:cover,100% auto;
    background-repeat:no-repeat;
    background-color:#16120f;
  }
}

/* Desktop hero: restore the original large, full-bleed photograph. */
@media(min-width:641px){
  .hero{height:100svh;min-height:680px;display:flex;align-items:flex-end;overflow:hidden}
  .hero>img,.hero>picture{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
}

/* ===== Fix escritorio: seccion "Una sola experiencia Ladera" (>=901px) =====
   La grilla heredada tenia 3 columnas y ubicaba el logo, el texto y el boton
   en celdas automaticas, lo que superponia el logo sobre el titulo.
   Se define una grilla explicita: logo | texto, y el boton bajo el texto.
   Movil y tablet (<=900px) no se modifican. */
@media(min-width:901px){
  #hotel-experience.hotel-visual{
    grid-template-columns:210px minmax(0,760px);
    grid-template-rows:auto auto;
    column-gap:clamp(2rem,5vw,5rem);
    row-gap:2rem;
    align-content:end;
    align-items:start;
    justify-content:start;
  }
  #hotel-experience .hotel-logo-panel{grid-column:1;grid-row:1;align-self:start}
  #hotel-experience .hotel-visual-copy{grid-column:2;grid-row:1;max-width:760px}
  #hotel-experience>.button{grid-column:2;grid-row:2;justify-self:start}
}

/* ===== Compartir Urban Journey ===== */
.journey-share{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.journey-share-label{margin:0 0 .75rem!important;color:#74695f!important;font-size:.68rem!important;letter-spacing:.12em;text-transform:uppercase}
.share-row{display:flex;flex-wrap:wrap;gap:.5rem}
.share-btn{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.55rem .85rem;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:.74rem;font-weight:600;letter-spacing:.04em;text-decoration:none;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.share-btn svg{width:18px;height:18px;flex:none}
.share-btn:hover,.share-btn:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff;outline:0}
.share-btn:focus-visible{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--copper)}
.share-native{border-color:var(--copper);color:var(--copper)}
.share-status{margin:.7rem 0 0!important;font-size:.78rem!important;color:var(--copper)!important}
@media(max-width:640px){
  .share-row{display:grid;grid-template-columns:1fr 1fr}
  .share-btn{justify-content:flex-start}
  .share-native{grid-column:1/-1}
}
.button:disabled,.text-link:disabled,.share-btn:disabled{opacity:.65;cursor:progress}
/* ===== Urban Experiences · 7 experiencias, variantes y opciones (urban7-20261005) ===== */
.journey-progression{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .8rem;margin:-1.6rem 0 2.4rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.64)}
.journey-progression i{font-style:normal;color:var(--copper2)}
.need-card:nth-child(n+4){border-bottom:1px solid var(--line)}
.need-card:last-child{grid-column:1/-1;border-right:0;border-bottom:0;min-height:130px}
@media(max-width:900px){.need-card:nth-child(n+5){border-bottom:1px solid var(--line)}.need-card:last-child{border-bottom:0}}
@media(max-width:640px){.journey-progression{margin:-1.2rem 0 1.8rem;font-size:.62rem;gap:.35rem .55rem}}
.journey-variants{margin-bottom:1rem}
.journey-variants-label{margin:0 0 .5rem!important;color:#74695f!important;font-size:.68rem!important;letter-spacing:.12em;text-transform:uppercase}
.variant-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.variant-tab{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-height:84px;padding:.85rem .9rem;border:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}
.variant-tab:hover{border-color:var(--ink)}
.variant-tab.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.variant-tab .vt-name{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:650}
.variant-tab .vt-price{font-family:var(--serif);font-size:1.6rem;line-height:1.1}
.variant-tab .vt-extra{font-size:.72rem;opacity:.78}
.variant-note{margin-top:.8rem;padding:.9rem 1rem;border-left:2px solid var(--copper);background:rgba(182,111,69,.08)}
.variant-note p{margin:0;font-size:.82rem;line-height:1.5;color:#5f554d}
.variant-note p.variant-note-kicker{margin-bottom:.25rem;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:650;color:#8a4f2f}
.journey-detail-aside p.journey-variant-title{margin-top:1rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#e4c6ae}
.service-list .svc-options{display:flex;flex-direction:column;gap:.3rem;min-width:150px}
.service-list .svc-options .opt{display:flex;justify-content:space-between;align-items:baseline;gap:1.2rem;margin:0}
.service-list .svc-options .opt b{font-weight:400;font-size:.78rem;color:#74695f}
.service-list .svc-options .opt strong{font-size:.9rem}
@media(max-width:640px){.service-list article>div.svc-options{flex-direction:column;align-items:stretch;justify-content:flex-start;max-width:260px}}

/* Foto de servicios: retrato (aceite sobre la mano) · escritorio y móvil */
.service-image img{object-fit:cover;object-position:50% 52%}
@media(max-width:900px){.service-image{height:auto;aspect-ratio:4/5;max-height:640px}}
@media(max-width:560px){.service-image{height:auto;aspect-ratio:4/5;max-height:none}}

/* Títulos de sección: más aire entre líneas y menos tracking negativo (evita que las letras se pisen) */
.section-intro h2,.section-head h2,.experience-copy h2,.hotel h2{line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
.section-head h2{font-size:clamp(2.6rem,5vw,4.6rem);margin:.3rem 0 1.2rem}
.section-intro h2{font-size:clamp(2.6rem,5.4vw,5rem)}
@media(max-width:560px){.section-intro h2,.section-head h2,.hotel h2{line-height:1.14;letter-spacing:-.015em}}
/* Urban Balance / Thermal: modalidades Individual · Pareja y suma Aquatherapy (urban7-20261006-2) */
.variant-group-label{margin:.9rem 0 .45rem!important;color:#74695f!important;font-size:.66rem!important;letter-spacing:.14em;text-transform:uppercase;font-weight:650}
.journey-variants .variant-group-label:first-of-type{margin-top:0!important}
.journey-meta small+small{margin-top:.15rem}


/* Massage Collection Experience · selector en dos pasos (mobile primero) */
.continuity-fineprint{font-size:.78rem;color:rgba(255,255,255,.6)}
.pack-item.mce{padding-top:1.9rem}
.pack-item.mce>h4{font-family:var(--serif);font-size:1.55rem;line-height:1.08;font-weight:400;margin:.25rem 0 0}
.pack-item.mce>.mce-title{font-family:var(--serif);font-style:italic;font-size:1.25rem;line-height:1.25;margin:.5rem 0 0;color:#efd6c3}
.pack-item.mce>.mce-lead{margin:.9rem 0 0}
.mce-step{margin-top:1.35rem}
.mce-step-label{display:flex;align-items:center;gap:.6rem;margin:0 0 .65rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#e4c6ae}
.mce-step-label span{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;border:1px solid rgba(228,198,174,.7);border-radius:50%;font-size:.64rem;letter-spacing:0}
.mce-seg{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.mce-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.mce-dur,.mce-opt{font:inherit;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.34);cursor:pointer;text-align:left;min-height:52px;padding:.75rem .85rem;transition:.25s var(--ease)}
.mce-dur{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;font-weight:650;text-align:center}
.mce-opt{display:flex;flex-direction:column;justify-content:center;gap:.25rem;min-height:72px}
.mce-opt-n{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:650;line-height:1.25}
.mce-opt-p{font-family:var(--serif);font-size:1.18rem;line-height:1.1}
.mce-dur:hover,.mce-opt:hover{border-color:#fff}
.mce-dur:focus-visible,.mce-opt:focus-visible,.mce-buy:focus-visible{outline:2px solid var(--copper2);outline-offset:2px}
.mce-dur[aria-checked="true"],.mce-opt[aria-checked="true"]{background:#fff;border-color:#fff;color:var(--ink)}
.pack-item.mce>.mce-choice{margin:1.35rem 0 0;padding:.9rem 1rem;border-left:2px solid var(--copper2);background:rgba(255,255,255,.07);font-size:.86rem;line-height:1.55;color:#fff}
.pack-item.mce>.mce-trio{margin:.7rem 0 0;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#efd6c3}
.mce-trio i{display:inline-block;width:3px;height:3px;margin:0 .45rem .15rem;border-radius:50%;background:currentColor}
.mce-summary{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.22)}
.mce-total strong{display:block;margin-top:.2rem;font-family:var(--serif);font-weight:400;font-size:1.9rem;line-height:1.05}
.continuity-card .mce-buy{padding:.95rem 1.6rem;min-height:48px;border:1px solid #fff;background:#fff;color:var(--ink);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:650;text-decoration:none}
.continuity-card .mce-buy:hover{background:var(--copper2);border-color:var(--copper2)}
@media(max-width:640px){
  .pack-item.mce>.mce-title{font-size:1.15rem}
  .mce-opt{padding:.7rem .6rem}
  .mce-opt-p{font-size:1.08rem}
  .mce-summary{flex-direction:column;align-items:stretch}
  .continuity-card .mce-buy{width:100%;justify-content:center;text-align:center}
}

/* ---- Rituales (reestructuración 2026-10) ---- */
.hero h1{max-width:13ch;font-size:clamp(3rem,6.4vw,6.2rem);line-height:1.02;text-wrap:balance}
.hero-copy{max-width:50ch}
.desktop-nav{gap:1.7rem}
.desktop-nav>a{font-size:.72rem;white-space:nowrap}
.nav-reserve{padding:.85rem 1.35rem!important;font-size:.76rem!important;box-shadow:0 0 0 1px rgba(255,255,255,.0)}
@media(max-width:1250px){.desktop-nav{gap:1.1rem}.desktop-nav>a{font-size:.66rem;letter-spacing:.08em}}
.selector-help{margin:1.6rem 0 0;font-size:.9rem;color:#625950}
.selector-help .text-link{color:var(--ink);font-size:.78rem}
.journey-components{margin:.45rem 0 0!important;font-size:.82rem;letter-spacing:.04em;color:rgba(255,255,255,.82)!important}
.journey-meta span{line-height:1.35}
.romantic{background:var(--brown);color:#fff;padding-top:clamp(4rem,8vw,7rem);padding-bottom:clamp(4rem,8vw,7rem)}
.romantic-copy{max-width:760px}
.romantic h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,6vw,5.4rem);line-height:1.04;margin:.2rem 0 1rem;letter-spacing:-.03em}
.romantic p{color:rgba(255,255,255,.78);font-size:1.12rem;max-width:44ch;margin:0 0 2rem}
.massage-collection .section-head>p a{color:inherit;text-underline-offset:4px}
.individual-services{padding-top:0}
.service-list-wide{max-width:1100px}
.service-list-wide article{grid-template-columns:1fr 180px 90px}
.gift{background:var(--paper)}
.gift-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.gift-grid article{padding:1.6rem 1.3rem;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:.4rem}
.gift-grid article:last-child{border-right:0}
.gift-grid h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;margin:0}
.gift-grid p{margin:0 0 1rem;font-size:.9rem;color:#625950;flex:1}
.gift-grid .text-link{align-self:flex-start;color:var(--ink)}
@media(max-width:900px){.gift-grid{grid-template-columns:1fr 1fr}.gift-grid article:nth-child(2){border-right:0}.gift-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:640px){.gift-grid{grid-template-columns:1fr}.gift-grid article{border-right:0;border-bottom:1px solid var(--line)}.gift-grid article:last-child{border-bottom:0}}
.variant-tabs.is-three{grid-template-columns:repeat(3,1fr)}
@media(max-width:640px){.variant-tabs.is-three{grid-template-columns:1fr}}
.flow-step{margin-bottom:1rem}
.flow-n{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;margin-right:.5rem;border:1px solid currentColor;border-radius:50%;font-size:.62rem;letter-spacing:0}
.variant-tab .vt-price{font-size:1.4rem}
.booking-gender-note{margin:.4rem 0 0;font-size:.8rem;color:#74695f}
@media(max-width:640px){
  .hero{aspect-ratio:auto;height:auto;min-height:max(640px,92svh);padding-top:6rem}
  .hero h1{font-size:clamp(2.6rem,11.6vw,3.6rem);max-width:12ch}
  .hero-note{display:none}
}
.continuity-card.packs{align-self:stretch}

/* Foto sección Seven Senses: pareja (escritorio recortado al sujeto, móvil 5:4) */
.experience-image picture{display:contents}
.experience-image img{object-fit:cover;object-position:62% center}
@media(max-width:900px){.experience-image{aspect-ratio:5/4}.experience-image img{object-fit:cover;object-position:center 30%}}

/* Romantic Escape con foto: escritorio 2 columnas, móvil foto arriba */
.romantic{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.romantic-image{border-radius:2px;overflow:hidden;aspect-ratio:4/5;order:2}
.romantic-image img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.romantic-copy{order:1}
@media(max-width:900px){
  .romantic{grid-template-columns:1fr;gap:1.6rem}
  .romantic-image{order:0;aspect-ratio:4/5;max-height:70svh}
  .romantic-copy{order:1}
}

/* ===== v20261009 · Hero: la logo nunca invade el texto ===== */
.hero{height:auto;min-height:max(640px,100svh);padding-top:7.6rem;box-sizing:border-box}
@media(max-width:640px){.hero{padding-top:6.4rem}}
@media(max-height:560px) and (min-width:641px){
  .hero{min-height:0;padding-top:6.4rem}
  .hero-content{padding-bottom:2.2rem}
  .hero h1{font-size:clamp(2.1rem,9.5vh,3.6rem);line-height:1.02}
  .hero-copy{margin-top:.8rem;font-size:.95rem}
  .hero-actions{margin-top:1rem}
  .hero-note{display:none}
}
@media(max-height:480px) and (max-width:640px){.hero{padding-top:5.4rem}}

/* ===== Foto Massage Collection ===== */
.massage-collection .service-image img{object-fit:cover;object-position:50% 24%}

/* ===== Servicios (SPA): foto + lista ===== */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.individual-services .services-split{display:grid;grid-template-columns:minmax(240px,.62fr) 1.38fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.individual-services .services-split>.service-image{position:sticky;top:105px;height:clamp(460px,62vw,720px)}
.individual-services .services-split>.service-image img{object-fit:cover;object-position:50% 36%}
.individual-services .service-list-wide{max-width:none}
.individual-services .service-list-wide article{grid-template-columns:minmax(0,1fr) 150px 84px}
.individual-services .svc-toggle,.individual-services .svc-photo-card{display:none}
@media(max-width:900px){
  .individual-services .services-split{grid-template-columns:1fr;gap:2rem}
  .individual-services .services-split>.service-image{position:relative;top:auto;height:auto;aspect-ratio:16/10;max-height:460px}
  .individual-services .services-split>.service-image img{object-position:50% 30%}
}
@media(max-width:640px){
  .individual-services .services-split>.service-image{display:none}
  .individual-services .service-list-wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
  .individual-services .service-list-wide article{display:flex;flex-direction:column;align-items:stretch;gap:.8rem;padding:1.1rem .9rem 1rem;border:1px solid var(--line);background:rgba(255,255,255,.4);min-width:0}
  .individual-services .service-list-wide article>div:first-child{flex:1 1 auto;min-width:0}
  .individual-services .service-list-wide article>div:nth-child(2){display:flex;flex-direction:column;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.3rem;max-width:none;grid-column:auto}
  .individual-services .service-list-wide h3{font-size:1.4rem;line-height:1.1;margin:0 0 .5rem;overflow-wrap:anywhere}
  .individual-services .service-list-wide article>div:first-child>p:not(.service-description):not(.service-note){font-size:.82rem;line-height:1.45;margin:0;color:#5e554e}
  .individual-services .service-list-wide .svc-options .opt{gap:.5rem;font-size:.85rem}
  .individual-services .service-list-wide .svc-options .opt b{font-size:.78rem}
  .individual-services .service-list-wide .svc-options .opt strong{font-size:.9rem}
  .individual-services .service-list-wide .svc-options{min-width:0;max-width:100%}
  .individual-services .service-list-wide .svc-options .opt{flex-wrap:wrap;min-width:0}
  .individual-services .service-list-wide article>div:nth-child(2):not(.svc-options){flex-direction:row;justify-content:space-between;align-items:baseline}
  .individual-services .service-list-wide article>button[data-book-service]{width:100%;min-height:46px;padding:.7rem .5rem;border:1px solid var(--ink);background:transparent;color:var(--ink);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:650;justify-self:stretch;text-align:center;cursor:pointer}
  .individual-services .service-list-wide article>button[data-book-service]:hover,.individual-services .service-list-wide article>button[data-book-service]:focus-visible{background:var(--ink);color:#fff}
  .individual-services .svc-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;margin-top:.7rem;padding:.4rem 0;border:0;border-top:1px solid var(--line);background:transparent;color:#6b5142;font-size:.8rem;cursor:pointer;text-align:left;text-transform:none;letter-spacing:0;text-decoration:none;font-weight:500}
  .individual-services .svc-toggle::after{content:"+";font-family:var(--serif);font-size:1.3rem;line-height:1}
  .individual-services .expanded .svc-toggle::after{content:"−"}
  .individual-services .svc-detail{display:none}
  .individual-services .expanded .svc-detail{display:block}
  .individual-services .service-list-wide article.expanded{grid-column:1/-1}
  .individual-services .service-list-wide .service-description{font-size:.9rem;line-height:1.55;margin-top:.5rem}
  .individual-services .service-list-wide .service-note{font-size:.78rem}
  .individual-services .service-list-wide .svc-photo-card{display:block;padding:0;border:0;background:var(--ink);overflow:hidden;min-height:250px;position:relative}
  .individual-services .svc-photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 34%}
}
@media(max-width:339px){.individual-services .service-list-wide{grid-template-columns:1fr}.individual-services .service-list-wide .svc-photo-card{min-height:320px}}
@media(min-width:641px){.individual-services .svc-detail{display:contents}}

/* ===== Gift Cards ===== */
.gift-grid{gap:0}
.gift-grid article{padding:0}
.gift-card-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ink)}
.gift-card-photo img{width:100%;height:100%;object-fit:cover}
.gift-card-body{padding:1.35rem 1.3rem 1.5rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.gift-card-body h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;margin:0}
.gift-card-body p{margin:0 0 .4rem;font-size:.9rem;color:#625950}
.gift-card-body .gift-from{font-size:.78rem;letter-spacing:.06em;color:#8a624a;flex:1}
.gift-card-btn{margin-top:.8rem;width:100%;background:var(--ink);color:#fff;border:1px solid var(--ink);min-height:48px}
.gift-card-btn:hover,.gift-card-btn:focus-visible{background:var(--copper);border-color:var(--copper)}
.gc-bow{position:absolute;left:0;top:0;z-index:2;width:48%;max-width:420px;aspect-ratio:518/388;pointer-events:none;filter:drop-shadow(0 5px 7px rgba(20,12,6,.35))}
@media(max-width:640px){.gc-bow{width:42%}}


.gc-bow img{display:block;width:100%;height:100%;object-fit:contain}

.gift-dialog{width:min(1040px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:0;overflow:hidden;background:var(--paper)}
.gift-dialog>.dialog-close{position:absolute;right:.8rem;top:.8rem;z-index:5;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(27,23,20,.62);color:#f3eee6;font-size:1.7rem;line-height:1;border:0;cursor:pointer}
.gift-dialog>.dialog-close:hover,.gift-dialog>.dialog-close:focus-visible{background:var(--ink)}
#giftDialogBody,.gc-page-card{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
#giftDialogBody{max-height:calc(100dvh - 2rem);overflow-y:auto;overscroll-behavior:contain}
.gc-photo{position:relative;min-height:100%;background:var(--ink);overflow:hidden}
.gc-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gc-copy{padding:clamp(1.6rem,3.4vw,3rem) clamp(1.3rem,3.4vw,3rem) clamp(1.6rem,3vw,2.6rem);min-width:0}
.gc-title{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,4.6vw,3.6rem);letter-spacing:-.035em;line-height:1;margin:0 0 1rem}
.gc-desc{margin:0 0 1.3rem;font-size:.98rem;color:#4f463f;max-width:52ch}
.gc-variants{border:0;margin:0 0 1.2rem;padding:0;display:flex;gap:.6rem;flex-wrap:wrap}
.gc-variants legend{float:left;width:100%;margin:0 0 .6rem;padding:0;font-size:.68rem;font-weight:650;letter-spacing:.2em;text-transform:uppercase;color:#8a624a}
.gc-variant{flex:1 1 130px;margin:0!important;display:block!important;font-size:inherit!important;letter-spacing:0!important;text-transform:none!important}
.gc-variant input{position:absolute;opacity:0;width:1px!important;height:1px;pointer-events:none}
.gc-variant span{display:flex;flex-direction:column;gap:.15rem;min-height:56px;justify-content:center;padding:.65rem .9rem;border:1px solid #b7a89a;background:transparent;cursor:pointer;transition:.2s var(--ease)}
.gc-variant b{font-weight:600;font-size:.9rem}
.gc-variant i{font-style:normal;font-size:.82rem;color:#6b5142}
.gc-variant input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.gc-variant input:checked+span i{color:#e4c6ae}
.gc-variant input:focus-visible+span{outline:2px solid var(--copper);outline-offset:2px}
.gc-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem 1rem;margin:0 0 1.3rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gc-facts dt{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#8a624a;font-weight:650}
.gc-facts dd{margin:.2rem 0 0;font-size:.95rem}
.gc-facts .gc-price{font-family:var(--serif);font-size:1.45rem;line-height:1.1}
.gc-inc h3{margin:0 0 .6rem;font-family:var(--serif);font-weight:400;font-size:1.35rem}
.gc-inc ul{margin:0 0 1.2rem;padding-left:1.1rem;font-size:.9rem;color:#4f463f}
.gc-inc li{margin:.3rem 0}
.gc-notes{margin:0 0 1.4rem;padding:0;list-style:none;font-size:.78rem;color:#6b5f56}
.gc-notes li{margin:.3rem 0;padding-left:.9rem;position:relative}
.gc-notes li::before{content:"";position:absolute;left:0;top:.62em;width:4px;height:4px;border-radius:50%;background:var(--copper)}
.gc-actions{display:flex;gap:.7rem;flex-wrap:wrap;align-items:stretch}
.gc-buy{flex:1 1 220px;min-height:52px;background:var(--ink);color:#fff;border-color:var(--ink);align-items:center;text-align:center}
.gc-buy:hover,.gc-buy:focus-visible{background:var(--copper);border-color:var(--copper)}
.gc-buy[disabled]{opacity:.7;cursor:wait}
.gc-share{display:inline-flex;align-items:center;gap:.5rem;min-height:52px;padding:.7rem 1.1rem;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:.73rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.gc-share svg{width:18px;height:18px}
.gc-share:hover,.gc-share:focus-visible{background:var(--ink);color:#fff}
.gc-share-menu{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.7rem}
.gc-share-menu[hidden]{display:none}
.gc-share-menu button,.gc-share-menu a{min-height:44px;display:inline-flex;align-items:center;padding:.5rem .9rem;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:.8rem;text-decoration:none;cursor:pointer}
.gc-status{min-height:1.3em;margin:.8rem 0 0;font-size:.82rem;color:#7a3f2b}
@media(max-width:760px){
  .gift-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}
  #giftDialogBody{max-height:calc(100dvh - 1rem);grid-template-columns:1fr}
  .gc-page-card{grid-template-columns:1fr}
  .gc-photo{min-height:0;aspect-ratio:4/3;max-height:44dvh}
  .gc-facts{grid-template-columns:1fr 1fr}
  .gc-facts>div:last-child{grid-column:1/-1}
  .gc-actions{flex-direction:column}
  .gc-buy,.gc-share{width:100%;justify-content:center}
}
/* Página individual */
.gc-page{min-height:100svh;background:var(--paper);padding:2rem clamp(1rem,5vw,4rem) 3rem}
.gc-bar{background:#16120f;padding:.4rem clamp(1rem,5vw,4rem);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.gc-bar>a:first-child{display:block;position:relative;overflow:hidden;width:160px;height:76px;padding:0;min-height:0}
.gc-bar>a:first-child img{position:absolute;width:190px;height:190px;max-width:none;object-fit:contain;left:-14px;top:-53px}
.gc-bar a{color:#f3eee6;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:.7rem 0;min-height:44px;display:inline-flex;align-items:center}
.gc-page-top{max-width:1100px;margin:0 auto 1.2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem}
.gc-page-top a{color:var(--ink);text-underline-offset:4px}
.gc-page-card{max-width:1100px;margin:0 auto;background:#fbf8f3;border:1px solid var(--line)}
.gc-page-card .gc-photo{min-height:560px}
@media(max-width:760px){.gc-page-card .gc-photo{min-height:0}}

#giftDialogBody .gc-actions{position:sticky;bottom:0;z-index:3;margin-inline:calc(-1 * clamp(1.3rem,3.4vw,3rem));padding:.85rem clamp(1.3rem,3.4vw,3rem);background:linear-gradient(0deg,var(--paper) 78%,rgba(243,238,230,0))}
@media(max-width:760px){#giftDialogBody .gc-actions{flex-direction:row;gap:.5rem}#giftDialogBody .gc-buy{flex:1 1 auto;width:auto}#giftDialogBody .gc-share{width:auto;padding-inline:.9rem}#giftDialogBody .gc-share span{display:none}}


.experience-image img[src*="sistema-masaje"]{object-position:50% 40%}
@media(max-width:900px){.experience-image img[src*="sistema-masaje"]{object-position:50% 6%}}

/* v20261010 · Gift Card Massage Collection: elegir masaje */
.gc-types .gc-variant{flex:1 1 150px}
.gc-types .gc-variant small{display:block;font-size:.72rem;line-height:1.35;opacity:.78;margin-top:.1rem}
.gc-types .gc-variant input:checked+span small{opacity:.9}
/* Escapada romántica: menos aire entre la foto y el resto de la página (escritorio) */
@media(min-width:901px){
  .romantic{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(2rem,4vw,4rem);padding-top:clamp(2.8rem,5vw,4.2rem);padding-bottom:clamp(2.8rem,5vw,4.2rem)}
  .romantic-image{aspect-ratio:1/1;width:100%;max-width:520px;max-height:520px;justify-self:end}
  .romantic-image img{object-position:50% 10%}
}

/* Rituales con foto */
.journeys-split{display:grid;grid-template-columns:minmax(220px,.5fr) 1.5fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.journeys-image{position:sticky;top:105px;aspect-ratio:2/3;max-height:78vh;overflow:hidden;background:#2a211c}
.journeys-image img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;display:block}
@media(max-width:900px){.journeys-split{grid-template-columns:1fr;gap:1.4rem}.journeys-image{position:relative;top:auto;aspect-ratio:4/3;max-height:none}.journeys-image img{object-position:50% 52%}}
