:root{--cacao:#5c3d2c;--cacao-deep:#33231c;--sand:#eee5d7;--cream:#f8f3ea;--clay:#b86545;--ink:#25211e;--line:rgba(37,33,30,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}a{color:inherit;text-decoration:none}.brand{display:inline-flex;align-items:center}.brand img{display:block;width:168px;height:auto}.site-header nav{display:flex;align-items:center;gap:26px;font-size:12px;text-transform:uppercase;letter-spacing:.14em}.language-switch{display:inline-flex;align-items:center;gap:5px;margin-left:2px;font-size:10px;letter-spacing:.08em}.language-switch button{border:0;padding:5px 2px;background:transparent;color:inherit;font:600 10px "DM Sans",sans-serif;cursor:pointer;opacity:.55}.language-switch button[aria-pressed="true"]{opacity:1;border-bottom:1px solid currentColor}.language-switch span{opacity:.45}.site-header .button{justify-self:end}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 23px;border:1px solid currentColor;text-transform:uppercase;font-size:11px;font-weight:600;letter-spacing:.12em;transition:.25s}.button:hover{transform:translateY(-2px)}.button-small{padding:12px 21px}.button-light{background:#fff;color:var(--ink);border-color:#fff}.button-dark{background:var(--cacao-deep);color:#fff;border-color:var(--cacao-deep)}.menu-toggle{display:none;background:none;border:0}.hero{height:max(760px,100vh);position:relative;background:url("assets/airbnb/hero-beachfront.jpg") center 58%/cover no-repeat;color:#fff;display:flex;align-items:center;padding:120px 8vw 40px}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,15,12,.84) 0%,rgba(31,22,16,.59) 42%,rgba(30,22,17,.12) 76%),linear-gradient(0deg,rgba(17,12,9,.57),transparent 55%)}.hero-content{position:relative;max-width:760px}.eyebrow,.overline{font-size:11px;text-transform:uppercase;letter-spacing:.23em;font-weight:600}.hero h1,.intro h2,.experience-card h2,.location h2{font:500 clamp(64px,8vw,132px)/.86 "Playfair Display",serif;letter-spacing:-.055em;margin:28px 0}.hero h1 em,.quote em{font-weight:500}.hero-copy{font-size:18px;max-width:440px;line-height:1.55;margin:0 0 28px}.hero-actions{display:flex;gap:30px;align-items:center}.text-link{display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid currentColor;padding:12px 0;text-transform:uppercase;font-size:11px;letter-spacing:.14em}.platform-proof{display:flex;align-items:center;gap:24px;margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.3);max-width:650px}.platform-proof>p{margin:0;max-width:110px;font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.72)}.platform-list{display:flex;align-items:center;gap:22px}.platform{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.platform img{width:20px;height:20px;object-fit:contain}.platform strong{font-size:12px;letter-spacing:-.02em}.real-photo-label{position:absolute;z-index:1;right:4vw;top:125px;margin:0;font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:rgba(255,255,255,.75)}.scroll-cue{position:absolute;right:4vw;bottom:35px;display:flex;align-items:center;gap:24px;font-size:11px;text-transform:uppercase;letter-spacing:.18em}.scroll-cue i{font-style:normal;border:1px solid rgba(255,255,255,.45);border-radius:50%;width:43px;height:43px;display:grid;place-items:center}.section{padding:140px 8vw}.intro{display:grid;grid-template-columns:1fr 2.3fr;gap:8vw;background:var(--sand)}.section-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase}.intro-copy{max-width:950px}.intro h2{font-size:clamp(47px,6vw,92px);margin:30px 0}.intro-copy>p:last-child{max-width:570px;margin-left:auto;font-size:16px;line-height:1.7}.split-cards{display:grid;grid-template-columns:1fr 1fr}.experience-card{min-height:720px;padding:55px 5vw;display:flex;flex-direction:column;justify-content:space-between}.restaurant-card{background:var(--clay);color:#fff}.stay-card{background:var(--cacao);color:#fff}.card-number{font-size:11px;border:1px solid rgba(255,255,255,.35);width:43px;height:43px;border-radius:50%;display:grid;place-items:center}.card-body{max-width:500px}.experience-card h2{font-size:clamp(60px,6vw,96px);margin:25px 0}.card-body>p:not(.overline){line-height:1.65;max-width:430px;margin-bottom:35px}.card-meta{padding-top:25px;border-top:1px solid rgba(255,255,255,.35);display:flex;justify-content:space-between;text-transform:uppercase;font-size:10px;letter-spacing:.14em}.details{background:var(--cream);display:grid;grid-template-columns:1.1fr 1fr;gap:10vw}.quote blockquote{font:500 clamp(38px,4vw,65px)/1.08 "Playfair Display",serif;margin:35px 0 0}.amenities{display:grid;grid-template-columns:1fr 1fr}.amenities div{padding:22px;border-top:1px solid var(--line);min-height:150px}.amenities span{font-size:10px}.amenities p{font-family:"Playfair Display",serif;font-size:23px}.location{display:grid;grid-template-columns:1.2fr .8fr;background:var(--cacao-deep);color:#fff}.location-copy{padding:120px 8vw;background:linear-gradient(90deg,rgba(31,22,17,.86),rgba(31,22,17,.53)),url("assets/current-site/beach-view.jpg") center/cover no-repeat}.location h2{font-size:clamp(58px,6vw,100px)}.location-copy>p:not(.overline){line-height:1.7;color:rgba(255,255,255,.8)}.dark-link{margin-top:20px}.location-panel{background:var(--sand);color:var(--ink);padding:120px 6vw}.location-panel>p{text-transform:uppercase;letter-spacing:.2em;font-size:11px}.location-panel dl{margin:35px 0 60px}.location-panel dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0}.location-panel dt,.location-panel dd{margin:0;font-size:13px}.contact-links{display:flex;flex-direction:column;gap:15px;text-decoration:underline;text-underline-offset:5px}footer{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;padding:55px 4vw}footer p{font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin:0}footer p:last-child{text-align:right}.footer-brand img{width:190px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media (max-width:800px){.site-header{height:76px;grid-template-columns:1fr auto;padding:0 20px}.site-header nav,.site-header>.button{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;padding:10px}.menu-toggle span{display:block;width:26px;height:1px;background:#fff}.site-header.open{position:fixed;background:var(--cacao-deep);height:auto;min-height:100vh;align-content:start;padding-top:25px}.site-header.open nav{display:flex;grid-column:1/-1;flex-direction:column;font:500 38px "Playfair Display",serif;text-transform:none;letter-spacing:0;margin-top:70px}.hero{padding:105px 20px 35px;min-height:740px;background-position:62% center}.hero h1{font-size:65px}.hero-copy{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.scroll-cue{display:none}.section{padding:85px 22px}.intro{grid-template-columns:1fr;gap:50px}.intro h2{font-size:49px}.intro-copy>p:last-child{margin-left:0}.split-cards{grid-template-columns:1fr}.experience-card{min-height:650px;padding:42px 24px}.experience-card h2{font-size:62px}.details{grid-template-columns:1fr;gap:70px}.amenities div{padding:15px}.location{grid-template-columns:1fr}.location-copy,.location-panel{padding:85px 24px}.location h2{font-size:58px}footer{grid-template-columns:1fr;gap:25px}footer p:last-child{text-align:left}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

.intro-visual{display:flex;flex-direction:column}.intro-dish{position:relative;height:560px;margin:38px 0 0;overflow:hidden;background:var(--cacao)}.intro-dish img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 73%;transition:transform .7s ease}.intro-dish:hover img{transform:scale(1.025)}.intro-dish::after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(22,14,10,.65));pointer-events:none}.intro-dish figcaption{position:absolute;z-index:1;left:20px;bottom:18px;color:#fff;font-size:9px;text-transform:uppercase;letter-spacing:.16em}

/* Linked booking platform proof */
.platform{transition:opacity .2s,transform .2s}.platform:hover{opacity:.72;transform:translateY(-1px)}

/* Three reservation journeys */
.reservation-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end;background:var(--cream)}
.gallery{background:#ded0bd}
.gallery-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end;margin-bottom:60px}
.gallery-heading h2{font:500 clamp(56px,6vw,96px)/.92 "Playfair Display",serif;letter-spacing:-.055em;margin:25px 0 0}
.gallery-heading h2 em{font-weight:500}.gallery-heading>p{max-width:420px;line-height:1.7;margin:0}
.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:340px 340px;gap:16px}
.gallery-item{position:relative;overflow:hidden;margin:0;min-height:0;background:var(--cacao)}
.gallery-item-tall{grid-row:span 2}.gallery-item-wide{grid-column:span 1}
.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease}
.gallery-item:nth-child(2) img{object-position:center 56%}.gallery-item:nth-child(3) img{object-position:center 52%}.gallery-item:nth-child(4) img{object-position:center 48%}.gallery-item:nth-child(5) img{object-position:center 43%}
.gallery-item::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(22,14,10,.72));pointer-events:none}
.gallery-item:hover img{transform:scale(1.025)}
.gallery-item figcaption{position:absolute;z-index:1;left:22px;right:22px;bottom:20px;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.gallery-link{margin-top:40px}
.sunset-story{display:grid;grid-template-columns:.82fr 1.18fr;min-height:760px;background:var(--cacao-deep);color:#fff}
.sunset-photo{position:relative;margin:0;overflow:hidden;min-height:760px}
.sunset-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 46%}
.sunset-photo::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(22,14,10,.65));pointer-events:none}
.sunset-photo figcaption{position:absolute;z-index:1;left:34px;bottom:30px;margin:0;font-size:9px;text-transform:uppercase;letter-spacing:.17em;color:rgba(255,255,255,.8)}
.sunset-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:110px 9vw}
.sunset-copy h2{font:500 clamp(55px,6vw,94px)/.94 "Playfair Display",serif;letter-spacing:-.055em;margin:28px 0}
.sunset-copy h2 em{font-weight:500}.sunset-copy>p:not(.overline){max-width:500px;margin:0 0 34px;line-height:1.75;color:rgba(255,255,255,.78)}
.apartments{background:var(--sand)}
.apartments-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end;margin-bottom:60px}
.apartments-heading h2{font:500 clamp(56px,6vw,96px)/.92 "Playfair Display",serif;letter-spacing:-.055em;margin:25px 0 0}.apartments-heading h2 em{font-weight:500}
.apartments-copy>p{line-height:1.7;max-width:440px;margin:0 0 28px}.apartments-copy .button{font-family:inherit;cursor:pointer}
.apartments-gallery{display:grid;grid-template-columns:1.35fr .8fr .8fr;grid-template-rows:340px 340px;gap:16px}
.apartment-photo{position:relative;overflow:hidden;margin:0;background:var(--cacao)}.apartment-photo-main{grid-row:1/-1}.apartment-photo-wide{grid-column:2/-1}
.apartment-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease}.apartment-photo-main img{object-position:center 48%}.apartment-photo-wide img{object-position:center 38%}
.apartment-photo::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(22,14,10,.75));pointer-events:none}.apartment-photo:hover img{transform:scale(1.025)}
.apartment-photo figcaption{position:absolute;z-index:1;left:22px;right:22px;bottom:20px;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.16em}.photo-source{margin:20px 0 0;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#776b61}
.reservation-intro h2{font:500 clamp(56px,6vw,96px)/.92 "Playfair Display",serif;letter-spacing:-.055em;margin:25px 0 0}
.reservation-intro em{font-weight:500}.reservation-intro>p{max-width:430px;line-height:1.7}
.reservation-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.reservation-grid .experience-card{min-height:720px;padding:48px 3.5vw}
.event-card{background:#9d765d;color:#fff}
.reservation-grid .experience-card h2{font-size:clamp(52px,4.7vw,78px)}
.experience-card button{font-family:inherit;cursor:pointer}
.secondary-link{display:inline-block;margin-top:20px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:6px}

.modal{position:fixed;inset:0;z-index:100;display:none}.modal.open{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(23,15,11,.72);backdrop-filter:blur(8px)}
.modal-panel{position:absolute;right:0;top:0;height:100%;width:min(700px,100%);overflow-y:auto;background:var(--cream);padding:70px clamp(24px,6vw,80px)}
.modal-close{position:absolute;right:28px;top:22px;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:26px;cursor:pointer}
.modal-panel h2{font:500 clamp(45px,5vw,70px)/.95 "Playfair Display",serif;letter-spacing:-.04em;margin:20px 0 45px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.form-grid label{display:flex;flex-direction:column;gap:9px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600}
.form-grid .wide{grid-column:1/-1}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:11px 2px;font:15px "DM Sans",sans-serif;color:var(--ink);outline:none}
.form-grid textarea{border:1px solid var(--line);padding:14px;resize:vertical}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--clay)}
.form-note{font-size:12px;line-height:1.5;color:#6c625d;margin:25px 0}.submit-button{width:100%;font-family:inherit;cursor:pointer}
.availability-status{margin-top:28px;padding:16px;border:1px solid var(--line);font-size:12px}
.availability-status span{display:inline-block;width:8px;height:8px;background:#d79a4b;border-radius:50%;margin-right:8px}
body.modal-open{overflow:hidden}

@media (max-width:1100px){.site-header nav{gap:20px}.reservation-grid{grid-template-columns:1fr}.reservation-grid .experience-card{min-height:620px}.reservation-grid .experience-card h2{font-size:72px}}
@media (max-width:800px){.brand img{width:135px}.hero{min-height:850px;background-position:54% center}.real-photo-label{display:none}.platform-proof{align-items:flex-start;flex-direction:column;gap:12px;margin-top:26px}.platform-proof>p{max-width:none}.platform-list{gap:14px;flex-wrap:wrap}.platform strong{font-size:11px}.intro-dish{height:540px;margin-top:28px}.gallery-heading,.apartments-heading,.reservation-intro{grid-template-columns:1fr;gap:35px}.gallery-heading,.apartments-heading{margin-bottom:38px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:420px 250px 250px}.gallery-item-tall{grid-column:1/-1;grid-row:auto}.gallery-item-wide{grid-column:auto}.sunset-story{grid-template-columns:1fr;min-height:0}.sunset-photo{min-height:620px}.sunset-copy{padding:85px 24px}.sunset-copy h2{font-size:52px}.apartments-gallery{grid-template-columns:1fr 1fr;grid-template-rows:430px 250px 280px}.apartment-photo-main{grid-column:1/-1;grid-row:auto}.apartment-photo-wide{grid-column:1/-1}.footer-brand img{width:170px}.modal-panel{padding:65px 22px 40px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}
