:root{--plum:#5d1c72;--deep:#26102f;--gold:#e6a625;--cream:#fffdf9;--lavender:#f5effa;--ink:#231b27;--muted:#6f6672;--shadow:0 16px 45px rgba(75,32,89,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:88px;display:flex;align-items:center;gap:34px;max-width:1180px;margin:auto;padding:0 24px;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:var(--plum);min-width:max-content}.brand-mark{display:grid;place-items:center;width:46px;height:54px;border:2px solid var(--gold);border-radius:50% 50% 48% 52%;font-family:Italiana,serif;font-size:26px;box-shadow:-10px 0 0 -3px var(--plum)}.brand strong{display:block;font-family:"Mrs Saint Delafield",cursive;font-size:32px;line-height:.8;font-weight:400}.brand small{font-size:8px;color:var(--plum);letter-spacing:.05em}.main-nav{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:14px}.main-nav a{padding:32px 0 9px;border-bottom:2px solid transparent}.main-nav a:hover,.main-nav .active{color:var(--plum);border-color:var(--plum)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 25px;border-radius:14px;background:linear-gradient(135deg,#77288f,var(--plum));color:#fff;font-size:14px;font-weight:600;box-shadow:0 8px 20px rgba(94,27,116,.25);transition:.25s transform,.25s box-shadow}.button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(94,27,116,.32)}.button-small{min-height:42px;padding:0 21px}.button-outline{background:transparent;border:1.5px solid var(--plum);color:var(--plum);box-shadow:none}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--plum);margin:5px}
.hero{min-height:560px;max-width:1180px;margin:auto;display:grid;grid-template-columns:.9fr 1.35fr;align-items:center;padding:0 24px 28px;position:relative}.hero-copy{padding:35px 0 20px;z-index:2}.eyebrow,.section-heading>p{text-transform:uppercase;letter-spacing:.24em;color:var(--plum);font-weight:600;font-size:13px;margin:0 0 28px}.eyebrow:after,.section-heading>p:after{content:"";display:block;width:60px;height:1px;background:var(--gold);margin-top:13px}.hero h1{font-family:Italiana,serif;color:var(--deep);font-size:63px;line-height:.96;font-weight:400;margin:0}.hero h1 span{display:block;font-family:"Mrs Saint Delafield",cursive;color:var(--gold);font-size:79px;line-height:1.08;white-space:nowrap}.hero-intro{max-width:420px;font-size:17px;margin:15px 0 28px}.button-row{display:flex;gap:14px;flex-wrap:wrap}.hero-photo{height:500px;border-radius:26px;background:url("assets/tatufacials-hero.png") 58% center/cover no-repeat;box-shadow:var(--shadow);position:relative}.hero-photo:after{content:"";position:absolute;inset:auto auto -24px -55px;width:240px;height:75px;border-radius:50%;border-top:2px solid var(--gold);transform:rotate(-5deg)}
.trust-strip{border-top:1px solid #eee6f2;border-bottom:1px solid #eee6f2;display:grid;grid-template-columns:repeat(4,1fr);max-width:1180px;margin:auto;padding:28px 0}.trust-strip article{text-align:center;padding:0 20px;border-right:1px solid #e6dfe9}.trust-strip article:last-child{border:0}.trust-strip span{font-family:Italiana,serif;color:var(--plum);font-size:35px}.trust-strip h3{font-family:Italiana,serif;font-size:16px;margin:3px 0}.trust-strip p{color:var(--muted);font-size:11px;margin:0}.section{max-width:1180px;margin:auto;padding:70px 24px}.section-heading{text-align:center;margin-bottom:34px}.section-heading>p{margin-bottom:15px}.section-heading>p:after{margin:12px auto}.section-heading h2{font-family:Italiana,serif;font-weight:400;margin:0;color:var(--deep);font-size:34px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden;text-align:center}.service-image{height:230px;background-image:url("assets/tatufacials-hero.png");background-size:760px auto}.crop-one{background-position:40% 35%}.crop-two{background-position:70% 45%;filter:saturate(.72)}.crop-three{background-position:100% 36%}.facial{background-position:15% 45%;filter:hue-rotate(15deg)}.service-body{padding:0 20px 20px;position:relative}.service-body>span{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;margin:-25px auto 10px;background:var(--plum);color:#fff;font-size:24px;border:3px solid #fff;position:relative}.service-body h3{font-family:Italiana,serif;font-size:21px;margin:0 0 5px}.service-body p{font-size:12px;color:var(--muted);min-height:56px;margin:0}.service-body a{font-size:12px;color:var(--plum);font-weight:700}
.about-wrap{display:grid;grid-template-columns:.9fr .85fr 1.15fr;gap:0;align-items:stretch}.care-panel{padding:34px;background:linear-gradient(135deg,#fbf9ff,#eee3f5);border-radius:18px 0 0 18px}.script-small{font-family:Italiana,serif;color:var(--plum);font-size:22px;margin:0 0 22px}.care-panel a{display:grid;grid-template-columns:48px 1fr 16px;align-items:center;gap:14px;padding:18px 0;border-top:1px solid #dfd1e6}.care-panel a>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:white;color:var(--plum);font-size:22px}.care-panel strong,.care-panel small{display:block}.care-panel small{font-size:10px;color:var(--muted);margin-top:3px}.care-panel b{color:var(--plum);font-size:28px}.about-copy{padding:34px;background:#fff}.script{font-family:"Mrs Saint Delafield",cursive;font-size:49px;line-height:1;color:var(--plum);margin:0 0 22px}.about-copy>p:not(.script){font-size:12px}.signature{font-family:"Mrs Saint Delafield",cursive;font-size:38px;color:var(--deep)}.founder-photo{width:100%;height:100%;min-height:355px;object-fit:cover;object-position:50% 52%;border-radius:0 18px 18px 0}
.testimonials{padding-top:35px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.testimonial-grid blockquote{margin:0;background:#fff;border-radius:18px;padding:27px;text-align:center;box-shadow:var(--shadow);font-size:13px}.testimonial-grid blockquote div{color:var(--gold);letter-spacing:.12em;font-size:18px}.testimonial-grid footer{color:var(--plum);font-weight:600;margin-top:17px}.cta-section{min-height:210px;display:grid;place-items:center;text-align:center;padding:30px 24px;background:linear-gradient(90deg,rgba(82,27,99,.84),rgba(54,20,67,.58)),url("assets/tatufacials-hero.png") center 45%/cover;color:#fff}.cta-section h2{font-family:Italiana,serif;font-weight:400;font-size:40px;margin:0}.cta-section h2 span{font-family:"Mrs Saint Delafield",cursive;color:#ffd268;font-size:54px}.cta-section p{margin:0 0 15px}.cta-section .button{background:#fff;color:var(--plum)}
.site-footer{max-width:1180px;margin:auto;padding:46px 24px 20px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:35px;font-size:11px}.site-footer h3{color:var(--plum);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.site-footer>div>a:not(.brand){display:block;margin:7px 0}.copyright{grid-column:1/-1;border-top:1px solid #e7e1e9;padding-top:16px;display:flex;justify-content:space-between}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:72px}.main-nav{position:absolute;top:72px;left:18px;right:18px;display:none;flex-direction:column;gap:0;background:white;padding:15px;border-radius:15px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.main-nav a{padding:12px;width:100%}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.hero{grid-template-columns:1fr;padding-top:25px}.hero-copy{text-align:center}.eyebrow:after{margin:13px auto 0}.hero-intro{margin-left:auto;margin-right:auto}.button-row{justify-content:center}.hero h1{font-size:50px}.hero h1 span{font-size:63px}.hero-photo{height:420px;margin-top:20px;background-position:56% center}.service-grid{grid-template-columns:repeat(2,1fr)}.about-wrap{grid-template-columns:1fr 1fr}.care-panel{border-radius:18px 0 0 18px}.about-copy{border-radius:0 18px 18px 0}.founder-photo{grid-column:1/-1;height:430px;border-radius:18px;margin-top:18px}.site-footer{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.brand strong{font-size:28px}.hero{padding-left:18px;padding-right:18px}.hero h1{font-size:41px}.hero h1 span{font-size:53px;white-space:normal}.hero-photo{height:340px}.button-row .button{width:100%}.trust-strip{grid-template-columns:repeat(2,1fr)}.trust-strip article{border-bottom:1px solid #e6dfe9;padding:18px 8px}.service-grid,.testimonial-grid,.about-wrap{grid-template-columns:1fr}.service-image{height:260px}.care-panel,.about-copy,.founder-photo{border-radius:18px}.founder-photo{grid-column:auto;height:390px}.section{padding:55px 18px}.cta-section h2{font-size:30px}.cta-section h2 span{font-size:42px;display:block}.site-footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.copyright{display:block}.copyright span{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button{transition:none}}

/* Reference-aligned visual overrides */
.brand-logo{display:block;width:190px;height:62px;background:url("assets/design-reference.png") 4.6% .4%/481% auto no-repeat}.button{gap:9px}.button svg{width:17px;height:17px}.hero-photo{background-color:#f5ecf5;background-image:url("assets/design-reference.png");background-size:194% auto;background-position:92.5% 5.4%;background-repeat:no-repeat}.trust-strip span{display:block;font-size:0}.trust-strip span svg{width:38px;height:38px;stroke-width:1.35}.service-image{background-image:url("assets/design-reference.png");background-size:450% auto;background-repeat:no-repeat;filter:none}.crop-one{background-position:4.2% 42.9%}.crop-two{background-position:34.8% 42.9%}.crop-three{background-position:65.2% 42.9%}.facial{background-position:95.5% 42.9%}.service-body>span{font-size:0}.service-body>span svg{width:24px;height:24px;stroke-width:1.5}.care-panel a>span svg{width:23px;height:23px;stroke-width:1.5}.founder-photo{background:url("assets/design-reference.png") 100% 65%/392% auto no-repeat}.cta-section{background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(250,245,253,.88)),url("assets/design-reference.png") center 86%/cover;color:var(--deep)}.cta-section .button{background:var(--plum);color:#fff}
@media(max-width:900px){.hero-photo{background-position:92.5% 5.4%}.founder-photo{background-position:center 24%}}
@media(max-width:600px){.brand-logo{width:165px;height:54px}.hero-photo{background-size:194% auto}.founder-photo{background-size:cover}}

.founder-photo{position:relative;overflow:hidden;background:none}.founder-photo:before{content:"";position:absolute;inset:0;background:url("assets/about-gail.png") center 28%/cover no-repeat;transform:scaleX(-1)}

/* Hero-to-benefits alignment */
.hero{min-height:510px;grid-template-columns:.9fr 1.3fr;align-items:end;padding-bottom:0}.hero-copy{align-self:center;padding:18px 16px 0 0}.hero h1{font-size:58px}.hero h1 span{font-family:Allura,cursive;font-size:68px;line-height:.9;margin:4px 0 19px}.hero-intro{font-size:15px;margin:0 0 26px;max-width:390px}.hero-photo{height:510px;border-radius:22px 22px 0 0;box-shadow:none;background-image:linear-gradient(90deg,var(--cream) 0,rgba(255,253,249,.9) 4%,rgba(255,253,249,0) 15%),url("assets/design-reference.png");background-size:100% 100%,194% auto;background-position:left top,92.5% 5.4%;background-repeat:no-repeat}.hero-photo:after{bottom:-1px}.hero .button{min-height:44px;padding:0 14px;font-size:11.5px;border-radius:14px;white-space:nowrap;flex-shrink:0}.button-row{flex-wrap:nowrap;gap:10px}.trust-strip{position:relative;z-index:2;background:rgba(255,255,255,.96);padding:27px 0 22px;border-top:1px solid #eee7f1;margin-top:0}.trust-strip article{padding:0 20px}.trust-strip span{width:52px;height:52px;margin:0 auto 3px;background-image:url("assets/design-reference.png");background-size:913px 1723px;background-repeat:no-repeat}.trust-strip span svg{display:none}.trust-strip article:nth-child(1) span{background-position:-153px -504px}.trust-strip article:nth-child(2) span{background-position:-344px -504px}.trust-strip article:nth-child(3) span{background-position:-526px -504px}.trust-strip article:nth-child(4) span{background-position:-711px -504px}.trust-strip h3{font-size:15px;margin:0}.trust-strip p{font-size:10px}
@media(max-width:900px){.hero{grid-template-columns:1fr;align-items:initial;padding-bottom:0}.hero-copy{padding:25px 0 30px}.hero-photo{height:430px;border-radius:20px 20px 0 0;background-position:left top,92.5% 5.4%}.hero-intro{margin-left:auto;margin-right:auto}.button-row{flex-wrap:wrap;justify-content:center}.trust-strip{margin-top:0}}
@media(max-width:600px){.hero h1{font-size:43px}.hero h1 span{font-size:55px}.hero-photo{height:345px}.hero .button{width:100%}.trust-strip span{transform:scale(.9)}}

.service-image.crop-one{background-image:url("assets/service-women.png");background-size:cover;background-position:center;background-repeat:no-repeat}

/* Reference-matched CTA and footer */
.cta-section{position:relative;isolation:isolate;min-height:150px;overflow:hidden;padding:20px 24px;background:linear-gradient(90deg,#fff 0,#fff 28%,#fdfaff 63%,#f7effc 100%);color:var(--deep)}.cta-section:before{content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:32%;background:url("assets/footer-cta-photo.png") center right/cover no-repeat}.cta-section:after{content:"";position:absolute;z-index:-1;right:3%;bottom:-38px;width:125px;height:125px;border:18px double rgba(111,43,137,.06);border-radius:55% 45% 55% 45%;transform:rotate(35deg)}.cta-section>div{margin-left:20%;position:relative}.cta-section h2{font-size:34px;line-height:1;margin:0}.cta-section h2 span{font-family:Allura,cursive;font-size:46px}.cta-section p{font-size:12px;margin:5px 0 9px}.cta-section .button{min-height:38px;padding:0 20px;font-size:11px;border-radius:11px}
.site-footer{max-width:1100px;padding:28px 24px 10px;grid-template-columns:1.35fr repeat(4,1fr);gap:34px;font-size:9px}.site-footer .brand-logo{width:180px;height:62px}.site-footer h3{font-size:8px;margin:0 0 10px}.site-footer>div>a:not(.brand){margin:5px 0}.footer-connect a,.footer-connect p{display:flex!important;align-items:center;gap:7px;margin:5px 0}.footer-connect svg{width:12px;height:12px;color:var(--plum);stroke-width:1.8}.footer-social>div{display:flex;gap:10px}.footer-social a{display:grid;place-items:center;width:29px;height:29px;border:1px solid #b98bc8;border-radius:50%;color:var(--plum);font-size:15px;font-weight:600}.footer-social svg{width:14px;height:14px}.copyright{padding-top:9px;margin-top:6px;font-size:8px}
@media(max-width:900px){.cta-section:before{width:38%;opacity:.45}.cta-section>div{margin-left:25%}.site-footer{grid-template-columns:repeat(3,1fr)}.footer-brand{grid-column:1/-1}}
@media(max-width:600px){.cta-section{min-height:210px}.cta-section:before{width:100%;opacity:.18}.cta-section>div{margin-left:0}.cta-section h2{font-size:29px}.cta-section h2 span{font-size:40px}.site-footer{grid-template-columns:1fr 1fr;gap:25px}.footer-brand{grid-column:1/-1}.copyright{grid-column:1/-1}}

/* Soft review field and content-width closing banner */
.testimonials{position:relative;overflow:hidden;background:radial-gradient(circle at 18% 28%,rgba(223,204,239,.34),transparent 34%),radial-gradient(circle at 80% 72%,rgba(235,220,246,.45),transparent 38%),linear-gradient(180deg,#fff 0,#fbf7fe 24%,#f8f2fc 100%)}.testimonials:before,.testimonials:after{content:"";position:absolute;z-index:0;width:150px;height:250px;border:18px double rgba(108,39,132,.045);border-radius:80% 20% 75% 25%;transform:rotate(32deg)}.testimonials:before{left:-75px;top:85px}.testimonials:after{right:-70px;bottom:-70px;transform:rotate(-28deg)}.testimonials>*{position:relative;z-index:1}.cta-section{max-width:1180px;margin-left:auto;margin-right:auto}.cta-section:before{width:42%;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 64%,rgba(0,0,0,.82) 75%,rgba(0,0,0,.35) 89%,transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 64%,rgba(0,0,0,.82) 75%,rgba(0,0,0,.35) 89%,transparent 100%)}
@media(max-width:900px){.cta-section:before{width:50%}}
@media(max-width:600px){.cta-section:before{width:100%;-webkit-mask-image:linear-gradient(90deg,#000,transparent);mask-image:linear-gradient(90deg,#000,transparent)}}

/* Booksy booking choices */
.booking-intro{margin:-10px 0 15px;color:var(--muted);font-size:11px;line-height:1.5}
.care-panel .booking-option{margin:8px 0;padding:14px 13px;border:1px solid #dfd1e6;border-radius:13px;background:rgba(255,255,255,.72);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.care-panel .booking-option:hover,.care-panel .booking-option:focus-visible{transform:translateY(-2px);border-color:var(--plum);box-shadow:0 8px 18px rgba(94,27,116,.1);outline:none}
.care-panel .booking-option+ .booking-option{border-top:1px solid #dfd1e6}
.booking-note{display:block;margin:10px 3px 14px;color:var(--muted);font-size:9px;line-height:1.45}
.booking-policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.booking-policy-grid article{display:flex;align-items:flex-start;gap:11px;padding:15px;border:1px solid #e5d9e8;border-radius:14px;background:#faf6fb}.booking-policy-grid article>svg{flex:0 0 auto;width:20px;height:20px;margin-top:1px;color:var(--plum);stroke-width:1.6}.booking-policy-grid strong{display:block;color:var(--deep);font-size:11px}.booking-policy-grid p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.5}

.testimonial-grid blockquote p{line-height:1.65}
.testimonial-grid blockquote footer span{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-weight:500;text-transform:uppercase;letter-spacing:.08em}.more-reviews{position:relative;z-index:1;max-width:1080px;margin:22px auto 0}.more-reviews>summary{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;margin:auto;padding:10px 17px;border:1px solid #d9c7df;border-radius:999px;background:#fff;color:var(--plum);font-size:11px;font-weight:700;cursor:pointer;list-style:none}.more-reviews>summary::-webkit-details-marker{display:none}.more-reviews>summary:after{content:"+";font-size:18px;line-height:1}.more-reviews[open]>summary:after{content:"−"}.more-reviews>summary span{padding:2px 7px;border-radius:999px;background:#f3eaf6;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.testimonial-grid-more{margin-top:20px}.testimonial-grid-more blockquote{padding:23px;font-size:12px}

/* Gail biography */
.booking-shell{padding-top:58px;padding-bottom:36px}.booking-shell .care-panel{max-width:760px;margin:auto;border-radius:22px;padding:34px 40px;box-shadow:var(--shadow)}.booking-shell .script-small{font-size:28px}
.about-section{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:70px;align-items:center;padding-top:60px;padding-bottom:85px}.about-portrait{position:relative;align-self:stretch;min-height:650px}.about-portrait:before{content:"";position:absolute;inset:24px -18px -18px 24px;border:1px solid rgba(181,139,48,.45);border-radius:180px 180px 28px 28px}.about-portrait img{position:relative;width:100%;height:100%;min-height:650px;object-fit:cover;object-position:58% center;border-radius:180px 180px 28px 28px;box-shadow:var(--shadow)}.experience-seal{position:absolute;right:-35px;bottom:35px;width:128px;height:128px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--plum);color:#fff;border:5px solid var(--cream);box-shadow:0 14px 30px rgba(69,24,82,.28)}.experience-seal strong{font-family:Italiana,serif;color:#ffd268;font-size:38px;line-height:1}.experience-seal span{text-transform:uppercase;letter-spacing:.12em;font-size:8px;line-height:1.5;margin-top:6px}
.about-kicker{margin:0 0 9px;color:var(--plum);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.2em}.about-story h2{margin:0;color:var(--deep);font:400 48px/1.05 Italiana,serif}.about-story h2 span{color:var(--gold);white-space:nowrap}.about-mantra{margin:12px 0 22px;color:var(--plum);font:400 30px/1.1 Allura,cursive}.about-story>p:not(.about-kicker):not(.about-mantra){font-size:13px;color:var(--muted);margin:0 0 14px}.about-credentials{display:grid;grid-template-columns:repeat(3,1fr);margin:27px 0;border-block:1px solid #e5dbe8}.about-credentials div{padding:17px 13px;text-align:center}.about-credentials div+div{border-left:1px solid #e5dbe8}.about-credentials strong,.about-credentials span{display:block}.about-credentials strong{color:var(--plum);font-family:Italiana,serif;font-size:19px}.about-credentials span{margin-top:3px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.1em}
.specialties h3{margin:0 0 12px;color:var(--deep);font:400 20px Italiana,serif}.specialties ul{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:0;padding:0}.specialties li{padding:7px 11px;border:1px solid #e2d5e7;border-radius:999px;background:#fff;color:var(--plum);font-size:9px;font-weight:600}.about-quote{margin:25px 0 20px;padding:3px 0 3px 18px;border-left:2px solid var(--gold);color:var(--deep);font:400 19px/1.45 Italiana,serif}.about-quote strong{color:var(--plum);font-weight:400;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:900px){.about-section{grid-template-columns:.8fr 1.2fr;gap:38px}.about-portrait,.about-portrait img{min-height:610px}.experience-seal{right:-20px}.about-story h2{font-size:39px}.about-credentials{grid-template-columns:1fr}.about-credentials div+div{border-left:0;border-top:1px solid #e5dbe8}.about-credentials div{padding:10px}}
@media(max-width:600px){.booking-shell{padding:45px 18px 20px}.booking-shell .care-panel{padding:27px 20px}.about-section{grid-template-columns:1fr;gap:45px;padding-top:42px}.about-portrait{min-height:480px;margin-right:12px}.about-portrait img{min-height:480px;border-radius:120px 120px 24px 24px}.about-portrait:before{border-radius:120px 120px 24px 24px}.experience-seal{right:-15px;bottom:20px;width:108px;height:108px}.experience-seal strong{font-size:31px}.about-story h2{font-size:37px}.about-mantra{font-size:27px}.about-credentials{grid-template-columns:repeat(3,1fr)}.about-credentials div+div{border-top:0;border-left:1px solid #e5dbe8}.about-credentials strong{font-size:14px}.about-credentials span{font-size:6px}.about-story .button{width:100%}}
@media(max-width:600px){.booking-policy-grid{grid-template-columns:1fr}.more-reviews>summary{width:100%;flex-wrap:wrap}.testimonial-grid-more{grid-template-columns:1fr}}

.about-portrait img{object-position:center}

.service-heading{max-width:780px;margin-left:auto;margin-right:auto}.service-heading>p:first-child:after{margin-left:auto;margin-right:auto}.service-heading .section-intro{max-width:680px;margin:14px auto 30px;color:var(--muted);font-size:13px;line-height:1.65;text-transform:none;letter-spacing:0;font-weight:400}.service-heading .section-intro:after{display:none}

/* Service detail panels */
.service-body .service-explore{appearance:none;border:0;background:none;padding:2px 0;color:var(--plum);font:700 12px "DM Sans",sans-serif;cursor:pointer}.service-body .service-explore:hover,.service-body .service-explore:focus-visible{text-decoration:underline;text-underline-offset:4px}.service-dialog{width:min(680px,calc(100% - 32px));max-height:calc(100vh - 40px);padding:42px;border:0;border-radius:24px;background:#fffdfb;color:var(--ink);box-shadow:0 28px 90px rgba(45,15,54,.3);overflow:auto}.service-dialog::backdrop{background:rgba(35,16,40,.68);backdrop-filter:blur(5px)}.service-dialog form{position:absolute;top:14px;right:16px}.dialog-close{width:38px;height:38px;border:0;border-radius:50%;background:#f2e9f5;color:var(--plum);font-size:27px;line-height:1;cursor:pointer}.dialog-close:hover,.dialog-close:focus-visible{background:var(--plum);color:#fff}.dialog-kicker{margin:0 0 8px;color:var(--plum);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2em}.service-dialog h2{margin:0 45px 15px 0;color:var(--deep);font:400 38px/1.1 Italiana,serif}.service-dialog h3{margin:25px 0 11px;color:var(--deep);font:400 19px Italiana,serif}.service-dialog>p:not(.dialog-kicker){color:var(--muted);font-size:13px;line-height:1.7}.service-dialog .dialog-lead{color:var(--ink);font-size:15px}.dialog-callout{display:grid;grid-template-columns:120px 1fr;gap:15px;margin:22px 0;padding:17px 19px;border-radius:14px;background:#f7f0f8}.dialog-callout strong{color:var(--plum);font-family:Italiana,serif}.dialog-callout span{color:var(--muted);font-size:11px;line-height:1.5}.dialog-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 28px;padding:0}.dialog-tags li{padding:7px 11px;border:1px solid #e2d5e7;border-radius:999px;color:var(--plum);font-size:10px;font-weight:600}.service-dialog .button{min-height:43px;font-size:12px}body.dialog-open{overflow:hidden}@media(max-width:600px){.service-dialog{padding:35px 22px 27px;border-radius:20px}.service-dialog h2{font-size:31px}.dialog-callout{grid-template-columns:1fr;gap:5px}.service-dialog .button{width:100%}}

/* CSV-powered treatment menu */
.treatments-section{max-width:none;padding-left:max(24px,calc((100% - 1132px)/2));padding-right:max(24px,calc((100% - 1132px)/2));background:linear-gradient(180deg,var(--cream) 0,#fcf9fc 8%,#f9f3f9 22%,#f8f1f8 38%,#fffdf9 100%)}.treatments-section .section-heading{max-width:760px;margin-left:auto;margin-right:auto}.treatments-intro{max-width:660px;margin:14px auto 0!important;color:var(--muted)!important;font-size:13px!important;line-height:1.65;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}.treatments-intro:after{display:none!important}.treatment-filters{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:0 0 34px}.treatment-filter{border:1px solid #dfd1e6;border-radius:999px;padding:9px 15px;background:#fff;color:var(--plum);font:600 11px "DM Sans",sans-serif;cursor:pointer}.treatment-filter:hover,.treatment-filter:focus-visible,.treatment-filter.active{border-color:var(--plum);background:var(--plum);color:#fff}.treatment-category{max-width:1080px;margin:0 auto 42px}.treatment-category[hidden]{display:none}.treatment-category h3{margin:0 0 14px;color:var(--deep);font:400 26px Italiana,serif}.treatment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.treatment-card{display:grid;grid-template-columns:1fr auto;gap:9px 20px;padding:21px 22px;border:1px solid #eadfec;border-radius:16px;background:rgba(255,255,255,.9);box-shadow:0 7px 20px rgba(72,28,84,.06)}.treatment-card h4{margin:0;color:var(--deep);font:400 17px Italiana,serif}.treatment-price{color:var(--plum);font-weight:700;font-size:15px}.treatment-meta{margin:0;color:var(--gold);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.treatment-description{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px;line-height:1.55}.treatment-book{grid-column:1/-1;justify-self:start;margin-top:3px;color:var(--plum);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.treatment-book:hover{text-decoration:underline;text-underline-offset:4px}.treatments-note,.treatments-loading,.treatments-error{text-align:center;color:var(--muted);font-size:10px}.treatments-error a{color:var(--plum);font-weight:700}@media(max-width:700px){.treatments-section{padding-left:18px;padding-right:18px}.treatment-grid{grid-template-columns:1fr}.treatment-category h3{text-align:center}.treatment-card{padding:19px 18px}.treatment-filter{font-size:10px;padding:8px 12px}}

.treatment-results{max-width:980px;margin:auto}.treatment-category{margin:0 0 12px;border:1px solid #e4d7e7;border-radius:17px;background:rgba(255,255,255,.82);overflow:hidden;box-shadow:0 6px 18px rgba(72,28,84,.04)}.treatment-category-summary{display:grid;grid-template-columns:1fr auto 22px;align-items:center;gap:14px;padding:19px 22px;list-style:none;cursor:pointer}.treatment-category-summary::-webkit-details-marker{display:none}.treatment-category-summary:after{content:"+";color:var(--plum);font-size:24px;font-weight:300;line-height:1;text-align:center}.treatment-category[open] .treatment-category-summary:after{content:"−"}.treatment-category-summary:hover,.treatment-category-summary:focus-visible{background:#f8f1f8;outline:none}.treatment-category .treatment-category-summary h3{margin:0;text-align:left;font-size:22px}.treatment-count{color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.treatment-category .treatment-grid{padding:4px 18px 18px;border-top:1px solid #eee4f0}.treatments-note{margin-top:23px}@media(max-width:700px){.treatment-category-summary{padding:17px 16px;gap:8px}.treatment-category .treatment-category-summary h3{font-size:18px}.treatment-count{font-size:8px}.treatment-category .treatment-grid{padding:4px 10px 12px}}

/* Blend the treatment field into the open space beneath the service cards. */
.treatments-section{position:relative;background:linear-gradient(180deg,#f8f1f8 0,#faf5fa 38%,var(--cream) 100%)}
.treatments-section:before{content:"";position:absolute;z-index:0;left:0;right:0;top:-72px;height:73px;background:linear-gradient(180deg,rgba(248,241,248,0) 0,rgba(248,241,248,.28) 35%,rgba(248,241,248,.72) 72%,#f8f1f8 100%);pointer-events:none}

/* One continuous field across the service and treatment sections. */
#services.section{max-width:none;background:linear-gradient(180deg,var(--cream) 0,var(--cream) 78%,#fcf9fc 86%,#faf5fa 93%,#f8f1f8 100%)}
#services .service-grid{max-width:1132px;margin-left:auto;margin-right:auto}
.treatments-section{background:linear-gradient(180deg,#f8f1f8 0,#faf5fa 38%,var(--cream) 100%)}
.treatments-section:before{display:none}

/* Soften the review-to-closing-banner edge, including the portrait. */
.cta-top-fade{position:absolute;z-index:0;top:0;left:0;right:0;height:58px;background:linear-gradient(180deg,#f8f2fc 0,rgba(248,242,252,.88) 22%,rgba(248,242,252,.46) 58%,rgba(248,242,252,0) 100%);pointer-events:none}
.cta-bottom-fade{position:absolute;z-index:0;left:0;right:0;bottom:0;height:42px;background:linear-gradient(0deg,var(--cream) 0,rgba(255,253,249,.82) 24%,rgba(255,253,249,.36) 62%,rgba(255,253,249,0) 100%);pointer-events:none}
.cta-section>div{z-index:1}

/* Blend the cropped logo into the tinted legal-page header. */
.legal-header .brand-logo{mix-blend-mode:multiply}
.legal-kicker{text-transform:none}

/* Pomp skincare storefront */
.hero-actions{display:flex;width:max-content;max-width:100%;flex-direction:column}.hero-actions .hero-shop{display:grid;width:100%}
.hero-shop{position:relative;overflow:hidden}.hero-shop:before,.hero-shop:after{content:"";position:absolute;pointer-events:none;border-radius:50%}.hero-shop:before{width:88px;height:88px;right:-43px;top:-45px;border:1px solid rgba(112,31,132,.18);box-shadow:0 0 0 10px rgba(242,194,76,.08),0 0 0 20px rgba(112,31,132,.035)}.hero-shop:after{width:28px;height:28px;right:18px;bottom:-18px;background:radial-gradient(circle,rgba(242,194,76,.25),rgba(242,194,76,0) 70%)}.hero-shop-icon,.hero-shop-copy,.hero-shop-arrow{position:relative;z-index:1}
.hero-shop-copy small{text-transform:none!important}
.hero-shop{display:inline-grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:11px;width:285px;min-height:62px;margin-top:14px;padding:8px 13px 8px 9px;border:1px solid rgba(199,139,20,.52);border-radius:16px;background:linear-gradient(120deg,rgba(255,255,255,.96),rgba(255,248,225,.98));color:var(--deep);box-shadow:0 9px 24px rgba(94,57,11,.1);text-align:left;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.hero-shop-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#f4c95d,#dda01f);box-shadow:inset 0 1px rgba(255,255,255,.55);color:var(--deep)}.hero-shop-icon svg{width:19px;height:19px;stroke-width:1.7}.hero-shop-copy{display:block;line-height:1.15}.hero-shop-copy small,.hero-shop-copy strong{display:block}.hero-shop-copy small{margin-bottom:5px;color:#8a6a2b;font-size:7.5px;font-weight:700;text-transform:uppercase;letter-spacing:.11em}.hero-shop-copy strong{color:var(--plum);font:400 17px Italiana,serif}.hero-shop-arrow{width:17px;height:17px;color:var(--plum);stroke-width:1.7;transition:transform .22s ease}.hero-shop:hover,.hero-shop:focus-visible{transform:translateY(-2px);border-color:#c88d16;box-shadow:0 13px 28px rgba(94,57,11,.16);outline:none}.hero-shop:hover .hero-shop-arrow,.hero-shop:focus-visible .hero-shop-arrow{transform:translate(2px,-2px)}@media(max-width:900px){.hero-shop{margin-left:auto;margin-right:auto}}@media(max-width:600px){.hero-shop{width:100%;max-width:360px}}

/* Privacy policy and terms pages */
.legal-page{min-height:100vh;background:radial-gradient(circle at 85% 8%,rgba(225,205,238,.5),transparent 28%),linear-gradient(180deg,var(--cream),#faf5fb 55%,var(--cream))}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1000px;margin:auto;padding:18px 24px}.legal-header .button{min-height:40px;padding:0 18px;font-size:11px}.legal-main{max-width:900px;margin:20px auto 70px;padding:50px 60px;border:1px solid #e8ddea;border-radius:24px;background:rgba(255,255,255,.94);box-shadow:var(--shadow)}.legal-kicker{margin:0 0 8px;color:var(--plum);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2em}.legal-main h1{margin:0;color:var(--deep);font:400 48px/1.1 Italiana,serif}.legal-updated{margin:10px 0 30px;color:var(--muted);font-size:11px}.legal-notice{margin:0 0 30px;padding:16px 18px;border-left:3px solid var(--gold);border-radius:0 12px 12px 0;background:#fbf6fc;color:var(--muted);font-size:11px;line-height:1.65}.legal-main h2{margin:29px 0 9px;color:var(--deep);font:400 23px Italiana,serif}.legal-main p,.legal-main li{color:var(--muted);font-size:12px;line-height:1.75}.legal-main ul{padding-left:20px}.legal-main a{color:var(--plum);font-weight:700;text-decoration:underline;text-underline-offset:3px}.legal-contact{margin-top:32px;padding:20px;border:1px solid #e6d9e9;border-radius:15px;background:#fdfafd}.legal-footer{text-align:center;padding:0 24px 28px;color:var(--muted);font-size:9px}.legal-footer a{color:var(--plum)}@media(max-width:700px){.legal-header{padding:12px 18px}.legal-header .brand-logo{width:150px;height:50px}.legal-header .button{padding:0 13px}.legal-main{margin:8px 14px 45px;padding:34px 22px;border-radius:19px}.legal-main h1{font-size:38px}}

/* Featured wellness add-on */
.wellness-addon{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;max-width:1080px;margin:28px auto;padding:24px 28px;border:1px solid rgba(230,166,37,.4);border-radius:22px;background:radial-gradient(circle at 8% 15%,rgba(230,166,37,.16),transparent 27%),linear-gradient(120deg,#291032 0,#511762 58%,#682179 100%);color:#fff;box-shadow:0 16px 40px rgba(54,20,67,.16);overflow:hidden}.wellness-addon:after{content:"";position:absolute;right:17%;bottom:-70px;width:150px;height:150px;border:22px double rgba(255,255,255,.045);border-radius:50%;pointer-events:none}.wellness-addon-mark{position:relative;z-index:1;display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(255,210,104,.55);border-radius:18px;background:rgba(255,255,255,.08);color:#ffd268}.wellness-addon-mark svg{width:30px;height:30px;stroke-width:1.5}.wellness-addon-copy{position:relative;z-index:1}.wellness-addon-copy p{margin:0 0 4px;color:#ffd268;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.2em}.wellness-addon-copy h2{margin:0 0 4px;font:400 26px/1.2 Italiana,serif}.wellness-addon-copy span{display:block;max-width:590px;color:rgba(255,255,255,.78);font-size:11px;line-height:1.55}.wellness-addon-link{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid rgba(255,255,255,.42);border-radius:12px;background:#fff;color:var(--plum);font-size:11px;font-weight:700;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease}.wellness-addon-link:hover,.wellness-addon-link:focus-visible{transform:translateY(-2px);box-shadow:0 9px 20px rgba(0,0,0,.2);outline:none}.wellness-addon-link svg{width:16px;height:16px}
@media(max-width:900px){.wellness-addon{margin:24px;grid-template-columns:auto 1fr}.wellness-addon-link{grid-column:2;justify-self:start}}
@media(max-width:600px){.wellness-addon{grid-template-columns:1fr;margin:18px;padding:25px 22px;text-align:center}.wellness-addon-mark{margin:auto}.wellness-addon-copy h2{font-size:24px}.wellness-addon-link{grid-column:1;width:100%;margin-top:3px}}

/* Supplied men’s skincare portrait; prior variants remain available for rollback. */
.service-image.crop-two{background-color:#ddd9e4;background-image:url("assets/service-men-model.png");background-size:cover;background-position:center 21%}

/* Shareable Tatufacials QR code */
.footer-share{display:flex;align-items:center;gap:6px;margin:5px 0;padding:0;border:0;background:none;color:var(--ink);font:inherit;cursor:pointer}.footer-share:hover,.footer-share:focus-visible{color:var(--plum);text-decoration:underline;text-underline-offset:3px}.footer-share svg{width:12px;height:12px;color:var(--plum)}.share-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100vh - 32px);padding:38px;border:0;border-radius:24px;background:#fffdfb;color:var(--ink);text-align:center;box-shadow:0 28px 90px rgba(45,15,54,.32);overflow:auto}.share-dialog::backdrop{background:rgba(35,16,40,.7);backdrop-filter:blur(5px)}.share-dialog form{position:absolute;top:13px;right:15px}.share-dialog-close{width:38px;height:38px;border:0;border-radius:50%;background:#f2e9f5;color:var(--plum);font-size:27px;line-height:1;cursor:pointer}.share-dialog-close:hover,.share-dialog-close:focus-visible{background:var(--plum);color:#fff}.share-dialog-kicker{margin:0 0 7px!important;color:var(--plum)!important;font-size:9px!important;font-weight:700;text-transform:uppercase;letter-spacing:.18em}.share-dialog h2{margin:0;color:var(--deep);font:400 34px/1.15 Italiana,serif}.share-dialog>p:not(.share-dialog-kicker):not(.share-status){max-width:380px;margin:9px auto 18px;color:var(--muted);font-size:11px;line-height:1.55}.share-qr{width:256px;height:256px;margin:0 auto 12px;padding:18px;border:1px solid #e1d4e5;border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(76,28,89,.08)}.share-qr canvas,.share-qr img{display:block!important;width:100%!important;height:100%!important}.share-url{display:inline-flex;align-items:center;gap:5px;color:var(--plum);font-size:11px;font-weight:700}.share-url svg{width:14px;height:14px}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.share-actions .button{min-height:44px;padding:0 14px;border:0;cursor:pointer}.share-actions .button-outline{border:1.5px solid var(--plum)}.share-status{min-height:16px;margin:11px 0 0;color:var(--plum);font-size:9px}@media(max-width:600px){.share-dialog{padding:34px 20px 24px}.share-qr{width:230px;height:230px}.share-actions{grid-template-columns:1fr}}
.share-fab{position:fixed;z-index:40;right:24px;bottom:24px;display:flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border:2px solid rgba(255,210,104,.8);border-radius:999px;background:linear-gradient(135deg,#77288f,var(--plum));color:#fff;font:700 12px "DM Sans",sans-serif;box-shadow:0 12px 30px rgba(68,20,82,.32);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.share-fab:hover,.share-fab:focus-visible{transform:translateY(-3px);box-shadow:0 16px 35px rgba(68,20,82,.4);outline:none}.share-fab svg{width:19px;height:19px}@media(max-width:600px){.share-fab{right:15px;bottom:15px;min-height:44px;padding:0 15px}.share-fab span{font-size:11px}}
