@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--forest:#163b38;--forest-2:#214d46;--sage:#78988a;--sand:#f4f0e7;--cream:#fbfaf6;--ink:#203a36;--muted:#71817a;--line:#e4e8e1;--white:#fff;--gold:#d5bd91;--content:1180px;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;line-height:1.65;background:var(--cream)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.section-shell{width:min(var(--content),90%);margin-inline:auto}
.site-header{position:absolute;z-index:20;inset:0 0 auto;min-height:86px;padding:17px max(5vw,calc((100vw - var(--content))/2));display:flex;align-items:center;justify-content:space-between;gap:25px;color:white;border-bottom:1px solid rgba(255,255,255,.22)}
.brand{display:flex;align-items:center;gap:11px;color:#fff}.brand-symbol{width:42px;height:42px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;font:500 25px 'Playfair Display',Georgia,serif}.brand-type{display:flex;flex-direction:column;font-size:14px;font-weight:700;letter-spacing:.19em;line-height:1.3}.brand-type small{font-size:8px;letter-spacing:.22em;font-weight:500;opacity:.78;margin-top:4px}.main-nav{display:flex;align-items:center;gap:clamp(17px,2.7vw,36px);font-size:11px;font-weight:600;letter-spacing:.04em}.main-nav>a:not(.nav-cta){opacity:.92;transition:opacity .2s}.main-nav>a:hover{opacity:.7}.nav-cta{border:1px solid rgba(255,255,255,.78);padding:11px 16px}.nav-cta span{margin-left:10px}.menu-toggle{display:none}
.hero{height:min(850px,94vh);min-height:650px;position:relative;display:flex;align-items:center;overflow:hidden;background:linear-gradient(115deg,#244d46,#8da99a);color:white}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{background:linear-gradient(120deg,#315b51,#9aab95);background-size:cover;background-position:center;transform:scale(1.01);transition:opacity .4s}.hero-overlay{background:linear-gradient(90deg,rgba(11,36,33,.72),rgba(11,36,33,.35) 52%,rgba(11,36,33,.08)),linear-gradient(0deg,rgba(9,30,28,.3),transparent 45%)}.hero-content{position:relative;z-index:1;width:min(var(--content),90%);margin:55px auto 0}.eyebrow{display:block;margin:0 0 16px;color:#6f8c7e;font-size:9px;font-weight:700;letter-spacing:.21em}.eyebrow-light{color:#e5d9bf}.hero h1,.closing-section h2{margin:0;font:500 clamp(54px,7.6vw,94px)/1.04 'Playfair Display',Georgia,serif;letter-spacing:-.04em}.hero h1 em,.intro h2 em,.section-title-row h2 em,.moments-copy h2 em,.closing-section h2 em{font-weight:500}.hero-content>p:not(.eyebrow){max-width:440px;margin:25px 0 30px;color:rgba(255,255,255,.86);font-size:14px;line-height:1.9}.button{min-height:49px;padding:0 21px;display:inline-flex;align-items:center;justify-content:center;gap:22px;border:0;font-size:10px;font-weight:700;letter-spacing:.06em;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:#f5f1e8;color:var(--forest)}.button-dark{background:var(--forest);color:#fff}.button-dark:disabled{opacity:.6;cursor:wait}.hero-bottom{position:absolute;bottom:28px;left:5%;right:5%;display:flex;justify-content:space-between;color:rgba(255,255,255,.78);font-size:8px;letter-spacing:.2em}
.booking-card{position:relative;z-index:3;margin-top:-1px;padding:40px 45px 36px;background:#fff;box-shadow:0 18px 55px rgba(24,53,46,.09)}.booking-heading{margin-bottom:26px}.booking-heading .eyebrow{margin-bottom:7px}.booking-heading h2{margin:0;font:500 30px 'Playfair Display',Georgia,serif}.booking-heading p{margin:6px 0 0;color:var(--muted);font-size:11px}.booking-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 18px}.form-field{min-width:0;display:flex;flex-direction:column;gap:7px}.form-field label{font-size:10px;font-weight:700;color:#435b53}.form-field label span{font-weight:400;color:#89958d}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid #dfe5de;border-radius:0;background:#fdfdfb;color:var(--ink);font-size:12px;outline:none;transition:border-color .2s,box-shadow .2s}.form-field textarea{resize:vertical;min-height:85px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#78988a;box-shadow:0 0 0 3px rgba(120,152,138,.13)}.form-wide{grid-column:1/-1}.booking-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:2px}.booking-submit p{max-width:460px;margin:0;color:#89948d;font-size:10px;line-height:1.7}.form-status{min-height:0;font-size:12px}.form-status:empty{display:none}.form-status.is-success{padding:13px 15px;background:#edf5ee;color:#285a3b}.form-status.is-error{padding:13px 15px;background:#fbefeb;color:#963f31}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.intro{position:relative;min-height:610px;padding-top:125px;padding-bottom:120px;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:10%}.intro h2,.section-title-row h2{margin:0;font:500 clamp(40px,4.8vw,59px)/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.03em}.intro-copy>p:not(.eyebrow){max-width:430px;margin:23px 0 26px;color:var(--muted);font-size:12px;line-height:2}.text-link{display:inline-flex;align-items:center;gap:17px;padding-bottom:7px;border-bottom:1px solid #91a198;font-size:10px;font-weight:700}.intro-image{height:420px;background:linear-gradient(135deg,#648879,#d0c6ad);background-size:cover;background-position:center}.intro-stamp{position:absolute;right:0;bottom:70px;width:108px;height:108px;border:1px solid #b8c2b9;border-radius:50%;display:grid;place-content:center;text-align:center;color:#688174;font-size:9px;line-height:1.55;letter-spacing:.16em}
.stays-section{padding:100px 0 90px;background:var(--sand)}.section-title-row{margin-bottom:40px;display:flex;justify-content:space-between;align-items:end;gap:35px}.section-title-row>p{max-width:300px;margin:0 0 4px;color:var(--muted);font-size:11px;line-height:1.9}.stay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.stay-card{background:#fff}.stay-image{height:270px;background:linear-gradient(135deg,#78988a,#d0c6ad);background-size:cover;background-position:center}.stay-info{padding:21px 22px 23px}.stay-index{color:#8b988f;font-size:8px;font-weight:700;letter-spacing:.15em}.stay-info h3{margin:8px 0 4px;font:500 25px 'Playfair Display',Georgia,serif}.stay-info p{min-height:36px;margin:0 0 16px;color:var(--muted);font-size:10px}.stay-info a{display:inline-flex;gap:13px;padding-bottom:5px;border-bottom:1px solid #aab7ad;font-size:9px;font-weight:700}.demo-note{margin:25px 0 0;color:#89948d;font-size:9px}
.moments-section{min-height:540px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--forest);color:white}.moments-image{min-height:540px;background:linear-gradient(135deg,#547b70,#b7aa8e);background-size:cover;background-position:center}.moments-copy{align-self:center;padding:75px clamp(35px,7vw,100px)}.moments-copy h2{margin:0;font:500 clamp(42px,4.8vw,60px)/1.1 'Playfair Display',Georgia,serif}.moments-copy>p:not(.eyebrow){max-width:370px;margin:21px 0 28px;color:rgba(255,255,255,.74);font-size:11px;line-height:2}.button-outline{border:1px solid rgba(255,255,255,.72);background:transparent;color:white}
.gallery-section{padding-top:105px;padding-bottom:115px}.gallery-grid{height:390px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px}.gallery-item{background:linear-gradient(135deg,#78988a,#d0c6ad);background-size:cover;background-position:center}.closing-section{padding:100px 20px 65px;text-align:center;background:var(--forest);color:white}.closing-section h2{font-size:clamp(47px,6vw,72px)}.closing-section>p{max-width:430px;margin:18px auto 27px;color:rgba(255,255,255,.72);font-size:12px}.closing-section>small{display:block;margin-top:75px;color:rgba(255,255,255,.45);font-size:8px;letter-spacing:.18em}.site-footer{min-height:95px;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f7f6f1;color:#78857d;font-size:9px}.footer-brand{display:flex;flex-direction:column;color:var(--forest);font-size:12px;font-weight:700;letter-spacing:.15em}.footer-brand span{margin-top:3px;color:#89988e;font-size:8px}.site-footer p{margin:0}.site-footer p strong{color:var(--forest)}.back-top{font-weight:700}
@media(max-width:850px){.site-header{min-height:75px;padding:15px 5%}.menu-toggle{width:40px;height:40px;padding:10px;display:flex;flex-direction:column;justify-content:center;gap:6px;border:1px solid rgba(255,255,255,.7);background:transparent}.menu-toggle span{height:1px;width:100%;background:#fff}.main-nav{position:absolute;top:74px;left:0;right:0;padding:22px 5%;display:none;align-items:stretch;flex-direction:column;gap:17px;background:var(--forest)}.main-nav.is-open{display:flex}.nav-cta{text-align:center}.booking-card{padding:32px 28px}.intro{grid-template-columns:1fr;gap:38px;padding-top:90px;padding-bottom:95px}.intro-image{height:370px}.intro-stamp{bottom:58px;right:5%}.moments-section{grid-template-columns:1fr}.moments-image{min-height:360px}.moments-copy{padding:65px 8%}}
@media(max-width:600px){.hero{min-height:650px;height:86vh}.hero h1{font-size:clamp(48px,12.5vw,66px)}.hero-content>p:not(.eyebrow){max-width:340px;font-size:12px}.hero-bottom{font-size:7px;letter-spacing:.12em}.booking-card{width:92%;padding:27px 20px}.booking-heading h2{font-size:27px}.booking-form{grid-template-columns:1fr 1fr;gap:14px 12px}.form-wide{grid-column:1/-1}.booking-submit{align-items:stretch;flex-direction:column}.booking-submit .button{width:100%}.intro h2,.section-title-row h2{font-size:43px}.intro-image{height:300px}.intro-stamp{width:85px;height:85px;font-size:8px;bottom:55px}.section-title-row{align-items:flex-start;flex-direction:column;gap:13px}.stay-grid{grid-template-columns:1fr;gap:22px}.stay-image{height:265px}.stay-info p{min-height:0}.moments-image{min-height:285px}.moments-copy{padding:55px 7%}.gallery-grid{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:210px 150px}.gallery-large{grid-column:1/-1}.site-footer{align-items:flex-start;flex-direction:column;gap:8px}.closing-section{padding-top:75px}.closing-section>small{margin-top:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Page templates, dropdown navigation and image states */
.nav-dropdown{position:relative}.nav-parent{display:inline-flex;align-items:center;gap:7px}.nav-chevron{font-size:15px}.nav-submenu{position:absolute;top:100%;left:-18px;min-width:220px;padding:10px 0;background:#fff;color:var(--forest);box-shadow:0 15px 35px rgba(0,0,0,.16);display:none}.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu{display:block}.nav-submenu a{display:block;padding:10px 18px;font-size:11px;white-space:nowrap}.nav-submenu a:hover{background:#f3f1e9}.image-loaded{background-repeat:no-repeat;background-size:cover;background-position:center}.image-unavailable{background-color:#d9e1d9}
.page-hero{min-height:430px;padding:150px 5% 75px;display:flex;align-items:end;position:relative;overflow:hidden;background:linear-gradient(110deg,#244d46,#81998b);color:#fff}.page-hero-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,35,32,.7),rgba(10,35,32,.22));background-size:cover;background-position:center}.page-hero-content{position:relative;z-index:1;width:min(var(--content),100%);margin:0 auto}.page-hero h1{margin:0;font:500 clamp(48px,6vw,72px)/1.05 'Playfair Display',Georgia,serif}.page-hero p{max-width:560px;color:rgba(255,255,255,.82);font-size:13px}.page-section{padding:80px 0}.page-intro{max-width:720px;margin:0 auto 45px;text-align:center}.page-intro h2,.gallery-teaser h2{font:500 clamp(36px,4.5vw,52px)/1.15 'Playfair Display',Georgia,serif;margin:0 0 14px}.page-intro p,.gallery-teaser p{color:var(--muted);font-size:13px;line-height:1.9}.accommodation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.accommodation-card{background:#fff;box-shadow:0 12px 35px rgba(30,60,48,.07)}.accommodation-card-image{height:260px;background-size:cover;background-position:center}.accommodation-card-body{padding:24px}.accommodation-card h2{font:500 26px 'Playfair Display',Georgia,serif;margin:7px 0}.accommodation-card p{font-size:12px;color:var(--muted);min-height:60px}.accommodation-card a{font-size:10px;font-weight:700;border-bottom:1px solid #9aaa9f;padding-bottom:5px}.detail-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}.detail-photo{min-height:490px;background-size:cover;background-position:center}.detail-copy h2{font:500 42px 'Playfair Display',Georgia,serif;margin:0 0 15px}.detail-copy p{color:var(--muted);font-size:13px;line-height:1.9}.detail-meta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.detail-meta span{padding:8px 12px;background:var(--sand);font-size:10px;color:var(--forest)}.gallery-page-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:16px}.gallery-page-item{background-size:cover;background-position:center;background-color:#d9e1d9}.gallery-page-item.tall{grid-row:span 2}.feature-band{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:#fff}.feature-band-image{min-height:430px;background-size:cover;background-position:center}.feature-band-copy{align-self:center;padding:60px 10%}.feature-band-copy h2{font:500 clamp(38px,4.5vw,55px)/1.1 'Playfair Display',Georgia,serif;margin:0}.feature-band-copy p{max-width:400px;color:rgba(255,255,255,.76);font-size:12px;line-height:1.9;margin:20px 0 25px}.gallery-teaser{padding-top:95px;padding-bottom:95px;display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:center}.teaser-image{height:330px;background-size:cover;background-position:center;background-color:#d9e1d9}
@media(max-width:850px){.nav-dropdown{width:100%}.nav-parent{width:100%;justify-content:space-between}.nav-submenu{position:static;box-shadow:none;padding:4px 0 4px 14px;background:rgba(255,255,255,.08);color:#fff}.nav-dropdown:hover .nav-submenu{display:none}.nav-dropdown.submenu-open .nav-submenu{display:block}.nav-submenu a{white-space:normal}.accommodation-grid{grid-template-columns:1fr 1fr}.detail-layout,.gallery-teaser{grid-template-columns:1fr;gap:30px}.detail-photo{min-height:380px}.feature-band{grid-template-columns:1fr}.feature-band-image{min-height:300px}.gallery-page-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.page-hero{min-height:360px;padding-top:130px}.page-section{padding:60px 0}.accommodation-grid{grid-template-columns:1fr}.accommodation-card-image{height:250px}.detail-photo{min-height:300px}.detail-copy h2{font-size:35px}.gallery-page-grid{grid-auto-rows:190px;gap:10px}.feature-band-copy{padding:50px 7%}.gallery-teaser{padding-top:65px;padding-bottom:65px}.teaser-image{height:250px}}
