@font-face{font-family:DM Sans;src:url(fonts/dm-sans.woff2) format("woff2");font-display:swap;font-weight:400 700}@font-face{font-family:Cormorant;src:url(fonts/cormorant.woff2) format("woff2");font-display:swap;font-weight:400 700}
:root{--wine:#451d2c;--wine-deep:#301520;--paper:#fcf9f4;--cream:#f3eddf;--gold:#c8a777;--ink:#28211e;--muted:#766d66;--line:#e1d9cf;--serif:"Cormorant",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}img{max-width:100%;display:block}button:disabled{opacity:.5;cursor:not-allowed}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04;letter-spacing:-.025em}h1{font-size:clamp(3.2rem,6vw,6.2rem)}h2{font-size:clamp(2.7rem,4.5vw,4.8rem)}h3{font-size:2.3rem}h1 em,h2 em{font-weight:400}p{color:var(--muted)}:focus-visible{outline:3px solid #a47742;outline-offset:5px}.container{width:min(1280px,calc(100% - 112px));margin:auto}.icon{flex-shrink:0;vertical-align:middle}.eyebrow{font:500 .78rem/1.5 var(--sans);letter-spacing:.2em;color:var(--wine);margin-bottom:22px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 25px;border:1px solid transparent;font-size:.875rem;font-weight:500;white-space:nowrap;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-burgundy{background:var(--wine);color:white}.button-burgundy:hover{background:#612e41}.button-outline{border-color:var(--line);background:transparent}.text-link{display:inline-flex;align-items:center;gap:30px;border-bottom:1px solid #b2a698;padding:9px 0;font-size:.9rem;font-weight:500}.text-link.light{color:white;border-color:#ffffff55}.icon-button{border:1px solid var(--line);display:inline-grid;place-items:center;background:transparent;width:45px;height:45px}.skip-link{position:fixed;z-index:100;top:-70px;left:10px;background:var(--wine);color:white;padding:12px}.skip-link:focus{top:10px}.caption{font-size:.8rem;margin-top:22px}.preview-bar{position:relative;z-index:31;background:var(--wine-deep);color:#ead7ba;min-height:34px;padding:7px 4%;display:flex;justify-content:space-between;gap:20px;font-size:.7rem;letter-spacing:.06em;line-height:1.4}.preview-bar a{display:flex;align-items:center;gap:10px;letter-spacing:0}.preview-bar .icon{width:16px;height:16px}
.site-header{height:110px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;z-index:30;border-bottom:1px solid var(--line)}.home .site-header{position:absolute;left:0;right:0;color:white;border-bottom:1px solid #ffffff26}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-mark{font-family:var(--serif);font-size:2.2rem;letter-spacing:-.16em;padding-right:.12em;display:grid;place-items:center;border:1px solid currentColor;width:49px;height:57px;border-radius:50% 50% 2px 2px;font-weight:500;line-height:1}.brand-text{font:500 1.03rem var(--serif);letter-spacing:.15em;white-space:nowrap}.brand-text small{font-family:var(--sans);font-size:.58rem;letter-spacing:.26em;display:block;margin-top:8px;text-align:center}.desktop-nav{display:flex;gap:30px;font-size:.84rem}.desktop-nav a{padding:10px 0}.desktop-nav a:hover{color:var(--gold)}.nav-book{border-color:var(--wine);background:var(--wine);color:white;min-height:46px}.home .nav-book{border-color:#ffffff66;background:#ffffff08;color:white}.nav-actions{display:flex;gap:10px;align-items:center}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.mobile-nav{position:absolute;left:0;right:0;z-index:35;padding:25px 7%;background:var(--paper);box-shadow:0 14px 20px #0002;display:grid;gap:4px}.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line)}
.hero{height:calc(100svh - 34px);min-height:750px;max-height:1050px;position:relative;isolation:isolate;color:white;overflow:hidden;background:#2d201b}.hero-image-wrap{position:absolute;inset:-2%;z-index:-3;perspective:1200px;overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover;object-position:65% 50%;will-change:transform;transform:scale(1.035);transition:opacity .3s}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#1b1417c9 0%,#1b141754 45%,#1b141712 75%),linear-gradient(0deg,#1b14177d,transparent 25%)}.hero-content{position:relative;padding-top:clamp(205px,23vh,280px);padding-bottom:135px}.hero-eyebrow{color:#eedcc1;display:flex;align-items:center;gap:12px}.hero-eyebrow span{width:27px;height:1px;background:currentColor}.hero h1{max-width:890px;font-size:clamp(4rem,6.7vw,7.1rem);line-height:1.01;text-shadow:0 4px 20px #0002}.hero h1 em{color:#eedec6}.hero-description{max-width:390px;color:#e5dcd6;font-size:.92rem;margin-top:28px;line-height:1.85}.hero-links{display:flex;align-items:center;gap:35px;margin-top:30px}.hero-explore{display:flex;gap:12px;align-items:center;border:0;background:none;color:white;font-size:.85rem}.play-ring{display:grid;place-items:center;border:1px solid #ffffff60;border-radius:50%;height:43px;width:43px;font-size:1.15rem}.hero-bottom{position:absolute;bottom:100px;left:0;right:0;display:flex;align-items:center;justify-content:space-between}.scroll-cue{font-size:.75rem;color:#e0d0c7}.hero-slide-controls{display:flex;align-items:center;gap:12px;color:#d5c1b5;font-family:var(--serif)}.hero-slide-controls button{font:inherit;color:inherit;border:0;background:transparent;font-size:1.1rem;opacity:.65;padding:5px}.hero-slide-controls button.active{opacity:1;color:white;border-bottom:1px solid var(--gold)}.booking-dock{position:relative;margin-top:-58px;z-index:4}.stay-search{background:var(--paper);padding:24px 26px;display:grid;grid-template-columns:1.2fr 1.2fr .8fr .8fr auto;align-items:center;box-shadow:0 12px 35px #2b181811;border:1px solid var(--line)}.stay-search label{min-width:0;border-right:1px solid var(--line);padding:0 23px;display:block}.stay-search label:first-child{padding-left:0}.stay-search label>span{display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--muted);margin-bottom:8px}.stay-search .icon{width:17px;height:17px}.stay-search input,.stay-search select{border:0;background:transparent;min-height:30px;width:100%;color:var(--ink);font-size:.88rem;border-radius:0;padding:0;min-width:0}.stay-search .button{margin-left:20px}
.rooms-section{padding:110px 0 115px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}.section-heading>p{font-size:.9rem;padding-bottom:8px;max-width:350px}.section-heading h2 em{color:var(--wine)}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.room-card:nth-child(2){padding-top:60px}.room-card:nth-child(3){padding-top:120px}.room-image-frame{position:relative;aspect-ratio:4/4.15;perspective:1000px;transform-style:preserve-3d;transition:transform .15s;box-shadow:0 16px 25px #3215230c}.room-image-frame img{width:100%;height:100%;object-fit:cover}.room-number{position:absolute;top:20px;left:20px;color:white;border-bottom:1px solid #ffffff80;font:.9rem var(--sans)}.room-expand{position:absolute;right:15px;bottom:15px;display:grid;place-items:center;width:40px;height:40px;background:var(--paper);border:0;transform:translateZ(20px)}.room-meta{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;color:var(--muted);margin:24px 0 10px}.room-card h3{font-size:2.15rem}.room-card>p{font-size:.85rem;margin-top:9px}.room-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:24px;border-top:1px solid var(--line);padding-top:18px;gap:8px}.room-bottom strong{font-size:1.05rem;font-weight:500}.room-bottom small{font-size:.7rem;color:var(--muted)}.room-bottom a{height:36px;width:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;flex-shrink:0}.room-bottom a:hover{background:var(--wine);color:white}.room-details{font-size:.8rem;margin-top:15px;color:var(--muted)}.room-details summary{cursor:pointer;color:var(--wine)}.room-details p{margin-top:10px}.room-details ul{padding-left:20px}.experience{background:var(--wine);color:var(--cream);padding:100px 0;overflow:hidden}.experience-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:100px}.experience .eyebrow{color:var(--gold)}.experience h2{font-size:clamp(3rem,4.7vw,5rem)}.experience-copy>p:not(.eyebrow){color:#d2bfc3;max-width:390px;margin:30px 0 24px;font-size:.92rem;line-height:1.9}.experience-photo{height:570px;position:relative;border-radius:45% 45% 0 0;overflow:hidden;border:1px solid #ffffff30;transform-style:preserve-3d;transition:transform .2s}.experience-photo img{width:100%;height:100%;object-fit:cover;object-position:56% center}.photo-caption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,#0008);padding:55px 25px 25px;color:white;font-size:.8rem;text-align:center}.experience-notes{display:flex;gap:30px;margin-top:60px;padding-top:20px;border-top:1px solid #ffffff26;font-size:.85rem}.experience-notes small{display:block;color:var(--gold);font-size:.7rem;margin-bottom:12px}
.gallery-section{padding:105px 0 110px}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.gallery-item{position:relative;padding:0;border:0;background:var(--cream);text-align:left;overflow:hidden;min-height:230px}.gallery-item:first-child{grid-row:span 2;min-height:500px}.gallery-item img{width:100%;height:100%;object-fit:cover;position:absolute;transition:transform .6s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;bottom:0;left:0;right:0;padding:60px 24px 24px;background:linear-gradient(transparent,#0009);display:flex;align-items:center;justify-content:space-between;color:white;font-size:.9rem}.stay-cta{position:relative;text-align:center;background:var(--cream);padding:95px 0 100px;isolation:isolate;overflow:hidden}.stay-cta h2{font-size:clamp(3.7rem,6.3vw,6.5rem);color:var(--wine)}.stay-cta p:not(.eyebrow){margin-top:22px;font-size:.9rem}.cta-actions{display:flex;justify-content:center;gap:30px;align-items:center;margin-top:32px}.cta-monogram{position:absolute;z-index:-1;right:-3%;top:-20%;font-family:var(--serif);font-size:40rem;line-height:1;color:#451d2c06}.site-footer{background:var(--wine-deep);color:#eadcc8;padding:55px 0 0}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding-bottom:45px;align-items:start}.footer-top>p{font:1.75rem/1.15 var(--serif);color:#d7c5b5;padding-left:45px}.footer-contact{display:grid;gap:10px;font-size:.8rem;justify-self:end;max-width:340px;overflow-wrap:anywhere}.footer-contact p{color:#baa99f}.footer-bottom{border-top:1px solid #ffffff20;padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:.74rem;color:#bfa99f}.footer-bottom>div{display:flex;gap:25px}.mobile-booking{display:none}
.page-space{padding-top:65px;padding-bottom:90px}.page-intro{margin-bottom:40px}.page-intro h1{font-size:4.6rem;color:var(--wine)}.page-intro>p:last-child{margin-top:20px;max-width:650px;font-size:.9rem}.booking-page .stay-search{box-shadow:none;margin-bottom:35px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:35px;align-items:start}.booking-layout h2{font-size:2.2rem;margin-bottom:24px}.room-options{display:grid;gap:14px;margin-bottom:35px}.room-option{display:flex;align-items:center;gap:18px;padding:15px;border:1px solid var(--line);cursor:pointer;background:white}.room-option:has(input:checked){border-color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine)}.room-option img{width:100px;align-self:stretch;object-fit:cover;min-height:95px}.room-option input{accent-color:var(--wine);flex-shrink:0}.room-option-main{flex:1}.room-option h3{font-size:1.7rem}.room-option p{font-size:.78rem;margin-top:6px}.room-option-rate{font-size:.93rem;color:var(--wine)}.room-option-rate small{font-size:.68rem;display:block;color:var(--muted)}.form-card{background:white;border:1px solid var(--line);padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px;font-size:.875rem}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:0;padding:12px 13px;background:var(--paper);color:var(--ink);min-height:46px;font-size:1rem}.field textarea{resize:vertical;min-height:105px}.field small{color:var(--muted);font-size:.75rem}.check-label{display:flex;align-items:flex-start;gap:10px;font-size:.8rem;line-height:1.6;color:var(--muted);margin:20px 0}.check-label input{margin-top:4px;accent-color:var(--wine);width:16px;height:16px;flex-shrink:0}.check-label a{text-decoration:underline}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-summary{position:sticky;top:25px;border:1px solid var(--line);background:var(--cream);padding:30px}.booking-summary h3{font-size:2rem;margin-bottom:18px}.summary-row{display:flex;justify-content:space-between;gap:20px;font-size:.86rem;margin:12px 0}.summary-row>span:first-child{color:var(--muted)}.summary-total{border-top:1px solid #c9beae;padding-top:18px;margin-top:20px;font-size:1.13rem}.summary-note{font-size:.75rem;line-height:1.8;margin-top:20px}.summary-policy{border-top:1px solid #c9beae;margin-top:22px;padding-top:20px;font-size:.77rem;white-space:pre-line}.notice{padding:16px 20px;border:1px solid #ccd9ca;background:#f0f5eb;color:#36503b;font-size:.86rem;margin-bottom:24px}.notice.error{border-color:#dfb9b9;background:#fff1f0;color:#7b2525}.notice.info{border-color:#dccdb7;background:#f6f0e7;color:#68543a}.notice a{text-decoration:underline}.empty-state{text-align:center;padding:40px;border:1px solid var(--line);background:var(--cream)}.empty-state h3{margin-bottom:16px}.receipt{max-width:800px;margin:auto}.receipt .receipt-top{text-align:center;padding:35px}.receipt h1{font-size:4rem}.receipt dl{display:grid;grid-template-columns:1fr 1fr;gap:20px}.receipt dt{font-size:.75rem;color:var(--muted)}.receipt dd{margin:6px 0 0}.receipt-actions{display:flex;gap:20px;margin-top:25px;flex-wrap:wrap}.status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:4px;font-size:.72rem;background:#f5ead6;color:#816330;white-space:nowrap}.status.confirmed,.status.checked_in,.status.won{background:#e9f1e8;color:#3d654b}.status.cancelled,.status.lost{background:#f8e5e5;color:#944545}.status.checked_out,.status.contacted{background:#e9eef5;color:#45617a}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact-details{margin-top:40px;display:grid;gap:24px}.contact-details a{font-size:.93rem;overflow-wrap:anywhere}.contact-details p{font-size:.9rem}.contact-image{margin-top:40px;height:250px;width:100%;object-fit:cover}.policy{max-width:900px}.policy section{margin-top:40px}.policy h2{font-size:2.3rem;margin-bottom:20px}.policy p{margin:15px 0;line-height:1.9;font-size:.94rem}
.scene-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#181313;color:white;overflow:hidden}.scene-dialog::backdrop{background:#181313}.scene-close{position:absolute;right:30px;top:30px;z-index:5;color:white;border-color:#ffffff60;background:#0005}.scene-stage{position:absolute;inset:4% 2% 0;display:grid;place-items:center;perspective:1800px;touch-action:none;overflow:hidden}.scene-stage img{width:100%;height:100%;object-fit:contain;will-change:transform;user-select:none;transition:transform .16s ease-out}.scene-info{position:absolute;bottom:55px;left:5%;pointer-events:none;text-shadow:0 2px 15px #000;background:#181313b5;padding:15px 20px;max-width:70%;backdrop-filter:blur(9px)}.scene-info .eyebrow{color:var(--gold);margin-bottom:10px}.scene-info h2{font-size:3rem;color:white}.scene-hint{font-size:.75rem;color:#d9c8b6;margin-top:15px}.scene-controls{display:flex;gap:15px;align-items:center;position:absolute;right:5%;bottom:55px;background:#181313b5;padding:10px}.scene-controls .icon-button{color:white;border-color:#ffffff40}.scene-prev .icon{transform:rotate(180deg)}.scene-sample{position:absolute;bottom:15px;left:5%;font-size:.7rem;color:#d3c1b2}.toast{position:fixed;z-index:100;bottom:30px;left:50%;transform:translateX(-50%);background:var(--wine-deep);color:white;box-shadow:0 8px 30px #0003;padding:18px 25px;max-width:min(90%,550px);font-size:.9rem}.toast[hidden]{display:none}
@media(max-width:1150px){.container{width:calc(100% - 70px)}.desktop-nav{gap:20px}.brand-text{font-size:.9rem}.nav-book{padding:12px 16px;gap:15px}.stay-search{padding:22px 18px}.stay-search label{padding:0 13px}.stay-search .button{margin-left:15px;gap:12px;padding:15px}.experience-grid{gap:60px}.room-grid{gap:20px}.room-bottom{flex-wrap:wrap}.contact-layout{gap:50px}.experience-photo{height:510px}}
@media(max-width:950px){.desktop-nav{display:none}.menu-toggle{display:inline-grid}.home .menu-toggle{border-color:#ffffff55}.site-header{height:95px}.hero{min-height:730px}.hero h1{font-size:5.1rem}.stay-search{grid-template-columns:1fr 1fr 1fr 1fr;padding:20px;gap:18px}.stay-search label{padding:0 10px}.stay-search label:nth-child(4){border:0}.stay-search .button{grid-column:1/-1;margin:0}.hero-bottom{bottom:135px}.booking-dock{margin-top:-88px}.experience-grid{gap:40px}.experience h2{font-size:3.5rem}.experience-photo{height:470px}.experience-notes{gap:18px}.room-card:nth-child(2){padding-top:35px}.room-card:nth-child(3){padding-top:70px}.room-meta{display:grid;gap:2px}.room-card h3{font-size:1.8rem}.booking-layout{grid-template-columns:1fr;gap:25px}.booking-summary{position:static;grid-row:1}.form-card,.booking-summary{padding:24px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>p{display:none}.scene-info{max-width:65%}.scene-info h2{font-size:2.4rem}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.preview-bar{font-size:.63rem;padding:8px 20px;gap:8px}.preview-extra{display:none}.site-header{height:84px;padding:0 20px;gap:12px}.brand{gap:10px}.brand-mark{width:37px;height:44px;font-size:1.75rem}.brand-text{font-size:.85rem;letter-spacing:.09em}.brand-text small{font-size:.5rem;margin-top:6px}.nav-book{display:none}.menu-toggle{height:38px;width:38px}.hero{height:740px;min-height:0;max-height:none}.hero-image{object-position:66% center}.hero-shade{background:linear-gradient(90deg,#21121be0,#21121b5f),linear-gradient(0deg,#21121b8a,transparent 45%)}.hero-content{padding-top:165px;padding-bottom:170px}.eyebrow{font-size:.71rem;letter-spacing:.14em;margin-bottom:20px}.hero h1{font-size:clamp(3.2rem,11.7vw,5rem);line-height:1.04}.hero-description{font-size:.86rem;max-width:305px;margin-top:25px}.hero-links{gap:22px;flex-wrap:wrap;margin-top:28px}.hero-links .text-link{font-size:.8rem;gap:15px}.hero-explore{font-size:.8rem;gap:9px}.play-ring{height:35px;width:35px}.hero-bottom{bottom:128px}.scroll-cue{font-size:.65rem}.hero-slide-controls{gap:8px}.hero-slide-controls button{font-size:.9rem}.stay-search{grid-template-columns:1fr 1fr;gap:18px 0;padding:22px 18px}.stay-search label{padding:0 14px}.stay-search label:nth-child(2n){border-right:0}.stay-search label:nth-child(3){padding-left:0}.stay-search input,.stay-search select{font-size:1rem}.stay-search label>span{font-size:.74rem;gap:7px}.stay-search .button{font-size:.86rem;margin-top:3px}.rooms-section{padding:70px 0}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:310px;font-size:.86rem}.section-heading h2{font-size:3.2rem}.room-grid{grid-template-columns:1fr;gap:38px}.room-card:nth-child(n){padding-top:0}.room-image-frame{aspect-ratio:4/3}.room-meta{display:flex;margin-top:19px;font-size:.76rem}.room-card h3{font-size:2.3rem}.room-card>p{font-size:.9rem}.room-bottom{margin-top:18px;flex-wrap:nowrap}.room-bottom strong{font-size:1.1rem}.experience{padding:65px 0}.experience-grid{grid-template-columns:1fr;gap:45px}.experience h2{font-size:3.5rem}.experience-copy>p:not(.eyebrow){font-size:.9rem;margin-top:25px}.experience-notes{margin-top:35px;gap:30px;font-size:.8rem}.experience-photo{height:420px;max-width:420px;width:100%;justify-self:center}.gallery-section{padding:70px 0}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-item:first-child{grid-row:auto;grid-column:1/-1;min-height:300px}.gallery-item{min-height:200px}.gallery-item span{font-size:.75rem;padding:40px 12px 14px;gap:8px}.caption{font-size:.75rem}.stay-cta{padding:65px 0}.stay-cta h2{font-size:4.4rem}.cta-actions{gap:22px;flex-direction:column}.cta-monogram{font-size:28rem;top:0;right:-13%}.site-footer{padding-top:40px;padding-bottom:66px}.footer-top{grid-template-columns:1fr;gap:28px;padding-bottom:30px}.footer-contact{justify-self:start;font-size:.84rem}.footer-bottom{flex-direction:column;gap:14px;font-size:.7rem}.mobile-booking{display:grid;grid-template-columns:1fr 1.45fr;position:fixed;z-index:29;bottom:0;left:0;right:0;min-height:58px;background:var(--paper);box-shadow:0 -3px 25px #0001;padding-bottom:env(safe-area-inset-bottom)}.mobile-booking a{display:flex;align-items:center;justify-content:center;gap:12px;font-size:.8rem;padding:18px 12px}.mobile-booking a:last-child{background:var(--wine);color:white}.page-space{padding-top:40px;padding-bottom:60px}.page-intro{margin-bottom:28px}.page-intro h1{font-size:3.5rem}.page-intro>p:last-child{font-size:.86rem}.room-option{gap:10px;padding:12px;flex-wrap:wrap}.room-option img{width:70px;min-height:80px}.room-option h3{font-size:1.5rem}.room-option p{font-size:.72rem}.room-option-rate{font-size:.82rem;margin-left:auto}.form-grid{grid-template-columns:1fr;gap:16px}.form-card{padding:22px 18px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-details{margin-top:25px;gap:20px}.contact-image{display:none}.receipt h1{font-size:3.2rem}.receipt .receipt-top{padding:20px 0 30px}.receipt dl{gap:22px 15px;font-size:.87rem}.receipt-actions .button{width:100%}.scene-close{right:16px;top:16px}.scene-stage{inset:9% 0 20%}.scene-info{left:0;bottom:72px;max-width:100%;padding:15px 20px;background:none;backdrop-filter:none}.scene-info h2{font-size:2.4rem}.scene-info .eyebrow{font-size:.6rem;margin-bottom:7px}.scene-hint{font-size:.65rem;margin-top:8px}.scene-controls{bottom:15px;right:20px;padding:0}.scene-controls .icon-button{width:35px;height:35px}.scene-sample{left:20px;bottom:24px;max-width:45%;font-size:.62rem}.toast{bottom:90px;width:90%;font-size:.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-image,[data-tilt],.scene-stage img{transform:none!important;will-change:auto}}
@media print{.site-header,.preview-bar,.site-footer,.mobile-booking,.receipt-actions,.scene-dialog,.toast{display:none!important}.container{width:100%}.receipt{max-width:none}body{background:white}.form-card{border:0}.page-space{padding:0}}
/* Responsive refinement: navigation, intrinsic field sizes and touch controls. */
.site-navigation{position:relative;z-index:30}.home .site-navigation{position:absolute;left:0;right:0}.home .site-header{position:relative}.mobile-nav{top:100%;max-height:calc(100dvh - 145px);overflow-y:auto;overscroll-behavior:contain}.nav-actions{flex-shrink:0}.desktop-nav a{white-space:nowrap}.field,.form-grid>* ,.booking-layout>* ,.room-option-main,.summary-row>*{min-width:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field input,.field select,.field textarea{max-width:100%}.button{white-space:normal;text-align:center;line-height:1.4;min-height:48px}.stay-search{grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,.85fr) minmax(0,.85fr) auto}.stay-search label{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.stay-search input,.stay-search select{font-size:1rem;min-height:44px}.stay-search input[type=date]{max-width:100%;display:block;appearance:none;-webkit-appearance:none}.stay-search input::-webkit-date-and-time-value{text-align:left;min-height:1.4em}.stay-search input::-webkit-datetime-edit{padding:0}.summary-row{align-items:baseline;flex-wrap:wrap}.summary-row>span:last-child,.summary-row>strong{margin-left:auto}.summary-policy,.summary-note,#summary-dates{overflow-wrap:anywhere}.room-option{display:grid;grid-template-columns:20px 88px minmax(0,1fr) auto;gap:15px}.room-option input{margin:0;width:18px;height:18px}.room-option img{width:88px;height:95px;min-height:0;align-self:center}.room-option-main{display:block}.room-option-rate{white-space:nowrap}.room-option:has(input:disabled){opacity:.55;cursor:not-allowed}.room-expand,.room-bottom a,.menu-toggle,.scene-controls .icon-button{min-width:44px;min-height:44px}.hero-slide-controls button{min-width:44px;min-height:44px}.hero-bottom{pointer-events:none}.hero-slide-controls{pointer-events:auto}.footer-bottom>div{flex-wrap:wrap}.room-details summary{padding:10px 0}.check-label{font-size:.875rem}.scene-info{overflow-wrap:anywhere}.scene-close{min-width:48px;min-height:48px}
@media(max-width:1150px){.stay-search{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stay-search .button{grid-column:1/-1;margin:0}.stay-search label:nth-child(4){border:0}}
@media(max-width:950px){.stay-search{grid-template-columns:repeat(4,minmax(0,1fr))}.booking-summary{grid-row:auto}}
@media(max-width:700px){.stay-search{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0}.form-grid{grid-template-columns:minmax(0,1fr)}.menu-toggle{width:44px;height:44px}.hero{height:auto;min-height:740px}.hero-content{padding-bottom:190px}.hero-links{row-gap:14px}.hero-bottom{bottom:115px}.room-option{grid-template-columns:20px 64px minmax(0,1fr);gap:12px}.room-option img{width:64px;height:80px;grid-row:span 2}.room-option-main{grid-column:3}.room-option input{grid-row:span 2}.room-option-rate{grid-column:3;margin:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.room-option-rate small{font-size:.75rem}.room-option h3{font-size:1.65rem;line-height:1.1}.room-option p{font-size:.8125rem;line-height:1.5}.booking-summary{padding:24px}.page-intro h1{font-size:clamp(2.75rem,11vw,3.5rem)}.stay-cta h2{font-size:clamp(3rem,12vw,4.4rem)}.hero-links .text-link,.hero-explore{font-size:.875rem}.scene-controls{bottom:max(15px,env(safe-area-inset-bottom));gap:8px}.scene-info{bottom:90px}.scene-sample{bottom:24px}.site-footer{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.mobile-booking a{min-height:52px}.gallery-item span{font-size:.875rem}.booking-page .form-card>.button{width:100%}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.site-header{padding-inline:16px}.brand-text{font-size:.78rem}.stay-search{padding:20px 12px}.stay-search label{padding-inline:9px}.hero h1{font-size:3.1rem}.section-heading h2{font-size:2.75rem}.experience h2{font-size:3rem}.room-option{gap:8px;padding:10px}.room-option img{width:56px}.room-option{grid-template-columns:18px 56px minmax(0,1fr)}.scroll-cue{max-width:135px}.hero-slide-controls{gap:0}.scene-sample{max-width:35%}}

h1,h2,h3{overflow-wrap:anywhere}.brand-text{min-width:0}.mobile-nav a{min-height:44px}
