:root{--ink:#35291f;--dark:#241c16;--linen:#e8ddcc;--gold:#d8b578;--paper:#f6f0e5;--sand:#eee4d4;--pad:clamp(22px,4.2vw,78px);--display:'Unbounded',Arial,sans-serif;--body:'Karla',Arial,sans-serif;--sans:'Unbounded',Arial,sans-serif;--serif:'Bodoni Moda',Georgia,serif;--ease:cubic-bezier(.18,.75,.16,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}body.inner-page{padding-top:88px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.35}img{display:block;width:100%;height:100%;object-fit:cover}svg{display:block}a:focus-visible,button:focus-visible{outline:3px solid #9a6544;outline-offset:5px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9a6544;outline-offset:2px}[hidden]{display:none!important}::selection{background:var(--gold);color:var(--dark)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:500;letter-spacing:-.042em;line-height:1.08;text-wrap:balance;font-optical-sizing:auto}h1{font-size:clamp(55px,7.8vw,112px)}h2{font-size:clamp(43px,5.3vw,78px)}h3{font-size:clamp(34px,3.3vw,49px)}.type-serif{font-family:var(--display);font-weight:500}.type-sans{font-family:var(--sans);font-weight:500;letter-spacing:-.058em;font-size:clamp(40px,4.6vw,66px);line-height:1.15}.type-italic{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.045em}em{font-family:var(--serif);font-weight:400}p{font-size:16px;line-height:1.85}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;line-height:1.7}.prose{max-width:750px;text-wrap:pretty}.skip-link{position:fixed;top:12px;left:12px;padding:14px 22px;border-radius:30px;background:var(--linen);color:var(--dark);z-index:100;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:fixed;inset:0 0 auto;padding:19px var(--pad);display:flex;align-items:center;gap:25px;color:var(--paper);z-index:50;transition:background .3s,padding .3s}.inner-page .site-header,.site-header.scrolled,.site-header.menu-open{background:var(--ink)}.site-header.scrolled{padding-top:14px;padding-bottom:14px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand svg{width:34px;height:40px}.brand-name{font-family:var(--display);font-weight:500;letter-spacing:-.07em;font-size:36px;line-height:.85}.brand small{display:block;font-family:var(--body);font-weight:500;font-size:7px;letter-spacing:.15em;margin-top:10px;text-transform:uppercase}.desktop-nav{display:flex;justify-content:center;align-items:center;gap:18px;flex:1}.desktop-nav a{font-size:11px;white-space:nowrap;padding:12px 0;transition:color .2s}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--gold)}.book-button,.menu-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 2px;font-size:12px;font-weight:600;white-space:nowrap;color:inherit;background:transparent;border:0;border-radius:0;transition:color .2s}.book-button:hover,.menu-button:hover{color:var(--gold)}.menu-open .desktop-nav{visibility:hidden}.mobile-menu{position:fixed;inset:0;background:var(--ink);color:var(--paper);z-index:40;overflow-y:auto;padding:115px var(--pad) 35px;animation:menuIn .35s var(--ease)}.mobile-menu .menu-intro{position:absolute;right:var(--pad);top:155px;max-width:290px}.menu-intro p+p{margin-top:18px;font-family:var(--serif);font-style:italic;font-size:32px;line-height:1.25}.mobile-menu nav{display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:650px}.mobile-menu nav a{font-family:var(--display);font-weight:400;font-size:clamp(32px,4.1vw,60px);line-height:1.1;letter-spacing:-.035em;transition:color .2s,transform .2s}.mobile-menu nav a:hover,.mobile-menu nav a[aria-current=page]{color:var(--gold);transform:translateX(6px)}.menu-place{margin-top:28px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.65}
.hero{position:relative;min-height:680px;height:94svh;max-height:1040px;display:flex;align-items:flex-end;isolation:isolate;color:var(--paper);padding:230px var(--pad) 138px;overflow:hidden}.scene{position:relative;width:100%;height:100%;overflow:hidden}.hero>.scene{position:absolute;inset:0;z-index:-2}.scene img{object-position:var(--position,50% 50%);transition:opacity .8s var(--ease)}.scene .base-season{position:absolute;inset:0}.scene .alt-season{position:absolute;inset:0;opacity:0}.scene.winter .base-season{opacity:0}.scene.winter .alt-season{opacity:1}.hero .scene img{object-position:50% 49%}.hero .shade{position:absolute;inset:0;background:linear-gradient(180deg,#241c1670,transparent 35%,#241c1635 48%,#241c16dc);z-index:-1}.hero-content{max-width:790px;width:100%}.hero-content .eyebrow{margin-bottom:22px}.hero-content h1{font-size:clamp(74px,8.7vw,133px);font-weight:500;max-width:690px;margin-bottom:24px;line-height:1.02}.hero-content p:not(.eyebrow){font-size:17px;max-width:650px;margin-bottom:14px}.hero .action-link{color:var(--paper);font-size:14px;padding-left:0}.hero-foot{position:absolute;left:var(--pad);right:var(--pad);bottom:30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.scroll-cue{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.scroll-dot{width:18px;height:31px;border-radius:12px;background:#fff3;position:relative}.scroll-dot::after{content:'';position:absolute;width:5px;height:5px;background:var(--gold);border-radius:50%;top:7px;left:6.5px;animation:scrollDot 1.1s ease-in-out 3}.season-switch{display:inline-flex;gap:3px;padding:4px;background:#35291fc9;border-radius:30px}.season-switch button{padding:11px 23px;border-radius:24px;min-height:42px;font-size:11px;color:var(--paper)}.season-switch button[aria-pressed=true]{background:var(--linen);color:var(--ink)}.star-signature{position:absolute;right:var(--pad);top:140px;display:flex;flex-direction:column;align-items:center;gap:14px}.stars{display:flex;gap:14px}.star{width:33px;height:33px;overflow:visible}.star path{fill:#d8b5780a;stroke:var(--gold);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:0;animation:starTrace 1.7s var(--ease) both;animation-delay:calc(var(--s)*.22s + .35s)}.star-signature:hover .star path{animation:starRetrace 1.3s var(--ease) both;animation-delay:calc(var(--s)*.14s)}.star-signature .eyebrow{font-size:8px;letter-spacing:.15em}
.action-link,.submit,.ribbon-submit{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 0;font-size:12px;font-weight:700;line-height:1.5;text-align:left;background:transparent;border:0;border-radius:0;transition:color .2s,transform .2s}.action-link:hover{color:#86654f;transform:translateY(-2px)}.action-link.soft,.action-link.solid,.submit,.ribbon-submit{border-radius:12px;padding:14px 25px;justify-content:center;text-align:center}.action-link.soft{background:var(--linen);color:var(--ink)}.action-link.solid,.submit,.ribbon-submit{background:var(--ink);color:var(--paper)}.action-link.soft:hover{background:#e0d0b8}.action-link.solid:hover,.submit:hover,.ribbon-submit:hover{background:#674a31}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:18px}.actions:empty{display:none}
.booking-ribbon{padding:24px var(--pad);background:var(--linen);display:flex;align-items:center;justify-content:space-between;gap:25px}.ribbon-title{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.2;max-width:290px}.booking-ribbon form{display:flex;align-items:flex-end;gap:13px;flex:1;max-width:750px}.ribbon-field{flex:1;min-width:120px}.ribbon-field label{display:block;margin-bottom:8px;font-size:10px;font-weight:700}.ribbon-field input,.ribbon-field select{width:100%;min-height:48px;border:0;border-radius:10px;padding:11px 13px;background:var(--paper);color:var(--ink);font-size:12px;min-width:0}.ribbon-submit{flex-shrink:0;padding-left:20px;padding-right:20px;font-size:11px}
.story-copy{width:calc(100% - 2*var(--pad));max-width:1140px;margin:auto;padding:45px 0 50px}.story-copy>.eyebrow,.story-copy>div>.eyebrow{margin-bottom:16px}.story-copy h1,.story-copy h2,.story-copy h3{margin-bottom:22px}.text-section .story-copy{padding-top:58px;padding-bottom:60px}.welcome-section{text-align:center}.welcome-section .story-copy{max-width:960px}.welcome-section .prose{margin:auto;max-width:680px}.welcome-section h2{font-size:clamp(44px,5vw,73px)}.welcome-section .actions{justify-content:center}.apricot-section{background:var(--sand)}.ice-section{background:var(--linen)}
.room-section{position:relative;padding:20px 0 52px;background:#eee5d7}.room-heading{width:calc(100% - 2*var(--pad));max-width:1180px;margin:0 auto 28px;text-align:right}.room-heading .eyebrow{margin-bottom:13px}.room-image{position:relative;width:calc(100% - 2*var(--pad));max-width:1190px;margin:0 auto 0 0;height:clamp(340px,36vw,525px);overflow:hidden;border-radius:0 48px 0 0}.room-story{max-width:920px;width:calc(100% - 2*var(--pad));margin:30px auto 0}.room-buttons{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}.room-buttons button{padding:10px 22px;border-radius:22px;background:var(--linen);font-size:12px;min-height:44px}.room-buttons button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.room-story h3{font-size:clamp(32px,3.4vw,49px);margin-bottom:11px}.room-meta{font-size:11px;letter-spacing:.02em;margin:0 0 15px}.room-photo.changing{opacity:.2}.room-photo{transition:opacity .35s var(--ease)}
.breakfast-section{position:relative;isolation:isolate;min-height:610px;color:var(--paper);overflow:hidden;display:flex;align-items:flex-end;padding:64px var(--pad)}.breakfast-photo{position:absolute;inset:0;z-index:-2;overflow:hidden}.breakfast-section::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#241c16d4,#241c165c 78%),linear-gradient(0deg,#241c165c,transparent 85%);z-index:-1}.breakfast-copy{max-width:680px}.breakfast-copy h2{font-weight:400;font-size:clamp(53px,6vw,91px);line-height:1.07;max-width:650px;margin:17px 0 22px}.breakfast-copy .prose{max-width:560px}.breakfast-marks{display:flex;gap:7px;margin-bottom:24px}.breakfast-marks i{width:7px;height:7px;background:var(--gold)}.breakfast-marks i:nth-child(2){background:var(--linen)}.breakfast-marks i:nth-child(3){background:var(--paper)}.breakfast-copy .actions{margin-top:24px}
.home-experience{background:var(--linen);padding:50px 0 52px}.experience-heading{width:calc(100% - 2*var(--pad));max-width:1140px;margin:0 auto 28px}.experience-heading .eyebrow{margin-bottom:15px}.experience-heading h2{margin-bottom:22px}.experience-photo{position:relative;width:84%;max-width:1130px;height:460px;margin-left:auto;overflow:hidden}.experience-photo::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(0deg,#241c16a8,transparent);pointer-events:none}.experience-photo h3{position:absolute;bottom:30px;left:40px;right:25px;z-index:1;font-size:clamp(39px,5.2vw,76px);color:var(--paper)}.experience-copy{width:calc(100% - 2*var(--pad));max-width:1000px;margin:29px auto 0}.experience-copy .prose{max-width:780px}.experience-copy .actions{margin-top:14px}
.gallery-invitation{position:relative;background:var(--sand);overflow:hidden;text-align:center;isolation:isolate}.gallery-invitation .story-copy{max-width:1030px;padding:53px 0 48px}.gallery-invitation h2{max-width:940px;font-size:clamp(42px,5vw,74px);margin:15px auto 25px}.gallery-invitation .prose{max-width:620px;margin:auto}.gallery-invitation .actions{justify-content:center}.floating-word{position:absolute;left:-4%;bottom:-85px;font-size:clamp(200px,30vw,430px);font-family:var(--display);letter-spacing:-.075em;line-height:1;color:var(--ink);opacity:.045;z-index:-1;white-space:nowrap;transform:translateX(var(--float-x,0px));will-change:transform;pointer-events:none}.closing-section .story-copy{max-width:1090px;padding:51px 0 56px}.closing-section .prose{max-width:690px}.closing-section h2{margin-bottom:22px}
.story-section{position:relative;background:var(--paper)}.story-image{position:relative;overflow:hidden;height:450px}.story-image>img{object-position:var(--position,50% 50%)}.stage-cover{min-height:620px;isolation:isolate;color:var(--paper);display:flex;align-items:flex-end;padding-top:160px;overflow:hidden}.stage-cover>.story-image{position:absolute;inset:0;height:100%;z-index:-2}.stage-cover::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#241c160d,#241c1636 25%,#241c16d4 100%);z-index:-1}.stage-cover .story-copy{padding:55px 0 64px}.stage-cover .prose{max-width:660px}.stage-cover .action-link{color:var(--paper)}.stage-cover h1{max-width:1020px}.stage-cover .action-link:hover{color:var(--gold)}.stage-cover .eyebrow{margin-bottom:18px}.stage-cover h2.type-sans{max-width:800px}.stage-lead{padding-top:39px}.stage-lead .stage-heading{width:calc(100% - 2*var(--pad));max-width:1140px;margin:0 auto 29px;text-align:center}.stage-heading .eyebrow{margin-bottom:17px}.stage-lead .story-image{width:calc(100% - 2*var(--pad));max-width:1240px;margin:auto;height:clamp(340px,34vw,490px)}.stage-lead .story-copy{max-width:930px;padding-top:30px;padding-bottom:48px}.stage-lead .prose{max-width:830px}.stage-lead h1{font-size:clamp(50px,6.6vw,98px)}.stage-inset{padding-top:42px}.stage-inset .story-image{width:calc(100% - 2*var(--pad));max-width:1030px;margin-left:auto;margin-right:var(--pad);height:clamp(300px,34vw,480px);border-radius:40px 0 0 0}.stage-inset .story-copy{max-width:1030px;padding-top:32px}.stage-inset h2{max-width:930px}.stage-band .photo-heading{position:relative;isolation:isolate;overflow:hidden;min-height:360px;display:flex;align-items:flex-end}.stage-band .story-image{position:absolute;inset:0;height:100%;z-index:-2}.stage-band .photo-heading::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#241c16ba,transparent 95%);z-index:-1}.stage-band .stage-heading{width:calc(100% - 2*var(--pad));max-width:1150px;margin:0 auto;padding:90px 0 38px;color:var(--paper)}.stage-band .story-copy{padding:30px 0 45px;max-width:980px}.stage-text .story-copy{max-width:1020px;padding:53px 0 55px}.stage-text h2{max-width:1000px}.stage-text .prose{max-width:830px}.note-ribbon{padding:28px var(--pad);background:var(--sand);display:flex;align-items:center;justify-content:center;gap:28px}.note-ribbon.ice{background:var(--linen)}.note-ribbon p{font-size:13px;max-width:850px;line-height:1.8}.note-ribbon .action-link{flex-shrink:0;font-size:11px}
/* The approved contact form, compact map and image viewer share their stable styles. */
.page-intro{padding:65px var(--pad) 62px;max-width:1300px;margin:auto}.page-intro .eyebrow{margin-bottom:24px}.page-intro h1{margin-bottom:34px;max-width:1150px}.page-intro .prose{max-width:900px}.contact-links{margin-top:28px}.contact-email{font-family:var(--serif);font-style:italic;font-size:clamp(23px,3.2vw,42px);overflow-wrap:anywhere;line-height:1.3}.contact-links .actions{margin-top:21px}.contact-location{padding:48px var(--pad) 52px;background:var(--linen)}.location-copy{max-width:940px;margin:auto}.location-copy .eyebrow{margin-bottom:19px}.location-copy h2{font-size:clamp(43px,4.8vw,70px);margin-bottom:23px}.location-copy p:not(.eyebrow){max-width:830px;font-size:15px}.map-frame{max-width:940px;height:300px;margin:28px auto 22px;border-radius:22px;overflow:hidden}.map-frame iframe{width:100%;height:100%;border:0;display:block}.contact-location>.action-link{display:flex;width:max-content;max-width:100%;margin:auto}.contact-enquiry{background:var(--paper);padding:60px var(--pad) 70px}.enquiry-card{max-width:940px;margin:auto;background:#eee4d6;border-radius:28px;padding:44px}.enquiry-card .eyebrow{margin-bottom:20px}.enquiry-card h2{font-size:clamp(41px,4.8vw,70px);margin-bottom:24px}.intro{font-size:15px;line-height:1.8;margin-bottom:27px;max-width:820px}.enquiry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}.form-field{min-width:0}.form-field label{display:block;margin-bottom:9px;font-size:11px;font-weight:700}.form-field input,.form-field select,.form-field textarea{background:var(--paper);border:0;border-radius:12px;width:100%;padding:13px 15px;color:var(--ink);font-size:14px;min-height:50px;min-width:0}.form-field textarea{resize:vertical;line-height:1.7;min-height:115px}.form-field.full,.form-note,.form-result{grid-column:1/-1}.form-note{font-size:11px;line-height:1.8;opacity:.85}.form-note a{font-weight:700}.enquiry-form .submit{justify-self:start}.form-result{background:var(--linen);padding:18px 22px;border-radius:15px;font-size:13px;line-height:1.8}.form-result a{font-weight:700;margin-left:9px}.enquiry-dialog{width:min(820px,calc(100% - 32px));max-height:calc(100svh - 40px);border:0;border-radius:26px;padding:0;background:#eee4d6;color:var(--ink)}dialog::backdrop{background:#241c16c4;backdrop-filter:blur(7px)}.dialog-content{padding:49px 38px 36px;position:relative}.dialog-content>.eyebrow{margin:15px 0 21px}.dialog-content h2{font-size:clamp(33px,4.6vw,60px);margin-bottom:23px}.close-dialog{position:absolute;right:23px;top:16px;font-size:11px;border-radius:25px;background:var(--linen);padding:10px 16px;min-height:38px}
.gallery-intro{padding-bottom:35px}.gallery-section{padding:0 var(--pad) 64px;max-width:1520px;margin:auto}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.gallery-filters button{padding:11px 21px;min-height:44px;font-size:12px;border-radius:26px;background:var(--linen)}.gallery-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.gallery-count{font-size:11px;margin-bottom:20px;opacity:.75}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-item{text-align:left;padding:0;overflow:hidden;border-radius:18px;background:#eee4d6;position:relative}.gallery-item img{height:auto;aspect-ratio:1.2;object-fit:cover;transition:transform .5s var(--ease)}.gallery-item:hover img{transform:scale(1.035)}.gallery-caption{display:block;padding:16px 18px;font-size:12px;font-weight:600;position:relative;background:#eee4d6}.gallery-caption small{display:block;font-weight:400;font-size:10px;opacity:.65;margin-top:5px}.gallery-dialog{width:calc(100% - 32px);max-width:1380px;max-height:calc(100svh - 32px);padding:0;border:0;border-radius:24px;background:var(--ink);color:var(--paper)}.gallery-viewer{padding:17px 25px 23px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px}.gallery-counter{font-size:11px;color:var(--gold)}.gallery-close,.gallery-pagination button{font-size:11px;padding:12px 20px;min-height:43px;border-radius:25px;background:var(--linen);color:var(--ink)}.gallery-full{width:100%;height:calc(100svh - 230px);min-height:200px;max-height:740px;object-fit:contain;margin:12px 0 18px}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px}.gallery-bottom p{font-size:13px;line-height:1.6}.gallery-sources{display:flex;gap:15px;flex-wrap:wrap;margin-top:7px;font-size:10px;color:var(--gold)}.gallery-pagination{display:flex;gap:8px;flex-shrink:0}

.site-footer{padding:40px var(--pad) 30px;background:var(--ink);color:var(--paper)}.footer-brand{font-family:var(--display);font-weight:400;letter-spacing:-.075em;line-height:1;font-size:clamp(55px,7vw,95px)}.footer-message{font-family:var(--serif);font-style:italic;font-size:25px;line-height:1.4;margin:14px 0 26px}.footer-links{display:flex;gap:24px;flex-wrap:wrap;font-size:11px}.footer-links a:hover{color:var(--gold)}.footer-meta{font-size:9px;line-height:1.9;opacity:.65;margin-top:28px;max-width:1100px}.scroll-progress{position:fixed;right:20px;bottom:20px;width:52px;height:52px;padding:0;border-radius:50%;background:var(--ink);color:var(--paper);z-index:25;box-shadow:0 5px 18px #241c161f}.scroll-progress svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.scroll-progress circle{fill:none;stroke:#fff2;stroke-width:1.5}.scroll-progress .progress-value{stroke:var(--gold);stroke-dasharray:125.664;stroke-dashoffset:125.664}.scroll-progress>span:first-of-type{font-size:9px;font-weight:700;position:relative}.progress-chapter{position:absolute;right:65px;top:17px;max-width:180px;white-space:nowrap;font-size:9px;letter-spacing:.04em;color:var(--ink);padding:3px 9px;border-radius:10px;background:var(--paper);opacity:0;transform:translateX(7px);transition:opacity .3s,transform .3s;pointer-events:none}.scroll-progress.chapter-change .progress-chapter,.scroll-progress:hover .progress-chapter,.scroll-progress:focus-visible .progress-chapter{opacity:1;transform:none}.progress-chapter:empty{display:none}
.word{display:inline-block;white-space:nowrap}.enhanced .hero-content .word{animation:wordIn .8s var(--ease) both;animation-delay:calc(var(--i)*.065s + .18s)}.is-in-view .type-sans .word{animation:wordIn .7s var(--ease) both;animation-delay:calc(var(--i)*.045s)}[data-parallax]>img,[data-parallax]>.scene>img{transform:translateY(var(--photo-y,0px)) scale(1.085);will-change:auto}.scene[data-parallax]>img{transform:translateY(var(--photo-y,0px)) scale(1.085)}.hero .scene[data-parallax]>img{transform:translateY(var(--photo-y,0px)) scale(1.11)}.no-motion [data-parallax]>img,.no-motion [data-parallax]>.scene>img{transform:none;will-change:auto}.no-motion .floating-word{transform:none;will-change:auto}.no-motion .word,.no-motion .star path,.no-motion .scroll-dot::after{animation:none}.no-motion .progress-chapter{transition:none}
@keyframes menuIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes wordIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes starTrace{from{stroke-dashoffset:100;fill:transparent}to{stroke-dashoffset:0;fill:#d8b5780a}}@keyframes starRetrace{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes scrollDot{0%,100%{transform:translateY(0);opacity:.7}55%{transform:translateY(12px);opacity:1}}
@media(max-width:1160px){.desktop-nav{display:none}.site-header .book-button{margin-left:auto}.booking-ribbon{flex-wrap:wrap}.ribbon-title{max-width:none;flex-basis:100%}.booking-ribbon form{max-width:none;flex-basis:100%}.hero-content h1{font-size:clamp(68px,9vw,112px)}}
@media(max-width:900px){.mobile-menu .menu-intro{position:static;max-width:none;margin-bottom:25px}.menu-intro p+p{display:none}.mobile-menu nav{gap:11px}.mobile-menu nav a{font-size:clamp(31px,5vw,46px)}.mobile-menu{padding-top:110px}.hero{height:91svh;min-height:660px;padding-top:200px;padding-bottom:140px}.hero-content h1{font-size:clamp(62px,10.6vw,93px);max-width:560px}.hero-content p:not(.eyebrow){font-size:16px}.star-signature{top:135px}.star{width:29px;height:29px}.stars{gap:11px}.room-image{height:400px;width:92%}.room-heading{text-align:left}.room-story{margin-top:28px}.breakfast-section{min-height:570px}.experience-photo{height:410px;width:92%}.experience-photo h3{left:30px}.story-copy{padding:39px 0 45px}.text-section .story-copy{padding:47px 0 49px}.stage-cover{min-height:570px}.stage-cover .story-copy{padding-bottom:49px}.stage-cover h1{font-size:78px}.stage-inset .story-image{height:400px}.stage-lead .story-image{height:400px}.stage-band .photo-heading{min-height:330px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.enquiry-card{padding:35px}.page-intro{padding-top:49px;padding-bottom:48px}.gallery-bottom{align-items:flex-start}.gallery-full{height:calc(100svh - 265px)}.gallery-pagination button{padding:11px 16px}}
@media(max-width:600px){:root{--pad:23px}body.inner-page{padding-top:78px}.site-header{padding:17px var(--pad);gap:17px}.site-header.scrolled{padding-top:13px;padding-bottom:13px}.brand svg{width:26px;height:31px}.brand{gap:7px}.brand-name{font-size:29px}.brand small{font-size:5.8px;letter-spacing:.08em;margin-top:7px}.book-button,.menu-button{font-size:11px;min-height:43px;padding:10px 0}.hero{height:91svh;min-height:655px;padding:205px var(--pad) 128px}.hero-content .eyebrow{font-size:8px;margin-bottom:23px}.hero-content h1{font-size:clamp(59px,15vw,82px);max-width:390px;margin-bottom:22px;line-height:1.05}.hero-content p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:330px;margin-bottom:16px}.hero .action-link{font-size:12px}.star-signature{top:126px;gap:11px}.star{width:26px;height:26px}.star-signature .eyebrow{font-size:7px;letter-spacing:.07em}.stars{gap:11px}.hero-foot{bottom:25px;gap:12px}.scroll-cue{font-size:8px;gap:8px;letter-spacing:.025em}.season-switch{padding:3px}.season-switch button{font-size:9px;padding:10px 16px;min-height:39px}.action-link,.submit,.ribbon-submit{font-size:11px;min-height:46px}.action-link.soft,.action-link.solid,.submit{padding:13px 21px}.actions{gap:20px;margin-top:16px}.ribbon-title{font-size:26px}.booking-ribbon{gap:18px;padding-top:22px;padding-bottom:26px}.booking-ribbon form{flex-wrap:wrap;gap:14px 12px}.ribbon-field{min-width:0;flex:1 1 calc(50% - 12px)}.ribbon-field:nth-child(3){flex:1 1 35%}.ribbon-submit{flex:1 1 50%;padding:13px 14px;min-height:49px}.ribbon-field input,.ribbon-field select{font-size:11px;padding:10px 11px}.ribbon-field label{font-size:9px}.story-copy{padding:32px 0 39px}.text-section .story-copy{padding:37px 0 39px}.story-copy>.eyebrow,.story-copy>div>.eyebrow{margin-bottom:17px}.story-copy h1,.story-copy h2,.story-copy h3{margin-bottom:21px}h1{font-size:clamp(47px,12vw,67px)}h2{font-size:clamp(42px,11vw,62px)}h3{font-size:36px}.type-sans{font-size:clamp(34px,8.7vw,48px)}p{font-size:14px;line-height:1.85}.eyebrow{font-size:8px;letter-spacing:.12em}.welcome-section h2{font-size:47px}.room-section{padding-top:13px;padding-bottom:39px}.room-heading{margin-bottom:23px}.room-image{height:295px;width:94%;border-radius:0 28px 0 0}.room-story{margin-top:25px}.room-buttons{gap:7px;margin-bottom:22px}.room-buttons button{font-size:11px;padding:10px 20px;min-height:42px}.room-story h3{font-size:34px;margin-bottom:12px}.room-meta{font-size:10px;margin-bottom:17px}.breakfast-section{min-height:555px;padding:40px var(--pad)}.breakfast-copy h2{font-size:52px;max-width:400px;margin-bottom:22px}.breakfast-section::after{background:linear-gradient(0deg,#241c16e5,#241c1625 100%)}.breakfast-marks{margin-bottom:21px}.home-experience{padding:37px 0 38px}.experience-heading{margin-bottom:24px}.experience-heading h2{margin-bottom:20px}.experience-photo{height:320px;width:94%}.experience-photo h3{font-size:43px;left:22px;right:15px;bottom:25px}.experience-copy{margin-top:25px}.gallery-invitation h2{font-size:45px;max-width:440px}.gallery-invitation .story-copy{padding:38px 0 36px}.floating-word{bottom:-28px}.closing-section .story-copy{padding:38px 0 40px}.stage-cover{min-height:570px;padding-top:80px}.stage-cover .story-copy{padding:115px 0 38px}.stage-cover h1{font-size:59px}.stage-cover .eyebrow{font-size:8px}.stage-cover p{font-size:14px}.stage-lead{padding-top:31px}.stage-lead .stage-heading{margin-bottom:25px}.stage-lead h1{font-size:52px}.stage-lead .story-image{width:100%;height:310px}.stage-lead .story-copy{padding-top:27px;padding-bottom:37px}.stage-inset{padding-top:27px}.stage-inset .story-image{width:94%;margin-right:0;height:305px;border-radius:28px 0 0 0}.stage-inset .story-copy{padding-top:27px;padding-bottom:38px}.stage-band .photo-heading{min-height:300px}.stage-band .stage-heading{padding:90px 0 28px}.stage-band .story-copy{padding:27px 0 38px}.stage-text .story-copy{padding:38px 0 40px}.note-ribbon{padding:24px var(--pad);gap:13px;flex-direction:column;align-items:flex-start}.note-ribbon p{font-size:12px}.note-ribbon .action-link{padding:7px 0;min-height:40px}
.page-intro{padding:39px var(--pad) 38px}.page-intro h1{margin-bottom:26px;font-size:clamp(43px,11.4vw,59px)}.page-intro .eyebrow{margin-bottom:20px}.contact-links{margin-top:23px}.contact-email{font-size:26px}.contact-location{padding:33px var(--pad) 35px}.location-copy .eyebrow{margin-bottom:18px}.location-copy h2{font-size:43px;margin-bottom:20px}.location-copy p:not(.eyebrow){font-size:13px}.map-frame{height:250px;border-radius:17px;margin-top:23px}.contact-enquiry{padding:36px var(--pad) 41px}.enquiry-card{padding:28px 22px;border-radius:21px}.enquiry-card h2{font-size:clamp(35px,9vw,47px);margin-bottom:22px}.intro{font-size:13px;line-height:1.85;margin-bottom:25px}.enquiry-form{grid-template-columns:1fr;gap:19px}.form-field label{font-size:10px}.form-field input,.form-field select,.form-field textarea{font-size:13px;padding:12px 13px}.form-note{font-size:10px}.form-result{font-size:12px;padding:16px}.form-result a{margin-left:0;display:block;margin-top:6px}.enquiry-dialog{width:calc(100% - 24px);border-radius:20px}.dialog-content{padding:47px 24px 27px}.dialog-content h2{font-size:39px;margin-bottom:20px}.dialog-content .eyebrow{font-size:8px;margin-top:12px}.close-dialog{right:17px;top:13px;padding:9px 14px;font-size:10px}.gallery-intro{padding-bottom:28px}.gallery-section{padding-bottom:42px}.gallery-filters{gap:7px;margin-bottom:19px}.gallery-filters button{font-size:10px;padding:10px 16px;min-height:41px}.gallery-count{font-size:10px;margin-bottom:18px}.gallery-grid{gap:12px}.gallery-item{border-radius:13px}.gallery-item img{aspect-ratio:.95}.gallery-caption{padding:11px 12px;font-size:10px;line-height:1.5}.gallery-caption small{font-size:8px;margin-top:4px}.gallery-dialog{width:calc(100% - 20px);max-height:calc(100svh - 20px);border-radius:18px}.gallery-viewer{padding:12px 14px 16px}.gallery-full{height:calc(100svh - 255px);min-height:190px;margin:12px 0 14px}.gallery-close,.gallery-pagination button{font-size:10px;padding:11px 15px}.gallery-bottom{flex-direction:column;gap:16px}.gallery-bottom p{font-size:11px}.gallery-sources{font-size:9px;gap:10px}.gallery-pagination{width:100%;justify-content:space-between}.site-footer{padding:33px var(--pad) 27px}.footer-brand{font-size:62px}.footer-message{font-size:24px;margin-bottom:25px}.footer-links{gap:17px 20px;font-size:10px}.footer-meta{font-size:8px;margin-top:27px}.scroll-progress{right:14px;bottom:14px;width:48px;height:48px}.progress-chapter{right:58px;top:15px;font-size:8px}}
@media(max-width:359px){:root{--pad:20px}.site-header{gap:12px}.brand-name{font-size:27px}.brand svg{width:23px}.hero-content h1{font-size:61px}.hero-content .eyebrow{font-size:7px;letter-spacing:.1em}.star-signature{top:119px}.hero-foot{gap:8px}.season-switch button{padding:10px 13px}.scroll-cue{font-size:7px;gap:6px}.menu-place{font-size:8px}.room-buttons button{padding:10px 17px}.welcome-section h2{font-size:43px}.breakfast-copy h2{font-size:47px}.experience-photo h3{font-size:39px}.gallery-invitation h2{font-size:41px}.enquiry-card{padding:26px 18px}.enquiry-card h2{font-size:37px}.contact-email{font-size:23px}.menu-open .book-button{display:none}.stage-cover h1{font-size:53px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-parallax]>img,[data-parallax]>.scene>img{transform:none}.floating-word{transform:none!important}}

/* V4: wellness and booking */
.wellness-preview{padding:48px 0 45px;background:var(--sand)}.wellness-preview-heading,.wellness-preview-copy{max-width:1140px;width:calc(100% - 2*var(--pad));margin:auto}.wellness-preview-heading{margin-bottom:27px}.wellness-preview-heading .eyebrow{margin-bottom:14px}.wellness-preview-heading h2{font-size:clamp(45px,5vw,74px)}.wellness-preview-photo{width:88%;max-width:1190px;height:420px;position:relative;overflow:hidden;margin-left:auto;border-radius:40px 0 0 0}.wellness-preview-copy{padding-top:27px;max-width:980px}.wellness-preview-copy .prose{max-width:760px}.wellness-preview-copy .actions{margin-top:14px}.wellness-intro{padding-bottom:38px}.wellness-intro h1{font-size:clamp(52px,7vw,102px)}.wellness-wide{position:relative;overflow:hidden;height:520px;max-width:1380px;margin:0 auto}.wellness-copy{width:calc(100% - 2*var(--pad));max-width:1110px;margin:auto;padding:38px 0 41px}.wellness-copy>.eyebrow{margin-bottom:16px}.wellness-copy h2{margin-bottom:23px}.wellness-copy .prose{max-width:790px}.wellness-details{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:23px;width:calc(100% - 2*var(--pad));max-width:1230px;margin:0 auto;padding-bottom:49px;align-items:end}.wellness-detail-main{height:420px;overflow:hidden;border-radius:0 36px 0 0}.wellness-detail-close{height:300px;overflow:hidden;border-radius:28px 0 0 0}.wellness-sauna{background:var(--sand)}.wellness-sauna .wellness-copy{padding-top:45px;padding-bottom:31px}.wellness-sauna-photo{position:relative;width:87%;max-width:1180px;height:490px;overflow:hidden;border-radius:0 42px 0 0;margin-left:0}.wellness-sauna-actions{padding-top:13px!important;padding-bottom:34px!important}.wellness-sauna-actions .actions{margin-top:0}
.booking-ribbon{position:relative;z-index:4}.ribbon-field .booking-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;border:0;border-radius:16px;padding:11px 14px;background:var(--paper);color:var(--ink);font-size:12px;font-weight:500;text-align:left}.booking-trigger[aria-expanded=true]{background:#f7eedf;box-shadow:0 0 0 2px #b39979}.booking-trigger .field-dot{width:5px;height:5px;border-radius:50%;background:#94704b;flex-shrink:0}.booking-popover{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:340px;max-width:calc(100vw - 32px);max-height:calc(100svh - 32px);overflow:auto;border:1px solid #d8cab5;border-radius:26px;padding:21px 23px 18px;background:#fcf7ec;color:var(--ink);box-shadow:0 12px 45px #35291f24;z-index:80}.booking-popover::backdrop{background:transparent}.booking-popover:not(:popover-open){display:none}.booking-popover.fallback-open{display:block}.picker-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px}.picker-kind{font-size:10px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;line-height:1.5}.picker-close{font-size:10px;min-height:35px;padding:7px 0;font-weight:600;opacity:.75}.picker-month{font-family:var(--display);font-weight:400;letter-spacing:-.04em;font-size:29px;line-height:1.2;text-transform:capitalize;margin-bottom:17px}.calendar-month-nav{display:flex;justify-content:space-between;gap:13px;margin-bottom:14px}.calendar-month-nav button{font-size:10px;min-height:33px;padding:7px 11px;border-radius:16px;background:#eee3d2}.calendar-month-nav button:hover{background:#e2d1b8}.calendar-month-nav button:disabled{opacity:.32}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{margin-bottom:7px;font-size:9px;font-weight:700;text-align:center;opacity:.65}.calendar-weekdays span{padding:7px 0}.calendar-day,.calendar-blank{aspect-ratio:1;min-height:34px}.calendar-day{padding:0;border-radius:50%;font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:500;background:transparent;transition:background .2s,color .2s}.calendar-day:hover:not(:disabled){background:#e8dac5}.calendar-day:disabled{opacity:.25}.calendar-day.in-range{background:var(--linen);border-radius:13px}.calendar-day.selected,.calendar-day.range-end{background:#795a38;color:#fcf7ec;border-radius:50%;font-weight:700}.calendar-day.today:not(.selected):not(.range-end){box-shadow:inset 0 0 0 1px #b89d78}.calendar-day:focus-visible{outline:2px solid #795a38;outline-offset:1px}.calendar-note{font-size:10px;line-height:1.6;margin-top:16px;opacity:.65}.booking-popover.adult-popover{width:210px;padding-bottom:20px}.adult-popover .picker-month{font-size:25px;margin-bottom:16px}.adult-options{display:grid;gap:5px}.adult-option{padding:9px 13px;font-size:12px;line-height:1.3;min-height:36px;border-radius:17px;text-align:left}.adult-option:hover{background:#eee3d2}.adult-option[aria-pressed=true]{background:#795a38;color:var(--paper)}
@media(max-width:900px){.wellness-preview-photo{height:375px;width:92%}.wellness-wide{height:440px}.wellness-detail-main{height:340px}.wellness-detail-close{height:270px}.wellness-sauna-photo{height:420px;width:93%}.wellness-details{gap:17px}.wellness-copy{padding-top:33px}}
@media(max-width:600px){.wellness-preview{padding:36px 0 34px}.wellness-preview-heading{margin-bottom:23px}.wellness-preview-heading h2{font-size:46px}.wellness-preview-photo{height:300px;width:94%;border-radius:28px 0 0 0}.wellness-preview-copy{padding-top:24px}.wellness-intro h1{font-size:54px}.wellness-intro{padding-bottom:29px}.wellness-wide{height:330px}.wellness-copy{padding:29px 0 32px}.wellness-copy h2{font-size:44px}.wellness-copy h2.type-sans{font-size:36px}.wellness-details{gap:11px;padding-bottom:34px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);width:calc(100% - 2*var(--pad))}.wellness-detail-main{height:265px;border-radius:0 23px 0 0}.wellness-detail-close{height:192px;border-radius:21px 0 0 0}.wellness-sauna .wellness-copy{padding-top:33px;padding-bottom:25px}.wellness-sauna-photo{height:330px;width:94%;border-radius:0 28px 0 0}.wellness-sauna-actions{padding-top:13px!important;padding-bottom:28px!important}.wellness-sauna-actions .actions{gap:18px}.ribbon-field .booking-trigger{font-size:11px;padding:11px 12px;min-height:48px;border-radius:15px}.booking-popover{width:330px;padding:19px 21px 16px;border-radius:25px}.picker-month{font-size:28px}.calendar-month-nav button{font-size:10px}.calendar-day,.calendar-blank{min-height:32px}.calendar-weekdays,.calendar-days{gap:3px}.calendar-note{font-size:9px}.adult-popover{max-height:calc(100svh - 32px)}}
@media(max-width:359px){.booking-popover{width:calc(100vw - 32px);padding:18px 17px 16px}.picker-month{font-size:26px}.ribbon-field .booking-trigger{font-size:10px;padding:10px 11px}.wellness-preview-heading h2{font-size:43px}.wellness-intro h1{font-size:49px}.wellness-copy h2{font-size:41px}.wellness-copy h2.type-sans{font-size:34px}.wellness-detail-main{height:235px}.wellness-detail-close{height:175px}}



/* V5: warm alpine typography and motion */
:root{--display:'Unbounded',Arial,sans-serif;--sans:'Unbounded',Arial,sans-serif;--serif:'Bodoni Moda',Georgia,serif;--body:'Karla',Arial,sans-serif}
h1,h2,h3{font-weight:600;letter-spacing:-.065em;line-height:1.12}.type-serif{font-family:var(--display);font-weight:650;letter-spacing:-.065em}.type-sans{font-family:var(--display);font-weight:400;letter-spacing:-.055em;font-size:clamp(33px,4vw,58px);line-height:1.17}.type-italic{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:1.04}.brand-name{font-family:var(--serif);font-weight:600;font-style:italic;font-size:39px;letter-spacing:-.065em}.brand small{font-style:normal;font-weight:500;letter-spacing:.14em}.site-header{transition:background .3s,color .3s,padding .3s,box-shadow .3s}.inner-page .site-header,.site-header.scrolled,.site-header.menu-open{background:#f6f0e5f5;color:var(--ink);box-shadow:0 2px 16px #35291f08;backdrop-filter:blur(12px)}.desktop-nav a{font-size:12px;letter-spacing:.015em}.desktop-nav a:hover,.desktop-nav a[aria-current=page],.book-button:hover,.menu-button:hover{color:#997044}.book-button,.menu-button{font-size:13px;letter-spacing:.02em}.mobile-menu{background:#eee3d1;color:var(--ink)}.mobile-menu nav a{font-family:var(--display);font-weight:500;font-size:clamp(28px,3.4vw,48px);letter-spacing:-.06em;line-height:1.18}.mobile-menu nav a:hover,.mobile-menu nav a[aria-current=page]{color:#926a3f}.menu-intro p+p{font-size:34px}.mobile-menu:not([hidden]) nav a{animation:menuLetter .55s var(--ease) both;animation-delay:calc(var(--menu-i,0)*.035s)}
.hero-content{max-width:1180px}.hero-content h1{font-family:var(--display);font-weight:700;letter-spacing:-.075em;line-height:1.1;font-size:clamp(69px,8.3vw,125px);max-width:1120px;margin-bottom:27px}.hero-content p:not(.eyebrow){font-size:19px}.hero-content .eyebrow{font-weight:500;letter-spacing:.17em}.hero .action-link{font-size:15px}.hero .shade{background:linear-gradient(180deg,#241c1675,transparent 32%,#241c1635 49%,#241c16d9)}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:600}p{font-size:17px;line-height:1.85}.prose{max-width:780px}.action-link{font-weight:600;font-size:13px}.welcome-section h2{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(51px,6vw,88px);letter-spacing:-.045em;line-height:1.04}.welcome-section .story-copy{padding:57px 0 60px}.welcome-section .prose{max-width:710px}.room-heading .type-sans{font-weight:500;font-size:clamp(37px,4.8vw,68px)}.room-story h3{font-family:var(--serif);font-style:italic;font-size:clamp(37px,4.1vw,60px);font-weight:500;letter-spacing:-.045em}.breakfast-copy h2{font-family:var(--display);font-weight:500;letter-spacing:-.065em;font-size:clamp(43px,5vw,73px);line-height:1.15;max-width:880px}.breakfast-copy{max-width:900px}.breakfast-copy .prose{max-width:620px}.experience-heading h2{font-size:clamp(36px,4.6vw,66px);font-weight:500}.experience-photo h3{font-family:var(--serif);font-size:clamp(46px,6.4vw,91px);font-weight:500}.gallery-invitation{background:var(--paper)}.gallery-invitation h2{font-size:clamp(53px,6.5vw,92px);font-weight:500}.gallery-invitation .story-copy{padding:55px 0}.floating-word{font-family:var(--serif);font-style:italic;font-weight:500;opacity:.055}.closing-section{background:#e9decc}.closing-section h2{font-weight:500;font-size:clamp(37px,4.6vw,66px)}.room-section{background:#eae0d2}.home-experience{background:var(--paper)}.wellness-preview,.wellness-sauna{background:#eee5d7}.apricot-section,.note-ribbon{background:#eee5d7}.ice-section{background:#e9dfce}.wellness-preview-heading h2{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(53px,6vw,84px);letter-spacing:-.045em}.wellness-intro h1{font-size:clamp(52px,6.5vw,93px);max-width:1200px}.wellness-copy .type-sans{font-weight:500;font-size:clamp(36px,4.1vw,59px)}.wellness-copy .type-italic{font-size:clamp(49px,6.1vw,86px)}.wellness-copy .actions{gap:25px}
.stage-cover h1{font-size:clamp(54px,6.8vw,98px);max-width:1150px;line-height:1.15}.stage-cover .story-copy{max-width:1150px}.stage-cover h2.type-sans{font-size:clamp(36px,4.2vw,61px)}.stage-inset .type-serif,.stage-band .type-serif,.stage-text .type-serif{font-size:clamp(39px,4.6vw,66px)}.stage-lead h1{font-size:clamp(48px,6vw,87px);line-height:1.16}.stage-lead .stage-heading{max-width:1230px}.story-copy h2.type-italic{font-size:clamp(49px,6vw,85px)}.page-intro h1{font-size:clamp(48px,6vw,87px);line-height:1.15}.gallery-intro h1{font-family:var(--serif);font-size:clamp(57px,7.7vw,109px);line-height:1.05}.contact-email{font-family:var(--body);font-style:normal;font-size:clamp(20px,2.7vw,36px);font-weight:500;letter-spacing:-.035em}.location-copy h2{font-family:var(--serif);font-style:italic;font-size:clamp(51px,6vw,85px);font-weight:500}.enquiry-card h2,.dialog-content h2{font-size:clamp(34px,4.2vw,59px);line-height:1.2;font-weight:500;letter-spacing:-.065em}.enquiry-card{background:#eee5d9}.enquiry-dialog{background:#eee5d9}.footer-brand{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(68px,9vw,125px)}.footer-message{font-family:var(--body);font-style:normal;font-size:20px}.footer-links a:hover{color:#dfbf8a}.site-footer{background:#35291f}.season-switch{background:#3a2c20d9}.season-switch button[aria-pressed=true]{background:#f5ecd9;color:#35291f}.season-switch button{font-size:12px}.room-buttons button{font-size:13px}.booking-ribbon{background:#e9decc}.ribbon-title{font-size:29px}.booking-ribbon .ribbon-submit{font-size:12px}.ribbon-field .booking-trigger{font-size:13px}.picker-month{font-family:var(--serif);font-size:32px;font-style:italic}.calendar-day{font-size:12px}.gallery-caption{background:#eae0d2;font-size:13px}.gallery-item{background:#eae0d2}.gallery-filters button{font-size:13px}.scroll-progress{background:#35291f}.scroll-progress .progress-value{stroke:#d8b578}
[data-parallax]>img,[data-parallax]>.scene>img{transform:translate(var(--photo-x,0px),var(--photo-y,0px)) scale(1.085)}.scene[data-parallax]>img{transform:translate(var(--photo-x,0px),var(--photo-y,0px)) scale(1.085)}.hero .scene[data-parallax]>img{transform:translate(var(--photo-x,0px),var(--photo-y,0px)) scale(1.11)}.no-motion [data-parallax]>img,.no-motion [data-parallax]>.scene>img{transform:none}.enhanced .reveal-photo.is-in-view{animation:paperOpen 1.1s var(--ease) both}.enhanced .hero-content .word{animation:letterLift .85s var(--ease) both;animation-delay:calc(var(--i)*.07s + .15s)}.enhanced .is-in-view .type-serif .word,.enhanced .is-in-view .type-sans .word{animation:letterLift .8s var(--ease) both;animation-delay:calc(var(--i)*.045s)}.enhanced .is-in-view .type-italic .word{animation:inkLift .85s var(--ease) both;animation-delay:calc(var(--i)*.035s)}.room-buttons button[aria-pressed=true],.season-switch button[aria-pressed=true]{animation:choiceSettle .4s var(--ease) both}.no-motion .reveal-photo,.no-motion .word,.no-motion .room-buttons button,.no-motion .season-switch button{animation:none!important}
@keyframes letterLift{from{opacity:.45;transform:translateY(.2em) rotate(-1.8deg)}to{opacity:1;transform:none}}@keyframes inkLift{from{opacity:.55;transform:translateY(.18em)}to{opacity:1;transform:none}}@keyframes paperOpen{from{clip-path:inset(5% 3% 5% 3% round 30px)}to{clip-path:inset(0 round 0)}}@keyframes choiceSettle{from{transform:scale(.94)}65%{transform:scale(1.035)}to{transform:none}}@keyframes menuLetter{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:none}}
.story-image>img[src="/assets/facebook-0cdfc37cf4.webp"]{object-position:50% 25%}
@view-transition{navigation:auto}::view-transition-old(root){animation:pageOut .23s ease both}::view-transition-new(root){animation:pageIn .43s var(--ease) both}@keyframes pageOut{to{opacity:.6;transform:translateY(-10px)}}@keyframes pageIn{from{opacity:.5;clip-path:inset(0 0 8% 0);transform:translateY(17px)}to{opacity:1;clip-path:inset(0);transform:none}}
@media(max-width:1160px){.hero-content h1{font-size:clamp(63px,8.7vw,101px)}.desktop-nav{gap:15px}}
@media(max-width:900px){.hero-content h1{font-size:clamp(60px,9vw,84px);max-width:850px}.hero-content p:not(.eyebrow){font-size:18px}.breakfast-copy h2{font-size:59px;max-width:750px}.room-heading .type-sans{font-size:51px}.mobile-menu nav a{font-size:36px}.wellness-preview-heading h2{font-size:70px}.wellness-intro h1{font-size:65px}.wellness-copy .type-sans{font-size:44px}.wellness-copy .type-italic{font-size:67px}}
@media(max-width:600px){.brand-name{font-size:31px}.brand small{font-size:5.8px;letter-spacing:.1em}.book-button,.menu-button{font-size:12px}.site-header{gap:15px}.hero{min-height:710px;padding-top:205px;padding-bottom:130px}.hero-content h1{font-size:clamp(47px,12vw,68px);line-height:1.17;letter-spacing:-.075em;max-width:450px;margin-bottom:24px}.hero-content p:not(.eyebrow){font-size:16px;max-width:350px;line-height:1.7}.hero .action-link{font-size:13px}.hero-content .eyebrow{font-size:8px;letter-spacing:.1em}.eyebrow{font-size:8px;letter-spacing:.12em}.season-switch button{font-size:10px;padding:10px 16px}.mobile-menu nav a{font-size:clamp(26px,6.8vw,34px)}.mobile-menu nav{gap:12px}.mobile-menu{padding-top:104px}.menu-intro{margin-bottom:24px!important}p{font-size:16px;line-height:1.8}.action-link{font-size:12px}.welcome-section h2{font-size:56px}.welcome-section .story-copy{padding:39px 0 42px}.room-heading .type-sans{font-size:39px}.room-story h3{font-size:43px}.room-buttons button{font-size:12px}.breakfast-copy h2{font-size:43px;line-height:1.17}.breakfast-section{min-height:620px;padding-top:45px;padding-bottom:41px}.experience-heading h2{font-size:37px}.experience-photo h3{font-size:54px}.gallery-invitation h2{font-size:54px}.gallery-invitation .story-copy{padding:40px 0 42px}.closing-section h2{font-size:37px}.wellness-preview-heading h2{font-size:56px}.wellness-intro h1{font-size:44px}.wellness-copy .type-sans{font-size:34px}.wellness-copy .type-italic{font-size:53px}.stage-cover h1{font-size:43px;line-height:1.2}.stage-cover{min-height:600px}.stage-cover p{font-size:16px}.stage-lead h1{font-size:40px}.stage-cover h2.type-sans,.stage-inset .type-serif,.stage-band .type-serif,.stage-text .type-serif{font-size:36px}.story-copy h2.type-italic{font-size:53px}.type-sans{font-size:34px}.type-serif{font-size:36px}.page-intro h1{font-size:39px;line-height:1.23}.gallery-intro h1{font-size:59px;line-height:1.05}.location-copy h2{font-size:55px}.contact-email{font-size:20px}.enquiry-card h2,.dialog-content h2{font-size:32px;line-height:1.23}.enquiry-card .intro,.dialog-content .intro{font-size:14px}.footer-brand{font-size:85px}.footer-message{font-size:18px}.ribbon-title{font-size:31px}.ribbon-field .booking-trigger{font-size:12px}.booking-ribbon .ribbon-submit{font-size:11px}.picker-month{font-size:30px}.gallery-caption{font-size:11px}.gallery-filters button{font-size:11px}}
@media(max-width:359px){.brand-name{font-size:29px}.site-header{gap:12px}.book-button,.menu-button{font-size:11px}.hero-content h1{font-size:43px}.hero{min-height:700px}.hero-content p:not(.eyebrow){font-size:15px}.season-switch button{font-size:9px;padding:10px 13px}.welcome-section h2{font-size:52px}.room-heading .type-sans{font-size:34px}.room-story h3{font-size:39px}.breakfast-copy h2{font-size:39px}.experience-heading h2{font-size:33px}.experience-photo h3{font-size:49px}.gallery-invitation h2{font-size:50px}.closing-section h2{font-size:32px}.wellness-preview-heading h2{font-size:52px}.wellness-intro h1{font-size:38px}.wellness-copy .type-sans{font-size:31px}.wellness-copy .type-italic{font-size:48px}.stage-cover h1{font-size:38px}.stage-lead h1{font-size:36px}.stage-cover h2.type-sans,.stage-inset .type-serif,.stage-band .type-serif,.stage-text .type-serif{font-size:33px}.page-intro h1{font-size:35px}.gallery-intro h1{font-size:54px}.enquiry-card h2,.dialog-content h2{font-size:29px}.contact-email{font-size:17px}.ribbon-field .booking-trigger{font-size:11px}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.enhanced .reveal-photo.is-in-view,.enhanced .word,.mobile-menu nav a{animation:none!important;clip-path:none!important}[data-parallax]>img,[data-parallax]>.scene>img,.hero .scene[data-parallax]>img{transform:none}}




/* V6: contextual motion */
/* Contextual entrances are native animations; remove the old shared entrance. */
.enhanced .word,.enhanced .reveal-photo.is-in-view,.mobile-menu nav a{animation:none!important}
.word{transform-origin:50% 80%;backface-visibility:hidden}
[data-photo-motion]{transform-origin:50% 50%;backface-visibility:hidden}
[data-parallax]>img,[data-parallax]>.scene>img,.scene[data-parallax]>img,.hero .scene[data-parallax]>img{transform:translate(calc(var(--photo-x,0px) + var(--scroll-x,0px)),var(--photo-y,0px)) scale(var(--photo-zoom,1.1)) rotate(var(--photo-turn,0deg))}
.mobile-menu nav a{font-family:var(--serif);font-style:italic;font-weight:600;letter-spacing:-.055em;font-size:clamp(42px,4.15vw,60px);line-height:1.07;transform-origin:0 50%;transition:color .25s,transform .35s var(--ease)}
.mobile-menu nav{gap:7px}
.mobile-menu nav a:hover{transform:translateX(12px) rotate(-1deg)}
.menu-button{font-family:var(--serif);font-style:italic;font-weight:600;font-size:24px;letter-spacing:-.04em;line-height:1.15}
.desktop-nav a{font-family:var(--serif);font-style:italic;font-weight:600;font-size:18px;letter-spacing:-.02em}
@media(max-width:1160px){.desktop-nav{gap:13px}.desktop-nav a{font-size:17px}}
@media(max-width:900px){.mobile-menu nav a{font-size:45px}.mobile-menu nav{gap:7px}}
@media(max-width:600px){.mobile-menu nav a{font-size:39px;line-height:1.1}.mobile-menu nav{gap:8px}.menu-button{font-size:23px}}
@media(max-width:359px){.mobile-menu nav a{font-size:36px}.mobile-menu nav{gap:7px}.menu-button{font-size:22px}}
@media(prefers-reduced-motion:reduce){[data-parallax]>img,[data-parallax]>.scene>img,.scene[data-parallax]>img,.hero .scene[data-parallax]>img{transform:none}.mobile-menu nav a:hover{transform:none}.word{clip-path:none!important;transform:none!important;opacity:1!important}}

/* V9: six primary destinations; grouped pages keep their section active. */
.desktop-nav a[aria-current],.mobile-menu nav a[aria-current]{color:#926a3f}
[data-parallax]>img,[data-parallax]>.scene>img,.scene[data-parallax]>img,.hero .scene[data-parallax]>img{transform:none;will-change:auto}
