@font-face{font-family:Inter;src:url('/assets/inter.woff') format('woff');font-weight:100 900;font-display:swap}
@font-face{font-family:Playfair;src:url('/assets/playfair.woff') format('woff');font-weight:400 900;font-display:swap}
:root{--ink:#2b333f;--gold:#c49a6c;--paper:#f8f6f2;--white:#fff;--muted:#5e6267;--line:#ded8cf;--max:1280px;--serif:Playfair,Georgia,serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:116px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}button{color:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9d713f;outline-offset:5px}button svg,a svg{flex-shrink:0}svg.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.16;letter-spacing:-.035em}h1{font-size:clamp(42px,5.8vw,82px)}h2{font-size:clamp(34px,3.8vw,54px);margin-bottom:28px}h3{font-size:28px;margin-bottom:13px}p{margin-bottom:22px}p:last-child{margin-bottom:0}::selection{background:#d5b792;color:var(--ink)}[hidden]{display:none!important}.wrap{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.section{padding-block:112px}.eyebrow{font:600 11px/1.6 var(--sans);letter-spacing:.19em;text-transform:uppercase;margin:0 0 22px}.serif-italic{font-style:italic}.muted{color:var(--muted)}.small{font-size:13px}.skip-link{position:fixed;top:-70px;left:20px;z-index:100;padding:14px;background:var(--white)}.skip-link:focus{top:12px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:17px 25px;font-size:12px;font-weight:600;line-height:1.4;letter-spacing:.035em;min-height:52px;transition:background .2s,color .2s}.btn:hover{background:#424b58}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}.btn.gold:hover{background:#d3ae84}.btn.outline{background:transparent;color:var(--ink)}.btn.outline:hover{background:var(--ink);color:var(--paper)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:44px;padding-block:10px;border-bottom:1px solid var(--gold);font-size:13px;font-weight:600;transition:gap .2s}.text-link:hover{gap:43px}.white-link{color:var(--white);border-color:rgba(255,255,255,.6)}.white-link:hover{color:#eddbc5}.icon-btn{display:inline-grid;place-items:center;background:transparent;border:1px solid var(--line);min-width:44px;min-height:44px;padding:10px}.icon-btn:hover{background:#ece6dc}
.header{height:105px;background:var(--white);position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(43,51,63,.08)}.header-inner{height:100%;display:flex;align-items:center;gap:40px;width:calc(100% - 80px);max-width:1440px;margin:auto}.brand{display:block;flex:0 0 150px;width:150px;padding:8px 0}.brand img{height:auto;width:150px}.nav{display:flex;justify-content:center;align-items:center;gap:28px;margin-left:auto}.nav a{font-size:12px;letter-spacing:.025em;white-space:nowrap;position:relative;padding-block:18px}.nav a:after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .2s}.nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}.header-cta{font-size:11px;padding:14px 23px;min-height:46px}.menu-button{display:none;background:none;border:0;padding:11px;min-height:44px;min-width:44px}.menu-label{font-size:11px;letter-spacing:.07em;margin-right:8px}.nav-mobile-contact{display:none}
.hero{position:relative;min-height:660px;height:calc(100svh - 105px);max-height:850px;isolation:isolate;color:var(--white)}.hero-image{position:absolute;inset:0;z-index:-2}.hero-image img{object-position:50% 62%}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,29,39,.64),rgba(16,29,39,.13) 76%),linear-gradient(0deg,rgba(13,28,36,.48),transparent 55%)}.hero-content{padding-top:clamp(78px,11vh,140px);padding-bottom:180px}.hero .eyebrow{color:#fff;font-weight:500;letter-spacing:.22em}.hero h1{max-width:820px;margin-bottom:25px;line-height:1.07;text-shadow:0 1px 15px #0002}.hero-lead{font-size:15px;max-width:420px;line-height:1.8}.hero-bottom{position:absolute;bottom:24px;right:54px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.booking-bar{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:1fr 1fr .8fr auto;align-items:center;background:var(--paper);color:var(--ink);padding:17px 20px;gap:0;box-shadow:0 8px 30px #0001}.booking-bar .field{padding:0 25px;border-right:1px solid var(--line)}.field label{display:block;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.15em;margin-bottom:5px}.field input,.field select{border:0;border-radius:0;background:transparent;width:100%;color:var(--ink);min-height:30px;font-size:14px;min-width:0}.booking-bar .btn{margin-left:24px;white-space:nowrap}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start;padding-bottom:65px}.intro h2{margin:0}.intro-copy{padding-top:10px;max-width:470px}.intro-copy p{color:var(--muted);font-size:16px}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;border-top:1px solid var(--line);padding-top:34px}.pillar{display:grid;grid-template-columns:32px 1fr;gap:15px}.pillar .index{font-size:12px;color:#84613c;padding-top:3px}.pillar h3{font-family:var(--sans);font-size:14px;letter-spacing:0;font-weight:600;margin-bottom:8px}.pillar p{font-size:13px;color:var(--muted);max-width:295px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-heading h2{margin:0}.section-heading .text-link{margin-bottom:7px}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.room-card .photo{height:320px;overflow:hidden;display:block}.photo img{transition:transform .6s ease}.photo:hover img{transform:scale(1.035)}.room-card .meta{margin-top:23px;margin-bottom:9px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.room-card h3{font-size:27px;margin-bottom:12px}.room-card .text-link{font-size:11px;gap:26px}.rooms-preview{background:#f0ede7}
.split{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:90px}.split.reverse{grid-template-columns:1fr 1.12fr}.split.reverse>.visual{order:2}.split .visual{height:590px;position:relative}.split .copy{padding-block:18px}.split .copy p{max-width:430px;color:var(--muted);font-size:15px}.split .copy .eyebrow{font-size:11px;color:var(--ink)}.split .copy .text-link{margin-top:14px}.image-caption{position:absolute;bottom:18px;left:20px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:var(--paper);padding:9px 14px}.inset-photo{position:absolute;right:-36px;bottom:-38px;width:190px;height:245px;border:9px solid var(--paper)}.restaurant-home{padding-bottom:150px}.spa-section{background:var(--ink);color:var(--paper)}.spa-section .split{grid-template-columns:.85fr 1.15fr;gap:100px}.spa-section .visual{height:540px}.spa-section p,.spa-section .split .copy p{color:#d1d1d0}.spa-section .copy .eyebrow{color:#e4c6a5}.spa-section .text-link{color:var(--paper)}.spa-details{margin:32px 0 16px;border-top:1px solid #ffffff38}.spa-details div{padding:13px 0;border-bottom:1px solid #ffffff38;display:flex;justify-content:space-between;font-size:12px}.spa-details .number{color:#dcb993}.location-home .visual{height:540px}.location-home .copy{max-width:450px}.destination-ribbon{padding:40px 0;border-block:1px solid var(--line)}.ribbon-inner{display:flex;justify-content:space-between;gap:40px;align-items:center}.ribbon-inner .eyebrow{margin:0}.ribbon-inner p{font:400 24px/1.4 var(--serif);margin:0}.future-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.footer{background:var(--paper);padding:65px 0 24px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:90px}.footer-brand{width:170px;height:auto;margin-bottom:20px}.footer h3{font-family:var(--sans);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:24px}.footer p,.footer a{font-size:13px}.footer .footer-address{color:var(--muted);max-width:260px}.footer-links{display:flex;flex-direction:column;align-items:start;gap:9px}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted)}.footer-bottom a{font-size:10px}.footer-contact a{display:block;margin:8px 0}.footer-contact a:hover{color:#84613c}.mobile-reserve{display:none}
.page-intro{padding:76px 0 55px}.page-intro .eyebrow{margin-bottom:20px}.page-intro h1{font-size:clamp(40px,5vw,66px);max-width:850px;margin-bottom:22px}.page-intro .lead{font-size:16px;color:var(--muted);max-width:610px}.page-hero{height:580px;position:relative;isolation:isolate;color:var(--white);display:flex;align-items:end}.page-hero>.hero-image{z-index:-2}.page-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,18,24,.66),rgba(10,18,24,.08) 90%)}.page-hero .wrap{padding-bottom:60px}.page-hero h1{font-size:clamp(40px,5.5vw,74px);margin-bottom:0}.page-hero .eyebrow{margin-bottom:14px}.page-hero .hero-image img{object-position:center}.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:85px}.lead-grid p{color:var(--muted);max-width:510px}.lead-grid h2{font-size:42px;margin:0}.full-width-image{height:600px;position:relative}.full-width-image .image-caption{bottom:28px;left:5%}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px}.experience-card .photo{height:380px;overflow:hidden;margin-bottom:24px}.experience-card p{font-size:14px;color:var(--muted);max-width:470px}.experience-card h3{font-size:32px}.cta-strip{padding:60px;background:#eee8de;display:flex;align-items:center;justify-content:space-between;gap:40px}.cta-strip h2{font-size:36px;margin-bottom:13px}.cta-strip p{color:var(--muted);font-size:14px;max-width:550px}.cta-strip .btn{flex-shrink:0}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:38px}.filter{background:none;border:1px solid var(--line);padding:12px 22px;font-size:12px;min-height:46px}.filter[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter:hover{border-color:var(--ink)}.room-list{padding-bottom:80px}.room-detail{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center;border-top:1px solid var(--line);padding-block:58px;scroll-margin-top:120px}.room-detail:nth-child(even) .room-photo{order:2}.room-detail:nth-child(even){grid-template-columns:1fr 1.3fr}.room-photo{height:410px;position:relative;overflow:hidden}.room-detail .meta{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}.room-detail h2{font-size:38px;margin-bottom:20px}.room-detail p{font-size:14px;color:var(--muted)}.amenities{list-style:none;padding:0;margin:20px 0 27px;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px;color:var(--muted)}.amenities li:before{content:'·';margin-right:8px;color:#8f673e}.room-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.room-actions .btn{padding:13px 18px;min-height:46px}.room-actions .text-link{font-size:11px;gap:14px}.photo-count{position:absolute;bottom:16px;right:16px;background:#f8f6f2ed;border:0;padding:10px 14px;font-size:11px;display:flex;align-items:center;gap:8px;min-height:44px}.note{font-size:12px;color:var(--muted);max-width:850px;margin-block:25px}.note svg{margin-right:8px}.features-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:25px;padding:32px 0;border-block:1px solid var(--line)}.features-bar div{display:flex;align-items:center;gap:13px;font-size:13px}
.gallery-grid{columns:3;column-gap:24px}.gallery-item{break-inside:avoid;margin-bottom:24px;position:relative;display:block;width:100%;padding:0;border:0;background:transparent;overflow:hidden;text-align:left}.gallery-item img{height:auto;transition:transform .6s}.gallery-item:after{content:'+';position:absolute;right:14px;bottom:14px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--ink);background:var(--paper);font-size:22px;opacity:0;transition:opacity .2s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item:hover:after,.gallery-item:focus-visible:after{opacity:1}.gallery-caption{background:var(--paper);font-size:12px;display:block;padding-top:10px;color:var(--muted)}.gallery-empty{display:none}.gallery-result{font-size:12px;color:var(--muted);margin-top:-20px;margin-bottom:30px}.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.contact-info{padding-top:14px}.contact-block{margin-bottom:30px}.contact-block .eyebrow{margin-bottom:12px}.contact-block p{font-size:15px}.contact-block a:hover{text-decoration:underline}.contact-image{height:640px}.contact-buttons{display:flex;gap:16px;flex-wrap:wrap;margin-block:28px}.faq{max-width:880px;margin:auto}.faq-heading{text-align:center;margin-bottom:40px}details{border-bottom:1px solid var(--line);padding:0}summary{list-style:none;cursor:pointer;padding:23px 35px 23px 0;position:relative;font-size:15px;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:5px;top:18px;font-size:24px;font-weight:300}details[open] summary:after{content:'−'}details p{padding:0 35px 26px 0;font-size:14px;color:var(--muted);line-height:1.8}.editorial{max-width:800px}.editorial h2{font-size:30px;margin-top:45px}.editorial p{font-size:15px;color:var(--muted)}.editorial a{text-decoration:underline;text-underline-offset:3px}
dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-height:calc(100svh - 40px);overscroll-behavior:contain}dialog::backdrop{background:#19232bd4;backdrop-filter:blur(5px)}.reservation-dialog{width:min(600px,calc(100% - 32px));padding:48px}.dialog-close{position:absolute;right:16px;top:16px;background:transparent;border:0;width:44px;height:44px;display:grid;place-items:center}.reservation-dialog h2{font-size:38px;margin-bottom:16px}.reservation-dialog .eyebrow{margin-top:15px}.reservation-dialog>p{font-size:14px;color:var(--muted);margin-bottom:25px}.reservation-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.reservation-grid .field{border-bottom:1px solid #c9bda9;padding-bottom:12px}.reservation-grid input,.reservation-grid select{height:40px;font-size:14px}.reservation-grid .wide{grid-column:1/-1}.reservation-form .btn{width:100%;margin-top:28px}.dialog-note{font-size:12px;color:var(--muted);margin-top:15px}.dialog-email{font-size:12px;display:block;text-align:center;margin-top:18px;text-decoration:underline;text-underline-offset:5px}.lightbox{width:calc(100vw - 48px);max-width:1400px;background:#18212b;color:var(--paper);overflow:hidden}.lightbox-frame{height:min(76svh,850px);display:flex;align-items:center;justify-content:center;padding:45px 50px 5px}.lightbox-frame img{object-fit:contain;max-height:100%}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 30px 22px}.lightbox-bottom p{font-size:13px;margin:0}.lightbox-controls{display:flex;gap:8px}.lightbox-controls .icon-btn{border-color:#ffffff55}.lightbox-controls .icon-btn:hover{background:#ffffff20}.lightbox .dialog-close{color:white}.noscript-note{padding:18px;text-align:center;background:#eee4d6;font-size:13px}
@media(min-width:1600px){.hero-content{padding-top:150px}.hero h1{font-size:88px}.hero{min-height:750px}}
@media(max-width:1180px){.wrap{width:calc(100% - 72px)}.header-inner{width:calc(100% - 48px);gap:23px}.nav{gap:20px}.nav a{font-size:11px}.brand,.brand img{width:150px}.brand{flex-basis:150px}.split,.spa-section .split,.intro,.lead-grid{gap:55px}.room-card .photo{height:270px}.room-grid{gap:22px}.booking-bar .field{padding-inline:14px}.booking-bar .btn{gap:12px;margin-left:15px}.split .visual{height:520px}.inset-photo{right:-20px;width:160px;height:205px}.room-detail{gap:45px}.footer-top{gap:45px}.contact-layout{gap:50px}}
@media(max-width:960px){.nav{gap:14px}.nav a{font-size:10px}.header-inner{gap:20px}.header-cta{padding:13px 16px}.menu-label{display:none}.intro,.lead-grid{gap:40px}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.room-card .photo{height:230px}.room-card h3{font-size:24px}.split .visual{height:460px}.split,.spa-section .split{gap:45px}.booking-bar{grid-template-columns:1fr 1fr .8fr auto;width:calc(100% - 48px);padding:14px}.booking-bar .btn{font-size:11px;padding:17px 14px;gap:8px}.booking-bar .btn svg{display:none}.pillar{grid-template-columns:22px 1fr;gap:10px}.pillars{gap:25px}.page-hero{height:510px}.contact-layout{gap:36px}.room-detail,.room-detail:nth-child(even){grid-template-columns:1fr 1fr;gap:38px}.room-photo{height:365px}.footer-top{gap:35px}.cta-strip{padding:42px}.gallery-grid{column-gap:18px}.gallery-item{margin-bottom:18px}}
@media(max-width:800px){html{scroll-padding-top:88px}.header{height:88px}.header-inner{width:calc(100% - 32px);gap:15px}.brand,.brand img{width:150px}.brand{flex-basis:150px;padding:0}.nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--paper);padding:25px 30px 35px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #0002;align-items:stretch;flex-direction:column;gap:2px;max-height:calc(100svh - 88px);overflow-y:auto}.nav.open{display:flex}.nav a{font-family:var(--serif);font-size:25px;padding:10px 0}.nav a:after{display:none}.nav a[aria-current=page]{color:#8b633a}.nav .nav-mobile-contact{display:block;font-family:var(--sans);font-size:13px;padding-top:22px;margin-top:15px;border-top:1px solid var(--line)}.header-cta{margin-left:auto}.menu-button{display:flex;align-items:center;padding-right:2px}.wrap{width:calc(100% - 48px)}.section{padding-block:78px}.hero{min-height:650px;height:calc(100svh - 88px)}.hero-content{padding-top:80px}.hero h1{font-size:62px;max-width:610px}.hero-lead{font-size:14px}.booking-bar{grid-template-columns:1fr 1fr 1fr;bottom:48px;padding:17px;gap:14px 0}.booking-bar .field{padding:0 14px}.booking-bar .field:nth-of-type(3){border:0}.booking-bar .btn{grid-column:1/-1;margin:0;width:100%;min-height:48px}.hero-bottom{bottom:16px;right:25px;font-size:9px}.intro{gap:35px;padding-bottom:45px}.intro h2{font-size:38px}.intro-copy p{font-size:14px}.pillars{gap:22px}.pillar{display:block}.pillar .index{display:block;margin-bottom:12px}.pillar h3{font-size:12px}.pillar p{font-size:12px}.room-grid{grid-template-columns:1fr 1fr}.room-card:last-child{display:none}.room-card .photo{height:290px}.section-heading h2{font-size:38px}.section-heading .text-link{font-size:11px;gap:12px}.split,.split.reverse,.spa-section .split{grid-template-columns:1fr 1fr;gap:35px}.split .visual{height:450px}.split .copy p{font-size:14px}.split .copy h2{font-size:38px}.inset-photo{width:140px;height:175px;right:-18px;bottom:-25px;border-width:6px}.restaurant-home{padding-bottom:100px}.spa-section .visual{height:440px}.lead-grid{padding-block:65px}.lead-grid h2{font-size:35px}.lead-grid p{font-size:14px}.room-detail,.room-detail:nth-child(even){grid-template-columns:1fr;gap:28px;padding-block:40px}.room-detail:nth-child(even) .room-photo{order:0}.room-photo{height:430px}.room-detail p{max-width:580px}.room-detail h2{font-size:36px}.room-detail .room-copy{padding-bottom:12px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1;display:flex;align-items:center;gap:50px}.footer-brand{margin:0}.footer .footer-address{margin:0}.footer-bottom{margin-bottom:60px}.ribbon-inner{gap:25px}.ribbon-inner p{font-size:21px}.future-label{display:none}.cta-strip{padding:35px;align-items:start;flex-direction:column;gap:25px}.cta-strip h2{font-size:32px}.experience-card .photo{height:300px}.experience-card h3{font-size:28px}.contact-layout{grid-template-columns:1fr 1fr;gap:35px}.contact-image{height:560px}.contact-buttons{display:block}.contact-buttons .btn{width:100%;margin-bottom:12px}.gallery-grid{columns:2}.page-intro{padding-top:60px}.full-width-image{height:460px}}
@media(max-width:560px){.wrap{width:calc(100% - 40px)}.header-inner{gap:10px}.header-cta{font-size:10px;padding:12px 16px;min-height:42px}.brand,.brand img{width:150px}.brand{flex-basis:150px;padding:0}.header{height:84px}.nav{top:84px}.section{padding-block:65px}.hero{min-height:740px;height:calc(100svh - 84px);max-height:850px}.hero-content{padding-top:70px;padding-bottom:290px}.hero h1{font-size:48px;line-height:1.14;margin-bottom:24px;max-width:390px}.hero .eyebrow{font-size:9px;letter-spacing:.16em}.hero-lead{max-width:290px;font-size:13px}.hero:before{background:linear-gradient(90deg,#122633b5,#12263344),linear-gradient(0deg,#12263370,transparent 70%)}.hero-image img{object-position:45% center}.booking-bar{width:calc(100% - 40px);grid-template-columns:1fr 1fr;bottom:38px;padding:20px 18px;gap:16px 0}.booking-bar .field{padding:0 12px}.booking-bar .field:first-child{padding-left:0}.booking-bar .field:nth-child(2){border:0;padding-right:0}.booking-bar .field:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line);padding:13px 0 0;display:flex;align-items:center;gap:15px}.booking-bar .field:nth-child(3) label{margin:0}.booking-bar .field:nth-child(3) select{width:auto;margin-left:auto;max-width:160px}.field label{font-size:9px}.field input,.field select{font-size:12px}.hero-bottom{font-size:8px;right:21px;bottom:12px}.intro{grid-template-columns:1fr;gap:27px;padding-bottom:35px}.intro h2{font-size:37px;max-width:370px}.intro-copy{padding-top:0;max-width:none}.intro-copy p{font-size:14px}.eyebrow{font-size:10px;margin-bottom:17px}.pillars{grid-template-columns:1fr;gap:24px;padding-top:28px}.pillar{display:grid;grid-template-columns:24px 1fr;gap:15px}.pillar .index{margin:0;font-size:10px}.pillar h3{font-size:13px}.pillar p{font-size:12px;max-width:none;margin:0}.section-heading{align-items:start;flex-direction:column;gap:18px;margin-bottom:29px}.section-heading h2{font-size:37px}.section-heading .text-link{margin:0}.room-grid{grid-template-columns:1fr;gap:40px}.room-card:last-child{display:block}.room-card .photo{height:310px}.room-card .meta{margin-top:18px}.room-card h3{font-size:28px}.split,.split.reverse,.spa-section .split{grid-template-columns:1fr;gap:45px}.split.reverse>.visual{order:0}.split .visual{height:420px}.split .copy{padding:0}.split .copy h2{font-size:40px;max-width:340px}.split .copy p{max-width:none}.inset-photo{width:145px;height:185px;right:10px;bottom:-28px}.restaurant-home{padding-bottom:65px}.restaurant-home .split{gap:60px}.spa-section .split .copy{order:2}.spa-section .visual{height:370px}.spa-details{margin-top:25px}.location-home .visual{height:360px}.ribbon-inner{display:block}.ribbon-inner .eyebrow{margin-bottom:10px;font-size:9px}.ribbon-inner p{font-size:23px;max-width:320px}.destination-ribbon{padding:30px 0}.footer{padding-top:45px}.footer-top{grid-template-columns:1fr;gap:35px}.footer-top>div:first-child{grid-column:auto;display:block}.footer-brand{width:150px;margin-bottom:20px}.footer .footer-address{max-width:260px;font-size:12px}.footer h3{margin-bottom:17px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.footer a,.footer p{font-size:12px}.footer-bottom{font-size:9px;display:block;margin-top:30px;margin-bottom:70px}.footer-bottom>div{margin-top:10px}.mobile-reserve{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:35;background:var(--paper);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));justify-content:space-between;align-items:center;gap:15px;transform:translateY(120%);transition:transform .25s}.mobile-reserve.visible{transform:translateY(0)}.mobile-reserve span{font-size:11px;line-height:1.5}.mobile-reserve .btn{font-size:10px;padding:13px 18px;min-height:42px}.page-intro{padding-top:43px;padding-bottom:35px}.page-intro h1{font-size:42px}.page-intro .lead{font-size:14px}.page-hero{height:500px}.page-hero .wrap{padding-bottom:40px}.page-hero h1{font-size:48px}.page-hero .eyebrow{font-size:9px}.lead-grid{grid-template-columns:1fr;gap:22px;padding-block:55px}.lead-grid h2{font-size:36px}.lead-grid p{font-size:14px}.room-photo{height:300px}.room-detail h2{font-size:33px}.room-detail .meta{font-size:10px}.room-detail{padding-block:34px}.room-list{padding-bottom:35px}.filters{gap:8px;margin-bottom:25px}.filter{padding:10px 15px;font-size:11px;min-height:44px}.features-bar{display:grid;grid-template-columns:1fr 1fr;gap:23px}.features-bar div{font-size:11px;gap:8px}.features-bar svg.icon{width:18px}.two-col{grid-template-columns:1fr;gap:42px}.experience-card .photo{height:350px}.experience-card h3{font-size:30px}.experience-card p{font-size:13px}.full-width-image{height:400px}.cta-strip{padding:30px 25px;gap:25px}.cta-strip h2{font-size:31px}.cta-strip p{font-size:13px}.cta-strip .btn{width:100%;gap:15px}.gallery-grid{column-gap:12px}.gallery-item{margin-bottom:18px}.gallery-caption{font-size:10px;line-height:1.5;padding-top:7px}.gallery-item:after{opacity:1;bottom:35px;right:8px;width:27px;height:27px;font-size:17px}.gallery-result{margin-top:-8px;font-size:11px}.contact-layout{grid-template-columns:1fr;gap:38px}.contact-image{height:440px;order:-1}.contact-info{padding:0}.contact-buttons{display:flex;gap:10px}.contact-buttons .btn{width:auto;flex:1;margin:0;font-size:11px;padding:15px}.contact-block p{font-size:14px}.faq-heading h2{font-size:35px}.faq summary{font-size:13px;padding-block:20px}.faq details p{font-size:13px}.reservation-dialog{padding:35px 25px;max-height:calc(100svh - 30px)}.reservation-dialog h2{font-size:33px}.reservation-dialog>p{font-size:13px}.reservation-grid{gap:18px 16px}.reservation-grid .field label{font-size:9px}.reservation-grid input,.reservation-grid select{font-size:12px}.dialog-close{right:9px;top:9px}.reservation-form .btn{font-size:11px;gap:14px}.lightbox{width:calc(100vw - 20px)}.lightbox-frame{height:65svh;padding:50px 8px 0}.lightbox-bottom{padding:16px 15px}.lightbox-bottom p{font-size:11px;max-width:210px}.lightbox-controls .icon-btn{padding:7px;min-width:40px;min-height:40px}.editorial h2{font-size:27px}.editorial p{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
