:root{--ink:#242128;--muted:#6d6772;--purple:#746086;--lavender:#ede7f2;--paper:#fbfafb;--line:#ded9e2;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}figure,p{margin:0}h1,h2,h3{margin:0;font-weight:450;letter-spacing:-.055em}h2{font-size:clamp(40px,4.4vw,66px);line-height:1.08}em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--purple);letter-spacing:-.055em}p{line-height:1.7}.wrap{max-width:1400px;width:calc(100% - 112px);margin-inline:auto}.header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 56px;position:sticky;top:0;z-index:20;background:#fbfafbed;backdrop-filter:blur(20px);border-bottom:1px solid #ded9e266}.brand{display:flex;align-items:center;gap:13px;font-size:23px;letter-spacing:.12em;font-weight:550}.brand-mark{font-family:Georgia,serif;font-size:38px;font-style:italic;letter-spacing:-.1em;border:1px solid #cbbfd4;border-radius:50%;width:48px;height:48px;text-align:center;line-height:42px;color:var(--purple);padding-right:5px}.brand-small{display:block;font-size:9px;letter-spacing:.15em;margin-top:5px;font-weight:500}.header nav{display:flex;gap:34px;font-size:14px}.header nav a{transition:color .2s}.header nav a:hover,.text-link:hover{color:var(--purple)}.header-right{display:flex;align-items:center;gap:15px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;background:var(--ink);color:#fff;padding:19px 26px;border-radius:100px;font-size:14px;font-weight:500;transition:background .3s,transform .3s;min-height:52px}.button:hover{background:var(--purple);transform:translateY(-3px)}.button span{font-size:20px;font-weight:400}.button.small{padding:12px 22px;min-height:46px;gap:24px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:0 60px;padding-top:32px}.hero-copy{padding:63px 0 30px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:600;line-height:1.5;display:flex;align-items:center;gap:12px}.line{width:28px;height:1px;background:var(--purple)}h1{font-size:clamp(62px,6.8vw,104px);line-height:1.025;margin:36px 0 28px;letter-spacing:-.065em}h1 em{white-space:nowrap}.intro{font-size:16px;color:var(--muted);line-height:1.8}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:32px}.text-link{font-size:14px;display:inline-flex;align-items:center;gap:15px;text-underline-offset:7px}.hero-note{display:flex;gap:13px;align-items:center;margin-top:58px}.hero-note p{font-size:12px;color:var(--muted);line-height:1.7}.hero-note strong{font-weight:500;color:var(--ink)}.note-symbol{font-size:36px;color:#8a7499;font-weight:200}.hero-image{position:relative;height:620px;border-radius:5px 5px 110px 5px;overflow:hidden}.hero-image img{object-position:50% 51%;animation:hero-in 1.7s var(--ease)}.image-label{position:absolute;bottom:0;left:0;right:0;padding:72px 28px 28px;color:white;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.13em;background:linear-gradient(transparent,#28212e80)}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:25px 0;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line)}.hero-bottom a{font-size:9px;letter-spacing:.12em}.statement{text-align:center;padding:115px 0 120px}.statement .eyebrow{justify-content:center}.statement h2{font-size:clamp(35px,3.6vw,54px);margin:27px 0 24px;line-height:1.18}.statement h2 span{color:var(--purple)}.statement>p:last-child{color:var(--muted);font-size:15px}.section-heading,.space-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px}.section-heading .eyebrow,.space-top .eyebrow,.visit .eyebrow{margin-bottom:22px}.section-heading>p,.space-top>p{font-size:15px;color:var(--muted);padding-bottom:6px}.service{display:grid;grid-template-columns:55px 1fr 340px 50px;align-items:center;gap:24px;padding:38px 0;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service-number{align-self:start;padding-top:8px;color:var(--purple);font-size:12px}.tag{display:block;font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:550}.service h3{font-size:31px;letter-spacing:-.04em;margin:10px 0}.service-description p{font-size:14px;max-width:365px;color:var(--muted);line-height:1.6}.rates{display:flex;gap:30px;justify-content:flex-end}.rates>div{min-width:67px}.rates span{display:block;font-size:12px;color:var(--muted);white-space:nowrap}.rates strong{display:block;font-size:25px;font-weight:450;letter-spacing:-.04em;margin-top:9px}.round-link{width:45px;height:45px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:22px;transition:background .3s,color .3s}.round-link:hover{background:var(--ink);color:white}.enhancements{margin-top:40px;padding:34px 40px;background:var(--lavender);border-radius:8px;display:grid;grid-template-columns:1.5fr 1.2fr 1fr 1fr;gap:24px;align-items:center}.enhancements .eyebrow{font-size:9px;margin-bottom:8px}.enhancements h3{font-size:27px;letter-spacing:-.04em}.extra{display:flex;flex-direction:column;gap:12px;font-size:14px}.extra strong{font-size:13px;font-weight:500;color:#655074}.payment-note{font-size:12px;color:var(--muted);margin-top:18px}.services{padding-bottom:110px}.space-section{background:#eeebf0;padding:95px 0}.gallery{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:start}.gallery-large{margin-top:38px}.gallery img{border-radius:5px;height:450px}.gallery-small img{height:520px;object-position:center 60%}.gallery figcaption{display:flex;justify-content:space-between;font-size:12px;padding-top:17px;color:var(--muted)}.visit{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;padding-top:110px;padding-bottom:100px;align-items:center}.visit-info{display:flex;gap:40px;margin-top:40px}.visit-info .tag{margin-bottom:14px}.visit-info p,address{font-size:14px;font-style:normal;line-height:1.8}.visit-info .text-link{margin-top:20px}.storefront img{height:350px;border-radius:5px}.storefront figcaption{font-size:11px;color:var(--muted);padding-top:13px}.faq{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding-bottom:100px}.faq>.eyebrow{align-self:start;padding-top:22px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:16px}summary::-webkit-details-marker{display:none}summary span{font-size:22px;font-weight:300;color:var(--purple);transition:transform .3s}details[open] summary span{transform:rotate(45deg)}details p{padding:0 40px 24px 0;font-size:14px;color:var(--muted)}details a{text-decoration:underline}.closing{background:var(--lavender);border-radius:10px;padding:74px 30px 65px;text-align:center}.closing .eyebrow{justify-content:center}.closing h2{font-size:clamp(45px,5.5vw,78px);margin:27px 0 32px}.closing>p:last-child{font-size:12px;color:var(--muted);margin-top:20px}footer{padding:60px 0 40px;display:flex;justify-content:space-between;align-items:start}footer .footer-name{font-size:22px;letter-spacing:-.04em}footer p,footer>a:last-child{font-size:12px;line-height:1.9;color:var(--muted)}footer a span{display:block;font-size:12px;letter-spacing:0;color:var(--muted);margin-top:9px}.menu-toggle,.mobile-book{display:none}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:100}.skip:focus{top:10px}:focus-visible{outline:2px solid #795c95;outline-offset:5px}.reveal{opacity:1;transform:none}.motion .reveal{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.motion .reveal.visible{opacity:1;transform:none}@keyframes hero-in{from{transform:scale(1.065);opacity:.5}to{transform:scale(1);opacity:1}}@media(min-width:1600px){.hero-image{height:680px}.hero-copy{padding-top:90px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header{padding:0 32px}.header nav{gap:22px}.hero{gap:30px}.hero-image{height:570px}.hero-copy{padding-top:52px}h1{font-size:74px}.hero-actions{gap:18px;flex-wrap:wrap}.hero-note{margin-top:35px}.service{grid-template-columns:30px 1fr 275px 44px;gap:15px}.rates{gap:18px}.rates>div{min-width:65px}.visit{gap:35px}.visit-info{flex-direction:column;gap:24px}.enhancements{padding:28px}.gallery img{height:390px}.gallery-small img{height:470px}}@media(max-width:760px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.header{height:78px;padding:0 20px}.brand{font-size:18px;gap:9px}.brand-mark{width:36px;height:36px;font-size:29px;line-height:32px}.brand-small{font-size:7px;letter-spacing:.08em}.header .button{font-size:11px;padding:10px 14px;gap:10px;min-height:40px}.header .button span{font-size:16px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:0;width:26px;height:42px;padding:3px}.menu-toggle span{height:1px;width:20px;background:var(--ink)}.header-right{gap:10px}.header nav{display:none;position:absolute;top:78px;left:0;right:0;padding:24px;background:var(--paper);border-bottom:1px solid var(--line);font-size:17px}.header nav.open{display:flex;flex-direction:column}.hero{display:flex;flex-direction:column;padding-top:0;gap:0}.hero-copy{padding:40px 0 32px}.eyebrow{font-size:10px}h1{font-size:clamp(58px,12.5vw,85px);margin:24px 0 20px}.intro{font-size:14px}.hero-actions{margin-top:24px;gap:23px}.button{font-size:13px;padding:16px 22px;gap:24px}.text-link{font-size:12px}.hero-note{margin-top:26px}.hero-note p{font-size:11px}.note-symbol{font-size:29px}.hero-image{height:430px;width:100%;border-radius:5px 5px 70px 5px}.hero-image img{object-position:center 55%}.image-label{padding:50px 20px 22px;font-size:9px}.hero-bottom{display:flex;gap:9px;align-items:flex-start;flex-direction:column;padding:20px 0;font-size:10px}.hero-bottom a{display:none}.statement{padding:70px 0}.statement h2{font-size:34px}.statement>p:last-child{font-size:14px}.desktop-break{display:none}.section-heading,.space-top{display:block;margin-bottom:30px}.section-heading>p,.space-top>p{margin-top:22px;font-size:14px}h2{font-size:46px}.service{grid-template-columns:24px 1fr 40px;gap:10px;padding:28px 0}.service-description{grid-column:2}.service h3{font-size:27px}.service-description p{font-size:13px}.service-number{font-size:10px}.rates{grid-column:2;grid-row:2;justify-content:flex-start;gap:28px;margin-top:12px}.rates>div{min-width:54px}.rates strong{font-size:23px}.rates span{font-size:11px}.round-link{grid-column:3;grid-row:1;width:37px;height:37px;font-size:19px}.tag{font-size:9px}.enhancements{grid-template-columns:1fr 1fr;padding:25px;gap:28px 20px}.enhancements h3{font-size:24px}.extra{font-size:13px}.extra strong{font-size:12px}.payment-note{font-size:11px}.services{padding-bottom:65px}.space-section{padding:60px 0}.gallery{grid-template-columns:1fr 1fr;gap:15px}.gallery-large{margin-top:25px}.gallery img{height:260px}.gallery-small img{height:320px}.gallery-large img{object-position:35% center}.gallery figcaption{font-size:10px;padding-top:12px}.visit{grid-template-columns:1fr;gap:35px;padding:65px 0}.visit-info{flex-direction:row;gap:20px;justify-content:space-between;margin-top:30px}.visit-info p,address{font-size:12px}.storefront img{height:260px}.faq{grid-template-columns:1fr;gap:25px;padding-bottom:60px}.faq>.eyebrow{padding:0}summary{font-size:14px;padding:20px 0}details p{font-size:13px}.closing{padding:55px 20px}.closing h2{font-size:48px}.closing .eyebrow{font-size:9px}footer{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:40px 0 110px}footer .footer-name{grid-column:1/-1;font-size:24px}.mobile-book{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;align-items:center;justify-content:space-between;background:#fbfafbef;backdrop-filter:blur(18px);padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.mobile-book>span{font-size:13px}.mobile-book .button{font-size:12px;min-height:42px}.closing{scroll-margin-bottom:90px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}
@media(min-width:761px){.image-label{padding-right:75px}}@media(max-width:760px){.image-label{padding-right:55px}}
/* Icons are geometry, never platform-dependent emoji or fallback glyphs. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.icon{display:inline-block;width:20px;height:20px;flex:0 0 auto;vertical-align:middle;overflow:visible}
.note-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;line-height:1}
.note-symbol .icon{width:32px;height:32px;stroke-width:1}
.button>span{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}
.button,.text-link,.round-link{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.button .icon{width:19px;height:19px}.text-link .icon{width:16px;height:16px}
.hero-bottom>a{display:inline-flex;align-items:center;gap:8px}.hero-bottom .icon{width:13px;height:13px}
.disclosure-icon{display:inline-flex;flex:0 0 22px;align-items:center;justify-content:center}
.disclosure-icon .icon{width:20px;height:20px}.header,.mobile-book{-webkit-backdrop-filter:blur(20px)}
.hero>*,.visit>*,.service>*,.visit-info>*,.header-right{min-width:0}
.ritual{display:grid;grid-template-columns:1.25fr 1fr;gap:65px;align-items:center;margin-top:65px}
.ritual figure{height:350px;overflow:hidden;border-radius:6px 6px 70px 6px}
.ritual img{object-position:center}.ritual-copy h3{font-size:46px;line-height:1.1;margin:20px 0}
.ritual-copy>p:not(.eyebrow){max-width:340px;color:var(--muted);font-size:15px}.ritual-copy .text-link{margin-top:22px}
@media(hover:none){.button:hover{transform:none;background:var(--ink)}}
@media(max-width:760px){
.header{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.menu-toggle{width:44px;height:44px;align-items:center;flex-shrink:0}.header-right{gap:2px}
.header .button{white-space:nowrap}.header .button .icon{width:15px;height:15px}
.note-symbol{width:30px;height:30px;flex-basis:30px}.note-symbol .icon{width:28px;height:28px}
.round-link{width:44px;height:44px}.service{grid-template-columns:24px minmax(0,1fr) 44px}
.hero-bottom>a{display:none}.mobile-book{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
.ritual{grid-template-columns:1fr;gap:28px;margin-top:40px}.ritual figure{height:270px}.ritual-copy h3{font-size:38px}.ritual-copy>p:not(.eyebrow){max-width:none;font-size:14px}
.visit-info{flex-wrap:wrap}.hero-actions .text-link{min-height:44px}
}
@media(max-width:374px){.header{padding-left:12px;padding-right:10px}.brand{gap:6px;font-size:16px}.brand-small{font-size:6px}.brand-mark{width:30px;height:30px;font-size:25px;line-height:26px}.header .button{padding:10px 12px;font-size:10px;gap:5px}.hero-actions{gap:10px}.rates{gap:19px}}
.button{white-space:nowrap}
@media(max-width:374px){.brand-small{display:none}.mobile-book>span{font-size:11px;white-space:nowrap}.mobile-book .button{padding-inline:15px;gap:12px}.mobile-book{gap:10px}}
/* Photo-led editorial layout, with deliberate tablet and phone compositions. */
.wrap{max-width:1280px;width:calc(100% - 96px)}
.header{height:88px;padding-inline:max(32px,calc((100vw - 1280px)/2));gap:24px}
.header nav{gap:26px;flex-shrink:0}.brand{flex-shrink:0}.brand-small{white-space:nowrap}
h1,h2,h3{text-wrap:balance}h1{font-size:clamp(56px,6.3vw,88px);letter-spacing:-.055em;line-height:1.08;margin:27px 0 24px}h1>span{display:block;white-space:nowrap}
h2{font-size:clamp(36px,4.2vw,58px);line-height:1.13;letter-spacing:-.045em}
.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0 48px;padding-top:28px;align-items:center}
.hero-copy{padding:32px 0}.hero-image{height:600px;border-radius:12px 12px 80px 12px}.hero-image img{object-position:50% 35%}
.hero-actions{gap:20px;flex-wrap:wrap;margin-top:28px}.hero-actions .button{padding-inline:23px}.hero-note{margin-top:35px}.intro{font-size:16px}.hero-bottom{font-size:12px;padding-block:22px}
.statement{padding:70px 0;max-width:900px}.statement h2{font-size:clamp(31px,3.3vw,44px);margin:20px 0}.statement>p:last-child{font-size:16px}
.section-heading{align-items:center;margin-bottom:30px;gap:32px}.section-heading h2{max-width:620px}.section-heading>p{flex-shrink:0;font-size:15px}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.service{display:grid;grid-template-columns:30px minmax(0,1fr) 48px;grid-template-rows:auto auto auto;gap:0 14px;padding:0 0 25px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;align-items:start}
.service:last-child{border:1px solid var(--line)}.service-photo{grid-column:1/-1;grid-row:1;height:310px;margin-bottom:25px;overflow:hidden}.service-photo img{object-position:center 35%;transition:transform .6s var(--ease)}
.service:nth-child(1) .service-photo img{object-position:50% 30%}.service:nth-child(3) .service-photo img{object-position:50% 60%}.service:nth-child(4) .service-photo img{object-position:50% 30%}
.service-number{grid-column:1;grid-row:2;margin-left:20px;padding-top:3px;font-size:11px}.service-description{grid-column:2;grid-row:2;padding-right:10px}.service h3{font-size:30px;margin:9px 0 12px;letter-spacing:-.035em;text-wrap:initial}.service-description p{font-size:15px;max-width:430px;min-height:48px}.service .tag{font-size:11px}.round-link{grid-column:3;grid-row:3;width:42px;height:42px;align-self:end;justify-self:start;margin-left:-12px}
.rates{grid-column:2;grid-row:3;justify-content:flex-start;gap:26px;margin-top:24px}.rates span{font-size:12px}.rates strong{font-size:26px}.rates>div{min-width:65px}
.ritual{gap:48px;margin-top:65px;grid-template-columns:1.15fr 1fr}.ritual figure{height:360px;border-radius:12px}.ritual-copy h3{font-size:46px}.enhancements{margin-top:30px}.services{padding-bottom:75px}
.space-section{padding:75px 0}.space-top{gap:35px;margin-bottom:35px}.space-top>p{max-width:400px}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.gallery figure{margin:0;min-width:0}.gallery img{width:100%;height:440px;border-radius:12px;object-position:center 35%}.gallery-wide{grid-column:1/-1}.gallery-wide img{height:auto;aspect-ratio:1.95;object-position:center 42%}.gallery-room{grid-column:1/-1}.gallery-room img{height:420px;object-position:center 57%}.gallery figcaption{font-size:13px;padding-top:13px}.gallery-portrait:nth-child(3) img{object-position:center 40%}
.visit{padding-block:75px;gap:48px}.visit-info{gap:30px;flex-wrap:wrap}.visit-info>div{min-width:190px}.storefront img{height:340px;border-radius:12px}.faq{padding-bottom:75px}.closing{padding:60px 30px}.closing h2{font-size:clamp(42px,5vw,68px)}
@media(min-width:901px) and (max-width:1100px){.header nav{gap:18px;font-size:13px}.brand{font-size:20px}.brand-small{font-size:8px}.header{padding-inline:28px}.header .button{padding-inline:17px;gap:14px}.hero{gap:28px}.hero-image{height:530px}.hero-actions{gap:16px}.hero h1{font-size:clamp(54px,6.1vw,70px)}}
@media(max-width:900px){
.wrap{width:calc(100% - 48px)}.header{height:76px;padding-inline:24px;gap:12px}.brand{font-size:20px}.brand-mark{width:40px;height:40px;line-height:35px;font-size:31px}.brand-small{font-size:8px}
.header nav{display:none;position:absolute;top:76px;left:0;right:0;padding:24px;background:var(--paper);border-bottom:1px solid var(--line);font-size:16px}.header nav.open{display:flex;flex-direction:column;gap:24px}
.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:none;border:0;width:44px;height:44px;padding:3px}.menu-toggle span{height:1px;width:20px;background:var(--ink)}.header-right{gap:8px}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.hero h1{font-size:clamp(43px,6vw,54px)}.hero-image{height:490px}.hero-copy{padding:20px 0}.hero-actions{gap:12px}.hero-note{margin-top:22px}.intro{font-size:14px}.hero-bottom{gap:12px;flex-wrap:wrap}.hero-bottom>a{display:none}
.section-heading{align-items:start}.section-heading>p{max-width:220px;flex-shrink:1}.service-photo{height:260px}.service h3{font-size:25px}.service-description p{font-size:14px;min-height:68px}.service{grid-template-columns:22px minmax(0,1fr) 38px;gap:0 10px}.service-number{margin-left:13px}.rates{gap:14px}.rates>div{min-width:52px}.rates strong{font-size:24px}.round-link{width:38px;height:38px;margin-left:-10px}.gallery img{height:380px}.gallery-wide img{height:auto}.gallery-room img{height:350px}.space-top>p{max-width:300px}.visit{gap:30px}
}
@media(max-width:600px){
.wrap{width:calc(100% - 36px)}.header{padding-inline:18px}.brand{gap:8px;font-size:18px}.brand-small{font-size:7px}.brand-mark{width:34px;height:34px;font-size:27px;line-height:29px}.header .button{font-size:12px;padding:10px 15px;min-height:42px;gap:10px}.header-right{gap:0}
.hero{display:grid;grid-template-columns:1fr;padding-top:0;gap:0}.hero-copy{padding:27px 0 24px}.hero h1{font-size:clamp(44px,11.3vw,62px);margin:18px 0 16px;line-height:1.07;letter-spacing:-.05em}.eyebrow{font-size:10px;letter-spacing:.13em}.intro{font-size:14px;line-height:1.7}.hero-actions{display:flex;flex-wrap:nowrap;gap:18px;margin-top:20px}.hero-actions .button{font-size:12px;padding:14px 18px;gap:15px;min-height:48px}.hero-actions .text-link{font-size:12px;gap:8px;white-space:nowrap}.hero-note{margin-top:18px;gap:10px}.hero-note p{font-size:11px}.note-symbol{width:25px;height:25px;flex-basis:25px}.note-symbol .icon{width:25px;height:25px}.hero-image{height:auto;aspect-ratio:4/4.7;border-radius:10px 10px 50px 10px;grid-row:2}.hero-image img{object-position:50% 27%}.image-label{padding:48px 36px 20px 20px}.hero-bottom{grid-row:3;display:grid;grid-template-columns:1fr;gap:6px;padding:17px 0;font-size:11px}
.statement{padding:45px 0}.statement h2{font-size:29px;line-height:1.2;margin:16px 0}.statement h2 br{display:none}.statement>p:last-child{font-size:14px;line-height:1.65}.section-heading{display:block;margin-bottom:24px}.section-heading h2{font-size:37px;max-width:330px}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p{max-width:none;font-size:14px;margin-top:15px}.section-heading>p br{display:none}
.service-list{grid-template-columns:1fr;gap:22px}.service{grid-template-columns:25px minmax(0,1fr) 48px;gap:0 13px;padding-bottom:23px}.service-photo{height:270px;margin-bottom:22px}.service-description p{font-size:14px;min-height:0;line-height:1.65}.service h3{font-size:27px;line-height:1.15;margin:8px 0 10px}.service-number{margin-left:15px}.rates{gap:25px;margin-top:21px}.rates>div{min-width:56px}.rates span{font-size:12px}.rates strong{font-size:25px}.round-link{width:42px;height:42px;margin-left:-10px}.service:nth-child(1) .service-photo img{object-position:50% 28%}
.ritual{grid-template-columns:1fr;gap:24px;margin-top:45px}.ritual figure{height:auto;aspect-ratio:1.4;border-radius:10px}.ritual-copy h3{font-size:36px;margin:16px 0}.ritual-copy>p:not(.eyebrow){font-size:14px}.enhancements{grid-template-columns:1fr 1fr;padding:24px;gap:25px 18px;margin-top:26px}.enhancements>div:first-child{grid-column:1/-1}.enhancements h3{font-size:27px}.extra{font-size:14px}.extra strong{font-size:12px}.payment-note{font-size:12px;line-height:1.65}.services{padding-bottom:48px}
.space-section{padding:48px 0}.space-top{display:block;margin-bottom:25px}.space-top h2{font-size:38px}.space-top>p{max-width:none;font-size:14px;margin-top:20px}.space-top>p br{display:none}.gallery{grid-template-columns:1fr;gap:24px}.gallery figure{grid-column:auto}.gallery img{height:auto;aspect-ratio:4/4.6;border-radius:10px}.gallery-wide img{aspect-ratio:4/3;object-position:center}.gallery-room img{aspect-ratio:4/3;object-position:center 60%}.gallery-portrait:nth-child(3) img{object-position:center 43%}.gallery figcaption{font-size:12px;padding-top:11px}
.visit{grid-template-columns:1fr;padding-block:48px;gap:30px}.visit h2{font-size:38px}.visit-info{display:grid;grid-template-columns:1fr;gap:26px;margin-top:26px}.visit-info p,address{font-size:15px}.visit-info .tag{font-size:11px;margin-bottom:9px}.visit-info .text-link{font-size:14px;margin-top:12px}.storefront img{height:auto;aspect-ratio:1.5}.faq{grid-template-columns:1fr;gap:18px;padding-bottom:48px}summary{font-size:15px;line-height:1.5;align-items:center}.faq>.eyebrow{padding:0}details p{font-size:14px;padding-right:10px}.closing{padding:40px 22px}.closing h2{font-size:39px;margin:22px 0 25px}.closing .eyebrow{font-size:9px}.closing>p:last-child{font-size:12px}
.mobile-book{background:#fbfafbf7;gap:12px}.mobile-book>span{font-size:12px;white-space:nowrap}.mobile-book .button{font-size:12px;padding-inline:18px;gap:14px}footer{padding-top:35px;gap:25px}footer .footer-name{font-size:23px}
}
@media(max-width:374px){.header{padding-inline:12px}.brand-small{display:none}.brand{font-size:17px}.header .button{font-size:11px;padding-inline:12px;gap:8px}.hero-actions{gap:12px;flex-wrap:wrap}.hero-actions .button{padding-inline:16px}.hero-actions .text-link{font-size:11px}.hero h1{font-size:44px}.rates{gap:19px}.service{grid-template-columns:20px minmax(0,1fr) 42px;gap:0 10px}.service h3{font-size:25px}.service-number{margin-left:10px}.mobile-book>span{font-size:11px}.mobile-book .button{padding-inline:14px}}
/* Preserve faces and complete flower shapes when portrait assets fill wide frames. */
.hero-image img{object-position:50% 0%}
.service:nth-child(1) .service-photo img{object-position:50% 12%}
.service:nth-child(3) .service-photo img{object-position:50% 35%}
.service:nth-child(4) .service-photo img{object-position:50% 8%}
.gallery-portrait img{height:520px;object-position:50% 0%}
.gallery-portrait:nth-child(3) img{object-position:50% 15%}
@media(max-width:900px) and (min-width:601px){.gallery-portrait img{height:400px}}
@media(max-width:600px){.gallery-portrait img{height:auto;aspect-ratio:4/4.6}.gallery-portrait:nth-child(3) img{object-position:50% 20%}}
/* Gardenia identity: vector outlines keep the mark crisp at every scale. */
.brand{gap:12px;min-height:52px}.brand .brand-mark{display:block;flex:0 0 52px;width:52px;height:52px;object-fit:contain;border:0;border-radius:0;padding:0}
.brand-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:400;letter-spacing:.19em;line-height:1.05;color:#3f3049}
.brand .brand-small{display:block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:9px;font-weight:500;letter-spacing:.34em;margin-top:8px;line-height:1.1;text-align:center;color:#6c527d}
footer .footer-name{display:grid;grid-template-columns:54px auto;gap:0 12px;align-items:center}
.footer-mark{width:54px;height:54px;object-fit:contain;grid-row:1}.footer-name .footer-wordmark{font-family:Georgia,'Times New Roman',serif;font-size:26px;letter-spacing:.19em;line-height:1.2;color:#3f3049;margin:0}
.footer-name .footer-descriptor{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:8px;letter-spacing:.13em;margin-top:7px;color:var(--muted)}
.footer-name .footer-tagline{grid-column:1/-1;font-size:12px;margin-top:17px;letter-spacing:0}
.service:nth-child(2) .service-photo img,.service:nth-child(3) .service-photo img{object-position:50% 50%}
@media(max-width:900px){.brand .brand-mark{width:44px;height:44px;flex-basis:44px}.brand-wordmark{font-size:24px}.brand .brand-small{font-size:8px;margin-top:6px}.brand{gap:9px}}
@media(max-width:600px){.brand .brand-mark{width:40px;height:40px;flex-basis:40px}.brand-wordmark{font-size:22px}.brand .brand-small{font-size:7px;letter-spacing:.3em}.brand{gap:8px}.service:nth-child(2) .service-photo,.service:nth-child(3) .service-photo{height:auto;aspect-ratio:1.5}}
@media(max-width:374px){.brand .brand-mark{width:34px;height:34px;flex-basis:34px}.brand-wordmark{font-size:19px}.brand .brand-small{font-size:6px}.brand{gap:6px}}
.service:nth-child(3) .service-photo img{object-position:50% 15%}
@media(max-width:600px){.brand .brand-mark{width:36px;height:36px;flex-basis:36px}.brand-wordmark{font-size:20px}.header .button{font-size:11px;padding-inline:12px;gap:8px}.header{gap:8px}}
@media(max-width:374px){.brand .brand-mark{width:32px;height:32px;flex-basis:32px}.brand-wordmark{font-size:18px}.header .button{font-size:10px;padding-inline:10px;gap:6px}}
