:root{--forest:#243e34;--deep:#1b3028;--cream:#f8f6f0;--paper:#fffefa;--gold:#ad9061;--ink:#263c32;--muted:#73766e;--line:#dedfd4;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.8}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;width:100%;object-fit:cover}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.025em}h2{font-size:clamp(38px,4.2vw,56px);margin-bottom:24px}h3{font-size:30px}em{font-weight:400;color:#8c906c}p{color:var(--muted);line-height:1.9}button{border:0;background:none}input,select,textarea{width:100%;min-width:0;color:var(--ink)}[hidden]{display:none!important}.container{max-width:1180px;width:calc(100% - 100px);margin-inline:auto}.section{padding-block:96px}.eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:2.5px;color:#8b7d5e;margin-bottom:17px}.eyebrow.light{color:#e1d8c2}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:15px 25px;background:var(--forest);color:#fff;font-size:12px;font-weight:500;letter-spacing:.3px;border:1px solid var(--forest);transition:background .2s,transform .2s;min-height:51px}.button:hover{background:#3b5745;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.button.ivory{background:var(--cream);border-color:var(--cream);color:var(--forest)}.button.ivory:hover{background:#e9e5d8}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:12px;font-weight:600;border-bottom:1px solid #a5ab98;padding:8px 0}.text-link span{font-size:22px;font-weight:400}.topbar{background:var(--forest);color:#e0e6db;display:flex;justify-content:space-between;padding:7px 50px;font-size:10px;letter-spacing:.6px}.topbar a{color:#fff}.topbar .top-contact{display:flex;gap:25px}.site-header{position:sticky;top:0;z-index:30;background:var(--cream);box-shadow:0 1px 0 #0000000d}.navbar{height:87px;padding:0 50px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-icon{font-size:44px;line-height:1;transform:rotate(-25deg);color:#718064}.brand-name{font-family:var(--serif);font-size:31px;line-height:1}.brand-name small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:3.5px;margin-top:7px;text-align:center}.nav-links{display:flex;gap:25px;align-items:center}.nav-links>a,.nav-dropdown>button{font-size:11px;padding:12px 0}.nav-links a:hover{color:#998052}.nav-dropdown{position:relative}.nav-dropdown>button{display:flex;gap:7px;align-items:center}.dropdown-panel{position:absolute;top:100%;left:-24px;background:var(--paper);padding:15px;min-width:210px;box-shadow:0 12px 40px #0002;display:none;border-top:2px solid var(--gold)}.nav-dropdown.open .dropdown-panel{display:grid}.dropdown-panel a{font-size:12px;padding:8px 12px}.nav-book{padding:11px 18px;min-height:44px;font-size:11px}.menu-toggle{display:none;padding:10px;font-size:24px}.hero{position:relative;height:640px;background:var(--deep);color:white;overflow:hidden}.hero-slide{height:100%;position:relative}.hero-image{position:absolute;height:100%;inset:0;object-position:center 54%}.hero-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09251bcc 0%,#17302570 50%,#18261b10 100%),linear-gradient(0deg,#0e231b80,transparent 35%)}.hero-copy{position:relative;z-index:2;max-width:1180px;width:calc(100% - 100px);margin:auto;padding-top:105px;animation:fade-up .7s ease}.hero-copy h1,.hero-copy h2{font-size:clamp(46px,5.2vw,72px);color:white;max-width:900px;line-height:1.08;margin-bottom:24px;letter-spacing:-1.5px}.hero-copy em{color:#e3d6b3}.hero-copy p{color:#f0eee4;font-size:14px;line-height:1.9;margin-bottom:30px}.hero-copy .eyebrow{font-size:10px;letter-spacing:3px}.hero-bottom{position:absolute;bottom:68px;z-index:3;left:50px;right:50px;display:flex;justify-content:space-between;align-items:center}.hero-note{font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:12px}.small-leaf{font-size:31px}.slider-controls{display:flex;align-items:center;gap:18px;font-size:12px}.slider-controls button{border:1px solid #ffffff66;color:white;width:37px;height:37px;font-size:18px}.slider-controls button:hover{background:#ffffff22}#slide-count>span{opacity:.5;margin-left:6px}.quick-booking{position:relative;z-index:4;margin-top:-37px;background:var(--paper);box-shadow:0 12px 30px #263c3210;display:grid;grid-template-columns:1.4fr 1fr 1fr .7fr 1.1fr;align-items:center;padding:25px 29px;gap:22px}.booking-heading h3{font-size:24px;margin:0}.booking-heading .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:8px}.quick-booking label{font-size:9px;font-weight:600;letter-spacing:1.5px;border-left:1px solid var(--line);padding-left:20px}.quick-booking input,.quick-booking select{border:none;background:transparent;font-size:12px;letter-spacing:0;display:block;margin-top:9px;min-height:26px;color:#62695e}.quick-booking .button{padding:15px 14px;gap:12px;font-size:11px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center;padding-top:117px}.intro-images{position:relative;padding-right:42px;padding-bottom:60px}.intro-images>img:first-child{height:425px}.intro-detail{position:absolute;width:220px;height:230px;right:0;bottom:0;border:9px solid var(--cream)}.image-label{position:absolute;bottom:10px;left:0;font-family:var(--serif);font-style:italic;font-size:21px}.intro-text p{font-size:13px}.intro-signature{display:flex;align-items:center;gap:16px;margin-top:23px}.intro-signature>span{font-size:43px;color:#8e967b}.intro-signature p{font-size:9px;letter-spacing:1.5px;line-height:1.8;margin:0;text-transform:uppercase}.amenity-strip{background:#eeeee4;border-block:1px solid #e3e3d8}.amenity-grid{display:flex;justify-content:space-between;gap:15px;padding-block:24px}.amenity-grid>span{display:flex;align-items:center;gap:13px;font-size:26px;color:#889079}.amenity-grid>span>span{font-size:11px;color:var(--ink)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-heading h2{margin:0}.section-heading p{font-size:12px;margin-bottom:6px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.room-card{background:var(--paper);border:1px solid #e8e6dd}.room-photo{height:270px;position:relative;overflow:hidden}.room-photo img{height:100%;transition:transform .6s}.room-card:hover img{transform:scale(1.04)}.image-tag{position:absolute;left:15px;bottom:15px;background:#fcfbf1ed;padding:5px 10px;font-size:8px;letter-spacing:1.5px}.room-body{padding:24px}.room-body h3{font-size:29px;margin-bottom:12px}.room-body p{font-size:12px;margin-bottom:12px}.room-body .text-link{width:100%;font-size:11px}.section-footnote{text-align:center;font-size:10px;margin-top:28px;margin-bottom:0}.experience-section{background:#ecefe7}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.experience-card{height:370px;position:relative;overflow:hidden;color:#fff}.experience-card img{height:100%;transition:transform .6s}.experience-card:hover img{transform:scale(1.05)}.experience-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#102e23ed,transparent 75%)}.experience-card>div{position:absolute;bottom:25px;left:25px;right:25px;z-index:1}.experience-card .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:12px}.experience-card h3{font-size:29px;max-width:230px;margin-bottom:0}.circle-arrow{position:absolute;bottom:0;right:0;width:33px;height:33px;border:1px solid #ffffff70;text-align:center;line-height:31px}.dining-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.dining-section img{height:370px}.dining-section p{font-size:13px;margin-bottom:28px}.celebrations{background:var(--forest);color:var(--cream)}.celebrations .eyebrow{color:#b4b58f}.celebrations em{color:#bcccaa}.celebrations p{color:#bcc8b9}.occasion-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid #ffffff25}.occasion-grid a{padding:30px 22px;border-right:1px solid #ffffff25;position:relative}.occasion-grid a:first-child{padding-left:0}.occasion-grid a:last-child{border-right:0}.occasion-grid a:hover{background:#ffffff08}.occasion-grid a>span{font-size:10px;color:#b2b995}.occasion-grid h3{font-size:28px;margin:23px 0 13px}.occasion-grid p{font-size:11px;margin-bottom:35px}.occasion-grid b{font-size:24px;font-weight:400}.gallery-hint{font-size:10px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;grid-template-rows:170px 170px;gap:14px}.gallery-grid button{padding:0;overflow:hidden}.gallery-grid button:first-child{grid-row:span 2}.gallery-grid button:nth-child(2){grid-row:span 2}.gallery-grid img{height:100%;transition:transform .5s}.gallery-grid button:hover img{transform:scale(1.04)}.escape-banner{background:linear-gradient(#183429b8,#183429c4),url('../images/resort-aerial.jpg') center 60%/cover;text-align:center;color:white;padding:85px 0}.escape-banner h2{font-size:58px}.escape-banner em{color:#dbd4b5}.escape-banner>.container>a{display:block;font-size:11px;margin-top:17px;color:#e2e4db}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact-section address{font-style:normal;color:var(--muted);font-size:13px;margin-bottom:16px}.contact-detail{display:block;font-size:13px;margin-top:12px}.contact-card{background:#eceee5;padding:48px}.contact-card h3{font-size:37px}.contact-card p{font-size:12px;margin-bottom:25px}.contact-card .text-link{display:flex;width:max-content;margin-top:15px;font-size:11px}.site-footer{background:var(--deep);color:#e6e8da;padding-top:60px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:50px;padding-bottom:45px}.footer-brand{margin-bottom:24px}.footer-grid p{font-size:11px;color:#9daa9a;max-width:230px}.footer-grid h4{font-size:10px;font-weight:500;letter-spacing:1.7px;color:#c4caaa;margin:0 0 20px}.footer-grid a:not(.brand){display:block;font-size:11px;color:#b7c3b2;margin:7px 0}.footer-grid a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff15;display:flex;justify-content:space-between;font-size:9px;color:#8fa18f;padding-block:18px}.mobile-bar{display:none}.skip-link{position:fixed;top:-100px;left:10px;z-index:200;background:white;padding:10px}.skip-link:focus{top:10px}.booking-dialog,.gallery-dialog{border:none;background:var(--cream);color:var(--ink);width:min(680px,calc(100% - 30px));padding:38px;max-height:90dvh;overflow:auto}.booking-dialog::backdrop,.gallery-dialog::backdrop{background:#10281edb;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:15px;top:10px;font-size:28px;line-height:1;padding:10px}.booking-dialog h2{font-size:40px;margin-bottom:15px}.booking-dialog>p{font-size:12px;margin-bottom:23px}.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.enquiry-grid label{font-size:10px;font-weight:600;letter-spacing:.3px}.enquiry-grid input,.enquiry-grid select,.enquiry-grid textarea{border:1px solid #d7dacc;padding:10px 12px;background:var(--paper);font-size:12px;margin-top:6px;min-height:43px;border-radius:0}.enquiry-grid .full{grid-column:1/-1}.enquiry-grid textarea{resize:vertical}.form-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.form-actions .button{flex:1;gap:12px;font-size:11px}.button.outline{background:transparent;color:var(--forest)}.form-note{font-size:10px;margin:14px 0 0!important}.form-status{font-size:12px;margin-top:10px;color:var(--forest)}.gallery-dialog{background:var(--deep);padding:45px 15px 15px;width:min(1100px,95%)}.gallery-dialog .dialog-close{color:white}.gallery-dialog img{max-height:75dvh;object-fit:contain}.inner-hero{height:470px;position:relative;color:white;display:flex;align-items:center;background:var(--deep)}.inner-hero>img{position:absolute;inset:0;height:100%}.inner-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#10281ddd,#10281d45)}.inner-hero>.container{position:relative;z-index:1}.inner-hero h1{font-size:clamp(48px,6vw,76px);max-width:800px;margin-bottom:20px}.inner-hero em{color:#d4d6b1}.inner-hero p{color:#e0e5d9;max-width:500px}.breadcrumb{padding-top:22px;font-size:10px;color:var(--muted)}.breadcrumb span{padding:0 10px}.inner-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.inner-intro img{height:420px}.inner-intro p{font-size:13px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-card{background:var(--paper);padding:35px;border:1px solid var(--line)}.feature-card>span{font-family:var(--serif);font-size:30px;color:var(--gold)}.feature-card h3{margin:20px 0 15px;font-size:31px}.feature-card p{font-size:12px}.inner-features{padding-top:0}.faq-section{max-width:850px;margin-inline:auto}.faq-section>h2{text-align:center}.faq-section details{border-bottom:1px solid var(--line);padding:20px 0}.faq-section summary{font-size:14px;cursor:pointer}.faq-section details p{font-size:12px;margin:15px 0 0}.planning-note{font-size:11px;margin-top:24px}.active-nav{color:#9c8459!important}@keyframes fade-up{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero-copy{padding-top:110px}.hero{height:700px}.hero-bottom{left:calc((100vw - 1180px)/2);right:calc((100vw - 1180px)/2)}}
@media(max-width:1100px){.navbar{padding-inline:30px;gap:18px}.nav-links{gap:16px}.container,.hero-copy{width:calc(100% - 60px)}.quick-booking{gap:15px;padding-inline:20px;grid-template-columns:1.2fr 1fr 1fr .7fr 1fr}.quick-booking label{padding-left:12px}.quick-booking .button{font-size:10px}.booking-heading h3{font-size:21px}.intro{gap:50px}.room-body{padding:20px}.room-body h3{font-size:25px}.room-photo{height:240px}.experience-card h3{font-size:26px;max-width:190px}.footer-grid{gap:25px}.contact-section{gap:60px}}
@media(max-width:900px){.nav-links{display:none;position:absolute;left:0;right:0;top:87px;background:var(--cream);padding:25px 30px;max-height:calc(100dvh - 155px);overflow:auto;box-shadow:0 16px 20px #0001}.nav-links.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-links>a,.nav-dropdown>button{font-size:15px;padding:12px;width:100%;text-align:left;border-bottom:1px solid var(--line)}.nav-dropdown>button{justify-content:space-between}.dropdown-panel{position:static;box-shadow:none;border:0;background:#edeee4;padding:10px}.dropdown-panel a{font-size:13px}.menu-toggle{display:block}.navbar .brand{margin-right:auto}.hero-copy h1,.hero-copy h2{font-size:58px}.quick-booking{grid-template-columns:1fr 1fr 1fr 1fr}.booking-heading{display:none}.quick-booking label:first-of-type{border:0;padding:0}.intro{gap:35px}.intro-detail{width:170px;height:190px}.intro-images{padding-right:25px}.amenity-grid{flex-wrap:wrap;justify-content:center;column-gap:35px}.occasion-grid{grid-template-columns:repeat(2,1fr)}.occasion-grid a:nth-child(2){border-right:0}.occasion-grid a:nth-child(3){padding-left:0;border-top:1px solid #ffffff25}.occasion-grid a:nth-child(4){border-top:1px solid #ffffff25}.contact-section{gap:30px}.contact-card{padding:30px}.dining-section{gap:35px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.inner-intro{gap:35px}.feature-card{padding:25px}}
@media(max-width:600px){body{font-size:13px}.container,.hero-copy{width:calc(100% - 40px)}.section{padding-block:60px}.topbar{padding:7px 20px;justify-content:center;font-size:8px}.topbar .top-contact{display:none}.navbar{height:75px;padding:0 20px;gap:10px}.brand-icon{font-size:36px}.brand-name{font-size:28px}.brand-name small{font-size:7px;letter-spacing:3px}.nav-book{font-size:9px;padding:9px 12px;min-height:36px;gap:0}.nav-book span{display:none}.menu-toggle{padding:5px;font-size:26px}.nav-links{top:75px;padding:15px 20px}.hero{height:590px}.hero-image{object-position:57% center}.hero-slide:after{background:linear-gradient(90deg,#142d24b8,#142d2460),linear-gradient(0deg,#142d24aa,transparent)}.hero-copy{padding-top:85px}.hero-copy h1,.hero-copy h2{font-size:46px;line-height:1.07;letter-spacing:-.8px;margin-bottom:23px}.hero-copy h1 br{display:none}.hero-copy p{font-size:12px;max-width:310px;margin-bottom:27px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:25px}.hero-copy .button{font-size:11px;padding:13px 20px}.hero-bottom{left:20px;right:20px;bottom:65px}.hero-note{font-size:7px;letter-spacing:.8px;max-width:165px;line-height:1.6;gap:8px}.small-leaf{font-size:24px}.slider-controls{gap:10px;font-size:10px}.slider-controls button{width:30px;height:32px;font-size:16px}#slide-pause{display:none}.quick-booking{margin-top:-33px;grid-template-columns:1fr 1fr;gap:18px 12px;padding:23px 20px}.quick-booking label{font-size:8px;padding:0;border:0}.quick-booking label:nth-of-type(2){border-left:1px solid var(--line);padding-left:12px}.quick-booking input,.quick-booking select{font-size:11px}.quick-booking .button{font-size:10px;padding:12px 10px;min-height:46px}.intro{display:flex;flex-direction:column;gap:40px;padding-top:65px}.intro-images{width:100%;padding-bottom:45px;padding-right:30px}.intro-images>img:first-child{height:330px}.intro-detail{width:160px;height:165px;border-width:6px}.image-label{font-size:18px}.intro-text h2{font-size:41px}.intro-text p{font-size:12px}.amenity-grid{gap:17px 25px;padding-block:20px}.amenity-grid>span{font-size:22px;gap:8px}.amenity-grid>span>span{font-size:9px}.section-heading{display:block;margin-bottom:27px}.section-heading h2{font-size:39px}.section-heading>p,.section-heading>.text-link,.gallery-hint{display:block;margin-top:20px}.room-grid{grid-template-columns:1fr;gap:25px}.room-photo{height:260px}.room-body{padding:23px}.room-body h3{font-size:30px}.room-body p{font-size:12px}.section-footnote{font-size:9px;max-width:270px;margin-inline:auto}.experience-grid{grid-template-columns:1fr;gap:18px}.experience-card{height:320px}.experience-card h3{font-size:32px;max-width:280px}.experience-card .eyebrow{font-size:8px}.dining-section{display:flex;flex-direction:column;gap:35px}.dining-section img{height:280px}.dining-section h2{font-size:43px}.occasion-grid a{padding:24px 17px}.occasion-grid h3{font-size:27px}.occasion-grid p{font-size:10px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 160px;gap:10px}.gallery-grid button:first-child,.gallery-grid button:nth-child(2){grid-row:auto}.escape-banner{padding:65px 0}.escape-banner h2{font-size:44px}.escape-banner .eyebrow{font-size:8px;letter-spacing:1.5px}.contact-section{grid-template-columns:1fr;gap:35px}.contact-card{padding:30px}.contact-card h3{font-size:35px}.site-footer{padding-top:45px;padding-bottom:65px}.footer-grid{gap:30px 18px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid p{max-width:280px}.footer-grid h4{font-size:9px}.footer-grid a:not(.brand){font-size:10px}.footer-bottom{flex-direction:column;gap:5px;font-size:8px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--paper);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 15px #0001;height:calc(62px + env(safe-area-inset-bottom))}.mobile-bar a,.mobile-bar button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;font-size:10px;flex:1;border-right:1px solid var(--line);letter-spacing:.5px}.mobile-bar b{font-size:20px;font-weight:400;line-height:1.2}.mobile-bar button{background:var(--forest);color:white;border:0}.booking-dialog{padding:30px 23px;width:calc(100% - 24px);max-height:calc(100dvh - 30px)}.booking-dialog h2{font-size:35px}.enquiry-grid{gap:11px}.enquiry-grid input,.enquiry-grid select,.enquiry-grid textarea{padding:9px;font-size:16px}.enquiry-grid label{font-size:9px}.form-actions{flex-direction:column}.form-note{font-size:9px}.inner-hero{height:460px}.inner-hero h1{font-size:49px}.inner-hero p{font-size:12px}.inner-hero .eyebrow{font-size:8px}.inner-intro{display:flex;flex-direction:column-reverse;gap:30px}.inner-intro img{height:280px}.feature-grid{grid-template-columns:1fr}.inner-features{padding-top:0}.feature-card{padding:27px}.feature-card h3{font-size:30px}.faq-section{width:calc(100% - 40px)}.faq-section>h2{font-size:38px}.faq-section summary{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}