:root{--ink:#24211d;--paper:#f4f0e8;--paper2:#ebe5da;--white:#fffdf8;--charcoal:#25231f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-weight:300}a{color:inherit}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:78px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:var(--white);transition:.3s}.site-header.scrolled{background:rgba(244,240,232,.95);color:var(--ink);backdrop-filter:blur(14px)}.brand{text-decoration:none;font-size:13px;letter-spacing:.18em;font-weight:500}.site-nav{display:flex;gap:28px;align-items:center}.site-nav a{text-decoration:none;font-size:12px;letter-spacing:.08em}.nav-book{border-bottom:1px solid currentColor;padding-bottom:3px}.menu-toggle{display:none;background:none;border:0}.hero{position:relative;min-height:100vh;color:var(--white)}.hero-media,.coast-media{position:absolute;inset:0}.placeholder{background:#b9b0a3;display:flex;align-items:center;justify-content:center}.placeholder span{font-size:10px;letter-spacing:.18em;opacity:.55}.hero-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.12),rgba(0,0,0,.45))}.hero-content{position:relative;z-index:2;min-height:100vh;padding:0 6vw 8vh;display:flex;flex-direction:column;justify-content:flex-end}.eyebrow{margin:0 0 24px;font-size:11px;letter-spacing:.22em;font-weight:500}.hero h1,h2,h3{font-family:"Playfair Display",serif;font-weight:500}.hero h1{margin:0;font-size:clamp(64px,9vw,138px);line-height:.9;letter-spacing:-.045em}.text-link{display:inline-block;width:fit-content;margin-top:32px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:13px}.light{color:var(--white)}.section{max-width:1500px;margin:auto;padding:150px 7vw}.intro,.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.intro h2,.split h2{margin:0;font-size:clamp(58px,7vw,108px);line-height:.96;letter-spacing:-.04em}.body-copy{max-width:620px;align-self:end;font-size:18px;line-height:1.8}.wide{min-height:74vh}.villa-grid{max-width:1500px;margin:auto;padding:0 7vw 160px;display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.villa-card{background:var(--paper2)}.villa-media{aspect-ratio:4/5}.villa-copy{padding:52px 48px 60px}.villa-copy h3{margin:0;font-size:clamp(42px,4vw,64px);line-height:1;letter-spacing:-.035em}.villa-copy>p:not(.eyebrow){font-size:16px;line-height:1.75}.coast{position:relative;min-height:92vh;color:var(--white)}.coast-media:after{content:"";position:absolute;inset:0;background:rgba(23,22,19,.48)}.coast-copy{position:relative;z-index:2;min-height:92vh;padding:8vh 7vw;display:flex;flex-direction:column;justify-content:flex-end;max-width:800px}.coast-copy h2{margin:0;font-size:clamp(58px,7vw,106px);line-height:.96;letter-spacing:-.04em}.coast-copy>p:not(.eyebrow){max-width:560px;font-size:17px;line-height:1.75}

/* Experiences */
.experiences{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.experience-heading h2{margin:0;font-size:clamp(68px,8vw,118px);line-height:.9;letter-spacing:-.045em}.experience-intro{max-width:650px;align-self:end;font-size:18px;line-height:1.8}.availability-note{font-size:13px!important;line-height:1.65!important;opacity:.62;margin-top:34px}.experience-feature-grid{max-width:1500px;margin:0 auto;padding:0 7vw 150px;display:grid;grid-template-columns:1fr 1fr;gap:28px}.experience-feature{background:var(--paper2)}.experience-feature-media{aspect-ratio:16/11}.experience-feature-copy{padding:46px 46px 52px}.experience-feature-copy h3{margin:0;font-size:clamp(40px,4vw,62px);line-height:1}.experience-feature-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;max-width:520px}.status{display:block;margin:28px 0 20px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;opacity:.62}.experience-request,.request-main{appearance:none;border:0;border-bottom:1px solid currentColor;background:none;padding:0 0 5px;font:inherit;font-size:13px;color:inherit;cursor:pointer}.activity-section{background:var(--charcoal);color:var(--white);padding:150px 7vw 160px}.activity-heading{max-width:1500px;margin:0 auto 80px;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.activity-heading h2{margin:0;font-size:clamp(58px,7vw,106px);line-height:.94;letter-spacing:-.04em}.activity-list{max-width:1500px;margin:auto;border-top:1px solid rgba(255,255,255,.22)}.activity-list article{display:grid;grid-template-columns:58px 1fr auto;gap:28px;align-items:center;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.22)}.activity-number{font-size:11px;opacity:.48}.activity-list h3{margin:0 0 8px;font-size:30px;letter-spacing:-.02em}.activity-list p{margin:0;max-width:680px;font-size:14px;line-height:1.65;opacity:.7}.activity-list .experience-request{color:var(--white);white-space:nowrap}.experience-cta{text-align:center;padding:160px 7vw 170px}.experience-cta h2{margin:0;font-size:clamp(70px,9vw,126px);line-height:.9;letter-spacing:-.05em}.experience-cta>p:not(.eyebrow){max-width:600px;margin:40px auto 0;font-size:17px;line-height:1.75}.request-main{margin-top:38px;font-size:14px}

/* Booking */
.book{padding:170px 7vw 180px;text-align:center;background:var(--paper2)}.book h2{margin:0;font-size:clamp(74px,10vw,132px);line-height:.9;letter-spacing:-.05em}.book>p:not(.eyebrow){max-width:560px;margin:44px auto 0;font-size:18px;line-height:1.7}.book-button{display:inline-block;margin-top:42px;padding:16px 26px;background:var(--ink);color:var(--white);text-decoration:none;font-size:13px}.book small{display:block;margin-top:18px;opacity:.5}footer{padding:50px 7vw;background:var(--charcoal);color:var(--white);display:flex;justify-content:space-between;gap:30px;font-size:12px}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:5px 0}

/* Experience request modal */
.request-modal{position:fixed;inset:0;z-index:100;display:none}.request-modal.open{display:block}.request-backdrop{position:absolute;inset:0;background:rgba(20,18,15,.62);backdrop-filter:blur(5px)}.request-panel{position:absolute;right:0;top:0;height:100%;width:min(620px,100%);background:var(--paper);padding:72px 56px;overflow:auto;box-shadow:-20px 0 70px rgba(0,0,0,.18)}.request-close{position:absolute;right:28px;top:22px;border:0;background:none;font-size:32px;font-weight:300;cursor:pointer;color:var(--ink)}.request-panel h2{margin:0;font-size:clamp(50px,6vw,80px);line-height:.93;letter-spacing:-.04em}.request-intro{font-size:15px;line-height:1.7;opacity:.75;margin:28px 0 42px}.request-panel form{display:grid;gap:22px}.request-panel label{display:grid;gap:9px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.request-panel input,.request-panel select,.request-panel textarea{width:100%;border:0;border-bottom:1px solid rgba(36,33,29,.35);background:transparent;padding:12px 0;font:inherit;font-size:15px;color:var(--ink);outline:none;border-radius:0}.request-panel textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-submit{margin-top:10px;background:var(--ink);color:var(--white);border:0;padding:16px 20px;font:inherit;font-size:13px;cursor:pointer}.form-note{font-size:11px;line-height:1.55;opacity:.55;text-transform:none;letter-spacing:0}

@media(max-width:900px){
  .site-header{height:70px;padding:0 24px}.menu-toggle{display:block}.site-nav{display:none;position:fixed;top:70px;left:0;right:0;padding:30px 24px;background:var(--paper);color:var(--ink);flex-direction:column;align-items:flex-start}.site-nav.open{display:flex}.hero-content{padding:0 24px 8vh}.section{padding:100px 24px}.intro,.split,.experiences{grid-template-columns:1fr;gap:50px}.villa-grid{grid-template-columns:1fr;padding:0 24px 110px}.villa-copy{padding:40px 28px 48px}.wide{min-height:58vh}.coast-copy{padding:8vh 24px}.experience-feature-grid{grid-template-columns:1fr;padding:0 24px 100px}.experience-feature-copy{padding:36px 28px 42px}.activity-section{padding:100px 24px 110px}.activity-heading{grid-template-columns:1fr;gap:34px;margin-bottom:60px}.activity-list article{grid-template-columns:38px 1fr;padding:26px 0}.activity-list .experience-request{grid-column:2;margin-top:8px;width:fit-content}.experience-cta{padding:110px 24px 120px}.book{padding:120px 24px 130px}footer{padding:42px 24px;flex-direction:column}.request-panel{padding:66px 26px 46px}.form-row{grid-template-columns:1fr}
}


/* --- REAL ASSET TESTER --- */
.hero-photo{
  background-image:url("assets/pool-palms-ocean.jpg");
  background-size:cover;
  background-position:center;
}
.lifestyle-wide{
  min-height:82vh;
  background:url("assets/coast-lifestyle.jpg") center 58%/cover no-repeat;
}
.coast-video-wrap{overflow:hidden;background:#1d211c}
.coast-video{
  width:100%;height:100%;object-fit:cover;display:block;
}
.coast-video-wrap:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(14,16,13,.58),rgba(14,16,13,.06) 65%);
}
.experiences-editorial{
  max-width:1500px;margin:auto;padding:150px 7vw;
  display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;align-items:end;
}
.experience-editorial-copy{padding-bottom:4vh}
.experience-editorial-copy h2,.arrangement-intro h2,.details-copy h2,.after-dark-copy h2{
  margin:0;font-size:clamp(68px,8vw,118px);line-height:.9;letter-spacing:-.045em;
}
.experience-lead{margin-top:42px;max-width:520px;font-size:18px;line-height:1.8}
.experience-editorial-image img{width:100%;height:78vh;object-fit:cover;object-position:center;display:block}

.arrangement-section{max-width:1500px;margin:auto;padding:0 7vw 160px}
.arrangement-intro{display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;margin-bottom:80px}
.arrangement-intro .eyebrow{align-self:start}
.arrangement-intro h2{grid-column:2}
.arrangement-list{border-top:1px solid rgba(36,33,29,.28)}
.arrangement-list article{
  display:grid;grid-template-columns:58px 1fr auto;gap:28px;align-items:center;
  padding:31px 0;border-bottom:1px solid rgba(36,33,29,.28)
}
.arrangement-list h3{margin:0 0 9px;font-size:32px;letter-spacing:-.025em}
.arrangement-list p{margin:0;max-width:680px;font-size:14px;line-height:1.65;opacity:.7}
.arrangement-list .status{margin:13px 0 0;font-size:9px}
.arrangement-list .experience-request{white-space:nowrap}

.details-story{
  background:#ded5c7;display:grid;grid-template-columns:.78fr 1.22fr;min-height:100vh
}
.details-video{min-height:100vh;overflow:hidden}
.details-video video{width:100%;height:100%;min-height:100vh;object-fit:cover;display:block}
.details-copy{padding:10vh 8vw;display:flex;flex-direction:column;justify-content:center}
.details-copy>p:not(.eyebrow){max-width:520px;font-size:16px;line-height:1.8;margin:38px 0 48px}
.detail-portrait{width:min(430px,78%);height:auto;display:block;margin-left:auto}

.after-dark{position:relative;min-height:100vh;background:#111;color:var(--white);overflow:hidden}
.after-dark>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.after-dark:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.05) 70%)}
.after-dark-copy{position:relative;z-index:2;min-height:100vh;padding:8vh 7vw;display:flex;flex-direction:column;justify-content:flex-end;max-width:800px}
.after-dark-copy>p:not(.eyebrow){max-width:530px;font-size:16px;line-height:1.75}

@media(max-width:900px){
  .lifestyle-wide{min-height:62vh}
  .experiences-editorial{padding:100px 24px;grid-template-columns:1fr;gap:55px}
  .experience-editorial-image img{height:62vh}
  .arrangement-section{padding:0 24px 110px}
  .arrangement-intro{grid-template-columns:1fr;gap:28px;margin-bottom:55px}
  .arrangement-intro h2{grid-column:auto}
  .arrangement-list article{grid-template-columns:38px 1fr;padding:26px 0}
  .arrangement-list .experience-request{grid-column:2;margin-top:8px;width:fit-content}
  .details-story{grid-template-columns:1fr}
  .details-video,.details-video video{min-height:68vh;height:68vh}
  .details-copy{padding:100px 24px}
  .detail-portrait{width:78%;margin-top:12px}
  .after-dark,.after-dark-copy{min-height:82vh}
}


/* --- Y&S LIVE BOOKING LAYER TESTER --- */
button.nav-book,button.book-button{
  font:inherit;cursor:pointer;
}
button.nav-book{background:transparent;border:0}
.booking-modal{
  position:fixed;inset:0;z-index:1900;visibility:hidden;pointer-events:none;
}
.booking-modal.open{visibility:visible;pointer-events:auto}
.booking-backdrop{
  position:absolute;inset:0;background:rgba(18,17,15,.58);opacity:0;transition:opacity .35s ease;
}
.booking-modal.open .booking-backdrop{opacity:1}
.booking-panel{
  position:absolute;right:0;top:0;width:min(940px,94vw);height:100%;
  overflow-y:auto;background:#f3eee5;color:#26231f;
  padding:78px clamp(28px,6vw,86px) 90px;
  transform:translateX(100%);transition:transform .48s cubic-bezier(.22,.61,.36,1);
}
.booking-modal.open .booking-panel{transform:translateX(0)}
.booking-close{
  position:absolute;right:28px;top:22px;border:0;background:transparent;
  font-size:38px;font-weight:200;line-height:1;cursor:pointer;color:inherit;
}
.booking-heading{max-width:650px;margin-bottom:70px}
.booking-heading h2{
  margin:8px 0 28px;font-size:clamp(66px,8vw,116px);line-height:.88;
  letter-spacing:-.055em;font-family:var(--serif);
}
.booking-heading>p:last-child{max-width:570px;line-height:1.8;opacity:.72}
.booking-step{font-size:10px;letter-spacing:.2em;font-weight:700;margin:0 0 24px}
.lodgify-shell{padding:42px 0 52px;border-top:1px solid rgba(38,35,31,.28);border-bottom:1px solid rgba(38,35,31,.28)}
.lodgify-note{margin:18px 0 0;font-size:10px;letter-spacing:.08em;opacity:.55}
.stay-enhance{padding-top:58px}
.enhance-heading{max-width:650px}
.enhance-heading h3{font-family:var(--serif);font-size:clamp(44px,5vw,72px);line-height:.95;margin:0 0 24px;letter-spacing:-.035em}
.enhance-heading>p:last-child{line-height:1.75;opacity:.7}
.enhance-grid{display:grid;grid-template-columns:1fr 1fr;margin:48px 0 34px;border-top:1px solid rgba(38,35,31,.25)}
.enhance-option{
  display:flex;align-items:center;gap:18px;padding:26px 10px 26px 0;
  border-bottom:1px solid rgba(38,35,31,.25);cursor:pointer;
}
.enhance-option:nth-child(odd){border-right:1px solid rgba(38,35,31,.25)}
.enhance-option:nth-child(even){padding-left:26px}
.enhance-option input{width:18px;height:18px;accent-color:#26231f}
.enhance-option span{display:flex;flex-direction:column;gap:5px}
.enhance-option strong{font-family:var(--serif);font-size:22px;font-weight:500}
.enhance-option small{font-size:10px;text-transform:uppercase;letter-spacing:.12em;opacity:.55}
.enhance-request{
  border:1px solid #26231f;background:#26231f;color:#f7f2e9;
  padding:16px 24px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;cursor:pointer;
}
.enhance-request:disabled{opacity:.28;cursor:not-allowed}
.enhance-note{font-size:11px;line-height:1.6;opacity:.55;max-width:520px;margin-top:18px}

@media(max-width:720px){
  .booking-panel{width:100%;padding:72px 22px 70px}
  .booking-heading{margin-bottom:48px}
  .enhance-grid{grid-template-columns:1fr}
  .enhance-option:nth-child(odd){border-right:0}
  .enhance-option:nth-child(even){padding-left:0}
}
