/* Crispina's supplied pink-and-gold crowned monogram sets the visual direction. */
/* The rotated gold frame around the hero photo reaches past the viewport at some widths;
   clipping the page on the x axis keeps phones and tablets from bouncing sideways. */
html,body{overflow-x:clip}
.beauty-site{--red:#b31548;--pink:#fff0f6;--rose:#efb6cc;--gold:#bd9341;--paper:#fffbfd;--ink:#34272f;--muted:#75616d;background:var(--paper)}
.beauty-site .topline{background:#70203d;font-size:9px;padding-top:10px;padding-bottom:10px}
.beauty-site .site-header{height:130px;border-bottom:1px solid #f0dfe8;position:relative;z-index:10}
.brand.brand-lockup{display:flex;align-items:center;gap:15px;letter-spacing:0}
.logo-disc{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:92px;height:92px;border-radius:50%}
.logo-disc>img{display:block;width:100%;height:100%;object-fit:contain}
.brand-lockup .logo-disc{width:92px;height:92px}
.brand-name{font:25px/1.2 var(--serif);color:#7f2144;white-space:nowrap}
.brand .brand-name small{font:8px/1.7 var(--sans);letter-spacing:1.7px;text-align:left;color:#8a6977;margin-top:7px}
.beauty-site .site-header nav{gap:24px}
.beauty-site .button{background:linear-gradient(120deg,#be1c52,#941039);border:0;border-radius:5px;box-shadow:0 6px 18px #ad1a4217;padding:18px 25px}
.beauty-site .button:hover{background:linear-gradient(120deg,#a20e40,#7d0a2d);box-shadow:0 8px 24px #ad1a4228}
.beauty-site .button.light{background:#fff8ee;color:#8f1f43;box-shadow:none}
.beauty-site .button.small{padding:13px 18px}
.beauty-site .hero{padding-top:62px;padding-bottom:95px;gap:60px;grid-template-columns:1fr 1fr}
.beauty-site .hero-copy h1{font-size:clamp(50px,5.5vw,74px);letter-spacing:-2.8px;line-height:1.08;margin-top:25px;margin-bottom:26px}
.beauty-site .hero-copy h1 em{white-space:nowrap;font-weight:400}
.beauty-site .eyebrow{color:#923858;letter-spacing:2.1px}
.beauty-site .hero-copy>p{font-size:14px;line-height:1.95;max-width:365px}
.beauty-site .hero-actions{gap:20px}
.beauty-site .hero-note{margin-top:35px;font-size:12px;border-color:#c49a4a}
.hero-visual{position:relative;padding:0 0 40px 12px;min-width:0}
/* The gold line is an arch that echoes the photo's own corners, spaced 14px out on every side.
   Its radius is the photo's radius plus that gap (220+14 top, 100+14 bottom) so the two curves run parallel. */
.hero-visual:before{content:'';position:absolute;inset:-14px -14px 26px -2px;border:1px solid #d7b66d;border-radius:234px 234px 114px 114px;pointer-events:none}
.beauty-site .hero-photograph{height:555px;border-radius:220px 220px 100px 100px;box-shadow:0 30px 65px #6b284a20}
.beauty-site .hero-photograph .hero-image{object-position:49% 32%}
.beauty-site .hero-photograph figcaption{left:39px;bottom:38px}
.beauty-site .hero-photograph figcaption em{font-size:42px}
.hero-detail{position:absolute;bottom:0;right:-18px;width:165px;margin:0;padding:7px;background:#fffafc;border-radius:95px 95px 6px 6px;transform:rotate(7deg);box-shadow:0 12px 32px #5d2b3c25;border:1px solid #ead4df}
.hero-detail-photo{width:100%;height:165px;object-fit:cover;object-position:50% 45%;border-radius:85px 85px 2px 2px}
.hero-detail figcaption{font:italic 16px/1.3 var(--serif);text-align:center;color:#8c2b50;padding:9px 0 5px}
.hero-visual-label{position:absolute;left:18px;bottom:8px;font-size:8px;letter-spacing:2.1px;color:#805767}
.beauty-site .service-ribbon{background:#f9e6ed;border-top:1px solid #efd1dd;border-bottom:1px solid #efd1dd;gap:35px;padding:20px 0}
.beauty-site .service-ribbon span+span:before{content:'/';margin-right:35px;color:#b58a3c}
.beauty-site .service-card.service-card{background:#fff;border:1px solid #eddce5;border-radius:12px;box-shadow:0 8px 25px #54243a06;transition:box-shadow .2s,transform .2s;padding-bottom:25px}
.beauty-site .service-card:hover{transform:translateY(-4px);box-shadow:0 16px 38px #54243a12}
.beauty-site .service-card-image{height:280px;margin-bottom:25px}
.beauty-site .service-card-image:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#34132129);pointer-events:none}
.beauty-site .service-card-image .service-number{border-radius:50%;width:35px;height:35px;display:grid;place-items:center;padding:0;color:#8f2450;box-shadow:0 3px 14px #34262c14}
.beauty-site .service-card h3{font-size:26px;min-height:65px;display:flex;align-items:center;line-height:1.2}
.beauty-site .service-card p{font-size:12px;min-height:82px;line-height:1.9}
.beauty-site .service-card>a{color:#94264d;border-color:#efe0e6;font-size:11px}
.beauty-site .story-section{background:radial-gradient(ellipse at 95% 20%,#fff8ef,transparent 65%),#fbecf2;padding:90px 0;border-block:1px solid #f1dfe6}
.beauty-site .story-photograph{height:490px;border-radius:180px 10px 110px 10px;box-shadow:0 20px 45px #6b284a0f}
.beauty-site .story-photograph figcaption{left:35px;bottom:35px}
.beauty-site .story-copy h2{font-size:45px}
.beauty-site .story-values{font-size:11px}
.beauty-site .story-values span{border-left:2px solid #c7a256;padding-left:12px}
.beauty-site .inspiration-tile{border-radius:12px}.beauty-site .inspiration-tile>span{bottom:25px;left:25px}
.beauty-site .page-heading{padding-top:62px;padding-bottom:35px;position:relative}
.beauty-site .page-heading:after{content:'';display:block;width:60px;height:2px;background:#c39a4d;margin-top:28px}
.beauty-site .page-heading h1{font-size:clamp(46px,6vw,72px);margin-bottom:18px}
.beauty-site .detail-card{border-radius:12px;border-color:#eddce5;box-shadow:0 10px 30px #562c4106}
.beauty-site .detail-card>img.service-detail-photo{border-radius:10px 10px 0 0;height:280px}
.beauty-site .detail-card h2{font-size:29px;line-height:1.2}
.beauty-site .detail-card .service-meta{color:#8e3558;padding:12px 0;border-block:1px solid #f0e3e9;font-size:10px}
.beauty-site .detail-card .button{width:100%;margin-top:10px}
.editorial-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.editorial-gallery-item{position:relative;display:block;height:350px;border-radius:12px;overflow:hidden;background:#f4e4eb}
.editorial-gallery-item:nth-child(3n+2){border-radius:150px 150px 12px 12px}
.editorial-gallery-photo{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.editorial-gallery-item:hover .editorial-gallery-photo{transform:scale(1.04)}
.editorial-gallery-item:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#230e1cbb)}
.editorial-gallery-item>span{position:absolute;z-index:1;left:23px;bottom:24px;right:20px;color:white;font:27px/1.2 var(--serif)}
.gallery-invitation{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#fbedf3;padding:42px;margin-top:50px;border:1px solid #efdae4;border-radius:12px}
.gallery-invitation h2{font-size:32px;max-width:390px;margin-bottom:10px}.gallery-invitation p{margin-bottom:0;font-size:13px}
.beauty-site .contact-panel{border:1px solid #ebd1df;background:#fbeaf1;border-radius:160px 160px 15px 15px;box-shadow:0 18px 55px #642d460d}
.beauty-site .contact-panel .contact-photo{height:300px}
.beauty-site .contact-band{background:radial-gradient(ellipse at top right,#bf416c55,transparent 65%),linear-gradient(105deg,#72213f,#a82150);position:relative;border-top:3px solid #c5a15a}
.beauty-site .contact-band .eyebrow{color:#edd6a6}.beauty-site .contact-band .button{flex-shrink:0}
.beauty-site .footer-brand{display:block;margin-bottom:18px;width:126px}.footer-brand .logo-disc{width:126px;height:126px}
.beauty-site .footer-grid{padding-top:45px;align-items:center;grid-template-columns:1.15fr 1fr 1.3fr 1.1fr}
.beauty-site .footer-grid>div:not(:first-child){align-self:start;padding-top:30px}
.beauty-site .form-card{border-radius:14px;border-color:#ebd9e3;box-shadow:0 18px 55px #53223908}
.beauty-site .empty-state{border-radius:15px;background:linear-gradient(135deg,#fff2f6,#f8e4ec);border:1px solid #eed2df}
.admin-sidebar .brand.admin-logo{width:140px;margin:0 auto 30px}.admin-logo .logo-disc{width:140px;height:140px;background:#fffafc}.admin-logo .logo-disc>img{width:82%;height:82%}
@media(max-width:1100px){.brand-name{display:none}.beauty-site .hero{gap:35px}.beauty-site .hero-copy h1{font-size:60px}.beauty-site .site-header nav{gap:20px}.beauty-site .hero-photograph{height:520px}.hero-detail{right:-5px;width:145px}.hero-detail-photo{height:145px}.beauty-site .story-copy h2{font-size:39px}.beauty-site .service-card-image{height:245px}}
@media(max-width:760px){.beauty-site .site-header{height:110px}.brand-lockup .logo-disc{width:80px;height:80px}.brand-name{display:block;font-size:clamp(15px,4vw,20px);white-space:normal}.brand.brand-lockup{min-width:0}.brand-lockup .brand-name{min-width:0}.brand .brand-name small{font-size:6px;letter-spacing:1.1px}.beauty-site .site-header nav{top:100%}.beauty-site .hero{padding-top:38px;padding-bottom:55px;gap:36px;grid-template-columns:1fr}.beauty-site .hero-copy h1{font-size:clamp(44px,10.7vw,66px);line-height:1.12;letter-spacing:-2.2px;margin:22px 0}.beauty-site .hero-copy>p{max-width:450px}.beauty-site .hero-actions{gap:20px}.beauty-site .hero-note{margin-top:28px}.hero-visual{padding:0 8px 37px 5px;max-width:500px;width:100%;margin:auto}.beauty-site .hero-photograph{height:460px;max-width:none;border-radius:190px 190px 85px 85px}.hero-visual:before{inset:-12px -4px 25px -7px;border-radius:202px 202px 97px 97px}.hero-detail{width:128px;right:0;bottom:0}.hero-detail-photo{height:128px}.hero-detail figcaption{font-size:13px}.hero-visual-label{font-size:6.5px;left:10px;bottom:6px;letter-spacing:1.5px}.beauty-site .hero-photograph figcaption{left:28px;bottom:38px}.beauty-site .hero-photograph figcaption em{font-size:36px}.beauty-site .service-card-image{height:320px}.beauty-site .service-card h3{min-height:0;font-size:29px;margin-bottom:15px}.beauty-site .service-card p{min-height:0;font-size:13px}.beauty-site .story-section{padding:55px 0}.beauty-site .story-photograph{height:400px;border-radius:140px 8px 80px 8px}.beauty-site .story-copy h2{font-size:37px}.beauty-site .page-heading{padding-top:38px}.beauty-site .page-heading h1{font-size:46px}.editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.editorial-gallery-item{height:260px;border-radius:9px}.editorial-gallery-item:nth-child(3n+2){border-radius:75px 75px 9px 9px}.editorial-gallery-item:last-child{grid-column:1/-1;height:300px}.editorial-gallery-item>span{font-size:21px;left:15px;bottom:18px;right:12px}.gallery-invitation{padding:27px;flex-direction:column;align-items:flex-start;gap:22px}.gallery-invitation h2{font-size:29px}.beauty-site .contact-panel .contact-photo{height:275px}.beauty-site .footer-grid{grid-template-columns:1fr 1fr;gap:20px}.beauty-site .footer-grid>div:not(:first-child){padding-top:8px}.beauty-site .footer-grid>div:first-child{display:flex;align-items:center;gap:22px;grid-column:1/-1}.beauty-site .footer-brand{width:104px;flex-shrink:0}.footer-brand .logo-disc{width:104px;height:104px}.beauty-site .footer-grid>div:first-child p{margin-top:0}.admin-sidebar .brand.admin-logo{width:110px;margin-bottom:18px}.admin-logo .logo-disc{width:110px;height:110px}}
@media(prefers-reduced-motion:reduce){.beauty-site .service-card,.editorial-gallery-photo{transition:none}}

/* Responsive request form and review fixes. */
.mobile-booking-alternatives{display:none}.booking-request-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:54px;align-items:start}.booking-guidance{padding:20px 0;min-width:0}.booking-guidance h2{font-size:42px}.booking-guidance p,.booking-guidance li{font-size:14px;line-height:1.9}.booking-guidance a{color:#92284f;text-decoration:underline;overflow-wrap:anywhere}.booking-guidance ol{padding-left:20px;color:var(--muted);margin:25px 0}.booking-note{padding:18px;background:#fbeaf1;border-left:3px solid #c39a4d;border-radius:3px}.booking-alternatives{padding-top:20px;border-top:1px solid #eddce5}.booking-alternatives h3{font-size:24px}.booking-alternatives a{display:block;width:fit-content;min-height:42px}.request-form{min-width:0}.request-form h2{font-size:33px}.form-hint{font-size:12px;color:var(--muted);line-height:1.7}.request-form .form-grid>label{min-width:0}.request-form input,.request-form select,.request-form textarea{min-width:0;max-width:100%}.request-form .button{width:100%}.request-form .check{line-height:1.7}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.request-form .alert ul{padding-left:18px}.request-form [aria-invalid=true]{border-color:#aa1647;box-shadow:0 0 0 1px #aa1647}.request-admin-card{padding:24px 0;border-bottom:1px solid var(--line)}.request-admin-card a{color:var(--red);overflow-wrap:anywhere}.beauty-site .site-header nav>a:not(.button){min-height:44px;display:flex;align-items:center}.menu-toggle{min-height:44px;min-width:60px}.beauty-site .brand-lockup{min-width:0}.beauty-site .footer-grid a,.beauty-site .contact-detail a{overflow-wrap:anywhere}.beauty-site .contact-grid>*,.beauty-site .story-grid>*,.beauty-site .full-service-grid>*,.beauty-site .service-grid>*{min-width:0}.beauty-site .full-service-grid .detail-card{display:flex;flex-direction:column}.beauty-site .detail-card>.button{margin-top:auto;min-height:44px}.beauty-site label.check>span{min-width:0}.beauty-site .service-ribbon{justify-content:flex-start}.beauty-site .service-ribbon span{flex-shrink:0}.beauty-site .stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
@media(min-width:761px) and (max-width:1100px){.beauty-site .brand-name{display:block;font-size:21px;white-space:normal;max-width:170px}.beauty-site .brand .brand-name small{font-size:7px;letter-spacing:1px}.beauty-site .site-header nav{gap:17px}.brand-lockup .logo-disc{width:82px;height:82px}}
@media(max-width:900px){.booking-request-layout{gap:28px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.request-form{padding:25px}.request-form .form-grid{grid-template-columns:1fr}.booking-guidance h2{font-size:34px}}
@media(max-width:760px){.mobile-booking-alternatives{display:block;margin:25px 0 0;font-size:13px;line-height:2}.mobile-booking-alternatives a{color:var(--red);text-decoration:underline}.booking-request-layout{grid-template-columns:1fr;gap:15px}.booking-guidance{padding-top:0}.booking-guidance h2{font-size:34px}.booking-guidance ol{margin:15px 0}.booking-alternatives{display:none}.request-form{padding:24px 20px}.request-form h2{font-size:30px}.beauty-site input,.beauty-site select,.beauty-site textarea{font-size:16px}.beauty-site .site-header{gap:12px}.beauty-site .brand.brand-lockup{gap:8px;flex:1}.beauty-site .brand-lockup .logo-disc{width:68px;height:68px}.beauty-site .brand-name{font-size:18px;white-space:normal;line-height:1.25}.beauty-site .brand .brand-name small{font-size:6px;letter-spacing:.7px}.beauty-site .menu-toggle{flex-shrink:0;font-size:12px;gap:8px;padding:8px 0}.beauty-site .site-header nav{top:100%;box-shadow:0 14px 24px #54243a12}.beauty-site .hero-copy h1{font-size:clamp(39px,10.7vw,66px)}.beauty-site .hero-copy h1 em{white-space:normal}.beauty-site .section-heading .text-link{min-height:36px}.beauty-site .inspiration-tile>span{font-size:21px}.beauty-site .footer-grid>div:first-child{flex-wrap:wrap;gap:8px}.beauty-site .footer-grid>div:first-child p{flex:1;min-width:130px}}
@media(max-width:360px){.beauty-site .site-header{padding-left:14px;padding-right:14px}.beauty-site .brand-name{font-size:16px}.beauty-site .brand-lockup .logo-disc{width:58px;height:58px}.beauty-site .brand .brand-name small{font-size:5px}.beauty-site .hero-visual-label{max-width:140px;font-size:6px}.beauty-site .editorial-gallery-item>span{font-size:19px}}
/* Photo carousel and swipeable inspiration rail. Content is visible without JavaScript. */
.hero-carousel{position:relative;min-width:0}.carousel-stage{position:relative}.hero-carousel .photo-slide{display:none;margin:0}.hero-carousel .photo-slide.is-active{display:block}.carousel-ready .carousel-stage{height:555px}.carousel-ready .photo-slide{display:block;position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 1.1s;pointer-events:none}.carousel-ready .photo-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}.carousel-ready .photo-slide.is-active .hero-image{animation:crispina-photo-drift 7s ease-out both}.carousel-controls{position:absolute;left:35px;right:35px;bottom:16px;z-index:4;display:flex;align-items:center;justify-content:center;gap:12px;color:#fff}.carousel-controls>button{background:#2c1623ba;border:1px solid #ffffff5c;color:white;min-width:32px;height:32px;padding:0 8px;border-radius:20px;font-size:12px;backdrop-filter:blur(8px)}.carousel-controls [data-carousel-pause]{font-size:9px;min-width:48px}.carousel-dots{display:flex;gap:8px;align-items:center}.carousel-dots button{width:22px;height:28px;background:transparent;padding:0;position:relative}.carousel-dots button:after{content:'';position:absolute;left:7px;top:10px;width:7px;height:7px;border-radius:50%;background:#ffffff70;transition:background .3s,transform .3s}.carousel-dots button[aria-pressed=true]:after{background:#fff;transform:scale(1.35)}.beauty-site .hero-carousel .hero-photograph figcaption{bottom:62px}.photo-journal{background:linear-gradient(180deg,#fff9fc,#f9eaf1);overflow:hidden;border-block:1px solid #f0dae5}.photo-rail{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 4px 25px;scrollbar-color:#c27897 #f5e2eb;scrollbar-width:thin}.journal-photo{flex:0 0 30%;min-width:245px;height:380px;position:relative;border-radius:160px 160px 12px 12px;overflow:hidden;scroll-snap-align:start;background:#ead5e0}.journal-photo:nth-child(even){border-radius:12px 12px 160px 160px}.journal-image{width:100%;height:100%;object-fit:cover;transition:transform .6s}.journal-photo:hover .journal-image{transform:scale(1.06)}.journal-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#29121dc9)}.journal-photo>span{position:absolute;left:23px;right:23px;bottom:32px;z-index:1;color:#fff;font:27px/1.2 var(--serif)}.journal-photo:nth-child(even)>span{bottom:55px;text-align:center}
/* The inspiration arches slowly turn between an upward and downward arch instead of sitting fixed. */
.journal-photo{animation:crispina-arch-turn 14s ease-in-out infinite}
.journal-photo:nth-child(even){animation-direction:reverse}
.journal-photo:nth-child(2){animation-delay:-2.3s}
.journal-photo:nth-child(3){animation-delay:-4.6s}
.journal-photo:nth-child(4){animation-delay:-6.9s}
.journal-photo:nth-child(5){animation-delay:-9.2s}
.journal-photo:nth-child(6){animation-delay:-11.5s}
@keyframes crispina-arch-turn{0%,100%{border-radius:160px 160px 12px 12px;transform:translateY(0)}50%{border-radius:12px 12px 160px 160px;transform:translateY(-9px)}}.photo-rail-controls{display:flex;gap:10px}.photo-rail-controls button{border:1px solid #d7b2c3;background:#fff7fb;border-radius:50%;height:44px;width:44px;color:#8e2850;font-size:19px}.photo-rail-controls button:hover{background:#8e2850;color:white}.reveal-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s ease var(--reveal-delay,0ms)}.reveal-on-scroll.is-revealed{opacity:1;transform:translateY(0)}
@keyframes crispina-photo-drift{from{transform:scale(1)}to{transform:scale(1.055)}}
@media(max-width:1100px){.carousel-ready .carousel-stage{height:520px}.journal-photo{flex-basis:38%}}
@media(max-width:760px){.carousel-ready .carousel-stage{height:460px}.carousel-controls{left:22px;right:22px;gap:9px;bottom:15px}.carousel-controls>button{height:29px;min-width:29px}.carousel-dots{gap:3px}.journal-photo{flex-basis:76%;min-width:220px;height:340px}.photo-rail{gap:15px}.photo-rail-controls{align-self:flex-end;margin-top:-12px}.beauty-site .hero-carousel .hero-photograph figcaption{bottom:62px}.journal-photo>span{font-size:26px}}
@media(prefers-reduced-motion:reduce){.carousel-ready .photo-slide{transition:none}.carousel-ready .photo-slide.is-active .hero-image{animation:none}.reveal-on-scroll{opacity:1;transform:none;transition:none}.journal-image{transition:none}.journal-photo{animation:none;transform:none}}

/* Readable copy and a balanced, wrapping service ribbon. */
.beauty-site{font-size:16px;line-height:1.7;color-scheme:light}
.beauty-site .service-ribbon{justify-content:center;flex-wrap:wrap;gap:10px 0;padding:18px 24px}
.beauty-site .service-ribbon span{font-size:11px;letter-spacing:2px}
.beauty-site .service-ribbon span+span:before{margin:0 26px}
.beauty-site .hero-copy>p,.beauty-site .service-card p,.beauty-site .detail-card p,.beauty-site .story-copy p,.beauty-site .gallery-invitation p,.beauty-site .booking-guidance p,.beauty-site .booking-guidance li{font-size:16px;line-height:1.7}
.beauty-site .service-card p{min-height:0}
.beauty-site .site-header nav,.beauty-site .text-link,.beauty-site .service-card>a,.beauty-site .footer-grid p,.beauty-site .footer-grid a:not(.brand),.beauty-site label,.beauty-site .form-hint,.beauty-site .image-disclosure,.beauty-site .mobile-booking-alternatives{font-size:14px}
.beauty-site .detail-card .service-meta,.beauty-site summary,.beauty-site .footer-bottom{font-size:13px}
.beauty-site .button,.beauty-site .button.small{font-size:14px}
.beauty-site .form-card input,.beauty-site .form-card select,.beauty-site .form-card textarea{font-size:16px}
@media(max-width:760px){.beauty-site .service-ribbon{gap:8px 0;padding:16px 20px}.beauty-site .service-ribbon span{font-size:10px;letter-spacing:1.5px}.beauty-site .service-ribbon span+span:before{margin:0 14px}}

/* Respect the visitor's device appearance; keep the studio's pink and gold accents. */
  .beauty-site[data-appearance="dark"]{color-scheme:dark;--paper:#211a1f;--ink:#f7edf2;--muted:#d4c3cc;--line:#51414a;--pink:#382630;--red:#f086aa;background:var(--paper);color:var(--ink)}
  .beauty-site[data-appearance="dark"] .site-header{border-color:#51414a}
  .beauty-site[data-appearance="dark"] .brand-name,.beauty-site[data-appearance="dark"] .eyebrow,.beauty-site[data-appearance="dark"] .service-card>a,.beauty-site[data-appearance="dark"] .booking-guidance a,.beauty-site[data-appearance="dark"] .detail-card .service-meta{color:#f4a8c2}
  .beauty-site[data-appearance="dark"] .brand .brand-name small,.beauty-site[data-appearance="dark"] .hero-visual-label{color:#d9bac8}
  .beauty-site[data-appearance="dark"] .service-ribbon{background:#382630;border-color:#684858}
  .beauty-site[data-appearance="dark"] .service-ribbon span{color:#f7edf2}
  .beauty-site[data-appearance="dark"] .service-card.service-card,.beauty-site[data-appearance="dark"] .detail-card,.beauty-site[data-appearance="dark"] .form-card{background:#30262d;border-color:#59444f;box-shadow:none}
  .beauty-site[data-appearance="dark"] .service-card>a,.beauty-site[data-appearance="dark"] .detail-card .service-meta,.beauty-site[data-appearance="dark"] .booking-alternatives{border-color:#59444f}
  .beauty-site[data-appearance="dark"] .story-section,.beauty-site[data-appearance="dark"] .photo-journal,.beauty-site[data-appearance="dark"] .gallery-invitation,.beauty-site[data-appearance="dark"] .contact-panel,.beauty-site[data-appearance="dark"] .empty-state,.beauty-site[data-appearance="dark"] .booking-note,.beauty-site[data-appearance="dark"] .confirmation dl,.beauty-site[data-appearance="dark"] .booking-summary{background:#382630;border-color:#684858}
  .beauty-site[data-appearance="dark"] .contact-band .eyebrow{color:#edd6a6}
  .beauty-site[data-appearance="dark"] .button{color:#fff}
  .beauty-site[data-appearance="dark"] .button.light{color:#71213c}
  .beauty-site[data-appearance="dark"] input,.beauty-site[data-appearance="dark"] select,.beauty-site[data-appearance="dark"] textarea{background:#211a1f;color:#f7edf2;border-color:#8f7582}
  .beauty-site[data-appearance="dark"] input::placeholder,.beauty-site[data-appearance="dark"] textarea::placeholder{color:#c6afb9}
  .beauty-site[data-appearance="dark"] .photo-rail-controls button{background:#382630;color:#f4a8c2;border-color:#8f7582}
  .beauty-site[data-appearance="dark"] .photo-rail-controls button:hover{background:#a43059;color:#fff}
  .beauty-site[data-appearance="dark"] .filter{background:#49323f;color:#f7edf2}
  .beauty-site[data-appearance="dark"] .filter.active{background:#a43059;color:#fff}
  .beauty-site[data-appearance="dark"] .alert{background:#483b25;color:#fff1d2}
  .beauty-site[data-appearance="dark"] .alert.error{background:#4d2935;color:#ffe8ef}
  .beauty-site[data-appearance="dark"] .alert.success{background:#284638;color:#e2faea}
  .beauty-site[data-appearance="dark"] .skip{background:#30262d;color:#fff}
  .beauty-site[data-appearance="dark"] .service-card-image .service-number{color:#8f2450}
  .beauty-site[data-appearance="dark"] .hero-detail{background:#fffafc}
@media(prefers-color-scheme:dark){
  .beauty-site[data-appearance="auto"]{color-scheme:dark;--paper:#211a1f;--ink:#f7edf2;--muted:#d4c3cc;--line:#51414a;--pink:#382630;--red:#f086aa;background:var(--paper);color:var(--ink)}
  .beauty-site[data-appearance="auto"] .site-header{border-color:#51414a}
  .beauty-site[data-appearance="auto"] .brand-name,.beauty-site[data-appearance="auto"] .eyebrow,.beauty-site[data-appearance="auto"] .service-card>a,.beauty-site[data-appearance="auto"] .booking-guidance a,.beauty-site[data-appearance="auto"] .detail-card .service-meta{color:#f4a8c2}
  .beauty-site[data-appearance="auto"] .brand .brand-name small,.beauty-site[data-appearance="auto"] .hero-visual-label{color:#d9bac8}
  .beauty-site[data-appearance="auto"] .service-ribbon{background:#382630;border-color:#684858}
  .beauty-site[data-appearance="auto"] .service-ribbon span{color:#f7edf2}
  .beauty-site[data-appearance="auto"] .service-card.service-card,.beauty-site[data-appearance="auto"] .detail-card,.beauty-site[data-appearance="auto"] .form-card{background:#30262d;border-color:#59444f;box-shadow:none}
  .beauty-site[data-appearance="auto"] .service-card>a,.beauty-site[data-appearance="auto"] .detail-card .service-meta,.beauty-site[data-appearance="auto"] .booking-alternatives{border-color:#59444f}
  .beauty-site[data-appearance="auto"] .story-section,.beauty-site[data-appearance="auto"] .photo-journal,.beauty-site[data-appearance="auto"] .gallery-invitation,.beauty-site[data-appearance="auto"] .contact-panel,.beauty-site[data-appearance="auto"] .empty-state,.beauty-site[data-appearance="auto"] .booking-note,.beauty-site[data-appearance="auto"] .confirmation dl,.beauty-site[data-appearance="auto"] .booking-summary{background:#382630;border-color:#684858}
  .beauty-site[data-appearance="auto"] .contact-band .eyebrow{color:#edd6a6}
  .beauty-site[data-appearance="auto"] .button{color:#fff}
  .beauty-site[data-appearance="auto"] .button.light{color:#71213c}
  .beauty-site[data-appearance="auto"] input,.beauty-site[data-appearance="auto"] select,.beauty-site[data-appearance="auto"] textarea{background:#211a1f;color:#f7edf2;border-color:#8f7582}
  .beauty-site[data-appearance="auto"] input::placeholder,.beauty-site[data-appearance="auto"] textarea::placeholder{color:#c6afb9}
  .beauty-site[data-appearance="auto"] .photo-rail-controls button{background:#382630;color:#f4a8c2;border-color:#8f7582}
  .beauty-site[data-appearance="auto"] .photo-rail-controls button:hover{background:#a43059;color:#fff}
  .beauty-site[data-appearance="auto"] .filter{background:#49323f;color:#f7edf2}
  .beauty-site[data-appearance="auto"] .filter.active{background:#a43059;color:#fff}
  .beauty-site[data-appearance="auto"] .alert{background:#483b25;color:#fff1d2}
  .beauty-site[data-appearance="auto"] .alert.error{background:#4d2935;color:#ffe8ef}
  .beauty-site[data-appearance="auto"] .alert.success{background:#284638;color:#e2faea}
  .beauty-site[data-appearance="auto"] .skip{background:#30262d;color:#fff}
  .beauty-site[data-appearance="auto"] .service-card-image .service-number{color:#8f2450}
  .beauty-site[data-appearance="auto"] .hero-detail{background:#fffafc}
}
@media(max-width:760px){.beauty-site .service-ribbon{gap:8px 18px}.beauty-site .service-ribbon span+span:before{content:none}}
/* The supplied artwork runs edge to edge, so it is scaled inside a drawn disc instead of being cropped by one. */
.beauty-site[data-appearance="dark"] .logo-disc{background:#fffafc;box-shadow:0 0 0 1px #c9a24a59}
.beauty-site[data-appearance="dark"] .logo-disc>img{width:82%;height:82%}
@media(prefers-color-scheme:dark){.beauty-site[data-appearance="auto"] .logo-disc{background:#fffafc;box-shadow:0 0 0 1px #c9a24a59}.beauty-site[data-appearance="auto"] .logo-disc>img{width:82%;height:82%}}
@media(min-width:761px) and (max-width:900px){.beauty-site .site-header{gap:18px}.beauty-site .site-header nav{gap:10px;font-size:13px}.beauty-site .site-header nav>a{white-space:nowrap}.beauty-site .site-header .button.small{font-size:13px;padding:12px 14px}}
.beauty-site[data-appearance="dark"] .review-section{background:#382630}.beauty-site[data-appearance="dark"] .review-grid blockquote{background:#30262d}.beauty-site[data-appearance="dark"] .review-grid blockquote>span{color:#e3c476}
@media(prefers-color-scheme:dark){.beauty-site[data-appearance="auto"] .review-section{background:#382630}.beauty-site[data-appearance="auto"] .review-grid blockquote{background:#30262d}.beauty-site[data-appearance="auto"] .review-grid blockquote>span{color:#e3c476}}
@media(max-width:760px){.beauty-site .footer-bottom>span:nth-child(2){display:inline}}
.beauty-site .footer-bottom span a{text-decoration:none}.beauty-site .footer-bottom span a:hover,.beauty-site .footer-bottom span a:focus-visible{text-decoration:underline;text-underline-offset:3px}
/* Studio-editable brand text stays legible and cannot push the navigation aside. */
.brand-lockup .brand-name{max-width:min(52vw,380px);line-height:1.15;white-space:normal;overflow-wrap:break-word}
.brand .brand-name small{text-transform:uppercase}
@media(max-width:760px){.brand-lockup .brand-name{max-width:52vw}}
/* The menu is only reachable at the top of the page, where the hero's own booking button sits
   a few pixels below the dropdown. Keeping the header copy inside the menu stacked two identical
   magenta CTAs on top of each other, so on phones the menu carries the four links and the hero
   keeps the single booking action. */
@media(max-width:760px){.beauty-site .site-header nav>.button.small{display:none}}

/* Photo carousels (home inspiration + gallery) */
.beauty-site .carousel{position:relative;--carousel-gap:18px}
.beauty-site .carousel-track{display:flex;flex-wrap:nowrap;gap:var(--carousel-gap);
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 2px 6px;margin:0}
.beauty-site .carousel-track::-webkit-scrollbar{display:none}
.beauty-site .carousel-track > *{flex:0 0 calc((100% - 2 * var(--carousel-gap)) / 3);
  min-width:0;max-width:none;scroll-snap-align:start;scroll-snap-stop:always}
@media(max-width:1024px){.beauty-site .carousel-track > *{flex-basis:calc((100% - var(--carousel-gap)) / 2)}}
@media(max-width:760px){.beauty-site .carousel-track{--carousel-gap:14px}
  .beauty-site .carousel-track > *{flex-basis:100%}}
.beauty-site .carousel-bar{display:flex;align-items:center;gap:10px;margin-top:16px}
.beauty-site .carousel .carousel-dots{display:flex;gap:8px;margin-right:auto}
.beauty-site .carousel .carousel-dot{width:9px;height:9px;padding:0;border-radius:999px;cursor:pointer;
  border:1px solid currentColor;background:transparent;opacity:.4;transition:opacity .25s,transform .25s}
.beauty-site .carousel .carousel-dot[aria-current="true"]{opacity:1;background:currentColor;transform:scale(1.15)}
.beauty-site .carousel .carousel-arrow{width:40px;height:40px;border-radius:999px;border:1px solid currentColor;
  background:transparent;color:inherit;font-size:20px;line-height:1;display:grid;place-items:center;
  cursor:pointer;opacity:.75;transition:opacity .25s}
.beauty-site .carousel .carousel-arrow:hover{opacity:1}
.beauty-site .carousel .carousel-arrow:disabled{opacity:.25;cursor:default}

/* Arrows drawn in CSS, not typed glyphs (no tofu boxes on iOS) */
.arrow{display:inline-block;width:7px;height:7px;margin-left:.38em;
  border-top:1.4px solid currentColor;border-right:1.4px solid currentColor;
  transform:rotate(45deg) translateY(1px);vertical-align:baseline}

/* Footer on phones: full-width text, no mid-word breaks */
@media(max-width:600px){
  .beauty-site .footer-grid{grid-template-columns:1fr;gap:32px}
  .beauty-site .footer-grid > div:first-child{display:flex;flex-direction:column;
    align-items:flex-start;gap:16px}
  .beauty-site .footer-brand .logo-disc img{width:96px;height:96px}
}
.beauty-site footer p{text-wrap:balance;overflow-wrap:break-word;hyphens:none}
.beauty-site footer a{overflow-wrap:break-word}

/* Orphan control across the whole site */
.beauty-site h1,.beauty-site h2,.beauty-site h3{text-wrap:balance}
.beauty-site p,.beauty-site li{text-wrap:pretty}

/* Visitor colour-theme control (auto / light / dark), remembered in the browser. */
.appearance-toggle{display:inline-flex;align-items:center;gap:7px;background:transparent;color:inherit;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:10px;letter-spacing:.6px;line-height:1;white-space:nowrap;transition:border-color .15s,color .15s}
.appearance-toggle:hover,.appearance-toggle:focus-visible{border-color:var(--red);color:var(--red)}
.appearance-toggle:before{content:'';width:9px;height:9px;border-radius:50%;border:1px solid currentColor;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
@media(max-width:760px){.appearance-toggle{justify-self:start;padding:9px 14px}}
