@font-face{font-family:'DM Serif Display';src:url('/assets/fonts/dm-serif-display.woff2') format('woff2');font-weight:400;font-display:swap}

@font-face{font-family:Montserrat;src:url('/assets/fonts/montserrat.woff2') format('woff2');font-weight:100 900;font-display:swap}

:root{--ink:#2b2923;--muted:#706b60;--cream:#fffdf9;--paper:#fff;--rose:#f7f3eb;--wine:#876b36;--line:#e2dacb;--gold:rgba(198,161,91,1);--serif:'DM Serif Display',Georgia,serif;--sans:Montserrat,Arial,sans-serif}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.75 var(--sans)}
body.menu-open{overflow:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-underline-offset:5px}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
h1,h2,h3,p{margin:0 0 1.2rem}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}
h1{font-size:clamp(2.7rem,5vw,4.7rem)}
h2{font-size:clamp(2.2rem,3.4vw,3.4rem)}
h3{font-size:1.65rem}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--wine);outline-offset:5px}
.skip-link{position:fixed;z-index:200;top:-100px;left:15px;background:var(--wine);color:white;padding:12px}
.skip-link:focus{top:12px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.eyebrow{font:500 .875rem/1.5 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--wine);margin-bottom:22px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;min-height:52px;padding:14px 25px;background:var(--wine);border:1px solid var(--wine);color:#fff;font:500 .875rem/1.5 var(--sans);text-decoration:none;transition:background .2s,transform .2s}
.button:hover{background:#472731;transform:translateY(-2px)}
.button span{font-size:1.3rem}
.text-link{font-size:.875rem;font-weight:500;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}
.centre{text-align:center}
.site-header{height:100px;padding:0 5%;display:flex;align-items:center;gap:28px;background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:90}
.brand{display:block;width:138px;flex-shrink:0}
.brand img{width:100%;mix-blend-mode:multiply}
.desktop-nav{display:flex;gap:34px;margin-left:auto}
.desktop-nav a{text-decoration:none;font-size:.875rem;font-weight:500}
.desktop-nav a:hover{text-decoration:underline}
.header-book{margin-left:16px}
.menu-button{width:42px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:none;border:0;padding:8px}
.menu-button span{width:23px;height:1px;background:var(--ink)}
.site-menu{position:fixed;z-index:120;inset:0 0 0 auto;width:min(450px,94vw);padding:30px;background:var(--cream);transform:translateX(105%);visibility:hidden;transition:transform .25s,visibility .25s;display:flex;flex-direction:column;overflow-y:auto}
.site-menu.is-open{transform:translateX(0);visibility:visible}
.menu-backdrop{position:fixed;z-index:110;inset:0;background:#24161977;visibility:hidden;opacity:0;transition:.25s}
.menu-backdrop.is-open{visibility:visible;opacity:1}
.menu-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid var(--line)}
.menu-top img{width:125px;mix-blend-mode:multiply}
.menu-close{border:0;background:none;font-size:35px;line-height:1;padding:10px}
.site-menu nav{display:flex;flex-direction:column;padding:24px 0}
.site-menu nav a{font-family:var(--serif);font-size:1.4rem;text-decoration:none;padding:9px 0}
.site-menu nav a:hover,.site-menu .is-current{text-decoration:underline}
.menu-contact{display:flex;flex-direction:column;gap:8px;font-size:.875rem;margin-top:auto}
.menu-contact a{overflow-wrap:anywhere}
.home-hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;max-width:1600px;margin:auto}
.hero-copy{padding:70px 9% 30px 10%;display:flex;flex-direction:column;align-items:flex-start}
.hero-copy h1{font-size:clamp(3.8rem,6.8vw,6.8rem);letter-spacing:-.035em;line-height:1.01;margin-bottom:30px}
.hero-copy h1 em{font-weight:400;color:var(--wine)}
.hero-copy>p:not(.eyebrow){max-width:440px;color:var(--muted);line-height:1.85}
.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:14px 0 50px}
.hero-caption{margin-top:auto;display:flex;justify-content:space-between;gap:25px;width:100%;padding-top:25px;border-top:1px solid var(--line);font-size:.75rem;letter-spacing:.13em}
.hero-caption span{letter-spacing:0}
.hero-photo{position:relative;min-height:600px;overflow:hidden}
.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:57% center}
.photo-caption{position:absolute;bottom:30px;left:30px;border:1px solid #ffffffa6;padding:8px 18px;color:#fff;background:#30292b55;backdrop-filter:blur(10px);font-size:.875rem}
.treatments-section{padding:100px 5%;max-width:1600px;margin:auto}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px}
.section-heading h2{margin:0}
.section-heading>.text-link{margin-bottom:8px}
.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.service-card{text-decoration:none}
.service-image{overflow:hidden;position:relative}
.service-image img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}
.service-card:hover img{transform:scale(1.035)}
.service-number{position:absolute;top:14px;left:14px;background:var(--cream);width:35px;height:35px;display:grid;place-items:center;font-size:.75rem}
.service-card h3{font-size:1.65rem;margin:20px 0 10px;display:flex;justify-content:space-between;gap:10px}
.service-card h3 span{font-family:var(--sans);font-size:1.25rem}
.lifting-links{display:flex;flex-wrap:wrap;gap:12px;font-size:.875rem}
.artist{padding:85px 8%;background:var(--rose)}
.artist-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%;max-width:1200px;margin:auto}
.artist-copy{max-width:520px}
.artist-copy h2{margin-bottom:30px}
.artist-copy p{line-height:1.85}
.artist-photo{height:580px}
.artist-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.artist-veronika .artist-photo{border-radius:45% 45% 0 0;overflow:hidden}
.artist-andrea{background:var(--cream)}
.artist-andrea .artist-photo{height:540px}
.artist-andrea .artist-photo img{object-position:center top}
.artist-mobile-image{display:none}
.signature{font-family:var(--serif);font-size:1.7rem;margin:30px 0 0}
.reviews-section{padding:85px 5%;background:var(--rose);color:var(--ink);display:grid;grid-template-columns:1fr 1.7fr;gap:6%}
.reviews-section .eyebrow{color:#ead9d5}
.reviews-section h2{font-size:2.8rem}
.reviews-widget{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.review-card{border-top:1px solid #b0949b;padding-top:22px}
.stars{font-size:1rem;letter-spacing:4px;color:#ecd1a6;margin-bottom:18px}
.review-card blockquote{margin:0 0 25px;font-family:var(--serif);font-size:1.45rem;line-height:1.45}
.review-card p{font-size:.875rem}
.review-card p span{display:block;opacity:.7;font-size:.75rem}
.contact-band{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:80px 8%;background:#eee2dc}
.contact-details h2{font-size:3.6rem;margin-bottom:30px}
.contact-details a{overflow-wrap:anywhere}
.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}
.visit-details h3{font-size:1.5rem}
.visit-details p{font-size:.875rem}
.site-footer{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:50px;padding:60px 8% 30px;background:var(--cream);align-items:start}
.footer-brand{width:165px;margin-top:12px}
.hours{font-size:.875rem}
.hours p{display:flex;justify-content:space-between;gap:20px;margin-bottom:8px}
.footer-legal{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:.875rem;margin-left:auto}
.footer-legal a{text-decoration:none}
.footer-legal a:hover{text-decoration:underline}
.copyright{grid-column:1/-1;font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin:0}

/* Shared treatment pages: content determines height, including expanded FAQs. */
.inner-hero{height:330px;background-size:cover;background-position:center;position:relative}
.inner-hero--hair{background-image:url('/assets/images/service-hair-removal.png');background-position:center 55%}
.inner-hero--lashes{background-image:url('/assets/images/hero-lashes.png');background-position:center 40%}
.inner-hero--lifting{background-image:url('/assets/images/service-lashes.png');background-position:center 40%}
.inner-hero--brows{background-image:url('/assets/images/hero-brows.jpg');background-position:center 60%}
.inner-hero--facial{background-image:url('/assets/images/service-facial.png')}
.inner-hero--legal{height:180px;background-image:url('/assets/images/hero-legal.jpg');background-position:center 30%}
.inner-hero--contact{display:none}
.inner-hero h1{position:absolute;bottom:30px;left:6%;margin:0}
.hero-tagline{display:none}
.treatment-main{max-width:1280px;margin:auto;padding:75px 5% 90px}
.treatment-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:start}
.treatment-copy{padding:10px 0}
.treatment-copy h1{font-size:clamp(2.5rem,4vw,3.8rem);margin-bottom:30px}
.treatment-copy p{line-height:1.85}
.price-panel{padding:30px;background:#fff;border:1px solid var(--line)}
.price-panel h2{font-size:2rem}
.price-table{border-collapse:collapse;width:100%;text-align:left;font-size:.875rem}
.price-table th,.price-table td{padding:14px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.price-table th{font-weight:600;color:var(--wine)}
.price-table th:last-child,.price-table td:last-child{white-space:nowrap;text-align:right;padding-left:12px}
.price-panel .button{width:100%;margin-top:25px}
.price-note{font-size:.875rem;margin:18px 0 0}
.telephone-only{display:block;font-size:.8125rem;color:var(--wine);font-style:normal}
.split-copy{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin:70px 0}
.split-copy h2{font-size:2.2rem}
.faq-section{border-top:1px solid var(--line);margin-top:65px;padding-top:60px}
.faq-section h2{font-size:2.6rem;margin-bottom:35px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;position:relative;padding:23px 45px 23px 0;cursor:pointer;font-weight:500}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:7px;font-size:1.5rem;font-weight:400;top:17px}
.faq-list details[open] summary:after{content:'−'}
.faq-answer{padding:0 40px 20px 0;color:var(--muted)}
.faq-answer p:last-child{margin-bottom:0}
.results{padding-top:35px}
.results-grid{max-width:600px}
.results-grid img{width:100%;height:auto}
.brows-page .faq-section{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:start}
.brow-faq-image{width:100%;height:auto}
.face-intro{max-width:720px;margin:0 0 45px}
.facial-cards{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.facial-card{background:white;border:1px solid var(--line)}
.facial-card>img{width:100%;height:340px;object-fit:cover}
.facial-card-content{padding:30px}
.pending-copy{font-size:.875rem;color:var(--muted)}
.contact-page{padding:70px 5%;max-width:1400px;margin:auto}
.contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:35px;border:1px solid var(--line)}
.contact-card{padding:30px 20px;font-size:.875rem;border-right:1px solid var(--line);text-decoration:none;overflow-wrap:anywhere}
.contact-card:last-child{border:0}
.contact-card-icon{display:block;font-size:1.8rem;margin-bottom:10px}
.contact-page>.button{display:table;margin:0 auto 70px}
.contact-page>h1{font:400 3rem/1.2 var(--serif)!important;margin-bottom:35px}
.contact-form-card{display:grid;grid-template-columns:1fr 1.2fr;background:white;border:1px solid var(--line)}
.contact-promise{padding:50px;background:var(--rose);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.contact-promise img{width:150px;mix-blend-mode:multiply;margin-bottom:35px}
.contact-promise h2{font-size:2rem}
.contact-form{padding:45px}
.contact-form label{display:block;font-size:.875rem;margin-bottom:25px}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid var(--muted);background:white;padding:12px 3px;border-radius:0;font-size:1rem;color:var(--ink)}
.contact-form textarea{min-height:110px;resize:vertical}
.form-status,.form-note{font-size:.875rem;color:var(--muted);margin-top:15px}
.legal-wrap{max-width:850px;margin:auto;padding:70px 25px 90px;overflow-wrap:anywhere}
.legal-wrap h2{font-size:2rem;margin-top:35px}
.legal-wrap h3{font-size:1.5rem}
.legal-draft-note{padding:22px;border-left:3px solid var(--wine);background:var(--rose);margin-bottom:35px}
.redirect-page{min-height:100vh;display:grid;place-items:center;text-align:center;padding:25px}
.redirect-page img{width:180px;margin:0 auto 25px}

@media(min-width:1600px){.site-header{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}
}

@media(max-width:1050px){.desktop-nav{gap:20px}
.site-header{gap:15px}
.hero-copy{padding:50px 8% 30px}
.hero-copy h1{font-size:5rem}
.home-hero{min-height:600px}
.hero-caption{flex-direction:column;gap:5px}
.services{gap:18px}
.service-card h3{font-size:1.35rem}
.artist-grid{gap:7%}
.artist{padding:65px 5%}
.artist-photo{height:530px}
.reviews-section{grid-template-columns:1fr}
.contact-band{padding:65px 5%;gap:5%}
.visit-details{gap:20px}
.site-footer{padding:50px 5% 25px;gap:25px}
.hours p{flex-direction:column;gap:0}
.treatment-grid{gap:5%}
}

@media(max-width:760px){html{scroll-padding-top:90px}
.site-header{height:80px;padding:0 20px;gap:12px}
.brand{width:105px}
.desktop-nav{display:none}
.header-book{margin-left:auto;min-height:43px;padding:10px 13px;font-size:.8125rem;gap:10px}
.header-book span{display:none}
.menu-button{width:32px;padding:3px}
.home-hero{grid-template-columns:1fr}
.hero-copy{padding:45px 25px 30px}
.hero-copy h1{font-size:clamp(3.7rem,13vw,5rem)}
.hero-copy>p:not(.eyebrow){font-size:1rem}
.hero-actions{gap:23px;margin:5px 0 30px}
.hero-caption{flex-direction:row;font-size:.75rem;gap:10px}
.hero-photo{min-height:0;height:420px}
.hero-photo img{object-position:center 45%}
.treatments-section{padding:65px 22px}
.section-heading{display:block;margin-bottom:30px}
.section-heading>.text-link{display:inline-block;margin-top:20px}
.services{grid-template-columns:1fr 1fr;gap:30px 16px}
.service-card h3{font-size:1.35rem}
.service-number{width:28px;height:28px;top:10px;left:10px}
.lifting-links{gap:8px;font-size:.875rem;line-height:1.5}
.artist{padding:60px 25px}
.artist-grid{grid-template-columns:1fr;gap:30px}
.artist-copy{max-width:none}
.artist-copy h2{font-size:2.5rem}
.artist-photo,.artist-andrea .artist-photo{height:auto;max-width:450px;width:100%;margin:auto}
.artist-photo img{height:auto;max-height:580px;object-fit:cover}
.artist-veronika .artist-photo{grid-row:1}
.artist-andrea .artist-photo{grid-row:1}
.artist-andrea .artist-photo img{aspect-ratio:4/5}
.reviews-section{padding:60px 25px;gap:20px}
.reviews-section h2{font-size:2.5rem}
.reviews-widget{grid-template-columns:1fr;gap:25px}
.contact-band{grid-template-columns:1fr;padding:60px 25px;gap:35px}
.contact-details h2{font-size:3rem}
.visit-details{gap:20px;align-items:start}
.visit-details h3{font-size:1.4rem}
.site-footer{grid-template-columns:1fr;padding:45px 25px 25px;gap:30px}
.hours{max-width:360px}
.hours p{flex-direction:row}
.footer-legal{margin:0;gap:12px}
.inner-hero{height:240px}
.inner-hero--legal{height:150px}
.treatment-main{padding:45px 22px 60px}
.treatment-grid,.split-copy,.facial-cards,.brows-page .faq-section{grid-template-columns:1fr;gap:30px}
.treatment-copy h1{font-size:2.5rem}
.price-panel{padding:20px}
.price-table{font-size:.875rem}
.split-copy{margin:45px 0}
.faq-section{margin-top:45px;padding-top:40px}
.faq-section h2{font-size:2.2rem}
.faq-answer{padding-right:10px}
.facial-card>img{height:280px}
.facial-card-content{padding:25px}
.contact-page{padding:45px 22px}
.contact-cards{grid-template-columns:1fr}
.contact-card{border-right:0;border-bottom:1px solid var(--line)}
.contact-form-card{grid-template-columns:1fr}
.contact-promise{padding:35px 25px}
.contact-form{padding:30px 22px}
.legal-wrap{padding:45px 22px 65px}
}

@media(max-width:380px){.site-header{padding:0 12px;gap:8px}
.header-book{font-size:.75rem;padding:9px}
.brand{width:95px}
.hero-caption{flex-direction:column}
.services{grid-template-columns:1fr}
.service-image img{aspect-ratio:5/4}
.visit-details{grid-template-columns:1fr}
.contact-details .text-link{font-size:.8125rem}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
}

.button:disabled{background:#e5dcda;border-color:#e5dcda;color:#645557;cursor:not-allowed;transform:none}

.brand{height:64px;display:flex;align-items:center;overflow:hidden}
.brand img{flex-shrink:0}
.services{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-item{min-width:0}
.service-card h3{overflow-wrap:anywhere}
.service-card h3 span{flex-shrink:0}
.site-menu{transition:transform .25s;visibility:visible}
.site-menu:not(.is-open){visibility:hidden}
.site-menu.is-open{visibility:visible}

@media(max-width:760px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-card h3{display:block;font-size:1.25rem;hyphens:auto}
.service-card h3 span{display:none}
.visit-details>div{min-width:0}
.visit-details a{overflow-wrap:anywhere}
}

@media(max-width:380px){.services{grid-template-columns:1fr}
}


h1{overflow-wrap:anywhere;hyphens:auto}
.facial-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.facial-card{min-width:0}

@media(max-width:760px){.facial-cards{grid-template-columns:minmax(0,1fr)}
}

/* Gold identity and a cinematic, full-width studio introduction. */
.button{background:var(--gold);border-color:var(--gold);color:#231f17;font-weight:600}
.button:hover{background:#d5b578;color:#231f17}
.home-hero{position:relative;isolation:isolate;display:flex;align-items:center;max-width:none;min-height:740px;background:var(--cream);color:var(--ink);overflow:hidden}
.hero-film{position:absolute;inset:0;z-index:-2}
.hero-film video{width:100%;height:100%;object-fit:cover;object-position:center}
.home-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(20,19,16,.82),rgba(20,19,16,.48) 45%,rgba(20,19,16,.12) 78%),linear-gradient(0deg,rgba(20,19,16,.5),transparent 40%)}
.hero-copy{padding:85px 7% 130px;max-width:850px;position:relative}
.hero-copy h1{font-size:clamp(4rem,7.7vw,7.5rem);max-width:700px}
.hero-copy h1 em{color:var(--wine)}
.hero-copy .eyebrow{color:#ecd4a7;display:flex;align-items:center;gap:15px}
.hero-copy .eyebrow:before{content:'';height:1px;width:45px;background:var(--gold)}
.hero-copy>p:not(.eyebrow){color:#f0ece3;max-width:470px}
.hero-actions{margin:20px 0 0;gap:30px}
.film-controls{position:absolute;bottom:30px;left:7%;right:5%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff55;padding-top:20px;gap:20px}
.film-controls>span{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}
.video-toggle{display:flex;align-items:center;gap:15px;padding:10px 17px;background:#25221ca6;border:1px solid #ffffff99;color:white;font-size:.875rem;min-height:44px}
.video-toggle span{font-size:1.2rem}
.home-hero a:focus-visible,.video-toggle:focus-visible{outline-color:var(--wine)}
.treatments-section{padding:105px 8% 110px;position:relative}
.section-heading{margin-bottom:55px}
.services{grid-template-columns:1.1fr .9fr;column-gap:8%;row-gap:55px;align-items:start}
.service-item:nth-child(even){margin-top:85px}
.service-image img{aspect-ratio:1.4/1}
.service-item:nth-child(2) .service-image img{aspect-ratio:1.15/1}
.service-item:nth-child(3) .service-image{border-radius:45% 45% 0 0}
.service-card h3{font-size:clamp(1.6rem,2.4vw,2.25rem);border-bottom:1px solid var(--line);padding-bottom:16px}
.service-number{background:var(--gold);color:#241f15;width:42px;height:42px;top:18px;left:18px}
.artist{position:relative}
.artist-veronika{background:var(--rose)}
.artist-veronika .artist-photo{border-radius:48% 48% 0 0;border:1px solid var(--gold);padding:12px;box-shadow:22px 22px 0 #c6a15b22}
.artist-veronika .artist-photo img{border-radius:48% 48% 0 0}
.artist-andrea .artist-photo{padding:0 25px 25px 0;position:relative}
.artist-andrea .artist-photo:before{content:'';position:absolute;right:0;bottom:0;width:80%;height:82%;border:1px solid var(--gold);z-index:0}
.artist-andrea .artist-photo img{position:relative;z-index:1}
.signature{color:var(--wine)}
.reviews-section{background:var(--rose)}
.reviews-section .eyebrow{color:var(--wine)}
.stars{color:var(--gold)}
.review-card{border-color:#c6a15b66}
.contact-band{background:var(--rose);padding-bottom:65px;gap:45px 8%}
.studio-map{grid-column:1/-1;position:relative;height:420px;border:1px solid #d0c2a7;background:#e7e4db}
.studio-map iframe{display:block;width:100%;height:100%;border:0}
.map-address{position:absolute;bottom:35px;left:35px;padding:20px 65px 20px 25px;background:var(--cream);text-decoration:none;font-size:.875rem;box-shadow:0 6px 25px #2b29231a;max-width:calc(100% - 70px)}
.map-address span{display:block;font-family:var(--serif);font-size:1.7rem;margin-bottom:4px}
.map-address b{position:absolute;right:25px;top:35%;font-size:1.4rem;font-weight:400}
.site-footer{align-items:center;background:#f8f5ee;padding-top:35px}
.footer-brand{width:220px;display:block;margin:0;height:auto;overflow:visible}
.footer-brand img{width:100%;height:auto;mix-blend-mode:normal}
.copyright{color:#706b60}
@media(max-width:1050px){.hero-copy{padding-left:6%}.home-hero{min-height:700px}.services{column-gap:5%}.treatments-section{padding-left:6%;padding-right:6%}.footer-brand{width:180px}}
@media(max-width:760px){
.home-hero{min-height:740px;align-items:flex-start}
.hero-film video{object-position:60% center}
.home-hero:after{background:linear-gradient(90deg,#141310a6,#14131055),linear-gradient(0deg,#14131099,transparent 60%)}
.hero-copy{padding:65px 25px 130px;width:100%}
.hero-copy h1{font-size:clamp(3.6rem,12.8vw,5rem)}
.hero-copy .eyebrow{font-size:.75rem;letter-spacing:.12em;gap:10px}
.hero-copy .eyebrow:before{width:20px}
.hero-copy>p:not(.eyebrow){max-width:440px}
.hero-actions{gap:25px;align-items:flex-start;flex-direction:column}
.film-controls{left:25px;right:25px;bottom:22px;gap:12px}
.film-controls>span{font-size:.75rem;letter-spacing:.06em;max-width:110px}
.video-toggle{font-size:.8125rem;padding:8px 12px;gap:8px;flex-shrink:0}
.treatments-section{padding:65px 25px}
.services{grid-template-columns:minmax(0,1fr);gap:35px}
.service-item:nth-child(even){margin-top:0;margin-left:30px}
.service-item:nth-child(odd){margin-right:30px}
.service-image img,.service-item:nth-child(2) .service-image img{aspect-ratio:1.2/1}
.service-card h3{font-size:1.7rem;display:flex;overflow-wrap:normal}
.service-card h3 span{display:block}
.artist-veronika .artist-photo{max-width:calc(100% - 15px);box-shadow:15px 15px 0 #c6a15b22}
.studio-map{height:380px}
.contact-band{padding-bottom:40px}
.map-address{left:15px;bottom:35px;max-width:calc(100% - 30px);padding:14px 42px 14px 18px;font-size:.8125rem}
.map-address span{font-size:1.45rem}.map-address b{right:15px}
.footer-brand{width:200px;margin:auto}.site-footer{padding-top:25px}
}
@media(max-width:380px){.home-hero{min-height:780px}.hero-copy{padding-top:48px}.service-item:nth-child(even){margin-left:12px}.service-item:nth-child(odd){margin-right:12px}.service-card h3{font-size:1.5rem}.film-controls{left:20px;right:20px}}
/* One shared content grid: header, menu, hero and every section share edges. */
:root{--page-gutter:max(24px,5%,calc((100% - 1280px)/2))}
.site-header,.treatments-section,.artist,.reviews-section,.contact-band,.site-footer,.treatment-main,.contact-page,.legal-wrap{max-width:none;width:100%;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.artist-grid{max-width:none;gap:8%}
.home-hero{padding:70px var(--page-gutter) 130px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:7%;min-height:760px;align-items:center}
.hero-copy{padding:0;max-width:none;width:auto}
.hero-copy h1{font-size:clamp(3.6rem,6.7vw,6.8rem)}
.film-controls{left:var(--page-gutter);right:var(--page-gutter)}
.treatment-slider{min-width:0;width:100%;max-width:420px;justify-self:end;background:var(--cream);color:var(--ink);box-shadow:0 15px 55px #0003;transform:translateY(25px)}
.treatment-slides{position:relative}
.treatment-slide{display:block;text-decoration:none;position:relative}
.treatment-slide[hidden]{display:none}
.treatment-slide img{width:100%;height:auto;aspect-ratio:1.15/1;object-fit:cover}
.slide-caption{display:grid;grid-template-columns:1fr auto;gap:10px;padding:23px 25px 12px}
.slide-caption small{grid-column:1/-1;font-size:.75rem;color:var(--wine);letter-spacing:.16em}
.slide-caption strong{font-family:var(--serif);font-size:clamp(1.6rem,2.2vw,2rem);font-weight:400;line-height:1.15;overflow-wrap:anywhere}
.slide-caption>span{font-size:1.4rem;align-self:center}
.slider-controls{display:flex;align-items:center;gap:10px;margin:0 25px;padding:12px 0 18px;border-top:1px solid var(--line)}
.slider-controls button{width:42px;height:42px;border:1px solid var(--line);color:var(--ink);background:transparent;font-size:1.25rem}
.slider-controls button:hover{background:var(--gold)}
.slider-count{font-size:.75rem;letter-spacing:.12em;margin-right:auto}
.slider-pause{margin-left:auto}
.treatment-slider a:focus-visible{outline-color:var(--gold);outline-offset:-4px}
.site-menu{padding-left:32px;padding-right:32px;right:0}
@media(min-width:761px){.site-menu{width:min(520px,100%);padding-right:40px}.service-item:nth-child(even){margin-top:70px}}
@media(max-width:1050px){.desktop-nav{gap:18px}.site-header{gap:14px}.header-book{margin-left:0}.home-hero{gap:5%}.hero-copy h1{font-size:4.7rem}}
@media(max-width:900px){.desktop-nav{display:none}.header-book{margin-left:auto}.home-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.hero-copy h1{font-size:4rem}.slide-caption{padding:20px 18px 12px}.slider-controls{margin:0 18px}}
@media(max-width:760px){
.site-header{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.home-hero{grid-template-columns:minmax(0,1fr);padding-top:50px;padding-bottom:110px;gap:40px;min-height:0}
.hero-copy{padding:0;width:100%}.hero-copy h1{font-size:clamp(3.6rem,12.8vw,5rem)}
.treatment-slider{max-width:none;transform:none;justify-self:stretch}.treatment-slide img{aspect-ratio:1.45/1}.slide-caption strong{font-size:1.8rem}
.film-controls{bottom:22px}.service-item:nth-child(even),.service-item:nth-child(odd){margin-left:0;margin-right:0}
.artist-veronika .artist-photo{max-width:100%;box-shadow:none}
.site-menu{padding-left:24px;padding-right:24px}
}
/* The original film has its own frame, so its logo never competes with copy. */
.home-hero{background:var(--cream);padding-top:65px;padding-bottom:65px;min-height:740px;gap:7%}
.home-hero:after{display:none}
.hero-copy h1{margin-bottom:26px}
.treatment-slider{max-width:470px;transform:none;box-shadow:0 15px 55px #0002}
.treatment-slide img{aspect-ratio:1/1.05}
.slide-caption strong{hyphens:auto;font-size:clamp(1.5rem,2vw,1.9rem)}
.slide-caption{min-height:126px}
.brand-film-row{display:flex;align-items:center;gap:22px;margin-top:35px;border-top:1px solid #c6a15b55;padding-top:25px}
.brand-film-row>p{margin:0;font-size:.875rem;line-height:1.7;color:#ecd4a7}
.brand-film-row>p span{display:block;margin-top:8px;color:#dfd9cc;font-size:.75rem}
.hero-film{position:relative;inset:auto;z-index:auto;width:200px;flex-shrink:0;aspect-ratio:16/9;border:1px solid #c6a15b77;background:#fff;overflow:hidden}
.hero-film video{object-fit:contain}
.film-controls{position:absolute;inset:auto 7px 7px auto;padding:0;border:0;display:block}
.film-controls>span{display:none}
.video-toggle{padding:0;min-height:32px;width:32px;height:32px;display:grid;place-items:center;border-color:#ffffff77;background:#292820a6}
@media(max-width:1050px){.hero-copy h1{font-size:4.3rem}.hero-film{width:160px}.brand-film-row{gap:16px}.slide-caption{min-height:130px}}
@media(max-width:760px){.home-hero{padding-top:45px;padding-bottom:45px;gap:35px;min-height:0}.hero-copy h1{font-size:clamp(3.5rem,12.4vw,5rem)}.treatment-slide img{aspect-ratio:1.25/1}.treatment-slider{max-width:none}.slide-caption{min-height:110px}.slide-caption strong{font-size:1.7rem}.brand-film-row{gap:18px}.hero-film{width:50%}.film-controls{inset:auto 7px 7px auto}}
.treatment-slide:not([hidden]){animation:slide-reveal .55s ease both}
@keyframes slide-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
/* Treatment overview: one consistent image format and predictable reading order. */
.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px;align-items:start}
.service-item:nth-child(even),.service-item:nth-child(odd){margin:0}
.service-item .service-image,.service-item:nth-child(3) .service-image{border-radius:0}
.service-item .service-image img,.service-item:nth-child(2) .service-image img{aspect-ratio:4/3;width:100%;object-fit:cover}
.service-card h3{font-size:clamp(1.5rem,2.25vw,2rem);min-height:2.7em;margin-top:20px;margin-bottom:10px;align-items:flex-start}
.service-card h3 span{flex-shrink:0}
@media(max-width:760px){.services{grid-template-columns:minmax(0,1fr);gap:32px}.service-card h3{min-height:0;font-size:1.7rem}.service-item:nth-child(even),.service-item:nth-child(odd){margin:0}}
/* Both artist portraits share the same arched gold frame. */
.artist-andrea .artist-photo{height:580px;border-radius:48% 48% 0 0;border:1px solid var(--gold);padding:12px;overflow:hidden;box-shadow:22px 22px 0 #c6a15b22}
.artist-andrea .artist-photo:before{display:none}
.artist-andrea .artist-photo img{height:100%;width:100%;border-radius:48% 48% 0 0;object-fit:cover;object-position:center top}
@media(max-width:1050px){.artist-andrea .artist-photo{height:530px}}
@media(max-width:760px){.artist-andrea .artist-photo{height:auto;max-width:450px;box-shadow:none}.artist-andrea .artist-photo img{height:auto;aspect-ratio:4/5}}
/* Full-width film with a clear lower-third introduction and booking area. */
.home-hero{display:flex;align-items:flex-end;position:relative;isolation:isolate;min-height:680px;height:clamp(680px,56.25vw,820px);padding:0 var(--page-gutter) 48px;background:var(--cream);gap:0}
.home-hero>.hero-film{position:absolute;inset:0;width:100%;height:100%;border:0;aspect-ratio:auto;z-index:-2;background:#fff}
.home-hero>.hero-film video{width:100%;height:100%;object-fit:cover;object-position:center}
/* Lift the desktop film within the hero without moving the foreground content. */
@media(min-width:761px){.home-hero>.hero-film video{transform:translateY(-70px)}}
.home-hero:after{display:block;content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#fffdf9 0%,rgba(255,253,249,.98) 10%,rgba(255,253,249,.92) 24%,rgba(255,253,249,.85) 28%,rgba(255,253,249,.65) 32%,rgba(255,253,249,.36) 36%,rgba(255,253,249,.14) 40%,rgba(255,253,249,.03) 46%,rgba(255,253,249,0) 55%);pointer-events:none}
.hero-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;align-items:end;width:100%;padding:0}
.hero-heading .eyebrow{color:var(--wine);margin-bottom:18px}
.hero-heading h1{font-size:clamp(3.3rem,5.3vw,5.2rem);line-height:1.03;margin:0}
.hero-booking{padding-bottom:4px}
.hero-booking>p{color:var(--ink);max-width:490px;line-height:1.8;margin:0}
.hero-actions{margin-top:24px;gap:24px;flex-wrap:wrap}
.home-hero>.film-controls{position:absolute;top:24px;right:var(--page-gutter);bottom:auto;left:auto;display:flex;gap:12px;align-items:center;padding:5px 10px;border:1px solid #ffffff66;background:#292820bf;z-index:2}
.home-hero>.film-controls>span{display:block;color:white;letter-spacing:.12em;font-size:.75rem;max-width:none}
.video-toggle{background:none;border:0;width:36px;min-height:36px}
/* A dedicated second section pairs the carousel with existing consultation copy. */
.treatment-discovery{padding:90px var(--page-gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8%;align-items:center;background:var(--rose);border-bottom:1px solid var(--line)}
.discovery-copy h2{font-size:clamp(2.2rem,3.4vw,3.4rem);margin-bottom:25px}
.discovery-copy>p:not(.eyebrow){max-width:540px;line-height:1.8}
.discovery-consultation{color:var(--muted);font-size:.875rem}
.treatment-selectors{margin:28px 0 25px;border-top:1px solid #cfc2a9}
.treatment-selectors button{width:100%;display:grid;grid-template-columns:24px minmax(0,1fr) 20px;gap:14px;text-align:left;align-items:center;border:0;border-bottom:1px solid #cfc2a9;background:none;padding:16px 8px;font-size:.875rem;color:var(--ink)}
.treatment-selectors button>span:first-child{font-size:.75rem;color:var(--wine)}
.treatment-selectors button[aria-pressed=true]{background:#c6a15b22;box-shadow:inset 3px 0 var(--gold);font-weight:600}
.treatment-selectors button:hover{background:#c6a15b33}
.discovery-contact{display:inline-block}
.treatment-discovery>.treatment-slider{max-width:none;justify-self:stretch;width:100%;margin:0;transform:none;box-shadow:0 10px 35px #5445280d;border:1px solid #d5c8b0}
.treatment-slide img{aspect-ratio:1.05/1;width:100%;object-fit:cover}
.slide-caption{min-height:126px;padding-top:24px}
.slide-caption strong{font-size:clamp(1.7rem,2.4vw,2.4rem)}
@media(max-width:1050px){.hero-heading h1{font-size:3.6rem}.hero-copy{gap:5%}.hero-actions{gap:18px}.treatment-discovery{gap:5%;padding-top:65px;padding-bottom:65px}.discovery-copy h2{font-size:2.4rem}.slide-caption strong{font-size:1.8rem}}
@media(max-width:760px){
.home-hero{height:auto;min-height:0;padding-top:calc(56.25vw + 28px);padding-bottom:38px;display:block}
.home-hero>.hero-film{height:56.25vw;bottom:auto}
.home-hero>.hero-film video{object-fit:contain}
/* A longer, eased fade blends the phone video into the cream copy area. */
.home-hero:after{background:linear-gradient(0deg,#fffdf9 0%,rgba(255,253,249,.94) 14%,rgba(255,253,249,.74) 32%,rgba(255,253,249,.36) 55%,rgba(255,253,249,.1) 76%,rgba(255,253,249,0) 100%);height:clamp(56px,18vw,120px);top:calc(56.25vw - clamp(56px,18vw,120px));bottom:auto}
.hero-copy{display:block}.hero-heading h1{font-size:clamp(3rem,11.8vw,4.5rem);margin-bottom:24px}.hero-heading .eyebrow{font-size:.75rem}.hero-booking>p{font-size:1rem}
.hero-actions{flex-direction:row;align-items:center;gap:20px;margin-top:25px}
.home-hero>.film-controls{top:12px;padding:2px 7px;gap:6px}.home-hero>.film-controls>span{font-size:.75rem;letter-spacing:.04em}
.treatment-discovery{grid-template-columns:minmax(0,1fr);padding-top:55px;padding-bottom:55px;gap:32px}
.discovery-copy h2{font-size:2.3rem}.treatment-slide img{aspect-ratio:1.2/1}.slide-caption{min-height:116px}.slide-caption strong{font-size:1.8rem}
}
/* Navigation drawer: grouped services, studio links and a distinct booking area. */
.site-menu{width:min(620px,95vw);padding:25px 38px 30px;background:#faf7f1;box-shadow:-15px 0 60px #25211922}
.menu-top{padding-bottom:20px;align-items:center}
.menu-top img{width:125px}
.menu-close{display:flex;align-items:center;gap:12px;font:300 30px/1 var(--sans);padding:8px 0 8px 12px;color:var(--ink)}
.menu-close>span{font-size:.75rem;font-weight:400}
.menu-intro{padding-top:27px}
.menu-intro .eyebrow{font-size:.75rem;letter-spacing:.12em;margin-bottom:9px}
.menu-intro h2{font-size:2.4rem;margin:0}
.site-menu .menu-navigation{display:grid;grid-template-columns:1fr;gap:23px;padding:28px 0}
.menu-group h3,.menu-studio h3{font:500 .75rem/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--wine);margin:0 0 8px}
.site-menu .menu-group a{display:flex;align-items:center;justify-content:space-between;gap:16px;font:400 1.05rem/1.5 var(--sans);padding:10px 0;border-bottom:1px solid #e2d9c8;text-decoration:none;transition:padding .2s,background .2s}
.site-menu .menu-group a>span{font-size:.95rem;color:var(--wine)}
.site-menu .menu-group a:hover,.site-menu .menu-group a.is-current{background:#c6a15b16;padding-left:10px;padding-right:10px;text-decoration:none}
.site-menu .menu-group a.is-current{box-shadow:inset 2px 0 var(--gold)}
.menu-studio{display:flex;flex-wrap:wrap;gap:8px 25px}
.menu-studio h3{width:100%;margin-bottom:0}
.site-menu .menu-studio a{font:400 .875rem/1.5 var(--sans);padding:4px 0;text-decoration:none}
.site-menu .menu-studio a:hover,.site-menu .menu-studio a.is-current{text-decoration:underline}
.menu-booking{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}
.menu-booking>div>span{font-family:var(--serif);font-size:1.5rem}
.menu-booking p{font-size:.75rem;color:var(--muted);margin:3px 0 0}
.menu-booking .button{padding:12px 17px;gap:15px;white-space:nowrap}
.menu-contact{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px;font-size:.875rem}
.menu-contact a{text-decoration:none}
.menu-contact a>span{display:block;font-size:.75rem;color:var(--muted);margin-bottom:3px}
.menu-contact a:hover{text-decoration:underline}
.menu-email{grid-column:1/-1;font-size:.8125rem;border-top:1px solid var(--line);padding-top:14px}
@media(max-width:760px){.site-menu{padding:20px 24px 28px;width:95vw}.menu-intro h2{font-size:2rem}.menu-intro{padding-top:23px}.site-menu .menu-navigation{padding:23px 0;gap:20px}.site-menu .menu-group a{font-size:.9375rem;padding:10px 0}.menu-booking{align-items:flex-start;flex-direction:column;gap:14px}.menu-booking .button{width:100%}.menu-close>span{display:none}.menu-contact{gap:16px 10px}.menu-email{font-size:.75rem}}
/* Minimal header; detailed navigation lives in the menu. */
.site-header .header-book{margin-left:auto}
.site-header .menu-button{margin-left:4px;flex-shrink:0}
.menu-top>a{display:flex;align-items:center;width:125px;height:54px;overflow:hidden;flex-shrink:0}
.menu-top>a img{width:125px;max-width:none;flex-shrink:0}
/* Progress follows the same clock as automatic slide changes. */
.treatment-slides{position:relative}
.slide-progress{position:absolute;left:0;right:0;top:0;aspect-ratio:1.05/1;pointer-events:none;display:flex;align-items:flex-end}
.slide-progress:before{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:rgba(255,255,255,.5)}
.slide-progress-fill{position:relative;display:block;width:100%;height:4px;background:var(--gold);transform:scaleX(0);transform-origin:left center}
@media(max-width:760px){.slide-progress{aspect-ratio:1.2/1}}
/* On the homepage the header belongs to the film, becoming solid on scroll. */
.home-page .site-header{position:fixed;inset:0 0 auto;background:transparent;border-bottom-color:transparent;box-shadow:none;transition:background .25s,box-shadow .25s,border-color .25s}
.home-page .site-header.is-scrolled{background:var(--cream);border-bottom-color:var(--line);box-shadow:0 2px 15px #2928200a}
.home-page .site-header:not(.is-scrolled) .menu-button{background:#faf7f355}
.home-hero .hero-actions .video-toggle{width:44px;height:44px;min-height:44px;flex-shrink:0;border:1px solid var(--wine);background:#fffdf9cc;color:var(--ink)}
.home-hero .hero-actions .video-toggle:hover{background:#eee4d0}
/* Use the existing logo as a luminance mask so its white canvas stays invisible. */
@supports (mask-composite:exclude){
.site-header .brand{position:relative}
.site-header .brand img{opacity:0}
.site-header .brand:after{content:'';position:absolute;inset:0;background:var(--ink);mask-image:linear-gradient(#fff,#fff),url('/assets/images/logo-black.png');mask-mode:alpha,luminance;mask-size:100% 100%,100% auto;mask-position:center;mask-repeat:no-repeat;mask-composite:exclude}
}
@media(max-width:1050px) and (min-width:761px){.hero-heading h1{font-size:3.3rem}.hero-booking>p{font-size:.9375rem}.hero-actions{gap:14px}.home-hero{padding-bottom:36px}}
/* Equal header control heights at each breakpoint. */
.site-header .header-book,.site-header .menu-button{height:52px;min-height:52px;padding-top:0;padding-bottom:0}
.site-header .menu-button{width:52px}
@media(max-width:760px){.site-header .header-book,.site-header .menu-button{height:44px;min-height:44px}.site-header .menu-button{width:44px}}
/* Text-only navigation wordmark: no image canvas over the video. */
.site-header .brand:after{content:none}
.brand-wordmark{display:block;width:100%;font:400 33px/1 Georgia,'Times New Roman',serif;letter-spacing:.23em;text-align:center;white-space:nowrap;color:var(--ink)}
.brand-wordmark small{display:block;margin-top:7px;font:500 9px/1 var(--sans);letter-spacing:.42em}
.menu-top .brand-wordmark{font-size:30px}
@media(max-width:760px){.site-header .brand-wordmark{font-size:26px}.site-header .brand-wordmark small{font-size:8px;margin-top:6px}}
/* Customer voices: editorial heading, warm quotation cards and clear attribution. */
.reviews-section{display:block;padding-top:80px;padding-bottom:85px;background:var(--rose)}
.reviews-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}
.reviews-heading h2{font-size:clamp(2.6rem,4.2vw,4.2rem);line-height:1.07;margin:0}
.reviews-heading h2 em{font-weight:400;color:var(--wine)}
.reviews-heading .eyebrow{margin-bottom:18px}
.reviews-source{font-size:.875rem;color:var(--muted);padding-bottom:8px;border-bottom:1px solid #c6a15b66;margin-bottom:6px}
.reviews-widget{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.review-card{background:#fff;border:1px solid #c6a15b55;padding:30px 35px 28px;color:var(--ink);display:flex;flex-direction:column;position:relative}
.review-top{display:flex;align-items:center;justify-content:space-between;height:55px;margin-bottom:18px}
.review-quote{font:400 100px/1 Georgia,serif;color:var(--gold);height:65px;transform:translateY(5px)}
.review-top .stars{font-size:1rem;letter-spacing:4px;margin:0;color:#876b36}
.review-card blockquote{font:400 clamp(1.35rem,2.1vw,1.8rem)/1.5 var(--serif);margin:0 0 30px}
.review-person{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}
.review-initial{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#eae0c9;color:#5f4b28;font:400 1.4rem/1 var(--serif);flex-shrink:0}
.review-person p{font-size:.875rem;font-weight:500;margin:0;line-height:1.5}
.review-person p span{font-size:.75rem;font-weight:400;color:var(--muted);opacity:1;margin-top:3px}
@media(max-width:760px){.reviews-section{padding-top:55px;padding-bottom:55px}.reviews-heading{display:block;margin-bottom:30px}.reviews-heading h2{font-size:2.7rem}.reviews-source{display:inline-block;margin-top:23px}.reviews-widget{grid-template-columns:minmax(0,1fr);gap:22px}.review-card{padding:25px}.review-card blockquote{font-size:1.4rem}.review-top{margin-bottom:15px}}
.site-header .brand,.menu-top>a{text-decoration:none}
/* A quiet, keyboard-accessible way back to the top of longer pages. */
.scroll-top{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:80;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #876b36;background:var(--gold);color:#231f17;box-shadow:0 4px 16px #29282020;font:400 1.5rem/1 var(--sans);transition:background .2s,transform .2s}
.scroll-top:hover{background:#d5b578;transform:translateY(-2px)}
.scroll-top[hidden],.menu-open .scroll-top{display:none}
/* Portraits echo the site's rectangular cards with a restrained gallery frame. */
.artist .artist-photo{border-radius:0;border:1px solid var(--gold);padding:12px;background:var(--cream);box-shadow:none;overflow:hidden}
.artist .artist-photo:before{display:none}
.artist .artist-photo img{border-radius:0}
@media(max-width:760px){.artist .artist-photo{max-width:450px;width:100%;padding:10px}.artist .artist-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}}
/* A composed footer: booking, brand, practical details and a compact legal row. */
.site-footer{display:grid;grid-template-columns:.9fr 1.2fr 1.4fr;align-items:start;gap:55px 7%;padding-top:0;padding-bottom:28px;background:#faf7f1}
.footer-booking{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:35px;padding:45px 0 36px;border-bottom:1px solid #c6a15b88}
.footer-booking .eyebrow{margin-bottom:10px;font-size:.75rem}
.footer-booking h2{margin:0;font-size:clamp(2.4rem,3.7vw,3.7rem)}
.footer-booking .button{min-height:54px;flex-shrink:0}
.footer-identity{align-self:center;text-align:center}
.footer-identity .footer-brand{width:min(220px,100%);margin:-20px auto 0}
.footer-identity>p{font-family:var(--serif);font-size:1.3rem;margin:0;color:var(--wine)}
.site-footer h3{font:500 .75rem/1.5 var(--sans);text-transform:uppercase;letter-spacing:.12em;color:var(--wine);margin:0 0 20px}
.footer-hours .hours{font-size:.875rem}
.footer-hours .hours p{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line);gap:10px}
.footer-address{font-size:.875rem;margin:22px 0 0;color:var(--muted);line-height:1.7}
.footer-links{display:grid;grid-template-columns:1fr;gap:26px}
.footer-links nav,.footer-links .footer-legal{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0;font-size:.875rem}
.footer-links h3{margin-bottom:3px}
.footer-links a{text-decoration:none;line-height:1.6}
.footer-links a:hover{text-decoration:underline}
.footer-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:24px;border-top:1px solid #c6a15b88;font-size:.75rem;color:var(--muted)}
.footer-bottom .copyright{padding:0;border:0;margin:0;font-size:inherit;grid-column:auto}
.footer-bottom>div{display:flex;gap:24px}
.footer-bottom a{text-decoration:none}
.footer-bottom a:hover{text-decoration:underline}
@media(min-width:1250px){.footer-links{grid-template-columns:.85fr 1.15fr;gap:25px}.site-footer{grid-template-columns:.85fr 1.1fr 1.5fr;gap:50px 6%}}
@media(max-width:1050px){.footer-booking{gap:25px}.footer-booking .button{padding:13px 18px;gap:15px}.site-footer{gap:40px 5%}}
@media(max-width:760px){.site-footer{grid-template-columns:1fr;padding-bottom:25px;gap:35px}.footer-booking{flex-direction:column;align-items:flex-start;padding:35px 0 30px;gap:25px}.footer-booking h2{font-size:2.6rem}.footer-booking .button{width:100%;font-size:.8125rem}.footer-identity{display:flex;align-items:center;gap:20px;text-align:left}.footer-identity .footer-brand{width:130px;margin:0;flex-shrink:0}.footer-identity>p{max-width:180px;font-size:1.5rem}.footer-hours .hours{max-width:none}.footer-links{grid-template-columns:1fr 1fr;gap:24px}.footer-links a{font-size:.8125rem}.footer-bottom{flex-wrap:wrap;gap:14px;font-size:.75rem}.footer-bottom>span{width:100%}.footer-bottom>div{gap:16px}}
@media(max-width:380px){.footer-links{grid-template-columns:1fr}.footer-identity{gap:12px}.footer-identity .footer-brand{width:110px}.footer-identity>p{font-size:1.35rem}}
/* Keep the complete source portraits visible instead of cropping to a set height. */
.artist .artist-photo{height:auto;width:100%;max-width:480px;align-self:center;margin:0}
.artist-veronika .artist-photo{justify-self:end}
.artist-andrea .artist-photo{justify-self:start}
.artist .artist-photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
@media(max-width:760px){.artist .artist-photo{justify-self:center;max-width:450px;margin:0 auto}}
/* Theme the original SociableKIT embed through its exposed host variables. */
.live-reviews{min-width:0;color:var(--ink)}
.live-reviews .sk-ww-google-reviews{
--font-family:Montserrat,Arial,sans-serif!important;
--details-font-size:16px!important;
--title-font-size:24px!important;
--widget-bg-color:transparent!important;
--widget-font-color:#302e27!important;
--details-bg-color:#ffffff!important;
--details-font-color:#302e27!important;
--reviewer-name-color:#302e27!important;
--details-secondary-font-color:#706b60!important;
--details-link-color:#765d31!important;
--details-link-hover-color:#302e27!important;
--widget-link-color:#765d31!important;
--widget-tertiary-font-color:#706b60!important;
--show-widget-border:0!important;
--show-widget-border-radius:0!important;
--widget-padding:0px!important;
--show-item-border:1px solid #c6a15b55!important;
--item-border-color:#c6a15b55!important;
--item-border-radius:0px!important;
--item-content-padding:28px!important;
--show-box-shadow:none!important;
--star-color:#c6a15b!important;
--review-rating-star-color:#c6a15b!important;
--button-bg-color:#c6a15b!important;
--button-text-color:#231f17!important;
--button-hover-bg-color:#d5b578!important;
--button-hover-text-color:#231f17!important;
--arrow-color:#231f17!important;
--arrow-background-color:#c6a15b!important;
--arrow-hover-color:#231f17!important;
}
.reviews-widget[hidden],.live-reviews[hidden]{display:none}
/* Give the film's centre more separation from the lower hero content. */
.home-hero{min-height:780px;height:clamp(780px,65vw,940px);padding-bottom:52px}
@media(max-width:760px){.home-hero{min-height:0;height:auto;padding-top:calc(56.25vw + 48px);padding-bottom:48px}}

/* Keep mobile headings and contact details readable without awkward breaks. */
.inner-hero--hair+.treatment-main h1{hyphens:none;text-wrap:balance}
.price-note a[href^="tel:"]{white-space:nowrap}
@media(max-width:760px){.site-footer{padding-bottom:88px}}
@media(max-width:380px){
.site-header{gap:8px}
.site-header .brand{width:80px}
.site-header .brand-wordmark{font-size:22px}
.site-header .header-book{font-size:.75rem;padding-left:8px;padding-right:8px;white-space:nowrap}
.site-header .menu-button{margin-left:0}
.service-card h3{font-size:1.4rem}
}
