*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:#f8f6f0;color:#2c342b;font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.7}
.announcement{text-align:center;background:#2b3628;color:#eee8db;padding:8px 16px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.site-header{height:82px;padding:0 6.5%;display:flex;align-items:center;justify-content:space-between;background:#f8f6f0;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(44,52,43,.1)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#2c342b;font-weight:700;font-size:12px;letter-spacing:.13em;line-height:1.15}
.brand-mark{font-size:24px;color:#cfa15d}
.brand small{display:block;font-size:9px;letter-spacing:.29em;font-weight:500;margin-top:5px;color:#7d8579}
.nav{display:flex;align-items:center;gap:32px}
.nav a,.footer-links a{font-size:11px;letter-spacing:.06em;text-decoration:none;color:#354033}
.nav a:hover,.footer-links a:hover{color:#c47a50}
.nav .nav-cta{padding:12px 18px;border:1px solid #949c8e;color:#2c342b}
.nav .nav-cta:hover{background:#2b3628;color:#f8f6f0;border-color:#2b3628}
.nav-cta span,.button span{margin-left:13px}
.menu-toggle{display:none;background:none;border:0;font-size:24px;color:#2c342b;cursor:pointer}
.hero{height:min(760px,78vw);min-height:610px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}
.hero-image,.hero-shade{position:absolute;inset:0}
.hero-image{background-image:url("https://images.unsplash.com/photo-1509316975850-ff9c5deb0cd9?auto=format&fit=crop&w=2200&q=88");background-size:cover;background-position:center 48%;transform:scale(1.01)}
.hero-shade{background:linear-gradient(90deg,rgba(28,34,26,.76) 0%,rgba(28,34,26,.46) 48%,rgba(28,34,26,.1) 100%)}
.hero-content{position:relative;z-index:1;margin-left:11%;max-width:650px;padding:60px 24px 60px 0}
.eyebrow,.section-kicker{font-size:10px;letter-spacing:.22em;font-weight:600;color:#b87d55;margin:0 0 23px}
.eyebrow.light{color:#e8dcc6}
.hero h1,.waitlist h2{font:400 clamp(48px,6.3vw,88px)/1.08 "Playfair Display",serif;letter-spacing:-.04em;margin:0 0 25px}
.hero h1 em,.intro h2 em,.section-heading h2 em,.programme h2 em,.band-copy h2 em,.location h2 em,.stay h2 em,.host h2 em,.waitlist h2 em,.faq h2 em{font-weight:400;color:#dfc394}
.hero-copy{font-size:16px;max-width:440px;color:#f3efe5;margin:0 0 32px}
.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 23px;text-decoration:none;font-size:11px;letter-spacing:.07em;text-transform:uppercase;font-weight:600;border:0;cursor:pointer;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button-light{background:#f6f3ea;color:#2b3628}
.button-dark{background:#2b3628;color:#f8f6f0}
.button-dark:hover{background:#3b4938}
.hero-note{margin-top:42px;font-size:10px;letter-spacing:.1em;color:#e8e3d6}
.tiny-sun{font-size:17px;margin-right:9px;color:#d8a864}
.hero-caption{position:absolute;right:6.5%;bottom:34px;font:italic 14px "Playfair Display",serif;color:#f0ebe0}
.section-pad{padding:112px 10%}
.intro-grid{display:grid;grid-template-columns:1fr .8fr;gap:12%;align-items:start}
.intro h2,.section-heading h2,.programme h2,.band-copy h2,.location h2,.stay h2,.host h2,.faq h2{font:400 clamp(38px,4.4vw,60px)/1.15 "Playfair Display",serif;letter-spacing:-.035em;margin:0}
.intro h2 em,.section-heading h2 em,.programme h2 em,.stay h2 em,.host h2 em,.faq h2 em{color:#a47f63}
.intro-text{max-width:450px;padding-top:4px}
.lead{font:400 21px/1.45 "Playfair Display",serif;color:#3f493d;margin:0 0 16px}
.intro-text p:not(.lead),.band-copy>p:not(.eyebrow),.location-copy>p:not(.eyebrow),.stay-copy>p:not(.section-kicker),.host-copy>p:not(.section-kicker){color:#656d62;font-size:13px}
.text-link{display:inline-block;margin-top:20px;color:#2f3a2c;text-decoration:none;font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid #b59b85;padding-bottom:6px}
.text-link span{margin-left:12px}
.image-triptych{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px;margin-top:75px}
.photo{height:340px;margin:0;background-size:cover;background-position:center;position:relative}
.photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(25,32,23,.5))}
.photo-yoga{background-image:url("https://images.unsplash.com/photo-1506126613408-eca07ce68773?auto=format&fit=crop&w=900&q=85")}
.photo-lavender{background-image:url("https://images.unsplash.com/photo-1499002238440-d264edd596ec?auto=format&fit=crop&w=900&q=85");margin-top:35px}
.photo-table{background-image:url("https://images.unsplash.com/photo-1510812431401-41d2bd2722f3?auto=format&fit=crop&w=900&q=85")}
.photo figcaption{position:absolute;z-index:1;bottom:18px;left:20px;color:#fff;font:italic 18px "Playfair Display",serif}
.experience-band{display:grid;grid-template-columns:1fr 1fr;min-height:550px;background:#ece7dd}
.band-image{background:url("https://images.unsplash.com/photo-1500382017468-9049fed747ef?auto=format&fit=crop&w=1300&q=85") center/cover}
.band-copy{padding:90px 12%;align-self:center}
.band-copy h2{margin-bottom:23px}
.band-copy h2 em{color:#9e795c}
.band-copy>p:not(.eyebrow){max-width:390px;margin-bottom:30px}
.offer{background:#f1ece0}
.section-heading{text-align:center;margin-bottom:58px}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d9d4c7;border-left:1px solid #d9d4c7}
.offer-card{position:relative;min-height:230px;padding:32px;border-right:1px solid #d9d4c7;border-bottom:1px solid #d9d4c7}
.offer-number{font-size:9px;letter-spacing:.16em;color:#b27d55}
.offer-icon{font-size:26px;color:#7e8b75;margin:15px 0}
.offer-card h3,.day-title h3{font:400 23px "Playfair Display",serif;margin:0 0 9px}
.offer-card p{font-size:12px;color:#6b7367;max-width:280px;margin:0}
.programme{background:#f8f6ee}
.programme-top{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:52px}
.programme-intro{max-width:320px;color:#687063;font-size:13px;margin:0 0 5px}
.day-row{display:grid;grid-template-columns:.55fr 1fr 1.1fr 35px;gap:30px;align-items:center;padding:29px 0;border-top:1px solid #ded9cd}
.day-row:last-child{border-bottom:1px solid #ded9cd}
.day-label{font-size:10px;letter-spacing:.13em;color:#969182}
.day-label b{font:400 30px "Playfair Display",serif;color:#354030;margin-left:8px}
.day-title p{margin:0;color:#7a8174;font-size:11px}
.day-detail{font-size:11px;color:#666e61;line-height:1.8}
.day-detail span{display:block;color:#b27d55;font-size:9px;letter-spacing:.15em;margin-bottom:6px}
.day-symbol{font-size:23px;color:#c99e5c}
.location{display:grid;grid-template-columns:1.05fr .95fr;min-height:600px;background:#e2ddd2}
.location-image{background:url("https://images.unsplash.com/photo-1509316975850-ff9c5deb0cd9?auto=format&fit=crop&w=1400&q=88") center/cover}
.location-copy{padding:95px 13%;align-self:center}
.location h2{margin-bottom:22px}
.location h2 em{color:#9e795c}
.location-copy>p:not(.eyebrow){max-width:410px}
.location-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px;padding-top:24px;border-top:1px solid #c9c3b6}
.location-facts b,.location-facts span{display:block}
.location-facts b{font-size:9px;letter-spacing:.16em;margin-bottom:7px}
.location-facts span{font-size:10px;color:#676e63}
.stay{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:center}
.stay-copy h2{margin-bottom:20px}
.stay-photos{height:470px;position:relative}
.stay-main{position:absolute;right:0;top:0;width:78%;height:88%;background:url("https://images.unsplash.com/photo-1582719478250-c89cae4dc85b?auto=format&fit=crop&w=1100&q=85") center/cover}
.stay-small{position:absolute;left:0;bottom:0;width:42%;height:48%;border:9px solid #f8f6f0;background:url("https://images.unsplash.com/photo-1590490360182-c33d57733427?auto=format&fit=crop&w=700&q=85") center/cover}
.photo-note{position:absolute;right:0;bottom:-28px;font:italic 13px "Playfair Display",serif;color:#7f776a}
.host{display:grid;grid-template-columns:1fr 1fr;background:#eee8dd;min-height:520px}
.host-image{background:url("https://images.unsplash.com/photo-1518611012118-696072aa579a?auto=format&fit=crop&w=1200&q=85") center/cover}
.host-copy{padding:90px 13%;align-self:center}
.host-copy h2{margin-bottom:22px}
.host-signature{font:italic 18px "Playfair Display",serif!important;color:#3f493d!important;margin-top:28px}
.host-signature span{display:block;font:10px "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8f887b;margin-top:6px}
.waitlist{position:relative;background:#2b3628;color:#f8f6f0;text-align:center;overflow:hidden}
.waitlist-deco{position:absolute;font-size:280px;color:rgba(235,226,204,.045);right:-30px;top:-90px;line-height:1}
.waitlist-content{position:relative;max-width:650px;margin:auto}
.waitlist h2{font-size:clamp(43px,5vw,65px);margin-bottom:20px}
.waitlist-lead{max-width:440px;margin:0 auto 35px;color:#d8decb;font-size:13px}
.waitlist-form{text-align:left;max-width:510px;margin:auto}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}
.field label{font-size:10px;letter-spacing:.1em;color:#d8decb}
.field input,.field select{width:100%;padding:14px 13px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.24);border-radius:0;color:#fff;font:13px "DM Sans",sans-serif;outline:none}
.field input::placeholder{color:#b9c2b4}
.field input:focus,.field select:focus{border-color:#dfc394}
.field select option{color:#2c342b}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:10px;line-height:1.6;color:#d5ded0;margin:5px 0 22px}
.consent input{accent-color:#cba063;margin-top:3px}
.submit-button{width:100%}
.form-note{text-align:center;color:#b6c0b3;font-size:9px;margin:14px 0}
.form-success{display:none;padding:16px;background:#e3e9dc;color:#283526;font-size:12px;margin-top:15px}
.form-success.show{display:block}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}
.faq h2 em{color:#a47f63}
.faq-list details{border-bottom:1px solid #ddd7c9;padding:19px 0}
.faq-list details:first-child{border-top:1px solid #ddd7c9}
.faq-list summary{list-style:none;cursor:pointer;font:400 18px "Playfair Display",serif;display:flex;justify-content:space-between;align-items:center}
.faq-list summary:after{content:"+";font:20px "DM Sans",sans-serif;color:#858f7e}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{font-size:12px;color:#676e62;max-width:580px;margin:13px 0 4px}
.footer{background:#eee8dd;padding:55px 8% 28px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.brand-footer{margin-right:auto}
.footer>p{font:italic 15px "Playfair Display",serif;color:#656e62}
.footer-links{display:flex;gap:22px}
.footer-links a{font-size:10px}
.copyright{width:100%;border-top:1px solid #dbd5c6;padding-top:20px;color:#888f83;font-size:9px;letter-spacing:.06em}

@media(max-width:850px){
  .site-header{padding:0 5%;height:72px}
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:72px;left:0;right:0;background:#f8f6f0;padding:20px 6%;flex-direction:column;align-items:stretch;gap:18px;border-bottom:1px solid #ddd}
  .nav.open{display:flex}
  .nav .nav-cta{text-align:center}
  .hero{min-height:590px;height:78vh}
  .hero-content{margin-left:7%;padding-right:7%}
  .section-pad{padding:82px 7%}
  .intro-grid,.stay,.faq{grid-template-columns:1fr;gap:30px}
  .image-triptych{margin-top:45px}
  .photo{height:260px}
  .offer-grid{grid-template-columns:repeat(2,1fr)}
  .programme-top{display:block}
  .programme-intro{margin-top:25px}
  .day-row{grid-template-columns:65px 1fr 30px;gap:18px}
  .day-detail{grid-column:2/3}
  .day-symbol{grid-column:3;grid-row:1}
  .location-copy,.host-copy{padding:70px 9%}
  .stay-photos{margin-top:10px}
  .host{grid-template-columns:1fr}
  .host-image{min-height:390px}
  .experience-band{min-height:0}
  .band-copy{padding:65px 9%}
  .footer{padding:45px 7%}
  .footer-links{width:100%;flex-wrap:wrap}
}
@media(max-width:560px){
  .announcement{font-size:8px;letter-spacing:.08em}
  .brand{font-size:10px}
  .brand small{font-size:8px}
  .hero{min-height:650px}
  .hero-content{margin-left:6%;padding:45px 6% 45px 0}
  .hero h1{font-size:49px}
  .hero-copy{font-size:14px}
  .hero-caption{display:none}
  .section-pad{padding:68px 6%}
  .intro h2,.section-heading h2,.programme h2,.band-copy h2,.location h2,.stay h2,.host h2,.faq h2{font-size:42px}
  .image-triptych{grid-template-columns:1fr 1fr;gap:10px}
  .photo{height:210px}
  .photo-lavender{margin-top:20px}
  .photo-table{display:none}
  .experience-band{grid-template-columns:1fr}
  .band-image{min-height:300px}
  .band-copy{padding:55px 7%}
  .offer-grid{grid-template-columns:1fr}
  .offer-card{min-height:190px;padding:25px}
  .day-row{grid-template-columns:52px 1fr 20px;gap:12px}
  .day-label b{font-size:24px;margin-left:3px}
  .day-title h3{font-size:20px}
  .day-detail{font-size:10px}
  .location{grid-template-columns:1fr}
  .location-image{min-height:330px}
  .location-copy{padding:60px 7%}.location-facts{gap:12px}
  .stay-photos{height:350px}
  .host-image{min-height:300px}
  .host-copy{padding:60px 7%}
  .waitlist h2{font-size:45px}
  .form-row{grid-template-columns:1fr;gap:0}
  .faq{gap:30px}
  .faq-list summary{font-size:16px}
  .footer{gap:18px}
  .footer>p{width:100%;margin:0}
  .footer-links{gap:15px}
  .footer-links a{font-size:9px}
}
