@font-face{font-family:"Cormorant Garamond";src:url("assets/fonts/font-2.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/font-3.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/font-5.ttf") format("truetype");font-weight:600;font-display:swap}
:root{--forest:#17382e;--forest-2:#21483b;--paper:#faf7f0;--paper-2:#f0eee5;--ink:#21382f;--muted:#5f6d65;--terracotta:#a75032;--sun:#efd39c;--line:#dcded5;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:78px;scrollbar-color:#72867b var(--paper-2)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans);overflow-x:hidden}
body.modal-open{overflow:hidden}
::selection{background:#e9cdb0;color:#132b23}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
button,input,select{font:inherit;color:inherit}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600;line-height:.98;letter-spacing:-.025em;text-wrap:balance}h1,h2,h3,.brand{font-family:var(--serif)}
h2{font-size:clamp(2.55rem,5vw,4.8rem);margin-bottom:0}h3{font-size:2rem;margin:0 0 13px}p{max-width:68ch;color:var(--muted)}em{font-weight:600}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.skip{position:fixed;top:-80px;left:16px;z-index:100;background:var(--paper);padding:12px 16px;border-radius:4px}.skip:focus{top:12px}:focus-visible{outline:3px solid var(--terracotta);outline-offset:4px}
.header{position:fixed;z-index:30;top:0;left:0;right:0;height:68px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:28px;color:#fff;transition:background .25s ease,color .25s ease,box-shadow .25s ease}
.header.is-scrolled{background:rgba(250,247,240,.98);color:var(--forest);box-shadow:0 8px 30px rgba(23,56,46,.09)}
.brand{display:flex;align-items:center;gap:10px;font-size:1.65rem;line-height:.82;white-space:nowrap;font-weight:600}.brand-mark{width:39px;height:43px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;flex:none}.brand small{display:block;margin-top:7px;font:600 11px/1 var(--sans);letter-spacing:.05em}
.header nav{display:flex;gap:30px;font-size:14px}.header nav a{padding:9px 0;border-bottom:1px solid transparent}.header nav a:hover{border-color:currentColor}
.nav-cta,.hero-link,.text-link,.room-footer a{display:inline-flex;align-items:center;gap:11px;font-weight:600}.nav-cta{font-size:14px;border:1px solid currentColor;border-radius:3px;padding:8px 13px;min-height:39px}
.hero{position:relative;min-height:660px;height:100svh;color:white;background:var(--forest);overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-position:center center;animation:hero-settle 1.2s cubic-bezier(.16,1,.3,1) both}.hero-shade{background:linear-gradient(90deg,rgba(10,37,28,.62) 0%,rgba(10,37,28,.14) 62%,rgba(10,37,28,.08) 100%),linear-gradient(0deg,rgba(10,37,28,.22),transparent 50%)}
.hero-copy{position:absolute;left:clamp(24px,8vw,130px);bottom:clamp(72px,12vh,130px);z-index:2}.hero-copy>p{color:#f6e9cf;font-size:14px;letter-spacing:.035em;margin-bottom:20px}.hero h1{font-size:clamp(4.2rem,9vw,8.8rem);margin:0 0 33px;max-width:8ch;color:#fff}.hero-link{width:max-content;color:white;border-bottom:1px solid rgba(255,255,255,.7);padding:0 0 7px;font-size:16px}.hero-link .icon{width:17px;height:17px}
@keyframes hero-settle{from{transform:scale(1.035);filter:saturate(.75)}to{transform:scale(1);filter:saturate(1)}}
.booking-dock{position:relative;z-index:4;width:min(1180px,calc(100% - 48px));margin:-42px auto 0;padding:24px 28px;background:var(--paper);box-shadow:0 18px 50px rgba(23,56,46,.14);display:grid;grid-template-columns:210px 1fr;gap:30px;align-items:center}.booking-intro h2{font-family:var(--serif);font-size:1.65rem;line-height:1;margin:0 0 8px}.booking-intro p{font-size:13px;margin:0}
#booking-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end}#booking-form>*{min-width:0}label{display:block;min-width:0;font-size:12px;font-weight:600}input,select{display:block;width:100%;max-width:100%;min-width:0;height:47px;margin-top:4px;padding:8px 10px;border:1px solid var(--line);border-radius:3px;background:#fff;font-size:15px;font-variant-numeric:tabular-nums;caret-color:var(--terracotta)}input[type="date"]{-webkit-appearance:none;appearance:none;overflow:hidden;line-height:1.2}input[type="date"]::-webkit-date-and-time-value{min-width:0;margin:0;text-align:left}input[type="date"]::-webkit-calendar-picker-indicator{margin:0;padding:2px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:47px;padding:12px 19px;border:1px solid transparent;border-radius:3px;background:var(--forest);color:white;font-weight:600;white-space:nowrap}.button:hover{background:var(--forest-2)}.button:active{transform:scale(.985)}.button.light{background:#fff7e7;color:var(--forest)}.button.light:hover{background:#f3dfb6}.form-note{grid-column:1/-1;margin:0;font-size:12px;line-height:1.35}
.amenities-band{max-width:1180px;margin:0 auto;padding:43px 24px 18px;display:flex;align-items:center;justify-content:space-between;gap:36px;border-bottom:1px solid var(--line)}.amenities-band ul{list-style:none;display:flex;gap:27px;padding:0;margin:0;flex-wrap:wrap}.amenities-band li{display:flex;align-items:center;gap:9px;font-size:14px;white-space:nowrap}.amenities-band li .icon{width:23px;height:23px;color:var(--terracotta)}.amenities-band>p{margin:0;max-width:38ch;text-align:right;font-size:14px}
.section{max-width:1440px;margin:0 auto;padding:110px clamp(24px,7vw,105px)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}.section-heading>p{margin:0 0 6px;max-width:34ch;text-align:right;font-size:16px}
.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.room{background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 13px 38px rgba(23,56,46,.08)}.room-photo{position:relative;display:block;width:100%;padding:0;border:0;background:var(--forest);overflow:hidden}.room-photo img{height:390px;transition:transform .6s cubic-bezier(.16,1,.3,1)}.room-photo:hover img{transform:scale(1.025)}.room:nth-child(2) .room-photo img{object-position:50% 42%}
.photo-tag{position:absolute;top:20px;left:20px;padding:7px 11px;background:rgba(250,247,240,.94);color:var(--forest);border-radius:3px;font-size:12px;font-weight:600}.expand{position:absolute;right:18px;bottom:18px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(23,56,46,.8);color:white}.room-details{padding:29px 30px 27px}.room-kicker{margin:0 0 9px;color:var(--terracotta);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.room-details>p:not(.room-kicker){font-size:16px;line-height:1.65;margin-bottom:22px;min-height:53px}.room-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;border-top:1px solid var(--line)}.room-footer>span{font-size:13px;color:var(--muted)}.room-footer a{font-size:14px}
.reviews-section{max-width:none;background:var(--forest);color:#fff7e7}.reviews-section>*{max-width:1230px;margin-left:auto;margin-right:auto}.reviews-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:48px}.reviews-heading h2{color:#fff7e7}.eyebrow{margin:0 0 17px;color:var(--sun);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.google-rating{display:flex;align-items:center;gap:18px;padding:17px 21px;border:1px solid rgba(255,255,255,.2);border-radius:7px;background:rgba(255,255,255,.055)}.google-rating>strong{font:600 3.2rem/.8 var(--serif)}.google-rating>div{display:grid;gap:4px}.stars,.review-stars{color:var(--sun);letter-spacing:.12em}.google-rating small{color:#d7dfd9;font-size:12px;white-space:nowrap}.review-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.review-card{min-height:265px;padding:29px;display:flex;flex-direction:column;border-radius:8px;background:#fffaf0;color:var(--ink);box-shadow:0 16px 36px rgba(6,20,15,.16)}.review-stars{font-size:13px}.review-card blockquote{margin:23px 0 30px;font:600 1.55rem/1.28 var(--serif);letter-spacing:-.015em}.review-author{display:grid;gap:1px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}.review-author strong{font-size:13px}.review-author span{color:var(--muted);font-size:12px}.reviews-link{display:flex;width:max-content;align-items:center;gap:11px;margin-top:33px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.65);font-size:14px;font-weight:600}.reviews-link:hover{border-color:var(--sun);color:var(--sun)}
.gallery-section{max-width:none;background:var(--paper-2)}.gallery-section>.section-heading,.gallery-section>.gallery,.gallery-section>.gallery-more{max-width:1230px;margin-left:auto;margin-right:auto}.filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.filters button{min-height:44px;padding:9px 14px;border:1px solid #d2d8cf;border-radius:3px;background:transparent;font-size:13px}.filters button:hover:not(.active){background:#e2e5dc}.filters button.active{background:var(--forest);border-color:var(--forest);color:#fff}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}.gallery button{position:relative;padding:0;border:0;border-radius:7px;overflow:hidden;background:#dfe3da}.gallery button:nth-child(1),.gallery button:nth-child(8n+1){grid-column:span 2;grid-row:span 2}.gallery button:nth-child(6n+4){grid-row:span 2}.gallery img{width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1)}.gallery button:hover img{transform:scale(1.025)}.gallery img.image-error{opacity:.25}.gallery-more{display:block;width:max-content;margin-top:30px!important;padding:11px 18px;border:1px solid var(--forest);border-radius:3px;background:transparent;font-weight:600;min-height:46px}.gallery-more:hover{background:var(--forest);color:#fff}.gallery-more[hidden]{display:none}
.nearby{max-width:1440px}.nearby .eyebrow{color:var(--terracotta)}.nearby-heading>div{max-width:760px}.map-explorer{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.72fr);gap:14px}.map-wrap{position:relative;min-height:550px;border-radius:10px;overflow:hidden;background:#dce3d8}.map-wrap noscript{position:absolute;inset:auto 20px 20px;padding:12px;background:var(--paper)}#nearby-map{position:absolute;inset:0}.map-tip{position:absolute;z-index:500;left:18px;bottom:18px;padding:8px 12px;border-radius:3px;background:rgba(250,247,240,.94);box-shadow:0 7px 22px rgba(23,56,46,.14);font-size:12px;font-weight:600;pointer-events:none}.place-list{display:grid;grid-template-rows:repeat(5,1fr) auto;gap:7px}.place-card{width:100%;display:grid;grid-template-columns:36px 1fr 20px;align-items:center;gap:13px;padding:15px 16px;border:1px solid var(--line);border-radius:7px;background:#fff;text-align:left;transition:border-color .2s ease,background .2s ease,transform .2s ease}.place-card:hover,.place-card.is-active{border-color:#b78168;background:#fffaf2;transform:translateX(-3px)}.place-card>span:nth-child(2){display:grid}.place-card strong{font-family:var(--serif);font-size:1.22rem;line-height:1.1}.place-card small{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.3}.place-number{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--paper-2);color:var(--terracotta);font-size:12px;font-weight:600}.place-card.is-active .place-number{background:var(--terracotta);color:#fff}.place-card>.icon{width:17px;height:17px}.place-note{margin:6px 3px 0;font-size:11px}.leaflet-container{font-family:var(--sans);background:#dce3d8}.leaflet-control-zoom a{color:var(--forest)}.leaflet-control-attribution{font-size:9px}.map-marker{width:30px;height:30px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--terracotta);color:#fff;box-shadow:0 5px 16px rgba(23,56,46,.35);font:600 12px/1 var(--sans)}.map-marker.hotel{width:42px;height:42px;background:var(--forest);font:600 17px/1 var(--serif)}.leaflet-popup-content-wrapper{border-radius:7px;box-shadow:0 9px 30px rgba(23,56,46,.24)}.leaflet-popup-content{margin:15px 17px;font:400 13px/1.45 var(--sans)}.leaflet-popup-content strong{display:block;margin-bottom:3px;font-family:var(--serif);font-size:1.18rem;color:var(--forest)}.leaflet-popup-content span{display:block;color:var(--muted)}.leaflet-popup-content a{display:inline-flex;margin-top:9px;color:var(--terracotta);font-weight:600;border-bottom:1px solid currentColor}
.location{display:grid;grid-template-columns:1.13fr .87fr;gap:8%;align-items:center}.location-image img{height:500px;border-radius:7px}.location-copy h2{font-size:clamp(2.7rem,4.5vw,4.7rem);margin-bottom:27px}.location-copy>p:not(.address){font-size:17px}.address{display:flex;align-items:flex-start;gap:12px;margin:26px 0;color:var(--ink)}.address .icon{margin-top:4px;color:var(--terracotta)}.text-link{width:max-content;padding-bottom:6px;border-bottom:1px solid var(--forest);font-size:14px}
.closing{padding:95px 24px;text-align:center;background:var(--forest);color:#fff7e7}.closing-mark{width:65px;height:65px;margin:0 auto 26px;fill:none;stroke:var(--sun);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.closing h2{font-size:clamp(3rem,6vw,6rem);margin:0 auto 35px;max-width:11ch;color:#fff7e7}
footer{padding:42px clamp(24px,6vw,90px);display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}.footer-brand{color:var(--forest);font-size:1.7rem}.footer-links{display:flex;gap:28px;font-size:14px}footer>small{font-size:12px;color:var(--muted)}
dialog{width:min(1120px,96vw);max-height:94svh;padding:52px 54px 29px;border:0;border-radius:9px;background:#10271ff5;color:white}dialog[open]{animation:dialog-in .24s cubic-bezier(.16,1,.3,1)}dialog::backdrop{background:rgba(8,21,16,.86);backdrop-filter:blur(4px)}dialog figure{margin:0}dialog figure img{height:min(75svh,760px);object-fit:contain}dialog figcaption{text-align:center;margin-top:14px;font-size:14px;color:#f4eee2}dialog button{position:absolute;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:white}.close-lightbox{right:7px;top:6px}.previous{left:7px;top:46%}.next{right:7px;top:46%}@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:980px){.header nav{display:none}.booking-dock{grid-template-columns:1fr;margin-top:-35px}.booking-intro{display:flex;justify-content:space-between;align-items:end;gap:20px}.booking-intro h2{margin:0}.amenities-band{display:block}.amenities-band>p{text-align:left;margin-top:24px}.section{padding-top:90px;padding-bottom:90px}.room-photo img{height:330px}.review-card{padding:24px}.review-card blockquote{font-size:1.35rem}}
@media(max-width:700px){
  html{scroll-padding-top:66px}.header{height:60px;padding:0 14px;gap:10px}.brand{font-size:1.35rem;gap:6px}.brand-mark{width:31px;height:34px}.brand small{display:none}.nav-cta{font-size:13px;padding:7px 9px;gap:7px}.nav-cta .icon{width:15px;height:15px}
  .hero{min-height:620px;height:100svh}.hero-image{object-position:center center}.hero-shade{background:linear-gradient(90deg,rgba(10,37,28,.66),rgba(10,37,28,.08)),linear-gradient(0deg,rgba(10,37,28,.26),transparent 60%)}.hero-copy{left:24px;right:24px;bottom:86px}.hero-copy>p{font-size:13px;margin-bottom:17px}.hero h1{font-size:clamp(4rem,20vw,5.3rem);margin-bottom:28px}.hero-link{font-size:15px}
  .booking-dock{width:calc(100% - 24px);margin-top:-48px;padding:21px 17px 18px;display:block}.booking-intro{display:block}.booking-intro h2{font-size:1.45rem}.booking-intro p{margin-top:5px}#booking-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-top:17px}.booking-dock label:nth-of-type(3){grid-column:1/-1}.booking-dock .button{grid-column:1/-1}label{font-size:13px}input,select{font-size:16px;height:45px}input[type="date"]{width:100%;min-width:0;padding-left:9px;padding-right:7px}.form-note{font-size:12px}
  .amenities-band{padding:38px 24px 9px;border:0}.amenities-band ul{display:grid;grid-template-columns:1fr 1fr;gap:19px 12px}.amenities-band li{font-size:13px;white-space:normal}.amenities-band>p{display:none}.section{padding:72px 20px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{text-align:left;margin:15px 0 0}.section h2{font-size:2.8rem}
  .room-grid{grid-template-columns:1fr;gap:25px}.room-photo img{height:275px}.room-details{padding:23px 21px}.room-details>p:not(.room-kicker){min-height:0}.room-footer{display:block}.room-footer a{margin-top:13px}.room-footer>span{display:block}
  .reviews-section{padding-left:20px;padding-right:20px;overflow:hidden}.reviews-heading{display:block;margin-bottom:30px}.reviews-heading h2{font-size:2.8rem}.google-rating{width:max-content;margin-top:27px;padding:14px 17px}.google-rating>strong{font-size:2.8rem}.review-list{display:flex;gap:12px;width:auto;margin-right:-20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;padding-right:20px;padding-bottom:9px;scrollbar-width:none}.review-list::-webkit-scrollbar{display:none}.review-card{flex:0 0 auto;width:min(82vw,340px);min-height:255px;padding:25px 23px;scroll-snap-align:start}.review-card blockquote{font-size:1.45rem}.reviews-link{margin-top:25px}
  .gallery-heading{display:block}.filters{justify-content:flex-start;margin-top:22px}.filters button{font-size:13px;padding:9px 12px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:155px;gap:8px}.gallery button:nth-child(1),.gallery button:nth-child(8n+1){grid-column:span 2;grid-row:span 2}.gallery button:nth-child(6n+4){grid-row:span 1}
  .map-explorer{display:block}.map-wrap{min-height:390px}.map-tip{left:12px;bottom:12px}.place-list{display:flex;gap:10px;margin:12px -20px 0 0;padding:0 20px 8px 0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.place-list::-webkit-scrollbar{display:none}.place-card{flex:0 0 auto;width:min(80vw,315px);min-height:88px;scroll-snap-align:start}.place-card:hover,.place-card.is-active{transform:none}.place-note{display:none}
  .location{grid-template-columns:1fr;gap:34px}.location-image img{height:285px}.location-copy h2{font-size:2.8rem}.location-copy>p:not(.address){font-size:16px}.closing{padding:72px 24px}.closing h2{font-size:3.4rem}.closing-mark{width:56px;height:56px}
  footer{display:grid;gap:17px;padding:27px 20px calc(21px + env(safe-area-inset-bottom))}.footer-brand{font-size:1.46rem}.footer-brand .brand-mark{width:34px;height:37px}.footer-links{display:flex;gap:0 19px;margin:0;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.footer-links a{padding:3px 0}.footer-links a:nth-last-child(-n+2){flex-basis:100%;padding-top:8px;border-top:1px solid rgba(220,222,213,.7);font-size:12.5px}footer>small{display:block;font-size:11px;line-height:1.5}dialog{width:calc(100% - 24px);max-height:calc(100svh - 28px);padding:54px 12px 18px;border-radius:16px;overflow:hidden}dialog figure{display:grid;gap:14px}dialog figure img{width:100%;height:auto;max-height:64svh;min-height:0;border-radius:10px;background:#091914}dialog figcaption{min-height:22px;margin:0;padding:0 10px;line-height:1.45}dialog button{width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(8,28,21,.78);backdrop-filter:blur(7px)}.close-lightbox{right:11px;top:9px}.previous{left:18px;top:50%;transform:translateY(-50%)}.next{right:18px;top:50%;transform:translateY(-50%)}
}
@media(max-width:360px){.nav-cta .icon{display:none}.hero h1{font-size:3.7rem}.amenities-band ul{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image,dialog[open]{animation:none}.room-photo img,.gallery img{transition:none}.button:active{transform:none}}

/* Contenido SEO y páginas temáticas */
.amenities-band>p{max-width:43ch}.amenities-band>p a,.nearby-heading>p a{text-decoration:underline;text-decoration-thickness:1px}.footer-links{gap:12px 25px;flex-wrap:wrap;justify-content:center;font-size:13px}
.seo-intro{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:clamp(45px,8vw,120px);align-items:start;padding-top:90px;padding-bottom:90px;border-bottom:1px solid var(--line)}.seo-intro h2{max-width:12ch}.seo-intro>div>p{font-size:17px}.editorial-links{display:flex;gap:26px;flex-wrap:wrap;margin-top:28px}.editorial-links a{display:inline-flex;align-items:center;gap:9px;padding-bottom:5px;border-bottom:1px solid var(--forest);font-size:14px;font-weight:600}
.content-page .page-header{position:sticky;color:var(--forest)}.page-header nav a[aria-current="page"]{border-color:currentColor}.page-main{min-height:70vh}.page-hero{width:min(1440px,100%);min-height:610px;margin:0 auto;display:grid;grid-template-columns:minmax(390px,.84fr) minmax(0,1.16fr);background:var(--paper-2)}.page-hero-copy{align-self:center;padding:72px clamp(32px,6vw,90px)}.breadcrumbs{display:flex;gap:9px;margin-bottom:33px;color:var(--muted);font-size:12px}.breadcrumbs a{text-decoration:underline}.page-hero h1{max-width:10ch;margin-bottom:26px;font-size:clamp(3.7rem,6vw,6rem)}.page-hero-copy>p{max-width:48ch;margin-bottom:31px;font-size:17px}.page-hero>img{height:100%;min-height:610px}.content-page .section{max-width:1230px}.content-page h2{font-size:clamp(2.7rem,4.7vw,4.8rem)}
.room-story{display:grid;grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr);gap:clamp(45px,7vw,100px);align-items:center;border-bottom:1px solid var(--line)}.room-story-reverse .room-story-copy{order:2}.room-story-copy>p:not(.room-kicker){font-size:17px}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:28px 0 31px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}.feature-list li{position:relative;padding-left:17px;font-size:14px}.feature-list li::before{content:"";position:absolute;left:0;top:.68em;width:5px;height:5px;border-radius:50%;background:var(--terracotta)}.room-story-media{display:grid;grid-template-columns:1.45fr .75fr;gap:10px;height:520px}.room-story-media img{height:100%;border-radius:7px}.room-story-media img:nth-child(2){object-position:center}
.page-assurance{padding:76px clamp(24px,7vw,105px);display:flex;align-items:center;justify-content:center;gap:clamp(45px,8vw,130px);background:var(--forest);color:#fff7e7}.page-assurance>div{max-width:690px}.page-assurance h2{margin-bottom:15px;color:#fff7e7}.page-assurance p{margin:0;color:#d7dfd9;font-size:16px}
.service-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,8vw,120px);align-items:end;padding-bottom:58px}.service-intro h2{max-width:13ch}.service-intro p{margin:0;font-size:17px}.service-list{padding-top:0}.service-list article{display:grid;grid-template-columns:64px minmax(0,1fr);gap:27px;padding:30px 0;border-top:1px solid var(--line)}.service-list article:last-child{border-bottom:1px solid var(--line)}.service-list article>.icon{width:42px;height:42px;color:var(--terracotta);stroke-width:1.35}.service-list h2{margin-bottom:10px;font-size:clamp(2rem,3vw,3rem)}.service-list p{margin:0}.page-photo-pair{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(310px,.72fr);gap:clamp(45px,8vw,115px);align-items:center;background:var(--paper-2);max-width:none!important;padding-left:max(24px,calc((100vw - 1230px)/2));padding-right:max(24px,calc((100vw - 1230px)/2))}.page-photo-pair>img{height:560px;border-radius:7px}.page-photo-pair h2{max-width:8ch;margin-bottom:26px}.page-photo-pair p{font-size:17px}
.address-feature{display:grid;grid-template-columns:.65fr 1.15fr .8fr;gap:clamp(30px,6vw,90px);align-items:start;border-bottom:1px solid var(--line)}.address-feature>div{display:flex;gap:13px}.address-feature>div .icon{margin-top:4px;color:var(--terracotta)}.address-feature>div p{margin:0;color:var(--ink)}.address-feature h2{font-size:clamp(2.7rem,4.2vw,4.4rem)}.address-feature>p{font-size:17px}.nearby-guide{padding-top:80px}.nearby-guide-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:37px}.nearby-guide-heading p{margin:0;text-align:right}.nearby-guide ol{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);list-style:none}.nearby-guide li{padding:25px 22px 28px;border-right:1px solid var(--line)}.nearby-guide li:last-child{border:0}.nearby-guide li>span{display:block;margin-bottom:28px;color:var(--terracotta);font-size:12px;font-weight:600}.nearby-guide h3{font-size:1.65rem;line-height:1.05}.nearby-guide li p{margin:0;font-size:13px;line-height:1.55}.faq-section{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(45px,9vw,135px);padding-top:85px}.faq-section h2{max-width:7ch}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:24px 42px 24px 0;cursor:pointer;font-weight:600;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:4px;top:20px;font:600 1.5rem/1 var(--serif);color:var(--terracotta)}.faq-list details[open] summary::after{content:"−"}.faq-list details p{margin:-7px 0 24px;padding-right:35px}
@media(max-width:980px){.page-hero{grid-template-columns:1fr 1.15fr}.page-hero-copy{padding:55px 35px}.room-story-media{height:450px}.nearby-guide ol{grid-template-columns:repeat(3,1fr)}.nearby-guide li:nth-child(3){border-right:0}.nearby-guide li:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media(max-width:700px){.seo-intro{display:block;padding-top:63px;padding-bottom:63px}.seo-intro h2{margin-bottom:25px}.seo-intro>div>p{font-size:16px}.editorial-links{display:grid;justify-items:start;gap:15px}.content-page .page-header{position:sticky}.page-hero{display:flex;min-height:0;flex-direction:column}.page-hero-copy{padding:44px 20px 40px}.breadcrumbs{margin-bottom:27px}.page-hero h1{font-size:3.35rem;margin-bottom:21px}.page-hero-copy>p{font-size:16px}.page-hero>img{min-height:0;height:310px;order:-1}.content-page .section{padding-top:67px;padding-bottom:67px}.content-page h2{font-size:2.8rem}.room-story,.service-intro,.address-feature,.faq-section{display:block}.room-story-copy{margin-bottom:35px}.room-story-reverse .room-story-copy{order:initial}.feature-list{gap:11px 14px}.room-story-media{height:390px;grid-template-columns:1.35fr .65fr}.page-assurance{display:block;padding:62px 20px}.page-assurance h2{font-size:2.8rem}.page-assurance .button{margin-top:27px}.service-intro h2{margin-bottom:25px}.service-intro p{font-size:16px}.service-list article{grid-template-columns:49px 1fr;gap:18px;padding:25px 0}.service-list article>.icon{width:34px;height:34px}.service-list h2{font-size:2rem}.page-photo-pair{display:block;padding-left:20px;padding-right:20px}.page-photo-pair>img{height:390px;margin-bottom:35px}.address-feature>div,.address-feature h2{margin-bottom:27px}.address-feature>p{font-size:16px}.nearby-guide-heading{display:block}.nearby-guide-heading h2{margin-bottom:17px}.nearby-guide-heading p{text-align:left}.nearby-guide ol{display:block}.nearby-guide li{border-right:0!important;border-bottom:1px solid var(--line);padding:24px 0}.nearby-guide li:last-child{border:0}.nearby-guide li>span{margin-bottom:11px}.nearby-guide h3{margin-bottom:8px}.faq-section h2{margin-bottom:31px}.faq-list summary{padding-top:21px;padding-bottom:21px}.faq-list summary::after{top:17px}}

.page-hero-text{display:block;min-height:0}.page-hero-text .page-hero-copy{width:min(1230px,100%);margin:0 auto;padding-top:96px;padding-bottom:96px}.page-hero-text h1{max-width:14ch}
.room-page-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:145px;gap:9px}.room-page-gallery button{min-width:0;padding:0;border:0;border-radius:7px;overflow:hidden;background:#dfe3da}.room-page-gallery button:first-child{grid-column:span 2;grid-row:span 2}.room-page-gallery img{height:100%;transition:transform .45s cubic-bezier(.16,1,.3,1)}.room-page-gallery button:hover img{transform:scale(1.025)}.room-page-gallery[data-room="family"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:245px}.room-page-gallery[data-room="family"] button:first-child{grid-column:auto;grid-row:auto}
.location-map-section{max-width:none!important;padding-left:max(24px,calc((100vw - 1230px)/2));padding-right:max(24px,calc((100vw - 1230px)/2));background:var(--paper-2)}.location-map-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:35px}.location-map-heading h2{max-width:10ch}.location-map-heading p{max-width:43ch;margin:0;text-align:right}.location-page-map-wrap{position:relative;height:570px;border-radius:10px;overflow:hidden;background:#dce3d8}.location-page-map-wrap noscript{position:absolute;left:20px;bottom:20px;padding:12px;background:var(--paper)}#location-page-map{position:absolute;inset:0}
.whatsapp-float{display:none}
@media(max-width:700px){.page-hero-text .page-hero-copy{padding:60px 20px}.room-page-gallery,.room-page-gallery[data-room="family"]{display:flex;grid-auto-rows:auto;gap:10px;margin-right:-20px;padding-right:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.room-page-gallery::-webkit-scrollbar{display:none}.room-page-gallery button,.room-page-gallery[data-room="family"] button{flex:0 0 min(82vw,330px);height:290px;scroll-snap-align:start}.room-page-gallery button:first-child{grid-column:auto;grid-row:auto}.room-story{overflow:hidden}.location-map-heading{display:block}.location-map-heading h2{margin-bottom:18px}.location-map-heading p{text-align:left}.location-page-map-wrap{height:430px}.whatsapp-float{position:fixed;z-index:1200;right:17px;bottom:calc(18px + env(safe-area-inset-bottom));display:grid;width:52px;height:52px;place-items:center;padding:0;border:1.5px solid var(--forest);border-radius:50%;background:#fff7e7;color:var(--forest);opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .22s ease,transform .22s cubic-bezier(.16,1,.3,1)}.whatsapp-float svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.whatsapp-float.is-visible{opacity:1;pointer-events:auto;transform:none}.modal-open .whatsapp-float{opacity:0;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.room-page-gallery img,.whatsapp-float{transition:none}}
