:root{--forest:#17382d;--deep:#102920;--cream:#f4f1e8;--sand:#dfd4bf;--rust:#b77750;--ink:#18271f;--muted:#66736a;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.scroll-progress{position:fixed;z-index:30;top:0;left:0;width:100%;height:2px}.scroll-progress span{display:block;width:0;height:100%;background:#d1ad77}.site-header{height:82px;position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 6.2%;color:white;border-bottom:1px solid rgba(255,255,255,.19)}.brand{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:700;letter-spacing:.17em}.brand small{display:block;margin-top:4px;font-size:9px;font-weight:500;letter-spacing:.26em}.brand-mark{font-family:var(--serif);font-style:italic;font-size:29px;font-weight:500;letter-spacing:-.12em;line-height:1;border-right:1px solid rgba(255,255,255,.45);padding-right:14px}.main-nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:500}.main-nav>a:not(.nav-cta){opacity:.83;transition:opacity .2s}.main-nav>a:hover,.main-nav .active{opacity:1!important}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:12px 16px;border-radius:2px}.nav-cta span{margin-left:12px}.menu-toggle{display:none}.hero,.events-hero{height:min(850px,100svh);min-height:640px;position:relative;color:white;overflow:hidden;background:var(--forest)}.hero-photo,.events-hero-bg{position:absolute;inset:0;background-image:url('img/atras.jpeg');background-size:cover;background-position:center 51%;transform:scale(1.03);animation:hero-arrive 1.1s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,32,25,.74),rgba(13,32,25,.26) 58%,rgba(13,32,25,.05)),linear-gradient(0deg,rgba(12,26,21,.38),transparent 28%)}.hero-content{position:absolute;left:12.3%;top:50%;transform:translateY(-42%);max-width:680px}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;color:#8a6946;display:flex;align-items:center;gap:10px;margin:0 0 24px}.eyebrow>span{display:inline-block;width:23px;height:1px;background:currentColor}.eyebrow.light{color:#e2c8a1}.hero h1,.events-hero h1{font:500 clamp(54px,7vw,100px)/1.03 var(--serif);letter-spacing:-.045em;margin:0}.hero h1 em,.events-hero h1 em,h2 em{font-weight:500;color:#d7b68c}.hero-copy{font-size:15px;line-height:1.8;max-width:390px;color:rgba(255,255,255,.85);margin:24px 0 30px}.button{display:inline-flex;align-items:center;gap:28px;padding:16px 19px;font-size:11px;letter-spacing:.04em;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:16px}.button-light{background:#f1e9dc;color:var(--forest)}.button-light:hover{background:white}.button-dark{background:var(--forest);color:white}.button-outline{border:1px solid rgba(255,255,255,.7);color:white}.hero-caption{position:absolute;bottom:38px;left:6.2%;right:6.2%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.8)}.scroll-cue{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.2em;display:flex;align-items:center;gap:10px;white-space:nowrap;color:rgba(255,255,255,.82)}.scroll-cue span{height:32px;width:1px;background:rgba(255,255,255,.65)}.section-pad{padding:120px 12.3%}.intro{padding-bottom:110px}.intro-kicker{margin-bottom:43px}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:70px;margin-bottom:73px}h2{font:500 clamp(40px,5vw,68px)/1.12 var(--serif);letter-spacing:-.04em;margin:0;color:var(--forest)}h2 em{color:#9d734e}.intro-text{max-width:400px;padding-bottom:5px}.intro-text p,.section-heading>p,.visit-card>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#647168;margin:0 0 21px}.text-link{font-size:11px;font-weight:700;border-bottom:1px solid #aa8a68;padding-bottom:8px}.text-link span{padding-left:18px}.landscape-strip{position:relative;height:410px;overflow:hidden}.landscape-strip img{object-position:center 56%;transition:transform 1s}.landscape-strip:hover img{transform:scale(1.025)}.strip-note{position:absolute;right:0;bottom:0;background:var(--forest);color:white;width:226px;height:155px;padding:21px 25px}.strip-note span{font-size:9px;color:#cfab7c}.strip-note p{font:22px/1.25 var(--serif);margin:14px 0 0}.story{height:700px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--deep);color:white}.story-image{position:absolute;inset:0;background-image:url('img/cabanapisci.jpeg');background-size:cover;background-position:center 54%;background-attachment:fixed;transform:scale(1.02)}.story-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,32,23,.8),rgba(11,31,23,.31) 70%),linear-gradient(0deg,rgba(13,33,26,.2),transparent)}.story-content{position:relative;margin-left:17%;max-width:480px}.story-content h2{font-size:clamp(48px,6vw,78px);color:white}.story-content>p:not(.eyebrow){font-size:13px;line-height:1.9;color:rgba(255,255,255,.8);max-width:380px;margin:20px 0 27px}.story-index{position:absolute;right:6.2%;bottom:37px;font-size:8px;letter-spacing:.2em;color:rgba(255,255,255,.75)}.food{padding-top:125px;padding-bottom:115px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.section-heading h2{font-size:clamp(40px,4.6vw,61px)}.section-heading>p{max-width:300px;margin-bottom:4px}.food-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:22px;align-items:start}.food-grid figure{position:relative;margin:0;overflow:hidden;background:#d6ccbb}.food-main{height:510px}.food-secondary{height:390px;margin-top:90px!important}.food-grid img{transition:transform .6s}.food-grid figure:hover img{transform:scale(1.04)}.food-grid figure:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(12,24,19,.7))}.food-grid figcaption{position:absolute;z-index:1;left:25px;bottom:25px;color:white;display:flex;flex-direction:column;gap:8px}.food-grid figcaption span{font-size:8px;letter-spacing:.19em}.food-grid figcaption strong{font:23px var(--serif);font-weight:500}.note{font-size:10px;color:#81867d;margin-top:20px}.spaces{background:#ebe7dc;padding-top:115px;padding-bottom:130px}.space-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:16px;align-items:start}.space-card{height:475px;position:relative;overflow:hidden;background:#ced4c8}.space-card:nth-child(2){margin-top:70px;height:405px}.space-card:nth-child(3){margin-top:130px;height:345px}.space-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(12,24,19,.79))}.space-card img{transition:transform .75s}.space-card:hover img{transform:scale(1.045)}.space-label{position:absolute;z-index:1;bottom:23px;left:21px;right:16px;color:white}.space-label>span{font-size:8px;letter-spacing:.17em;color:#dfc39b}.space-label h3{font:24px var(--serif);font-weight:500;margin:10px 0 5px}.space-label p{font-size:11px;line-height:1.6;color:rgba(255,255,255,.8);margin:0;max-width:220px}.event-banner{height:600px;background:var(--forest);color:white;position:relative;overflow:hidden;display:flex;align-items:center}.event-copy{margin-left:13%;position:relative;z-index:2}.event-copy h2{font-size:clamp(44px,5.3vw,70px);color:white;margin:0 0 29px}.event-photo{position:absolute;right:0;top:0;height:100%;width:52%;background:url('img/interior.jpeg') center 55%/cover}.event-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--forest),rgba(23,56,45,.42) 45%,transparent)}.visit{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%;align-items:center}.visit-card h2{font-size:clamp(50px,5.5vw,73px);margin-bottom:20px}.visit-card>p:not(.eyebrow){max-width:370px}.visit-card .button{margin-top:6px}.visit-image{height:490px;position:relative}.visit-image:after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(10,25,19,.44))}.visit-image>span{position:absolute;z-index:1;bottom:20px;left:21px;color:white;font-size:8px;letter-spacing:.2em}.site-footer{background:var(--deep);color:white;padding:35px 6.2%;min-height:125px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand-footer{font-size:11px}.site-footer>p{font:italic 15px var(--serif);color:#d2c3ad}.site-footer>div{display:flex;gap:24px;font-size:10px}.site-footer>small{font-size:9px;color:rgba(255,255,255,.56)}.events-hero{height:690px;min-height:600px}.events-hero-bg{background-image:url('img/interior.jpeg');background-position:center 52%}.events-hero .hero-content{left:12.3%}.events-intro{padding-top:105px;padding-bottom:100px}.events-intro h2{font-size:clamp(50px,6vw,75px)}.events-lead{max-width:560px;font-size:15px;line-height:1.9;color:#647168;margin:25px 0 58px}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d1cabb}.occasion-grid article{padding:26px 25px 8px 0}.occasion-grid article+article{border-left:1px solid #d1cabb;padding-left:25px}.occasion-grid article>span{font-size:9px;color:#a77c52;letter-spacing:.18em}.occasion-grid h3{font:24px var(--serif);font-weight:500;color:var(--forest);margin:24px 0 8px}.occasion-grid p{font-size:12px;line-height:1.8;color:#68756c;margin:0;max-width:240px}.events-photo{height:460px;position:relative}.events-photo img{object-position:center 58%}.events-photo p{position:absolute;right:0;bottom:0;margin:0;background:var(--forest);color:white;padding:24px 30px;font:19px var(--serif)}.event-contact{display:grid;grid-template-columns:1fr .9fr;gap:10%;align-items:center;background:var(--forest);color:white}.event-contact h2{color:white;font-size:clamp(46px,5vw,67px)}.event-contact>div>p:not(.eyebrow){font-size:13px;line-height:1.9;color:rgba(255,255,255,.77);max-width:380px;margin:20px 0 25px}.event-contact img{height:410px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes hero-arrive{from{transform:scale(1.09);filter:brightness(.85)}to{transform:scale(1.03);filter:brightness(1)}}
@media(max-width:900px){.site-header{padding:0 5%;height:74px}.main-nav{gap:18px;font-size:11px}.section-pad{padding-left:8%;padding-right:8%}.hero-content{left:9%}.intro-grid{gap:35px}.space-grid{grid-template-columns:1fr 1fr}.space-card:nth-child(n){margin-top:0;height:430px}.space-card:nth-child(3){grid-column:1/-1;width:55%;height:400px;margin-left:auto}.story-content{margin-left:12%}.visit{gap:6%}.event-copy{margin-left:10%}}
@media(max-width:640px){html{scroll-padding-top:68px}.site-header{height:68px;padding:0 21px;background:rgba(20,48,38,.24);backdrop-filter:blur(8px)}.brand{font-size:11px}.brand-mark{font-size:26px}.menu-toggle{display:flex;border:0;background:none;padding:10px 0 10px 10px;flex-direction:column;gap:6px;z-index:2}.menu-toggle i{display:block;width:23px;height:1px;background:white;transition:transform .2s}.menu-toggle[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.main-nav{position:absolute;top:67px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 22px 22px;background:var(--forest);opacity:0;visibility:hidden;transform:translateY(-7px);transition:.2s}.main-nav.open{opacity:1;visibility:visible;transform:translateY(0)}.main-nav>a:not(.nav-cta){padding:15px 0;border-bottom:1px solid rgba(255,255,255,.16)}.nav-cta{margin-top:15px;text-align:center}.hero,.events-hero{height:88svh;min-height:620px;max-height:800px}.hero-photo{background-position:57% center}.hero-shade{background:linear-gradient(90deg,rgba(12,30,23,.66),rgba(12,30,23,.17)),linear-gradient(0deg,rgba(10,24,17,.4),transparent 38%)}.hero-content{left:24px;right:24px;top:48%;transform:translateY(-40%)}.eyebrow{font-size:9px;letter-spacing:.16em;margin-bottom:20px}.eyebrow>span{width:18px}.hero h1,.events-hero h1{font-size:clamp(52px,14vw,75px)}.hero-copy{font-size:13px;max-width:305px;margin:20px 0 25px}.button{padding:15px 16px;gap:22px;font-size:10px}.hero-caption{left:22px;right:22px;bottom:31px;font-size:8px}.scroll-cue{display:none}.section-pad{padding:78px 23px}.intro{padding-bottom:74px}.intro-kicker{margin-bottom:28px}.intro-grid{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.intro-grid h2{font-size:46px}.intro-text p{font-size:13px}.landscape-strip{height:360px}.landscape-strip img{object-position:55% center}.strip-note{height:120px;width:160px;padding:15px 18px}.strip-note p{font-size:18px;margin-top:9px}.story{height:650px;align-items:flex-end}.story-image{background-attachment:scroll;background-position:57% center}.story-overlay{background:linear-gradient(0deg,rgba(11,30,23,.83),rgba(11,30,23,.12) 95%)}.story-content{margin:0 24px 85px}.story-content h2{font-size:56px}.story-content>p:not(.eyebrow){font-size:12px}.story-index{right:22px;bottom:24px;font-size:7px}.food{padding-top:80px;padding-bottom:78px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:42px}.section-heading>p{font-size:12px;margin-top:15px;max-width:340px}.food-grid{grid-template-columns:1fr;gap:15px}.food-main{height:370px}.food-secondary{height:300px;margin-top:0!important}.food-grid figcaption{left:18px;bottom:18px}.food-grid figcaption strong{font-size:20px}.spaces{padding-top:78px;padding-bottom:82px}.space-grid{grid-template-columns:1fr;gap:13px}.space-card:nth-child(n){height:390px;width:100%;margin:0}.space-card:nth-child(2){height:340px}.space-card:nth-child(3){height:350px}.space-label{left:18px;bottom:18px}.event-banner{height:610px;align-items:flex-end}.event-photo{width:100%;height:100%;background-position:56% center}.event-photo:before{background:linear-gradient(0deg,rgba(13,43,32,.98),rgba(13,43,32,.5) 47%,rgba(13,43,32,.06))}.event-copy{margin:0 23px 62px}.event-copy h2{font-size:48px}.visit{grid-template-columns:1fr;gap:32px}.visit-card h2{font-size:57px}.visit-card>p:not(.eyebrow){font-size:12px}.visit-image{height:350px}.site-footer{padding:30px 23px;display:grid;grid-template-columns:1fr 1fr;gap:17px}.site-footer>p{font-size:13px;text-align:right}.site-footer>div{gap:15px;font-size:9px}.site-footer>small{text-align:right}.events-hero .hero-content{left:24px;right:24px}.events-hero-bg{background-position:56% center}.events-intro{padding-top:78px;padding-bottom:75px}.events-intro h2{font-size:53px}.events-lead{font-size:13px;margin:20px 0 35px}.occasion-grid{grid-template-columns:1fr;border-top:1px solid #d1cabb}.occasion-grid article,.occasion-grid article+article{padding:20px 0;border-left:0;border-bottom:1px solid #d1cabb}.occasion-grid h3{margin:12px 0 5px;font-size:22px}.occasion-grid p{font-size:11px}.events-photo{height:360px}.events-photo p{font-size:16px;padding:17px 19px;max-width:78%}.event-contact{grid-template-columns:1fr;gap:28px}.event-contact h2{font-size:51px}.event-contact>div>p:not(.eyebrow){font-size:12px}.event-contact img{height:320px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.story-image{background-attachment:scroll}.reveal{opacity:1;transform:none}}

/* Scroll-driven opening: a wide establishing view resolves into the cabin landscape. */
.hero{height:180svh;min-height:0;max-height:none;overflow:clip;--hero-progress:0}.hero-stage{height:100svh;min-height:640px;position:sticky;top:0;overflow:hidden}.hero-photo{transform:scale(calc(1.03 + var(--hero-progress)*.22));transform-origin:center 54%;will-change:transform}.hero-detail-photo{position:absolute;inset:0;background:url('img/interior1.jpeg') center 53%/cover no-repeat;opacity:var(--detail-opacity,0);transform:scale(calc(1.18 - var(--hero-progress)*.18));will-change:transform,opacity}.hero-shade{z-index:1}.hero-content,.hero-caption,.scroll-cue{z-index:2}.hero-caption{opacity:var(--hero-copy-opacity,1)}.hero-transition-caption{position:absolute;z-index:2;right:6.2%;bottom:38px;display:flex;gap:12px;align-items:center;opacity:var(--transition-caption-opacity,0);color:white;font-size:8px;letter-spacing:.18em}.hero-transition-caption span+span{border-left:1px solid rgba(255,255,255,.65);padding-left:12px}.hero-content{opacity:var(--hero-copy-opacity,1);transition:opacity .1s linear}.space-more{display:inline-block;margin-top:31px}.light-link{color:white;border-color:rgba(255,255,255,.5)}
.stay-hero{height:min(820px,100svh);min-height:620px;position:relative;overflow:hidden;color:white;background:var(--forest)}.stay-hero-photo{position:absolute;inset:0;background:url('img/cabana1.jpeg') center 49%/cover no-repeat;transform:scale(1.02)}.stay-hero .hero-shade{background:linear-gradient(90deg,rgba(13,32,25,.72),rgba(13,32,25,.14) 75%),linear-gradient(0deg,rgba(12,26,21,.36),transparent 34%)}.stay-hero .hero-content{z-index:2}.stay-intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:10%;align-items:end}.stay-intro-grid h2{font-size:clamp(42px,5.2vw,69px)}.stay-intro-grid>div{max-width:430px}.stay-intro-grid p{font-size:13px;line-height:1.9;color:#647168;margin:0 0 15px}.stay-feature{min-height:640px;background:var(--forest);color:white;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.stay-feature-image{min-height:640px;overflow:hidden}.stay-feature-image img{object-position:center 56%;transition:transform .8s}.stay-feature:hover img{transform:scale(1.025)}.stay-feature-copy{align-self:center;padding:70px 12%}.stay-feature-copy h2{font-size:clamp(48px,5.5vw,74px);color:white}.stay-feature-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:rgba(255,255,255,.76);max-width:350px;margin:20px 0 27px}.stay-moments{padding-top:110px;padding-bottom:120px}.stay-moments-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;align-items:start}.stay-moments-grid figure{position:relative;margin:0;overflow:hidden}.stay-pool{height:480px}.stay-garden{height:380px;margin-top:75px!important}.stay-moments-grid figure:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(9,24,16,.6))}.stay-moments-grid img{transition:transform .6s}.stay-moments-grid figure:hover img{transform:scale(1.035)}.stay-moments-grid figcaption{position:absolute;z-index:1;bottom:22px;left:22px;color:white;font:21px var(--serif)}.stay-contact{background:var(--forest);color:white}.stay-contact h2{font-size:clamp(52px,6vw,78px);color:white}.stay-contact>p:not(.eyebrow){font-size:13px;line-height:1.9;color:rgba(255,255,255,.77);max-width:400px;margin:20px 0 25px}
@media(max-width:900px){.main-nav{gap:14px}.stay-feature-copy{padding-left:9%;padding-right:8%}.stay-intro-grid{gap:6%}}
.hero-detail-photo{background-image:url('img/interior1.jpeg')}
@media(max-width:640px){.hero{height:175svh;min-height:0;max-height:none}.hero-stage{height:100svh;min-height:620px}.hero-photo{transform:scale(calc(1.02 + var(--hero-progress)*.2));transform-origin:center center}.hero-detail-photo{background-position:58% center;transform:scale(calc(1.16 - var(--hero-progress)*.16))}.hero-transition-caption{left:22px;right:auto;bottom:28px;font-size:7px}.hero-caption{bottom:28px}.hero-caption span:last-child{display:none}.stay-hero{height:88svh;min-height:620px;max-height:800px}.stay-hero-photo{background-position:57% center}.stay-intro-grid{grid-template-columns:1fr;gap:19px}.stay-intro-grid h2{font-size:46px}.stay-intro-grid p{font-size:12px}.stay-feature{grid-template-columns:1fr}.stay-feature-image{min-height:0;height:370px}.stay-feature-copy{padding:57px 23px 65px}.stay-feature-copy h2{font-size:53px}.stay-feature-copy>p:not(.eyebrow){font-size:12px}.stay-moments{padding-top:78px;padding-bottom:80px}.stay-moments-grid{grid-template-columns:1fr;gap:14px}.stay-pool{height:365px}.stay-garden{height:305px;margin-top:0!important}.stay-moments-grid figcaption{font-size:18px;left:17px;bottom:17px}.stay-contact h2{font-size:56px}.stay-contact>p:not(.eyebrow){font-size:12px}}
@media(prefers-reduced-motion:reduce){.hero{height:100svh}.hero-stage{position:relative}.hero-detail-photo{display:none}}
