/* Botanical, paper-and-forest art direction inspired by the supplied mockup. */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--green:#233d20;--ink:#243b28;--cream:#f7f0df;--gold:#96723d;--line:#dcd2b9}
body{background-color:var(--cream);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%237e6b43' opacity='.065' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");overflow-x:clip}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif}h2{font-size:clamp(42px,4.7vw,66px);letter-spacing:-1.8px}p{color:#616752}em{color:#66723c}.button{border-radius:100px;padding:15px 27px}.header{position:absolute;inset:0 0 auto;z-index:5;color:#fff9e7;background:linear-gradient(#1025169c,transparent);height:114px;padding:0 6%}.header nav{font-size:12px;gap:26px}.header nav a{color:#fff9e7}.header .button{border-color:#c7cbaa;background:#253f24bb;padding:12px 24px}.header .brand img{width:58px;height:58px}.brand small{letter-spacing:3.6px}.hero{height:740px;min-height:0}.hero-image{object-position:center 58%}.hero:after{background:linear-gradient(90deg,#102411b8 0%,#10241169 44%,#10241105 75%),linear-gradient(0deg,#142912c4,transparent 40%)}.hero-content{padding:190px 8% 0;position:relative;z-index:1}.hero h1{font-size:clamp(58px,6.4vw,94px);line-height:.99;max-width:920px;letter-spacing:-2.4px}.hero h1 em{color:#f1e6bf}.hero-description{font-size:15px;margin:25px 0 29px;color:#fff9e7}.hero .eyebrow{letter-spacing:3.2px;font-size:10px}.hero .cream{background:#fbf1d8}.hero-story{color:#fff8e9}.hero-bottom{bottom:80px;left:8%;right:8%;font-size:8px}.hero-bottom>span:nth-child(2){display:none}.nature-stamp{right:9%;top:245px;font:italic 24px Georgia;letter-spacing:0;line-height:1.3}.nature-stamp span{font:italic 35px Georgia}.hero:before{content:'';position:absolute;left:-65px;bottom:-45px;width:210px;height:340px;background:url('botanical.svg') center/contain no-repeat;z-index:2;pointer-events:none;transform:rotate(20deg)}.booking-wrap{padding:0 8%;margin-top:-48px;z-index:3;background:linear-gradient(transparent 48px,#142b17 48px)}.booking-bar{position:relative;max-width:1230px;margin:auto;padding:26px 32px;border:1px solid #d7cba8;border-radius:16px 5px 18px 8px;background:#f7ecd3;box-shadow:0 12px 35px #081a1733;gap:24px;min-height:112px}.booking-intro h2{font-size:25px}.booking-bar label{border-color:#d9c9a7;flex:1}.booking-bar input,.booking-bar select{width:100%;min-width:100px;font-size:12px}.booking-bar .button{white-space:nowrap}.nature-values{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:0;background:radial-gradient(ellipse at 50% 0,#304528,#102713 75%);color:#ecdfb7;padding:47px 8% 44px;isolation:isolate}.nature-values:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:15px;background:var(--cream);clip-path:polygon(0 60%,4% 32%,9% 65%,14% 41%,20% 70%,28% 45%,34% 78%,42% 30%,48% 70%,55% 35%,62% 65%,70% 40%,77% 72%,86% 45%,92% 70%,100% 30%,100% 100%,0 100%)}.nature-values a{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding:0 15px}.nature-values a+a{border-left:1px solid #ced1a22b}.nature-values svg{width:38px;height:38px;margin-bottom:12px;transition:transform .2s}.nature-values a:hover svg{transform:translateY(-4px)}.nature-values strong{font-size:12px;font-weight:500;color:#fff1d3}.nature-values span{font-size:9px;margin-top:3px;color:#b7c3a4}.stay{max-width:1400px;padding:75px 8% 50px;gap:70px;position:relative}.stay:after,.food:before{content:'';position:absolute;pointer-events:none;background:url('botanical.svg') center/contain no-repeat;width:170px;height:280px;z-index:2}.stay:after{right:-60px;top:60px;transform:rotate(190deg);opacity:.8}.stay-photo{height:475px;border-radius:8px 110px 9px 8px;overflow:hidden;box-shadow:0 18px 40px #34341c18}.stay-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#12281b91);pointer-events:none}.photo-note{z-index:1;font-size:17px}.photo-number{border-radius:100px;background:#f6edd8e8}.stay-copy{position:relative;z-index:2}.stay-copy .eyebrow{margin-bottom:18px}.stay-copy>p:not(.eyebrow):not(.small-note){font-size:14px}.text-link{background:var(--green);color:#fcf4df;border:0;border-radius:100px;padding:12px 23px;font-size:12px;align-items:center;transition:background .2s}.text-link:hover{background:#486039}.stay-features{font-size:11px}.food{position:relative;max-width:1176px;margin:15px auto 75px;grid-template-columns:.9fr 1.1fr;background:transparent;gap:40px;min-height:450px}.food:before{left:-130px;bottom:-50px;transform:rotate(25deg);opacity:.85}.food-copy{padding:50px 25px 40px 45px}.food-image{height:465px;align-self:center}.food-image img{border-radius:140px 12px 80px 18px;box-shadow:0 16px 32px #413c211a}.food-badge{top:10px;right:10px;width:105px;height:105px;background:#eee1bc;border:1px dashed #a78a52;box-shadow:0 0 0 7px #f4e8c7;transform:rotate(10deg)}.food-footnote{font-size:19px;color:#847046}.experiences{position:relative;background:linear-gradient(#e8eadbd9,#edf0e5ed),url('images/optimised/camp-lake.webp') center/cover;padding:70px 8% 60px;border-radius:50% 50% 0 0 / 3% 3% 0 0}.experience-grid{gap:25px}.experience-card{border-radius:110px 110px 14px 14px;height:440px;box-shadow:0 15px 26px #213c2117}.experience-card:nth-child(2){margin-top:30px}.experience-card:nth-child(3){border-radius:14px 110px 14px 14px}.card-top{top:42px;left:0;right:0;text-align:center}.experience-card h3{font-size:34px}.experience-card.trail img{width:205%;height:100%;object-fit:fill}.experience-note{margin-top:30px}.intro{padding-top:75px;padding-bottom:65px;grid-template-columns:1fr 3fr}.intro h2{font-size:49px}.intro-copy{font-size:13px}.intro .muted{color:#829065}.gallery{padding-bottom:70px}.gallery h2{font-size:51px}.gallery-item{border:7px solid #fff9e9;box-shadow:0 7px 18px #37372212;transform:rotate(-2deg);border-radius:3px}.gallery-item:nth-child(even){transform:rotate(2deg)}.escape-banner{padding:83px 20px 90px}.escape-banner:after{background:linear-gradient(#152a1966,#0d2414cb)}.escape-banner h2{font-size:64px;margin-bottom:22px}.escape-banner em{color:#eee4c2}.escape-reasons{display:flex;justify-content:center;gap:35px;margin:0 auto 32px;font-size:11px;color:#f2e6ca}.escape-reasons span:before{content:'✧';margin-right:9px;color:#d9c489}.plan{padding-top:80px;padding-bottom:80px}.enquiry-form{background:#efe6d0;border:1px solid #dfd3b6;border-radius:22px 4px 22px 4px;box-shadow:0 15px 40px #42401c0a}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{background:#fcf8ed;border-color:#ddd2b9;border-radius:6px}footer{background:radial-gradient(ellipse at 90% 100%,#31452a,#102716 65%);position:relative;overflow:hidden}footer:after{content:'';position:absolute;right:-60px;bottom:-115px;width:190px;height:290px;background:url('botanical.svg') center/contain no-repeat;transform:rotate(-35deg);opacity:.4;pointer-events:none}.footer-top,.footer-bottom{position:relative;z-index:1}
@media(min-width:1500px){.hero{height:820px}.hero-content{padding-top:225px}.nature-stamp{top:300px}.hero-bottom{bottom:90px}}
@media(max-width:1100px){.header nav{gap:15px}.header{padding:0 4%}.booking-wrap{padding:0 6%}.booking-bar{gap:18px;padding:25px}.booking-intro{display:none}.stay{gap:40px;padding-left:6%;padding-right:6%}.food{margin-left:6%;margin-right:6%;gap:25px}.food-copy{padding-left:15px}.nature-values{padding-left:5%;padding-right:5%}.nature-values a{padding:0 8px}.nature-values span{font-size:8px}.stay:after{right:-100px}.experience-card h3{font-size:29px}}
@media(max-width:760px){.header{position:absolute;height:88px;padding:0 6%;gap:12px}.header .brand img{width:43px;height:43px}.header .brand>span{font-size:23px}.header .brand small{letter-spacing:2.7px}.header .header-book{padding:9px 13px;font-size:9px;gap:8px}.menu-toggle{color:#fff0d4;border:1px solid #ffffff60;border-radius:9px;font-size:19px;width:35px;height:35px;padding:0;flex-shrink:0}.header nav{top:80px;left:5%;right:5%;background:#1f3923f7;border:1px solid #b3b69255;border-radius:15px;padding:20px 25px}.header nav a{font-size:14px;padding:10px}.hero{height:675px}.hero-content{padding:148px 7% 0}.hero h1{font-size:clamp(44px,11.4vw,66px);line-height:1.03;letter-spacing:-1.5px}.hero .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:23px}.hero-description{font-size:13px;max-width:290px}.hero-image{object-position:56% center}.hero:after{background:linear-gradient(90deg,#102713b3,#112b1944),linear-gradient(0deg,#1029148c,transparent 65%)}.hero:before{width:125px;height:225px;left:-48px;bottom:0}.hero-story{display:flex;width:max-content;margin:20px 0 0;font-size:11px}.hero-bottom{bottom:66px;left:7%;right:7%}.hero-bottom>a{display:none}.nature-stamp{top:auto;bottom:110px;right:9%;font-size:18px}.nature-stamp span{font-size:25px}.booking-wrap{margin-top:-38px;padding:0 6%;background:linear-gradient(transparent 38px,#142b17 38px)}.booking-bar{display:grid;grid-template-columns:1fr 1fr;padding:23px;gap:16px;border-radius:19px 5px 19px 5px}.booking-bar label{padding-left:0;border:0;min-width:0}.booking-bar label:first-of-type{border-right:1px solid #d9c9a7;padding-right:10px}.booking-bar label:nth-of-type(3){grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d9c9a7;padding-top:12px}.booking-bar label:nth-of-type(3) select{width:110px}.booking-bar label>span{font-size:8px}.booking-bar input{min-width:0;width:100%;font-size:12px}.booking-bar .button{grid-column:1/-1}.nature-values{grid-template-columns:repeat(3,1fr);padding:35px 5% 39px;gap:26px 0}.nature-values a:nth-child(4){border:0}.nature-values svg{width:31px;height:31px;margin-bottom:8px}.nature-values strong{font-size:10px}.nature-values span{font-size:8px;max-width:90px;line-height:1.5}.stay{padding:45px 7% 30px;gap:27px}.stay-photo{height:370px;border-radius:8px 80px 8px 8px}.stay:after{width:100px;height:180px;top:340px;right:-37px;opacity:.5}.stay-copy h2,.food h2{font-size:49px}.stay-features{margin-bottom:22px}.stay-copy>p:not(.eyebrow):not(.small-note){font-size:13px}.food{display:flex;flex-direction:column-reverse;gap:0;margin:22px 7% 45px}.food-image{width:100%;height:355px}.food-image img{border-radius:85px 8px 45px 8px}.food-copy{padding:29px 0 0}.food:before{width:90px;height:155px;left:-60px;bottom:210px;opacity:.65}.food-badge{width:85px;height:85px;right:15px;top:15px;font-size:9px}.food-badge em{font-size:17px}.food-footnote{font-size:17px;margin-top:23px}.experiences{padding:48px 7%}.experiences h2{font-size:43px}.experience-grid{grid-template-columns:1fr;gap:22px}.experience-card{height:380px;border-radius:85px 85px 12px 12px}.experience-card:nth-child(2){margin-top:0;border-radius:12px 85px 12px 12px}.experience-card:nth-child(3){border-radius:85px 12px 12px 12px}.experience-card.trail img{position:static;height:100%;min-height:0;object-fit:fill;width:205%}.experience-card h3{font-size:34px}.intro{padding-top:50px;padding-bottom:45px;display:block}.intro h2{font-size:40px}.gallery{padding-top:10px;padding-bottom:48px}.gallery h2{font-size:42px}.gallery-grid{gap:14px}.gallery-item{height:210px;border-width:5px}.escape-banner{padding:60px 7%}.escape-banner h2{font-size:45px}.escape-reasons{gap:12px;flex-wrap:wrap;font-size:9px;max-width:290px}.escape-reasons span:before{margin-right:5px}.plan{padding:55px 7%;gap:30px}.plan h2{font-size:43px}.enquiry-form{padding:22px}.form-row{grid-template-columns:1fr}.form-row.three{grid-template-columns:1fr 1fr}.footer-top{gap:25px}.footer-top p{font-size:11px}}
/* Official identity and guest information */
.header .brand .official-logo,.brand .official-logo{width:82px;height:82px;object-fit:contain}.header{height:110px}.header nav{gap:20px}.stay-options{padding-top:30px;padding-bottom:50px}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.package-card{display:flex;flex-direction:column;padding:30px 25px;background:#efe6d080;border:1px solid var(--line);border-radius:10px 35px 10px 10px}.package-card .eyebrow{font-size:9px;margin-bottom:20px}.package-card h3{font-size:35px;margin-bottom:23px}.package-card p,.package-card li{font-size:12px}.package-card ul{padding-left:18px;margin:20px 0 25px;flex:1}.package-card li{margin-bottom:8px}.package-card .package-price{font-size:27px;color:var(--ink)}.package-price small{font-size:11px}.package-card .text-link{font-size:11px;justify-content:center;padding:12px 15px}.gatherings{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-top:60px;padding-bottom:45px}.gatherings p:not(.eyebrow){font-size:13px;margin-bottom:20px}.guest-info{padding-top:65px;padding-bottom:40px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;align-items:start}.faq-grid details{border-bottom:1px solid var(--line);padding:19px 0}.faq-grid summary{cursor:pointer;font-size:13px;font-weight:500;padding-right:15px}.faq-grid details p{font-size:12px;margin:15px 0 0;line-height:1.9}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:50px;padding-bottom:35px}.contact-section address{font-style:normal;margin:23px 0 10px;font-size:14px}.contact-section p:not(.eyebrow){font-size:12px}.contact-links{align-self:center}.contact-links>a{display:block;border-bottom:1px solid var(--line);padding:20px 0;font-size:18px}.contact-links small{display:block;font-size:8px;letter-spacing:2px;color:var(--gold);margin-bottom:5px}.contact-links span{float:right}.whatsapp-enquiry{margin-top:12px;background:transparent;color:var(--green)}.whatsapp-enquiry:hover{color:white}.mobile-whatsapp{display:none}.food-footnote{font:12px/1.8 'DM Sans',sans-serif}
@media(max-width:1100px){.header nav{gap:13px;font-size:11px}.package-grid{gap:15px}.package-card{padding:25px 18px}}
@media(max-width:760px){.header .brand .official-logo{width:66px;height:66px}.header{height:88px}.package-grid,.gatherings,.faq-grid,.contact-section{grid-template-columns:1fr}.package-grid{gap:18px}.package-card{padding:27px}.stay-options{padding-top:20px;padding-bottom:25px}.gatherings{gap:25px;padding-top:45px}.guest-info{padding-top:45px}.contact-section{gap:25px;padding-top:35px}.contact-links>a{font-size:17px}.mobile-whatsapp{display:block;position:fixed;z-index:8;bottom:14px;left:7%;right:7%;background:#24482a;color:#fff7e3;border:1px solid #b9c59a;border-radius:100px;padding:12px;text-align:center;font-size:12px;box-shadow:0 5px 22px #10271644}footer{padding-bottom:85px}}
/* Camp photography and expanded gallery */
.package-photo{width:100%;height:190px;object-fit:cover;border-radius:6px 22px 6px 6px;margin-bottom:24px}.gathering-photo{grid-column:1/-1;width:100%;height:390px;object-fit:cover;border-radius:12px 70px 12px 12px}.experience-card.trail img{width:100%;height:100%;object-fit:cover}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:27px}.gallery-filters button{border:1px solid var(--line);background:transparent;border-radius:30px;padding:9px 17px;font-size:11px}.gallery-filters button[aria-pressed=true]{background:var(--green);color:var(--cream);border-color:var(--green)}.gallery-actions{text-align:center;margin-top:30px}.gallery-actions p{font-size:11px;margin-bottom:16px}.gallery-item[hidden],.gallery-filters[hidden],#gallery-more[hidden]{display:none}.gallery-item{height:230px;transform:none;margin-top:0!important}.gallery-item:nth-child(even){transform:none}.lightbox-navigation{display:flex;justify-content:space-between;gap:20px;margin-top:12px}.lightbox-navigation button{border:1px solid var(--line);background:var(--cream);padding:9px 17px;border-radius:20px;font-size:12px}#lightbox img{margin:auto;max-height:68vh}#lightbox .close-dialog{z-index:2}.stay-photo img{object-position:center}
@media(max-width:760px){.package-photo{height:220px}.gathering-photo{height:245px}.gallery-item{height:180px}.gallery-filters{gap:8px}.gallery-filters button{padding:8px 12px;font-size:10px}.experience-card.trail img{width:100%;height:100%;object-fit:cover}#lightbox{max-width:94vw}#lightbox img{max-width:85vw}}
/* Preserve every panel of the supplied stay collage. */
.stay-photo.stay-collage{height:auto;aspect-ratio:3/2;border-radius:10px;align-self:center}.stay-collage img{object-fit:contain}.stay-collage .photo-note,.stay-collage .photo-number,.stay-collage:after{display:none}
/* A quiet editorial spotlight on shared guest moments. */
.shared-moments{padding:70px 8% 55px;margin:10px 0 65px;background:radial-gradient(ellipse at top,#354a2b,#152d1d 75%);color:#fbf0d8}.shared-moments-heading{text-align:center;max-width:720px;margin:0 auto 38px}.shared-moments-heading .eyebrow{color:#ccb884}.shared-moments-heading h2{font-size:clamp(43px,4.7vw,64px)}.shared-moments-heading h2 em{color:#d2d7b1}.shared-moments-heading>p:last-child{color:#c6ceba;font-size:13px;margin-top:20px}.shared-moments-photos{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1250px;margin:auto}.shared-moments-photos figure{margin:0;background:#f5ecd9;color:var(--ink);padding:10px 10px 0;border-radius:4px;box-shadow:0 15px 30px #08180f30;overflow:hidden}.shared-moments-photos figure:nth-child(2){margin-top:28px;margin-bottom:-28px}.shared-moments-photos img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#263e31}.shared-moments-photos figcaption{padding:20px 14px 25px}.shared-moments-photos figcaption span{font-size:8px;letter-spacing:1.8px;color:#857044}.shared-moments-photos h3{font-size:29px;margin-top:10px;letter-spacing:-.6px}.shared-moments-footer{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:65px}.shared-moments-footer p{color:#c6ceba;font-size:12px}
@media(max-width:760px){.shared-moments{padding:48px 7%;margin-bottom:45px}.shared-moments-photos{grid-template-columns:1fr;gap:22px}.shared-moments-photos figure:nth-child(2){margin:0}.shared-moments-photos h3{font-size:27px}.shared-moments-photos figcaption{padding:15px 12px 20px}.shared-moments-footer{flex-direction:column;text-align:center;gap:18px;margin-top:30px}.shared-moments-heading>p:last-child{font-size:12px}}
/* Three guest memories, with the full portrait selfie preserved. */
.shared-moments-photos{grid-template-columns:1fr .8fr 1fr;align-items:start}.shared-moments-photos figure:nth-child(2){margin-top:25px;margin-bottom:0}.shared-moments-photos figure:nth-child(3){margin-top:50px}.shared-moments-photos figure:nth-child(2) img{aspect-ratio:3/4}.shared-moments-photos h3{font-size:25px}.shared-moments-footer{margin-top:38px}
@media(max-width:760px){.shared-moments-photos{grid-template-columns:1fr}.shared-moments-photos figure:nth-child(2),.shared-moments-photos figure:nth-child(3){margin:0}.shared-moments-photos figure:nth-child(2){width:100%;max-width:340px;justify-self:center}}
/* Show the complete food collage without cropping its panels. */
.food-image.food-collage{height:auto;aspect-ratio:1;width:100%}.food-image.food-collage img{height:100%;max-height:none;object-fit:contain;border-radius:12px}.food-collage .food-badge{display:none}
/* Responsive containment, consistent icons and WhatsApp booking. */
html,body{max-width:100%;overflow-x:hidden}main,section,header,footer,form,figure{min-width:0}section>*{min-width:0}img{max-width:100%}.arrow-icon{display:inline-block;width:18px;height:18px;min-width:18px;vertical-align:middle;flex-shrink:0}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.package-photo{height:auto;aspect-ratio:3/2;object-fit:contain}.form-row,.form-row.three{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row label{min-width:0}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{box-sizing:border-box;max-width:100%;width:100%;min-width:0;font-size:16px;min-height:46px}.enquiry-form select,.booking-bar select{appearance:none;-webkit-appearance:none;border:1px solid #ddd2b9;border-radius:6px;background-color:#fcf8ed;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23243b28' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding:11px 34px 11px 10px;color:var(--ink)}.whatsapp-enquiry{background:var(--green);color:var(--cream)}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.shared-moments-photos{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr)}.booking-bar label{min-width:0}.booking-bar input{min-width:0;max-width:100%}.button,.text-link{max-width:100%}
@media(max-width:760px){html{scroll-padding-top:92px}.header{width:100%;max-width:100%;transition:background .25s,height .25s;z-index:20}.header.is-scrolled{position:fixed;top:0;left:0;right:0;height:68px;background:rgba(24,48,30,.79);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);border-bottom:1px solid #f5efd62b;box-shadow:0 6px 22px #0b241c22}.header.is-scrolled .brand .official-logo{width:48px;height:48px}.header.is-scrolled nav{top:72px}.header nav{max-height:calc(100dvh - 110px);overflow-y:auto}.hero-content{padding-top:140px}.hero h1{font-size:clamp(38px,10.7vw,66px)}.hero .eyebrow{letter-spacing:1.6px}.hero-story{max-width:100%}.booking-bar{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px;gap:14px}.booking-bar input{font-size:16px;width:100%;min-height:40px}.booking-bar .button{white-space:normal;gap:12px}.booking-bar label:nth-of-type(3) select{min-width:0;width:125px}.nature-values{grid-template-columns:repeat(3,minmax(0,1fr))}.package-grid,.shared-moments-photos{grid-template-columns:minmax(0,1fr)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row,.form-row.three{grid-template-columns:minmax(0,1fr)}.enquiry-form{padding:20px;min-width:0}.enquiry-form input[type=date]{display:block;width:100%;min-width:0;appearance:none;-webkit-appearance:none}.enquiry-form input[type=date]::-webkit-date-and-time-value{text-align:left}.food,.stay,.plan,.intro,.gatherings,.contact-section{min-width:0}.stay:after,.food:before{max-width:90px}.contact-links>a{font-size:15px;overflow-wrap:anywhere}.shared-moments-photos img{height:auto}.mobile-whatsapp{bottom:max(12px,env(safe-area-inset-bottom));z-index:15}.footer-top>p{max-width:100%}.booking-intro{display:none}}
@media(prefers-reduced-motion:reduce){.header{transition:none}}
.reviews-section{padding-top:55px;padding-bottom:70px}.reviews-invitation{background:#ede5d0;border:1px solid var(--line);padding:30px;border-radius:12px;margin-bottom:25px}.review-google-label{font-size:12px;font-weight:600;color:var(--green)}.reviews-invitation h3{font-size:33px;margin:12px 0}.reviews-invitation p,.review-selection{font-size:12px}.review-selection{margin-bottom:20px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:30px}.review-card{background:#fcf8ed;border:1px solid var(--line);border-radius:12px;padding:25px;min-width:0}.review-stars{display:flex;gap:3px;color:#ab8134}.review-stars svg{width:17px;height:17px;fill:currentColor}.review-card blockquote{margin:20px 0;font-size:13px;line-height:1.9;overflow-wrap:anywhere}.review-author strong,.review-author time{display:block;font-size:12px}.review-author time,.review-source{font-size:10px;color:#737b69}.review-source{display:block;margin-top:10px}.header nav{gap:15px}@media(max-width:1050px) and (min-width:761px){.header nav{gap:9px;font-size:10px}.header .button{padding:10px 15px;gap:10px}}@media(max-width:760px){.review-grid{grid-template-columns:minmax(0,1fr)}.reviews-invitation{padding:23px}.reviews-invitation h3{font-size:29px}.reviews-section .button{font-size:11px;gap:14px}.header nav{gap:5px}}
.google-rating-summary{display:flex;align-items:center;gap:18px;border:1px solid var(--line);background:#fffdf7;border-radius:12px;padding:24px;margin-bottom:22px}.google-rating-summary strong{font-size:32px;line-height:1.2;display:block}.google-rating-summary strong span{font-size:17px;color:#697562}.rating-count{font-size:12px}.google-rating-summary p{font-size:11px;margin-left:auto}.google-review-icon{object-fit:contain;width:24px;height:24px;flex-shrink:0}.google-rating-summary>.google-review-icon{width:34px;height:34px}.review-card-top{display:flex;gap:10px;align-items:center;margin-bottom:16px}.review-card-top strong{font-size:13px;flex:1;overflow-wrap:anywhere}.review-avatar{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:#e3e9d8;color:var(--green);font-size:17px}.review-card{display:flex;flex-direction:column}.review-card blockquote{flex:1}.review-source{border-top:1px solid #e8e4d7;padding-top:12px}.review-stars{color:#e8a900}@media(max-width:760px){.google-rating-summary{flex-wrap:wrap;padding:20px}.google-rating-summary p{width:100%;margin:0}.review-card{padding:22px}}

.review-details{font-size:11px;line-height:1.7;margin:0 0 8px;color:#616752}

/* Subtle full-width backgrounds distinguish photos, reviews and reels. */
.gallery.section{background:#ecefE3;box-shadow:0 0 0 100vmax #ecefe3;clip-path:inset(0 -100vmax);padding-top:65px}
.reviews-section.section{background:#f1e7d6;box-shadow:0 0 0 100vmax #f1e7d6;clip-path:inset(0 -100vmax);padding-top:65px}
.reels-section{padding-top:65px;padding-bottom:65px}.reels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:900px;margin:auto}.reel-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 8px 25px #243b2809}.reel-card iframe{display:block;width:100%;height:620px;border:0;background:#fff}.reel-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;font-size:12px;border-top:1px solid #eee8dd;color:var(--green)}.reel-link:hover{background:#f3f5ed}.reels-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px}.reels-footer p{font-size:12px}
@media(max-width:760px){.gallery.section,.reviews-section.section,.reels-section{padding-top:45px;padding-bottom:45px}.reels-grid{grid-template-columns:minmax(0,1fr);max-width:440px;gap:22px}.reel-card iframe{height:600px}.reels-footer{flex-direction:column;text-align:center}.reels-section h2{font-size:44px}}

/* Compact Instagram grid; keep the provider embed readable at its native width. */
.instagram-heading{display:flex;align-items:center;gap:10px}.instagram-heading svg{width:27px;height:27px;color:#a45b69}.reels-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;gap:16px}.reel-embed{position:relative;overflow:hidden;aspect-ratio:400/640}.reel-embed iframe{width:400px;height:640px;max-width:none;transform:scale(var(--reel-scale,1));transform-origin:top left}.reel-link{font-size:10px;padding:12px;gap:6px}.reel-card{border-radius:12px}.reels-footer{margin-top:24px}
@media(max-width:1000px){.reels-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}}
@media(max-width:480px){.reels-grid{gap:10px}.reel-link{font-size:9px;padding:10px 7px}.reel-link .arrow-icon{width:13px;height:13px;min-width:13px}}

.mobile-dock{display:none}#reel-viewer{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:max(18px,env(safe-area-inset-top)) 16px max(14px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at top,#304b38,#0b1710 75%);color:#fff;overflow:hidden}#reel-viewer[open]{display:flex;flex-direction:column;gap:12px}#reel-viewer::backdrop{background:#0b1710}.reel-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.reel-viewer-header span{font-size:9px;letter-spacing:2px;color:#b9c7a4}.reel-viewer-header h2{font-size:26px;letter-spacing:-.5px;margin-top:5px}.reel-viewer-header button{background:#ffffff15;border:1px solid #ffffff30;border-radius:50%;color:white;width:42px;height:42px;padding:10px}.reel-viewer-header svg{width:20px;height:20px}.reel-progress{display:flex;gap:5px}.reel-progress i{height:3px;flex:1;background:#ffffff25;border-radius:4px}.reel-progress i.active{background:#d8c78e}.reel-stage{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}.reel-stage iframe{border:0;background:white;border-radius:14px;width:400px;height:640px;max-width:none;transform:scale(var(--viewer-scale,1));transform-origin:center}.reel-swipe-zone{text-align:center;touch-action:none;padding:6px 0 2px;flex-shrink:0}.swipe-handle{width:36px;height:3px;background:#b8c6ad;border-radius:8px;margin:0 auto 9px}.reel-swipe-zone p{font-size:11px;color:#c5ceb9}.reel-viewer-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin:9px 0}.reel-viewer-controls button{border:1px solid #ffffff30;background:#ffffff12;border-radius:50%;width:34px;height:34px;color:white;font-size:20px}.reel-viewer-controls button:disabled{opacity:.25}.reel-viewer-controls span{font-size:11px;letter-spacing:2px}.reel-swipe-zone a{font-size:10px;color:#d9c993;text-decoration:underline}body.reels-open{overflow:hidden}
@media(max-width:760px){body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.mobile-dock{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1.4fr;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#f7f0dfee;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid #d9d4bd;box-shadow:0 -5px 25px #132c1815}.mobile-dock>a,.mobile-dock>button{display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:14px;padding:10px 8px;text-align:left;background:#e6e9da;color:#243b28;font-size:12px;font-weight:600}.mobile-dock>a{background:#254630;color:#fff5de}.mobile-dock svg{width:24px;height:24px;flex-shrink:0}.mobile-dock small{display:block;font-size:8px;font-weight:400;opacity:.75;margin-top:2px}}

/* Edge-to-edge reel cards with floating app controls. */
#reel-viewer[open]{display:block;padding:0;background:#090b09;touch-action:none}#reel-viewer .reel-viewer-header{position:absolute;inset:0 0 auto;z-index:4;padding:calc(12px + env(safe-area-inset-top)) 18px 12px;background:linear-gradient(#000b,transparent);pointer-events:none}#reel-viewer .reel-viewer-header button{pointer-events:auto;width:38px;height:38px;background:#171d18c9}#reel-viewer .reel-viewer-header h2{font-family:'DM Sans',sans-serif;font-size:20px;font-weight:600;margin:0;letter-spacing:0}#reel-viewer .reel-stage{position:absolute;inset:0;display:block;padding:60px 18px 95px}.fullscreen-reel-card{height:100%;width:100%;position:relative;background:white;overflow:hidden;border-radius:8px}#reel-viewer .reel-stage iframe{display:block;width:100%;height:100%;border:0;border-radius:0;transform:none}.reel-gesture-layer{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;touch-action:none;cursor:pointer}.reel-gesture-layer[hidden]{display:none}#reel-viewer .reel-progress{position:absolute;top:calc(54px + env(safe-area-inset-top));left:18px;right:18px;z-index:4;pointer-events:none}#reel-viewer .reel-swipe-zone{position:absolute;bottom:0;left:0;right:0;z-index:4;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#080b09 20%)}#reel-viewer .reel-viewer-controls{position:absolute;right:12px;bottom:calc(100px + env(safe-area-inset-bottom));flex-direction:column;gap:8px;margin:0}#reel-viewer .reel-viewer-controls button{background:#152018cc;width:32px;height:32px}#reel-viewer .reel-viewer-controls span{padding:4px;border-radius:8px;background:#152018cc;font-size:9px}#reel-viewer .reel-swipe-zone p{font-size:10px;color:#e3e6dc;margin:0 0 5px}#reel-viewer .reel-stage{padding-top:calc(62px + env(safe-area-inset-top));padding-bottom:calc(66px + env(safe-area-inset-bottom))}
@media(min-width:761px){#reel-viewer .reel-stage{max-width:520px;left:50%;transform:translateX(-50%)}#reel-viewer .reel-viewer-header,#reel-viewer .reel-swipe-zone{max-width:520px;margin:auto}#reel-viewer .reel-progress{max-width:484px;margin:auto}}

.social-links{display:flex;align-items:center;gap:8px}.social-links a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #ffffff40;border-radius:50%;padding:7px;transition:background .2s}.social-links a:hover{background:#ffffff20}.social-links svg{width:18px;height:18px;flex-shrink:0}.header nav .social-links{gap:4px}.header nav .social-links a{padding:6px;width:28px;height:28px}.header nav .social-links a:after{display:none}.header{gap:18px}.header nav{gap:12px}.footer-details{position:relative;z-index:1;display:grid;grid-template-columns:2fr 1fr;gap:40px;padding:30px 0;border-top:1px solid #ffffff25}.footer-details h3{font-family:'DM Sans',sans-serif;font-size:15px;letter-spacing:0;color:#f5ecd8;margin-bottom:15px}.footer-details address{font-style:normal;font-size:12px;line-height:1.8;color:#c8d0ba;margin-bottom:12px}.footer-details>div>a{display:block;width:fit-content;font-size:13px;margin-top:8px;color:#f5ecd8}.footer-details .social-links{color:#f5ecd8}
@media(min-width:761px) and (max-width:1150px){.header{padding-left:3%;padding-right:3%;gap:10px}.header nav{gap:7px;font-size:10px}.header .header-book{padding:10px 12px;gap:8px}.header nav .social-links{gap:3px}.header nav .social-links a{width:24px;height:24px;padding:4px}}
@media(max-width:760px){.header nav .social-links{gap:12px;padding-top:12px;border-top:1px solid #ffffff25;margin-top:8px}.header nav .social-links a{width:38px;height:38px;padding:9px}.footer-details{grid-template-columns:1fr;gap:28px;padding:25px 0}}

.enquiry-form .name-guests-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}

.footer-main-row{display:flex;align-items:center;justify-content:space-between;gap:35px}.footer-contact{flex:1;min-width:0}.footer-main-row h3{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;letter-spacing:0;color:#f5ecd8;margin-bottom:12px}.footer-contact address{font-size:12px;font-style:normal;color:#c8d0ba}.footer-contact-links{display:flex;gap:22px;margin-top:9px;font-size:13px;color:#f5ecd8}.footer-social{flex-shrink:0;color:#f5ecd8}.desktop-back-top{position:fixed;left:22px;bottom:24px;z-index:25;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#243e30e8;color:#fff4dc;border:1px solid #d9c99780;box-shadow:0 4px 16px #10271526;backdrop-filter:blur(10px)}.desktop-back-top svg{width:20px;height:20px}.desktop-back-top:hover{background:#3b573b}
@media(max-width:760px){.desktop-back-top{display:none}.footer-main-row{flex-wrap:wrap;gap:24px;align-items:flex-start}.footer-contact{flex-basis:calc(100% - 120px)}.footer-contact-links{flex-wrap:wrap;gap:8px 15px}.footer-social{margin-left:0}}

/* Gentle leaf motion preserves each decoration's existing rotation. */
@keyframes leaf-breeze{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -5px;rotate:1.5deg}}
.hero:before,.stay:after,.food:before,footer:after{animation:leaf-breeze 8s ease-in-out infinite;transform-origin:50% 90%}.stay:after{animation-delay:-3s}.food:before{animation-delay:-5s}footer:after{animation-delay:-2s}
@media(prefers-reduced-motion:reduce){.hero:before,.stay:after,.food:before,footer:after{animation:none}}
