/* Powder rose: soft colour, existing lotus identity, readable dark text. */
:root{--paper:#fbf8f4;--surface:#ffffff;--soft:#f5eeeb;--ink:#332e2d;--muted:#665856;--accent:#87515d;--line:#dfcecd;--radius:16px}
body{background:var(--paper);color:var(--ink)}
.utility-bar{background:#f1e7e4;color:var(--ink);border-bottom:1px solid #e6d8d4}
.site-header,.site-header.is-compact{background:#fbf8f4;border-bottom:1px solid #e6d8d4}
.utility-address{font-weight:400;color:var(--muted)}
.social-round,.footer-reference .social-round{background:#fffaf6;color:var(--accent);border:1px solid #dcc7c9}
.social-round:hover{background:#f0dfe1}
.button{background:var(--accent);border-color:var(--accent);color:#fff}
.button:hover{background:#6f3e4a;border-color:#6f3e4a;color:#fff}
.utility-book{background:transparent;color:var(--accent);border-color:var(--accent)}
.utility-book:hover{background:var(--accent);color:#fff}
.hero-reference-copy .button{background:var(--accent);border-color:var(--accent);color:white;box-shadow:0 2px 12px #36262a18}
.hero-reference-copy .button:hover{background:#6f3e4a;border-color:#6f3e4a;color:#fff}
.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--accent)}
.language-list,.mobile-nav:not([hidden]){background:#fffaf7;border-color:var(--line)}
.language-list>a:hover,.language-list>a[aria-current]{background:#f2e3e5}
.facts-strip{border-bottom:1px solid var(--line)}
.facts-strip strong{color:var(--accent)}
.about-section{background:var(--paper)}
.about-portrait{border-radius:18px;border:1px solid #e6d8d4}
.about-text>.eyebrow{color:var(--accent)}
.education h3{color:var(--accent)}
.reference-services .service-card>a{background:#f6eceb;border-color:#e3cfd1;border-radius:18px}
.reference-services .service-card>a:hover,.reference-services .service-card>a:focus-visible{background:#f0e0e2;border-color:#ac7c87}
.service-card-top{color:var(--accent)}
.service-card-top img{opacity:.65}
.service-card-bottom{border-color:#d9bfc4}
.service-card-bottom strong,.service-card-bottom>span:last-child{color:#794550}
.reference-services>h2:before,.reference-faq>h2:before{content:'';display:block;width:28px;height:30px;margin:0 auto 14px;background:url('/assets/branch.svg') center/contain no-repeat;opacity:.55}
.reference-faq .faq-list details{background:#fffdfb;border:1px solid #eadcda;border-radius:16px;box-shadow:none}
.reference-faq .faq-list details:after{display:none}
.reference-faq .faq-list summary{color:var(--ink)}
.reference-faq .faq-list details>p{color:var(--muted)}
.booking-banner{background:#f1e2e4;border-block:1px solid #e4d0d3}
.booking-banner p{color:var(--ink)}
.footer-reference{background:#f1e7e4;color:var(--ink)}
.footer-reference .footer-heading{color:#69434d}
.footer-reference .footer-main nav>a,.footer-reference .footer-contact-clean address,.footer-reference .footer-contact-clean .footer-phone,.footer-reference .footer-route,.footer-reference .privacy-trigger,.footer-reference .footer-bottom>p{color:var(--ink)}
.footer-reference .footer-bottom{border-color:#d9c6c5}
.footer-seal{background:#fbf8f4;border:1px solid #d7bfc4;color:var(--ink)}
.mobile-booking{background:#fbf8f4;border-top-color:#dfcecd}
.mobile-booking>.button{background:var(--accent);color:#fff}
.price-jumps>a{background:#fffdfb;border-color:var(--line);color:var(--ink)}
.service-category,.service-category:last-child,.treatment-group li+li{border-color:var(--line)}
.category-index{color:var(--accent)}
dialog{background:#fbf8f4;border-color:#d7bfc4;border-radius:18px}
dialog::backdrop{background:#37282e80}
.booking-channel{background:#fffdfb;border-color:var(--line)}
.telegram-channel{border-color:var(--accent)}
.booking-channel:hover{background:#f2e3e5}
@media(max-width:430px){.utility-inner .social-round{background:transparent;color:var(--accent);border-color:transparent}}

/* Continuous treatment names directly beneath the owner's hero video. */
.treatment-ribbon{position:relative;overflow:hidden;max-width:100%;padding:22px 0;background:#f6edeb;border-bottom:1px solid var(--line);color:#87515d}
.ribbon-window{overflow:hidden;width:calc(100% - 66px);mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.ribbon-track{display:flex;width:max-content;max-width:none;transform:translateX(0)}
.ribbon-group{display:flex;align-items:center;flex:0 0 auto;gap:30px;padding-right:30px;white-space:nowrap;font:italic 400 clamp(22px,2.2vw,32px)/1.45 var(--serif)}
.ribbon-dot{font-style:normal;font-size:20px;opacity:.65}
.treatment-ribbon.is-animated .ribbon-track{animation:treatment-ribbon-travel 48s linear infinite;will-change:transform}
.treatment-ribbon.is-paused .ribbon-track{animation-play-state:paused}
.ribbon-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid #c7a5ad;border-radius:50%;color:#87515d;background:#fbf8f4;font:400 16px/1 var(--sans)}
.ribbon-toggle:hover{background:#eddcde}
@keyframes treatment-ribbon-travel{to{transform:translateX(-50%)}}
@media(max-width:700px){.treatment-ribbon{padding-block:18px}.ribbon-group{gap:22px;padding-right:22px;font-size:23px}.treatment-ribbon.is-animated .ribbon-track{animation-duration:54s}.ribbon-toggle{right:8px}}
@media(prefers-reduced-motion:reduce){.treatment-ribbon .ribbon-track{animation:none!important;will-change:auto}.ribbon-window{width:100%;mask-image:none}.ribbon-group{white-space:normal;flex-wrap:wrap;gap:10px 20px;padding-inline:20px}.ribbon-track{width:auto}.ribbon-group+.ribbon-group{display:none}.ribbon-toggle{display:none}}
.treatment-ribbon:not(.is-animated) .ribbon-window{width:100%;mask-image:none}
.treatment-ribbon:not(.is-animated) .ribbon-track{width:auto}
.treatment-ribbon:not(.is-animated) .ribbon-group{flex:1 1 100%;min-width:0;flex-wrap:wrap;white-space:normal;gap:10px 20px;padding-inline:20px}
.treatment-ribbon:not(.is-animated) .ribbon-group span{max-width:100%;overflow-wrap:anywhere}
.treatment-ribbon:not(.is-animated) .ribbon-group+.ribbon-group{display:none}
/* Booking is a prominent section, followed by a clear, spacious dialog. */
.booking-banner{padding:clamp(48px,6vw,84px) 0;background:#f1e2e4}
.booking-banner>.wrap{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);align-items:center;gap:clamp(32px,6vw,90px)}
.booking-banner-copy{min-width:0}.booking-banner-copy>.eyebrow{font:500 11px/1.6 var(--sans);letter-spacing:1.2px;color:var(--accent);margin-bottom:14px}
.booking-banner-copy h2{font:400 clamp(32px,3.5vw,46px)/1.18 var(--serif);letter-spacing:0;max-width:23ch;margin-bottom:20px}
.booking-banner-copy>p:last-child{font:400 16px/1.8 var(--sans);max-width:55ch;color:var(--muted)}
.booking-banner-action{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.booking-banner-action>.button{width:100%;min-height:66px;font-size:16px;padding:17px 30px;justify-content:space-between;gap:24px}
.booking-banner-action>a{display:flex;align-items:center;justify-content:center;min-height:44px;font:400 15px/1.6 var(--sans);color:var(--muted)}
#booking-dialog{width:min(680px,calc(100% - 32px));padding:40px;max-height:calc(100dvh - 40px);border-radius:24px;box-shadow:0 20px 80px #38252e24}
#booking-dialog .dialog-branch{width:36px;height:41px;margin-bottom:14px}
#booking-dialog>.eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:10px}
#booking-dialog h2{font:400 clamp(29px,3vw,38px)/1.2 var(--serif);letter-spacing:0;margin-bottom:14px}
#booking-dialog>p:not(.eyebrow){font-size:15px;line-height:1.75}
#booking-dialog .dialog-close{right:14px;top:14px;border-radius:50%;color:var(--accent)}
#booking-dialog .dialog-close:hover{background:#f1e2e4}
#booking-dialog .booking-label{font:500 13px/1.6 var(--sans);color:var(--muted);margin-top:22px;margin-bottom:9px}
.service-picker{min-width:0}
.service-picker>summary{display:flex;align-items:center;gap:18px;min-height:66px;padding:16px 18px;border:1px solid #caaab2;border-radius:14px;background:#fffdfb;cursor:pointer;list-style:none;line-height:1.6}
.service-picker>summary::-webkit-details-marker{display:none}
.picker-selection{display:flex;align-items:center;flex:1;gap:16px;min-width:0;font:400 15px/1.65 var(--sans)}
#booking-service-value{min-width:0;flex:1;overflow-wrap:anywhere}
#booking-service-price{font:500 15px/1.6 var(--sans);color:var(--accent);white-space:nowrap}
.picker-chevron{flex-shrink:0;font-size:21px;line-height:1;color:var(--accent)}
.service-picker[open]>summary{border-color:var(--accent);box-shadow:0 0 0 2px #87515d0d}
.service-picker[open] .picker-chevron{transform:rotate(180deg)}
.picker-panel{max-height:min(42dvh,330px);overflow-y:auto;overscroll-behavior:contain;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fffdfb;scrollbar-color:#caaab2 #fbf8f4;scrollbar-width:thin}
.picker-group{margin-top:18px}.picker-group h3{font:500 12px/1.5 var(--sans);letter-spacing:.3px;color:var(--accent);padding:0 6px 10px}
.picker-choice{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:54px;padding:12px;border:1px solid transparent;border-radius:10px;text-align:left;font:400 14px/1.65 var(--sans);color:var(--ink)}
.picker-choice>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}
.picker-choice+.picker-choice{margin-top:3px}
.picker-price{white-space:nowrap;font-weight:500;color:var(--accent)}
.picker-choice:hover{background:#f8f0ef}
.picker-choice[aria-pressed=true]{background:#f1e2e4;border-color:#caaab2}
#booking-dialog input[type=date],#booking-dialog select{min-height:58px;padding:15px 18px;border-radius:14px;border-color:#caaab2;background:#fffdfb;font-size:16px}
#booking-dialog .booking-channels{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}
#booking-dialog .booking-channel{min-height:88px;padding:16px;border-radius:14px;gap:12px}
#booking-dialog .channel-icon{width:32px;height:32px;color:var(--accent);border-color:#d9bfc4}
#booking-dialog .booking-channel>span:last-child{display:none}
#booking-dialog .booking-channel strong{font-size:15px;color:var(--ink)}
#booking-dialog .booking-channel small{font-size:12px;line-height:1.6}
#booking-dialog .dialog-note{font-size:12px!important;line-height:1.8;margin-top:22px}
@media(max-width:700px){
 .booking-banner>.wrap{grid-template-columns:minmax(0,1fr);gap:28px;text-align:left}.booking-banner-copy h2{max-width:none;font-size:34px}
 .booking-banner-action{max-width:none;width:100%}.booking-banner-action>.button{min-height:62px;font-size:16px}.booking-banner-action>a{font-size:14px}
 #booking-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:28px 22px;border-radius:20px}
 #booking-dialog .booking-channel{min-height:82px;padding:13px;gap:10px}.picker-selection{gap:12px;font-size:15px}
 .service-picker>summary{padding:15px;gap:12px}.picker-choice{padding:12px 9px;gap:12px}.picker-panel{padding:8px}.picker-group h3{font-size:12px}
}
@media(max-width:430px){#booking-dialog .booking-channels{grid-template-columns:minmax(0,1fr)}#booking-dialog .booking-channel{min-height:72px}.booking-banner-copy h2{font-size:32px}.picker-price{font-size:13px}}
/* Single-practitioner appointment request, in three clear steps. */
#booking-dialog.booking-wizard{width:min(740px,calc(100% - 32px))}
.booking-progress{display:flex;gap:14px;list-style:none;margin:26px 0 30px;padding:0;border-bottom:1px solid var(--line)}
.booking-progress li{flex:1;min-width:0;display:flex;align-items:center;gap:9px;padding-bottom:16px;border-bottom:2px solid transparent;color:var(--muted);font:400 13px/1.5 var(--sans)}
.booking-progress li>span{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border:1px solid #d1b8be;border-radius:50%;font-size:12px}
.booking-progress li[aria-current]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}
.booking-progress li[aria-current]>span,.booking-progress li.is-complete>span{background:var(--accent);border-color:var(--accent);color:white}
.booking-step{min-width:0}
.wizard-step-title{font:400 25px/1.3 var(--serif);margin:0 0 16px;letter-spacing:0;outline-offset:6px}
#booking-dialog .wizard-intro{font-size:14px;line-height:1.8;max-width:65ch}
#booking-dialog .wizard-note{font:400 14px/1.8 var(--sans);color:var(--muted);max-width:65ch}
.wizard-date-grid,.wizard-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#booking-dialog input[type=time],#booking-dialog input[type=text],#booking-dialog input[type=tel]{min-height:58px;padding:15px 18px;border-radius:14px;border-color:#caaab2;background:#fffdfb;font-size:16px}
#booking-dialog input[aria-invalid=true]{border-color:#9a3f2d}
.wizard-review{background:#f6eceb;border:1px solid #e3cfd1;border-radius:14px;padding:20px;margin:24px 0 18px}
.wizard-review h4{font:500 13px/1.5 var(--sans);color:var(--accent);margin:0 0 14px}
.wizard-review dl{margin:0}.wizard-review dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px}
.wizard-review dl>div+div{margin-top:12px}.wizard-review dt{font:400 12px/1.7 var(--sans);color:var(--muted)}
.wizard-review dd{margin:0;overflow-wrap:anywhere;font:400 14px/1.7 var(--sans)}
.wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.wizard-actions>.button{margin-left:auto;min-width:170px;min-height:54px;justify-content:space-between}
.wizard-back{display:inline-flex;align-items:center;min-height:48px;padding:8px 4px;font:400 14px/1.5 var(--sans);color:var(--accent)}
#booking-dialog .booking-step .picker-panel{max-height:min(40dvh,330px)}
@media(max-width:700px){.booking-progress{gap:8px;margin-block:22px 24px}.booking-progress li{flex-direction:column;align-items:flex-start;gap:8px;font-size:12px}.wizard-date-grid,.wizard-contact-grid{grid-template-columns:minmax(0,1fr);gap:0}.wizard-review{padding:16px}.wizard-review dl>div{grid-template-columns:minmax(0,1fr);gap:4px}.wizard-step-title{font-size:24px}.wizard-actions{gap:14px}.wizard-actions>.button{min-width:150px}.wizard-review dd{font-size:14px}}
/* Language-independent SVG symbols with fixed icon, text, price and selection columns. */
.service-icon,.ui-icon{display:block;flex-shrink:0;width:24px;height:24px}
.service-category-symbol{display:grid;place-items:center;width:44px;height:44px;border:1px solid #d9bfc4;border-radius:50%;color:var(--accent)}
.service-card-top{min-height:44px;align-items:center}
.service-card-arrow{width:22px;height:22px;display:grid;place-items:center}
.service-card-arrow>.ui-icon{width:20px;height:20px}
.picker-group h3{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;padding:0 8px 12px;font-size:13px;line-height:1.6}
.picker-group-icon{width:24px;height:24px}
.picker-group-icon .service-icon{width:22px;height:22px}
.picker-choice{display:grid;grid-template-columns:34px minmax(0,1fr) 62px 20px;align-items:center;gap:12px;min-height:62px}
.picker-choice>.picker-service-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#f5eeeb;color:var(--accent)}
.picker-service-icon>.service-icon,.picker-service-icon>.ui-icon{width:21px;height:21px}
.picker-choice-name{min-width:0;overflow-wrap:break-word;word-break:normal;line-height:1.65}
.picker-choice .picker-price{display:block;text-align:right;font-variant-numeric:tabular-nums;font-size:14px;white-space:nowrap}
.picker-check{display:grid;place-items:center;width:20px;height:20px;color:var(--accent);visibility:hidden}
.picker-check .ui-icon{width:18px;height:18px}
.picker-choice[aria-pressed=true] .picker-check{visibility:visible}
.picker-choice[aria-pressed=true] .picker-service-icon{background:#ead4d9}
.picker-chevron{display:grid;place-items:center;width:20px;height:20px;flex:0 0 20px}
.picker-chevron .ui-icon{width:20px;height:20px}
.category-index{display:grid;place-items:center;width:28px;min-height:28px;padding-top:0}
@media(min-width:851px){.reference-services .service-card h3{min-height:2.5em}}
@media(max-width:700px){.picker-choice{grid-template-columns:28px minmax(0,1fr) 52px 18px;gap:8px;padding:12px 8px}.picker-choice>.picker-service-icon{width:28px;height:28px;flex-basis:28px}.picker-service-icon>.service-icon,.picker-service-icon>.ui-icon{width:19px;height:19px}.picker-choice .picker-price{font-size:13px}.picker-check{width:18px;height:18px}.picker-choice-name{font-size:14px}.picker-group h3{padding-inline:6px;font-size:12px}.service-category-symbol{width:40px;height:40px}}

/* Equal circular service links; descriptions cannot change a circle's geometry. */
.reference-services>h2:before{width:60px;height:64px;margin-bottom:18px;opacity:.72}
.reference-services .service-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(24px,3vw,40px);margin-top:44px}
.reference-services .service-card{display:grid;grid-template-rows:auto 1fr;justify-items:center;align-content:start;gap:22px;min-width:0}
.reference-services .service-card>a{width:100%;max-width:360px;aspect-ratio:1;height:auto;min-height:0;padding:32px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:visible}
.reference-services .service-card-top{justify-content:center;min-height:56px;margin:0 0 18px}
.reference-services .service-category-symbol{width:56px;height:56px;background:#fbf8f4;border-color:#d9bfc4}
.reference-services .service-category-symbol .service-icon{width:28px;height:28px}
.reference-services .service-card h3{display:flex;align-items:center;justify-content:center;min-height:2.5em;margin:0;padding:0;font:400 clamp(24px,2.1vw,28px)/1.25 var(--serif);text-align:center;max-width:100%;overflow-wrap:anywhere}
.reference-services .service-card-bottom{display:flex;align-items:center;justify-content:center;gap:16px;flex:none;width:auto;min-height:30px;margin:18px 0 0;padding:0;border:0}
.reference-services .service-card-bottom strong{font:400 18px/1.5 var(--sans)}
.reference-services .service-card>p.service-card-description{width:100%;max-width:32ch;margin:0;text-align:center;font:400 15px/1.8 var(--sans);color:var(--muted)}
@media(min-width:701px) and (max-width:1099px){.reference-services .service-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 32px}.reference-services .service-card:last-child{grid-column:1/-1;width:calc((100% - 32px)/2);justify-self:center}.reference-services .service-card>a{max-width:350px}.reference-services .service-card h3{font-size:25px}}
@media(max-width:700px){.reference-services>h2:before{width:52px;height:56px}.reference-services .service-overview{grid-template-columns:minmax(0,1fr);gap:36px;margin-top:32px}.reference-services .service-card{width:100%;max-width:360px;justify-self:center;gap:18px}.reference-services .service-card>a{max-width:330px;padding:30px;min-height:0;aspect-ratio:1}.reference-services .service-card h3{font-size:25px;min-height:2.5em}.reference-services .service-card-top{margin-bottom:16px}.reference-services .service-card>p.service-card-description{font-size:15px}.reference-services .service-category-symbol{width:50px;height:50px}}
@media(max-width:360px){.reference-services .service-card>a{padding:26px}.reference-services .service-card h3{font-size:23px}.reference-services .service-card-top{margin-bottom:12px}.reference-services .service-card-bottom{margin-top:12px}}

/* Price-list legibility and larger lotus/location signatures. */
.reference-services>h2:before{width:80px;height:86px;opacity:.85}
.pricing-hero h1:before{content:'';display:block;width:72px;height:78px;margin:0 0 22px;background:url('/assets/branch.svg') center/contain no-repeat;opacity:.85}
.booking-banner-copy>.eyebrow{font:500 20px/1.5 var(--sans);letter-spacing:.3px;color:#653c47;margin-bottom:16px}
.footer-reference .footer-contact-clean address{font-size:17px;line-height:1.8}
.price-catalogue,.detail-catalogue{color:#262222}
.price-catalogue .category-title strong,.detail-catalogue .treatment-group h3{color:#262222;font-weight:500}
.price-catalogue .category-title>span,.price-catalogue .service-includes,.price-catalogue .service-note,.detail-catalogue .service-includes,.detail-catalogue .service-note{color:#514645}
.price-catalogue .treatment-group li button,.detail-catalogue .treatment-group li button{font-size:16px;color:#262222;padding-block:20px}
.price-catalogue .service-title,.detail-catalogue .service-title{font-weight:500}
.price-catalogue .service-price,.detail-catalogue .service-price{color:#6d3543;font-weight:700;font-size:17px;font-variant-numeric:tabular-nums}
.price-catalogue .service-category,.price-catalogue .service-category:last-child,.price-catalogue .treatment-group li+li,.detail-catalogue .treatment-group li+li{border-color:#cbb8b8}
.price-catalogue .treatment-group li button:hover,.detail-catalogue .treatment-group li button:hover{background:#f3e7e8}
.price-catalogue .treatment-group li button:focus-visible,.detail-catalogue .treatment-group li button:focus-visible{outline:2px solid #6d3543;outline-offset:4px}
.price-catalogue .price-jumps>a{border-color:#cbb8b8;color:#3b2f32}
.pricing-hero>.eyebrow{color:#653c47}
@media(max-width:700px){.reference-services>h2:before{width:68px;height:74px}.pricing-hero h1:before{width:60px;height:66px;margin-bottom:18px}.booking-banner-copy>.eyebrow{font-size:19px}.price-catalogue .treatment-group li button,.detail-catalogue .treatment-group li button{font-size:15px}.price-catalogue .service-price,.detail-catalogue .service-price{font-size:16px}}

/* Centre each lotus on its own heading; use the SVG's natural proportions. */
.pricing-hero h1{width:fit-content;max-width:100%}
.pricing-hero h1:before{width:80px;height:66px;margin:0 auto 22px;background-position:center;transform:none}
.reference-services>h2,.reference-faq>h2{text-align:center}
.reference-services>h2:before,.reference-faq>h2:before{width:80px;height:66px;margin:0 auto 20px;background-position:center;opacity:.85;transform:none}
.price-information{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:40px 0 56px}
.price-information>div{padding:26px;border:1px solid #dfcecd;border-radius:16px;background:#f5ece9;min-width:0}
.price-information h3{font:600 15px/1.5 var(--sans);color:#653c47;margin:0 0 12px;letter-spacing:0}
.price-information p{font:400 16px/1.75 var(--sans);color:#332e2d;margin:0;overflow-wrap:break-word}
.footer-reference .footer-contact-clean{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0}
.footer-reference .footer-contact-clean .footer-heading{font:600 14px/1.6 var(--sans);letter-spacing:.5px;margin:0 0 2px}
.footer-reference .footer-contact-clean .footer-phone{font:400 16px/1.75 var(--sans)!important;letter-spacing:0;min-height:44px;margin:0;padding:0}
.footer-reference .footer-contact-clean address,.footer-reference .footer-contact-clean .footer-route{font:400 16px/1.75 var(--sans);font-style:normal;letter-spacing:0;margin:0;padding:0;text-align:left}
.footer-reference .footer-contact-clean .footer-route{display:flex;align-items:center;min-height:44px}
@media(max-width:850px){.price-information{grid-template-columns:minmax(0,1fr);gap:14px}.price-information>div{padding:22px}}
@media(max-width:700px){.pricing-hero h1:before,.reference-services>h2:before,.reference-faq>h2:before{width:68px;height:56px;margin-bottom:18px}.footer-reference .footer-contact-clean{gap:12px;margin-top:0}}

/* Compact price-list notes, including the owner's VAT statement. */
.price-information{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.price-information>div{padding:22px}
.price-information h3{font-size:13px;line-height:1.5;margin-bottom:9px}
.price-information p{font-size:14px;line-height:1.7}
@media(max-width:1100px){.price-information{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.price-information{grid-template-columns:minmax(0,1fr)}.price-information>div{padding:20px}}

/* Keep the owner's five-paragraph biography readable beside the portrait. */
.about-with-portrait{align-items:start}
.about-text>p:not(.eyebrow){margin-top:16px}
/* Circular notes beneath the price list, with centred text. */
.price-information{align-items:start;justify-items:center;gap:24px}
.price-information>div{width:100%;max-width:300px;aspect-ratio:1;border-radius:50%;padding:26px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.price-information h3{width:100%;margin:0 0 10px}
.price-information p{width:100%;margin:0;text-align:center}
@media(max-width:600px){.price-information{gap:22px}.price-information>div{max-width:300px;padding:26px}}

/* Compact circular price notes. */
.price-information{max-width:792px;margin-inline:auto;gap:24px}
.price-information>div{max-width:180px;padding:12px}
@media(max-width:1100px){.price-information{max-width:384px}}
@media(max-width:600px){.price-information{max-width:180px}.price-information>div{max-width:180px;padding:12px}}

.price-information h3{font-size:12px;line-height:1.5;margin-bottom:6px}
.price-information p{font-size:13px;line-height:1.5}

/* Footer signature: one axis, natural lotus ratio, equal circle dimensions. */
.footer-reference .footer-bottom{display:grid;grid-template-columns:140px minmax(0,1fr) auto;align-items:center;gap:24px}
.footer-reference .footer-seal{box-sizing:border-box;width:140px;height:140px;min-width:140px;min-height:140px;aspect-ratio:1;display:grid;grid-template-rows:auto auto;align-content:center;justify-items:center;gap:8px;padding:16px;border-radius:50%;text-align:center;transform:none;letter-spacing:0}
.footer-reference .footer-seal>img{display:block;width:36px;height:auto;aspect-ratio:110/90;object-fit:contain;margin:0;padding:0;transform:none;justify-self:center}
.footer-reference .footer-seal>span{display:block;width:100%;margin:0;padding:0;font:400 16px/1.2 var(--serif);text-align:center;letter-spacing:0;transform:none;white-space:normal}
.footer-reference .footer-bottom>.privacy-trigger{grid-column:2;justify-self:start;margin:0;min-width:0}
.footer-reference .footer-bottom>p{grid-column:3;margin:0;max-width:100%;overflow-wrap:anywhere;text-align:right}
@media(max-width:700px){.footer-reference .footer-bottom{grid-template-columns:100px minmax(0,1fr);gap:12px 20px;align-items:center}.footer-reference .footer-seal{width:100px;height:100px;min-width:100px;min-height:100px;padding:10px;gap:6px;grid-column:1;grid-row:1/3;align-self:center}.footer-reference .footer-seal>img{width:28px;height:auto}.footer-reference .footer-seal>span{font-size:13px;line-height:1.2}.footer-reference .footer-bottom>.privacy-trigger{grid-column:2;grid-row:1;align-self:end}.footer-reference .footer-bottom>p{grid-column:2;grid-row:2;align-self:start;text-align:left}}

/* The video signature shares a single axis at every screen width. */
.hero-reference-copy .hero-brand-seal{--seal-size:196px;box-sizing:border-box;width:var(--seal-size);height:var(--seal-size);min-width:var(--seal-size);min-height:var(--seal-size);aspect-ratio:1;display:grid;grid-template-rows:max-content max-content;align-content:center;justify-items:center;gap:10px;padding:24px;transform:none;text-align:center}
.hero-reference-copy .hero-brand-seal>img{display:block;width:40px;height:auto;aspect-ratio:110/90;object-fit:contain;margin:0;padding:0;justify-self:center;transform:none}
.hero-reference-copy .hero-brand-seal h1{display:block;width:100%;min-width:0;max-width:100%;margin:0;padding:0;font:400 25px/1.14 var(--serif);letter-spacing:0;text-align:center;transform:none}
.hero-reference-copy .hero-brand-seal h1>span{display:block;width:100%;text-align:center;white-space:nowrap}
@media(max-width:700px){.hero-reference-copy .hero-brand-seal{--seal-size:174px;padding:20px;gap:9px}.hero-reference-copy .hero-brand-seal>img{width:35px}.hero-reference-copy .hero-brand-seal h1{font-size:23px}}
@media(max-width:430px){.hero-reference-copy .hero-brand-seal{--seal-size:164px;padding:18px;gap:8px}.hero-reference-copy .hero-brand-seal h1{font-size:22px}}
@media(max-height:500px) and (orientation:landscape){.hero-reference-copy .hero-brand-seal{--seal-size:150px;padding:16px;gap:8px}.hero-reference-copy .hero-brand-seal h1{font-size:21px}.hero-reference-copy .hero-brand-seal>img{width:32px}}

/* Soft scroll entrances and a travelling highlight, inspired by the owner's clips. */
.reveal-pending{opacity:0;transform:translateY(22px)}
.reveal-visible{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);transition-delay:var(--reveal-delay,0ms)}
.button{position:relative;isolation:isolate;overflow:hidden;transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}
.button:after{content:'';pointer-events:none;position:absolute;inset:-50% auto -50% 0;width:44%;background:linear-gradient(105deg,transparent 10%,rgba(255,255,255,.08) 30%,rgba(255,255,255,.38) 50%,rgba(255,255,255,.08) 70%,transparent 90%);transform:translateX(-170%) skewX(-18deg);opacity:0}
.button.sheen-visible:after{animation:button-light-sweep 6s ease-in-out infinite}
@keyframes button-light-sweep{0%,8%{opacity:0;transform:translateX(-170%) skewX(-18deg)}12%{opacity:1}30%{opacity:1;transform:translateX(350%) skewX(-18deg)}34%,100%{opacity:0;transform:translateX(350%) skewX(-18deg)}}
@media(hover:hover){.button:hover{box-shadow:0 0 0 3px #b77a8b20,0 6px 22px #87515d32}.button:hover:after{animation:button-light-sweep 2.6s ease-in-out infinite}}
.button:focus-visible{box-shadow:0 0 0 4px #b77a8b30,0 5px 20px #87515d28}
.effects-suspended .button:after{animation-play-state:paused!important}
@media(max-width:700px){.reveal-pending{transform:translateY(14px)}.reveal-visible{transition-duration:.65s;transition-delay:0ms}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.reveal-pending,.reveal-visible{opacity:1!important;transform:none!important;transition:none!important}.button,.button:after{animation:none!important;transition:none!important}.button:after{display:none}}

/* Invert the service palette: rose section, white circular cards. */
.services-rose{background:#f6eceb}
.services-rose .reference-services .service-card>a{background:#fff;border-color:#e3cfd1}
.services-rose .reference-services .service-card>a:hover,.services-rose .reference-services .service-card>a:focus-visible{background:#fff;border-color:#ac7c87;box-shadow:0 8px 26px #87515d16}
.services-rose .reference-services .service-category-symbol{background:#f6eceb}
/* Owner's reference: image cards, delicate column rules, flat price notes. */
.services-rose{background:#fcf7f6}
.services-rose .reference-services>h2{font-size:clamp(36px,4.2vw,58px)}
.services-tagline{display:flex;align-items:center;justify-content:center;gap:28px;margin:12px auto 0;max-width:900px;text-align:center;font:italic 400 clamp(18px,2vw,25px)/1.5 var(--serif);color:#514442}
.services-tagline:before,.services-tagline:after{content:'';height:1px;width:90px;flex:0 1 90px;background:#d9c6c5}
.services-rose .reference-services .service-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:44px;align-items:start}
.services-rose .reference-services .service-card{display:block;position:relative;width:auto;max-width:none;grid-column:auto;justify-self:stretch}
.services-rose .reference-services .service-card>a{display:block;width:100%;max-width:none;aspect-ratio:auto;height:auto;min-height:0;padding:0;border:1px solid #e5ccce;border-radius:26px;background:#f9e7e8;overflow:hidden;box-shadow:0 9px 22px #87515d0e}
.services-rose .reference-services .service-card>a:hover,.services-rose .reference-services .service-card>a:focus-visible{background:#f9e7e8;box-shadow:0 12px 28px #87515d20}
.service-card-visual{display:block;position:relative;width:100%;aspect-ratio:395/260;overflow:hidden;background:#f3e3df}
.service-card-visual>img{position:absolute;top:-95%;left:-26.076%;width:366.5823%;height:auto;max-width:none;pointer-events:none}
.service-card:nth-child(2) .service-card-visual>img{left:-133.924%}
.service-card:nth-child(3) .service-card-visual>img{left:-241.266%}
.service-card-panel{position:relative;display:flex;flex-direction:column;align-items:center;min-height:235px;margin-top:-14px;padding:18px 20px 24px;background:#f9e7e8;border-radius:22px 22px 0 0}
.services-rose .reference-services .service-card-top{margin:0 0 7px;min-height:48px}
.services-rose .reference-services .service-category-symbol{width:48px;height:48px;background:transparent;border-color:#c39aa3}
.services-rose .reference-services .service-card h3{display:flex;align-items:center;justify-content:center;width:100%;min-height:2.4em;margin:0;padding:0;font:400 clamp(24px,2.2vw,31px)/1.15 var(--serif);text-align:center;overflow-wrap:break-word}
.services-rose .reference-services .service-card-bottom{position:relative;display:flex;align-items:center;justify-content:center;gap:26px;width:100%;margin:12px 0 0;padding:18px 0 0;border:0;min-height:46px}
.services-rose .reference-services .service-card-bottom:before{content:'';position:absolute;top:0;left:calc(50% - 32px);width:64px;height:1px;background:#caa9ad}
.services-rose .reference-services .service-card-bottom strong{font:400 22px/1.3 var(--serif);color:#694852}
.services-rose .reference-services .service-card>p.sr-only{position:absolute;width:1px;height:1px;max-width:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.footer-reference .footer-main>:not(:last-child){border-right:1px solid #d7bfc4;padding-right:clamp(24px,3vw,40px)}
.footer-reference .footer-bottom{border-top:1px solid #d7bfc4}
.price-information{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;max-width:none;margin:42px 0 54px;padding:32px 0;border-top:1px solid #d7bfc4;border-bottom:1px solid #d7bfc4;align-items:stretch;justify-items:stretch;background:#fcf4f5}
.price-information>div{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;align-content:start;justify-items:stretch;gap:14px;width:auto;max-width:none;min-height:0;height:auto;aspect-ratio:auto;padding:10px 24px;border:0;border-radius:0;background:transparent;text-align:left}
.price-information>div+div{border-left:1px solid #dfcccf}
.price-information-icon{display:block;color:#87515d}
.price-information-icon>.ui-icon{width:28px;height:28px}
.price-information-copy{min-width:0}
.price-information h3{width:100%;margin:0 0 4px;text-align:left;font:600 16px/1.4 var(--serif);color:#332e2d}
.price-information p{width:100%;margin:0;text-align:left;font:400 14px/1.65 var(--sans);color:#332e2d}
@media(min-width:601px) and (max-width:999px){.services-rose .reference-services .service-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}.services-rose .reference-services .service-card:last-child{grid-column:1/-1;width:calc((100% - 24px)/2);justify-self:center}.services-rose .reference-services .service-card h3{font-size:26px}}
@media(max-width:1100px){.price-information{grid-template-columns:repeat(2,minmax(0,1fr))}.price-information>div:nth-child(3){border-left:0}.price-information>div:nth-child(n+3){border-top:1px solid #dfcccf;padding-top:22px;margin-top:12px}}
@media(max-width:700px){.footer-reference .footer-main>:not(:last-child){border-right:0;padding-right:0}.footer-reference .footer-main>nav{border-right:1px solid #d7bfc4;padding-right:20px}.footer-reference .footer-main>.footer-contact-clean{border-top:1px solid #d7bfc4;padding-top:26px}}
@media(max-width:600px){.services-rose .reference-services .service-overview{grid-template-columns:minmax(0,1fr);gap:26px;margin-top:30px;max-width:430px;margin-inline:auto}.services-rose .reference-services .service-card:last-child{grid-column:auto;width:100%}.services-tagline{gap:12px;font-size:18px}.services-tagline:before,.services-tagline:after{flex-basis:28px;width:28px}.service-card-panel{padding:18px 20px 24px;min-height:225px}.services-rose .reference-services .service-card h3{font-size:28px}.price-information{grid-template-columns:minmax(0,1fr);padding:10px 0;margin-block:30px 38px}.price-information>div{padding:20px;max-width:none;width:100%;aspect-ratio:auto}.price-information>div+div{border-left:0;border-top:1px solid #dfcccf}.price-information>div:nth-child(n+3){padding-top:20px;margin-top:0}.price-information h3{font-size:16px}.price-information p{font-size:14px}}
@media(max-width:430px){.footer-reference .footer-main>nav{border-right:0;padding-right:0}.footer-reference .footer-main>.footer-social{border-top:1px solid #d7bfc4;padding-top:26px}}

/* Original lotus outline blooms by changing petal curves, without turning or scaling petals. */
.lotus{display:block;flex-shrink:0;overflow:visible;color:#1e1e1f;pointer-events:auto}
.lotus .lotus-size{transform-origin:55px 45px;transform:scale(1.25)}
.lotus-awaiting .lotus-arrival{opacity:0}
.lotus-seen:not(.lotus-complete) .lotus-arrival{animation:lotus-arrive 1.5s cubic-bezier(.22,.61,.36,1) both}
@keyframes lotus-arrive{from{opacity:0}to{opacity:1}}
.lotus .lotus-petal>path{transition:stroke-width .65s ease}
@media(hover:hover) and (pointer:fine){.lotus:not(.lotus-static):hover .lotus-petal>path{stroke-width:1.38}}
.reference-services>h2:before,.reference-faq>h2:before,.pricing-hero h1:before{content:none;display:none}
.section-lotus{width:80px;height:66px;margin:0 auto 20px;opacity:.85}
.pricing-hero h1>.section-lotus{margin-bottom:22px}
.footer-reference .footer-seal>.lotus{width:36px;height:29.453125px;justify-self:center;margin:0;padding:0}
.hero-reference-copy .hero-brand-seal>.lotus{width:40px;height:32.727273px;justify-self:center;margin:0;padding:0;color:#000}
@media(max-width:700px){.section-lotus{width:68px;height:56px;margin-bottom:18px}.pricing-hero h1>.section-lotus{margin-bottom:18px}.footer-reference .footer-seal>.lotus{width:28px;height:22.909091px}.hero-reference-copy .hero-brand-seal>.lotus{width:35px;height:28.636364px}}
@media(max-height:500px) and (orientation:landscape){.hero-reference-copy .hero-brand-seal>.lotus{width:32px;height:26.181818px}}
.lotus-static .lotus-arrival{animation:none!important;opacity:1!important}
.lotus-static .lotus-petal>path{transition:none!important}
@media(prefers-reduced-motion:reduce){.lotus .lotus-arrival{animation:none!important;opacity:1!important}.lotus .lotus-petal>path{transition:none!important}}

/* Lock the lotus axis: only native SVG path curvature can move. */
.lotus{transform:none!important;rotate:none!important;scale:none!important;translate:none!important;perspective:none!important;transform-style:flat!important}
.lotus .lotus-size{animation:none!important;transform:scale(1.25)!important;rotate:none!important;scale:none!important;translate:none!important;perspective:none!important}
.lotus .lotus-petal,.lotus .lotus-breath,.lotus .lotus-petal>path{animation:none!important;transform:none!important;rotate:none!important;scale:none!important;translate:none!important;perspective:none!important}
.lotus .lotus-arrival{transform:none!important;rotate:none!important;scale:none!important;translate:none!important;perspective:none!important}
/* Smaller service captions, more image space and a fixed price baseline. */
.services-rose .service-card-visual{aspect-ratio:317/260}
.services-rose .service-card-visual>img{width:456.7823%;left:-44.7950%;top:-95%}
.services-rose .service-card:nth-child(2) .service-card-visual>img{left:-183.9117%}
.services-rose .service-card:nth-child(3) .service-card-visual>img{left:-312.9338%}
.services-rose .service-card-panel{display:grid;grid-template-rows:30px minmax(0,1fr) 34px;justify-items:center;align-items:center;gap:5px;height:156px;min-height:156px;padding:10px 16px 12px}
.services-rose .reference-services .service-card-top{min-height:30px;height:30px;margin:0}
.services-rose .reference-services .service-category-symbol{width:30px;height:30px}
.services-rose .reference-services .service-category-symbol .service-icon{width:18px;height:18px}
.services-rose .reference-services .service-card h3{font-size:24px;line-height:1.2;min-height:0;height:100%;margin:0}
.services-rose .reference-services .service-card-bottom{display:grid;grid-template-columns:auto 22px;align-items:center;justify-content:center;gap:20px;height:34px;min-height:34px;margin:0;padding:8px 0 0}
.services-rose .reference-services .service-card-bottom strong{font-size:18px;line-height:1.3;font-variant-numeric:tabular-nums;white-space:nowrap}
.services-rose .reference-services .service-card-arrow{width:22px;height:22px}
@media(max-width:360px){.services-rose .reference-services .service-card h3{font-size:22px}}
/* Shared vector action arrows: consistent on desktop and mobile, never emoji. */
.action-arrow{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;padding:0;border:1px solid #cda9b1;border-radius:50%;background:#fff9f9;color:#87515d;vertical-align:middle}
.action-arrow>.ui-icon{display:block;width:17px;height:17px;flex-shrink:0;transition:transform .2s ease}
.button>.action-arrow{background:#ffffff12;border-color:#ffffff70;color:inherit}
.services-rose .reference-services .service-card-arrow.action-arrow{width:28px;height:28px}
.services-rose .service-card-panel{grid-template-rows:30px minmax(0,1fr) 36px}
.services-rose .reference-services .service-card-bottom{grid-template-columns:auto 28px;height:36px;min-height:36px}
.price-catalogue .treatment-group li button,.detail-catalogue .treatment-group li button{grid-template-columns:minmax(0,1fr) 70px 28px;gap:18px;align-items:center}
.footer-reference .footer-contact-clean .footer-route{gap:12px}
@media(hover:hover){.service-card>a:hover .action-arrow>.ui-icon,.treatment-group li button:hover .action-arrow>.ui-icon,.text-link:hover .action-arrow>.ui-icon{transform:translateX(1.5px)}}
@media(max-width:600px){.price-catalogue .treatment-group li button,.detail-catalogue .treatment-group li button{grid-template-columns:minmax(0,1fr) 56px 28px;gap:10px}}
@media(prefers-reduced-motion:reduce){.action-arrow>.ui-icon{transition:none!important;transform:none!important}}

.booking-submit-area{display:grid;gap:14px;margin-top:20px;min-width:0}
.booking-submit{width:100%;min-height:52px;white-space:normal}
#booking-delivery-status{font:14px/1.6 Arial,sans-serif;color:#4d3f42;margin:0;overflow-wrap:anywhere}
.booking-submit:disabled{opacity:.65;cursor:wait}

/* Social links share one row in the desktop and phone menu. */
.overlay-socials{display:flex;align-items:center;gap:12px;margin-bottom:25px}.overlay-socials .overlay-instagram{margin:0}.footer-social .social-icons{flex-wrap:wrap}
@media(max-width:700px){.overlay-socials{justify-content:center;margin-bottom:0}}
