:root{--woodland:#173f32;--pine:#285b49;--fern:#708b78;--ivory:#faf7f0;--chalk:#fffdf8;--mist:#dbe9ee;--coastal:#b8d2dc;--sky:#8eb8c8;--deep-bay:#28576a;--stone:#d8cdbd;--ink:#1e2b27;--muted:#53615c;--display:"Cormorant Garamond",Georgia,serif;--body:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--wrap:min(1200px,calc(100vw - 48px));--section:clamp(4rem,8vw,8rem);--shadow:0 16px 45px rgba(23,63,50,.09)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);font-size:clamp(1rem,.96rem + .2vw,1.125rem);line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:var(--deep-bay);text-underline-offset:.2em}a:hover{color:var(--woodland)}h1,h2,h3,h4{margin:0 0 .55em;color:var(--woodland);font-family:var(--display);font-weight:500;line-height:1.04;text-wrap:balance}h1{font-size:clamp(3.25rem,2rem + 5vw,6.8rem)}h2{font-size:clamp(2.35rem,1.8rem + 2.2vw,4rem)}h3{font-size:clamp(1.65rem,1.45rem + .7vw,2.1rem)}p{margin:0 0 1.25em}.wrap{width:var(--wrap);margin-inline:auto}.narrow{max-width:760px}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:9999;left:1rem;top:1rem;padding:.75rem 1rem;background:var(--chalk);transform:translateY(-200%)}.skip-link:focus{transform:none}.kicker{margin:0 0 1rem;color:var(--deep-bay);font-size:.72rem;font-weight:700;letter-spacing:.23em;text-transform:uppercase}.button,.wp-block-button__link{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.72rem 1.2rem;border:1px solid var(--woodland);border-radius:4px;background:var(--woodland);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);color:var(--chalk);font-size:.84rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .2s,transform .2s,box-shadow .2s}.button:hover,.wp-block-button__link:hover{background:var(--pine);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 8px 20px rgba(23,63,50,.15);transform:translateY(-1px)}.button-secondary{background:transparent;color:var(--woodland)}.button-light{border-color:var(--chalk);background:var(--chalk);color:var(--woodland)}.text-link{font-size:.84rem;font-weight:700;text-decoration:none}.section,.content-section{padding-block:var(--section)}.blue-wash{background:linear-gradient(145deg,var(--mist),#eef4f3 65%,var(--ivory))}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.section-head p{max-width:650px;margin-bottom:0}
.site-header{position:relative;z-index:100;height:96px;background:rgba(250,247,240,.94);border-bottom:1px solid rgba(23,63,50,.1);backdrop-filter:blur(12px)}.header-inner{height:100%;display:flex;align-items:center;gap:2rem}.site-logo{margin-right:auto}.site-logo img{width:164px;height:auto}.menu{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem);margin:0;padding:0;list-style:none}.menu a{color:var(--ink);font-size:.78rem;font-weight:600;text-decoration:none}.menu a:hover{color:var(--deep-bay)}.header-cta{margin-left:.5rem}.menu-toggle{display:none;width:48px;height:48px;padding:12px;border:0;background:transparent}.menu-toggle span:not(.screen-reader-text){display:block;width:24px;height:2px;margin:5px auto;background:var(--woodland)}.drawer-backdrop{position:fixed;z-index:500;inset:0;background:rgba(18,34,29,.48);opacity:0;transition:opacity .25s}.drawer-backdrop.is-open{opacity:1}.mobile-drawer{position:fixed;z-index:510;inset:0 auto 0 0;width:min(88vw,390px);display:flex;flex-direction:column;padding:1.5rem;background:var(--ivory);box-shadow:var(--shadow);transform:translateX(-105%);visibility:hidden;transition:transform .3s,visibility .3s}.mobile-drawer.is-open{transform:none;visibility:visible}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:1.5rem;border-bottom:1px solid var(--stone)}.drawer-head img{width:155px}.drawer-close{width:48px;height:48px;border:0;background:transparent;color:var(--woodland);font-size:2rem}.mobile-drawer .menu{display:block;padding-block:1rem}.mobile-drawer .menu li{border-bottom:1px solid rgba(23,63,50,.1)}.mobile-drawer .menu a{display:block;padding:.85rem 0;font-family:var(--display);font-size:1.7rem}.drawer-contact{display:grid;gap:.7rem;margin-top:auto;padding-top:1.5rem}.drawer-contact>a:not(.button){font-size:.9rem}
.hero{position:relative;min-height:min(760px,calc(100svh - 48px));display:flex;align-items:center;overflow:hidden;background:var(--mist)}.hero-media{position:absolute;inset:0}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,247,240,.88) 0,rgba(250,247,240,.56) 38%,rgba(250,247,240,.06) 70%)}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-content{position:relative;z-index:1;padding-block:5rem}.hero-content>*{max-width:610px}.hero-content h1{font-size:clamp(4rem,3rem + 5vw,7.5rem)}.hero-content h1 em{font-weight:500}.hero-content p:not(.kicker){font-size:clamp(1.05rem,1rem + .3vw,1.3rem);max-width:520px}.benefit-strip{position:relative;z-index:2;margin-top:-42px}.benefit-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:1.4rem;background:rgba(255,253,248,.96);border:1px solid rgba(23,63,50,.14);border-radius:14px;box-shadow:var(--shadow)}.benefit-strip-grid div{display:grid;padding:0 1.2rem;border-right:1px solid var(--stone)}.benefit-strip-grid div:last-child{border:0}.benefit-strip-grid strong{color:var(--woodland);font-family:var(--display);font-size:1.15rem;font-weight:600}.benefit-strip-grid span{color:var(--muted);font-size:.72rem}.editorial-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);align-items:center;gap:clamp(2.5rem,7vw,7rem)}.editorial-split>div:first-child{max-width:540px}.split-image{overflow:hidden;border-radius:18px}.split-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.panorama{min-height:520px;display:flex;align-items:center;padding-block:5rem;background:linear-gradient(90deg,rgba(250,247,240,.88),rgba(250,247,240,.4) 50%,transparent),var(--panorama) center/cover}.panorama-copy{max-width:460px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.benefit-card{padding:2rem 1.5rem;background:var(--chalk);border:1px solid var(--stone);border-radius:12px;text-align:center}.benefit-card img{width:64px;height:64px;margin:0 auto 1rem;object-fit:cover;border-radius:50%}.benefit-card p{margin-bottom:0;color:var(--muted);font-size:.9rem}
.card-grid{display:grid;gap:1.2rem}.home-grid,.area-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.card{overflow:hidden;background:var(--chalk);border:1px solid rgba(23,63,50,.14);border-radius:12px;transition:transform .22s,box-shadow .22s}.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.card-media{display:block;overflow:hidden;background:var(--mist)}.home-card .card-media{aspect-ratio:4/3}.area-card .card-media{aspect-ratio:3/2}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.card:hover .card-media img{transform:scale(1.025)}.card-body{padding:1.4rem}.card-body h3{margin-top:.45rem;margin-bottom:.25rem}.card-body h3 a{color:inherit;text-decoration:none}.card-body>p:not(.kicker,.card-price){color:var(--muted);font-size:.88rem}.card-price,.listing-price{color:var(--woodland);font-weight:700}.status{display:inline-flex;padding:.28rem .5rem;border-radius:3px;background:var(--mist);color:var(--deep-bay);font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.status-reserved{background:#f1e6ce;color:#70531d}.status-sold{background:#ece8e2;color:#665e55}.empty-state{max-width:760px;margin-inline:auto;padding:clamp(2rem,6vw,5rem);border:1px solid var(--stone);border-radius:14px;background:var(--chalk);text-align:center}.empty-state.compact{padding:2rem}.pagination{margin-top:3rem}
.breadcrumbs{display:flex;gap:.5rem;padding-block:.75rem;color:var(--muted);font-size:.72rem}.breadcrumbs a{color:inherit}.page-hero{position:relative;min-height:540px;display:flex;align-items:end;overflow:hidden}.page-hero-media{position:absolute;inset:0}.page-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,38,30,.75),transparent 70%)}.page-hero-media img{width:100%;height:100%;object-fit:cover}.page-hero-content{position:relative;z-index:1;padding-block:4rem;color:#fff}.page-hero-content h1{color:#fff}.page-hero-content p{max-width:700px}.page-hero-simple{min-height:390px;align-items:center}.page-hero-simple .page-hero-content,.page-hero-simple>.wrap{padding-block:4rem}.page-hero-simple h1{color:var(--woodland)}.entry-content>*:not(.alignwide,.alignfull,[class*=acf-block]){width:min(720px,calc(100% - 48px));margin-inline:auto}.entry-content>.wp-block-image{margin-block:2rem}.prose{max-width:720px}.post-list{display:grid;gap:3rem}.post-summary{padding-bottom:2rem;border-bottom:1px solid var(--stone)}
.listing-header{display:grid;grid-template-columns:minmax(280px,.55fr) minmax(0,1.45fr);align-items:center;gap:4rem;padding-block:3rem}.listing-header h1{font-size:clamp(3rem,2rem + 3vw,5.5rem);margin-top:.5rem}.listing-featured{overflow:hidden;border-radius:18px}.listing-featured img{width:100%;aspect-ratio:16/10;object-fit:cover}.listing-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:clamp(3rem,6vw,6rem);padding-bottom:var(--section)}.listing-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 3rem;border-block:1px solid var(--stone)}.listing-facts div{padding:1.2rem 1rem;border-right:1px solid var(--stone)}.listing-facts div:nth-child(3n){border-right:0}.listing-facts dt{color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase}.listing-facts dd{margin:0;color:var(--woodland);font-family:var(--display);font-size:1.3rem}.listing-main section{margin-top:3rem}.listing-enquiry{position:sticky;top:2rem;align-self:start;padding:2rem;background:var(--mist);border:1px solid var(--coastal);border-radius:14px}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:0;list-style:none}.feature-list li{position:relative;padding-left:1.5rem}.feature-list li:before{content:"✓";position:absolute;left:0;color:var(--pine);font-weight:700}.feature-list-cards{grid-template-columns:repeat(3,1fr)}.feature-list-cards li{display:grid;padding:1.5rem;background:var(--chalk);border:1px solid var(--stone);border-radius:10px}.feature-list-cards li:before{display:none}.feature-list-cards span{color:var(--muted);font-size:.88rem}.media-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3rem}.media-gallery img{width:100%;height:100%;max-height:520px;object-fit:cover;border-radius:10px}.media-gallery img:nth-child(3n+1){grid-column:span 2;aspect-ratio:16/8}.testimonial{margin:0;padding-block:4rem;background:linear-gradient(90deg,var(--ivory) 0,rgba(250,247,240,.9) 60%,rgba(250,247,240,.2)),var(--quote-bg) right/cover}.testimonial blockquote{max-width:780px;margin:0;color:var(--woodland);font-family:var(--display);font-size:clamp(2rem,1.5rem + 2vw,3.5rem);font-style:italic;line-height:1.12}.testimonial figcaption{margin-top:1rem;color:var(--muted)}.faq-list details{padding:1.2rem 0;border-bottom:1px solid var(--stone)}.faq-list summary{cursor:pointer;color:var(--woodland);font-family:var(--display);font-size:1.45rem}.faq-list details div{padding-top:1rem}.visit-cta,.footer-visit{padding-block:3rem;background:linear-gradient(110deg,var(--woodland),#214f42);color:var(--chalk)}.visit-cta>.wrap,.footer-visit-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.visit-cta h2,.footer-visit h2{color:var(--chalk);margin-bottom:0}
.form-placeholder{padding:1rem;border:1px dashed var(--deep-bay);border-radius:6px}.form-placeholder p{margin:0}.gform_wrapper input:not([type=checkbox],[type=radio],[type=submit]),.gform_wrapper select,.gform_wrapper textarea{width:100%;min-height:48px;padding:.7rem;border:1px solid #78929a;border-radius:4px;background:var(--chalk);color:var(--ink);font:inherit}.gform_wrapper input:focus,.gform_wrapper select:focus,.gform_wrapper textarea:focus{outline:3px solid var(--sky);outline-offset:2px}.gfield_validation_message,.validation_error{color:#8b241e;font-weight:700}.gform_button{min-height:48px;padding:.7rem 1.2rem;border:0;border-radius:4px;background:var(--woodland);color:#fff;font-weight:700}
.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);gap:clamp(3rem,8vw,8rem);align-items:start}.contact-details{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--stone)}.form-panel{padding:clamp(1.5rem,4vw,3rem);background:var(--mist);border:1px solid var(--coastal);border-radius:14px}
.site-footer{padding-top:4rem;background:#11372c;color:rgba(255,255,255,.78)}.site-footer a{display:block;color:inherit;text-decoration:none}.footer-grid{display:grid;grid-template-columns:1.25fr .75fr 1fr;gap:5rem;padding-bottom:3rem}.footer-logo{filter:brightness(0) invert(1);opacity:.92}.footer-grid h2{color:#fff;font-family:var(--body);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.footer-grid .menu{display:block}.footer-grid .menu a,.footer-grid>div:last-child a{padding:.25rem 0}.footer-grid address{margin-top:.8rem;font-style:normal}.footer-base{display:flex;justify-content:space-between;padding-block:1.2rem;border-top:1px solid rgba(255,255,255,.16);font-size:.72rem}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px}@media(max-width:1000px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.benefit-grid{grid-template-columns:repeat(2,1fr)}.listing-layout{grid-template-columns:1fr}.listing-enquiry{position:static}.footer-grid{gap:2rem}}
@media(max-width:760px){:root{--wrap:min(100% - 32px,1200px);--section:4.5rem}.site-header{height:80px}.site-logo img{width:145px}.hero{min-height:680px;align-items:end}.hero-media:after{background:linear-gradient(0deg,rgba(250,247,240,.94),rgba(250,247,240,.3) 75%)}.hero-content{padding-block:3rem}.hero-content h1{font-size:clamp(3.6rem,16vw,5rem)}.benefit-strip{margin-top:0}.benefit-strip-grid{grid-template-columns:1fr 1fr;border-radius:0}.benefit-strip-grid div{padding:.8rem;border-right:0;border-bottom:1px solid var(--stone)}.editorial-split{grid-template-columns:1fr;gap:2.5rem}.home-grid,.area-grid{grid-template-columns:1fr}.benefit-grid,.feature-list-cards{grid-template-columns:1fr}.section-head{display:block}.section-head>.text-link{display:inline-block;margin-top:1rem}.panorama{min-height:560px;align-items:end;background:linear-gradient(0deg,rgba(250,247,240,.94),rgba(250,247,240,.1) 80%),var(--panorama) center/cover}.listing-header{grid-template-columns:1fr;gap:2rem}.listing-header>div:first-child{order:2}.listing-facts{grid-template-columns:1fr 1fr}.listing-facts div:nth-child(3n){border-right:1px solid var(--stone)}.listing-facts div:nth-child(2n){border-right:0}.feature-list{grid-template-columns:1fr}.media-gallery{grid-template-columns:1fr}.media-gallery img:nth-child(3n+1){grid-column:auto;aspect-ratio:auto}.contact-layout{grid-template-columns:1fr}.visit-cta>.wrap,.footer-visit-inner{display:block}.visit-cta .button,.footer-visit .button{margin-top:1.5rem}.footer-grid{grid-template-columns:1fr;gap:2.5rem}.footer-base{display:grid;gap:.5rem}.page-hero{min-height:460px}}
@media(max-width:390px){.benefit-strip-grid{grid-template-columns:1fr}.listing-facts{grid-template-columns:1fr}.listing-facts div{border-right:0!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.card:hover,.button:hover{transform:none}}

/* Refined controls, navigation and responsive layout. */
.button,.wp-block-button__link,.gform_button{box-shadow:inset 0 0 0 2px rgba(255,255,255,.24)}
.button:hover,.wp-block-button__link:hover,.gform_button:hover{box-shadow:inset 0 0 0 2px rgba(255,255,255,.32),0 8px 20px rgba(23,63,50,.15)}
.button-light{box-shadow:inset 0 0 0 2px rgba(23,63,50,.2)}
.button-light:hover{box-shadow:inset 0 0 0 2px rgba(23,63,50,.28),0 8px 20px rgba(23,63,50,.13)}
.button-secondary{box-shadow:inset 0 0 0 2px rgba(23,63,50,.22)}
.site-header{height:104px}
.site-logo img{width:176px}
.desktop-nav .menu{gap:clamp(1.05rem,1.7vw,1.9rem)}
.desktop-nav .menu a{position:relative;display:block;padding:.8rem 0;color:var(--ink);font-size:.9rem;font-weight:650;letter-spacing:.005em}
.desktop-nav .menu a:after{content:"";position:absolute;right:0;bottom:.48rem;left:0;height:2px;background:var(--deep-bay);transform:scaleX(0);transform-origin:right center;transition:transform .28s cubic-bezier(.22,.61,.36,1)}
.desktop-nav .menu a:hover:after,.desktop-nav .current-menu-item>a:after,.desktop-nav .current_page_item>a:after{transform:scaleX(1);transform-origin:left center}
.header-cta{min-width:122px;white-space:nowrap}
.feature-list li:before{content:"\2713"}

.media-slider{position:relative;width:100%;height:100%;overflow:hidden;border-radius:18px;background:var(--mist);isolation:isolate;touch-action:pan-y}
.media-slider-track,.media-slide{width:100%;height:100%;margin:0}
.media-slide[hidden]{display:none}
.media-slide img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.slider-controls{position:absolute;z-index:2;right:14px;bottom:14px;display:flex;gap:6px}
.slider-controls button{width:38px;height:38px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(255,253,248,.92);box-shadow:inset 0 0 0 1px rgba(23,63,50,.14),0 5px 14px rgba(23,63,50,.16);color:var(--woodland);cursor:pointer;transition:background-color .2s,transform .2s,box-shadow .2s}
.slider-controls button:hover{background:var(--chalk);box-shadow:inset 0 0 0 2px rgba(40,87,106,.24),0 7px 18px rgba(23,63,50,.2);transform:translateY(-1px)}
.slider-controls svg{width:15px;height:15px}
:focus-visible,.gform_wrapper input:focus,.gform_wrapper select:focus,.gform_wrapper textarea:focus{outline-color:var(--deep-bay)}

@media(max-width:1120px){
  .site-header{height:96px}
  .header-inner{gap:1.25rem}
  .site-logo img{width:158px}
  .desktop-nav .menu{gap:1rem}
  .desktop-nav .menu a{font-size:.82rem}
  .header-cta{min-width:110px;padding-inline:.85rem}
}

@media(max-width:1000px){
  .home-grid,.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  :root{--wrap:min(100% - 32px,1200px);--section:clamp(3.75rem,14vw,5rem)}
  body{font-size:1rem;line-height:1.65}
  h2{font-size:clamp(2.45rem,12vw,3.45rem)}
  h3{font-size:clamp(1.65rem,8vw,2rem)}
  .site-header{height:84px}
  .site-logo img{width:154px}
  .header-inner{gap:.75rem}
  .mobile-drawer{width:min(92vw,400px);padding:1.25rem}
  .mobile-drawer .menu a{padding:.78rem 0;font-size:1.55rem}
  .drawer-head{padding-bottom:1.1rem}
  .drawer-contact{padding-top:1rem}
  .hero{min-height:min(690px,calc(100svh - 32px));align-items:end}
  .hero-media img{object-position:56% center}
  .hero-media:after{background:linear-gradient(0deg,rgba(250,247,240,.96) 0,rgba(250,247,240,.75) 37%,rgba(250,247,240,.14) 76%)}
  .hero-content{padding-block:2.75rem}
  .hero-content h1{font-size:clamp(3.55rem,16vw,4.75rem);line-height:.96}
  .hero-content p:not(.kicker){font-size:1.05rem;line-height:1.55}
  .hero-content .button{width:auto;min-width:145px}
  .benefit-strip{margin-top:0;padding:1rem 0;background:var(--chalk);overflow:hidden}
  .benefit-strip .wrap{width:100%}
  .benefit-strip-grid{display:flex;gap:.7rem;overflow-x:auto;padding:0 1rem;border:0;border-radius:0;background:transparent;box-shadow:none;scroll-padding-inline:1rem;scroll-snap-type:x proximity;scrollbar-width:none}
  .benefit-strip-grid::-webkit-scrollbar{display:none}
  .benefit-strip-grid div{flex:0 0 min(72vw,250px);min-height:88px;align-content:center;padding:1rem 1.1rem;border:1px solid rgba(23,63,50,.13)!important;border-radius:10px;background:var(--ivory);scroll-snap-align:start}
  .benefit-strip-grid strong{font-size:1.1rem}
  .welcome-section{padding-top:4rem}
  .editorial-split{grid-template-columns:minmax(0,1fr);gap:2.25rem}
  .editorial-split>div:first-child{max-width:none}
  .split-image,.media-slider{border-radius:14px}
  .slider-controls{right:11px;bottom:11px}
  .slider-controls button{width:42px;height:42px}
  .panorama{min-height:520px;padding-block:3.5rem;align-items:end;background:linear-gradient(0deg,rgba(250,247,240,.96) 0,rgba(250,247,240,.73) 45%,rgba(250,247,240,.05) 88%),var(--panorama) 58% center/cover}
  .panorama-copy{max-width:100%}
  .section-head{margin-bottom:1.75rem}
  .home-grid,.area-grid{grid-template-columns:1fr}
  .home-main .area-grid{width:100%;display:flex;gap:1rem;overflow-x:auto;padding:0 0 .75rem;scroll-padding-right:1rem;scroll-snap-type:x mandatory;scrollbar-width:none}
  .home-main .area-grid::-webkit-scrollbar{display:none}
  .home-main .area-card{flex:0 0 min(82vw,330px);scroll-snap-align:start}
  .card-body{padding:1.25rem}
  .page-hero{min-height:430px}
  .page-hero-content{padding-block:3rem}
  .page-hero-simple{min-height:320px}
  .listing-header{gap:1.75rem;padding-block:2rem}
  .listing-header h1{font-size:clamp(3rem,15vw,4.4rem)}
  .listing-facts div{padding:1rem .75rem}
  .listing-enquiry{padding:1.4rem}
  .contact-layout{gap:2.5rem}
  .form-panel{padding:1.25rem}
  .visit-cta,.footer-visit{padding-block:2.5rem}
  .visit-cta h2,.footer-visit h2{font-size:2.6rem}
  .visit-cta .button,.footer-visit .button{width:100%}
  .site-footer{padding-top:3rem}
  .footer-grid{gap:2rem;padding-bottom:2.5rem}
  .footer-base{padding-block:1rem}
}

@media(max-width:420px){
  :root{--wrap:min(100% - 24px,1200px)}
  .site-header{height:78px}
  .site-logo img{width:144px}
  .menu-toggle{width:44px;height:44px;padding:10px}
  .hero{min-height:640px}
  .hero-content{padding-block:2.35rem}
  .hero-content h1{font-size:clamp(3.25rem,16.8vw,4.2rem)}
  .benefit-strip-grid{padding-left:12px}
  .benefit-strip-grid div{flex-basis:78vw}
  .home-main .area-card{flex-basis:80vw}
  .listing-facts{grid-template-columns:1fr}
  .listing-facts div{border-right:0!important}
}

@media(prefers-reduced-motion:reduce){
  .desktop-nav .menu a:after{transition:none}
  .slider-controls button:hover{transform:none}
}

/* Page photography and full-screen gallery. */
.page-hero.has-image .page-hero-media:after{background:linear-gradient(90deg,rgba(13,38,30,.72) 0,rgba(13,38,30,.35) 52%,rgba(13,38,30,.08) 78%),linear-gradient(0deg,rgba(13,38,30,.48),transparent 58%)}
.page-hero.has-image .page-hero-content{max-width:none}
.page-hero.has-image .page-hero-content>*{max-width:760px}
.page-hero.has-image .page-hero-content.narrow>*{max-width:680px}
.page-hero.has-image .kicker{color:#d7e9ef}

.gallery-showcase{position:relative;overflow:hidden;background:var(--woodland);isolation:isolate}
.gallery-showcase .media-slider{height:clamp(620px,calc(100svh - 104px),880px);border-radius:0;background:var(--woodland)}
.media-slider--showcase:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(10,31,25,.7) 0,rgba(10,31,25,.24) 50%,rgba(10,31,25,.02) 75%),linear-gradient(0deg,rgba(10,31,25,.5),transparent 55%);pointer-events:none}
.media-slider--showcase .media-slide img{height:100%;aspect-ratio:auto;object-fit:cover}
.media-slider--showcase .media-slide:not([hidden]) img{animation:gallery-reveal .7s cubic-bezier(.22,.61,.36,1)}
.gallery-showcase-copy{position:absolute;z-index:2;right:0;bottom:clamp(3.5rem,7vw,6.5rem);left:0;color:#fff;pointer-events:none}
.gallery-showcase-copy h1{max-width:760px;margin-bottom:.15em;color:#fff;font-size:clamp(5rem,3rem + 5vw,8.5rem)}
.gallery-showcase-copy>p:not(.kicker){max-width:650px;margin:0;font-size:clamp(1.05rem,1rem + .35vw,1.35rem);line-height:1.55}
.gallery-showcase-copy .kicker{color:#d7e9ef}
.media-slider--showcase .slider-controls{z-index:3;right:max(24px,calc((100vw - 1200px)/2));bottom:3.5rem}
.media-slider--showcase .slider-controls button{width:48px;height:48px;background:rgba(255,253,248,.94)}
.slider-count{position:absolute;z-index:3;right:max(134px,calc((100vw - 980px)/2));bottom:3.85rem;margin:0;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.14em}
.slide-caption{position:absolute;z-index:2;top:2rem;right:max(24px,calc((100vw - 1200px)/2));max-width:280px;padding:.55rem .75rem;border:1px solid rgba(255,255,255,.28);border-radius:4px;background:rgba(13,38,30,.42);color:#fff;font-size:.75rem;letter-spacing:.04em;backdrop-filter:blur(7px)}
.gallery-intro{text-align:center}
.gallery-intro p{font-size:clamp(1.05rem,1rem + .25vw,1.25rem)}
@keyframes gallery-reveal{from{opacity:.45;transform:scale(1.018)}to{opacity:1;transform:scale(1)}}

@media(max-width:760px){
  .page-hero.has-image .page-hero-media:after{background:linear-gradient(0deg,rgba(13,38,30,.78) 0,rgba(13,38,30,.25) 68%,rgba(13,38,30,.06))}
  .page-hero.has-image .page-hero-content{padding-block:2.75rem}
  .gallery-showcase .media-slider{height:clamp(560px,76svh,690px)}
  .media-slider--showcase:after{background:linear-gradient(0deg,rgba(10,31,25,.78) 0,rgba(10,31,25,.22) 58%,rgba(10,31,25,.02) 82%)}
  .gallery-showcase-copy{bottom:7rem}
  .gallery-showcase-copy h1{font-size:clamp(4rem,19vw,5.2rem)}
  .gallery-showcase-copy>p:not(.kicker){max-width:315px;font-size:1rem}
  .media-slider--showcase .slider-controls{right:16px;bottom:1.25rem}
  .media-slider--showcase .slider-controls button{width:46px;height:46px}
  .slider-count{right:128px;bottom:1.72rem}
  .slide-caption{display:none}
}

@media(prefers-reduced-motion:reduce){
  .media-slider--showcase .media-slide:not([hidden]) img{animation:none}
}

.demo-notice{padding:1rem 1.1rem;border:1px solid var(--coastal);border-left:4px solid var(--deep-bay);border-radius:6px;background:var(--mist);color:var(--ink);font-size:.9rem}

.site-main>.entry-content{padding-block:var(--section)}

.gallery-grid-section{background:linear-gradient(145deg,var(--mist),#eef4f3 65%,var(--ivory))}
.gallery-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.gallery-grid-item{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;border-radius:5px;background:var(--coastal)}
.gallery-grid-item img{width:100%;height:100%;object-fit:cover;transition:filter .3s,transform .45s cubic-bezier(.22,.61,.36,1)}
.gallery-grid-item:after{content:"+";position:absolute;right:10px;bottom:10px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(255,253,248,.92);box-shadow:0 4px 12px rgba(13,38,30,.18);color:var(--woodland);font-size:1.25rem;line-height:1;opacity:0;transform:translateY(5px);transition:opacity .22s,transform .22s}
.gallery-grid-item:hover img{filter:brightness(.86);transform:scale(1.035)}
.gallery-grid-item:hover:after,.gallery-grid-item:focus-visible:after{opacity:1;transform:none}
body.lightbox-open{overflow:hidden}
.gallery-lightbox[hidden]{display:none}
.gallery-lightbox{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:4rem 6rem;background:rgba(7,20,16,.96);color:#fff;overscroll-behavior:contain}
.lightbox-figure{max-width:min(1500px,calc(100vw - 180px));max-height:calc(100svh - 100px);display:grid;justify-items:center;gap:.75rem;margin:0;touch-action:none}
.lightbox-figure img{max-width:100%;max-height:calc(100svh - 150px);width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 18px 60px rgba(0,0,0,.34);cursor:ew-resize}
.lightbox-figure figcaption{max-width:760px;min-height:1.4em;color:rgba(255,255,255,.82);font-size:.78rem;text-align:center}
.lightbox-close,.lightbox-nav{position:absolute;z-index:2;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(255,253,248,.94);box-shadow:inset 0 0 0 2px rgba(23,63,50,.18),0 7px 24px rgba(0,0,0,.24);color:var(--woodland);cursor:pointer;transition:background-color .2s,transform .2s}
.lightbox-close:hover,.lightbox-nav:hover{background:#fff;transform:scale(1.04)}
.lightbox-close{top:20px;right:20px;width:48px;height:48px;font-size:2rem;font-weight:300}
.lightbox-nav{top:50%;width:54px;height:54px;font-size:1.2rem;transform:translateY(-50%)}
.lightbox-nav:hover{transform:translateY(-50%) scale(1.04)}
.lightbox-previous{left:24px}.lightbox-next{right:24px}
.lightbox-count{position:absolute;right:0;bottom:1.25rem;left:0;margin:0;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-align:center}

@media(max-width:1000px){
  .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:760px){
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gallery-grid-item{border-radius:4px}
  .gallery-grid-item:after{right:7px;bottom:7px;width:30px;height:30px;opacity:.92;transform:none;font-size:1.1rem}
  .gallery-lightbox{padding:3.75rem 12px 5rem}
  .lightbox-figure{max-width:100%;max-height:calc(100svh - 120px);gap:.55rem}
  .lightbox-figure img{max-height:calc(100svh - 175px);border-radius:3px}
  .lightbox-figure figcaption{padding-inline:1rem;font-size:.72rem}
  .lightbox-close{top:12px;right:12px;width:46px;height:46px}
  .lightbox-nav{top:auto;bottom:12px;width:48px;height:48px;transform:none}
  .lightbox-nav:hover{transform:scale(1.04)}
  .lightbox-previous{left:12px}.lightbox-next{right:12px}
  .lightbox-count{bottom:1.55rem}
}

@media(prefers-reduced-motion:reduce){
  .gallery-grid-item img,.gallery-grid-item:after{transition:none}
  .gallery-grid-item:hover img{transform:none}
}

/* ACF-managed listing content and Gravity Forms. */
.listing-summary{max-width:560px;margin-top:1rem;color:var(--muted);font-size:1rem;line-height:1.7}
.listing-download{margin-top:2rem}
.form-panel>h2{margin-bottom:.35em}
.form-panel .gform_wrapper{margin-top:1.5rem}
.gform_wrapper .gform_fields{row-gap:1.25rem}
.gform_wrapper .gfield_label{display:inline-block;margin-bottom:.45rem;color:var(--woodland);font-size:.78rem;font-weight:700;letter-spacing:.035em}
.gform_wrapper .gfield_required{margin-left:.2rem;color:#8b241e}
.gform_wrapper .gfield_description{padding-top:.45rem;color:var(--muted);font-size:.74rem;line-height:1.55}
.gform_wrapper input:not([type=checkbox],[type=radio],[type=submit]),
.gform_wrapper select,
.gform_wrapper textarea{border:1px solid #6f898f;border-radius:6px;background:#fff;box-shadow:inset 0 1px 2px rgba(23,63,50,.06);transition:border-color .18s,box-shadow .18s}
.gform_wrapper input:not([type=checkbox],[type=radio],[type=submit]):hover,
.gform_wrapper select:hover,
.gform_wrapper textarea:hover{border-color:var(--deep-bay)}
.gform_wrapper textarea{min-height:150px;resize:vertical}
.gform_wrapper .ginput_container_consent{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.75rem}
.gform_wrapper .ginput_container_consent input{width:20px;height:20px;margin-top:.15rem;accent-color:var(--woodland)}
.gform_wrapper .ginput_container_consent label{color:var(--ink);font-size:.78rem;line-height:1.55}
.gform_wrapper .gform_footer{margin-top:1.5rem;padding:0}
.gform_wrapper .gform_button{width:auto;min-width:170px;padding:.85rem 1.4rem;cursor:pointer;transition:background-color .2s,box-shadow .2s,transform .2s}
.gform_wrapper .gform_button:hover{background:var(--pine);transform:translateY(-1px)}
.gform_wrapper .gform_button:disabled{cursor:wait;opacity:.68;transform:none}
.gform_wrapper .gform_ajax_spinner{width:24px;height:24px;margin-left:.75rem;vertical-align:middle}
.gform_wrapper .gform_validation_errors{margin-bottom:1.5rem;padding:1rem;border:1px solid #b55a52;border-left-width:4px;border-radius:6px;background:#fff5f3;color:#72211c}
.gform_wrapper .gform_validation_errors h2{margin:0;color:inherit;font-family:var(--body);font-size:.82rem;line-height:1.5}
.gform_wrapper .gfield_error input:not([type=checkbox],[type=radio],[type=submit]),
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea{border-color:#9a312a}
.gform_wrapper .gfield_validation_message,.validation_error{margin-top:.4rem;color:#84251f;font-size:.75rem;font-weight:700}
.gform_confirmation_wrapper{padding:1.5rem;border:1px solid var(--coastal);border-left:4px solid var(--pine);border-radius:8px;background:#f3f8f6;color:var(--woodland)}
.gform_confirmation_wrapper p:last-child{margin-bottom:0}

@media(max-width:760px){
  .form-panel .gform_wrapper{margin-top:1.25rem}
  .gform_wrapper .gform_button{width:100%}
  .listing-summary{font-size:.95rem}
}
