/* V2: the existing homepage, refined within the validated palette. */
@font-face{font-family:Cormorant;src:url('assets/fonts/cormorantgaramond.woff') format('woff');font-weight:300 700;font-display:swap}@font-face{font-family:Manrope;src:url('assets/fonts/manrope.woff') format('woff');font-weight:200 800;font-display:swap}
body{font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.65}h1,h2,h3,.footer-tagline{font-family:Cormorant,Georgia,serif;font-weight:500}h1,h2{letter-spacing:-.035em}h3{font-size:32px;line-height:1.08;margin:10px 0 18px}h1{font-size:clamp(48px,5.5vw,82px)}h2{font-size:clamp(40px,4.3vw,66px)}h2 em{font-style:italic;font-weight:500}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:700}.button{font-size:11px;letter-spacing:.09em;min-height:49px;padding:17px 22px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button:focus-visible,.text-link:focus-visible{outline:2px solid var(--turquoise)}.button.turquoise:hover{background:var(--cacao);border-color:var(--cacao)}.header{min-height:102px;padding:7px 3%;gap:22px}.brand{width:160px}.brand img{height:87px}.header nav{gap:13px}.header nav a{font-size:11px;font-weight:600}.header-book{padding:17px 20px}.hero{height:min(740px,70vw);min-height:630px}.hero-photo{filter:brightness(1.04) saturate(1.06);object-position:center 64%}.hero-shade{background:linear-gradient(90deg,#211c15c7 0%,#211c1570 42%,#211c1510 85%)}.hero-copy{padding:0 6.5% 35px}.hero-copy h1{max-width:950px;line-height:1.02}.hero-copy .eyebrow{font-size:12px}.hero-copy p{font-size:17px;line-height:1.65}.hero-copy .line{margin:25px 0}.hero-actions .button:first-child{background:var(--terra)}.welcome{padding-bottom:54px}.booking{top:-48px;margin-bottom:-22px;padding:26px 30px;background:var(--ivory);box-shadow:0 14px 40px #44322a15;border:1px solid var(--sand);gap:25px;grid-template-columns:1fr 1fr 1fr 1.2fr}.booking .button{padding:17px 15px}.booking input,.booking select{font-size:13px}.booking-note{text-align:center;font-size:12px;margin:8px 0 30px;color:var(--cacao)}.highlights strong{font-size:12px;font-weight:700}.highlights a>span:last-child{font-size:12px;margin-top:7px}.feature-icon{margin-bottom:15px}.feature-icon svg{width:37px;height:37px;stroke-width:1.35}.copy{padding-top:65px;padding-bottom:65px}.copy p{font-size:15px;line-height:1.85}.story{min-height:540px}.story>img{min-height:540px}.story .copy{padding-right:9%}.rooms-section{background:var(--sand);padding-bottom:0}.rooms{background:var(--sand);min-height:470px;grid-template-columns:53% 47%}.rooms>img{min-height:470px;object-position:center 50%}.rooms .copy{padding:55px 11%}.rooms h2{font-size:clamp(42px,4vw,62px)}.included{display:flex;gap:10px;font-size:12px;line-height:1.7;font-weight:600;max-width:330px}.included svg{width:24px;height:24px;color:var(--turquoise)}.text-link{display:inline-flex;gap:12px;border:0;background:none;border-bottom:1px solid currentColor;padding:8px 0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--turquoise);cursor:pointer}.rooms .text-link{margin-top:20px}.room-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:56px 6.5% 24px;scroll-margin-top:30px}.room-card{background:var(--ivory);box-shadow:0 10px 28px #44322a0c;display:flex;flex-direction:column}.card-image{position:relative;overflow:hidden}.card-image img{height:265px;transition:transform .65s;object-position:center}.room-card:hover .card-image img,.experience-card:hover .card-image img{transform:scale(1.025)}.photo-caption{position:absolute;left:14px;bottom:12px;font-size:9px;letter-spacing:.09em;color:white;background:#44322ac9;padding:5px 9px;text-transform:uppercase}.card-copy{padding:27px 27px 30px;display:flex;flex-direction:column;flex:1}.card-copy h3{font-size:37px;margin:10px 0 15px}.room-amenities{font-size:11px;margin:0 0 22px}.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px}.price>span:first-child{width:100%;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.price strong{font-family:Cormorant,Georgia,serif;font-size:42px;font-weight:600;line-height:1.2;color:var(--terra)}.price>span:last-child{font-size:11px}.breakfast{font-size:11px;font-weight:600;color:var(--turquoise);margin:9px 0 16px}.rate-details{font-size:11px;border-top:1px solid var(--sand);margin-bottom:22px;padding-top:10px}.rate-details summary{cursor:pointer;padding:4px 0;font-weight:600}.rate-details ul{list-style:none;margin:12px 0 0;padding:0}.rate-details li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--sand);font-size:11px}.rate-details li strong{font-weight:500}.room-card .button{width:100%;margin-top:auto}.photo-note{font-size:10px;text-align:center;padding:0 6.5%;line-height:1.6;margin:0 0 35px;color:var(--cacao)}.amenity-strip{background:var(--ivory);display:grid;grid-template-columns:repeat(7,1fr);gap:20px;padding:36px 6.5%;border-bottom:1px solid var(--sand)}.amenity-strip>span{display:flex;align-items:center;flex-direction:column;gap:10px;text-align:center;font-size:11px}.amenity-strip svg{width:28px;height:28px;color:var(--turquoise);stroke-width:1.35}.practical{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding:35px 6.5%;align-items:center}.practical h3{margin:10px 0 0;font-size:33px}.practical strong{font-size:12px}.practical p{font-size:12px;line-height:1.9;margin:8px 0 0}.pool-section{min-height:520px}.pool-section>img{filter:saturate(1.08) brightness(1.035);object-position:60% 62%}.pool-gradient{background:linear-gradient(90deg,var(--lagoon) 0%,#68bfc0fb 25%,#68bfc0dc 36%,#68bfc015 61%,transparent 80%)}.pool-section .copy{width:45%;padding:60px 35px 60px 6.5%}.pool-section .copy p{font-size:15px}.water-interlude{display:grid;grid-template-columns:60% 40%;background:var(--turquoise);color:var(--ivory);min-height:340px}.water-interlude>img{height:340px;object-position:center 60%}.water-interlude>div{padding:50px 13%;align-self:center}.water-interlude .eyebrow{color:var(--sand)}.water-interlude p{font-family:Cormorant,Georgia,serif;font-size:40px;line-height:1.1;margin:22px 0}.water-interlude em{color:var(--ivory);font-style:italic}.water-interlude .text-link{color:var(--ivory)}.restaurant{min-height:470px}.restaurant>img{min-height:470px}.restaurant .copy{padding:55px 10%}.restaurant h2{font-size:clamp(40px,4vw,58px)}.restaurant-note{color:var(--turquoise);font-size:12px!important}.events-section{padding:75px 6.5%;background:var(--ivory)}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:center;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading p{font-size:15px;line-height:1.85;margin:0;max-width:490px}.event-formulas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.formula{text-align:left;background:var(--sand);color:var(--cacao);border:1px solid transparent;position:relative;padding:22px 20px;min-height:160px;display:flex;flex-direction:column;gap:9px;font:inherit;transition:border-color .2s}.formula:hover{border-color:var(--terra)}.formula>span:first-child{font-size:10px;color:var(--terra);letter-spacing:.1em}.formula strong{font-size:13px;font-weight:700;max-width:180px}.formula small{font-size:11px;line-height:1.7;max-width:180px}.formula-arrow{position:absolute;right:18px;top:18px;color:var(--turquoise);font-size:20px}.section-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:30px}.section-bottom p{font-size:11px;margin:0}.destination-section{background:var(--sand)}.destination-banner{position:relative;height:480px;display:flex;align-items:center;color:white}.destination-banner>img,.destination-shade{position:absolute;inset:0;height:100%}.destination-banner>img{object-position:center 58%}.destination-shade{background:linear-gradient(90deg,#44322abd,#44322a33)}.destination-intro{position:relative;padding:50px 6.5%;width:100%}.destination-intro h2{font-size:clamp(42px,4.5vw,68px);max-width:950px}.destination-intro em{color:var(--sand)}.destination-intro p{font-size:15px;line-height:1.8}.experience-intro{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:38px 6.5% 25px}.experience-intro p{max-width:680px;font-size:13px;line-height:1.8;margin:0}.experience-intro .eyebrow{white-space:nowrap}.experience-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:0 6.5% 28px}.experience-card{background:var(--ivory);display:flex;flex-direction:column}.experience-card .card-image img{height:245px}.experience-card .card-copy{padding:24px 20px}.experience-card .eyebrow{font-size:9px;letter-spacing:.11em}.experience-card h3{font-size:32px;min-height:70px}.experience-card p{font-size:12px;line-height:1.8;margin-bottom:15px;flex:1}.experience-card .text-link{font-size:9px;align-self:flex-start;margin-bottom:15px}.outline-dark{background:transparent;border-color:var(--turquoise);color:var(--turquoise)}.outline-dark:hover{background:var(--turquoise);color:var(--ivory)}.experience-card .button{font-size:9px;padding:14px 8px;min-height:45px}.destination-section>.photo-note{padding-bottom:35px;margin:0}.camping-section{padding:65px 6.5%;gap:7%;grid-template-columns:40% 1fr}.camping-heading h2{font-size:clamp(44px,4.4vw,66px)}.camping-copy p{font-size:15px;line-height:1.8}.camping-tags{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.camping-tags span{font-size:10px;border:1px solid #f7f2e970;padding:6px 10px;letter-spacing:.05em}.final-cta{min-height:410px;text-align:center}.final-cta>img{object-position:center 67%;filter:saturate(1.06)}.cta-overlay{background:linear-gradient(90deg,#167c82cb,#44322aad)}.final-cta h2{font-size:clamp(44px,5vw,72px);margin:15px 0}.final-cta .eyebrow{font-size:10px}.final-cta p{font-size:14px;line-height:1.8;margin-bottom:25px}.final-cta .button{margin:5px}.footer-grid{grid-template-columns:1fr 1fr 1.4fr 1fr;padding:20px 0 36px}footer h3{font-family:Manrope,Arial,sans-serif;font-size:10px;font-weight:700}footer a,footer p,footer button{font-size:12px}footer .footer-tagline{font-size:27px;line-height:1.15}.footer-times{margin-top:20px;font-size:11px}.footer-grid .text-link{color:var(--sand);display:inline-flex;font-size:9px}footer .footer-brand{background:var(--ivory);padding:12px 8px;max-width:210px}footer .footer-brand img{max-height:130px}.photo-credits{border-top:1px solid #f7f2e933;padding-top:15px;margin-top:12px;font-size:10px}.photo-credits summary{cursor:pointer}.photo-credits p{font-size:10px;margin:12px 0}.photo-credits ul{padding-left:18px}.photo-credits li{margin:7px 0}.photo-credits a{display:inline;font-size:10px;text-decoration:underline}.whatsapp-float{position:fixed;z-index:10;bottom:24px;right:24px;display:flex;gap:9px;align-items:center;background:var(--turquoise);color:white;border:1px solid var(--ivory);padding:12px 18px;box-shadow:0 4px 20px #44322a30;border-radius:30px;font-size:11px;font-weight:600}.whatsapp-float svg{width:22px;height:22px;display:block}.mobile-book{display:none}.form-dialog{max-width:760px;max-height:90dvh;overflow:auto;padding:40px 45px}.form-dialog h2{font-size:48px;margin-bottom:15px}.form-dialog>p{font-size:13px;line-height:1.75}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin:24px 0}.form-dialog label{display:block;font-size:11px;font-weight:600}.form-dialog input,.form-dialog select,.form-dialog textarea{border:1px solid var(--sand);background:white;padding:12px;margin-top:7px;width:100%;font-family:Manrope,Arial,sans-serif;font-size:13px;color:var(--cacao);border-radius:0;min-width:0}.form-dialog textarea{resize:vertical;display:block}.form-dialog fieldset{border:1px solid var(--sand);margin:0 0 20px;padding:15px}.form-dialog legend{font-size:11px;font-weight:700;padding:0 8px}.form-dialog fieldset label{display:flex;gap:10px;align-items:center;padding:6px 0;font-weight:400}.form-dialog input[type=checkbox]{width:17px;height:17px;min-height:0;margin:0;accent-color:var(--turquoise);flex:none}.form-actions{display:flex;gap:12px;margin-top:22px}.form-actions .button{flex:1;font-size:10px}.form-note{font-size:10px;line-height:1.7;margin:18px 0 0}.form-status{font-size:11px;color:var(--turquoise);margin-top:12px}.close{min-width:44px;min-height:44px;top:8px;right:8px}dialog{max-height:90dvh;overflow:auto}body.dialog-open{overflow:hidden}svg{display:block}i[data-icon]{font-style:normal}
@media(max-width:1200px){.header nav a{font-size:10px}.header{gap:16px}.brand{width:140px}.header nav{gap:10px}.hero{min-height:600px}.room-cards{gap:18px}.card-copy{padding:24px 20px}.experience-cards{gap:14px}.experience-card .card-copy{padding:22px 16px}.experience-card h3{font-size:29px}.experience-card .card-image img{height:215px}.experience-intro .eyebrow{white-space:normal;max-width:180px}.amenity-strip{gap:14px}.event-formulas{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1050px){.header{min-height:96px}.header nav a{font-size:13px}.brand{width:150px}.brand img{height:80px}.hero-copy h1{font-size:65px}.room-cards{padding-left:5%;padding-right:5%}.card-copy h3{font-size:32px}.rooms .copy{padding:45px 9%}.rooms h2{font-size:46px}.experience-cards{grid-template-columns:repeat(2,1fr);gap:22px}.experience-card .card-image img{height:290px}.experience-card h3{min-height:0;font-size:35px}.experience-card .card-copy{padding:27px}.experience-card .eyebrow{font-size:10px}.experience-card .text-link,.experience-card .button{font-size:10px}.experience-card .button{align-self:flex-start;padding:15px 20px}.amenity-strip{grid-template-columns:repeat(4,1fr);row-gap:26px}.pool-section .copy{width:50%}.pool-section h2{font-size:49px}.restaurant h2{font-size:44px}.water-interlude p{font-size:34px}.section-heading{gap:7%}.section-heading h2{font-size:49px}.footer-grid{gap:30px}}
@media(max-width:800px){.hero{min-height:590px;height:590px}.hero-copy h1{font-size:57px}.booking{grid-template-columns:1fr 1fr;padding:25px}.booking .button{width:100%}.story{grid-template-columns:1fr 1fr}.story .copy{padding:45px 10%}.story h2{font-size:43px}.story>img{min-height:470px}.room-cards{grid-template-columns:1fr;gap:22px;padding:32px 6.5% 24px}.room-card{display:grid;grid-template-columns:45% 55%}.room-card .card-image img{height:100%;min-height:330px}.room-card .card-copy{padding:25px 28px}.room-card .button{margin-top:12px}.rooms>img{min-height:430px}.practical{grid-template-columns:1fr 1fr;gap:25px}.practical>div:first-child{grid-column:1/-1}.practical h3{font-size:35px}.pool-section{min-height:500px}.pool-section .copy{width:55%}.pool-section h2{font-size:43px}.water-interlude{grid-template-columns:55% 45%}.water-interlude>div{padding:35px 12%}.water-interlude p{font-size:32px}.restaurant .copy{padding:40px 9%}.restaurant h2{font-size:38px}.section-heading{grid-template-columns:1fr;gap:25px}.event-formulas{grid-template-columns:repeat(2,minmax(0,1fr))}.section-bottom{align-items:flex-start;flex-direction:column;gap:16px}.destination-banner{height:450px}.destination-intro h2{font-size:54px}.experience-intro{display:block}.experience-intro .eyebrow{max-width:none;margin-top:22px}.camping-section{gap:5%;grid-template-columns:40% 1fr}.camping-heading h2{font-size:45px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{display:block}}
@media(max-width:600px){body{font-size:14px}.header{min-height:84px;padding:7px 5%;gap:10px}.brand{width:122px}.brand img{height:70px}.header-book{padding:14px;font-size:10px}.menu-toggle{font-size:11px;padding:10px 0}.header nav.open{grid-template-columns:1fr;gap:0;padding:14px 5%;max-height:calc(100dvh - 84px);overflow:auto}.header nav a{padding:12px 0;font-size:12px;text-align:left}.hero{height:600px;min-height:600px}.hero-copy{padding:0 7% 50px}.hero-copy h1{font-size:clamp(43px,10.4vw,60px);max-width:500px;line-height:1.02}.hero-copy .eyebrow{font-size:9px;letter-spacing:.13em}.hero-copy p{font-size:14px}.hero-photo{object-position:59% center}.hero-shade{background:linear-gradient(90deg,#211c15b5,#211c1545)}.hero-actions{gap:10px}.hero-actions .button{font-size:9px;padding:15px 13px}.welcome{padding:0 5% 35px}.booking{top:-35px;margin-bottom:-15px;padding:20px 16px;gap:20px 12px}.booking label{gap:8px}.booking label>span:last-child{font-size:11px}.booking input,.booking select{font-size:11px}.booking .button{font-size:9px;padding:14px 9px}.form-icon{font-size:22px}.booking-note{font-size:10px;line-height:1.7;margin:10px 0 25px}.highlights{gap:25px 0}.highlights strong{font-size:10px}.highlights a>span:last-child{font-size:10px}.feature-icon{height:36px;margin-bottom:11px}.feature-icon svg{width:32px;height:32px}.story,.rooms,.restaurant{grid-template-columns:1fr}.copy,.story .copy,.rooms .copy,.restaurant .copy{padding:42px 7%}.copy h2,.rooms h2,.restaurant h2{font-size:46px;line-height:1.03}.copy p{font-size:13px;line-height:1.85}.story>img,.rooms>img,.restaurant>img{min-height:0;height:320px}.rooms .copy{order:0}.rooms>img{order:1}.rooms .eyebrow{font-size:9px}.room-cards{padding:27px 5% 20px;gap:24px}.room-card{display:flex}.room-card .card-image img{height:260px;min-height:0}.room-card .card-copy{padding:26px}.card-copy h3{font-size:38px}.room-amenities{font-size:11px}.room-card .button{margin-top:10px}.photo-note{font-size:9px;padding:0 7%;margin-bottom:26px}.amenity-strip{grid-template-columns:repeat(3,1fr);padding:28px 5%;gap:24px 10px}.amenity-strip>span{font-size:10px}.amenity-strip svg{width:25px;height:25px}.practical{padding:30px 7%;gap:25px 18px}.practical h3{font-size:33px}.practical strong{font-size:11px}.practical p{font-size:10px;line-height:1.9}.pool-section{min-height:610px}.pool-section .copy{width:100%;padding:40px 7%}.pool-section .copy h2{font-size:47px}.pool-section .copy p{font-size:13px;max-width:360px}.pool-gradient{background:linear-gradient(180deg,var(--lagoon) 0%,#68bfc0fa 43%,#68bfc032 70%,transparent 89%)}.pool-section>img{object-position:60% bottom}.water-interlude{grid-template-columns:1fr}.water-interlude>img{height:280px}.water-interlude>div{padding:35px 7%}.water-interlude p{font-size:40px}.water-interlude .eyebrow{font-size:10px}.restaurant .copy{order:-1}.events-section{padding:45px 7%}.section-heading h2{font-size:46px}.section-heading p{font-size:13px}.event-formulas{gap:10px}.formula{padding:18px 13px;min-height:157px}.formula strong{font-size:11px;max-width:130px}.formula small{font-size:10px;max-width:130px}.formula-arrow{right:10px;top:14px;font-size:17px}.section-bottom .button{width:100%;font-size:10px}.section-bottom p{font-size:10px}.destination-banner{height:450px}.destination-banner>img{object-position:55% center}.destination-shade{background:linear-gradient(90deg,#44322abf,#44322a48)}.destination-intro{padding:40px 7%}.destination-intro .eyebrow{font-size:9px;line-height:1.8;max-width:280px}.destination-intro h2{font-size:46px}.destination-intro p{font-size:12px;line-height:1.8}.destination-intro p br{display:none}.experience-intro{padding:28px 7% 22px}.experience-intro p{font-size:12px}.experience-cards{grid-template-columns:1fr;padding:0 5% 25px;gap:24px}.experience-card .card-image img{height:280px}.experience-card .card-copy{padding:25px}.experience-card h3{font-size:38px;margin-bottom:16px}.experience-card .text-link{font-size:10px}.experience-card .button{width:100%;font-size:10px}.destination-section>.photo-note{padding-bottom:25px}.camping-section{grid-template-columns:1fr;gap:25px;padding:45px 7%}.camping-heading h2{font-size:48px;line-height:1.02}.camping-copy p{font-size:13px}.camping-copy{padding:0}.camping-tags{gap:8px}.camping-tags span{font-size:9px}.final-cta{min-height:440px}.final-cta>div:last-child{padding:40px 7%}.final-cta h2{font-size:52px}.final-cta p{font-size:12px}.final-cta .button{font-size:10px;display:flex;width:100%;margin:10px 0}.footer-grid{gap:30px 20px;padding-top:14px}.footer-grid>div:last-child{display:block}.footer-grid>div:nth-child(3){grid-column:1/-1}footer .footer-brand{width:155px;padding:8px}.footer-brand img{max-height:105px}footer a,footer p{font-size:11px}footer h3{font-size:9px}footer .footer-tagline{font-size:24px}.footer-bottom{font-size:9px}.photo-credits{font-size:9px}footer{padding-bottom:90px}.whatsapp-float{bottom:85px;right:15px;width:49px;height:49px;padding:0;justify-content:center}.whatsapp-float>span:last-child{display:none}.mobile-book{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;gap:12px;align-items:center;padding:10px 5% max(10px,env(safe-area-inset-bottom));background:var(--ivory);border-top:1px solid var(--sand);box-shadow:0 -5px 20px #44322a12}.mobile-book .button{flex:1;font-size:10px;min-height:45px;padding:13px}.mobile-book>a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--turquoise)}.mobile-book svg{width:22px;height:22px}.form-dialog{padding:38px 23px 25px;width:calc(100% - 24px);max-height:93dvh}.form-dialog h2{font-size:39px}.form-grid{gap:14px 12px;margin-top:20px}.form-dialog label{font-size:10px}.form-dialog input,.form-dialog select,.form-dialog textarea{font-size:16px;padding:10px 8px}.form-dialog fieldset label{font-size:10px;line-height:1.7}.form-dialog fieldset{padding:12px}.form-dialog legend{font-size:10px;max-width:95%}.form-actions{flex-direction:column;gap:10px}.form-actions .button{font-size:10px}.form-note{font-size:9px}.dialog-open .mobile-book,.dialog-open .whatsapp-float{visibility:hidden}}
@media(max-width:370px){.brand{width:105px}.header-book{padding:12px 10px}.header{gap:8px}.hero-copy h1{font-size:41px}.form-grid{grid-template-columns:1fr}.practical{grid-template-columns:1fr}.event-formulas{grid-template-columns:1fr}.formula{min-height:135px}.formula strong,.formula small{max-width:none}.experience-card .card-image img{height:250px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover{transform:none}}
/* Official category amendment: rates remain unpublished until mapping is validated. */
.room-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.room-card .card-copy h3{font-size:28px;line-height:1.1;min-height:62px;letter-spacing:-.02em}.room-card .card-image img{height:235px}.category-note{font-size:11px;line-height:1.7;margin-bottom:15px}.rate-pending{font-size:11px;color:var(--cacao);padding-top:12px;border-top:1px solid var(--sand);margin-bottom:22px}.tariff-notice{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:25px 6.5% 35px}.tariff-notice strong{display:block;font-size:12px;margin:12px 0 8px}.tariff-notice p{font-size:12px;line-height:1.8;margin:0}.stay-summary{margin:24px 0 0;padding:20px;background:var(--sand)}.stay-summary h3{font-size:29px;margin:0 0 16px}.stay-summary dl{margin:0}.stay-summary dl>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #44322a22;font-size:11px}.stay-summary dt{max-width:45%;font-weight:600}.stay-summary dd{margin:0;text-align:right;max-width:60%;line-height:1.7}.stay-summary dl>div:last-child{border:0;font-weight:700}.stay-summary>p{font-size:10px;line-height:1.7;margin:12px 0 0}footer .footer-brand{background:none;padding:0}
@media(max-width:1100px){.room-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.room-card .card-copy h3{font-size:32px;min-height:0}.room-card .card-image img{height:280px}}
@media(max-width:800px){.room-card{display:flex}.room-card .card-copy{padding:25px}.room-card .card-image img{height:260px;min-height:0}.room-card .card-copy h3{font-size:30px}}
@media(max-width:600px){.room-cards{grid-template-columns:1fr;gap:24px}.room-card .card-copy h3{font-size:35px}.room-card .card-image img{height:280px}.tariff-notice{grid-template-columns:1fr;padding:0 7% 30px;gap:15px}.tariff-notice strong,.tariff-notice p{font-size:11px}.stay-summary{padding:17px}.stay-summary dl>div{font-size:10px;gap:12px}.stay-summary dt{max-width:42%}.stay-summary dd{max-width:58%}}
/* Readable text and controls at every viewport. */
body{font-size:16px}.copy p,.pool-section .copy p,.camping-copy p,.section-heading p,.destination-intro p{font-size:16px}.button,.text-link,.header nav a,.header-book,.hero-actions .button,.experience-card .text-link,.experience-card .button,.section-bottom .button,.final-cta .button{font-size:12px}.eyebrow,.hero-copy .eyebrow,.rooms .eyebrow,.destination-intro .eyebrow,.experience-card .eyebrow,.final-cta .eyebrow{font-size:12px;letter-spacing:.12em}.highlights strong,.highlights a>span:last-child,.booking-note,.booking input,.booking select,.booking label>span:last-child{font-size:12px}.included,.room-amenities,.category-note,.breakfast,.rate-pending,.tariff-notice strong,.tariff-notice p,.amenity-strip>span,.practical strong,.practical p,.formula strong,.formula small,.section-bottom p,.experience-intro p,.experience-card p,.camping-tags span{font-size:13px}.experience-card p{font-size:15px}.photo-note,.photo-caption,footer a,footer p,footer button,.footer-bottom,.photo-credits,.photo-credits p,.photo-credits a,footer h3,.footer-grid .text-link,.footer-times{font-size:12px}.form-dialog label,.form-dialog legend,.form-dialog fieldset label{font-size:13px}.form-dialog>p{font-size:15px}.form-actions .button,.form-note,.form-status,.stay-summary dl>div,.stay-summary>p{font-size:12px}.restaurant-note{font-size:14px!important}.formula{min-height:170px}.formula-arrow{display:none}.card-copy{padding-left:22px;padding-right:22px}.experience-card .text-link{letter-spacing:.035em}.camping-heading img{height:160px;max-width:370px;margin-top:25px;object-position:center 65%;border:1px solid #f7f2e933}.form-dialog .form-grid input,.form-dialog .form-grid select{min-height:44px}
@media(max-width:1200px){.header nav a{font-size:11px}.header{gap:14px}.brand{width:135px}}
@media(max-width:1050px){.header nav a{font-size:14px}.brand{width:150px}.card-copy{padding:25px}.header-book{font-size:12px}.experience-card .button{font-size:12px}.practical p{font-size:13px}}
@media(max-width:600px){.header{gap:9px}.brand{width:113px}.header-book{font-size:11px;padding:13px 12px}.menu-toggle{font-size:12px}.hero-actions .button{font-size:11px;padding:15px 12px}.hero-copy p{font-size:16px}.hero-copy .eyebrow{font-size:11px}.copy p,.pool-section .copy p,.camping-copy p,.section-heading p{font-size:16px}.highlights strong,.highlights a>span:last-child{font-size:12px}.booking .button{font-size:11px;letter-spacing:.025em}.booking label>span:last-child,.booking input,.booking select{font-size:12px}.booking label .form-icon{display:none}.booking-note{font-size:12px}.practical{grid-template-columns:1fr}.practical>div:first-child{grid-column:auto}.formula strong,.formula small{font-size:12px;max-width:none}.formula{min-height:180px;padding:18px 14px}.event-formulas{grid-template-columns:1fr 1fr}.destination-intro .eyebrow{font-size:11px}.destination-intro p{font-size:15px}.form-dialog input,.form-dialog select,.form-dialog textarea{font-size:16px}.stay-summary dl>div{flex-direction:column;gap:5px}.stay-summary dt,.stay-summary dd{max-width:100%;text-align:left}.mobile-book .button{font-size:12px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.camping-heading img{max-width:100%;height:185px}}
@media(max-width:370px){.brand{width:100px}.header-book{font-size:10px;padding:12px 9px}.event-formulas{grid-template-columns:1fr}.formula{min-height:145px}.hero-actions{flex-wrap:wrap}.hero-actions .button{font-size:11px}}
