:root{--ink:#18322e;--green:#173c37;--green-2:#2f5b50;--cream:#f5f0e5;--sand:#e7dcc8;--gold:#b88f52;--white:#fff;--max:1200px;--shadow:0 18px 50px rgba(21,45,41,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Segoe UI",Arial,sans-serif;line-height:1.7}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:fixed;top:-100px;left:1rem;z-index:1000;background:#fff;padding:.75rem 1rem}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:relative;z-index:50;background:#dfdcc8;border-bottom:1px solid rgba(24,50,46,.12)}.header-inner{max-width:1400px;margin:auto;min-height:176px;padding:8px 4vw;display:flex;align-items:center;gap:2rem}.brand{width:330px;flex:0 0 auto}.brand img{width:100%;height:auto}.site-nav{display:flex;gap:clamp(.8rem,2vw,2rem);margin-left:auto;align-items:center}.site-nav a{text-decoration:none;text-transform:uppercase;font-size:.77rem;font-weight:700;letter-spacing:.11em;padding:.55rem 0;position:relative}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:.25rem;height:2px;background:var(--gold);transition:right .25s}.site-nav a:hover:after,.site-nav a.active:after{right:0}.header-phone{white-space:nowrap;text-decoration:none;font-weight:700;color:var(--green);border-left:1px solid rgba(24,50,46,.18);padding-left:1.5rem}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px;padding:10px}.menu-toggle span:not(.sr-only){display:block;height:2px;background:var(--green);margin:5px}
.hero-slider{position:relative;height:min(75vh,760px);min-height:560px;overflow:hidden;color:#fff;background:var(--green)}.hero-slide{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity 1.2s ease,transform 7s ease}.hero-slide img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}.hero-slide.active{opacity:1;transform:scale(1)}.hero-overlay{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(8,31,27,.75),rgba(8,31,27,.4) 52%,rgba(8,31,27,.14))}.hero-content{position:relative;z-index:2;max-width:1400px;margin:auto;padding:clamp(5rem,12vh,9rem) 6vw}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:800;color:var(--gold);margin:0 0 1rem}.hero-content .eyebrow,.page-hero .eyebrow,.location-banner .eyebrow,.cta-band .eyebrow{color:#efd6ad}.hero-content h1,.page-hero h1,.simple-header h1{font-family:Georgia,serif;font-weight:400;line-height:.98;margin:0;font-size:clamp(3.2rem,7vw,6.6rem);letter-spacing:-.04em}.hero-tagline{font-family:Georgia,serif;font-size:clamp(1.2rem,2.2vw,1.85rem);max-width:650px;margin:1.4rem 0 2rem}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.85rem 1.4rem;border:1px solid transparent;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:800;cursor:pointer}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:var(--green-2)}.button-ghost{border-color:#fff;color:#fff;background:rgba(255,255,255,.06)}.button-ghost:hover,.button-light{background:#fff;color:var(--green)}.slider-controls{position:absolute;z-index:4;left:6vw;bottom:2rem;display:flex;gap:.65rem}.slider-controls button{width:34px;height:3px;border:0;background:rgba(255,255,255,.45);padding:0;cursor:pointer}.slider-controls button.active{background:#fff}
.section-pad{padding:clamp(4rem,8vw,7rem) 5vw}.narrow{max-width:850px;margin:auto}.text-centre{text-align:center}.section-heading{max-width:760px;margin:0 auto 3rem;text-align:center}.section-heading.compact{margin-bottom:2rem}.section-heading h2,.intro h2,.split-copy h2,.location-banner h2,.accommodation-copy h2,.contact-details h2,.form-card h2,.content-with-aside h2,.simple-header h1,.prose h2,.not-found h1{font-family:Georgia,serif;font-weight:400;line-height:1.15;font-size:clamp(2.2rem,4vw,4rem);margin:.2rem 0 1.25rem}.lead{font-family:Georgia,serif;font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.65}.muted-bg{background:var(--cream)}
.stay-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.stay-card{background:#fff;box-shadow:var(--shadow);overflow:hidden}.stay-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}.stay-card:hover img{transform:scale(1.025)}.stay-card-content{padding:1.8rem}.stay-card h3,.amenity-grid h3,.two-col-cards h3,.attraction-list h3,.split-copy h3{font-family:Georgia,serif;font-size:1.55rem;margin:.1rem 0 .8rem}.card-meta{color:var(--gold);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:800}.text-link{font-weight:800;text-decoration:none;color:var(--green)}.text-link:hover{text-decoration:underline}
.split-feature{max-width:1400px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,7vw,7rem);align-items:center}.split-images{position:relative;padding:0 12% 12% 0}.split-images img{display:block;aspect-ratio:4/3;object-fit:cover;height:auto}.image-main{width:100%;box-shadow:var(--shadow)}.image-float{position:absolute;right:0;bottom:0;width:42%;border:8px solid #fff;box-shadow:var(--shadow)}.split-copy h3{margin-top:1.7rem}.location-banner{min-height:460px;padding:6rem 8vw;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(16,57,50,.94),rgba(16,57,50,.62)),url('../images/outside/naturepond3.webp') center/cover}.location-banner>div{max-width:680px}.location-banner h2{font-size:clamp(2.4rem,5vw,4.8rem)}
.page-hero{min-height:440px;padding:7rem 6vw;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(0deg,rgba(9,32,28,.73),rgba(9,32,28,.2)),var(--page-hero) center/cover}.page-hero>div{max-width:900px}.page-hero p:last-child{font-family:Georgia,serif;font-size:1.35rem}.anchor-nav{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:2rem;padding:1rem;background:#fff;box-shadow:0 4px 15px rgba(0,0,0,.08);overflow-x:auto}.anchor-nav a{white-space:nowrap;text-decoration:none;text-transform:uppercase;font-size:.73rem;letter-spacing:.1em;font-weight:800}.accommodation-section{max-width:1400px;margin:auto;scroll-margin-top:70px}.accommodation-section:nth-of-type(odd){background:#fbfaf7;max-width:none;padding-left:max(5vw,calc((100vw - 1400px)/2 + 5vw));padding-right:max(5vw,calc((100vw - 1400px)/2 + 5vw))}.accommodation-intro{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(2rem,6vw,6rem);margin-bottom:3rem}.accommodation-intro.reverse .accommodation-image{order:2}.accommodation-image img{width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow)}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.2rem;list-style:none;padding:0;margin:1.5rem 0}.feature-list li:before{content:"✓";color:var(--gold);font-weight:900;margin-right:.55rem}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}.gallery-item{border:0;padding:0;overflow:hidden;background:#ddd;cursor:zoom-in}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s}.gallery-item:hover img,.gallery-item:focus img{transform:scale(1.04)}.lightbox{width:min(92vw,1100px);padding:0;border:0;background:#111;box-shadow:0 20px 70px rgba(0,0,0,.5)}.lightbox::backdrop{background:rgba(4,15,13,.88)}.lightbox img{max-height:88vh;width:100%;object-fit:contain}.lightbox-close{position:absolute;right:.5rem;top:.25rem;z-index:2;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:2rem;width:44px;height:44px;cursor:pointer}.amenity-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.amenity-grid article{background:#fff}.amenity-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.amenity-grid article>div{padding:1.5rem}
.highlight-grid,.two-col-cards{max-width:var(--max);margin:3rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}.highlight-grid article,.two-col-cards article{padding:2rem;border:1px solid var(--sand);background:#fff}.highlight-grid span{font-family:Georgia,serif;font-size:2rem;color:var(--gold)}.two-col-cards{grid-template-columns:1fr 1fr}.attraction-list{max-width:1000px;margin:auto}.attraction-list article{display:grid;grid-template-columns:70px 1fr;gap:1.5rem;padding:2rem 0;border-top:1px solid var(--sand)}.attraction-list .number{font-family:Georgia,serif;font-size:2rem;color:var(--gold)}.attraction-list h3{margin-top:0}.cta-band{padding:3.5rem 7vw;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:2rem}.cta-band h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.7rem);margin:0}
.content-with-aside,.contact-layout{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(3rem,7vw,7rem);align-items:start}.season-list{list-style:none;padding:0;margin:2rem 0;border-top:1px solid var(--sand)}.season-list li{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--sand)}.small-print{font-size:.9rem;color:#53645f}.contact-panel{background:var(--cream);padding:clamp(2rem,4vw,3.5rem);display:flex;flex-direction:column;align-items:flex-start}.contact-panel h2{font-size:2.5rem}.panel-phone{font-family:Georgia,serif;font-size:2rem;text-decoration:none;margin:.5rem 0}.contact-panel .button{margin-top:1.5rem}.contact-details dl{margin:2rem 0}.contact-details dl div{padding:1rem 0;border-top:1px solid var(--sand)}.contact-details dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:var(--gold)}.contact-details dd{margin:.25rem 0 0;font-size:1.05rem}
.form-card{background:var(--cream);padding:clamp(1.5rem,4vw,3rem)}.form-card h2{font-size:2.6rem}.enquiry-form label{display:block;font-weight:700;font-size:.9rem;margin:1rem 0 .35rem}.enquiry-form input,.enquiry-form textarea{width:100%;font:inherit;padding:.8rem;border:1px solid #bcb6a9;background:#fff;border-radius:0}.enquiry-form input:focus,.enquiry-form textarea:focus{outline:3px solid rgba(184,143,82,.25);border-color:var(--gold)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.consent{display:flex!important;gap:.6rem;align-items:flex-start;font-weight:400!important}.consent input{width:auto;margin-top:.35rem}.honeypot{position:absolute;left:-9999px}.form-message{padding:1rem;margin:0 0 1.5rem}.form-message.success{background:#dceadf;color:#174225}.form-message.error{background:#f4dedd;color:#6b2222}
.simple-header{background:var(--cream);padding:5rem 5vw;text-align:center}.prose{max-width:780px;margin:auto}.prose h2{font-size:2rem;margin-top:2.5rem}.not-found{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5rem}.reviews-band{padding:4rem 5vw;background:#fff}.site-footer{background:#102d29;color:#e9eee9;padding:4rem 5vw 1.5rem}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:4rem}.footer-logo{width:360px;mix-blend-mode:screen}.footer-grid h2{font-family:Georgia,serif;font-size:1.3rem;color:#efd6ad}.footer-grid a{display:block;color:#fff;text-decoration:none;margin:.45rem 0}.footer-grid a:hover{text-decoration:underline}.footer-grid address{font-style:normal;margin-bottom:1rem}.footer-base{max-width:var(--max);margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;font-size:.85rem}.footer-base p{margin:0}.footer-base p:last-child{text-align:right}.footer-base a{color:#fff}.gingerweb-credit{display:block;justify-self:center;line-height:0}.gingerweb-credit img{width:120px;height:26px;max-width:none}
@media(max-width:1050px){.header-inner{min-height:158px}.brand{width:265px}.header-phone{display:none}.site-nav{gap:1.1rem}.stay-grid{grid-template-columns:1fr 1fr}.stay-card:last-child{grid-column:1/-1;max-width:560px;justify-self:center}.gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.header-inner{min-height:148px;justify-content:space-between;padding:7px 5vw}.brand{width:235px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#dfdcc8;padding:1rem 5vw 1.5rem;flex-direction:column;align-items:stretch;box-shadow:0 12px 25px rgba(0,0,0,.15)}.site-nav.open{display:flex}.site-nav a{font-size:.85rem;padding:.65rem 0}.hero-slider{height:72vh;min-height:570px}.hero-content{padding-top:7rem}.hero-overlay{background:linear-gradient(0deg,rgba(8,31,27,.82),rgba(8,31,27,.35))}.split-feature,.accommodation-intro,.content-with-aside,.contact-layout{grid-template-columns:1fr}.accommodation-intro.reverse .accommodation-image{order:0}.amenity-grid,.highlight-grid{grid-template-columns:1fr}.two-col-cards{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.anchor-nav{justify-content:flex-start}.cta-band{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-logo{width:300px}.page-hero{min-height:390px;padding-bottom:4rem}}
@media(max-width:560px){.hero-content h1{font-size:3.25rem}.hero-actions{display:grid}.stay-grid{grid-template-columns:1fr}.stay-card:last-child{grid-column:auto}.gallery{gap:.35rem}.gallery-item img{aspect-ratio:1/1}.feature-list{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-grid>div:first-child{grid-column:auto}.footer-logo{width:280px}.footer-base{grid-template-columns:1fr;text-align:center}.footer-base p:last-child{text-align:center}.season-list li{display:block}.season-list span{display:block}.header-inner{min-height:132px}.brand{width:205px}.page-hero h1{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-slide{transform:none}}
