
:root{--ink:#22392f;--cream:#f7f5ed;--sage:#dce3d6;--gold:#b59b62;--muted:#627168}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}.draft{text-align:center;background:var(--ink);color:#f8f6e9;font-size:12px;padding:7px 18px;letter-spacing:.06em}header{display:flex;align-items:center;justify-content:space-between;padding:19px 6%;border-bottom:1px solid #22392f20;background:var(--cream);position:sticky;top:0;z-index:5}.brand{text-decoration:none;display:flex;align-items:center;gap:13px}.brand b{font:24px Georgia,serif}.brand small{display:block;font-size:9px;letter-spacing:.32em}.seal{border:1px solid var(--gold);border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font:23px Georgia;color:#917a48}nav{display:flex;gap:28px;font-size:13px;align-items:center}nav a{text-decoration:none}.pill{background:var(--ink);color:white;border:0;padding:13px 23px;border-radius:3px;text-decoration:none;display:inline-block;font-size:13px}.menu{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:650px}.intro{padding:100px 9% 80px 12%}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--muted)}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(50px,5.5vw,84px);margin:25px 0}h1 em{color:#75866c}p{color:var(--muted)}.intro p{max-width:350px;margin:25px 0 33px}.textlink{font-size:13px;margin-left:24px;text-underline-offset:5px}.scene{position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 20%,#bfcbb3 0,transparent 55%),linear-gradient(135deg,#8d9b82,#3a5342);display:flex;align-items:center;justify-content:center;min-height:490px}.arch{position:absolute;top:55px;bottom:-10px;width:72%;border-radius:220px 220px 0 0;background:linear-gradient(115deg,#b4bda5,#697e61);box-shadow:0 0 0 1px #ffffff22,25px 10px 60px #203d3040}.moon{position:absolute;width:190px;height:190px;border-radius:50%;background:#f3e7c1;top:100px;left:calc(50% - 95px);box-shadow:0 0 75px #e9e3bb55}.moon:after{content:'';position:absolute;inset:-8px 0 8px 32px;background:#9baa8e;border-radius:50%}.stones{position:absolute;width:260px;height:70px;background:linear-gradient(#d9dcc9,#909983);border-radius:50%;bottom:115px;left:calc(50% - 130px);box-shadow:0 16px 35px #243d3060}.stones:before{content:'';position:absolute;width:180px;height:65px;background:linear-gradient(#b8bfac,#778774);border-radius:50%;bottom:38px;left:40px}.stones:after{content:'';position:absolute;width:110px;height:55px;background:linear-gradient(#e2e1ce,#a9b29a);border-radius:50%;bottom:79px;left:75px}.scene-caption{position:absolute;bottom:32px;left:35px;color:#f6f4e2;font:italic 19px Georgia}.scene-label{position:absolute;right:24px;bottom:26px;color:#edf0e0aa;font-size:10px;letter-spacing:.12em}.strip{padding:22px 6%;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #22392f25;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.section{padding:85px 7%}.heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}h2{font-size:46px;margin:12px 0}.heading p{max-width:350px;font-size:14px}.treatments{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.treatment{border-top:1px solid #a9b59e;padding-top:24px}.number{font:italic 20px Georgia;color:#88977d}h3{font-size:29px;margin:28px 0 12px}.treatment p{font-size:14px;min-height:70px}.subline{border-top:1px solid #22392f20;padding-top:14px;font-size:12px;color:var(--muted)}.note{font-size:12px;color:#687366;margin-top:28px}.roster{background:#e8ecdf}.days{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}.days button{padding:10px 21px;border:1px solid #aab7a3;background:transparent;border-radius:30px;color:var(--ink);font-size:13px}.days button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.empty{border:1px solid #acb9a8;display:flex;gap:24px;align-items:center;padding:34px}.empty .symbol{font:45px Georgia;color:#8c9f82}.empty h3{font-size:25px;margin:0 0 8px}.empty p{margin:0;font-size:14px}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.prices{border-top:1px solid #aeb9a5}.price{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid #d0d6c8}.price span:last-child{color:var(--muted);font-size:14px}.visit{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:90px}.visit p,.visit .eyebrow{color:#bbc8ba}.details{display:grid;grid-template-columns:1fr 1fr;gap:26px}.details h3{font:11px Arial;letter-spacing:.15em;text-transform:uppercase;color:#d8c99d;margin-top:18px}.details p{font-size:14px}footer{padding:30px 7%;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}@media(max-width:780px){header{padding:15px 5%}.brand b{font-size:20px}.menu{display:block;background:none;border:1px solid #a5b39f;padding:6px 12px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);padding:24px;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{grid-template-columns:1fr}.intro{padding:55px 7%}.scene{min-height:400px}.arch{top:30px}.moon{top:65px}.stones{bottom:85px}.strip{font-size:9px;gap:12px;flex-wrap:wrap}.section{padding:55px 7%}.heading{display:block}h2{font-size:37px}.treatments,.price-grid,.visit{grid-template-columns:1fr;gap:30px}.treatment p{min-height:0}.empty{padding:23px;gap:15px}.details{gap:16px}footer{gap:15px;flex-wrap:wrap}.textlink{margin-left:15px}.draft{font-size:10px}}

:root{--ink:#2a123e;--cream:#fcf8ee;--sage:#e8deee;--gold:#d6b76b;--muted:#75657b}header{background:#210c35;color:#f5e6b8;border-bottom:1px solid #d6b76b40}.brand small{color:#d6b76b}.seal{color:#efd080}.pill{background:#e1c174;color:#251132}.hero{background:#210c35;color:#fff4db}.intro .eyebrow{color:#d6b76b}.intro p{color:#d1bed9}h1 em{color:#e6c974}.hero .textlink{color:#edd79d}.scene{background:#210c35;min-height:550px}.hero-logo{width:100%;height:100%;max-height:650px;object-fit:contain;display:block}.strip{background:#eee4d8;border-color:#2a123e20}.roster{background:#eee5f0}.days button[aria-pressed=true]{background:#321347;border-color:#321347}.visit{background:#210c35}.visit .eyebrow{color:#d6b76b}.visit p{color:#d4c2dd}.visit .pill{margin-top:15px}.details h3{color:#dfc47e}.details a{color:inherit;text-underline-offset:4px}.price-head{background:#efe5f0;padding:14px 18px;display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.price{padding:19px 18px}.price strong{font:25px Georgia;color:#5e2d70}.price span:last-child{color:var(--ink)}.addon{margin-top:22px;background:#eee6d5;padding:18px;display:flex;justify-content:space-between}.roster .empty{border-color:#bdacc6}.roster .symbol{color:#986eac}.roster .days button{border-color:#bfaec7}.note{color:#75657b}.mobile-call{display:none}.footer-brand{font:20px Georgia}@media(max-width:780px){nav{background:#210c35;top:76px}.menu{color:#fff0c9;border-color:#d6b76b80}.scene{min-height:0}.hero-logo{max-height:440px}.intro{padding-bottom:25px}.mobile-call{display:block;position:fixed;bottom:15px;right:15px;background:#e1c174;color:#251132;text-decoration:none;padding:12px 20px;border-radius:30px;box-shadow:0 3px 18px #18082033;z-index:9;font-size:14px}footer{padding-bottom:85px}}

/* Photo-led Moonlight 77 layout */
[hidden]{display:none!important}.header-logo{border-radius:50%;width:48px;height:48px}header{padding:15px 5%}nav{gap:22px;font-size:12px}.photo-hero{min-height:680px;height:80vh;max-height:900px;position:relative;isolation:isolate;color:#fff5dc;display:flex;align-items:center;background:#251035}.photo-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;z-index:-2}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#180c24e8 0%,#1b1027a6 35%,#170e2030 70%),linear-gradient(0deg,#1b1027c0,transparent 40%);z-index:-1}.photo-hero-content{padding:50px 7%;max-width:1000px}.photo-hero .eyebrow{color:#e7cd91}.photo-hero h1{font-size:clamp(50px,6vw,88px);margin:25px 0;line-height:1.08}.photo-hero h1 em{color:#f0d58c}.photo-hero p{color:#efe7dc;font-size:17px;line-height:1.8}.hero-actions{margin-top:30px}.photo-hero .textlink{color:#fff0cf}.hero-footer{position:absolute;bottom:28px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.gallery-section{padding-top:75px}.gallery-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:245px 245px;gap:16px}.gallery-item{position:relative;overflow:hidden;border:0;background:#251035;padding:0;text-align:left;color:white}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#160b20c9)}.gallery-item>span{position:absolute;z-index:1;bottom:20px;left:22px;right:22px;font:22px Georgia}.gallery-item b{float:right;font:18px Arial}.gallery-0{grid-row:span 2}.gallery-1 img{object-position:center 50%}.gallery-note{font-size:12px;margin-top:15px}.video-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center;background:#251035;color:#fff3d5}.video-section .eyebrow{color:#dfc280}.video-section p{color:#cdbcd3}.video-section .textlink{margin-left:0;color:#e9cb83}.video-copy h2{font-size:44px}.video-note{font-size:13px}.video-frame{position:relative;min-width:0;background:#170b22;box-shadow:0 10px 40px #0d061d44}#video-placeholder{aspect-ratio:16/9;position:relative;overflow:hidden}#video-placeholder>img{width:100%;height:100%;object-fit:cover;filter:brightness(.42)}.video-placeholder-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:20px}.video-mark{width:60px;height:60px;border:1px solid #e6c779;border-radius:50%;display:grid;place-items:center;font:28px Georgia;color:#e6c779}.video-placeholder-copy strong{font:26px Georgia}.video-placeholder-copy>span:last-child{font-size:12px;letter-spacing:.08em;color:#e4d7dc}#intro-player{width:100%;aspect-ratio:16/9;display:block;background:#100819}.video-tools{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;color:#e9d9b7;font-size:12px}.video-tools button{background:none;color:#e9d9b7;border:1px solid #8c749d;padding:7px 12px}#video-error{padding:25px;color:#eee}#video-error a{color:#e5c675}dialog{padding:15px;border:1px solid #866a9c;background:#1d0c2d;color:#fff0cf;max-width:min(92vw,1050px);max-height:94vh}dialog::backdrop{background:#100819df}dialog img{display:block;max-width:100%;max-height:76vh;object-fit:contain;margin:auto}dialog p{text-align:center;color:#f3e2b9;font:20px Georgia;margin:15px 30px 8px}.dialog-close{position:absolute;right:20px;top:20px;background:#1b102be0;color:white;border:1px solid #e5d9bc;padding:0;width:36px;height:36px;border-radius:50%;font-size:25px}.treatments{gap:40px}.treatment{border-color:#bfa56e}.roster{background:#ede3ed}.video-section+.section{padding-top:80px}@media(max-width:1000px){nav{gap:14px}.brand b{font-size:20px}.gallery-grid{grid-template-rows:200px 200px}.video-section{gap:35px}.video-copy h2{font-size:36px}}@media(max-width:780px){header{padding:12px 5%}nav{top:73px;gap:20px}.photo-hero{height:auto;min-height:610px}.photo-hero-content{padding:70px 7% 110px}.photo-hero h1{font-size:52px}.hero-shade{background:linear-gradient(90deg,#180c24df,#180c2460),linear-gradient(0deg,#180c24aa,transparent)}.hero-footer{font-size:9px;gap:15px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:280px 210px 210px;gap:10px}.gallery-0{grid-column:span 2;grid-row:auto}.gallery-item>span{font-size:18px;left:13px;right:13px;bottom:15px}.video-section{grid-template-columns:1fr;gap:25px}.video-copy h2{font-size:37px}.photo-hero .textlink{display:inline-block;margin-left:18px;font-size:12px}.video-placeholder-copy strong{font-size:22px}.video-mark{width:45px;height:45px;font-size:23px}.video-placeholder-copy{gap:9px}.gallery-section .heading p{max-width:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-item img{transition:none}.gallery-item:hover img{transform:none}}

.chat-launch{position:fixed;bottom:24px;right:24px;z-index:20;background:#2b123e;color:#f0d48d;border:1px solid #bc995c;border-radius:30px;padding:15px 24px;box-shadow:0 6px 30px #160b2033;font-size:14px}.chat-panel{position:fixed;right:24px;bottom:90px;width:350px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 115px);overflow:auto;background:#fcf8ee;border:1px solid #d5c0a0;box-shadow:0 15px 60px #17082244;z-index:21;border-radius:12px;color:#2a123e}.chat-header{background:#2b123e;color:#f6e7bb;padding:20px;display:flex;justify-content:space-between;align-items:center}.chat-header strong{font:22px Georgia}.chat-header small{display:block;margin-top:5px;font-size:11px;color:#d9c6df}.chat-header button{background:none;border:0;color:#f6e7bb;font-size:28px}.chat-body{padding:20px}.chat-welcome{margin:0 0 10px;color:#2a123e;font-size:15px}.chat-disclosure{font-size:11px;line-height:1.6}.chat-body #chat-options{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.chat-body #chat-options button{background:#eee3f1;color:#44224e;border:1px solid #d5c2dc;border-radius:20px;padding:8px 12px;font-size:12px}#chat-answer:not(:empty){padding:14px;background:white;border-left:2px solid #c09c52;margin-bottom:16px;font-size:13px}.chat-call{font-size:13px;color:#58346a;text-underline-offset:4px}@media(max-width:780px){.chat-launch{bottom:18px;right:15px;padding:12px 18px}.mobile-call{right:auto;left:15px}.chat-panel{right:16px;bottom:78px}}

.cash-offer{margin:25px 0;padding:22px 24px;background:#efe3c7;border-left:3px solid #ac843b}.cash-offer>span{display:block;font-size:10px;letter-spacing:.18em;color:#725126}.cash-offer>strong{font:30px Georgia;display:block;margin:9px 0;color:#40213f}.cash-offer p{margin:0;font-size:13px;color:#635167}.price-table{width:100%;border-collapse:collapse;text-align:left}.price-table caption{text-align:left;font-size:12px;color:#75657b;padding:0 0 12px}.price-table thead{background:#efe5f0}.price-table thead th{padding:16px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:400}.price-table tbody th,.price-table tbody td{padding:22px 14px;border-bottom:1px solid #d0c4d4}.price-table tbody th{font-size:14px;font-weight:400}.price-table td{font:23px Georgia}.price-table .cash-price{color:#5a2b70;font-weight:bold;background:#eee5cf80}.discount-note{font-size:12px;color:#75657b;margin-top:16px}@media(max-width:420px){.price-table thead th,.price-table tbody th,.price-table tbody td{padding:18px 10px}.price-table td{font-size:22px}}

.roster-date-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:30px}.roster-date-row label{font-size:13px}.roster-date-row input{padding:11px 15px;background:#fffaf4;color:#321547;border:1px solid #bcabc4;font:inherit;border-radius:4px}.roster-date-row button,.roster-retry{padding:11px 20px;background:#321547;color:#fff0c9;border:0;border-radius:4px;font-size:13px}#roster-day-label{font-size:13px;color:#75657b}.staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.staff-card{background:#fffaf4;border:1px solid #dfd1e2;min-width:0}.staff-card>img{width:100%;height:330px;object-fit:cover;display:block}.staff-initial{height:200px;background:linear-gradient(130deg,#321547,#71517e);color:#f0d48d;display:grid;place-items:center;font:65px Georgia}.staff-card-copy{padding:24px}.staff-card h3{margin:0 0 15px}.staff-hours{display:inline-block;padding:4px 12px;border-radius:20px;background:#ece2f0;color:#53315e;font-size:12px}.staff-card p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.staff-card a{font-size:13px;text-underline-offset:5px}.staff-empty{padding:30px;background:#fffaf480;border:1px solid #c2accb;font-size:14px}@media(max-width:900px){.staff-grid{grid-template-columns:1fr 1fr}}@media(max-width:550px){.staff-grid{grid-template-columns:1fr}.staff-card>img{height:360px}.roster-date-row{gap:10px}}
