:root{--paper:#f7f5ef;--white:#fff;--linen:#ebe5d9;--stone:#d3cabd;--sage:#87917a;--sage-dark:#58624f;--clay:#a88268;--charcoal:#20231f;--muted:#6f7169;--line:#20231f1f;--shadow:0 22px 56px #3a372f21}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(180deg, #ffffffeb, #f7f5eff0), var(--paper);color:var(--charcoal);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.65}body:has(.main-nav[data-open=true]){overflow:hidden}a{color:inherit;text-decoration:none}button,select{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3,.brand span,.footer-brand{letter-spacing:0;font-family:Georgia,Times New Roman,serif;font-weight:500}h1{max-width:780px;font-size:40px;line-height:1.06}h2{font-size:31px;line-height:1.12}h3{font-size:21px;line-height:1.22}.section-shell{width:min(1130px,100% - 32px);margin:0 auto;padding:64px 0}.section-band{background:linear-gradient(180deg, #ffffffd1, #ebe5d975), var(--paper);border-block:1px solid #58624f1f}.section-heading{max-width:700px;margin-bottom:28px}.section-heading p:not(.section-kicker){color:var(--muted);margin-top:12px}.section-kicker{color:var(--sage-dark);letter-spacing:0;text-transform:uppercase;margin-bottom:12px;font-size:13px;font-weight:800}.button{text-align:center;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:13px 20px;font-weight:800;line-height:1.1;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:inline-flex}.button:hover,.header-cta:hover,.floating-contact:hover{transform:translateY(-2px)}.button:focus-visible,.header-cta:focus-visible,.floating-contact:focus-visible,.nav-toggle:focus-visible,.main-nav a:focus-visible{outline-offset:3px;outline:3px solid #58624f52}.button-primary{background:var(--sage-dark);color:var(--white);box-shadow:0 14px 28px #58624f33}.button-primary:hover{background:#46503f}.button-secondary{color:var(--charcoal);background:#ffffffc7;border-color:#58624f42}.button-secondary:hover{background:var(--white);border-color:#58624f85}.button-wide{width:100%}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f5efed;border-bottom:1px solid #20231f1a;grid-template-columns:1fr auto auto;align-items:center;gap:12px;min-height:74px;padding:12px max(16px,50vw - 565px);display:grid;position:sticky;top:0}.brand{gap:2px;line-height:1;display:inline-grid}.brand span{color:var(--charcoal);font-size:30px}.brand small{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:800}.main-nav{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffffffa;border-radius:8px;padding:10px;display:none;position:fixed;inset:74px 16px auto}.main-nav[data-open=true]{display:grid}.main-nav a{color:var(--muted);border-radius:8px;padding:14px 12px;font-size:15px;font-weight:750}.main-nav a:hover{color:var(--charcoal);background:#87917a1f}.nav-toggle{background:var(--white);width:44px;height:44px;color:var(--charcoal);cursor:pointer;border:1px solid #58624f38;border-radius:999px;place-content:center;gap:6px;display:inline-grid}.nav-toggle span{background:currentColor;border-radius:999px;width:18px;height:2px;display:block}.header-cta{background:var(--charcoal);min-height:42px;color:var(--white);border-radius:999px;justify-content:center;align-items:center;padding:11px 18px;font-weight:850;transition:transform .18s,background .18s;display:none}.header-cta:hover{background:#11130f}.hero{gap:34px;padding-top:54px;display:grid}.fade-in{animation:.68s both fadeInUp}.hero-subtitle{max-width:700px;color:var(--muted);margin-top:18px;font-size:18px}.hero-actions{gap:12px;margin-top:28px;display:grid}.hero-note{max-width:600px;color:var(--muted);margin-top:20px;font-size:14px}.hero-visual{background:linear-gradient(145deg, #ffffffe6, #d3cabd8f), var(--linen);min-height:430px;box-shadow:var(--shadow);border:1px solid #58624f2e;border-radius:8px;padding:16px;animation-delay:.12s}.visual-frame{background:linear-gradient(145deg,#58624f24,#ffffffbf),#ece8df;border:1px solid #ffffffb8;border-radius:8px;place-items:center;min-height:250px;display:grid}.visual-frame span,.visual-row span,.visual-caption{color:var(--charcoal);text-align:center;font-family:Georgia,Times New Roman,serif}.visual-frame span{font-size:32px}.visual-row{grid-template-columns:1fr;gap:10px;margin-top:10px;display:grid}.visual-row span{background:#ffffff94;border:1px solid #58624f24;border-radius:8px;place-items:center;min-height:76px;font-size:20px;display:grid}.visual-caption{color:var(--sage-dark);margin-top:12px;font-size:18px}.trust-bar{gap:12px;padding-top:20px;display:grid}.trust-bar article{border:1px solid var(--line);background:#ffffffc7;border-radius:8px;gap:4px;padding:18px;display:grid;box-shadow:0 14px 36px #3a372f14}.trust-bar strong{color:var(--sage-dark);font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:500}.trust-bar span{color:var(--muted)}.services-grid,.method-grid,.reviews-grid,.gallery-grid{gap:14px;display:grid}.service-card,.method-step,.review-card,.booking-contact,.booking-demo{border:1px solid var(--line);background:#fffc;border-radius:8px;box-shadow:0 16px 40px #3a372f14}.service-card,.method-step,.review-card{padding:20px;transition:transform .18s,border-color .18s,box-shadow .18s}.service-card:hover,.method-step:hover,.review-card:hover,.gallery-card:hover{border-color:#58624f5c;transform:translateY(-4px);box-shadow:0 20px 48px #3a372f21}.service-card{align-content:start;gap:14px;min-height:232px;display:grid}.service-index{background:var(--sage);border-radius:999px;width:36px;height:3px}.service-card p,.method-step p,.review-card p{color:var(--muted)}.service-card a{width:fit-content;color:var(--sage-dark);margin-top:auto;font-weight:850}.rituals,.wellness-inner,.booking-layout,.contact{gap:30px;display:grid}.ritual-panel,.map-placeholder{background:linear-gradient(145deg, #ffffffc7, #87917a33), var(--linen);min-height:340px;box-shadow:var(--shadow);border:1px solid #58624f2e;border-radius:8px;place-items:center;padding:14px;display:grid}.ritual-panel span,.map-placeholder span{width:100%;min-height:100%;color:var(--charcoal);text-align:center;background:#ffffff75;border:1px solid #ffffffb8;border-radius:8px;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:30px;display:grid}.ritual-copy p,.wellness-copy p,.booking-copy p{color:var(--muted);margin-top:14px}.soft-list{gap:10px;margin:22px 0;padding:0;list-style:none;display:grid}.soft-list li{color:var(--charcoal);gap:10px;font-weight:730;display:flex}.soft-list li:before{content:"";background:var(--clay);border-radius:999px;flex:0 0 9px;width:9px;height:9px;margin-top:9px}.wellness-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.wellness-grid span{background:linear-gradient(145deg, #ffffffb8, #d3cabd7a), var(--linen);min-height:150px;color:var(--charcoal);border:1px solid #58624f24;border-radius:8px;place-items:end start;padding:16px;font-family:Georgia,Times New Roman,serif;font-size:21px;line-height:1.15;display:grid}.method-step{gap:12px;display:grid}.method-step span{color:var(--clay);font-size:13px;font-weight:900}.gallery-grid{grid-template-columns:1fr}.gallery-card{background:linear-gradient(145deg, #ffffff9e, #87917a33), var(--linen);border:1px solid #58624f29;border-radius:8px;min-height:190px;margin:0;transition:transform .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:0 14px 34px #3a372f14}.gallery-card[data-tone="1"]{background:linear-gradient(145deg,#ffffffb3,#a882682e),#eee8dd}.gallery-card[data-tone="2"]{background:linear-gradient(145deg,#ffffffc7,#20231f14),#f1eee6}.gallery-card[data-tone="3"]{background:linear-gradient(145deg,#ffffffa3,#d3cabd94),#ebe4da}.gallery-card:before{content:"";border:1px solid #ffffff94;border-radius:8px;position:absolute;inset:16px}.gallery-card span{color:var(--charcoal);font-family:Georgia,Times New Roman,serif;font-size:23px;line-height:1.12;position:absolute;bottom:18px;left:18px;right:18px}.review-summary{background:#ffffffbd;border:1px solid #58624f2e;border-radius:8px;gap:5px;margin-bottom:18px;padding:18px;display:grid}.review-summary strong{color:var(--charcoal)}.review-summary span{color:var(--muted);font-size:14px}.review-label{text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:850;color:var(--sage-dark)!important}.booking-contact,.booking-demo{gap:14px;padding:20px;display:grid}.booking-contact{margin-top:22px}.booking-contact dl{gap:14px;margin:0;display:grid}.booking-contact dt{color:var(--sage-dark);text-transform:uppercase;font-size:13px;font-weight:900}.booking-contact dd{color:var(--charcoal);gap:2px;margin:0;display:grid}.booking-demo label{color:var(--muted);gap:7px;font-size:14px;font-weight:800;display:grid}.booking-demo select{background:var(--white);width:100%;min-height:48px;color:var(--charcoal);border:1px solid #20231f24;border-radius:8px;padding:0 12px}.contact address{color:var(--muted);gap:8px;margin:16px 0 24px;font-style:normal;display:grid}.contact address strong{color:var(--charcoal);font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500}.site-footer{background:var(--charcoal);color:#ffffffb8;border-top:1px solid #ffffff1f;padding:48px max(16px,50vw - 565px) 90px}.footer-inner{gap:28px;display:grid}.footer-brand{color:var(--white);margin-bottom:12px;font-size:31px;display:inline-block}.site-footer p{max-width:430px}.site-footer h2{color:var(--white);letter-spacing:0;text-transform:uppercase;margin-bottom:10px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:850}.site-footer nav,.footer-contact{align-content:start;gap:8px;display:grid}.site-footer a:hover{color:var(--white)}.demo-disclaimer{color:#ffffff8a;border-top:1px solid #ffffff1f;margin-top:30px;padding-top:18px;font-size:12px}.floating-contact{z-index:30;background:var(--charcoal);min-height:50px;color:var(--white);border-radius:999px;justify-content:center;align-items:center;padding:13px 20px;font-weight:900;transition:transform .18s,background .18s;display:inline-flex;position:fixed;bottom:16px;right:16px;box-shadow:0 16px 32px #20231f3d}.floating-contact:hover{background:var(--sage-dark)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width>=560px){.hero-actions{grid-template-columns:max-content max-content}.visual-row,.gallery-grid,.trust-bar,.reviews-grid,.method-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=760px){h1{font-size:61px}h2{font-size:42px}.section-shell{width:min(1130px,100% - 48px);padding:86px 0}.site-header{grid-template-columns:auto 1fr auto;gap:22px}.nav-toggle{display:none}.main-nav{box-shadow:none;background:0 0;border:0;justify-content:center;gap:2px;padding:0;display:flex;position:static}.main-nav a{padding:9px 10px;font-size:14px}.header-cta{display:inline-flex}.hero{grid-template-columns:minmax(0,1fr) minmax(330px,.78fr);align-items:center;gap:46px;padding-top:72px}.hero-visual{min-height:500px;padding:18px}.visual-frame{min-height:310px}.trust-bar{grid-template-columns:repeat(3,1fr)}.services-grid{grid-template-columns:repeat(2,1fr)}.rituals,.wellness-inner,.booking-layout,.contact{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center}.wellness-copy,.contact-copy{max-width:560px}.method-grid,.gallery-grid{grid-template-columns:repeat(4,1fr)}.gallery-card{min-height:220px}.reviews-grid{grid-template-columns:repeat(3,1fr)}.footer-inner{grid-template-columns:1.5fr .7fr 1fr}}@media (width>=1020px){.services-grid{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
