@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&display=swap");:root{--ink:#29332c;--sand:#e3bd90;--olive:#6c6e36;--line:rgba(41,51,44,.18);--page-bg:linear-gradient(180deg,#f6f3ec,#f6f3ec 40%,#eadfc9)}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body,html{background:var(--page-bg)}body{min-height:100vh;margin:0;background-attachment:fixed;color:var(--ink);font:15px/1.55 DM Sans,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Playfair Display,serif;font-weight:500;line-height:1.05}h1{font-size:clamp(3.2rem,7vw,6.8rem);letter-spacing:-.05em}h2{font-size:clamp(2.4rem,4.2vw,4.3rem);letter-spacing:-.045em}h3{font-size:1.8rem}.container{width:min(1180px,calc(100% - 48px));margin:auto}.eyebrow{color:var(--olive);letter-spacing:.18em}.button,.eyebrow{font-size:10px;font-weight:600;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:14px 23px;border:1px solid var(--ink);background:var(--ink);color:#fff;letter-spacing:.12em;transition:.25s}.button:hover{background:transparent;color:var(--ink)}.button.light{border-color:#fff;background:#fff;color:var(--ink)}.button.light:hover{background:transparent;color:#fff}.button.text{gap:10px;padding:0;border:0;background:transparent;color:var(--ink)}.button.text:hover{opacity:.65}.discover-button{min-height:42px;padding:11px 16px;border-color:var(--ink);background:transparent;color:var(--ink)}.discover-button:hover{background:var(--ink);color:#fff}.nav{position:absolute;z-index:5;top:0;width:100%;height:100px;color:#fff}.nav .inner{display:flex;height:100%;align-items:center;justify-content:space-between}.brand{font:22px/.9 Playfair Display,serif}.brand small{display:block;margin-top:8px;font:7px DM Sans,sans-serif;letter-spacing:.25em}.brand small,.links{text-transform:uppercase}.links{display:flex;align-items:center;gap:30px;font-size:13px;letter-spacing:.12em}.nav .button{min-height:auto;font-size:13px;padding:11px 15px}.mobile-menu,.mobile-nav{display:none}.hero-slider{position:relative;height:100vh;min-height:650px;overflow:hidden;background:#18251d;color:#fff}.hero-slide{position:absolute;inset:0;display:flex;align-items:flex-end;background-position:50%;background-size:cover;opacity:0;transform:scale(1.08);transition:opacity 3s ease,transform 7s cubic-bezier(.2,.7,.2,1)}.hero-slide.active{opacity:1;transform:scale(1)}.hero-content{position:relative;max-width:800px;padding-bottom:12vh}.hero-slider .eyebrow{color:#f6d5ad}.hero-slider h1{margin:.4rem 0 1.4rem}.hero-slider p{max-width:450px;color:#f2f2eb;font-size:17px}.hero-enter{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.active .hero-enter{opacity:1;transform:none}.active .hero-enter:first-child{transition-delay:.22s}.active .hero-enter:nth-child(2){transition-delay:.34s}.active .hero-enter:nth-child(3){transition-delay:.46s}.active .hero-enter:nth-child(4){transition-delay:.58s}.hero-controls{position:absolute;right:0;bottom:48px;left:0;display:flex;align-items:center;gap:22px}.slide-count{font-size:10px;letter-spacing:.14em}.slide-dots{display:flex;gap:8px}.slide-dots button{width:34px;height:2px;padding:0;border:0;background:hsla(0,0%,100%,.4);cursor:pointer;transition:.3s}.slide-dots button[aria-current=true]{width:58px;background:#fff}.scroll-note{position:absolute;right:4vw;bottom:52px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;writing-mode:vertical-rl}.section{padding:110px 0}.intro{padding:130px 0;text-align:center}.intro h2{max-width:780px;margin:15px auto 24px}.intro p{max-width:575px;margin:auto;color:#667069}.split{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;grid-gap:9vw;gap:9vw}.large-image{height:640px;background:var(--image) center/cover}.copy p{max-width:520px;color:#626b64}.copy h2{margin-bottom:24px}.about-page{position:relative;overflow:hidden;background:linear-gradient(180deg,#f6f3ec,#eadfc9);color:#1d2a20}.plaque{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid rgba(29,42,32,.22);font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#6b7268}.about-banner{padding:80px 0 70px}.about-banner-grid{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;grid-gap:36px;gap:36px}.about-banner-copy{padding:28px 30px;border-radius:20px;box-shadow:0 20px 50px rgba(15,23,17,.08)}.about-banner-copy .plaque{margin-bottom:18px}.about-banner-copy h2{margin-bottom:18px;font-family:Fraunces,Iowan Old Style,serif;font-weight:500;font-size:clamp(2.1rem,3.3vw,3rem);line-height:1.1;color:#223024}.about-banner-copy p{font-size:1.02rem;line-height:1.7;color:#4f5a4f}.about-banner-visual{position:relative;min-height:480px;border-radius:24px 96px 24px 96px;background:var(--image) center/cover;box-shadow:0 24px 70px rgba(15,23,17,.18)}.about-banner-tag{position:absolute;left:24px;bottom:24px;max-width:260px;padding:14px 16px;background:rgba(29,42,32,.88);color:#f4eee0;font-size:13px;line-height:1.55;border-radius:2px 24px 2px 24px}.about-story-panel{padding:20px 0 80px}.about-story-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;grid-gap:32px;gap:32px}.about-story-image{min-height:420px;border-radius:24px 96px 24px 96px;background:var(--image) center/cover;box-shadow:0 20px 60px rgba(15,23,17,.12)}.about-story-copy{padding:28px 30px;border-radius:20px;box-shadow:0 20px 50px rgba(15,23,17,.08)}.about-story-copy .plaque{margin-bottom:16px}.about-story-copy h3{margin:0 0 14px;font-family:Fraunces,Iowan Old Style,serif;font-weight:500;font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.2;color:#33452f}.about-story-copy p{color:#5f665f;line-height:1.65}.about-story-copy p+p{margin-top:12px}.about-values{padding:20px 0 30px}.about-values-label{display:inline-block;margin-bottom:28px}.about-values-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.about-value{padding:24px 0 0;border-top:1px solid rgba(41,51,44,.16)}.about-value h3{margin-bottom:10px;font-family:Fraunces,Iowan Old Style,serif;font-weight:500;font-size:1.2rem;color:#33452f}.about-value p{margin-bottom:0;color:#667069;line-height:1.6;font-size:.96rem}.about-quote-block{position:relative;min-height:430px;margin-top:30px;background:var(--image) center/cover}.about-quote-block:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(15,23,17,.78),rgba(15,23,17,.35) 48%,rgba(15,23,17,.08))}.about-quote-inner{position:relative;z-index:2;display:flex;align-items:center;min-height:430px;padding:60px 0}.about-quote-copy{max-width:470px;padding:26px 30px;border-left:2px solid #b08a4c;font-family:Fraunces,Iowan Old Style,serif;font-style:italic;font-weight:400;font-size:1.45rem;line-height:1.4;color:#f9f5ec}@media (max-width:980px){.about-banner{padding:50px 0 40px}.about-banner-grid,.about-story-grid,.about-values-row{grid-template-columns:1fr}.about-banner-copy{max-width:100%;padding-right:0;margin-bottom:24px}.about-banner-visual,.about-story-image{min-height:360px}.about-story-copy{padding:24px 22px}.about-values{padding-top:10px}}.dark{background:#29332c;color:#fff}.dark .copy p{color:#d4ddd4}.dark .eyebrow{color:var(--sand)}.amenities{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px 38px;gap:20px 38px;margin-top:35px}.amenity{padding-top:15px;border-top:1px solid hsla(0,0%,100%,.25)}.amenity b{font:500 1.2rem Playfair Display,serif}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:42px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.card-image{position:relative;height:400px;overflow:hidden;isolation:isolate}.card-image:before{position:absolute;inset:0;z-index:0;content:"";background:var(--image) center/cover;transform:scale(1);transition:transform .7s cubic-bezier(.2,.7,.2,1)}.card-copy{padding:21px 0}.card-copy h3{margin-bottom:8px}.card-copy p{margin-bottom:15px;color:#667069}.pill{display:inline-block;padding:6px 10px;border:1px solid var(--line);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-template-rows:260px 260px;grid-gap:12px;gap:12px}.gallery-item{background:var(--image) center/cover}.gallery-item:first-child{grid-row:span 2}.quote{max-width:850px;margin:0 auto;font:clamp(1.6rem,2.5vw,2.5rem)/1.25 Playfair Display,serif}.quote,.quote-by{text-align:center}.quote-by{margin-top:25px;color:#69736b;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.contact-strip{padding:68px 0;background:var(--sand)}.contact-strip .inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.contact-strip h2{margin-bottom:20px}.map{display:flex;align-items:center;height:440px;background:linear-gradient(90deg,rgba(41,51,44,.55),rgba(41,51,44,.1)),url(/beach-front-4.jpg) 50%/cover;color:#fff}.map h2{max-width:500px}.page-hero{display:flex;align-items:flex-end;min-height:62vh;padding:140px 0 70px;background:linear-gradient(90deg,rgba(15,23,17,.6),rgba(15,23,17,.05)),var(--image) center/cover;color:#fff}.page-hero p{max-width:480px;color:hsla(0,0%,100%,.85)}.details{padding:85px 0}.details-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:70px;gap:70px}.details-main img{width:100%;height:540px;margin-bottom:30px;object-fit:cover}.facts{border-top:1px solid var(--line)}.facts div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.facts b{text-align:right}.booking{padding:130px 0 90px}.form-shell{display:grid;grid-template-columns:.75fr 1.25fr;grid-gap:60px;gap:60px}.booking-information{display:grid;grid-gap:18px;gap:18px;margin:32px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.booking-information p{margin:5px 0 0;font-size:13px;line-height:1.55}.form{padding:38px;border:1px solid #eae5dd;background:#fff}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.booking-steps{display:flex;gap:12px;margin:0 0 34px;padding:0;list-style:none;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#aaa399}.booking-steps li{display:flex;align-items:center;gap:6px}.booking-steps span{display:grid;width:22px;height:22px;place-items:center;border:1px solid;border-radius:50%}.booking-steps .active{color:var(--olive)}.booking-steps .complete{color:#6b7a64}.form-intro{margin-top:-8px;color:var(--muted)}.selection-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px;margin:26px 0}.selection-card{display:flex;min-height:122px;flex-direction:column;align-items:flex-start;gap:9px;padding:18px;border:1px solid #e4ded5;background:#fcfbf9;color:inherit;text-align:left;transition:border-color .2s,background .2s;cursor:pointer}.selection-card.selected,.selection-card:hover{border-color:var(--olive);background:#f2f4ee}.selection-card strong{font-family:var(--font-display);font-size:19px;font-weight:500}.selection-card small{color:var(--muted);line-height:1.45}.experience-grid .selection-card{min-height:156px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px}.selection-summary{margin:-8px 0 26px;color:var(--muted)}.selection-summary b{color:var(--ink)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.field label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.field input,.field select,.field textarea{padding:13px;border:1px solid #ddd8cf;background:#fcfbf9;outline-color:var(--olive)}.field.full{grid-column:span 2}.error{color:#a34737;font-size:12px}.not-found{padding:200px 0;text-align:center}footer{padding:60px 0 28px;background:#1f2822;color:#d8dfd7}footer .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:30px;gap:30px}footer h3{font-size:1.45rem}footer a{display:block;margin:7px 0;font-size:13px;text-decoration:none;transition:-webkit-text-decoration-color .2s ease-in-out;transition:text-decoration-color .2s ease-in-out;transition:text-decoration-color .2s ease-in-out,-webkit-text-decoration-color .2s ease-in-out}footer a:focus-visible,footer a:hover{text-decoration:underline}.copyright{margin-top:45px;padding-top:18px;border-top:1px solid hsla(0,0%,100%,.12);color:#98a29a;font-size:11px}[data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}[data-revealed]{opacity:1;transform:none}.stay-card{transition:transform .4s ease,filter .4s ease}.stay-card:hover{transform:translateY(-7px);filter:drop-shadow(0 18px 22px rgba(35,43,36,.18))}.stay-card:hover .card-image:before{transform:scale(1.08)}.card-image,.gallery-item,.large-image{position:relative;overflow:hidden;isolation:isolate}.card-image:after,.gallery-item:after,.large-image:after{position:absolute;inset:0;z-index:1;content:"";background:linear-gradient(180deg,rgba(255,243,218,.12),transparent 42%,rgba(19,30,23,.3));opacity:0;pointer-events:none;transition:opacity .5s ease}.gallery-item:hover:after,.large-image:hover:after,.stay-card:hover .card-image:after{opacity:1}.gallery-item{cursor:zoom-in;transition:filter .4s ease,box-shadow .4s ease}.gallery-item:hover{z-index:2;filter:saturate(1.1) contrast(1.03);box-shadow:0 17px 28px rgba(35,43,36,.24)}.large-image{transition:filter .4s ease,box-shadow .4s ease}.large-image:hover{filter:saturate(1.06);box-shadow:0 20px 42px rgba(0,0,0,.2)}@media (max-width:760px){.container{width:min(100% - 32px,1180px)}.links{display:none}.mobile-nav{position:relative;z-index:2;display:grid;width:44px;height:44px;place-content:center;grid-gap:5px;gap:5px;border:0;background:none;color:#fff;cursor:pointer}.mobile-nav span{display:block;width:25px;height:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.mobile-nav[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.mobile-nav[aria-expanded=true] span:nth-child(2){opacity:0}.mobile-nav[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:1;top:0;right:0;bottom:0;left:0;display:grid;padding-top:4px;background:rgba(31,40,34,.98);opacity:0;pointer-events:none;transition:opacity .2s ease}.mobile-menu.open{opacity:.95;pointer-events:auto}.mobile-menu-links{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-top:5px;color:#fff;font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase;padding-right:20px}.mobile-menu-links a{padding:10px 0}.mobile-menu-links .active{color:#f4d5ab}.mobile-menu-links .button{margin-top:16px;padding:13px 20px}.details-grid,.form-shell,.grid-3,.split{grid-template-columns:1fr}.section{padding:76px 0}.contact-strip .inner,.section-head{flex-direction:column;align-items:flex-start}.large-image{height:430px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px}.gallery-item:first-child{grid-row:span 2}.gallery-item:last-child{display:none}.hero-slider{min-height:610px}.hero-content{padding-bottom:115px}.hero-controls{bottom:52px}.scroll-note{display:none}.about-feature,.amenities{grid-template-columns:1fr}.about-feature{gap:32px}.about-feature-image{height:320px}.page-hero{min-height:520px;padding-bottom:50px}.details-main img{height:360px}.form{padding:23px}.form-grid,.selection-grid{grid-template-columns:1fr}.booking-steps{gap:8px;font-size:8px}.booking-steps span{width:19px;height:19px}.field.full{grid-column:auto}footer .footer-grid{grid-template-columns:1fr 1fr}.intro{padding:90px 0}[data-reveal]{opacity:1;transform:none}}@keyframes scroll-progress-expand{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes image-drift-on-scroll{0%{transform:scale(1.08) translateY(4%);filter:saturate(.86)}to{transform:scale(1) translateY(-3%);filter:saturate(1.05)}}.scroll-progress{position:fixed;z-index:20;top:0;left:0;width:100%;height:3px;background:var(--sand);transform:scaleX(0);transform-origin:left center}@supports (animation-timeline:view()){.scroll-progress{animation:scroll-progress-expand linear both;animation-timeline:scroll(root)}.gallery-item,.large-image{animation:image-drift-on-scroll linear both;animation-timeline:view();animation-range:entry 0 exit 100%}}@media (prefers-reduced-motion:reduce){.scroll-progress{display:none}.gallery-item,.large-image,.stay-card{animation:none!important}*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-enter,.hero-slide{transform:none}.hero-enter{opacity:1}}.logo-link{display:flex;flex:0 0 auto;gap:10px;height:70px;align-items:center}.logo{display:block;width:70px;height:70px;object-fit:contain;mix-blend-mode:multiply}.brand-name{font:500 18px/1 Playfair Display,serif;white-space:nowrap}.links>a:not(.button){position:relative;padding:8px 0}.links>a:not(.button):after{position:absolute;right:0;bottom:0;left:0;height:1px;content:"";background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.links>a.active:after,.links>a:not(.button):hover:after{transform:scaleX(1);transform-origin:left}.links>a.active{color:#f4d5ab}.active-button{box-shadow:0 0 0 2px hsla(33,60%,73%,.7)}.footer-logo{width:145px;height:82px;object-fit:contain;margin:-12px 0 5px}.page-hero-slider{position:relative;min-height:max(100px,78vh);overflow:hidden;color:#fff}.page-hero-frame{position:absolute;inset:0;background-position:50%;background-size:cover;opacity:0;transform:scale(1.04);transition:opacity .85s ease,transform 2.5s ease}.page-hero-frame.active{opacity:1;transform:scale(1)}.page-hero-content{position:relative;z-index:1;display:flex;min-height:max(720px,78vh);flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:155px 0 78px}.page-hero-content .eyebrow{color:#f6d5ad}.page-hero-content h1{max-width:18ch;margin:16px 0 26px}.page-hero-content p{max-width:480px;color:hsla(0,0%,100%,.88)}.page-dots{display:flex;gap:7px;margin-top:26px}.page-dots button{width:25px;height:2px;padding:0;border:0;background:hsla(0,0%,100%,.45);cursor:pointer;transition:.2s}.page-dots button[aria-current=true]{width:46px;background:#fff}@media (max-width:760px){.logo-link{height:62px}.logo{width:62px;height:60px}.brand-name{font-size:15px}.page-hero-content,.page-hero-slider{min-height:620px}.page-hero-content{padding:130px 0 50px}}