:root{--forest:#18352c;--forest-dark:#11251f;--ink:#1e312a;--sage:#697d69;--gold:#bc9d60;--cream:#f2f0e8;--paper:#faf9f5;--line:rgba(30,49,42,.15);--stone:#e4e2d8;--sans:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif;--wrap:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px}body,button,input,select{font-family:var(--sans)}a{color:inherit;text-decoration:none}button{color:inherit}img,video{display:block;max-width:100%}.skip-link{position:absolute;left:16px;top:-80px;z-index:1000;padding:12px 18px;background:var(--paper)}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:30;height:88px;border-bottom:1px solid rgba(30,49,42,.1);background:rgba(250,249,245,.96);backdrop-filter:blur(16px)}.header-inner{display:flex;align-items:center;justify-content:space-between;width:min(100%,var(--wrap));height:100%;margin:auto;padding:0 6.1%}.brand{display:flex;width:115px;height:82px;align-items:center;justify-content:center;overflow:hidden}.brand img{width:108px;height:77px;object-fit:contain;mix-blend-mode:multiply}.nav{display:flex;align-items:center;gap:clamp(20px,3vw,45px)}.nav a{position:relative;color:#536258;font-size:11px;transition:color .2s}.nav a::after{position:absolute;right:100%;bottom:-8px;left:0;height:1px;background:var(--gold);content:'';transition:right .25s}.nav a:hover{color:var(--forest)}.nav a:hover::after{right:0}.header-cta{display:grid;gap:3px;padding:10px 15px;border-left:1px solid var(--line);line-height:1.2}.header-cta-label{color:#858b7e;font-size:8px;letter-spacing:.15em}.header-cta-number{font-family:var(--serif);font-size:15px}.header-cta-number b{margin-left:5px;color:var(--gold);font-family:var(--sans);font-size:12px;font-weight:400}.menu-toggle{display:none}
.hero{position:relative;display:grid;min-height:min(790px,calc(100svh - 88px));grid-template-columns:1fr 1fr;overflow:hidden;background:var(--forest-dark);color:#f7f4e9}.hero-image{position:absolute;inset:0 0 0 49%;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.72) brightness(.82)}.hero::after{position:absolute;inset:0 33% 0 35%;background:linear-gradient(90deg,var(--forest-dark),rgba(17,37,31,.93) 40%,rgba(17,37,31,.2));content:'';pointer-events:none}.hero-content{position:relative;z-index:1;display:flex;max-width:720px;flex-direction:column;justify-content:center;padding:70px 0 86px max(8vw,calc((100vw - var(--wrap))/2 + 85px))}.hero-kicker{display:flex;align-items:center;gap:11px;color:#c5c5b2;font-size:8px;letter-spacing:.16em}.kicker-dot{width:6px;height:6px;border-radius:50%;background:#d6bd81;box-shadow:0 0 0 5px rgba(214,189,129,.13)}.kicker-line{width:25px;border-top:1px solid rgba(214,189,129,.6)}.hero-index{margin:55px 0 15px;color:#d0bc8a;font-size:8px;letter-spacing:.2em}.hero-index span{padding:0 6px;color:#79847a}.hero h1{margin:0;font-family:var(--serif);font-size:clamp(72px,8vw,116px);font-weight:400;letter-spacing:-.07em;line-height:.93}.hero h1 em{color:#d5c698;font-weight:400}.hero-copy{max-width:410px;margin:27px 0 30px;color:#d5d8cd;font-size:13px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:space-between;gap:25px;padding:0 21px;border:0;font-size:10px;letter-spacing:.03em;transition:background .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button span{font-size:15px}.button-dark{background:#d7c99f;color:var(--forest-dark)}.button-dark:hover{background:#eee6d0}.button-light{background:var(--cream);color:var(--ink)}.hero-call{display:flex;align-items:center;gap:11px}.call-ring{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(229,220,190,.5);border-radius:50%;color:#d7c99f}.hero-call>span:last-child{display:grid;gap:3px}.hero-call small{color:#bac3b5;font-size:7px;letter-spacing:.15em}.hero-call strong{font-family:var(--serif);font-size:15px;font-weight:400}.hero-signature{display:flex;align-items:center;gap:14px;margin-top:42px}.hero-signature img{width:104px;height:74px;object-fit:contain;border-radius:2px}.hero-signature span{max-width:145px;color:#bfc6ba;font-family:var(--serif);font-size:11px;font-style:italic;line-height:1.5}.hero-scroll{position:absolute;right:50%;bottom:26px;z-index:3;color:#d9d4c1;font-size:7px;letter-spacing:.18em}.hero-scroll span{padding-left:10px;color:#d7c99f}
.proof-strip{display:grid;max-width:1280px;grid-template-columns:repeat(3,1fr);margin:auto;padding:25px 6%;border-bottom:1px solid var(--line)}.proof-strip>div{display:flex;align-items:center;justify-content:center;gap:13px;color:#435148;font-family:var(--serif);font-size:15px;line-height:1.3}.proof-strip>div+div{border-left:1px solid var(--line)}.proof-mark{color:var(--gold);font-size:9px;letter-spacing:.1em}.proof-strip small{color:#8a8d84;font-family:var(--sans);font-size:8px;letter-spacing:.035em}
.section-pad{padding-right:max(6%,calc((100vw - var(--wrap))/2 + 80px));padding-left:max(6%,calc((100vw - var(--wrap))/2 + 80px))}.intro{position:relative;padding-top:112px;padding-bottom:110px;background:var(--paper)}.intro-label{display:flex;align-items:center;gap:18px;margin-bottom:42px}.eyebrow{margin:0 0 17px;color:var(--sage);font-size:9px;font-weight:600;letter-spacing:.2em}.intro-label .eyebrow{margin:0}.fine-line{width:82px;height:1px;background:var(--line)}.intro-number{color:#93968d;font-size:9px;letter-spacing:.15em}.intro-body{display:grid;grid-template-columns:1fr .68fr;align-items:start;gap:9%}.intro h2,.section-heading h2,.booking h2,.faq h2,.location h2{margin:0;font-family:var(--serif);font-size:clamp(48px,5.3vw,72px);font-weight:400;letter-spacing:-.05em;line-height:1.04}.intro h2 em,.faq h2 em,.location h2 em,.section-heading h2 em,.booking h2 em{color:var(--sage);font-weight:400}.intro-text{max-width:390px;padding-top:9px}.intro-text p,.booking-copy>p:not(.eyebrow){margin:0 0 18px;color:#6b716b;font-size:12px;line-height:1.95}.text-link{display:inline-block;padding-bottom:5px;border-bottom:1px solid rgba(29,43,37,.35);font-size:10px}.text-link span{padding-left:12px;color:var(--gold)}.intro-text .text-link{margin-top:7px}.intro-image-wrap{position:relative;width:75%;height:390px;margin:64px 0 0 auto;overflow:hidden;background:var(--stone)}.intro-image-wrap video{width:100%;height:100%;object-fit:cover;object-position:center 56%;filter:saturate(.72)}.intro-image-wrap .image-note{position:absolute;top:15px;left:17px;color:white;font-size:8px;letter-spacing:.17em;text-shadow:0 1px 5px #222}.intro-side-note{position:absolute;right:max(30px,calc((100vw - var(--wrap))/2 - 1px));bottom:145px;color:#91948b;font-size:8px;letter-spacing:.18em;writing-mode:vertical-rl}
.rituals{padding-top:104px;padding-bottom:105px;background:#eeede5}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px}.section-heading h2{font-size:clamp(48px,5.3vw,68px)}.section-heading>p{max-width:320px;margin:0 0 5px;color:#72766e;font-size:11px;line-height:1.9}.ritual-finder{display:grid;grid-template-columns:.82fr 1.2fr .95fr;align-items:stretch;gap:22px;margin:48px 0 44px;padding:25px;background:var(--forest);color:#f7f3e8}.finder-intro{display:flex;align-items:center;gap:15px}.finder-intro .eyebrow{margin-bottom:9px;color:#d6c79d;font-size:7px}.finder-intro h3{margin:0;font-family:var(--serif);font-size:25px;font-weight:400;line-height:1.1}.finder-asterisk{color:#d6bf83;font-size:37px}.finder-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.need-choice{display:grid;align-content:center;gap:8px;padding:11px 10px;border:1px solid rgba(255,255,255,.17);background:transparent;color:#f7f3e8;text-align:left;cursor:pointer;transition:background .2s,border .2s}.need-choice:hover,.need-choice.is-selected{border-color:#d3c28e;background:rgba(255,255,255,.1)}.need-choice>span{color:#d6c79d;font-size:7px;letter-spacing:.12em}.need-choice strong{font-family:var(--serif);font-size:14px;font-weight:400}.need-choice small{color:#c3cbbc;font-size:8px}.finder-result{display:flex;align-items:center;gap:11px;padding:4px 0 4px 13px;border-left:1px solid rgba(255,255,255,.2)}.result-star{color:#d6bf83;font-size:22px}.finder-result>div{display:grid;gap:4px;min-width:0}.finder-result>div small{color:#d6c79d;font-size:7px;letter-spacing:.13em}.finder-result strong{font-family:var(--serif);font-size:15px;font-weight:400}.finder-result>div>span{color:#c8cec2;font-size:8px;line-height:1.5}.finder-result>a{margin-left:auto;white-space:nowrap;color:#f3e6bf;font-size:9px}.finder-result>a b{padding-left:5px;font-weight:400}.ritual-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 21px}.filter-chip{padding:10px 15px;border:1px solid rgba(29,43,37,.2);border-radius:30px;background:transparent;color:#60685f;cursor:pointer;font-size:9px;transition:background .2s,color .2s}.filter-chip:hover,.filter-chip.is-active{border-color:var(--forest);background:var(--forest);color:white}.ritual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ritual-card{position:relative;display:flex;min-height:272px;flex-direction:column;padding:25px 23px 19px;border:1px solid rgba(29,43,37,.11);background:rgba(255,255,255,.6);transition:background .25s,transform .25s,box-shadow .25s}.ritual-card:hover{transform:translateY(-4px);background:white;box-shadow:0 16px 34px rgba(28,41,35,.08)}.card-index{position:absolute;top:21px;right:21px;color:#a7a99f;font-family:var(--serif);font-size:12px}.card-type{margin:0 0 17px;color:#87917e;font-size:8px;letter-spacing:.16em}.ritual-card h3{margin:0 18px 11px 0;font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.2}.card-desc{max-width:235px;margin:0 0 23px;color:#72766e;font-size:9px;line-height:1.8}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:13px;border-top:1px solid rgba(29,43,37,.12);color:#85877f;font-size:8px}.card-bottom a{color:var(--forest);font-size:9px}.card-bottom b{padding-left:8px;color:var(--gold);font-size:12px;font-weight:400}.ritual-card-dark{border-color:var(--forest);background:var(--forest);color:white}.ritual-card-dark:hover{background:#2a4337}.ritual-card-dark .card-type,.ritual-card-dark .card-bottom{color:#b4c0b2}.ritual-card-dark .card-bottom{border-color:rgba(255,255,255,.2)}.ritual-card-dark .card-bottom a{color:white}.menu-note{margin:18px 0 0;color:#80847c;font-size:9px}.ritual-card[hidden]{display:none}
.quote-band{position:relative;display:grid;min-height:345px;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 82% 18%,rgba(120,139,120,.24),transparent 38%),var(--forest-dark);color:white;text-align:center}.quote-band::before,.quote-band::after{position:absolute;width:310px;height:310px;border:1px solid rgba(182,150,93,.24);border-radius:50%;content:''}.quote-band::before{left:-115px;top:-135px}.quote-band::after{right:-155px;bottom:-175px;width:390px;height:390px}.quote-content{position:relative;z-index:1;max-width:760px;padding:35px 25px}.quote-content .eyebrow{margin-bottom:17px;color:#d4cbb8}.quote-content blockquote{margin:0 auto 24px;font-family:var(--serif);font-size:clamp(36px,4.6vw,58px);font-weight:400;letter-spacing:-.03em;line-height:1.12}.quote-content blockquote em{color:#d5c698;font-weight:400}
.booking{display:grid;grid-template-columns:1fr .75fr;align-items:center;gap:13%;padding-top:108px;padding-bottom:112px;background:var(--paper)}.booking h2{font-size:61px}.booking-copy>p:not(.eyebrow){max-width:370px;margin:21px 0 25px;color:#747970;font-size:11px}.booking-contact{display:grid;gap:4px}.booking-contact>span{margin-bottom:5px;color:#92958d;font-size:8px;letter-spacing:.15em}.booking-contact>a:first-of-type{color:var(--forest);font-family:var(--serif);font-size:26px}.whatsapp-link{padding:3px 0;color:#47634f;font-size:10px}.whatsapp-link span{padding-left:8px;color:var(--gold)}.booking-form-wrap{padding:30px;border:1px solid var(--line);background:#f2f0e8}.booking-form{display:grid;gap:10px}.booking-form label{margin-top:5px;color:#5f695f;font-size:9px}.booking-form label span{color:#999b93}.booking-form select,.booking-form input{width:100%;height:45px;padding:0 13px;border:1px solid rgba(29,43,37,.15);border-radius:0;appearance:none;background:white;color:#465047;font-size:10px}.booking-form select:focus,.booking-form input:focus{outline:1px solid #8e9b86}.booking-form .button{width:100%;margin-top:13px;cursor:pointer}.form-note{margin:0;color:#8b8d86;font-size:8px;line-height:1.7}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:13%;padding-top:95px;padding-bottom:103px;background:#e9ece4}.faq h2{font-size:56px}.faq-intro>p:last-child{margin-top:18px;color:#777c72;font-size:10px}.faq-list details{border-bottom:1px solid rgba(29,43,37,.17)}.faq-list details:first-child{border-top:1px solid rgba(29,43,37,.17)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 0;color:#303e34;cursor:pointer;font-size:10px;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#798773;font-size:19px;font-weight:300;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:540px;margin:0;padding:0 30px 19px 0;color:#70776e;font-size:9px;line-height:1.9}
.location{display:grid;min-height:520px;grid-template-columns:1.05fr .95fr;align-items:center;gap:10%;padding-top:80px;padding-bottom:80px;background:var(--cream)}.location-image{height:370px;overflow:hidden;background:var(--stone)}.location-image img{width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.76)}.location h2{font-size:49px}.location-content>p:not(.eyebrow){margin:20px 0;color:#71776f;font-size:10px;line-height:2}.location-divider{height:1px;margin:25px 0 14px;background:var(--line)}.location-phone{color:var(--forest);font-family:var(--serif);font-size:19px}.location-phone span{padding-left:10px;color:var(--gold);font-size:11px}.location-content>small{display:block;margin-top:4px;color:#8b8e86;font-size:8px}
.footer{padding:40px max(6%,calc((100vw - var(--wrap))/2 + 80px)) 20px;background:#17251e;color:#f3f0e6}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:31px;border-bottom:1px solid rgba(255,255,255,.15)}.brand-footer{width:135px;height:100px;background:#f9fff1}.brand-footer img{width:128px;height:94px;object-fit:contain}.footer-top>p{margin:0;color:#c2c7bc;font-family:var(--serif);font-size:15px;line-height:1.5}.footer-up{color:#d0c29f;font-size:9px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:17px;color:#a3aaa0;font-size:8px}.mobile-booking{display:none}
@media(max-width:1050px){.header-inner{padding:0 28px}.nav{gap:20px}.section-pad{padding-right:34px;padding-left:34px}.ritual-grid{grid-template-columns:repeat(2,1fr)}.intro-side-note{right:18px}.booking{gap:7%}.faq{gap:8%}.hero-content{padding-left:8vw}.ritual-finder{grid-template-columns:.8fr 1.2fr}.finder-result{grid-column:1/-1;padding:12px 0 0;border-top:1px solid rgba(255,255,255,.2);border-left:0}}
@media(max-width:700px){html{scroll-padding-top:68px}body{font-size:14px}.site-header{height:68px}.header-inner{padding:0 18px}.brand{width:94px;height:64px}.brand img{width:91px;height:63px}.header-cta{display:none}.menu-toggle{display:grid;width:42px;height:42px;margin-left:auto;place-content:center;gap:5px;border:0;background:transparent}.menu-toggle span{width:21px;border-top:1px solid var(--ink);transition:.2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.nav{position:absolute;top:68px;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 18px;border-bottom:1px solid var(--line);background:var(--paper)}.nav.is-open{display:flex}.nav a{padding:13px 0;border-bottom:1px solid rgba(29,43,37,.09);font-size:12px}.hero{min-height:810px;min-height:calc(100svh - 68px);grid-template-columns:1fr;align-items:end;padding-bottom:0}.hero-image{inset:0 0 39% 0}.hero-image img{object-position:47% center}.hero::after{inset:0;background:linear-gradient(0deg,var(--forest-dark) 30%,rgba(17,37,31,.98) 37%,rgba(17,37,31,.46) 57%,rgba(17,37,31,.02) 100%)}.hero-content{padding:0 25px 58px}.hero-kicker{gap:7px;font-size:6px;letter-spacing:.12em}.kicker-line{width:15px}.hero-index{margin:28px 0 12px;font-size:7px}.hero h1{font-size:clamp(65px,15vw,88px)}.hero-copy{max-width:360px;margin:18px 0 22px;font-size:11px}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-actions .button{min-height:47px}.hero-call strong{font-size:14px}.hero-signature{gap:10px;margin-top:24px}.hero-signature img{width:83px;height:61px}.hero-signature span{font-size:10px}.hero-scroll{display:none}.proof-strip{grid-template-columns:1fr;gap:13px;padding:21px 25px}.proof-strip>div{justify-content:flex-start;font-size:14px}.proof-strip>div+div{padding-top:12px;border-top:1px solid var(--line);border-left:0}.proof-mark{width:22px}.section-pad{padding-right:24px;padding-left:24px}.intro{padding-top:69px;padding-bottom:70px}.intro-label{gap:13px;margin-bottom:28px}.intro-body{grid-template-columns:1fr;gap:18px}.intro h2,.section-heading h2,.booking h2,.faq h2,.location h2{font-size:46px}.intro-text{max-width:500px}.intro-image-wrap{width:calc(100% - 17px);height:250px;margin-top:26px}.intro-side-note{right:6px;bottom:100px;font-size:6px}.rituals{padding-top:69px;padding-bottom:72px}.section-heading{align-items:flex-start;flex-direction:column;gap:13px}.section-heading h2{font-size:47px}.section-heading>p{max-width:420px}.ritual-finder{grid-template-columns:1fr;gap:17px;margin:27px 0;padding:20px}.finder-intro{gap:13px}.finder-intro h3{font-size:23px}.finder-choices{gap:5px}.need-choice{min-height:83px;gap:7px;padding:9px 7px}.need-choice strong{font-size:12px}.need-choice small{font-size:7px}.finder-result{grid-column:auto;gap:9px;padding-top:14px}.finder-result strong{font-size:14px}.finder-result>div>span{font-size:8px}.finder-result>a{font-size:8px}.ritual-toolbar{gap:6px;margin:25px 0 16px}.filter-chip{padding:8px 11px;font-size:8px}.ritual-grid{gap:8px}.ritual-card{min-height:245px;padding:20px 15px 14px}.card-index{top:16px;right:14px}.ritual-card h3{font-size:19px}.card-desc{font-size:8px}.card-bottom{font-size:7px}.card-bottom a{font-size:8px}.quote-band{min-height:300px}.quote-content blockquote{font-size:37px}.booking{grid-template-columns:1fr;gap:31px;padding-top:70px;padding-bottom:73px}.booking h2{font-size:49px}.booking-form-wrap{padding:20px}.faq{grid-template-columns:1fr;gap:23px;padding-top:69px;padding-bottom:73px}.faq h2{font-size:46px}.faq-intro>p:last-child{margin-top:10px}.faq-list summary{gap:17px;padding:16px 0;font-size:9px}.location{grid-template-columns:1fr;gap:24px;padding-top:59px;padding-bottom:70px}.location-image{height:260px}.location h2{font-size:44px}.footer{padding:31px 24px 86px}.footer-top{align-items:center;flex-wrap:wrap;gap:18px}.brand-footer{width:104px;height:79px}.brand-footer img{width:101px;height:75px}.footer-top>p{font-size:13px}.footer-up{margin-left:auto}.footer-bottom{flex-direction:column;gap:8px}.mobile-booking{position:fixed;z-index:35;right:12px;bottom:max(11px,env(safe-area-inset-bottom));left:12px;display:flex;height:60px;align-items:center;gap:13px;padding:0 16px;background:var(--forest);box-shadow:0 7px 25px rgba(20,37,30,.24);color:white}.mobile-booking-icon{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#e1c98e;font-size:13px}.mobile-booking>span:nth-child(2){display:grid;gap:1px}.mobile-booking small{color:#c7d0c8;font-size:7px;letter-spacing:.12em}.mobile-booking strong{font-family:var(--serif);font-size:16px;font-weight:400}.mobile-booking-arrow{margin-left:auto;color:#e1c98e;font-size:18px}}
@media(max-width:390px){.hero-content{padding-right:20px;padding-left:20px}.hero h1{font-size:62px}.ritual-grid{grid-template-columns:1fr}.ritual-card{min-height:220px}.need-choice strong{font-size:11px}.need-choice small{font-size:6px}.section-pad{padding-right:20px;padding-left:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Larger editorial type and a visible, guided interaction */
body{font-size:16px}
.site-header{height:94px}
.header-inner{padding-right:5%;padding-left:5%}
.brand{width:142px;height:92px}
.brand img{width:136px;height:90px;mix-blend-mode:normal}
.nav a{font-size:13px}
.header-cta-label{font-size:9px}
.header-cta-number{font-size:17px}
.hero-kicker{font-size:10px}
.hero-index{font-size:10px}
.hero-copy{max-width:445px;font-size:16px;line-height:1.8}
.button{min-height:58px;padding-right:24px;padding-left:24px;font-size:13px}
.hero-call small{font-size:9px}
.hero-call strong{font-size:17px}
.hero-signature{margin-top:34px}
.hero-signature img{width:126px;height:90px;object-fit:contain}
.hero-signature span{max-width:200px;font-size:14px}

.eyebrow{font-size:10px}
.intro-text p,.booking-copy>p:not(.eyebrow){font-size:15px}
.text-link{font-size:13px}
.intro-image-wrap .image-note{font-size:10px}
.section-heading>p{font-size:14px}
.filter-chip{padding:12px 18px;font-size:12px}
.ritual-card{min-height:300px;padding:30px 27px 22px}
.card-type{font-size:10px}
.ritual-card h3{font-size:25px}
.card-desc{font-size:13px;line-height:1.75}
.card-bottom{font-size:11px}
.card-bottom a{font-size:12px}
.menu-note{font-size:12px}
.booking-copy>p:not(.eyebrow){line-height:1.8}
.booking-form label{font-size:12px}
.booking-form select,.booking-form input{font-size:14px}
.form-note{font-size:10px}
.faq-intro>p:last-child{font-size:13px}
.faq-list summary{font-size:14px}
.faq-list details p{font-size:13px;line-height:1.8}
.location-content>p:not(.eyebrow){font-size:14px}
.location-content>small{font-size:11px}
.footer-top>p{font-size:17px}
.footer-up{font-size:12px}
.footer-bottom{font-size:11px}
.ritual-finder-section{display:grid;grid-template-columns:.74fr 1.26fr;grid-template-areas:'heading stage' 'skip stage';align-items:center;gap:22px 7%;padding-top:93px;padding-bottom:96px;background:linear-gradient(125deg,#f3f0e6 0%,#faf9f5 70%)}
.finder-heading{grid-area:heading}
.finder-heading .eyebrow{margin-bottom:17px}
.finder-step{display:inline-block;margin:0 0 19px;color:var(--gold);font-family:var(--serif);font-size:16px}
.finder-step i{color:#92988b;font-family:var(--sans);font-size:12px;font-style:normal}
.finder-heading h2{margin:0;font-family:var(--serif);font-size:clamp(38px,4vw,54px);font-weight:400;letter-spacing:-.055em;line-height:1.08}
.finder-heading h2 em{color:var(--sage);font-weight:400}
.finder-heading>p:last-child{margin:18px 0 0;color:#657168;font-size:15px;line-height:1.7}
.finder-stage{grid-area:stage;display:grid;grid-template-columns:.82fr 1.18fr;gap:12px;min-width:0}
.finder-choices{display:grid;grid-template-columns:1fr;gap:9px}
.need-choice{position:relative;display:grid;min-height:102px;grid-template-columns:42px 1fr 22px;grid-template-rows:1fr auto;align-items:center;gap:2px 13px;padding:15px 17px;border:1px solid rgba(30,49,42,.17);background:rgba(255,255,255,.73);color:var(--ink);text-align:left;cursor:pointer;transition:background .25s,border .25s,transform .25s,box-shadow .25s}
.need-choice:hover{transform:translateX(4px);border-color:var(--gold);box-shadow:0 8px 20px rgba(30,49,42,.06)}
.need-choice.is-selected{border-color:var(--forest);background:var(--forest);color:#f8f5eb;box-shadow:0 12px 27px rgba(30,49,42,.12)}
.need-choice .choice-count{grid-column:1;grid-row:1;color:var(--gold);font-size:10px;letter-spacing:.1em}
.need-choice .choice-icon{grid-column:1;grid-row:2;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;color:var(--sage);font-size:17px;line-height:28px;text-align:center}
.need-choice.is-selected .choice-icon{color:#dac998}
.need-choice strong{grid-column:2;grid-row:1/3;align-self:center;font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.15}
.need-choice small{grid-column:2;grid-row:2;align-self:end;color:#737e74;font-size:12px}
.need-choice.is-selected small{color:#d0d5c9}
.need-choice .choice-indicator{grid-column:3;grid-row:1/3;align-self:center;color:var(--gold);font-size:19px}
.need-choice:focus-visible,.filter-chip:focus-visible,.button:focus-visible,a:focus-visible,.menu-toggle:focus-visible{outline:3px solid #d0ad67;outline-offset:3px}
.finder-result{position:relative;display:flex;min-height:326px;flex-direction:column;justify-content:space-between;gap:20px;padding:29px 30px 26px;overflow:hidden;background:var(--forest-dark);color:#f7f3e8}
.finder-result::after{position:absolute;right:-63px;bottom:-110px;width:255px;height:255px;border:1px solid rgba(214,189,129,.25);border-radius:50%;content:'';pointer-events:none}
.result-label{color:#d7c798;font-size:10px;letter-spacing:.17em}
.result-star{position:absolute;top:26px;right:29px;color:#d4bd82;font-size:29px}
.result-copy{position:relative;z-index:1;margin:auto 0}
.result-copy>span{color:#d5c693;font-size:10px;letter-spacing:.16em}
.result-copy h3{max-width:350px;margin:11px 0 12px;font-family:var(--serif);font-size:clamp(28px,3vw,42px);font-weight:400;letter-spacing:-.03em;line-height:1.08}
.result-copy p{max-width:365px;margin:0;color:#d8ddd2;font-size:15px;line-height:1.7}
.result-action{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:18px;border-top:1px solid rgba(255,255,255,.2)}
.result-action a{color:#f3e5bb;font-size:13px}
.result-action a b{padding-left:12px;font-size:18px;font-weight:400}
.result-action small{color:#aeb9ad;font-size:11px}
.finder-result.is-changing .result-copy{animation:recommendationEnter .32s ease-out}
@keyframes recommendationEnter{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.finder-skip{grid-area:skip;display:inline-flex;align-items:center;gap:12px;justify-self:start;padding-bottom:6px;border-bottom:1px solid rgba(30,49,42,.35);font-size:13px}
.finder-skip span{color:var(--gold);font-size:17px}
/* Keep the chooser tactile and readable on phones */
@media(max-width:1050px){.ritual-finder-section{grid-template-columns:.64fr 1.36fr;gap:18px 4%;padding-top:76px;padding-bottom:76px}.finder-stage{grid-template-columns:1fr}.finder-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.need-choice{min-height:124px;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:8px;padding:13px}.need-choice .choice-count{grid-column:1;grid-row:1}.need-choice .choice-icon{grid-column:2;grid-row:1;width:28px;height:28px}.need-choice strong{grid-column:1/3;grid-row:2;font-size:17px}.need-choice small{grid-column:1/3;grid-row:3;font-size:11px}.need-choice .choice-indicator{display:none}.finder-result{min-height:255px}.result-copy h3{font-size:34px}}
@media(max-width:700px){.site-header{height:72px}.header-inner{padding-right:18px;padding-left:18px}.brand{width:105px;height:68px}.brand img{width:101px;height:67px}.nav{top:72px}.nav a{padding:16px 0;font-size:15px}.hero{min-height:calc(100svh - 72px)}.hero-kicker{font-size:8px}.hero-index{margin-top:27px;font-size:9px}.hero-copy{font-size:15px}.button{min-height:54px;font-size:13px}.hero-call small{font-size:8px}.hero-call strong{font-size:16px}.hero-signature{margin-top:21px}.hero-signature img{width:103px;height:77px}.hero-signature span{font-size:12px}.ritual-finder-section{display:block;padding-top:65px;padding-bottom:68px}.finder-heading{margin-bottom:25px}.finder-heading .eyebrow{font-size:9px}.finder-step{margin-bottom:10px}.finder-heading h2{font-size:39px}.finder-heading>p:last-child{margin-top:11px;font-size:14px}.finder-stage{display:grid;grid-template-columns:1fr;gap:12px}.finder-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.need-choice{min-width:0;min-height:116px;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;gap:9px;padding:12px 9px}.need-choice .choice-count{grid-column:1;grid-row:1;font-size:9px}.need-choice .choice-icon{grid-column:1;grid-row:2;width:26px;height:26px;font-size:15px;line-height:24px}.need-choice strong{grid-column:1;grid-row:3;align-self:start;font-size:14px;line-height:1.12}.need-choice small,.need-choice .choice-indicator{display:none}.finder-result{min-height:270px;padding:23px 22px 20px}.result-label,.result-copy>span{font-size:9px}.result-star{top:19px;right:21px;font-size:25px}.result-copy h3{max-width:310px;margin:8px 0;font-size:33px}.result-copy p{font-size:14px}.result-action{align-items:flex-start;flex-direction:column;gap:6px;padding-top:14px}.result-action a{font-size:14px}.result-action small{font-size:11px}.finder-skip{margin-top:20px;font-size:13px}.section-pad{padding-right:23px;padding-left:23px}.intro-text p,.booking-copy>p:not(.eyebrow){font-size:14px}.filter-chip{padding:10px 13px;font-size:11px}.ritual-card{min-height:256px;padding:21px 17px 16px}.card-type{font-size:9px}.ritual-card h3{font-size:22px}.card-desc{font-size:12px}.card-bottom{font-size:10px}.card-bottom a{font-size:11px}.faq-list summary{font-size:13px}.faq-list details p{font-size:12px}.mobile-booking{height:66px}.mobile-booking small{font-size:9px}.mobile-booking strong{font-size:17px}.footer-bottom{font-size:10px}}
@media(max-width:390px){.hero h1{font-size:59px}.hero-content{padding-right:20px;padding-left:20px}.ritual-finder-section{padding-right:18px;padding-left:18px}.need-choice{min-height:110px;padding-right:7px;padding-left:7px}.need-choice strong{font-size:13px}.finder-result{padding-right:18px;padding-left:18px}.section-pad{padding-right:20px;padding-left:20px}}
.brand-footer{background:transparent}
@media(max-width:700px){body{font-size:16px}}
@media(max-width:700px){.finder-skip{margin-top:7px}}

.service-page-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.service-page-links a{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:53px;padding:13px 18px;border:1px solid rgba(29,43,37,.22);background:rgba(255,255,255,.52);font-size:13px}.service-page-links a:hover{border-color:var(--forest);background:#fff}.service-page-links span{color:var(--gold);font-size:18px}
@media(max-width:700px){.service-page-links{flex-direction:column}.service-page-links a{width:100%;font-size:14px}}

.hero-image img{display:block;animation:heroExteriorDrift 22s ease-in-out infinite alternate;transform-origin:50% 58%}
@keyframes heroExteriorDrift{from{transform:scale(1.01) translateY(0)}to{transform:scale(1.075) translateY(-1.5%)}}
@media(prefers-reduced-motion:reduce){.hero-image img{animation:none}}
