@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

:root {
  --paper: #f4efec;
  --ink: #2b1e20;
  --cocoa: #392427;
  --rose: #c77f91;
  --rose-light: #e8b5bd;
  --petal: #f2dadd;
  --silver: #b9b5b7;
  --line: rgba(57, 36, 39, .18);
  --soft-line: rgba(57, 36, 39, .09);
  --white: #fdfaf8;
  --text: #392427;
  --text-soft: #69575a;
  --text-muted: #88777a;
  --blush: #f4efec;
  --blush-deep: #eddbde;
  --pink-soft: #e8b5bd;
  --pink-mid: #d99cab;
  --rose-deep: #a45a6d;
  --gold: #bda39a;
  --border: var(--line);
  --shadow: 0 24px 50px rgba(57, 36, 39, .12);
  --shadow-soft: 0 10px 30px rgba(57, 36, 39, .06);
  --radius: 2px;
  --radius-sm: 1px;
  --header-h: 76px;
  --max: 1240px;
  --font-display: "Playfair Display", Georgia, serif;
  --font-body: "Manrope", sans-serif;
  --font-script: "Playfair Display", Georgia, serif;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { min-height: 100vh; background: var(--paper); color: var(--text); font: 400 15px/1.7 var(--font-body); }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.16; z-index:20; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.23'/%3E%3C/svg%3E"); }
img { max-width:100%; height:auto; display:block; } ul { list-style:none; } a { color:inherit; text-underline-offset:4px; } a:focus-visible, button:focus-visible { outline:2px solid var(--rose-deep); outline-offset:4px; }
.container { width:min(100% - 2.5rem, var(--max)); margin:auto; }
.mockup-banner { background:var(--cocoa); color:var(--petal); font:500 10px/1.4 var(--font-body); letter-spacing:.13em; text-align:center; padding:.55rem 1rem; text-transform:uppercase; }
.section { padding:6rem 0; }.section--alt { background:var(--white); }.section--blush { background:var(--petal); }
.section__header { max-width:650px; margin-bottom:3rem; }.section__eyebrow,.hero__badge { color:var(--rose-deep); font:500 10px/1.3 var(--font-body); letter-spacing:.18em; text-transform:uppercase; }.section__eyebrow { margin-bottom:1.15rem; }
.section__title { font:500 clamp(2.5rem,5vw,4.8rem)/.98 var(--font-display); letter-spacing:-.045em; margin-bottom:1.2rem; }.section__lead,.page-hero__lead { color:var(--text-soft); max-width:590px; font-size:1rem; }
.pending-note { display:inline-block; color:var(--text-muted); font:500 10px/1.4 var(--font-body); letter-spacing:.06em; text-transform:uppercase; border:1px solid var(--line); padding:.45rem .65rem; margin-top:1rem; }
.price-list-section { padding:clamp(3.5rem,7vw,5.5rem) 0; background:linear-gradient(150deg,#fff 0%,#fff8fb 100%); }
.price-list-section__intro { max-width:650px; margin:0 auto 2rem; text-align:center; }
.price-list-section__intro .section__lead { margin:0 auto; }
.price-list-card { width:min(100%,470px); margin:0 auto; overflow:hidden; border:1px solid rgba(196,91,122,.22); border-radius:5px; background:#fff; box-shadow:0 18px 46px rgba(166,78,108,.12); }
.price-list-card img { display:block; width:100%; height:auto; }
.price-list-section__link { display:inline-flex; justify-content:center; margin:1.5rem auto 0; padding:.8rem 1.25rem; border:1px solid var(--rose-deep); border-radius:2px; color:var(--rose-deep); font:600 11px/1.2 var(--font-body); letter-spacing:.1em; text-decoration:none; text-transform:uppercase; transition:background .2s,color .2s; }
.price-list-section__link:hover { background:var(--rose-deep); color:#fff; }
.price-list-section .container { display:flex; flex-direction:column; align-items:center; }
.site-header { height:var(--header-h); position:static; background:rgba(244,239,236,.92); backdrop-filter:blur(12px); border-bottom:1px solid var(--soft-line); }
.site-header__inner { height:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem; }.logo-link { display:flex; align-items:center; gap:.65rem; text-decoration:none; flex-shrink:0; }.logo-link img { height:38px; width:38px; object-fit:contain; border-radius:50%; }.logo-link__text { font:600 20px/1 var(--font-display); letter-spacing:-.055em; }.logo-link__text span { font-style:italic; font-weight:500; }
.nav-toggle { border:0; background:none; width:44px; height:44px; display:flex; flex-direction:column; justify-content:center; gap:5px; cursor:pointer; order:3; }.nav-toggle__bar { width:24px; height:1px; background:var(--ink); transition:transform .25s,opacity .25s; }.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.site-nav { position:fixed; inset:var(--header-h) 0 auto; background:var(--paper); padding:1rem 0 1.75rem; border-bottom:1px solid var(--line); transform:translateY(-110%); visibility:hidden; transition:transform .3s ease,visibility .3s; }.site-nav.is-open { transform:translateY(0); visibility:visible; }.site-nav__list { width:min(100% - 2.5rem,var(--max)); margin:auto; display:grid; }.site-nav__list a { display:block; padding:.8rem 0; color:var(--text-soft); text-decoration:none; font-size:.88rem; border-bottom:1px solid var(--soft-line); }.site-nav__list a[aria-current="page"],.site-nav__list a:hover { color:var(--rose-deep); }
.header-cta { order:2; margin-left:auto; }.btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:.72rem 1.15rem; border:1px solid transparent; cursor:pointer; text-decoration:none; font:600 11px/1.15 var(--font-body); letter-spacing:.1em; text-transform:uppercase; transition:transform .22s ease, background .22s ease,color .22s ease,border .22s ease; }.btn:hover { transform:translateY(-3px); }.btn--primary { background:var(--cocoa); color:var(--white); }.btn--primary:hover { background:var(--rose-deep); color:var(--white); }.btn--secondary { border-color:var(--cocoa); color:var(--cocoa); background:transparent; }.btn--secondary:hover { color:var(--white); background:var(--cocoa); }.btn--ghost { border-color:var(--line); color:var(--text); }.btn--ghost:hover { border-color:var(--rose-deep); color:var(--rose-deep); }.btn--sm { min-height:38px; padding:.55rem .8rem; font-size:9px; }.btn-row { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.8rem; }
.hero { overflow:hidden; position:relative; background:var(--paper); }.hero__grid { min-height:calc(100vh - var(--header-h) - 29px); display:grid; align-items:center; padding:4.5rem 0; position:relative; }.hero__grid > div:first-child { position:relative; z-index:2; }.hero__badge { margin-bottom:1.25rem; display:block; }.hero__title { font:500 clamp(3.9rem,12vw,10.5rem)/.81 var(--font-display); max-width:820px; letter-spacing:-.075em; }.hero__title em { display:block; font-weight:500; color:var(--rose-deep); }.hero__sub { max-width:420px; margin-top:1.75rem; color:var(--text-soft); }.hero__tagline { margin-top:1.25rem; font:italic 500 20px/1 var(--font-display); color:var(--rose-deep); }.hero__visual { position:absolute; right:-10%; top:8%; width:min(55vw,670px); height:84%; display:grid; place-items:center; }.hero__visual::before { content:""; position:absolute; width:78%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 60% 38%,#f9e5e2 0 22%,var(--rose-light) 23%,var(--rose-light) 34%,transparent 35%); }.hero__visual::after { content:""; position:absolute; inset:8% 9%; border:1px solid rgba(57,36,39,.25); border-radius:50%; }.hero__logo-wrap { position:relative; width:min(31vw,330px); aspect-ratio:1; z-index:1; animation:float 6s ease-in-out infinite; }.hero__logo-wrap img { width:100%; height:100%; object-fit:contain; border-radius:50%; filter:drop-shadow(0 24px 28px rgba(57,36,39,.16)); }.hero__logo-wrap::after { content:"M BEAUTYLUXE"; position:absolute; bottom:-36px; left:50%; transform:translateX(-50%); white-space:nowrap; font:500 9px var(--font-body); letter-spacing:.22em; color:var(--cocoa); }
.specialty-band { position:relative; overflow:hidden; padding:4rem 0; background:var(--cocoa); color:var(--paper); }.specialty-band::after { content:"FILLS"; position:absolute; font:600 clamp(9rem,22vw,22rem)/.7 var(--font-display); color:rgba(255,255,255,.035); right:-.05em; top:.1em; }.specialty-band__inner { position:relative; z-index:1; display:grid; gap:2rem; }.specialty-band__label { color:var(--rose-light); font:500 10px var(--font-body); letter-spacing:.18em; text-transform:uppercase; margin-bottom:.85rem; }.specialty-band__title { max-width:620px; font:500 clamp(2.5rem,5vw,4.5rem)/.95 var(--font-display); letter-spacing:-.05em; }.specialty-band__text { max-width:590px; margin-top:1rem; color:#e6dcda; }.specialty-band .btn--secondary { justify-self:start; border-color:var(--rose-light); color:var(--paper); }
.card-grid { display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }.card { min-height:270px; padding:2rem; background:var(--white); transition:background .25s, transform .25s; }.card:hover { background:var(--petal); transform:translateY(-4px); }.card__icon { color:var(--rose-deep); font:500 30px/1 var(--font-display); margin-bottom:3.3rem; }.card__title { font:600 1.65rem/1.1 var(--font-display); letter-spacing:-.04em; margin-bottom:.8rem; }.card__text { font-size:.9rem; color:var(--text-soft); }.card__meta { margin-top:1.4rem; color:var(--rose-deep); font:500 10px var(--font-body); letter-spacing:.08em; text-transform:uppercase; }.card--featured { background:var(--petal); }.card__badge { display:inline-block; float:right; font:500 9px var(--font-body); letter-spacing:.13em; color:var(--rose-deep); text-transform:uppercase; }
.steps { display:grid; gap:1px; list-style:none; background:var(--line); border:1px solid var(--line); }.step { background:var(--paper); padding:1.75rem; min-height:180px; }.step__num { display:block; color:var(--rose-deep); font:500 13px var(--font-body); margin-bottom:2.8rem; }.step__title { font:600 1.45rem var(--font-display); margin-bottom:.5rem; }.step__text { color:var(--text-soft); font-size:.89rem; }
.gallery-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }.gallery-item { aspect-ratio:3/4; position:relative; overflow:hidden; display:grid; place-content:end start; padding:1.2rem; background:linear-gradient(135deg,#dec0c2,var(--petal) 45%,#bbb8bb); }.gallery-item:nth-child(2n) { background:linear-gradient(145deg,#bcafb0,#f4eeee 48%,#d79ead); }.gallery-item::before { content:""; position:absolute; inset:10px; border:1px solid rgba(57,36,39,.32); }.gallery-item__label,.gallery-item__sub { position:relative; }.gallery-item__label { font:500 9px var(--font-body); letter-spacing:.13em; text-transform:uppercase; }.gallery-item__sub { font:italic 1.1rem var(--font-display); }.gallery-item--wide { grid-column:span 2; aspect-ratio:16/8; }
.about-layout,.contact-grid { display:grid; gap:1.5rem; }.about-panel,.contact-card,.policy-item { padding:2rem; background:var(--white); border:1px solid var(--line); }.about-panel h3,.contact-card h3,.policy-item h3 { font:600 1.5rem/1.1 var(--font-display); margin-bottom:.8rem; }.about-panel p,.contact-card p,.policy-item p { color:var(--text-soft); font-size:.92rem; margin-bottom:.8rem; }.studio-visual { min-height:350px; padding:2rem; display:grid; place-items:center; text-align:center; background:radial-gradient(circle at 30% 30%,var(--rose-light),transparent 27%),radial-gradient(circle at 72% 65%,#aaa7ac,transparent 35%),var(--cocoa); color:var(--paper); }.policy-list { display:grid; gap:1px; background:var(--line); border:1px solid var(--line); }.policy-item { border:0; }.reviews-placeholder { max-width:650px; margin:auto; padding:4rem 2rem; text-align:center; background:var(--white); border:1px solid var(--line); }.reviews-placeholder__icon { font:500 5rem/.7 var(--font-display); color:var(--rose-deep); }.reviews-placeholder h2 { font:500 2.5rem var(--font-display); margin:1rem 0; }.reviews-placeholder p { color:var(--text-soft); }.contact-card--primary { background:var(--petal); }.contact-card .status { color:var(--text-muted); border-top:1px solid var(--line); padding-top:.8rem; }
.cta-band { background:var(--rose-light); padding:6rem 0; text-align:center; }.cta-band__title { font:500 clamp(2.7rem,5vw,5rem)/.95 var(--font-display); letter-spacing:-.05em; max-width:720px; margin:auto; }.cta-band__text { color:var(--text-soft); max-width:480px; margin:1.2rem auto 0; }.cta-band .btn-row { justify-content:center; }.page-hero { padding:6rem 0 5rem; background:var(--paper); border-bottom:1px solid var(--line); }.page-hero__title { font:500 clamp(3.4rem,8vw,7rem)/.86 var(--font-display); letter-spacing:-.065em; margin:.9rem 0 1.5rem; }
.site-footer { background:var(--cocoa); color:#e3d7d6; padding:3.5rem 0 2rem; }.footer__top { display:grid; gap:2rem; padding-bottom:2rem; border-bottom:1px solid rgba(255,255,255,.15); }.footer__brand { display:flex; align-items:center; gap:.8rem; }.footer__brand img { width:46px; height:46px; object-fit:contain; border-radius:50%; }.footer__brand-name { font:600 1.5rem var(--font-display); }.footer__tagline { font:500 9px var(--font-body); letter-spacing:.1em; text-transform:uppercase; color:var(--rose-light); }.footer__nav { display:flex; flex-wrap:wrap; gap:.75rem 1.4rem; align-content:start; }.footer__nav a { color:#e3d7d6; text-decoration:none; font-size:.82rem; }.footer__nav a:hover { color:var(--rose-light); }.footer__bottom { margin-top:1.5rem; display:flex; gap:.5rem; flex-direction:column; color:#bcaeae; font-size:.75rem; }.footer__bottom a { color:var(--rose-light); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.divider{height:1px;border:0;background:var(--line);margin:1rem 0}
.mobile-book-bar { display:flex; position:fixed; z-index:9; bottom:0; left:0; right:0; gap:.5rem; padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom)); background:rgba(244,239,236,.96); backdrop-filter:blur(10px); border-top:1px solid var(--line); }.mobile-book-bar .btn { flex:1; }.mobile-book-bar .btn--secondary { flex:.7; } body { padding-bottom:68px; }
@keyframes float { 50% { transform:translateY(-12px) rotate(1deg); } }
@media (min-width:768px) { body { padding-bottom:0; }.mobile-book-bar{display:none}.site-nav { position:static; transform:none; visibility:visible; background:none; border:0; padding:0; flex:1; }.site-nav__list { width:auto; justify-content:center; display:flex; gap:1.15rem; }.site-nav__list a { border:0; padding:.5rem 0; font-size:11px; letter-spacing:.04em; }.nav-toggle{display:none}.header-cta{order:3;margin-left:0}.hero__grid{grid-template-columns:1fr 1fr}.specialty-band__inner{grid-template-columns:1fr auto;align-items:center}.card-grid{grid-template-columns:repeat(3,1fr)}.card-grid--2{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(4,1fr)}.gallery-grid{grid-template-columns:repeat(4,1fr)}.gallery-item--wide{grid-column:span 2}.about-layout{grid-template-columns:1.1fr .9fr}.contact-grid{grid-template-columns:repeat(2,1fr)}.contact-card--primary{grid-column:span 2}.policy-list{grid-template-columns:repeat(2,1fr)}.footer__top{grid-template-columns:1fr auto}.footer__bottom{flex-direction:row;justify-content:space-between}.section{padding:8rem 0} }
@media(max-width:767px) { :root{--header-h:64px}.container{width:min(100% - 2rem,var(--max))}.site-header__inner{gap:.65rem}.logo-link{gap:.5rem}.logo-link img{width:34px;height:34px}.logo-link__text{font-size:18px}.nav-toggle{width:46px;height:46px}.site-nav{inset:var(--header-h) 0 auto}.site-nav__list a{min-height:52px;padding:1rem 0;font-size:.95rem}.hero__grid{min-height:700px;padding:3.5rem 0 13rem}.hero__visual{top:auto;bottom:-11%;right:-8%;width:100vw;height:47%}.hero__logo-wrap{width:165px}.hero__title{font-size:clamp(3.1rem,15vw,5rem);line-height:.87;letter-spacing:-.065em}.hero__sub{max-width:32rem;font-size:.94rem;line-height:1.6}.hero__tagline{font-size:1.05rem}.btn-row{display:grid;gap:.6rem}.btn-row .btn{width:100%;min-height:50px}.page-hero{padding:4rem 0 3.5rem}.page-hero__title{font-size:clamp(3.3rem,16vw,5.2rem)}.section{padding:4.5rem 0}.section__header{margin-bottom:2rem}.section__title{font-size:clamp(2.35rem,11vw,4rem)}.card{min-height:0;padding:1.5rem}.card__icon{margin-bottom:2rem}.steps{grid-template-columns:1fr 1fr}.step{min-height:155px;padding:1.25rem}.step__num{margin-bottom:1.8rem}.gallery-grid{gap:.65rem}.gallery-item{padding:.9rem}.gallery-item--wide{grid-column:span 2}.mobile-book-bar{gap:.4rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom))}.mobile-book-bar .btn{min-height:50px;padding:.7rem .55rem;font-size:9px;letter-spacing:.07em}.mobile-book-bar .btn--secondary{flex:.8}body{padding-bottom:76px} }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }

/* Interactive experience */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .55s ease,transform .55s ease; }
.reveal.is-visible { opacity:1; transform:none; }
.filter-tabs { display:flex; gap:.55rem; overflow-x:auto; padding:.15rem 0 1.5rem; scrollbar-width:none; }
.filter-tabs::-webkit-scrollbar { display:none; }
.filter-tab { flex:0 0 auto; min-height:44px; padding:.65rem 1rem; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--text-soft); cursor:pointer; font:600 10px var(--font-body); letter-spacing:.08em; text-transform:uppercase; transition:background .2s,color .2s,border .2s,transform .2s; }
.filter-tab:hover,.filter-tab.is-selected { background:var(--cocoa); border-color:var(--cocoa); color:var(--white); transform:translateY(-1px); }
.service-menu-header { margin-bottom:1.5rem; }
.service-menu-grid { display:grid; gap:1rem; }
.service-card { overflow:hidden; display:grid; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow-soft); border-radius:16px; transition:transform .25s ease,box-shadow .25s ease; }
.service-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.service-card__media { min-height:245px; position:relative; overflow:hidden; display:grid; place-items:center; background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.85),transparent 22%),linear-gradient(145deg,#e5c4ca,#f7ecea 52%,#beaeb1); }
.service-card__media--fills { background:radial-gradient(circle at 65% 35%,rgba(255,255,255,.72),transparent 24%),linear-gradient(145deg,#d3b6bb,#f1d8dc 48%,#a8818b); }
.service-card__media::after { content:""; position:absolute; inset:15px; border:1px solid rgba(57,36,39,.22); border-radius:11px; }
.service-card__symbol { color:rgba(57,36,39,.2); font:italic 600 clamp(6rem,14vw,9rem)/1 var(--font-display); }
.service-card__media-note { position:absolute; left:1.5rem; bottom:1.2rem; z-index:1; color:var(--cocoa); font:500 9px var(--font-body); letter-spacing:.13em; text-transform:uppercase; }
.service-card__body { display:flex; flex-direction:column; padding:1.5rem; }
.service-card__topline,.service-card__footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.service-card__category,.service-card__duration,.service-card__price { color:var(--rose-deep); font:500 9px var(--font-body); letter-spacing:.1em; text-transform:uppercase; }
.service-card__duration { color:var(--text-muted); }
.service-card__title { margin:.8rem 0; font:600 2rem/1 var(--font-display); letter-spacing:-.04em; }
.service-card__text { min-height:4.5em; color:var(--text-soft); font-size:.9rem; }
.service-card__footer { margin-top:1.2rem; padding-top:1rem; border-top:1px solid var(--soft-line); }
.service-card__book { width:100%; margin-top:1rem; border-radius:10px; }
.btn--small { min-height:38px; padding:.55rem .7rem; font-size:9px; }
.quiz-layout { display:grid; gap:2rem; align-items:start; }
.text-link { display:inline-block; margin-top:1.25rem; color:var(--rose-deep); font-weight:600; }
.quiz-card { min-height:440px; padding:clamp(1.4rem,4vw,2.5rem); background:rgba(253,250,248,.86); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-soft); }
.quiz-card__top { display:flex; justify-content:space-between; gap:1rem; padding-bottom:1rem; margin-bottom:2rem; border-bottom:1px solid var(--line); color:var(--text-muted); font:500 9px var(--font-body); letter-spacing:.13em; text-transform:uppercase; }
.quiz-card h3,.quiz-result h3 { margin-bottom:1.4rem; font:600 clamp(2rem,5vw,3.2rem)/1 var(--font-display); letter-spacing:-.04em; }
.quiz-options { display:grid; gap:.7rem; }
.quiz-options button { min-height:58px; padding:1rem 1.1rem; border:1px solid var(--line); border-radius:12px; background:var(--white); color:var(--text); cursor:pointer; text-align:left; font:600 14px var(--font-body); transition:background .2s,border .2s,transform .2s; }
.quiz-options button:hover,.quiz-options button:focus-visible { background:var(--petal); border-color:var(--rose-deep); transform:translateX(4px); }
.quiz-result__meta { display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0; }
.quiz-result__meta span { padding:.5rem .7rem; border-radius:999px; background:var(--petal); color:var(--rose-deep); font:600 10px var(--font-body); text-transform:uppercase; }
.quiz-result .btn { margin-top:1.3rem; }
.text-button { margin-top:1.4rem; padding:.45rem 0; border:0; background:none; color:var(--text-muted); cursor:pointer; font:600 11px var(--font-body); text-decoration:underline; text-underline-offset:4px; }
.detail-dialog,.gallery-lightbox { width:min(92vw,900px); max-height:88vh; padding:0; overflow:auto; border:0; border-radius:18px; background:var(--white); color:var(--text); box-shadow:0 30px 80px rgba(57,36,39,.28); }
.detail-dialog::backdrop,.gallery-lightbox::backdrop { background:rgba(43,30,32,.62); backdrop-filter:blur(5px); }
.dialog-close { position:sticky; float:right; top:1rem; right:1rem; z-index:3; width:44px; height:44px; border:1px solid var(--line); border-radius:50%; background:var(--white); color:var(--text); cursor:pointer; font:400 1.5rem/1 var(--font-body); }
#service-detail-content { display:grid; }
.service-detail__media { min-height:360px; }
.service-detail__copy { padding:clamp(1.5rem,5vw,3.5rem); }
.service-detail__copy h2 { margin-bottom:1rem; font:600 clamp(2.6rem,7vw,4.8rem)/.92 var(--font-display); letter-spacing:-.055em; }
.service-detail__copy>p { color:var(--text-soft); }
.service-detail__facts { display:grid; grid-template-columns:1fr 1fr; margin:1.5rem 0; border-block:1px solid var(--line); }
.service-detail__facts div { padding:1rem 0; }
.service-detail__facts dt { color:var(--text-muted); font:500 9px var(--font-body); text-transform:uppercase; }
.service-detail__facts dd { margin-top:.25rem; font-weight:600; }
.gallery-grid--interactive .gallery-item { width:100%; border:0; color:var(--text); cursor:pointer; text-align:left; transition:transform .25s,box-shadow .25s; }
.gallery-grid--interactive .gallery-item:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.gallery-item__tap { position:absolute; top:1.1rem; right:1.1rem; font:500 8px var(--font-body); letter-spacing:.1em; text-transform:uppercase; }
.gallery-grid--interactive .gallery-item { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; padding:0; overflow:hidden; aspect-ratio:auto; border:1px solid rgba(196,91,122,.2); border-radius:5px; background:#fff; box-shadow:0 8px 24px rgba(166,78,108,.08); }
.gallery-grid--interactive .gallery-item::before { content:none; }
.gallery-grid--interactive .gallery-item:nth-child(2n) { background:#fff; }
.gallery-item__photo { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:contain; background:#fff8fb; transition:transform .3s ease; }
.gallery-grid--interactive .gallery-item:hover .gallery-item__photo { transform:scale(1.02); }
.gallery-item__caption { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.72rem .85rem; background:#fff; }
.gallery-grid--interactive .gallery-item__label { color:var(--rose-deep); font:500 9px/1.3 var(--font-body); letter-spacing:.11em; text-transform:uppercase; }
.gallery-grid--interactive .gallery-item__sub { color:var(--text-soft); font:500 .9rem/1.3 var(--font-display); }
.gallery-lightbox { padding:clamp(1.3rem,4vw,2.5rem); }
.gallery-lightbox__top h2 { margin-bottom:1.2rem; font:600 clamp(2.2rem,6vw,4rem)/1 var(--font-display); }
.gallery-lightbox__photo { display:block; width:auto; max-width:100%; height:auto; max-height:min(62vh,760px); margin:0 auto; border-radius:4px; object-fit:contain; }
.gallery-lightbox__visual { min-height:min(58vh,560px); display:grid; place-items:center; padding:2rem; border-radius:14px; background:linear-gradient(145deg,#dec0c2,#f4eeee 48%,#bda6ac); text-align:center; }
.gallery-lightbox__visual span { color:var(--cocoa); font:500 10px var(--font-body); letter-spacing:.13em; text-transform:uppercase; }
.gallery-lightbox__controls { display:flex; justify-content:space-between; gap:.7rem; margin-top:1.2rem; }
.faq-list { border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item summary { min-height:66px; display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; font:600 1.25rem var(--font-display); list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:"+"; color:var(--rose-deep); font:400 1.4rem var(--font-body); }
.faq-item[open] summary::after { content:"−"; }
.faq-item p { max-width:720px; padding:0 2rem 1.4rem 0; color:var(--text-soft); }
@media(min-width:768px) {
  .service-menu-grid { grid-template-columns:repeat(3,1fr); }
  .quiz-layout { grid-template-columns:.9fr 1.1fr; }
  #service-detail-content { grid-template-columns:.92fr 1.08fr; }
}
@media(max-width:767px) {
  .service-card { grid-template-columns:112px 1fr; border-radius:13px; }
  .service-card__media { min-height:100%; }
  .service-card__media::after { inset:8px; }
  .service-card__media-note { display:none; }
  .service-card__symbol { font-size:4.2rem; }
  .service-card__body { padding:1.1rem; }
  .service-card__title { font-size:1.55rem; }
  .service-card__text { min-height:0; font-size:.82rem; }
  .service-card__footer { align-items:flex-start; flex-direction:column; }
  .service-card__footer .btn { width:100%; }
  .detail-dialog,.gallery-lightbox { width:100%; max-height:94vh; margin:auto 0 0; border-radius:20px 20px 0 0; }
  .gallery-lightbox__controls .btn { flex:1; padding:.6rem; font-size:9px; }
}

/* Booking journey */
.booking-progress { margin-bottom:2.2rem; overflow:hidden; }
.booking-panel { border-radius:16px; box-shadow:var(--shadow-soft); }
.booking-progress ol { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; }
.booking-progress li { position:relative; display:grid; gap:.25rem; padding:0 .5rem 1rem 0; color:var(--text-muted); border-bottom:2px solid var(--soft-line); }
.booking-progress li span { font:500 9px var(--font-body); letter-spacing:.12em; }
.booking-progress li strong { font:600 11px var(--font-body); }
.booking-progress li.is-current { color:var(--rose-deep); border-color:var(--rose-deep); }
.booking-progress li.is-complete { color:var(--text); border-color:var(--rose-light); }
.booking-step[hidden] { display:none; }
.booking-step { animation:booking-step-in .3s ease both; }
.form-grid label.is-preselected select { border-color:var(--rose-deep); box-shadow:0 0 0 3px rgba(164,90,109,.1); }
.time-chip { border-radius:10px!important; transition:background .18s,color .18s,transform .18s,border .18s; }
.time-chip:hover,.time-chip:focus-visible { transform:translateY(-2px); border-color:var(--rose-deep); }
.time-chip.is-selected { box-shadow:0 0 0 3px rgba(164,90,109,.14); }
.sparkle-burst { position:relative; height:32px; width:150px; margin-bottom:.6rem; }
.sparkle-burst span { position:absolute; color:var(--rose-deep); animation:sparkle-pop .75s ease both; }
.sparkle-burst span:nth-child(1){left:8%;top:8px}.sparkle-burst span:nth-child(2){left:35%;top:-5px;animation-delay:.08s}.sparkle-burst span:nth-child(3){left:62%;top:9px;animation-delay:.14s}.sparkle-burst span:nth-child(4){left:88%;top:-2px;animation-delay:.2s}
@keyframes booking-step-in { from { opacity:0; transform:translateX(10px); } to { opacity:1; transform:none; } }
@keyframes sparkle-pop { 0% { opacity:0; transform:scale(.2) rotate(-25deg); } 70% { opacity:1; transform:scale(1.25) rotate(8deg); } 100% { transform:scale(1); } }
@media(max-width:560px) {
  .booking-progress li strong { font-size:9px; }
  .booking-progress li { padding-right:.25rem; }
}

/* Mbeautyluxe editorial home and shared luxury navigation */
:root {
  --paper:#f5f1eb;
  --ink:#292422;
  --cocoa:#302725;
  --rose:#ad8a72;
  --rose-light:#d7c4b3;
  --petal:#ece4dc;
  --silver:#b9b3ad;
  --line:rgba(48,39,37,.18);
  --soft-line:rgba(48,39,37,.09);
  --white:#fcfaf7;
  --text:#302725;
  --text-soft:#6e6560;
  --text-muted:#887e78;
  --blush:#f5f1eb;
  --blush-deep:#e9ddd3;
  --pink-soft:#d7c4b3;
  --pink-mid:#c5aa96;
  --rose-deep:#806653;
  --gold:#b79d7b;
  --shadow:0 24px 60px rgba(48,39,37,.13);
  --shadow-soft:0 12px 34px rgba(48,39,37,.07);
}
.skip-link { position:fixed; z-index:100; top:.75rem; left:.75rem; padding:.8rem 1rem; transform:translateY(-160%); background:var(--cocoa); color:var(--white); }
.skip-link:focus { transform:none; }
.announcement-bar { min-height:30px; display:flex; align-items:center; justify-content:center; gap:.7rem; padding:.35rem 1rem; background:var(--cocoa); color:#f3ece4; font:500 9px/1.2 var(--font-body); letter-spacing:.19em; text-align:center; }
.site-header { transition:background .35s ease,box-shadow .35s ease,border-color .35s ease; }
.site-nav__list a { text-transform:uppercase; font:500 10px/1.2 var(--font-body); letter-spacing:.1em; }
.site-nav__list a[aria-current="page"] { color:var(--rose-deep); }
.btn { letter-spacing:.12em; }
.btn--primary { background:var(--cocoa); }
.btn--primary:hover { background:var(--rose-deep); }
.home-page { padding-bottom:68px; }
.home-page .site-header { position:absolute; top:30px; left:0; right:0; height:var(--header-h); z-index:11; background:rgba(245,241,235,.94); border-bottom:1px solid var(--soft-line); backdrop-filter:blur(14px); }
.home-page .site-header.is-at-top { background:transparent; border-color:transparent; backdrop-filter:none; }
.home-page .site-header.is-scrolled { background:rgba(245,241,235,.94); border-color:var(--soft-line); box-shadow:0 8px 28px rgba(48,39,37,.07); backdrop-filter:blur(14px); }
.home-page .site-nav { z-index:2; }
.home-hero { position:relative; min-height:calc(100svh - 30px); display:grid; align-items:center; overflow:hidden; padding:calc(var(--header-h) + 2.5rem) 0 5rem; background:var(--paper); }
.home-hero::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.8; background:radial-gradient(420px circle at var(--glow-x, 68%) var(--glow-y, 45%),rgba(255,255,255,.86),transparent 70%); transition:opacity .5s ease; }
.home-hero__inner { position:relative; display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1fr); align-items:center; gap:clamp(2rem,7vw,7rem); }
.home-hero__copy { position:relative; z-index:1; padding:1.5rem 0; animation:editorial-enter .8s .08s both; }
.eyebrow-line { display:flex; align-items:center; gap:.8rem; margin-bottom:clamp(1.4rem,4vh,3rem); color:var(--rose-deep); font:500 9px/1.3 var(--font-body); letter-spacing:.17em; text-transform:uppercase; }
.eyebrow-line span { color:var(--text-muted); }
.home-hero h1 { max-width:740px; font:500 clamp(4.4rem,9.2vw,9.4rem)/.82 var(--font-display); letter-spacing:-.075em; }
.home-hero h1 em,.editorial-statement h2 em,.home-section-heading h2 em,.lookbook-callout h2 em,.home-faq h2 em,.home-final-cta h2 em { color:var(--rose-deep); font-weight:500; }
.home-hero__lead { max-width:400px; margin-top:1.8rem; color:var(--text-soft); font-size:clamp(.95rem,1.3vw,1.1rem); }
.home-hero .btn-row { align-items:center; margin-top:1.9rem; }
.home-hero__footnote { margin-top:1.5rem; color:var(--text-muted); font:500 9px var(--font-body); letter-spacing:.11em; text-transform:uppercase; }
.home-hero__image { position:relative; width:100%; height:min(72vh,760px); min-height:500px; overflow:hidden; background:#302725; animation:image-enter .95s .15s both; }
.home-hero__image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(22,17,16,.62)); pointer-events:none; }
.home-hero__image img { width:100%; height:100%; object-fit:cover; object-position:68% center; transition:transform 1.2s cubic-bezier(.2,.65,.2,1); }
.home-hero__image:hover img { transform:scale(1.025); }
.home-hero__image figcaption { position:absolute; z-index:1; right:1.3rem; bottom:1.3rem; left:1.3rem; display:flex; justify-content:space-between; align-items:end; gap:1rem; color:#fffaf4; font:500 8px/1.4 var(--font-body); letter-spacing:.11em; text-transform:uppercase; }
.home-hero__image-index { position:absolute; z-index:1; top:1.2rem; right:1.2rem; color:#fffaf4; font:500 9px var(--font-body); letter-spacing:.16em; }
.home-hero__scroll { position:absolute; right:max(1.25rem,calc((100vw - var(--max))/2)); bottom:1.5rem; display:flex; align-items:center; gap:.55rem; color:var(--text-muted); text-decoration:none; font:500 8px var(--font-body); letter-spacing:.14em; text-transform:uppercase; }
.home-hero__scroll span { color:var(--rose-deep); font-size:1rem; }
.editorial-statement { position:relative; overflow:hidden; padding:clamp(4rem,8vw,8rem) 0; background:var(--cocoa); color:var(--paper); }
.editorial-statement::after { content:"MB"; position:absolute; right:-.04em; bottom:-.4em; color:rgba(255,255,255,.035); font:500 clamp(13rem,30vw,31rem)/.8 var(--font-display); letter-spacing:-.1em; pointer-events:none; }
.editorial-statement__grid { position:relative; z-index:1; display:grid; gap:2rem; }
.editorial-statement .section__eyebrow { color:var(--rose-light); }
.editorial-statement h2 { max-width:740px; font:500 clamp(3.5rem,8vw,7.3rem)/.9 var(--font-display); letter-spacing:-.065em; }
.editorial-statement h2 em { color:var(--rose-light); }
.editorial-statement__grid > div > p { max-width:520px; margin-top:1.5rem; color:#e3d9d1; }
.editorial-statement .text-link { color:var(--rose-light); }
.home-services { background:var(--white); }
.home-section-heading { display:grid; gap:1.2rem; align-items:end; margin-bottom:2.8rem; }
.home-section-heading .section__title { margin:0; }
.home-section-heading h2 em,.lookbook-callout h2 em,.home-faq h2 em { font-style:italic; }
.home-service-grid { display:grid; gap:1px; border:1px solid var(--line); background:var(--line); }
.home-service-card { min-height:250px; display:flex; flex-direction:column; align-items:flex-start; padding:clamp(1.4rem,3vw,2.2rem); background:var(--white); transition:background .3s ease,transform .3s ease; }
.home-service-card:hover { position:relative; z-index:1; transform:translateY(-4px); background:var(--paper); }
.home-service-card__meta { display:flex; justify-content:space-between; width:100%; gap:1rem; color:var(--rose-deep); font:500 9px var(--font-body); letter-spacing:.12em; text-transform:uppercase; }
.home-service-card h3 { margin:auto 0 .75rem; font:500 clamp(1.8rem,3vw,2.65rem)/.95 var(--font-display); letter-spacing:-.04em; }
.home-service-card p { color:var(--text-soft); font-size:.86rem; }
.home-service-card__link { margin-top:1.2rem; color:var(--rose-deep); font:500 9px var(--font-body); letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.home-service-card__link span { padding-left:.3rem; }
.home-services > .container > .text-link { margin-top:1.8rem; }
.lookbook-callout { position:relative; overflow:hidden; padding:clamp(4.5rem,10vw,9rem) 0; background:var(--petal); }
.lookbook-callout__inner { position:relative; z-index:1; display:grid; gap:2rem; align-items:end; }
.lookbook-callout__ornament { position:absolute; right:4%; top:50%; transform:translateY(-54%); color:rgba(128,102,83,.08); font:500 clamp(18rem,45vw,40rem)/.8 var(--font-display); pointer-events:none; }
.lookbook-callout h2,.home-faq h2 { font:500 clamp(3.2rem,7.5vw,6.8rem)/.87 var(--font-display); letter-spacing:-.065em; }
.lookbook-callout__inner > div:last-child { max-width:490px; }
.lookbook-callout__inner > div:last-child > p { color:var(--text-soft); }
.lookbook-callout .btn-row { align-items:center; }
.lookbook-callout .text-link { margin:0; }
.home-ritual { background:var(--paper); }
.ritual-list { display:grid; gap:1px; border:1px solid var(--line); background:var(--line); list-style:none; }
.ritual-list li { min-height:210px; padding:1.5rem; background:var(--paper); }
.ritual-list li > span { display:block; margin-bottom:2.8rem; color:var(--rose-deep); font:500 10px var(--font-body); letter-spacing:.12em; }
.ritual-list h3 { margin-bottom:.6rem; font:500 1.4rem/1.1 var(--font-display); }
.ritual-list p { max-width:280px; color:var(--text-soft); font-size:.87rem; }
.home-faq { padding:clamp(4.5rem,9vw,8rem) 0; background:var(--white); }
.home-faq__grid { display:grid; gap:2rem; align-items:start; }
.home-faq .section__lead { margin-top:1rem; }
.home-faq .text-link { margin-top:1.4rem; }
.home-faq .faq-item summary { font-size:1.15rem; }
.home-final-cta { overflow:hidden; padding:clamp(5rem,10vw,9rem) 0; background:var(--cocoa); color:var(--paper); text-align:center; }
.home-final-cta .section__eyebrow { color:var(--rose-light); }
.home-final-cta h2 { font:500 clamp(3.5rem,9vw,8rem)/.88 var(--font-display); letter-spacing:-.07em; }
.home-final-cta h2 em { color:var(--rose-light); }
.home-final-cta > .container > p:not(.section__eyebrow) { max-width:430px; margin:1.2rem auto 0; color:#e3d9d1; }
.home-final-cta .btn-row { justify-content:center; }
.btn--light { background:var(--paper); color:var(--cocoa); }
.btn--light:hover { background:var(--rose-light); }
.btn--outline-light { border-color:rgba(245,241,235,.65); color:var(--paper); }
.btn--outline-light:hover { background:var(--paper); color:var(--cocoa); }
.home-final-cta__signature { display:block; margin-top:3.2rem; color:var(--rose-light); font:italic 1.5rem var(--font-display); }
.site-footer { background:#292321; }
.footer__brand-name { letter-spacing:-.025em; }
.footer__nav a { transition:color .2s ease; }
@keyframes editorial-enter { from { opacity:0; transform:translateY(20px); clip-path:inset(0 0 22%); } to { opacity:1; transform:none; clip-path:inset(0); } }
@keyframes image-enter { from { opacity:.5; clip-path:inset(0 0 18%); transform:translateY(14px); } to { opacity:1; clip-path:inset(0); transform:none; } }
@media(min-width:768px) {
  .home-page { padding-bottom:0; }
  .home-page .site-header { top:30px; }
  .home-page .site-nav__list { gap:clamp(.75rem,1.3vw,1.3rem); }
  .home-page .site-nav__list a { font-size:10px; }
  .home-hero__inner { width:min(100% - 5rem,1420px); }
  .editorial-statement__grid { grid-template-columns:.7fr 1.3fr; gap:3rem; }
  .home-section-heading { grid-template-columns:1fr .7fr; gap:3rem; }
  .home-service-grid { grid-template-columns:repeat(3,1fr); }
  .lookbook-callout__inner { grid-template-columns:1.1fr .9fr; gap:4rem; }
  .ritual-list { grid-template-columns:repeat(3,1fr); }
  .home-faq__grid { grid-template-columns:.8fr 1.2fr; gap:5rem; }
}
@media(max-width:767px) {
  .home-page .site-header { top:30px; }
  .home-page .site-nav { position:fixed; inset:calc(var(--header-h) + 30px) 0 0; height:calc(100dvh - var(--header-h) - 30px); display:grid; align-content:center; overflow:auto; padding:1.5rem 0 calc(1.5rem + env(safe-area-inset-bottom)); background:rgba(245,241,235,.985); transform:translateY(-8px); }
  .home-page .site-nav.is-open { transform:none; }
  .home-page .site-nav__list { width:min(100% - 3rem,520px); }
  .home-page .site-nav__list a { padding:1rem 0; font:500 clamp(1.65rem,8vw,2.8rem)/1 var(--font-display); letter-spacing:-.025em; text-transform:none; border-bottom:1px solid var(--line); color:var(--cocoa); }
  .home-page .site-nav__list a[aria-current="page"] { color:var(--rose-deep); }
  .announcement-bar { min-height:30px; font-size:8px; }
  .home-hero { min-height:0; padding:calc(var(--header-h) + 2.2rem) 0 4.7rem; }
  .home-hero__inner { grid-template-columns:1fr; gap:2.1rem; }
  .eyebrow-line { margin-bottom:1.35rem; }
  .home-hero h1 { font-size:clamp(3.5rem,15vw,5.4rem); }
  .home-hero__lead { margin-top:1.2rem; }
  .home-hero .btn-row { display:flex; flex-direction:column; align-items:stretch; }
  .home-hero .btn-row .btn { width:100%; }
  .home-hero__footnote { margin-top:1rem; }
  .home-hero__image { height:min(112vw,520px); min-height:340px; }
  .home-hero__image img { object-position:65% center; }
  .home-hero__image figcaption { left:.9rem; right:.9rem; bottom:.9rem; flex-direction:column; align-items:flex-start; gap:.25rem; }
  .home-hero__scroll { right:1rem; bottom:1.3rem; font-size:7px; }
  .editorial-statement__grid { gap:1.5rem; }
  .editorial-statement h2 { font-size:clamp(3.3rem,16vw,5.5rem); }
  .home-section-heading { margin-bottom:1.8rem; }
  .home-service-grid { grid-template-columns:1fr; }
  .home-service-card { min-height:205px; }
  .lookbook-callout__inner { gap:1.4rem; }
  .lookbook-callout h2,.home-faq h2 { font-size:clamp(3.2rem,15vw,5.2rem); }
  .lookbook-callout .btn-row { display:flex; flex-direction:column; align-items:flex-start; }
  .ritual-list { grid-template-columns:1fr; }
  .ritual-list li { min-height:0; }
  .ritual-list li > span { margin-bottom:1.4rem; }
  .home-faq__grid { gap:2rem; }
  .home-final-cta .btn-row { display:grid; }
}
@media(prefers-reduced-motion:reduce) {
  .home-hero__copy,.home-hero__image { animation:none; }
  .home-hero__image img { transition:none; }
  .home-hero::before { transition:none; }
}

/* Phone layout refinement: blush header in flow, quiet editorial introduction,
   and a single aligned look-picker rhythm. */
.home-experience {
  padding: clamp(2.6rem, 7vw, 4.5rem) 0;
  border-block: 1px solid rgba(145,64,91,.12);
  background: #fffafb;
  text-align: center;
}
.home-experience__inner { max-width: 700px; }
.home-experience .section__eyebrow { margin-bottom: .55rem; }
.home-experience h2 {
  color: var(--ink);
  font: 500 clamp(2rem, 5vw, 3.35rem)/1 var(--font-display);
  letter-spacing: -.045em;
}
.home-experience h2 em { color: var(--rose-deep); }
.home-experience p:not(.section__eyebrow) {
  max-width: 560px;
  margin: .8rem auto 0;
  color: var(--text-soft);
  font-size: .9rem;
}
.home-experience .text-link { margin-top: .8rem; }

@media(max-width:767px) {
  :root { --header-h: 64px; }
  html, body { max-width: 100%; }
  .container { width: calc(100% - 40px); }
  .home-page .site-header {
    position: relative;
    inset: auto;
    z-index: 20;
    width: 100%;
    height: auto;
    min-height: calc(var(--header-h) + env(safe-area-inset-top));
    padding-top: env(safe-area-inset-top);
    background: #fff4f6 !important;
    border-bottom: 1px solid rgba(145,64,91,.15) !important;
    box-shadow: 0 5px 20px rgba(92,42,61,.045);
    backdrop-filter: none;
  }
  .home-page .site-header__inner {
    min-height: var(--header-h);
    gap: .4rem;
  }
  .home-page .logo-link { min-width: 0; gap: .4rem; }
  .home-page .logo-link img { width: 30px; height: 30px; }
  .home-page .logo-link__text { font-size: clamp(15px, 4.4vw, 18px); }
  .home-page .site-header .header-cta {
    min-height: 40px;
    padding: .55rem .68rem;
    margin-left: auto;
    background: var(--cocoa) !important;
    color: #fff !important;
    font-size: 8px;
    letter-spacing: .08em;
    white-space: nowrap;
  }
  .home-page .nav-toggle {
    order: 3;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    margin-left: .15rem;
    border-radius: 50%;
    background: #f2d9e0;
    align-items: center;
    gap: 5px;
  }
  .home-page .nav-toggle__bar { background: #713c4e !important; }
  .home-page .site-nav {
    position: fixed;
    inset: calc(var(--header-h) + env(safe-area-inset-top)) 0 0;
    z-index: 2;
    width: 100%;
    height: calc(100dvh - var(--header-h) - env(safe-area-inset-top));
    padding: 1.25rem 0 calc(1.25rem + env(safe-area-inset-bottom));
    overflow-y: auto;
    background: #fff7f9 !important;
    border: 0;
    box-shadow: 0 16px 30px rgba(92,42,61,.11);
    transform: translateY(-8px);
    visibility: hidden;
  }
  .home-page .site-nav.is-open { transform: none; visibility: visible; }
  .home-page .site-nav__list { width: calc(100% - 40px); }
  .home-page .site-nav__list a {
    min-height: 52px;
    padding: .85rem 0;
    color: #49323b;
    font: 500 clamp(1.45rem, 7vw, 2rem)/1.15 var(--font-display);
    letter-spacing: -.025em;
    text-transform: none;
  }
  .home-page .home-hero {
    min-height: 0;
    padding: 1.6rem 0 1.15rem;
    background: #fff8f9;
    color: var(--ink);
  }
  .home-page .home-hero__inner { min-height: 0; display: block; }
  .home-page .home-hero__copy {
    max-width: 36rem;
    margin-inline: auto;
    padding: .25rem 0;
    color: var(--ink);
    text-align: center;
  }
  .home-page .home-hero h1 {
    max-width: 100%;
    color: #382831;
    font-size: clamp(2.35rem, 10.5vw, 3.6rem);
    line-height: .99;
    letter-spacing: -.055em;
    text-wrap: balance;
    overflow-wrap: normal;
  }
  .home-page .home-hero h1 em { color: var(--rose-deep); white-space: normal; }
  .home-page .home-hero__lead {
    max-width: 25rem;
    margin: .55rem auto 0;
    color: #76636b;
    font: 500 clamp(.95rem, 3.5vw, 1.08rem)/1.4 var(--font-display);
    text-wrap: balance;
  }
  .home-page .lash-style-picker {
    padding: .8rem 0 2rem;
    background: linear-gradient(180deg,#fff8f9 0%,#fff4f6 100%);
  }
  .home-page .lash-style-picker__heading {
    width: calc(100% - 40px);
    margin: 0 auto .18rem;
    font-size: clamp(1.38rem, 5vw, 1.7rem);
    line-height: 1.1;
  }
  .home-page .lash-style-picker__intro { margin: 0 auto 1rem; font-size: .82rem; }
  .home-page .lash-style-picker__grid {
    width: 100%;
    grid-template-columns: minmax(0,1fr);
    gap: 15px;
  }
  .home-page .lash-style-card,
  .home-page .lash-style-card:hover,
  .home-page .lash-style-card:active {
    display: grid;
    width: 100%;
    min-width: 0;
    min-height: 100px;
    grid-template-columns: 78px minmax(0,1fr) 44px;
    align-items: stretch;
    overflow: hidden;
    margin: 0;
    border: 1px solid rgba(145,64,91,.16);
    border-radius: 15px;
    background: #fffafb;
    box-shadow: 0 5px 16px rgba(112,62,79,.065);
    color: #382831;
    transform: none;
  }
  .home-page .lash-style-card__image {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 1;
    width: 78px;
    height: 100%;
    min-height: 100px;
    aspect-ratio: auto;
    background: #f5e6e9;
  }
  .home-page .lash-style-card__image img,
  .home-page .lash-style-card__image img:hover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
    transform: none;
  }
  .home-page .lash-style-card__image::after {
    border: 0;
    background: linear-gradient(90deg,transparent 70%,rgba(255,250,251,.15));
  }
  .home-page .lash-style-card__image:not(.has-owner-photo) img { opacity: .35; }
  .home-page .lash-style-card__placeholder {
    inset: 0;
    gap: .16rem;
    padding: .3rem;
    color: #946779;
  }
  .home-page .lash-style-card__placeholder strong {
    font-size: .62rem;
    line-height: 1.1;
    letter-spacing: .015em;
    text-transform: none;
  }
  .home-page .lash-style-card__placeholder small {
    font-size: .49rem;
    line-height: 1.1;
  }
  .home-page .lash-style-card__content { display: contents; }
  .home-page .lash-style-card__title {
    display: flex;
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: .6rem .4rem;
    color: #382831;
    font-size: clamp(1.25rem, 5.3vw, 1.65rem);
    line-height: 1.04;
    letter-spacing: -.035em;
    text-align: center;
    overflow-wrap: anywhere;
  }
  .home-page .lash-style-card__choose {
    display: grid;
    width: 44px;
    height: 44px;
    min-height: 44px;
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #d77f98;
    color: #fff;
    transform: none;
  }
  .home-page .lash-style-card__choose svg { width: 19px; height: 19px; }
  .home-page .lash-style-card:nth-child(n),
  .home-page .lash-style-card:nth-child(n):hover { width: 100%; margin: 0; }
  .home-page .home-services { padding-top: 3rem; }
  .home-page .home-section-heading { gap: .75rem; }
  .home-page .home-section-heading .section__title { font-size: clamp(2rem, 9vw, 3rem); }
  .home-page .home-service-card { min-height: 0; padding: 1.25rem; }
  .home-page .lookbook-callout { padding: 3.25rem 0; }
  .home-page .home-ritual { padding-block: 3.25rem; }
  .home-page .home-faq { padding-block: 3.25rem; }
  .home-page .home-final-cta { padding-block: 3.5rem; }
  .site-footer { padding-bottom: calc(2rem + env(safe-area-inset-bottom)); }
  .footer__nav { gap: .7rem 1rem; }
  .footer__nav a { min-height: 32px; display: inline-flex; align-items: center; }
}
@media(max-width:360px) {
  .home-page .site-header__inner { gap: .25rem; }
  .home-page .logo-link__text { font-size: 15px; }
  .home-page .site-header .header-cta { padding-inline: .55rem; font-size: 7px; }
  .home-page .nav-toggle { flex-basis: 42px; width: 42px; }
  .home-page .lash-style-card,
  .home-page .lash-style-card:hover { grid-template-columns: 72px minmax(0,1fr) 44px; }
  .home-page .lash-style-card__image { width: 72px; }
  .home-page .lash-style-card__title { font-size: clamp(1.15rem,5.2vw,1.42rem); }
}
@media(prefers-reduced-motion:reduce) {
  .home-page .lash-style-card { animation: none; }
}
.faq-page-layout,.contact-page-layout { display:grid; gap:2rem; align-items:start; }
.faq-page-intro,.contact-page-note { max-width:450px; }
.faq-page-intro .section__title,.contact-page-note .section__title { font-size:clamp(2.7rem,6vw,5rem); }
.contact-options { display:grid; gap:1px; border:1px solid var(--line); background:var(--line); }
.contact-option { padding:clamp(1.5rem,4vw,2.5rem); background:var(--white); }
.contact-option__index { display:block; margin-bottom:2.5rem; color:var(--rose-deep); font:500 9px var(--font-body); letter-spacing:.13em; }
.contact-option h3 { margin-bottom:.6rem; font:500 clamp(2rem,4vw,3rem)/1 var(--font-display); }
.contact-option p { max-width:390px; margin-bottom:1.35rem; color:var(--text-soft); }
.contact-option p a { color:var(--rose-deep); font-weight:600; }
/* Mbeautyluxe soft-pink system */
:root {
  --paper:#fffefe; --ink:#30252b; --cocoa:#a54764; --rose:#d889a0; --rose-light:#f4cbd6;
  --petal:#fdeaf0; --silver:#c7b9be; --line:rgba(115,54,74,.17); --soft-line:rgba(115,54,74,.1);
  --white:#fff; --text:#30252b; --text-soft:#71666c; --text-muted:#897d83;
  --blush:#fff7f9; --blush-deep:#f6dce4; --pink-soft:#f4cbd6; --pink-mid:#d889a0;
  --rose-deep:#91405b; --gold:#d39aac; --shadow:0 18px 45px rgba(92,42,61,.09);
  --shadow-soft:0 8px 24px rgba(92,42,61,.055); --radius:20px;
  --font-display:"Cormorant Garamond",Georgia,serif; --font-body:"Manrope",sans-serif;
}
body::before { opacity:.055; }
.announcement-bar { background:#f7dde3; color:#5b3942; }
.home-page .site-header,.site-header { background:rgba(255,249,248,.94); }
.home-page .site-header.is-at-top { background:transparent; }
.home-hero { background:var(--blush); }
.home-hero h1 { font-size:clamp(4rem,8vw,8rem); }
.home-hero__image::after { background:linear-gradient(0deg,rgba(36,28,30,.28),transparent 48%); }
.home-page .site-header.is-at-top .logo-link__text,.home-page .site-header.is-at-top .nav-toggle__bar { color:var(--ink); }
.home-page .site-header.is-at-top .nav-toggle__bar { background:var(--ink); }
.home-page .site-header.is-at-top .header-cta { background:var(--ink); color:#fffefe; }
.home-hero__copy { color:var(--ink); }
.home-hero .eyebrow-line,.home-hero__lead,.home-hero__footnote { color:var(--text-soft); }
.home-hero h1 em { color:var(--rose-deep); }
.home-hero .btn--primary { background:var(--ink); color:var(--white); }
.home-hero .btn--secondary { border-color:var(--ink); color:var(--ink); }
.home-page .site-nav__list a { font-family:var(--font-body); }
.section__eyebrow,.hero__badge,.specialty-band__label,.booking-progress li span,.service-card__category,
.service-card__duration,.service-card__price,.announcement-bar,.eyebrow-line,.booking-ref,.hours-row,
.footer__tagline,.site-nav__list a { font-family:var(--font-body)!important; }
.mobile-book-bar { background:rgba(255,249,248,.97); }
.home-hero__image img { object-position:65% center; }
.booking-panel,.setup-panel,.auth-card,.quiz-card { border-radius:20px; }
.booking-panel { background:var(--blush); border-color:#efd8dd; box-shadow:var(--shadow-soft); }
.btn { border-radius:3px; }
.service-card { border-radius:12px; }
.service-card__media::after { border-radius:5px; }
.booking-progress ol { grid-template-columns:repeat(4,1fr); }
.booking-progress li { padding:.7rem .5rem 1rem; text-align:center; border-bottom-width:2px; }
.booking-progress li::before { content:attr(data-booking-indicator); justify-self:center; display:grid; place-items:center; width:30px;height:30px;border:1px solid var(--line);border-radius:50%;font:600 12px var(--font-body); }
.booking-progress li span { display:none; }
.service-choice-grid { display:grid;gap:.7rem;grid-template-columns:1fr; margin-top:1rem; }
.service-choice { display:flex;align-items:center;justify-content:space-between;gap:.7rem;text-align:left;padding:1rem 1.1rem;min-height:76px;background:var(--white);border:1px solid #e9cbd3;color:var(--text);cursor:pointer;border-radius:12px;font:600 14px var(--font-body); }
.service-choice small { display:block;color:var(--text-soft);font-weight:400;margin-top:.3rem; }
.service-choice.is-selected { border-color:var(--rose-deep);background:#f7dde3;box-shadow:inset 0 0 0 1px var(--rose-deep); }
.notification-card { margin-top:1.5rem;padding:1.25rem;background:#fff4f5;border:1px solid #efd6dc;border-radius:16px; }
.notification-card h2,.notification-card h3 { font:600 1.8rem/1 var(--font-display);margin-bottom:.45rem; }
.notification-card p { color:var(--text-soft);font-size:.9rem; }
.notification-actions { display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1rem; }
.notification-actions button:not(.btn) { border:0;background:none;color:var(--text-soft);text-decoration:underline;padding:.6rem;cursor:pointer;font:600 12px var(--font-body); }
.install-banner { position:fixed;z-index:30;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));max-width:520px;margin:auto;background:#fffefe;border:1px solid #efd6dc;box-shadow:var(--shadow);padding:1.15rem;border-radius:18px; }
.install-banner h2 {font:600 1.5rem var(--font-display)} .install-banner p{font-size:.85rem;color:var(--text-soft)}
.install-dialog { width:min(100% - 1.2rem,520px);max-height:90dvh;margin:auto;padding:1.5rem;border:1px solid #efd6dc;border-radius:22px;background:var(--paper);color:var(--text);box-shadow:var(--shadow); }
.install-dialog::backdrop {background:rgba(36,28,30,.42);backdrop-filter:blur(3px)}
.install-dialog__steps {display:grid;gap:.7rem;margin:1.3rem 0}
.install-dialog__step {display:flex;align-items:center;gap:1rem;padding:.8rem;background:var(--white);border-radius:12px}
.install-dialog__step b {display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;background:var(--petal);border-radius:50%;color:var(--rose-deep)}
.notification-settings,.notification-center {display:grid;gap:.8rem;margin-top:2rem}
.preference-row {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:var(--white);border:1px solid var(--line);border-radius:12px}
.preference-row input {width:22px;height:22px;accent-color:var(--rose-deep)}
.notice-preview {padding:1rem;border-radius:14px;background:#f1eeee;color:var(--ink);max-width:360px}
.notice-preview strong {display:block}.notice-preview p{font-size:.85rem;margin-top:.3rem}
.notification-event {padding:1rem;background:var(--white);border:1px solid var(--line);border-radius:12px}
.notification-event small {display:block;color:var(--text-soft)}
.reschedule-control {display:grid;gap:.25rem;color:var(--text-muted);font-size:9px;font-weight:600;text-transform:uppercase}
.reschedule-control input {min-height:40px;max-width:170px;padding:.45rem;border:1px solid var(--line);background:var(--paper);font:500 14px var(--font-body);color:var(--text)}
.booking-actions [data-reschedule-message] {flex-basis:100%;margin:0}
.booking-record {align-items:flex-start}
.booking-actions select {max-width:160px;min-height:40px;padding:.45rem;font:500 13px var(--font-body)}
.booking-progress {overflow:visible}
.form-message[hidden] {display:none}
@media(min-width:600px){.service-choice-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px) {
  .home-page .site-header {top:30px}
  .home-hero {background:var(--blush);color:var(--ink);min-height:0;padding:calc(var(--header-h) + 1rem) 0 2.5rem}
  .home-hero__inner {grid-template-columns:1fr;gap:1.2rem}
  .home-hero__copy {padding:.5rem 0}
  .home-hero h1 {font-size:clamp(3.15rem,15vw,4.5rem);line-height:.84}
  .home-hero__image {position:relative;inset:auto;width:100%;height:76vw;min-height:275px;max-height:430px}
  .home-hero__image::after {background:linear-gradient(0deg,rgba(36,28,30,.2),transparent 38%)}
  .home-hero__image figcaption {bottom:.8rem;left:.8rem;color:white}
  .home-hero .btn-row {display:flex;flex-direction:column;align-items:stretch}
  .home-hero .btn-row .btn {width:100%}
  .home-page .site-nav {background:rgba(255,249,248,.99)}
  .home-page .site-nav__list a {font-size:1.8rem;color:var(--ink)}
  .site-header__inner {gap:.35rem}
  .logo-link img {width:30px;height:30px}
  .logo-link__text {font-size:16px}
  .header-cta {min-height:38px;padding:.5rem .65rem;font-size:8px;letter-spacing:.07em}
  .nav-toggle {width:40px;height:42px;order:3}
  .booking-shell {padding:2.5rem 1rem 5rem}
  .booking-intro {margin-bottom:1.5rem}
  .booking-intro h1 {font-size:clamp(2.8rem,13vw,4rem)}
  .booking-panel {padding:1.1rem}
  .booking-progress li strong {font-size:9px}
  .booking-actions .reschedule-control {flex:1 1 42%}
  .booking-actions .reschedule-control input {max-width:100%;width:100%}
  .booking-actions select {max-width:none}
  .booking-record {padding:1rem}
}
@media(prefers-reduced-motion:reduce){.install-banner,.install-dialog,*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media (min-width:768px) {
  .faq-page-layout,.contact-page-layout { grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,7vw,7rem); }
  .contact-options { grid-template-columns:1fr 1fr; }
}
@media (max-width:1099px) {
  .site-header__inner { position:relative; }
  .site-nav { position:fixed; inset:var(--header-h) 0 0; height:calc(100dvh - var(--header-h)); display:grid; align-content:center; overflow:auto; padding:1.2rem 0 calc(1.2rem + env(safe-area-inset-bottom)); background:rgba(245,241,235,.985); transform:translateY(-8px); z-index:2; }
  .site-nav.is-open { transform:none; }
  .site-nav__list { width:min(100% - 3rem,520px); margin:auto; display:grid; justify-content:stretch; gap:0; }
  .site-nav__list a { padding:1rem 0; border-bottom:1px solid var(--line); color:var(--cocoa); font:500 clamp(1.6rem,5vw,2.3rem)/1 var(--font-display); letter-spacing:-.025em; text-transform:none; }
  .site-nav__list a[aria-current="page"] { color:var(--rose-deep); }
  .nav-toggle { display:flex; z-index:3; }
  .home-page .site-nav { top:calc(var(--header-h) + 30px); height:calc(100dvh - var(--header-h) - 30px); }
}
@media (min-width:768px) and (max-width:1099px) {
  .site-nav { flex:initial; }
  .site-header__inner .header-cta { order:2; margin-left:auto; }
}
@media (max-width:767px) {
  .home-hero { min-height:calc(100svh - 30px); padding:calc(var(--header-h) + 2rem) 0 4rem; background:var(--cocoa); color:var(--white); }
  .home-hero__inner { min-height:calc(100svh - var(--header-h) - 30px); align-items:center; }
  .home-page .site-header.is-at-top .logo-link__text { color:var(--white); }
  .home-page .site-header.is-at-top .nav-toggle__bar { background:var(--white); }
  .home-page .site-header.is-at-top .header-cta { background:var(--white); color:var(--cocoa); }
  .home-hero__copy { max-width:540px; padding:1.3rem 0; color:var(--white); }
  .home-hero .eyebrow-line,.home-hero__footnote { color:#f0dfd2; }
  .home-hero h1 { max-width:100%; color:var(--white); }
  .home-hero h1 em { color:#ead3c3; white-space:nowrap; }
  .home-hero__lead { max-width:330px; color:rgba(255,250,246,.9); }
  .home-hero .btn--primary { background:var(--paper); color:var(--cocoa); }
  .home-hero .btn--primary:hover { background:var(--rose-light); }
  .home-hero .btn--secondary { border-color:rgba(255,250,246,.76); color:var(--white); }
  .home-hero .btn--secondary:hover { background:var(--white); color:var(--cocoa); }
  .home-hero__image { position:absolute; inset:0; z-index:0; width:100%; height:100%; min-height:0; }
  .home-hero__image img { object-position:67% center; }
  .home-hero__image::after { background:linear-gradient(90deg,rgba(25,19,18,.88) 0%,rgba(25,19,18,.67) 48%,rgba(25,19,18,.12) 100%),linear-gradient(0deg,rgba(25,19,18,.55) 0%,transparent 42%); }
  .home-hero__image figcaption { left:.9rem; right:auto; bottom:calc(7.5rem + env(safe-area-inset-bottom)); max-width:205px; align-items:flex-start; }
  .home-hero__image-index { top:1rem; right:1rem; }
  .home-hero__scroll { display:none; }
  .home-hero__scroll span { color:var(--rose-light); }
}
@media(max-width:767px) {
  .home-hero { min-height:0; padding:calc(var(--header-h) + 1rem) 0 2.5rem; background:var(--blush); color:var(--ink); }
  .home-hero__inner { min-height:0; grid-template-columns:1fr; gap:1.2rem; align-items:initial; }
  .home-hero__copy { padding:.5rem 0; color:var(--ink); }
  .home-hero h1 { color:var(--ink); font-size:clamp(3.15rem,15vw,4.5rem); line-height:.84; }
  .home-hero h1 em { color:var(--rose-deep); white-space:nowrap; }
  .home-hero .eyebrow-line,.home-hero__lead,.home-hero__footnote { color:var(--text-soft); }
  .home-hero__image { position:relative; inset:auto; width:100%; height:76vw; min-height:275px; max-height:430px; }
  .home-hero__image::after { background:linear-gradient(0deg,rgba(36,28,30,.2),transparent 38%); }
  .home-hero__image figcaption { right:.8rem;bottom:.8rem;left:.8rem;max-width:none;color:#fff; }
  .home-hero .btn-row { display:flex;flex-direction:column;align-items:stretch; }
  .home-hero .btn--primary { background:var(--ink);color:var(--white); }
  .home-hero .btn--secondary { border-color:var(--ink);color:var(--ink); }
  .home-page .site-header.is-at-top .logo-link__text { color:var(--ink); }
  .home-page .site-header.is-at-top .nav-toggle__bar { background:var(--ink); }
  .home-page .site-header.is-at-top .header-cta { background:var(--ink);color:var(--white); }
  .home-page .site-nav { background:rgba(255,249,248,.99); }
}
.mockup-banner,.section__eyebrow,.hero__badge,.pending-note,.specialty-band__label,.announcement-bar,
.site-nav__list a,.eyebrow-line,.home-hero__footnote,.home-hero__image figcaption,.home-hero__image-index,
.home-hero__scroll,.home-service-card__meta,.home-service-card__link,.ritual-list li>span,
.contact-option__index,.service-card__media-note,.service-card__category,.service-card__duration,
.service-card__price,.quiz-card__top,.service-detail__facts dt,.gallery-item__tap,.gallery-lightbox__visual span,
.booking-progress li span,.footer__tagline,.summary-list dt,.booking-ref {
  font-family:var(--font-body)!important;
}

/* White-and-pink public theme, including older sections with fixed color values. */
.announcement-bar { background:var(--petal); color:var(--rose-deep); }
.site-header,.home-page .site-header,.home-page .site-header.is-scrolled { background:rgba(255,254,254,.95); }
.home-page .site-header.is-at-top { background:transparent; }
.site-nav__list a,.home-page .site-nav__list a { color:var(--text); }
.site-nav__list a:hover,.site-nav__list a[aria-current="page"],.home-page .site-nav__list a:hover,.home-page .site-nav__list a[aria-current="page"] { color:var(--rose-deep); }
.site-footer { background:var(--cocoa); color:#fff7f9; }
.site-footer .footer__nav a,.site-footer .footer__bottom { color:#fff1f5; }
.site-footer .footer__bottom a,.site-footer .footer__tagline { color:#fdeaf0; }
.home-hero__image { background:var(--pink-mid); }
.home-hero__image::after { background:linear-gradient(0deg,rgba(73,28,45,.34),transparent 50%); }
.editorial-statement__grid > div > p,.home-final-cta > .container > p:not(.section__eyebrow) { color:#fff1f5; }
.lookbook-callout__ornament { color:rgba(145,64,91,.1); }
.home-page .site-header.is-at-top .logo-link__text { color:var(--ink); }
.home-page .site-header.is-at-top .nav-toggle__bar { background:var(--ink); }
.home-page .site-header.is-at-top .header-cta { background:var(--cocoa); color:#fff; }
.home-hero .btn--primary { background:var(--cocoa); color:var(--white); }
.home-hero .btn--primary:hover { background:var(--rose-deep); }
.home-hero .btn--secondary { border-color:var(--cocoa); color:var(--cocoa); }
.home-hero .btn--secondary:hover { background:var(--cocoa); color:var(--white); }
.btn--outline-light { border-color:rgba(255,255,255,.65); }
.specialty-band__text { color:#fff1f5; }
.studio-visual { background:radial-gradient(circle at 30% 30%,var(--rose-light),transparent 27%),radial-gradient(circle at 72% 65%,#fff,transparent 35%),var(--blush-deep); color:var(--rose-deep); }
.service-card__media { background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.85),transparent 22%),linear-gradient(145deg,#efd0dc,#fff7fa 52%,#ddb0c0); }
.service-card__media--fills { background:radial-gradient(circle at 65% 35%,rgba(255,255,255,.72),transparent 24%),linear-gradient(145deg,#dea2b6,#ffeaf2 48%,#c67e98); }
.gallery-item,.gallery-lightbox__visual { background:linear-gradient(135deg,#e8b4c3,var(--petal) 45%,#fff7fa); }
.gallery-item:nth-child(2n) { background:linear-gradient(145deg,#f4cbd6,#fff7fa 48%,#dea2b6); }
.contact-options .contact-option:last-child:nth-child(odd) { grid-column:1/-1; }
@media (max-width:1099px) {
  .site-nav,.home-page .site-nav { background:rgba(255,254,254,.99); visibility:hidden; pointer-events:none; }
  .site-nav.is-open,.home-page .site-nav.is-open { visibility:visible; pointer-events:auto; }
}
@media (max-width:767px) {
  .home-page .site-header.is-at-top .logo-link__text { color:var(--ink); }
  .home-page .site-header.is-at-top .nav-toggle__bar { background:var(--ink); }
  .home-page .site-header.is-at-top .header-cta { background:var(--cocoa); color:#fff; }
  .home-hero__image::after { background:linear-gradient(0deg,rgba(73,28,45,.28),transparent 42%); }
}

/* Final mobile cascade guard: several legacy editorial rules set top:30px and
   re-expand booking calendar gutters after the shared responsive rules. */
@media(max-width:767px) {
  .home-page .site-header {
    top: 0 !important;
    left: auto;
    right: auto;
  }
  .home-page .site-header.is-at-top,
  .home-page .site-header.is-scrolled { background:#fff4f6 !important; }
  .home-page .home-hero {
    min-height: 0;
    padding: 1.6rem 0 1.15rem;
    background: #fff8f9;
    color: var(--ink);
  }
  .home-page .home-hero__inner { min-height:0; }
  .home-page .home-hero__copy { text-align:center; }
  .home-page .home-hero h1 { font-size:clamp(2.35rem,10.5vw,3.6rem); line-height:.99; }
  .home-page .home-hero h1 em { white-space:normal; }
  .home-page .home-hero__lead { margin:.55rem auto 0; text-align:center; }
  .home-page .site-nav { top:calc(var(--header-h) + env(safe-area-inset-top)) !important; }
  .home-page .lash-style-card,
  .home-page .lash-style-card:nth-child(n),
  .home-page .lash-style-card:hover,
  .home-page .lash-style-card:nth-child(n):hover {
    width:100%;
    margin:0;
    grid-template-columns:78px minmax(0,1fr) 44px;
    transform:none;
  }
  .home-page .lash-style-card__image { width:78px; min-height:100px; }
  .home-page .lash-style-card__content { display:contents; }
  .home-page .lash-style-card__title { grid-column:2; grid-row:1; }
  .home-page .lash-style-card__choose { width:44px; height:44px; min-height:44px; grid-column:3; grid-row:1; }
  .home-page .lash-style-picker__grid { width:100%; gap:15px; }
  .home-page .lash-style-picker__heading { width:100%; }
}
@media(max-width:360px) {
  .home-page .lash-style-card,
  .home-page .lash-style-card:hover { grid-template-columns:72px minmax(0,1fr) 44px; }
  .home-page .lash-style-card__image { width:72px; }
}
@media(max-width:1099px) {
  .home-page .site-nav { background:#fff7f9 !important; }
}