:root{--paper:#f6f1e8;--ink:#432a30;--wine:#682e40;--muted:#73686a;--line:#d9cfc1;--gold:#a38654}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,.brand{font-family:Georgia,serif;font-weight:400;line-height:1.06}h1{font-size:clamp(3rem,5.4vw,5.8rem);letter-spacing:-.055em;margin:22px 0}h2{font-size:clamp(2.4rem,4vw,4rem);letter-spacing:-.04em;margin:14px 0 24px}h3{font-size:1.65rem;margin:16px 0}p{color:var(--muted);max-width:660px}em{font-weight:400;color:var(--wine)}.eyebrow{font-size:.75rem;letter-spacing:.17em;text-transform:uppercase;font-weight:600}.announcement{background:var(--wine);color:#fff6eb;text-align:center;padding:8px 20px;font-size:.75rem;letter-spacing:.06em}header{height:102px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:25px}.brand{font-size:1.7rem;white-space:nowrap}.brand small{display:block;font:10px/2 Arial;letter-spacing:.25em;text-transform:uppercase;text-align:center}nav{display:flex;align-items:center;gap:28px;font-size:.875rem}.button,button{display:inline-flex;justify-content:center;align-items:center;gap:28px;background:var(--wine);color:white;border:1px solid var(--wine);padding:15px 24px;border-radius:3px;cursor:pointer;font-size:.875rem}.button:hover,button:hover{background:#4c2130}.button.light{background:transparent;color:var(--wine);border-color:var(--line)}.menu{display:none}.hero{position:relative;min-height:650px;margin:28px 3% 0;display:grid;grid-template-columns:1.1fr 1fr;align-items:end;background:#ddd1be}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero-panel{position:relative;grid-column:2;background:var(--paper);padding:48px 50px;margin:80px 0 0}.hero-panel p{max-width:420px}.hero-panel .button{margin-top:14px}.secondary{display:block;font-size:.875rem;margin-top:16px;text-decoration:underline;text-underline-offset:5px}.hero-note{position:absolute;bottom:26px;left:32px;color:white;font-size:.75rem;letter-spacing:.1em;background:#432a307d;padding:8px 14px}.trust{display:flex;justify-content:space-around;gap:20px;padding:25px 5%;border-bottom:1px solid var(--line);font-size:.8rem}.trust span:before{content:'✧';margin-right:10px;color:var(--gold)}.section{padding:85px 7%}.intro{text-align:center;max-width:920px;margin:auto}.intro p{margin:0 auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}.text-link{border-bottom:1px solid var(--wine);padding-bottom:4px;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.card img{width:100%;height:290px;object-fit:cover;border-radius:100px 100px 3px 3px}.card{min-width:0}.card p{font-size:.9rem}.card .eyebrow{color:var(--gold)}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split>img{width:100%;height:590px;object-fit:cover;border-radius:3px 140px 3px 3px}.tinted{background:#eee6db}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.steps b{font:italic 2.4rem Georgia;color:var(--gold)}.steps h3{font-size:1.45rem}.steps p{font-size:.9rem}.cta{background:var(--wine);color:var(--paper);text-align:center;padding:75px 20px}.cta p{color:#e3d4d3;margin:0 auto 25px}.cta .button{background:var(--paper);color:var(--wine)}footer{padding:55px 7% 25px}footer .columns{display:flex;justify-content:space-between;gap:45px}footer a{display:block;font-size:.875rem;margin:6px 0}footer .bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;font-size:.75rem;color:var(--muted);display:flex;justify-content:space-between;gap:25px}.mobile-book{display:none}.page-top{padding:65px 7% 35px;max-width:1100px}.page-top h1{font-size:clamp(2.9rem,5vw,5rem)}.pill-row{display:flex;gap:10px;flex-wrap:wrap}.pill{border:1px solid var(--line);padding:8px 16px;border-radius:40px;font-size:.85rem;background:transparent;color:var(--ink)}.pill[aria-pressed=true]{background:var(--wine);color:white}.catalog{padding-top:25px}.catalog .card{padding-bottom:28px}.package{border:1px solid var(--line);padding:30px;background:#fffaf3}.package .button{margin-top:18px}.price{font-size:.9rem;color:var(--wine)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:1.1rem}details p{margin-bottom:0}.faq{max-width:900px;margin:auto}.booking{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:.85rem}input,select,textarea{display:block;width:100%;padding:13px;border:1px solid var(--line);border-radius:3px;background:#fffcf7;color:var(--ink);margin-top:7px}textarea{min-height:100px}.wide{grid-column:1/-1}.check{display:flex;align-items:start;gap:10px}.check input{width:auto;margin-top:7px}.notice{background:#ece3d5;border-left:3px solid var(--gold);padding:18px;font-size:.875rem}.result{margin-top:25px;padding:25px;background:#eee6db}.result textarea{height:240px}.hidden,[hidden]{display:none!important}.copy-status{min-height:1.5em}.prose{max-width:820px;margin:auto}.prose h2{font-size:2.2rem;margin-top:42px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.gallery img{width:100%;height:240px;object-fit:cover}.gallery video{width:100%}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:10}.media-caption{font-size:.75rem}.service-layout{padding-top:30px}.service-layout img{height:550px}.service-list{padding-left:22px;color:var(--muted)}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:780px}}@media(max-width:1050px){nav{gap:15px}nav .optional{display:none}.hero-panel{padding:35px}.hero{min-height:580px}.split{gap:35px}}@media(max-width:760px){header{height:85px;padding:0 6%}.brand{font-size:1.5rem}.menu{display:inline-flex;background:transparent;color:var(--wine);border-color:var(--line);padding:9px 14px}nav{display:none;position:absolute;top:119px;left:0;right:0;z-index:10;background:var(--paper);padding:25px;flex-direction:column;align-items:stretch;box-shadow:0 12px 20px #432a3020}nav.open{display:flex}nav .optional{display:block}.hero{display:block;margin:15px 4% 0;min-height:0;padding-top:320px}.hero>img{top:0;height:360px;object-position:center 40%}.hero-panel{margin:0 0 0 22px;padding:30px 25px}.hero-note{display:none}h1{font-size:3.4rem}.trust{display:grid;grid-template-columns:1fr 1fr;padding:24px 7%;gap:12px}.section{padding:55px 7%}.section-head{display:block}.section-head .text-link{display:inline-block;margin-bottom:10px}.grid,.split,.booking{grid-template-columns:1fr;gap:30px}.grid{gap:38px}.card img{height:320px}.split>img{height:410px}.steps{grid-template-columns:1fr 1fr;gap:25px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:180px}.page-top{padding-top:40px}.mobile-book{display:flex;position:fixed;bottom:15px;right:15px;box-shadow:0 5px 20px #432a3026;z-index:9;padding:12px 20px}footer{padding-bottom:85px}footer .columns{flex-wrap:wrap}footer .bottom{flex-direction:column}.announcement{font-size:.65rem}.service-layout img{height:420px}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.button{transition:background .2s}}

footer .bottom>div{display:flex;flex-wrap:wrap;gap:18px}.check input{min-width:18px;height:18px;accent-color:var(--wine)}

.card img[src*='massage.jpg'],.service-layout img[src*='massage.jpg']{object-position:28% center}@media(max-width:760px){.hero>img{object-position:25% center}}

@media(min-width:761px){.hero>img{object-position:center top}}

.nav-group{position:relative;border:0;padding:0}.nav-group summary{font-size:.875rem;cursor:pointer}.nav-group>div{position:absolute;top:34px;left:0;min-width:210px;background:var(--paper);padding:16px;box-shadow:0 8px 24px #432a3020;z-index:20;border:1px solid var(--line)}.nav-group a{display:block;padding:8px}.review-grid{display:grid;gap:20px;margin:25px 0}.review-card{border:1px solid var(--line);padding:25px}.review-card blockquote{margin:0;font:1.15rem/1.7 Georgia,serif}.review-card small{color:var(--muted)}@media(max-width:760px){.nav-group>div{position:static;box-shadow:none;margin-top:10px}.nav-group{width:100%}}

.hero-controls{position:absolute;bottom:24px;left:26px;z-index:2;display:flex;gap:8px;align-items:center;padding:8px;background:#f6f1e8ed;border:1px solid var(--line);border-radius:4px}.hero-controls button{padding:7px 12px;min-height:40px}.hero-controls span{font-size:.8rem;padding:0 6px}.ritual-result{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-top:32px}.ritual-result h3{font-size:2.5rem}.ritual-result img{width:100%;height:320px;object-fit:cover;object-position:28% center;border-radius:4px 90px 4px 4px}.monthly-feature{display:flex;align-items:center;justify-content:space-between;gap:30px}.career-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.career-teaser{text-align:center}.career-teaser p{margin:0 auto 24px}#apply{scroll-margin-top:25px}nav{gap:19px}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}.card{transition:transform .25s ease}.card:hover{transform:translateY(-6px)}.hero>img{animation:gentle-arrival .8s ease}@keyframes gentle-arrival{from{opacity:.6}to{opacity:1}}}@media(max-width:1100px) and (min-width:761px){header{padding:0 3%;gap:15px}nav{gap:12px;font-size:.8rem}nav .button{padding:12px 14px}.brand{font-size:1.4rem}}@media(max-width:760px){.hero-controls{top:260px;bottom:auto;left:12px}.ritual-result,.career-grid{grid-template-columns:1fr}.ritual-result{gap:20px}.ritual-result img{height:250px}.monthly-feature{display:block}.monthly-feature .button{margin-top:15px}.hero-controls button{padding:6px 11px}.hero-panel{padding-top:35px}}

.audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.audience-grid .card img{height:245px}.audience-grid .text-link{white-space:normal;display:inline-block;font-size:.875rem}.audience-grid h3{font-size:1.7rem;line-height:1.15}@media(max-width:1100px){.audience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.audience-grid{grid-template-columns:1fr;gap:38px}.audience-grid .card img{height:290px}}

img,video{max-width:100%}input,select,textarea{font-size:16px}button,.button{min-height:44px}.trust{flex-wrap:wrap}.trust span{max-width:100%}main,section,article{min-width:0}.hero-panel h1{overflow-wrap:normal}.nav-group summary{min-height:44px;display:flex;align-items:center}.nav-group>div{top:44px}footer a{min-height:32px;padding:4px 0}.hero-controls button{min-width:44px;min-height:44px}@media(max-width:1100px){header{height:auto;min-height:90px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}nav{flex-wrap:wrap}}@media(max-width:760px){header{position:relative;min-height:85px;padding-top:0;padding-bottom:0}nav{top:100%;max-height:75vh;overflow-y:auto}.trust{grid-template-columns:1fr 1fr}.trust span:first-child{grid-column:1/-1}.button{white-space:normal;text-align:center}.hero-panel h1{font-size:clamp(2.4rem,10vw,3.4rem)}.mobile-book{bottom:max(12px,env(safe-area-inset-bottom))}footer{padding-bottom:100px}.text-link{white-space:normal}.hero-controls{max-width:calc(100% - 24px)}}@media(max-width:360px){.brand{font-size:1.3rem}.brand small{letter-spacing:.15em}.hero-panel{margin-left:12px;padding:28px 18px}.steps{grid-template-columns:1fr}.section{padding:45px 6%}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}*{scroll-behavior:auto!important}}

.mobile-book{display:none!important}.contact-dock{position:fixed;right:18px;bottom:max(15px,env(safe-area-inset-bottom));display:flex;gap:8px;z-index:30;box-shadow:0 4px 20px #432a3020;background:var(--paper);padding:6px;border-radius:5px}.contact-dock a{background:#235a44;color:white;padding:12px 17px;border-radius:3px;font-size:.875rem;min-height:44px}.contact-dock button{padding:12px 17px}#helper-dialog{width:min(440px,calc(100% - 24px));max-height:85dvh;padding:24px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;overflow:auto}#helper-dialog::backdrop{background:#24131a80}.helper-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.helper-head h2{font-size:1.8rem;margin:10px 0}.helper-head button{padding:6px 15px}.helper-disclosure{font-size:.8rem;line-height:1.5}.helper-log{max-height:32dvh;overflow:auto}.helper-log p{padding:12px;border-radius:6px;margin:10px 0;font-size:.9rem}.helper-answer{background:#ece3d5}.helper-user{background:white}.helper-log a{text-decoration:underline}.helper-topics{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.helper-topics button{font-size:.8rem;padding:7px 12px;background:transparent;color:var(--wine);border-color:var(--line)}.helper-input{display:flex;align-items:end;gap:8px}.helper-input input{min-width:0}.helper-input button{padding:12px 16px}[data-payment][aria-disabled=true]{opacity:.65;cursor:not-allowed}.package h2{font-size:2rem}body{padding-bottom:85px}@media(max-width:400px){.contact-dock{left:12px;right:12px;justify-content:center}.contact-dock button,.contact-dock a{font-size:.8rem;padding:10px 12px}#helper-dialog{padding:18px}}

/* Preserve the complete service activity in each illustration. */
.service-layout>img.service-specific,.card img.service-specific{height:auto;aspect-ratio:3/2;object-fit:cover}
.trust{flex-wrap:wrap}

.social-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 0}.social-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.social-links{gap:8px 16px}.contact-dock{max-width:calc(100vw - 24px)}h1,h2,h3{overflow-wrap:break-word}}
