:root{--terra:#B85E43;--turquoise:#167C82;--lagoon:#68BFC0;--sand:#E9D7BA;--ivory:#F7F2E9;--cacao:#44322A}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--ivory);color:var(--cacao);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:1.06;margin:12px 0 22px}h1{font-size:clamp(38px,4.8vw,70px)}h2{font-size:clamp(32px,3.6vw,53px)}p{margin:0 0 16px;line-height:1.5}em{font-style:normal;color:var(--terra)}.eyebrow{display:block;color:var(--terra);font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:600}.eyebrow.light{color:white;font-size:18px;letter-spacing:.12em}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;border:1px solid var(--terra);padding:16px 26px;background:var(--terra);color:white;text-transform:uppercase;font-size:13px;letter-spacing:.06em;font-weight:600;line-height:1.3;min-height:48px;transition:background .2s}.button:hover{background:#9d4d36}.button.outline{background:transparent;border-color:#fff}.button.outline:hover{background:#ffffff20}.button.turquoise{background:var(--turquoise);border-color:var(--turquoise)}.header{min-height:130px;display:flex;align-items:center;gap:24px;padding:12px 5%;background:var(--ivory);position:relative;z-index:5}.brand{width:180px;flex:none}.brand img{height:112px;object-fit:contain}.header nav{display:flex;align-items:center;justify-content:space-between;gap:17px;flex:1}.header nav a,.header nav button{font-size:13px;line-height:1.35;text-align:center;border:0;background:none;padding:8px 0;color:var(--cacao)}.header nav .active{color:var(--terra);border-bottom:1px solid var(--terra)}.header nav a:hover,.header nav button:hover{color:var(--terra)}.header-book{padding:16px 20px;flex:none}.menu-toggle{display:none}.hero{height:640px;position:relative;color:white;display:flex;align-items:center}.hero-photo,.hero-shade{position:absolute;inset:0;height:100%}.hero-photo{object-position:center 58%}.hero-shade{background:linear-gradient(90deg,rgba(10,25,22,.75),rgba(10,25,22,.4) 44%,transparent 78%)}.hero-copy{position:relative;width:min(1400px,100%);padding:0 6.5%;margin:auto}.hero-copy h1{max-width:820px}.hero-copy p{font-size:20px;line-height:1.45}.line{display:block;width:44px;border-top:1px solid var(--sand);margin:24px 0}.hero-actions{display:flex;gap:18px;margin-top:26px}.welcome{position:relative;padding:0 5.3% 28px;background:var(--ivory)}.booking{position:relative;top:-45px;margin-bottom:-20px;background:var(--ivory);box-shadow:0 5px 14px #44322a22;display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr;align-items:center;gap:20px;padding:24px 28px;min-height:100px}.booking label{display:flex;gap:18px;align-items:center}.booking label>span:last-child{flex:1;min-width:0;font-size:14px;font-weight:600}.form-icon{color:var(--terra);font-size:32px;line-height:1}.booking label:nth-child(2) .form-icon,.booking label:nth-child(3) .form-icon{color:var(--cacao)}input,select{display:block;width:100%;border:0;background:transparent;color:var(--cacao);padding:7px 0 0;font-size:13px;font-weight:400;min-height:32px}.highlights{display:grid;grid-template-columns:repeat(4,1fr);padding-top:5px}.highlights a{display:flex;flex-direction:column;text-align:center;align-items:center;padding:0 15px;border-right:1px solid #e9d7ba80}.highlights a:last-child{border:0}.feature-icon{height:58px;color:var(--turquoise);margin-bottom:12px;display:flex;align-items:center}.feature-icon svg{width:48px;height:48px}.feature-icon.terra{color:var(--terra)}.highlights strong{font-size:14px;text-transform:uppercase;letter-spacing:.06em;font-weight:500}.highlights a>span:last-child{font-size:13px;margin-top:3px}.split{display:grid;grid-template-columns:42% 58%;min-height:470px}.split>img{height:100%;min-height:470px}.copy{padding:45px max(35px,6.5vw);align-self:center}.copy p{font-size:17px;max-width:530px}.copy .button{margin-top:2px}.story .copy{padding-right:40px}.rooms{grid-template-columns:58% 42%;min-height:400px}.rooms>img{min-height:400px;object-position:center 60%}.rooms .copy{padding:40px 6% 40px 10%}.pool-section{position:relative;min-height:365px;display:flex;align-items:center;background:var(--lagoon)}.pool-section>img,.pool-gradient{position:absolute;inset:0;height:100%}.pool-section>img{object-position:center 57%}.pool-gradient{background:linear-gradient(90deg,#d9eeee 0%,#d9eeee 25%,#d9eeeee6 36%,transparent 62%)}.pool-section .copy{position:relative;max-width:530px;padding:35px 0 35px 6.8%;width:44%}.pool-section .eyebrow{color:var(--turquoise)}.pool-section h2{margin-bottom:16px}.restaurant{grid-template-columns:50% 50%;min-height:310px}.restaurant>img{min-height:310px}.restaurant .copy{padding:30px 8% 30px 12%}.restaurant h2{font-size:38px;margin-bottom:12px}.discovery{display:grid;grid-template-columns:45% 55%}.discovery>.copy{padding:35px 12%}.discovery h2{font-size:36px;margin-bottom:12px}.discovery p{font-size:16px}.destination{display:grid;grid-template-columns:62% 38%;background:var(--sand)}.destination .copy{padding:30px 9%}.destination img{height:100%}.final-cta{position:relative;min-height:245px;display:flex;align-items:center;justify-content:center;color:white;overflow:hidden}.final-cta>img,.cta-overlay{position:absolute;inset:0;height:100%}.cta-overlay{background:linear-gradient(90deg,#44322a75,#167c82ef 40%,#167c82e6 70%,#44322a75)}.final-cta>div:last-child{position:relative;padding:30px}.final-cta h2{font-size:38px;margin:0 0 12px}.final-cta p{font-size:16px}footer{background:var(--cacao);color:var(--ivory);padding:30px 6.5% 20px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr .9fr;gap:40px;padding-bottom:30px}.footer-brand{align-self:center;max-width:205px}.footer-brand img{height:145px;object-fit:contain}footer h3{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#db9470;font-weight:500;margin:0 0 18px}footer p,footer a,footer button{font-size:14px;line-height:1.55}footer a,footer button{display:block}footer button{padding:0;border:0;background:none;color:inherit;text-align:left}.footer-bottom{border-top:1px solid #ffffff30;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#d4c2b4}.footer-tagline{font-family:Georgia,serif;font-size:22px}dialog{border:0;background:var(--ivory);color:var(--cacao);padding:45px;max-width:560px;width:calc(100% - 36px);box-shadow:0 20px 100px #0005}dialog::backdrop{background:#44322a99}dialog h2{font-size:36px}.close{position:absolute;right:14px;top:8px;background:none;border:0;font-size:30px;color:var(--cacao)}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.header{padding-left:6%;padding-right:6%}}@media(max-width:1150px){.header{gap:15px;padding:12px 3%}.brand{width:145px}.header nav{gap:12px}.header nav a,.header nav button{font-size:12px}.header-book{padding:14px}.booking{gap:12px;padding:20px}.booking label{gap:10px}.copy{padding:35px 6%}.hero{height:580px}.discovery h2{font-size:30px}.destination{grid-template-columns:1fr}.destination>img{display:none}.footer-grid{gap:25px}}@media(max-width:900px){.header{min-height:100px;justify-content:space-between;gap:15px}.brand{width:140px}.brand img{height:83px}.menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:none;font-size:14px;margin-left:auto}.header-book{font-size:12px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ivory);padding:20px;box-shadow:0 8px 15px #0002}.header nav.open{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.header nav a,.header nav button{font-size:14px;text-align:left;padding:12px}.hero{height:570px}.hero-copy{padding:0 6%}.hero-copy h1{font-size:46px}.hero-copy p{font-size:18px}.booking{grid-template-columns:1fr 1fr;gap:20px}.booking .button{width:100%}.highlights{padding-top:15px}.highlights a{padding:0 8px}.highlights strong{font-size:12px}.highlights a>span:last-child{font-size:12px}.split{min-height:380px;grid-template-columns:45% 55%}.split>img{min-height:380px}.rooms{grid-template-columns:55% 45%}.copy h2{font-size:35px}.copy p{font-size:16px}.copy .button{font-size:12px;padding:14px 16px}.pool-section .copy{width:48%;max-width:none}.pool-gradient{background:linear-gradient(90deg,#d9eeee 0%,#d9eeeeed 40%,transparent 75%)}.restaurant{grid-template-columns:50% 50%;min-height:330px}.restaurant>img{min-height:330px}.restaurant .copy{padding:28px 8%}.restaurant h2{font-size:30px}.discovery{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.final-cta h2{font-size:34px}}@media(max-width:600px){.header{padding:8px 5%;min-height:94px}.brand{width:115px}.brand img{height:78px}.menu-toggle{font-size:13px;gap:6px}.header-book{padding:13px 15px;min-height:43px}.hero{height:555px}.hero-photo{object-position:61% center}.hero-shade{background:linear-gradient(90deg,#102520c9,#10252065)}.hero-copy{padding:0 7% 30px}.hero-copy h1{font-size:39px;line-height:1.08}.hero-copy .eyebrow{font-size:15px}.hero-copy p{font-size:17px}.hero-actions{gap:12px}.hero-actions .button{font-size:11px;padding:14px 16px}.welcome{padding:0 5% 24px}.booking{top:-32px;margin-bottom:-5px;padding:22px 18px;gap:18px 12px}.form-icon{font-size:25px}.booking label{gap:9px}.booking label>span:last-child{font-size:13px}.booking input,.booking select{font-size:12px}.booking .button{font-size:11px;padding:14px 10px}.highlights{grid-template-columns:1fr 1fr;row-gap:27px}.highlights a:nth-child(2){border:0}.feature-icon svg{width:40px;height:40px}.feature-icon{height:48px;margin-bottom:8px}.highlights strong{font-size:12px}.highlights a>span:last-child{font-size:12px}.split,.rooms,.restaurant{grid-template-columns:1fr;min-height:0}.copy,.story .copy,.rooms .copy,.restaurant .copy{padding:34px 7%}.copy h2{font-size:37px}.copy p{font-size:16px;line-height:1.5}.split>img,.rooms>img,.restaurant>img{height:280px;min-height:0}.story>img{height:285px}.rooms>img{order:1}.rooms .copy{order:0}.pool-section{min-height:530px;align-items:flex-start}.pool-section>img{object-position:63% bottom}.pool-gradient{background:linear-gradient(180deg,#d9eeee 0%,#d9eeee 39%,#d9eeee30 68%,transparent 85%)}.pool-section .copy{width:100%;padding:30px 7%;max-width:100%}.pool-section .copy p{max-width:360px}.pool-section h2{font-size:37px}.pool-section .eyebrow{font-size:12px}.restaurant .copy{order:-1}.discovery{grid-template-columns:1fr}.discovery>.copy,.destination .copy{padding:34px 7%}.destination{grid-template-columns:62% 38%}.destination .copy{padding:30px 10%}.destination>img{display:block}.destination .copy h2{font-size:32px}.destination .copy p{font-size:14px}.destination .button{font-size:11px;padding:13px 12px}.final-cta{min-height:280px}.final-cta>div:last-child{padding:32px 7%}.final-cta h2{font-size:34px}.final-cta p{font-size:15px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}footer{padding:28px 7% 20px}.footer-brand{width:155px}.footer-grid>div:nth-child(3){grid-column:1/-1}footer a{overflow-wrap:anywhere}.footer-grid>div:last-child{display:none}.footer-bottom{display:block;font-size:11px}.footer-bottom span{display:block;margin-bottom:8px}dialog{padding:36px 24px}dialog h2{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Refinements of the validated home page */
.header{min-height:114px;padding-top:8px;padding-bottom:8px;gap:28px}
.brand{width:180px}
.brand img{height:96px;object-fit:contain}
.header nav{gap:16px}
.header nav a,.header nav button{font-weight:500}
.header-book{padding:16px 22px}
.hero{height:620px}
.hero-photo{object-position:center 64%}
.hero-shade{background:linear-gradient(90deg,rgba(33,28,21,.69) 0%,rgba(33,28,21,.48) 36%,rgba(33,28,21,.1) 68%,transparent 100%)}
.hero-copy h1{line-height:1.08}
.hero-copy p{font-size:19px;line-height:1.5}
.booking{padding:25px 30px;box-shadow:0 5px 16px #44322a16}
.highlights{padding-top:12px;padding-bottom:10px}
.highlights strong{font-weight:600}
.story{background:var(--ivory);min-height:480px}
.story>img{min-height:480px;object-position:50% 48%}
.copy h2{line-height:1.09}
.copy p{line-height:1.6}
.rooms{background:color-mix(in srgb,var(--sand) 28%,var(--ivory));min-height:420px}
.rooms>img{min-height:420px}
.rooms .copy{padding:45px 8% 45px 10%}
.pool-section{min-height:390px;background:var(--lagoon)}
.pool-gradient{background:linear-gradient(90deg,var(--lagoon) 0%,var(--lagoon) 27%,#68bfc0ef 35%,#68bfc075 49%,transparent 65%)}
.pool-section .copy{width:43%;max-width:560px;padding:38px 0 38px 6.5%;padding-right:22px}
.pool-section .copy p{max-width:430px}
.pool-section h2{line-height:1.08}
.pool-section .eyebrow{color:var(--turquoise)}
.restaurant{min-height:325px}
.restaurant>img{min-height:325px}
.restaurant .copy{padding:36px 9% 36px 12%}
.discovery>.copy{padding-top:42px;padding-bottom:42px}
.destination .copy{padding-top:38px;padding-bottom:38px}
.camping-section{display:grid;grid-template-columns:45% 55%;background:var(--terra);color:var(--ivory);padding:50px 6.5%;gap:35px;align-items:center}
.camping-heading .eyebrow{color:var(--sand)}
.camping-heading h2{font-size:clamp(36px,3.6vw,53px);margin-bottom:0}
.camping-copy{padding-right:45px;max-width:600px}
.camping-copy p{font-size:17px;line-height:1.6}
.sand-button{background:var(--sand);border-color:var(--sand);color:var(--cacao);margin-top:8px}
.sand-button:hover{background:var(--ivory);border-color:var(--ivory)}
.footer-brand{max-width:220px}
.footer-brand img{height:auto;object-fit:contain;max-height:155px}
@media(max-width:1150px){.header{gap:18px}.brand{width:155px}.header nav{gap:12px}.copy p{font-size:16px}.hero{height:580px}.pool-section .copy{width:48%;padding-left:6%}.camping-section{gap:25px;padding:42px 6%}.camping-copy{padding-right:0}}
@media(max-width:900px){.header{min-height:94px;padding-top:8px;padding-bottom:8px}.brand{width:145px}.brand img{height:78px}.hero{height:560px}.header nav.open{gap:8px 20px}.hero-copy p{font-size:18px}.booking{padding:22px}.story>img{min-height:400px}.story{min-height:400px}.rooms,.rooms>img{min-height:400px}.rooms .copy{padding:35px 9%}.pool-section .copy{width:52%;padding:35px 5% 35px 6%}.pool-gradient{background:linear-gradient(90deg,var(--lagoon) 0%,#68bfc0fa 34%,#68bfc0a0 52%,transparent 75%)}.restaurant .copy{padding:30px 8%}.camping-section{grid-template-columns:43% 57%;gap:20px}.camping-copy p{font-size:16px}.camping-heading h2{font-size:36px}}
@media(max-width:600px){.header{min-height:84px;padding:7px 5%;gap:12px}.brand{width:122px}.brand img{height:70px}.header-book{padding:13px 15px}.hero{height:545px}.hero-photo{object-position:57% center}.hero-shade{background:linear-gradient(90deg,#211c15bc,#211c1560)}.hero-copy p{font-size:17px}.hero-copy h1{font-size:39px;line-height:1.1}.booking{padding:21px 16px}.story,.rooms,.restaurant{min-height:0}.split>img,.story>img,.rooms>img,.restaurant>img{min-height:0;height:290px}.rooms .copy,.restaurant .copy{padding:36px 7%}.pool-section{min-height:560px}.pool-section .copy{width:100%;max-width:none;padding:33px 7%}.pool-section .copy p{max-width:360px}.pool-gradient{background:linear-gradient(180deg,var(--lagoon) 0%,#68bfc0fa 42%,#68bfc038 70%,transparent 86%)}.pool-section>img{object-position:58% bottom}.discovery>.copy,.destination .copy{padding-top:36px;padding-bottom:36px}.camping-section{grid-template-columns:1fr;padding:36px 7%;gap:24px}.camping-heading h2{font-size:38px;line-height:1.09}.camping-heading h2 br{display:none}.camping-copy{padding:0}.camping-copy p{font-size:16px}.footer-brand{width:160px}}
.camping-section{grid-template-columns:45% 1fr}
@media(max-width:1050px){
.header{min-height:96px;gap:18px}
.brand{width:150px}.brand img{height:80px}
.menu-toggle{display:flex;align-items:center;gap:10px;border:0;background:none;font-size:14px;margin-left:auto;color:var(--cacao)}
.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ivory);padding:20px;box-shadow:0 8px 15px #0002}
.header nav.open{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.header nav a,.header nav button{font-size:14px;text-align:left;padding:12px}
}
@media(max-width:900px){.camping-section{grid-template-columns:43% 1fr}}
@media(max-width:600px){
.header{min-height:84px;padding:7px 5%;gap:12px}
.brand{width:122px}.brand img{height:70px}
.menu-toggle{font-size:13px;gap:6px}
.camping-section{grid-template-columns:1fr}
}
