@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Italiana&display=swap');

:root{--cream:#faf8f2;--green:#173e32;--muted:#656b61;--rust:#9b4d32;--line:#dedfd3;--pale:#eeeee5;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--green);font:15px/1.75 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b26939;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.12;letter-spacing:-1.8px}h2{font-size:clamp(34px,3.55vw,49px)}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--rust);font-size:.91em}p{color:var(--muted)}address{font-style:normal}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;left:15px;top:-70px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}.topbar{background:var(--green);color:#f8f6ec;text-align:center;font-size:11px;letter-spacing:1px;padding:8px 5%}.topbar span{margin-left:30px;opacity:.7}.header{height:99px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid var(--line);background:var(--cream);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand img{object-fit:contain}.brand>span{font-family:var(--serif);font-size:29px;line-height:1.1;white-space:nowrap}.brand small{display:block;font:9px var(--sans);letter-spacing:2px;margin-top:8px}.header nav{display:flex;gap:30px;align-items:center;font-size:12px}.header nav>a:not(.button){padding:12px 0}.header nav>a:not(.button):hover{color:var(--rust)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:54px;padding:14px 25px;background:var(--green);color:white;border:1px solid var(--green);font-size:12px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#285345;transform:translateY(-2px)}.button-small{min-height:43px;padding:10px 19px;gap:18px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:48% 52%;min-height:590px}.hero-copy{padding:78px 8% 45px 11.5%;align-self:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.6;color:var(--green);margin-bottom:22px}.hero .eyebrow{font-size:9px;letter-spacing:1.65px;display:flex;align-items:center;gap:10px}.little-line{width:25px;height:1px;background:var(--rust);display:inline-block}.hero h1{font-size:clamp(42px,4.9vw,71px);line-height:1.06;letter-spacing:-2px}.hero-description{max-width:345px;font-size:14px;margin-top:28px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:600;padding-bottom:5px;border-bottom:1px solid #879388}.text-link:hover{color:var(--rust);border-color:var(--rust)}.hero-actions .text-link{font-size:11px;gap:9px}.hero-location{margin-top:46px;display:flex;gap:11px;align-items:center;font-size:10px;line-height:1.7;color:var(--muted)}.hero-location strong{font-weight:400;letter-spacing:.4px}.hero-location .icon{color:var(--rust);width:17px}.hero-visual{position:relative;min-height:590px;overflow:hidden}.hero-photo{height:100%;width:100%;position:absolute;object-position:47% center}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,32,23,.68),transparent 60%);pointer-events:none}.photo-tag{position:absolute;top:28px;right:28px;background:var(--cream);padding:9px 14px;font-size:10px;z-index:1;display:flex;align-items:center;gap:8px}.status-dot{width:6px;height:6px;background:var(--green);border-radius:100%}.photo-caption{position:absolute;bottom:40px;left:37px;z-index:1;color:white}.photo-caption>span{font-size:8px;letter-spacing:2px}.photo-caption p{font-family:var(--serif);font-size:27px;color:white;margin-top:8px}.round-arrow{position:absolute;bottom:43px;right:32px;z-index:1;border:1px solid #d7ded5;border-radius:50%;height:44px;width:44px;display:grid;place-items:center;color:white;font-size:23px}.welcome-strip{display:flex;justify-content:center;gap:0;border-bottom:1px solid var(--line);padding:25px 5%;background:#f0f0e7}.welcome-strip span{width:33%;display:flex;justify-content:center;align-items:center;gap:14px;font-size:11px;letter-spacing:.4px}.welcome-strip span+span{border-left:1px solid #ced2c4}.welcome-strip .icon{color:#63765e;width:22px;height:22px}.section-wrap{width:89%;max-width:1260px;margin:0 auto}.about{padding:100px 0;display:grid;grid-template-columns:42% 1fr;gap:10%;align-items:center}.about-photo{position:relative;padding-right:22px}.about-photo>img{height:470px;width:100%;object-position:center 65%}.photo-note{position:absolute;right:0;bottom:27px;background:#e9e8db;padding:20px 29px;font:italic 23px/1.4 Georgia,serif;box-shadow:0 5px 20px #173e3208}.about-copy h2{margin-bottom:25px}.about-copy>p:not(.eyebrow){font-size:13px;max-width:470px;margin-bottom:18px}.about-copy .text-link{margin-top:10px}.signature{font:italic 18px Georgia,serif;color:var(--rust);margin-top:32px}.stay-section{padding:75px 0;background:var(--pale)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-heading .eyebrow{margin-bottom:13px}.section-heading>p{font-size:12px}.room-card{display:grid;grid-template-columns:55% 45%;background:var(--cream)}.room-card>img{width:100%;height:415px}.room-copy{padding:42px 44px;align-self:center}.room-copy .eyebrow{font-size:9px}.room-copy h3{font:32px var(--serif);margin:10px 0 17px}.room-copy>p{font-size:12px}.room-features{display:flex;gap:23px;padding:23px 0;margin-bottom:14px;border-bottom:1px solid var(--line)}.room-features>span{display:flex;gap:8px;align-items:center;font-size:10px}.room-features .icon{width:18px}.room-copy .small-note{font-size:10px;margin-bottom:21px}.room-copy .button{min-height:47px;padding:11px 20px}.gallery{padding:86px 0}.gallery-hint{font-size:10px;color:var(--muted);white-space:nowrap}.gallery-hint>span{font-size:20px;margin-left:10px}.gallery-grid{display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:16px;grid-template-rows:220px 220px}.gallery-item{position:relative;overflow:hidden;padding:0;border:0;background:var(--pale);text-align:left;color:white}.gallery-wide{grid-row:span 2}.gallery-item:nth-child(2){grid-row:span 2}.gallery-item img{width:100%;height:100%;transition:transform .5s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0e271cb3)}.gallery-item>span{position:absolute;z-index:1;bottom:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;font-size:11px}.gallery-item .icon{width:17px}.location-section{padding:75px 0;background:#eeeee5}.location-grid{display:grid;grid-template-columns:37% 1fr;gap:9%;align-items:center}.location-grid h2{margin-bottom:22px}.location-grid p:not(.eyebrow){font-size:12px;max-width:320px}.location-grid address{font-size:12px;line-height:1.9;margin:23px 0 21px}.location-grid address strong{font-weight:600}.location-phone{display:flex;align-items:center;gap:10px;font-size:12px;margin-top:23px}.location-phone .icon{width:16px}.map-frame{border:7px solid var(--cream);background:var(--cream)}.map-frame iframe{width:100%;height:365px;display:block}.map-footer{padding:15px 10px 8px;display:flex;align-items:center;gap:8px;font-size:10px}.map-footer .icon{width:15px;height:15px}.map-footer>span{margin-left:auto;font-size:9px}.enquiry{padding:90px 0;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.enquiry-copy h2{font-size:clamp(40px,4vw,57px)}.enquiry-copy>p:not(.eyebrow){font-size:13px;margin:25px 0;max-width:355px}.enquiry-copy .text-link{font-size:11px}.enquiry-form{border:1px solid var(--line);padding:33px;background:#f2f1e9}.enquiry-form h3{font:28px var(--serif);margin-bottom:6px}.enquiry-form>p{font-size:11px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:25px 0}.form-grid label{font-size:10px;font-weight:600;display:flex;flex-direction:column;gap:6px;min-width:0}input,select{width:100%;min-width:0;min-height:46px;background:var(--cream);border:1px solid #d4d8ca;border-radius:0;color:var(--green);padding:10px;font-size:11px}input::placeholder{color:#727569}.enquiry-form .button{width:100%;gap:13px}.enquiry-form .button .icon:last-child{margin-left:auto}.enquiry-form .form-note{font-size:9px;line-height:1.6;text-align:center;margin-top:12px}.faq{padding:10px 0 85px;display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.faq h2{font-size:36px}.faq details{border-bottom:1px solid var(--line);padding:17px 0}.faq details:first-child{padding-top:0}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:12px;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font-size:20px;font-weight:400;transition:transform .2s}.faq details[open] summary>span{transform:rotate(45deg)}.faq details p{font-size:12px;padding:12px 25px 0 0}.faq details p a{text-decoration:underline}footer{background:var(--green);color:#eaece0}.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:9%;padding:49px 0 39px}.footer-brand{gap:14px}.footer-brand img{background:var(--cream);border-radius:50%;padding:5px;width:70px;height:70px}.footer-brand>span{font-size:29px}.footer-main p{color:#c0ccbe;font-size:11px;margin-top:19px}.footer-main h3{font:12px var(--sans);font-weight:500;margin:9px 0 20px}.footer-main address{font-size:11px;line-height:1.9;color:#c0ccbe}.footer-main>div>a:not(.brand){display:block;font-size:11px;margin-top:11px;color:#c0ccbe}.footer-main a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #426154;padding:18px 0;font-size:9px;color:#bfccbe}.footer-flower{font-size:16px;margin-left:8px;color:#e4b872}.mobile-contact{display:none}dialog{max-width:min(950px,94vw);width:max-content;max-height:94vh;border:0;padding:18px;background:var(--cream);color:var(--green);overflow:auto}dialog::backdrop{background:rgba(7,20,16,.85);backdrop-filter:blur(4px)}#dialog-image{max-height:75vh;max-width:100%;width:auto;object-fit:contain;margin:auto}.dialog-close{position:absolute;right:25px;top:25px;background:var(--cream);border:0;border-radius:50%;width:40px;height:40px;font-size:26px;line-height:1;box-shadow:0 2px 10px #0002}.dialog-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:13px}.dialog-controls button{border:1px solid var(--line);background:transparent;color:var(--green);width:40px;height:40px;font-size:20px;flex-shrink:0}.dialog-controls p{font-size:12px;text-align:center}
@media(min-width:1500px){.hero{min-height:690px}.hero-visual{min-height:690px}.hero-copy{padding-left:max(11.5%,calc((100vw - 1260px)/2))}.header{padding-right:max(5.5%,calc((100vw - 1400px)/2));padding-left:max(5.5%,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.header nav{gap:20px}.hero-copy{padding-top:48px;padding-bottom:40px}.hero,.hero-visual{min-height:550px}.hero h1{font-size:52px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-actions{gap:18px}.hero-location{margin-top:30px}.about{gap:7%;padding:75px 0}.about-photo>img{height:450px}.room-copy{padding:28px}.room-features{gap:15px}.gallery-grid{grid-template-rows:185px 185px}.gallery-hint{display:none}.enquiry{gap:7%}.enquiry-form{padding:26px}.footer-main{gap:6%}}
@media(max-width:800px){html{scroll-padding-top:80px}.topbar{font-size:9px;padding:7px 15px}.topbar span{display:none}.header{height:80px}.brand img{width:51px;height:51px}.brand>span{font-size:26px}.brand small{font-size:8px}.menu-toggle{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);background:transparent}.menu-toggle span{width:18px;height:1px;background:var(--green);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--cream);border-bottom:1px solid var(--line);padding:20px 5.5%;box-shadow:0 15px 20px #173e3210}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:9px}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:42px 8% 35px 11%}.hero h1{font-size:43px;letter-spacing:-1.5px}.hero .eyebrow{display:block;font-size:8px}.little-line{display:none}.hero-description{font-size:12px;margin-top:20px}.hero-actions .button{font-size:10px;padding:12px 15px;gap:12px;min-height:46px}.hero,.hero-visual{min-height:520px}.photo-tag{right:17px;top:20px;font-size:8px;padding:7px 11px}.photo-caption{left:22px;bottom:30px;right:22px}.photo-caption p{font-size:24px}.photo-caption>span{font-size:7px;letter-spacing:1.5px}.round-arrow{display:none}.welcome-strip{padding:19px 3%}.welcome-strip span{font-size:9px;gap:8px}.welcome-strip .icon{width:19px}.about{gap:6%;grid-template-columns:43% 1fr}.about-photo{padding-right:10px}.about-photo>img{height:430px}.about-copy h2{font-size:33px}.about-copy>p:not(.eyebrow){font-size:12px}.photo-note{font-size:18px;padding:18px}.signature{font-size:15px}.eyebrow{font-size:9px;letter-spacing:1.4px}.section-heading h2{font-size:35px}.section-heading>p{font-size:10px}.room-card{grid-template-columns:1fr 1fr}.room-card>img{height:100%;min-height:390px}.room-copy{padding:26px}.room-copy h3{font-size:28px}.room-features{flex-direction:column;gap:10px;padding:15px 0}.room-copy .button{font-size:10px;padding:10px 13px;gap:8px}.gallery-grid{gap:11px;grid-template-rows:165px 165px}.gallery-item>span{font-size:9px;left:12px;right:12px;bottom:14px}.location-grid{grid-template-columns:40% 1fr;gap:5%}.map-frame iframe{height:370px}.map-footer{font-size:8px}.map-footer>span{display:none}.enquiry{gap:5%}.enquiry-form{padding:23px}.form-grid{gap:13px;grid-template-columns:1fr}.enquiry-copy h2{font-size:43px}.faq{gap:7%;grid-template-columns:1fr 1.2fr}.faq h2{font-size:32px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-main>div:first-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.footer-main p{margin-top:0}.footer-bottom{padding-bottom:80px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--cream);border-top:1px solid var(--line);padding:9px 5.5%;gap:9px;padding-bottom:max(9px,env(safe-area-inset-bottom))}.mobile-contact a{min-height:42px;display:flex;gap:9px;align-items:center;justify-content:center;font-size:11px;border:1px solid var(--green);flex:1}.mobile-contact a:last-child{background:var(--green);color:white;flex:1.7}.mobile-contact .icon{width:17px}}
@media(max-width:580px){.hero{grid-template-columns:1fr}.hero-copy{padding:41px 6% 35px}.hero h1{font-size:53px;line-height:1.08}.hero .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:20px}.hero-description{font-size:13px;max-width:310px;margin-top:21px}.hero-actions{margin-top:25px;gap:22px}.hero-actions .button{font-size:11px;min-height:48px;padding:12px 18px}.hero-location{margin-top:25px;font-size:9px}.hero-visual{min-height:360px}.hero-photo{object-position:center 55%}.photo-caption p{font-size:27px}.photo-caption>span{font-size:8px}.photo-tag{font-size:9px}.welcome-strip{padding:18px 3%}.welcome-strip span{flex-direction:column;text-align:center;font-size:8px;line-height:1.5;gap:7px;padding:0 9px}.welcome-strip .icon{width:20px}.section-wrap{width:88%}.about{grid-template-columns:1fr;padding:57px 0;gap:35px}.about-photo{padding-right:24px;width:100%}.about-photo>img{height:365px;object-position:center 65%}.photo-note{bottom:24px;padding:18px 23px;font-size:21px}.about-copy h2{font-size:36px}.about-copy>p:not(.eyebrow){font-size:13px}.signature{font-size:17px;margin-top:26px}.stay-section{padding:50px 0}.section-heading{display:block;margin-bottom:27px}.section-heading h2{font-size:36px}.section-heading>p{margin-top:17px;font-size:12px}.room-card{grid-template-columns:1fr}.room-card>img{height:280px;min-height:0}.room-copy{padding:28px}.room-copy h3{font-size:31px}.room-features{flex-direction:row;gap:20px;padding:20px 0}.room-copy .button{font-size:11px;gap:18px}.gallery{padding:55px 0}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:245px 245px;gap:11px}.gallery-wide{grid-row:auto}.gallery-item:nth-child(2){grid-row:auto}.gallery-item>span{font-size:10px;left:12px;right:12px;gap:8px}.gallery-item .icon{width:14px}.location-section{padding:53px 0}.location-grid{grid-template-columns:1fr;gap:30px}.location-grid h2{font-size:39px}.location-grid p:not(.eyebrow){font-size:13px;max-width:none}.location-grid address{font-size:13px}.map-frame iframe{height:320px}.map-footer{font-size:9px}.map-footer>span{display:inline}.enquiry{grid-template-columns:1fr;padding:56px 0;gap:30px}.enquiry-copy h2{font-size:44px}.enquiry-copy>p:not(.eyebrow){margin:22px 0}.enquiry-form{padding:25px}.form-grid{grid-template-columns:1fr 1fr;gap:13px}.form-grid label{font-size:10px}input,select{font-size:12px;padding:9px 7px}.enquiry-form .button{font-size:11px}.faq{grid-template-columns:1fr;gap:28px;padding:0 0 55px}.faq h2{font-size:36px}.faq details{padding:17px 0}.faq summary{font-size:12px}.footer-main{padding:36px 0;grid-template-columns:1fr;gap:24px}.footer-main>div:first-child{display:block}.footer-main p{margin-top:16px}.footer-main h3{margin:0 0 12px}.footer-main address,.footer-main>div>a:not(.brand){font-size:12px}.footer-bottom{display:flex;flex-direction:column;gap:5px;font-size:9px;padding-bottom:86px}.dialog-controls p{font-size:10px}dialog{padding:11px}.dialog-close{right:18px;top:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
