@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500&display=swap');
:root{--cream:#f6f3ec;--ink:#343c33;--gold:#907747;--line:#d9d2c4;--sage:#e7e9e0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.65 'Jost',sans-serif}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.08;margin:0 0 24px}h1{font-size:clamp(52px,6.6vw,94px)}h2{font-size:clamp(42px,4.7vw,68px)}h3{font-size:34px}em{font-weight:400;color:inherit}p{margin:0 0 22px}a{color:inherit}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}header{height:98px;padding:0 4.5%;display:flex;align-items:center;gap:30px;background:var(--cream);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font:500 19px/1.3 'Cormorant Garamond',serif;letter-spacing:2px;white-space:nowrap}.brandmark{font:48px/1 Georgia;color:var(--gold)}.brand small{display:block;font:10px/2 'Jost',sans-serif;letter-spacing:2.3px}.button{display:inline-block;padding:15px 27px;background:var(--gold);color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:1.6px;font-size:13px;border:1px solid var(--gold);transition:background .2s}.button:hover{background:#725f3a}.button.light{background:var(--cream);color:var(--ink);border-color:var(--cream)}.button.light:hover{background:#e8dfce}.button.small{padding:12px 18px}.button.outline{background:transparent;color:var(--ink)}nav{display:flex;gap:25px;margin-left:auto}nav a{font-size:14px;text-decoration:none}nav a:hover{color:var(--gold)}.menu{display:none}.hero{height:calc(100svh - 98px);min-height:580px;max-height:950px;position:relative;color:#fff}.hero>img{height:100%;width:100%;object-position:center 52%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,34,33,.53),rgba(15,34,33,.08)),linear-gradient(0deg,rgba(10,30,25,.4),transparent 30%)}.hero-content{position:absolute;top:50%;left:8%;transform:translateY(-48%);z-index:1}.eyebrow{font-size:12px;letter-spacing:2.4px;font-weight:500;margin-bottom:23px}.hero-content>p:not(.eyebrow){font-size:20px;margin:22px 0 33px}.hero-foot{position:absolute;bottom:25px;left:4.5%;right:4.5%;z-index:1;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.3px}.section{padding:105px 7%}.intro{max-width:850px;margin:auto;text-align:center}.intro>p:not(.eyebrow){max-width:590px;margin:0 auto 20px}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:0}:focus-visible{outline:3px solid #ad874d;outline-offset:5px}@media(max-width:1050px){header{gap:15px;padding:0 4%}nav{gap:14px}.brand{font-size:16px}.header-cta{display:none}}@media(max-width:720px){header{height:80px;justify-content:space-between}.brand{font-size:16px}.brandmark{font-size:40px}.brand small{font-size:8px}.menu{display:block;border:0;border-bottom:1px solid var(--gold);background:none;padding:6px;font-size:14px}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:24px;background:var(--cream);border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column}.hero{height:calc(90svh - 80px);min-height:550px}.hero-content{left:7%;right:7%}.hero-content>p:not(.eyebrow){font-size:18px;max-width:270px}.hero-foot{font-size:10px;left:7%;right:7%;gap:20px;align-items:end}.hero-foot span:first-child{max-width:140px}.hero-foot span:last-child{max-width:140px;text-align:right}.section{padding:72px 7%}}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-head h2{margin:0}.section-head>p{font-size:16px;margin:0 0 6px;color:#62695e}.experiences{background:#eeeee5}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.card>img{width:100%;height:370px;object-position:center 42%}.card-body{padding:27px 2px 0}.card .eyebrow{font-size:11px;margin-bottom:14px;letter-spacing:1.7px}.card-body>p:not(.eyebrow){min-height:112px;font-size:16px;color:#5d635a}.price{font-size:21px;margin:25px 0 20px}.price span{display:block;font-size:13px;color:#64695e}.text-link{border:0;background:none;padding:0 0 5px;border-bottom:1px solid var(--gold);font-size:14px;text-decoration:none;display:inline-block;color:var(--ink)}.text-link:hover{color:var(--gold)}.section-note{font-size:13px;color:#65695f;max-width:730px;margin:38px auto 0;text-align:center}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.photo-pair{position:relative;padding-right:17%;padding-bottom:50px}.photo-pair .tall{height:590px;width:100%}.photo-pair .inset{position:absolute;bottom:0;right:0;width:43%;height:280px;border:10px solid var(--cream)}.editorial>p:not(.eyebrow){max-width:510px;color:#60655b}.facts{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:25px;margin-top:30px;font-size:12px}.facts strong{display:block;font-size:17px;font-weight:400}.ocean-banner{height:570px;position:relative;color:white}.ocean-banner>img{width:100%;height:100%;object-position:center 42%}.ocean-banner:after{content:'';position:absolute;inset:0;background:rgba(17,37,28,.35)}.ocean-banner>div{position:absolute;top:50%;left:8%;transform:translateY(-50%);z-index:1}.gallery{display:grid;grid-template-columns:1.45fr 1fr .7fr;gap:30px;align-items:center}.gallery figure{margin:0}.gallery img{width:100%;height:365px}.gallery .wide img{height:365px}.gallery .room img{height:auto;max-width:280px}.gallery figcaption{font-size:14px;margin-top:14px}.gallery .room p{font-size:15px;margin-top:18px;color:#6b7065}.hosts{background:var(--sage)}.host-photo{width:100%;height:540px;object-position:center}.sessions{display:grid;grid-template-columns:1.1fr 1fr auto;gap:40px;align-items:center;margin-top:80px;padding-top:50px;border-top:1px solid #cbd0c3}.sessions .eyebrow{margin-bottom:10px}.sessions h3,.sessions p{margin-bottom:0}.sessions>p{font-size:15px}.sessions .button{font-size:11px;padding:14px}.stay{display:grid;grid-template-columns:1.1fr 1fr;background:#ded7c7}.stay>img{width:100%;height:660px;object-position:65% center}.stay-copy{padding:75px 16%;align-self:center}.stay-copy h2{font-size:72px}.stay-copy p{font-size:16px}.status{display:block;font-size:11px;letter-spacing:1.5px;border-top:1px solid #b9ad95;padding-top:23px;margin:28px 0 20px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}details{border-bottom:1px solid var(--line);padding:23px 0}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px;font-size:18px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:23px;color:var(--gold)}details[open] summary:after{content:'−'}details p{font-size:16px;color:#62685e;padding-top:20px;margin:0}.inquiry{background:#354137;color:#f5f1e7;display:grid;grid-template-columns:1fr 1fr;gap:12%}.inquiry h2{font-size:65px}.inquiry>div>a{font-size:15px;text-decoration:none}.inquiry form{align-self:center}label{display:block;font-size:13px;margin:0 0 10px;letter-spacing:.6px}label span{opacity:.65}input,select{width:100%;border:1px solid #81897a;color:var(--cream);background:#3d493f;padding:14px;border-radius:0;font-size:16px;min-width:0;color-scheme:dark}.form-row{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:24px}.quote{margin:20px 0;font-size:16px}.inquiry .button{width:100%;background:#c5b18b;color:#253226;border-color:#c5b18b}.inquiry .button:hover{background:#ddcaa7}.form-note{font-size:12px;opacity:.75;margin:14px 0 0}.inquiry .eyebrow{color:#d8c6a2}footer{padding:55px 7% 30px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px;font-size:14px}footer p{margin:0}footer>div>a{display:block;margin-bottom:8px;text-decoration:none}footer>small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px;color:#7d806f;font-size:12px}dialog{padding:55px;max-width:720px;width:90%;max-height:88svh;overflow:auto;background:var(--cream);color:var(--ink);border:0;box-shadow:0 20px 70px #0004}dialog::backdrop{background:#15261ccc;backdrop-filter:blur(4px)}.close-dialog{position:absolute;right:16px;top:10px;border:0;background:none;font-size:34px;color:var(--ink)}dialog h2{font-size:46px}dialog h3{font-size:27px;margin-top:28px;margin-bottom:15px}dialog ul{padding-left:20px;font-size:16px}dialog .itinerary{list-style:none;padding:0}dialog .itinerary li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);gap:20px}dialog .itinerary span{color:#6c725e;white-space:nowrap}dialog .button{margin-top:20px}body:has(dialog[open]){overflow:hidden}@media(min-width:1500px){.section{padding-left:max(7%,calc((100vw - 1320px)/2));padding-right:max(7%,calc((100vw - 1320px)/2))}}@media(max-width:1050px){.card>img{height:290px}.cards{gap:22px}.card-body>p:not(.eyebrow){min-height:160px}.split{gap:6%}.facts{flex-wrap:wrap}.sessions{grid-template-columns:1fr 1fr}.sessions>a{grid-column:2;justify-self:start}.stay-copy{padding:60px 10%}.gallery{grid-template-columns:1.2fr 1fr}.gallery .room{display:flex;gap:20px;grid-column:1/-1;align-items:center}.gallery .room img{max-width:180px}.gallery .room p{max-width:250px}.gallery .room figcaption{max-width:140px}footer{grid-template-columns:1fr 1fr}footer>.brand{grid-column:1/-1}}@media(max-width:720px){.section-head{display:block}.section-head>p{margin-top:25px}.cards{grid-template-columns:1fr;gap:50px}.card>img{height:390px}.card-body>p:not(.eyebrow){min-height:0}.card h3 br{display:none}.price{margin:18px 0}.split{grid-template-columns:1fr;gap:45px}.photo-pair .tall{height:430px}.photo-pair .inset{height:230px}.facts{gap:22px}.ocean-banner{height:460px}.ocean-banner>div{left:7%;right:7%}.gallery{grid-template-columns:1fr 1fr;gap:18px}.gallery .wide{grid-column:1/-1}.gallery .wide img{height:280px}.gallery img{height:300px}.gallery .room{display:block;grid-column:auto}.gallery .room img{max-width:100%}.gallery .room p{font-size:14px}.host-photo{height:350px}.sessions{display:block;margin-top:50px;padding-top:35px}.sessions>p{margin:20px 0}.stay{grid-template-columns:1fr}.stay>img{height:330px}.stay-copy{padding:60px 7%}.stay-copy h2{font-size:58px}.stay-copy h2 br{display:none}.faq{grid-template-columns:1fr;gap:20px}.inquiry{grid-template-columns:1fr;gap:40px}.inquiry h2{font-size:54px}.inquiry h2 br{display:none}footer{padding:45px 7%;gap:25px;font-size:13px}dialog{padding:45px 24px 30px}dialog h2{font-size:39px}.form-row{gap:12px}.hero h1{font-size:55px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Requested photo, food, video, and booking updates */
.card>img.massage-photo{object-fit:contain;background:#ddd7c9}.host-photo{object-position:center 40%}.food{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:30px;align-items:center;padding-top:25px}.food>img{width:100%;height:350px}.food>div{padding-right:20px}.food p:not(.eyebrow){font-size:16px}.floating-book{position:fixed;right:24px;bottom:24px;z-index:20;box-shadow:0 4px 22px #0003;background:#725f3a;border-color:#725f3a}body:has(dialog[open]) .floating-book{display:none}footer{padding-bottom:105px}.session-video{margin-top:65px;text-align:center}.session-video video{display:block;max-height:570px;width:100%;max-width:321px;aspect-ratio:9/16;background:#253226;margin:0 auto 15px}.session-video p{font-size:16px}.session-video+.sessions{margin-top:35px}@media(max-width:720px){.food{grid-template-columns:1fr 1fr;gap:16px;padding-top:0}.food>div{grid-column:1/-1;padding:0}.food>img{height:250px}.floating-book{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));padding:13px 20px;font-size:12px}.card>img.massage-photo{height:auto;aspect-ratio:1.25;object-fit:contain}.host-photo{height:440px;object-position:center 38%}}

/* Four retreat offerings */
.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:55px 35px}.card{display:flex;flex-direction:column}.card-body{flex:1;display:flex;flex-direction:column}.card-body>p:not(.eyebrow){min-height:0}.card-body .price{margin-top:auto;padding-top:20px}.card-body .text-link{align-self:flex-start}.card>img.reset-photo{object-position:center 78%}.photo-credit{font-size:11px;line-height:1.4;color:#737666;margin-top:14px}.photo-credit a{text-decoration:none}@media(max-width:720px){.cards{grid-template-columns:1fr}.card-body .price{padding-top:0}}

/* Selvana identity */
.brand{white-space:normal;letter-spacing:0;gap:10px;flex-shrink:0}.brand-copy{display:block}.brand-name{display:block;font-size:30px;line-height:1.05;letter-spacing:1px}.brand small{font-size:14px;line-height:1.45;letter-spacing:0}.brand .brand-location{font-size:12px;line-height:1.4}header{height:auto;min-height:112px;padding-top:12px;padding-bottom:12px}html{scroll-padding-top:120px}.hero{height:calc(100svh - 112px)}@media(max-width:1200px){header{gap:18px}.header-cta{display:none}}@media(max-width:820px){header{justify-content:space-between}.menu{display:block;border:0;border-bottom:1px solid var(--gold);background:none;padding:6px;font-size:14px}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:24px;background:var(--cream);border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column}header .brand{flex:1;min-width:0}header .brandmark{display:none}.brand-name{font-size:28px}.brand small{font-size:14px}.brand .brand-location{font-size:12px;max-width:265px}.hero{height:calc(90svh - 112px)}}

/* Beach hero video, retaining the existing photo and text overlay */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;pointer-events:none}

/* Dedicated retreat pages */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-content>p:not(.eyebrow){max-width:650px}.hero-content{right:7%}
.experience-intro>.text-link{margin-bottom:42px}.experience-intro h1{font-size:clamp(44px,5vw,72px)}.experience-intro .eyebrow{margin-bottom:18px}.experience-subtitle{font-size:22px}.experience-intro figure{margin:0}.experience-intro figure img{width:100%;height:540px}.experience-page .experience-intro img[src*="massage-sound"]{object-fit:contain;background:#ddd7c9}.experience-details{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:var(--sage)}.experience-details h2{font-size:44px}.experience-details .itinerary{list-style:none;padding:0}.experience-details .itinerary li{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:14px 0}.experience-details .itinerary li>span:last-child{white-space:nowrap;color:#62695e}.included-list{padding-left:20px}.included-list li{margin-bottom:14px}.experience-booking{text-align:center;background:#ded7c7}.related-experiences{padding-top:65px;padding-bottom:65px}.related-experiences>div{display:flex;flex-wrap:wrap;gap:24px}.experience-page .faq{padding-bottom:80px}
@media(max-width:720px){.hero-content>p:not(.eyebrow){max-width:340px;font-size:18px}.experience-intro .split{display:flex;flex-direction:column}.experience-intro figure{width:100%}.experience-intro figure img{height:350px}.experience-details{grid-template-columns:1fr;gap:40px}.experience-details h2{font-size:38px}.experience-booking .button{max-width:100%}.related-experiences>div{flex-direction:column;align-items:flex-start}}
@media(max-width:720px){.hero{min-height:720px}}
