:root{--ink:#25241f;--ink-soft:#5e5b53;--muted:#77736a;--paper:#f4f1eb;--white:#fffdfa;--sand:#e9e2d7;--gold:#a86d3d;--gold-soft:#d4a476;--line:#ded8ce;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope','DM Sans',Arial,sans-serif;--gutter:clamp(24px,8vw,120px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.site-header{position:sticky;z-index:10;top:0;height:88px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;background:rgba(244,241,235,.96);border-bottom:1px solid rgba(37,36,31,.08);backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;min-width:0}
.brand-logo{width:60px;height:60px;object-fit:contain;border-radius:0}
.brand-copy{display:grid;line-height:1.2;gap:4px}
.brand-name{font:800 18px/1 var(--display);letter-spacing:2.2px}
.brand-sub{color:var(--gold);font-size:8px;letter-spacing:1.4px}
nav{display:flex;align-items:center;gap:clamp(20px,3vw,42px)}
nav a,.header-cta{font-size:11px;font-weight:600;letter-spacing:.25px;color:var(--ink-soft);transition:color .2s}
nav a:hover,.quiet-link:hover,.text-link:hover,.reviews-source:hover,.contact-address:hover{color:var(--gold)}
.header-cta{padding:12px 17px;border:1px solid var(--ink);color:var(--ink);white-space:nowrap;transition:background .2s,color .2s}
.header-cta:hover{background:var(--ink);color:var(--white)}
.header-cta span,.text-link span,.button span{margin-left:9px;color:var(--gold-soft)}
.header-cta:hover span{color:var(--gold-soft)}
.menu-toggle{display:none}
.hero{min-height:min(720px,calc(100svh - 88px));padding:66px var(--gutter) 78px;display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;gap:clamp(45px,8vw,125px);background:var(--paper)}
.hero-copy{max-width:530px;padding:20px 0 10px}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 23px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}
.eyebrow>span{width:24px;height:1px;background:var(--gold)}
.hero h1,.section h2{margin:0;font:600 clamp(49px,6vw,78px)/1.08 var(--display);letter-spacing:-3.7px}
.hero h1 em,.section h2 em{font-style:normal;color:var(--gold);font-weight:500}
.hero-intro{max-width:390px;margin:25px 0 28px;color:var(--ink-soft);font-size:16px;line-height:1.8}
.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 19px;background:var(--ink);color:var(--white);font-size:11px;font-weight:700;letter-spacing:.25px;transition:background .2s,transform .2s}
.button:hover{background:var(--gold);transform:translateY(-2px)}
.button span{color:var(--gold-soft)}
.quiet-link{font-size:11px;font-weight:600;color:var(--ink-soft);transition:color .2s}
.quiet-link span{margin-left:7px;color:var(--gold)}
.hero-location{display:flex;align-items:center;gap:10px;margin-top:47px;color:var(--muted);font-size:11px;letter-spacing:.25px}
.location-dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}
.hero-location i{font-style:normal;color:#b7ad9e}
.hero-visual{position:relative;height:clamp(410px,49vw,610px);min-height:380px}
.hero-image{width:100%;height:100%;object-fit:cover;object-position:53% center}
.hero-visual:after{content:"";position:absolute;inset:13px;border:1px solid rgba(255,255,255,.58);pointer-events:none}
.hero-note{position:absolute;right:-25px;bottom:28px;display:flex;align-items:center;gap:12px;padding:13px 17px;background:var(--white);box-shadow:0 10px 35px rgba(37,36,31,.1)}
.note-mark{width:34px;height:34px;display:grid;place-items:center;background:#171715;color:var(--gold-soft);font:700 20px var(--display)}
.hero-note b,.hero-note small{display:block}.hero-note b{font-size:11px}.hero-note small{margin-top:2px;color:var(--muted);font-size:9px}
.service-ribbon{min-height:68px;display:flex;align-items:center;justify-content:center;gap:clamp(16px,4vw,52px);padding:12px 24px;background:var(--ink);color:#f3eee5;font-size:9px;font-weight:600;letter-spacing:1.7px}
.service-ribbon b{color:var(--gold-soft);font-size:12px;font-weight:400}
.section{padding:112px var(--gutter)}
.services{background:var(--white)}
.section-heading{display:grid;grid-template-columns:1fr .75fr;align-items:end;column-gap:12%;row-gap:15px;margin-bottom:47px}
.section-heading .eyebrow{grid-column:1/-1;margin-bottom:0}
.section h2{font-size:clamp(42px,5vw,64px);letter-spacing:-2.7px}
.section-intro{max-width:350px;margin:0 0 6px;color:var(--muted);font-size:13px;line-height:1.85}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-card{position:relative;min-height:250px;padding:26px 29px 30px;border-right:1px solid var(--line);transition:background .2s}
.service-card:last-child{border-right:0}.service-card:hover{background:#f8f5f0}
.service-no{color:#aaa397;font-size:10px;font-weight:600}
.service-icon{margin-top:27px;color:var(--gold);font-size:23px;line-height:1}
.service-card h3{margin:17px 0 9px;font:700 21px/1.3 var(--display);letter-spacing:-.5px}
.service-card p{max-width:275px;margin:0;color:var(--muted);font-size:12px;line-height:1.8}
.card-arrow{position:absolute;right:28px;top:25px;color:#b4a99a;font-size:12px;transition:color .2s,transform .2s}.service-card:hover .card-arrow{color:var(--gold);transform:translate(2px,-2px)}
.price-note{display:flex;align-items:center;gap:17px;margin-top:23px;padding:20px 22px;background:var(--paper)}
.price-mark{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #ccb9a4;color:var(--gold);font:700 9px var(--display);letter-spacing:.6px}
.price-note p{flex:1;margin:0;color:var(--muted);font-size:11px;line-height:1.8}.price-note p b{color:var(--ink);font-size:12px}
.text-link{display:inline-flex;align-items:center;color:var(--ink);font-size:10px;font-weight:700;transition:color .2s;white-space:nowrap}
.salon{display:grid;grid-template-columns:.8fr 1fr;align-items:center;gap:clamp(50px,10vw,148px);background:var(--sand)}
.salon-photo{position:relative;display:block;overflow:hidden;background:#d9d4ca;box-shadow:0 18px 45px rgba(45,39,31,.12)}.salon-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .55s}.salon-photo:hover img{transform:scale(1.025)}.photo-caption{position:absolute;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;background:linear-gradient(0deg,rgba(27,28,25,.88),rgba(27,28,25,.02));color:white}.photo-caption b,.photo-caption small{display:block}.photo-caption b{font-size:9px;letter-spacing:1.1px}.photo-caption small{margin-top:4px;color:#eee8df;font-size:10px}.photo-caption i{width:33px;height:33px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.58);border-radius:50%;font-size:13px;font-style:normal}
.salon-copy{max-width:475px}.salon-copy .eyebrow{margin-bottom:20px}.salon-copy h2{font-size:clamp(40px,4.7vw,59px)}.salon-copy>p:not(.eyebrow){margin:24px 0;color:#656056;font-size:13px;line-height:1.95}.salon-copy .text-link{padding-bottom:5px;border-bottom:1px solid #b9a58f}
.reviews{background:var(--paper)}
.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.reviews-heading .eyebrow{margin-bottom:19px}.reviews-heading h2{font-size:clamp(39px,4.6vw,58px)}
.review-disclosure{max-width:320px;margin:0 0 4px;color:var(--muted);font-size:11px;line-height:1.8}
.review-marquee{position:relative;margin:0 calc(var(--gutter)*-1);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.reviews-track{display:flex;width:max-content;animation:reviews-scroll 270s linear infinite}
.reviews-run{display:flex;gap:16px;width:max-content;padding-right:16px}
.review-card{display:flex;flex:0 0 clamp(280px,30vw,360px);min-height:220px;flex-direction:column;padding:22px 24px;background:var(--white);border:1px solid #e7e1d7}
.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8c8579;font-size:8px;font-weight:700;letter-spacing:1.3px}
.review-stars{color:#c28b43;font-size:14px;letter-spacing:2px;white-space:nowrap}
.review-card blockquote{margin:20px 0;font:500 18px/1.5 var(--display);letter-spacing:-.35px}
.review-author{margin-top:auto;color:#777166;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.review-card>a,.reviews-source{display:inline-flex;align-items:center;gap:10px;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.35px;transition:color .2s}
.reviews-source{margin-top:23px;color:var(--ink-soft)}
@keyframes reviews-scroll{to{transform:translate3d(-50%,0,0)}}
.contact{display:grid;grid-template-columns:1fr .65fr;align-items:end;gap:70px;background:#242521;color:var(--white)}
.contact .eyebrow{color:var(--gold-soft)}.contact h2{font-size:clamp(46px,6vw,72px)}.contact h2 em{color:var(--gold-soft)}
.contact-details{max-width:360px;padding-bottom:5px}.contact-details>p{margin:0 0 21px;color:#c4c1b9;font-size:13px;line-height:1.8}.contact .button{background:var(--gold-soft);color:#211a14}.contact .button:hover{background:#e0b58c}.contact .button span{color:#4b3420}
.contact-address{display:block;margin-top:19px;color:#d6d3cc;font-size:11px;transition:color .2s}.contact-address span{margin-left:7px;color:var(--gold-soft)}
footer{padding:30px var(--gutter) 22px;background:#1b1c19;color:#f6f2eb}
.footer-brand{display:flex;align-items:center;gap:10px;width:max-content}.footer-brand img{width:42px;height:42px;object-fit:cover}.footer-brand span{display:grid;gap:3px;line-height:1}.footer-brand b{font:800 15px var(--display);letter-spacing:1.5px}.footer-brand small{color:#c79465;font-size:7px;letter-spacing:1.4px}
.footer-meta{display:flex;justify-content:space-between;gap:20px;margin-top:25px;padding-top:15px;border-top:1px solid rgba(255,255,255,.12);color:#aaa79f;font-size:9px}.footer-meta a:hover{color:var(--gold-soft)}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){:root{--gutter:6vw}.site-header{gap:18px}.brand{min-width:unset}nav{gap:18px}.hero{gap:40px;padding-top:50px;padding-bottom:60px}.hero h1{font-size:clamp(48px,7vw,65px)}.hero-visual{height:clamp(390px,54vw,520px)}.hero-note{right:-12px}.salon{gap:55px}}
@media(max-width:700px){html{scroll-padding-top:72px}.site-header{height:72px;padding:0 5%;gap:9px}.brand-logo{width:48px;height:48px}.brand{gap:8px}.brand-name{font-size:16px}.brand-sub{font-size:7px;letter-spacing:1px}.site-header nav{position:absolute;display:none;top:71px;left:0;right:0;padding:9px 5% 18px;background:var(--paper);border-bottom:1px solid var(--line)}.site-header nav.open{display:grid;gap:0}.site-header nav a{min-height:43px;display:flex;align-items:center;border-top:1px solid rgba(37,36,31,.07)}.header-cta{margin-left:auto;padding:10px 11px;font-size:9px}.menu-toggle{width:40px;height:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:transparent}.menu-toggle span{width:15px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.hero{min-height:auto;padding:59px 6% 47px;grid-template-columns:1fr;gap:35px}.hero-copy{padding:0}.eyebrow{margin-bottom:18px;font-size:9px}.hero h1{font-size:clamp(47px,12vw,67px);letter-spacing:-2.7px}.hero-intro{margin:18px 0 22px;font-size:14px}.hero-location{margin-top:26px}.hero-visual{height:clamp(290px,78vw,440px);min-height:0;margin-right:10px}.hero-note{right:-10px;bottom:16px;padding:10px 12px}.service-ribbon{min-height:58px;gap:12px;padding:10px 13px;font-size:7px;letter-spacing:1px}.service-ribbon b{font-size:10px}.service-ribbon span:nth-of-type(4),.service-ribbon b:nth-of-type(3){display:none}
.section{padding:72px 6%}.section-heading{grid-template-columns:1fr;row-gap:13px;margin-bottom:28px}.section-heading .eyebrow{grid-column:auto}.section h2{font-size:clamp(39px,10vw,54px);letter-spacing:-2px}.section-intro{font-size:12px}.service-grid{grid-template-columns:1fr}.service-card{min-height:190px;padding:20px 22px;border-right:0;border-bottom:1px solid var(--line)}.service-card:last-child{border-bottom:0}.service-icon{margin-top:15px}.service-card h3{margin:11px 0 7px;font-size:19px}.service-card p{max-width:350px}.service-card .card-arrow{top:22px;right:23px}.price-note{align-items:flex-start;flex-wrap:wrap;padding:17px;gap:12px}.price-note p{flex:1 1 calc(100% - 55px)}.price-note .text-link{margin-left:54px}
.salon{grid-template-columns:1fr;gap:31px}.salon-image{height:clamp(260px,70vw,390px);max-width:none;margin-right:10px}.salon-copy h2{font-size:clamp(39px,10vw,52px)}.salon-copy>p:not(.eyebrow){font-size:12px}.reviews-heading{display:block;margin-bottom:26px}.reviews-heading h2{font-size:clamp(37px,9vw,51px)}.review-disclosure{margin-top:17px}.review-grid{grid-template-columns:1fr;gap:11px}.review-card{min-height:170px;padding:19px 20px}.review-card blockquote{margin:24px 0 19px;font-size:19px}.contact{grid-template-columns:1fr;gap:25px}.contact h2{font-size:clamp(47px,11vw,63px)}.contact-details{padding:0}.contact-details>p{font-size:12px}.footer-meta{display:grid;grid-template-columns:1fr auto;gap:10px}.footer-meta span:last-child{display:none}}
@media(max-width:390px){.brand-sub{font-size:6px}.header-cta{padding:9px;font-size:8px}.hero-actions{gap:16px}.service-ribbon{gap:9px;font-size:6px}.price-note .text-link{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.review-marquee{overflow-x:auto;mask-image:none}.reviews-track{animation:none!important}}
@media(max-width:700px){.salon-photo{margin-right:10px}}

/* BABL'S black and gold palette with restrained light sections. */
:root{--ink:#11110f;--ink-soft:#d0ccc3;--muted:#aaa59a;--paper:#11110f;--white:#f8f6f1;--sand:#f1eee7;--gold:#c89248;--gold-soft:#e2b76c;--line:rgba(200,146,72,.28)}
body{background:var(--paper);color:#f8f6f1}
.site-header{background:rgba(15,15,14,.97);border-color:rgba(226,183,108,.2)}
.brand-name{color:#f8f6f1}.brand-sub{color:var(--gold-soft)}
nav a,.header-cta{color:#e6e1d7}.header-cta{border-color:var(--gold);color:var(--gold-soft)}.header-cta:hover{background:var(--gold);color:#11110f}
.hero{background:#11110f}.hero h1,.section h2{color:#f8f6f1}.hero h1 em,.section h2 em{color:var(--gold-soft)}
.hero-intro,.quiet-link{color:#d0ccc3}.hero-location{color:#b7b1a5}.hero-location i{color:var(--gold)}
.button{background:var(--gold);color:#16130f}.button:hover{background:var(--gold-soft);color:#11110f}.button span{color:#332313}
.hero-visual:after{border-color:rgba(226,183,108,.68)}.hero-note{background:#f8f6f1;color:#171612}.hero-note small{color:#777166}
.service-ribbon{background:#1c1c19;color:#f1eee7;border-top:1px solid rgba(226,183,108,.22);border-bottom:1px solid rgba(226,183,108,.22)}
.services{background:#11110f;color:#f8f6f1}.section-intro{color:#bcb7ad}.service-grid{border-color:var(--line)}.service-card{border-color:var(--line)}.service-card:hover{background:#1b1a17}.service-no,.card-arrow{color:#c7b28f}.service-icon{color:var(--gold-soft)}.service-card h3{color:#f8f6f1}.service-card p{color:#bcb7ad}.card-arrow{color:var(--gold-soft)}
.price-note{background:#f4f1eb;color:#171612}.price-mark{border-color:#c9a26b;color:#976323}.price-note p{color:#69645b}.price-note p b{color:#171612}.price-note .text-link{color:#171612}
.salon{background:#f1eee7;color:#171612}.salon-copy h2{color:#171612}.salon-copy h2 em{color:#a76e2f}.salon-copy>p:not(.eyebrow){color:#5f5a51}.salon-copy .text-link{color:#171612;border-color:#b79568}
.salon-photo{box-shadow:0 18px 45px rgba(25,20,12,.2)}.photo-caption{background:linear-gradient(0deg,rgba(12,12,11,.91),rgba(12,12,11,.02))}
.reviews{background:#11110f;color:#f8f6f1}.reviews h2{color:#f8f6f1}.reviews h2 em{color:var(--gold-soft)}.review-disclosure{color:#bcb7ad}.review-card{background:#f8f6f1;border-color:rgba(226,183,108,.28);color:#171612}.review-card-top{color:#777166}.review-card blockquote{color:#171612}.review-card>a,.reviews-source{color:#b27a35}.reviews-source{color:#e3d3ba}
.contact{background:#20201d;color:#f8f6f1}.contact h2{color:#f8f6f1}.contact h2 em{color:var(--gold-soft)}.contact .eyebrow{color:var(--gold-soft)}.contact .button{background:var(--gold);color:#17130e}.contact .button:hover{background:var(--gold-soft)}.contact .button span{color:#3b2813}.contact-address{color:#e1ddd4}
footer{background:#090909;color:#f8f6f1;border-top:1px solid rgba(226,183,108,.22)}.footer-meta{border-color:rgba(226,183,108,.2)}.footer-brand small,.footer-meta a:hover{color:var(--gold-soft)}
.menu-toggle{border-color:rgba(226,183,108,.42);background:transparent}.menu-toggle span{background:var(--gold-soft)}
.script-word{display:inline-block;font-family:'Allura','Brush Script MT',cursive;font-size:1.28em;font-weight:400;letter-spacing:0;line-height:.78;transform:rotate(-2deg);padding-right:.05em}
.section h2 .script-word{font-size:1.25em}.contact h2 .script-word{font-size:1.32em}
@media(max-width:700px){.site-header nav{background:#11110f;border-color:rgba(226,183,108,.25)}.site-header nav a{color:#f1eee7;border-color:rgba(226,183,108,.15)}.hero-note{right:-10px}.section{scroll-margin-top:72px}}
.hero{position:relative;height:min(780px,calc(100svh - 88px));min-height:570px;padding:50px var(--gutter) 85px;display:grid;place-items:center;overflow:hidden;background:#090909}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.78);z-index:0}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,7,7,.58),rgba(7,7,7,.38) 48%,rgba(7,7,7,.58)),linear-gradient(0deg,rgba(7,7,7,.62),rgba(7,7,7,.15) 55%,rgba(7,7,7,.5))}
.hero-copy{position:relative;z-index:2;width:min(780px,100%);max-width:780px;padding:0;text-align:center;display:flex;flex-direction:column;align-items:center}
.site-header{position:absolute;top:0;left:0;right:0;background:rgba(10,10,10,.34);border-color:rgba(226,183,108,.22)}.site-header.scrolled{position:fixed;background:rgba(15,15,14,.97)}
.hero{height:min(860px,100svh);min-height:620px;padding:115px var(--gutter) 82px}
.hero-image{object-position:center 38%;filter:brightness(.72) saturate(.8) blur(1.2px);transform:scale(1.015)}
.hero-overlay{background:linear-gradient(90deg,rgba(7,7,7,.58),rgba(7,7,7,.34) 48%,rgba(7,7,7,.58)),linear-gradient(0deg,rgba(7,7,7,.58),rgba(7,7,7,.13) 55%,rgba(7,7,7,.46))}
.hero .eyebrow{justify-content:center;margin:0 0 21px;color:var(--gold-soft);font-size:10px;letter-spacing:3px}.hero .eyebrow span{width:29px;background:var(--gold-soft)}
.hero h1{font:400 clamp(84px,14vw,190px)/.98 'Playfair Display',Georgia,serif;letter-spacing:.055em;color:#f5f0e7}
.hero-actions{justify-content:center;margin-top:45px}.hero .button{min-height:55px;padding:0 34px;border:1px solid var(--gold-soft);border-radius:40px;background:var(--gold-soft);color:#17130f;font-size:12px}.hero .button:hover{background:#f0c98e;border-color:#f0c98e}.hero .button span{color:#3c2812}
.hero-bottom{position:absolute;z-index:2;bottom:22px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;margin:0;color:#e8e3d9;font-size:9px;font-weight:600;letter-spacing:1.8px;text-align:center}.hero-bottom span{padding:0 6px;color:var(--gold-soft)}
@media(max-width:700px){.site-header{height:72px;padding:0 5%;background:rgba(10,10,10,.34)}.site-header.scrolled{background:rgba(15,15,14,.97)}.hero{height:min(740px,100svh);min-height:560px;padding:95px 6% 76px}.hero-image{object-position:70% 38%}.hero-overlay{background:linear-gradient(0deg,rgba(7,7,7,.7),rgba(7,7,7,.32) 55%,rgba(7,7,7,.55))}.hero .eyebrow{gap:8px;font-size:8px;letter-spacing:1.5px}.hero .eyebrow span{width:17px}.hero h1{font-size:clamp(64px,17vw,108px);letter-spacing:.035em}.hero-actions{margin-top:33px}.hero .button{min-height:50px;padding:0 27px}.hero-bottom{bottom:17px;font-size:8px;letter-spacing:1.3px}}
.hero{isolation:isolate;background:#090908}
.hero-ambient{position:absolute;inset:0;z-index:0;overflow:hidden;background:radial-gradient(ellipse 42% 62% at 50% 45%,rgba(177,127,57,.1),transparent 75%),radial-gradient(ellipse 90% 105% at 50% 50%,#171612 0%,#0a0a09 72%)}
.hero-ambient::before{content:"";position:absolute;width:76vw;height:76vw;max-height:105vh;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(211,163,85,.11),rgba(179,125,49,.045) 36%,transparent 70%);animation:ambient-breathe 12s ease-in-out infinite alternate}
.hero-ambient::after{content:"";position:absolute;top:-45%;bottom:-45%;left:-32%;width:32%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(216,174,103,.055),transparent);filter:blur(20px);animation:gold-sweep 19s ease-in-out infinite}
.hero-copy{z-index:2}
.hero .eyebrow{color:var(--gold-soft);text-shadow:0 1px 10px #000}
.hero h1{margin:0;color:var(--gold-soft);font-family:'Great Vibes','Allura',cursive;font-size:clamp(120px,20vw,245px);font-weight:400;line-height:.86;letter-spacing:0;text-shadow:0 3px 28px rgba(0,0,0,.48),0 0 24px rgba(215,170,96,.11)}
.hero h1 .script-word{font-family:'Great Vibes','Allura',cursive;font-size:1em;line-height:.86;letter-spacing:.01em;transform:none;padding:0;color:var(--gold-soft)}
.hero-actions{margin-top:37px}.hero .button{box-shadow:0 5px 22px rgba(0,0,0,.3)}
@keyframes ambient-breathe{from{opacity:.55;scale:.92}to{opacity:1;scale:1.08}}
@keyframes gold-sweep{0%,20%{left:-36%;opacity:0}45%{opacity:.8}78%,100%{left:106%;opacity:0}}
@media(max-width:700px){.hero{padding-top:92px}.hero h1{font-size:clamp(112px,30vw,170px)}.hero .eyebrow{letter-spacing:1.7px}.hero-actions{margin-top:30px}}
.hero h1{font:400 clamp(86px,16vw,230px)/.96 'Playfair Display',Georgia,serif;letter-spacing:.095em;color:#f5f0e7;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.hero h1 .hero-title-word{font:inherit;letter-spacing:inherit;color:inherit}
@media(max-width:700px){.hero h1{font-size:clamp(68px,17vw,116px);letter-spacing:.06em}}
.hero{padding:0 var(--gutter)}
.hero-copy{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(780px,calc(100% - 2*var(--gutter)));text-align:center;align-items:center}
.hero{display:flex;align-items:center;justify-content:center;padding:0 var(--gutter)}
.hero-copy{position:relative;top:auto;left:auto;transform:none;width:min(1100px,100%);max-width:none;margin:0 auto;text-align:center;align-items:center}
.hero h1{font-size:clamp(72px,13vw,190px);line-height:.98;letter-spacing:.045em;white-space:nowrap}
@media(max-width:700px){.hero{padding:0 6%}.hero-copy{width:100%}.hero h1{font-size:clamp(64px,17vw,108px);letter-spacing:.035em}}

.hero-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center center;filter:brightness(.62) saturate(.8);transform:none}
.hero-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(5,5,5,0) 16%,rgba(5,5,5,.24) 57%,rgba(5,5,5,.72) 100%),linear-gradient(0deg,rgba(6,6,6,.48),rgba(6,6,6,.13) 52%,rgba(6,6,6,.36))}
@media(max-width:700px){.hero-image{object-position:center center;filter:brightness(.52) saturate(.78);transform:none}.hero-overlay{background:radial-gradient(ellipse at center,rgba(5,5,5,.1) 12%,rgba(5,5,5,.36) 66%,rgba(5,5,5,.8) 100%),linear-gradient(0deg,rgba(6,6,6,.58),rgba(6,6,6,.28) 55%,rgba(6,6,6,.54))}}
.hero-image{z-index:0}
.hero-ambient{z-index:1;background:none}
.hero-overlay{z-index:2}
.hero-copy{z-index:4}
.service-ribbon{min-height:78px;padding:18px var(--gutter);background:#050505;color:#e8e3d9;border-top:1px solid rgba(226,183,108,.16);border-bottom:1px solid rgba(226,183,108,.22);font-size:10px;letter-spacing:2px}
.service-ribbon b{color:var(--gold-soft);font-size:13px}
.services{background:#050505;color:#f8f6f1}
.services .service-grid{border-color:rgba(226,183,108,.2)}
.services .service-card{background:#080808;border-color:rgba(226,183,108,.17);transition:background .2s,transform .2s}
.services .service-card:hover{background:#11110f;transform:translateY(-3px)}
.services .service-card h3{color:#f8f6f1}
.services .service-card p,.services .section-intro{color:#bcb7ad}
.services .service-no,.services .card-arrow,.services .service-icon{color:var(--gold-soft)}
.services .price-note{background:#10100f;border:1px solid rgba(226,183,108,.2)}
.services .price-mark{border-color:rgba(226,183,108,.55);color:var(--gold-soft)}
.services .price-note p,.services .price-note p b{color:#e8e3d9}
.services .price-note .text-link{color:var(--gold-soft)}

.site-header{background:transparent;border-bottom-color:rgba(226,183,108,.12);backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header.scrolled{background:rgba(10,10,10,.93);border-bottom-color:rgba(226,183,108,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hero-overlay{background:linear-gradient(180deg,rgba(3,3,3,.78) 0%,rgba(3,3,3,.52) 100px,rgba(3,3,3,.08) 265px),radial-gradient(ellipse at center,rgba(5,5,5,0) 16%,rgba(5,5,5,.24) 57%,rgba(5,5,5,.72) 100%),linear-gradient(0deg,rgba(6,6,6,.48),rgba(6,6,6,.13) 52%,rgba(6,6,6,.36))}
@media(max-width:700px){.hero-overlay{background:linear-gradient(180deg,rgba(3,3,3,.78) 0%,rgba(3,3,3,.46) 92px,rgba(3,3,3,.1) 230px),radial-gradient(ellipse at center,rgba(5,5,5,.08) 12%,rgba(5,5,5,.35) 66%,rgba(5,5,5,.78) 100%),linear-gradient(0deg,rgba(6,6,6,.54),rgba(6,6,6,.24) 55%,rgba(6,6,6,.5))}}

.hero-ambient::before,.hero-ambient::after{display:none}
.site-header{border-bottom:1px solid transparent;transition:background .28s ease,border-color .28s ease,backdrop-filter .28s ease}
.site-header.scrolled{border-bottom-color:rgba(226,183,108,.3);box-shadow:0 8px 24px rgba(0,0,0,.18)}

/* Seamless transition from the hero into the service ribbon. */
.service-ribbon{border-top:0!important;border-bottom:0!important}
.service-ribbon b{font-size:14px;line-height:1;opacity:.78}
@media(max-width:700px){.service-ribbon b{font-size:11px}}

/* Fade the hero photo into the black section below. */
.hero-overlay{background:linear-gradient(180deg,transparent 48%,rgba(5,5,5,.22) 67%,rgba(5,5,5,.78) 91%,#050505 100%),radial-gradient(ellipse at center,rgba(5,5,5,0) 16%,rgba(5,5,5,.24) 57%,rgba(5,5,5,.72) 100%),linear-gradient(0deg,rgba(6,6,6,.48),rgba(6,6,6,.13) 52%,rgba(6,6,6,.36))}
@media(max-width:700px){.hero-overlay{background:linear-gradient(180deg,transparent 43%,rgba(5,5,5,.28) 63%,rgba(5,5,5,.8) 90%,#050505 100%),radial-gradient(ellipse at center,rgba(5,5,5,.08) 12%,rgba(5,5,5,.35) 66%,rgba(5,5,5,.78) 100%),linear-gradient(0deg,rgba(6,6,6,.54),rgba(6,6,6,.24) 55%,rgba(6,6,6,.5))}}

/* Clearer service heading with supporting copy aligned below on the right. */
.services .section-heading{grid-template-columns:1fr 1fr;align-items:start;row-gap:14px;margin-bottom:40px}
.services .section-heading .eyebrow{grid-column:1/-1}
.services .section-heading h2{grid-column:1/-1;margin:0}
.services .section-heading .section-intro{grid-column:2;justify-self:end;max-width:430px;margin:0;text-align:right}
@media(max-width:700px){.services .section-heading{grid-template-columns:1fr;row-gap:12px;margin-bottom:28px}.services .section-heading .eyebrow,.services .section-heading h2,.services .section-heading .section-intro{grid-column:1}.services .section-heading .section-intro{justify-self:start;text-align:left}}

.services .section-heading .section-intro{grid-column:1;justify-self:start;text-align:left}

.services .section-heading h2 .service-title-script{color:var(--gold-soft);font-family:'Allura','Brush Script MT',cursive;font-size:1.18em;font-weight:400}

/* Salon service categories and grouped offerings. */
.services .service-category-card{min-height:350px}
.services .service-category-card h3{margin:15px 0 22px}
.service-groups{display:grid;gap:16px}
.service-group-label{display:block;color:var(--gold-soft);font-size:9px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}
.services .service-group p{max-width:100%;margin:5px 0 0;color:#bcb7ad;font-size:12px;line-height:1.75}
@media(max-width:700px){.services .service-category-card{min-height:0}.services .service-category-card h3{margin:11px 0 17px}.service-groups{gap:13px}}

/* Two-column salon menu: Herren and Damen above the full-width Spezial row. */
.services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.services .service-category-card{min-height:330px;padding:28px 30px}
.services .service-category-card .service-icon{margin-top:0}
.service-icon svg{display:block;width:38px;height:38px}
.services .service-category-card h3{margin:15px 0 22px}
.services .service-category-card:nth-child(2){border-right:0}
.services .service-category-card:nth-child(3){grid-column:1/-1;min-height:170px;display:grid;grid-template-columns:38px 180px 1fr;align-items:center;column-gap:22px;border-top:1px solid rgba(226,183,108,.2);border-right:0}
.services .service-category-card:nth-child(3) .service-icon{grid-column:1;grid-row:1;margin:0}
.services .service-category-card:nth-child(3) h3{grid-column:2;grid-row:1;margin:0}
.services .service-category-card:nth-child(3) .service-groups{grid-column:3;grid-row:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media(max-width:700px){
  .services .service-grid{grid-template-columns:1fr}
  .services .service-category-card{min-height:0;padding:20px 22px;border-right:0}
  .services .service-category-card:nth-child(2){border-top:1px solid rgba(226,183,108,.17)}
  .services .service-category-card:nth-child(3){grid-column:auto;display:block;min-height:0;border-top:1px solid rgba(226,183,108,.17)}
  .services .service-category-card:nth-child(3) .service-icon{margin-top:15px}
  .services .service-category-card:nth-child(3) h3{margin:11px 0 17px}
  .services .service-category-card:nth-child(3) .service-groups{grid-template-columns:1fr;gap:13px}
}

.services-heading .section-intro{justify-self:start;max-width:580px;margin:0;text-align:left}

/* Black review section with a restrained warm gold glow. */
.reviews{position:relative;isolation:isolate;background:radial-gradient(ellipse 56% 38% at 50% 12%,rgba(178,125,48,.14),transparent 76%),radial-gradient(ellipse 28% 45% at 92% 70%,rgba(178,125,48,.055),transparent 78%),#080807;color:#f8f6f1}
.reviews .review-disclosure{color:#bdb7ac}
.review-card{background:rgba(255,255,255,.035);border-color:rgba(226,183,108,.2)}
.review-card-top{color:#a9a294}
.review-card blockquote{color:#f2eee5}
.review-author{color:#c5bdaf}
@media(max-width:700px){.reviews{background:radial-gradient(ellipse 90% 26% at 50% 8%,rgba(178,125,48,.14),transparent 78%),#080807}}


.services .service-category-card:nth-child(1),
.services .service-category-card:nth-child(2){display:block;min-height:300px;padding:30px}
.services .service-category-card:nth-child(-n+2) h3{margin:0 0 8px;padding:0 0 18px;border-bottom:1px solid rgba(226,183,108,.24)}
.services .service-category-card:nth-child(-n+2) .service-groups{display:grid;gap:0}
.services .service-category-card:nth-child(-n+2) .service-group{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:start;gap:16px;padding:16px 0;border-top:1px solid rgba(226,183,108,.12)}
.services .service-category-card:nth-child(-n+2) .service-group:first-child{border-top:0}
.services .service-category-card:nth-child(-n+2) .service-group-label{padding-top:2px}
.services .service-category-card:nth-child(-n+2) .service-group p{margin:0}
@media(max-width:700px){
  .services .service-category-card:nth-child(1),.services .service-category-card:nth-child(2){min-height:0;padding:22px}
  .services .service-category-card:nth-child(-n+2) h3{margin-bottom:5px;padding-bottom:14px}
  .services .service-category-card:nth-child(-n+2) .service-group{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:13px 0}
}


/* Classic Apple-inspired refinement: quiet surfaces, system typography and generous space. */
:root{--ink:#1d1d1f;--ink-soft:#424245;--muted:#6e6e73;--paper:#fff;--white:#fff;--sand:#f5f5f7;--gold:#9a7138;--gold-soft:#c49a58;--line:#d2d2d7;--sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;--display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;--gutter:clamp(24px,8vw,120px)}
html{scroll-padding-top:76px}
body{background:#fff;color:#1d1d1f;font-family:var(--sans);font-size:15px;letter-spacing:-.01em;line-height:1.55}
.site-header{position:absolute;top:0;left:0;right:0;height:76px;padding:0 var(--gutter);gap:28px;background:rgba(255,255,255,.82);border-bottom:1px solid rgba(29,29,31,.07);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px)}
.site-header.scrolled{position:fixed;background:rgba(255,255,255,.92);border-bottom-color:rgba(29,29,31,.1);box-shadow:0 2px 12px rgba(0,0,0,.035)}
.brand-logo{width:48px;height:48px}
nav{gap:clamp(18px,3vw,38px)}
nav a,.header-cta{font-size:12px;letter-spacing:0;color:#424245}
nav a:hover,.quiet-link:hover,.text-link:hover,.reviews-source:hover,.contact-address:hover{color:#9a7138}
.header-cta{padding:9px 17px;border:0;border-radius:999px;background:#1d1d1f;color:#fff}
.header-cta:hover{background:#424245;color:#fff}
.menu-toggle{border-color:#d2d2d7;border-radius:50%;background:#fff}
.menu-toggle span{background:#1d1d1f}
.hero{height:min(820px,100svh);min-height:590px;padding:90px var(--gutter) 54px;background:#1d1d1f}
.hero-image{object-position:center 55%;filter:brightness(.66) saturate(.76);transform:none}
.hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.12) 35%,rgba(0,0,0,.44))}
.hero-copy{width:min(100%,1080px);text-align:center}
.hero .eyebrow{justify-content:center;margin-bottom:24px;color:rgba(255,255,255,.82);font-size:12px;font-weight:600;letter-spacing:.14em;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.hero .eyebrow span{background:rgba(255,255,255,.62)}
.hero h1{margin:0;font:650 clamp(72px,12vw,154px)/.98 var(--display);letter-spacing:-.075em;color:#fff;text-shadow:0 2px 32px rgba(0,0,0,.3)}
.hero h1 .hero-title-word{font:inherit;letter-spacing:inherit;color:inherit}
.script-word{display:inline!important;font:inherit!important;letter-spacing:inherit!important;line-height:inherit!important;transform:none!important;padding:0!important;color:inherit!important}
.hero-actions{margin-top:30px}
.hero .button,.contact .button{min-height:44px;padding:0 23px;border:0;border-radius:999px;background:#fff;color:#1d1d1f;font-size:13px;font-weight:600;box-shadow:none}
.hero .button:hover,.contact .button:hover{background:#e8e8ed;color:#1d1d1f;transform:translateY(-1px)}
.service-ribbon{min-height:74px;gap:clamp(16px,4vw,52px);padding:16px 24px;background:#f5f5f7;color:#6e6e73;font-size:11px;font-weight:600;letter-spacing:.08em}
.service-ribbon b{color:#9a7138;font-size:13px}
.section{padding:clamp(76px,9vw,120px) var(--gutter)}
.section h2{font:650 clamp(42px,5.5vw,72px)/1.04 var(--display);letter-spacing:-.055em;color:#1d1d1f}
.section h2 em{color:#6e6e73;font-weight:500}
.services{background:#f5f5f7;color:#1d1d1f}
.services .section-heading.services-heading{grid-template-columns:minmax(0,1fr);align-items:start;row-gap:17px;margin-bottom:40px}
.services-heading h2{grid-column:1;grid-row:auto}
.services .section-heading h2 .service-title-script{font:inherit!important;letter-spacing:inherit;color:#9a7138}
.services-heading .section-intro{grid-column:1;grid-row:auto;max-width:660px;color:#6e6e73;font-size:16px;line-height:1.65}
.services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;border:0}
.services .service-category-card,.services .service-category-card:nth-child(1),.services .service-category-card:nth-child(2){display:block;min-height:0;padding:30px;background:#fff;border:1px solid #e5e5ea;border-radius:22px;box-shadow:0 2px 10px rgba(0,0,0,.025)}
.services .service-category-card:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.06)}
.services .service-category-card h3{margin:0 0 8px;padding:0 0 18px;border-bottom:1px solid #e5e5ea;color:#1d1d1f;font:650 25px/1.2 var(--display);letter-spacing:-.04em}
.services .service-category-card:nth-child(-n+2) .service-groups{display:grid;gap:0}
.services .service-category-card:nth-child(-n+2) .service-group{display:grid;grid-template-columns:94px minmax(0,1fr);align-items:start;gap:15px;padding:16px 0;border-top:1px solid #f0f0f2}
.services .service-category-card:nth-child(-n+2) .service-group:first-child{border-top:0}
.services .service-category-card:nth-child(-n+2) .service-group-label{padding-top:2px;color:#9a7138;font-size:10px;letter-spacing:.08em}
.services .service-category-card .service-group p{margin:0;color:#424245;font-size:14px;line-height:1.6}
.services .service-category-card:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:44px 160px minmax(0,1fr);align-items:center;gap:18px;min-height:0;padding:28px 30px;background:#fff;border:1px solid #e5e5ea;border-radius:22px;box-shadow:0 2px 10px rgba(0,0,0,.025)}
.services .service-category-card:nth-child(3) .service-icon{grid-column:1;grid-row:1;margin:0;color:#9a7138}
.services .service-category-card:nth-child(3) h3{grid-column:2;grid-row:1;margin:0;padding:0;border:0}
.services .service-category-card:nth-child(3) .service-groups{grid-column:3;grid-row:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.services .service-category-card:nth-child(3) .service-group-label{color:#9a7138;font-size:10px;letter-spacing:.08em}
.salon{grid-template-columns:.9fr 1fr;gap:clamp(48px,9vw,130px);background:#fff;color:#1d1d1f}
.salon-photo{border-radius:24px;box-shadow:0 12px 36px rgba(0,0,0,.1)}
.salon-photo img{border-radius:24px}
.salon-copy{max-width:520px}
.salon-copy h2{font:650 clamp(42px,5.5vw,68px)/1.05 var(--display);letter-spacing:-.055em;color:#1d1d1f}
.salon-copy h2 em{color:#9a7138}
.salon-copy>p:not(.eyebrow){color:#6e6e73;font-size:16px;line-height:1.75}
.salon-copy .text-link{padding-bottom:4px;border-color:#9a7138;color:#1d1d1f;font-size:13px}
.reviews{background:#f5f5f7;color:#1d1d1f;isolation:auto}
.reviews-heading h2{font:650 clamp(42px,5.5vw,68px)/1.04 var(--display);letter-spacing:-.055em;color:#1d1d1f}
.reviews-heading h2 em{color:#6e6e73;font-weight:500}
.review-marquee{mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.review-card{min-height:220px;padding:26px;background:#fff;border:1px solid #e5e5ea;border-radius:20px;box-shadow:0 3px 14px rgba(0,0,0,.035)}
.review-card-top{color:#6e6e73}
.review-stars{color:#b28a48}
.review-card blockquote{font:500 18px/1.48 var(--display);letter-spacing:-.025em;color:#1d1d1f}
.review-author{color:#6e6e73}
.reviews-source{color:#9a7138;font-size:12px}
.contact{grid-template-columns:1fr .65fr;gap:70px;background:#1d1d1f;color:#fff}
.contact h2,.contact h2 em{color:#fff}
.contact .eyebrow{color:#c49a58}
.contact-details>p{color:#d2d2d7;font-size:15px}
.contact .button{background:#fff;color:#1d1d1f}
.contact-address{color:#d2d2d7}
footer{background:#1d1d1f;color:#f5f5f7;border-top:1px solid rgba(255,255,255,.12)}
.footer-meta{border-color:rgba(255,255,255,.14);color:#a1a1a6}
.footer-brand small,.footer-meta a:hover{color:#c49a58}
@media(max-width:700px){
  html{scroll-padding-top:72px}
  .site-header{height:72px;padding:0 5%;background:rgba(255,255,255,.84)}
  .site-header.scrolled{background:rgba(255,255,255,.94)}
  .site-header nav{top:71px;background:rgba(255,255,255,.97);border-color:#e5e5ea}
  .site-header nav a{border-color:#e5e5ea;color:#424245}
  .header-cta{padding:9px 14px;background:#1d1d1f;color:#fff}
  .menu-toggle{border:0;background:#f5f5f7}
  .hero{height:min(740px,100svh);min-height:540px;padding:90px 6% 50px}
  .hero-image{object-position:60% 52%;filter:brightness(.62) saturate(.76)}
  .hero h1{font-size:clamp(62px,16vw,108px);letter-spacing:-.07em}
  .hero .eyebrow{font-size:10px;letter-spacing:.1em}
  .service-ribbon{min-height:62px;font-size:8px;letter-spacing:.06em;gap:11px}
  .section{padding:75px 6%}
  .services .section-heading.services-heading{grid-template-columns:1fr;row-gap:14px;margin-bottom:28px}
  .services .section-heading h2{font-size:clamp(40px,10vw,56px)}
  .services-heading .section-intro{font-size:14px}
  .services .service-grid{grid-template-columns:1fr;gap:12px}
  .services .service-category-card,.services .service-category-card:nth-child(1),.services .service-category-card:nth-child(2){padding:23px;border-radius:19px}
  .services .service-category-card:nth-child(-n+2) .service-group{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:13px 0}
  .services .service-category-card .service-group p{font-size:13px}
  .services .service-category-card:nth-child(3){grid-column:auto;display:block;padding:23px;border-radius:19px}
  .services .service-category-card:nth-child(3) .service-icon{margin:0 0 15px}
  .services .service-category-card:nth-child(3) h3{margin:0 0 8px;padding-bottom:15px;border-bottom:1px solid #e5e5ea}
  .services .service-category-card:nth-child(3) .service-groups{display:grid;grid-template-columns:1fr;gap:0}
  .services .service-category-card:nth-child(3) .service-group{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px;padding:13px 0;border-top:1px solid #f0f0f2}
  .salon{grid-template-columns:1fr;gap:30px}
  .salon-photo,.salon-photo img{border-radius:20px}
  .salon-copy h2{font-size:clamp(42px,10vw,56px)}
  .salon-copy>p:not(.eyebrow){font-size:14px}
  .reviews-heading{display:block;margin-bottom:28px}
  .reviews-heading h2{font-size:clamp(39px,9.5vw,54px)}
  .review-card{min-height:190px;padding:21px;border-radius:18px}
  .review-card blockquote{font-size:17px}
  .contact{grid-template-columns:1fr;gap:28px}
  .contact h2{font-size:clamp(46px,11vw,62px)}
  .footer-meta{display:grid;grid-template-columns:1fr auto;gap:10px}
}

/* Keep BABL'S original black, gold and warm ivory palette in the refined layout. */
:root{--ink:#11110f;--ink-soft:#d0ccc3;--muted:#aaa59a;--paper:#11110f;--white:#f8f6f1;--sand:#f1eee7;--gold:#c89248;--gold-soft:#e2b76c;--line:rgba(200,146,72,.28)}
body{background:#050505;color:#f8f6f1}
.site-header{background:rgba(5,5,5,.34);border-bottom-color:rgba(226,183,108,.12)}
.site-header.scrolled{background:rgba(10,10,10,.94);border-bottom-color:rgba(226,183,108,.22);box-shadow:0 2px 16px rgba(0,0,0,.22)}
nav a,.header-cta{color:#f1eee7}
nav a:hover{color:var(--gold-soft)}
.header-cta{background:transparent;border:1px solid rgba(226,183,108,.68);color:var(--gold-soft)}
.header-cta:hover{background:var(--gold-soft);color:#17130f}
.menu-toggle{border:1px solid rgba(226,183,108,.42);background:rgba(10,10,10,.72)}
.menu-toggle span{background:#f1eee7}
.hero{background:#050505}
.hero .eyebrow{color:var(--gold-soft)}
.hero .eyebrow span{background:var(--gold-soft)}
.hero h1{color:#f8f6f1}
.hero .button,.contact .button{background:var(--gold-soft);color:#17130f}
.hero .button:hover,.contact .button:hover{background:#f0c98e;color:#17130f}
.service-ribbon{background:#11110f;color:#e8e3d9;border:0}
.service-ribbon b{color:var(--gold-soft)}
.services{background:#050505;color:#f8f6f1}
.services .section h2,.services h2{color:#f8f6f1}
.services .section-heading h2 .service-title-script{color:var(--gold-soft)}
.services-heading .section-intro{color:#bcb7ad}
.services .service-category-card,.services .service-category-card:nth-child(1),.services .service-category-card:nth-child(2),.services .service-category-card:nth-child(3){background:#0b0b0a;border-color:rgba(226,183,108,.2);color:#f8f6f1;box-shadow:none}
.services .service-category-card:hover{background:#11110f;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.services .service-category-card h3{color:#f8f6f1;border-color:rgba(226,183,108,.24)}
.services .service-category-card:nth-child(-n+2) .service-group{border-color:rgba(226,183,108,.12)}
.services .service-category-card:nth-child(-n+2) .service-group-label,.services .service-category-card:nth-child(3) .service-group-label{color:var(--gold-soft)}
.services .service-category-card .service-group p{color:#bcb7ad}
.services .service-category-card:nth-child(3) .service-icon{color:var(--gold-soft)}
.salon{background:#f1eee7;color:#171612}
.salon-copy h2{color:#171612}
.salon-copy h2 em{color:#a76e2f}
.salon-copy>p:not(.eyebrow){color:#5f5a51}
.salon-copy .text-link{color:#171612;border-color:#b79568}
.reviews{background:radial-gradient(ellipse 56% 38% at 50% 12%,rgba(178,125,48,.14),transparent 76%),radial-gradient(ellipse 28% 45% at 92% 70%,rgba(178,125,48,.055),transparent 78%),#080807;color:#f8f6f1}
.reviews-heading h2,.reviews-heading h2 em{color:#f8f6f1}
.reviews-heading h2 em{color:var(--gold-soft)}
.review-card{background:rgba(255,255,255,.035);border-color:rgba(226,183,108,.2);box-shadow:none}
.review-card-top{color:#a9a294}
.review-stars{color:var(--gold-soft)}
.review-card blockquote{color:#f2eee5}
.review-author{color:#c5bdaf}
.reviews-source{color:var(--gold-soft)}
.contact{background:#20201d;color:#f8f6f1}
.contact h2,.contact h2 em{color:#f8f6f1}
.contact .eyebrow{color:var(--gold-soft)}
.contact-details>p,.contact-address{color:#d6d3cc}
footer{background:#090909;color:#f8f6f1;border-top:1px solid rgba(226,183,108,.22)}
.footer-meta{border-color:rgba(226,183,108,.2);color:#aaa79f}
.footer-brand small,.footer-meta a:hover{color:var(--gold-soft)}
@media(max-width:700px){
 .site-header{background:rgba(10,10,10,.48)}
 .site-header.scrolled{background:rgba(10,10,10,.95)}
 .site-header nav{background:#11110f;border-color:rgba(226,183,108,.24)}
 .site-header nav a{border-color:rgba(226,183,108,.15);color:#f1eee7}
 .header-cta{background:transparent;color:var(--gold-soft)}
 .menu-toggle{background:#11110f}
 .service-ribbon{background:#11110f;color:#f1eee7}
 .services .service-category-card:nth-child(3) h3{border-color:rgba(226,183,108,.24)}
 .services .service-category-card:nth-child(3) .service-group{border-color:rgba(226,183,108,.12)}
 .reviews{background:radial-gradient(ellipse 90% 26% at 50% 8%,rgba(178,125,48,.14),transparent 78%),#080807}
}


/* The BABL'S hero wordmark follows the refined high-contrast serif of the storefront sign. */
.hero h1{font:400 clamp(78px,12.7vw,156px)/1.02 "Bodoni Moda",Didot,"Bodoni 72",serif;letter-spacing:.13em;color:#f8f6f1;text-shadow:0 2px 32px rgba(0,0,0,.3);white-space:nowrap}
.hero h1 .hero-title-word{font:inherit;letter-spacing:inherit;color:inherit}
@media(max-width:700px){.hero h1{font-size:clamp(58px,13.5vw,94px);letter-spacing:.1em}}

/* Minimal hero photo with soft dark fades into the black sections above and below. */
.hero-image{object-position:center center;filter:brightness(.76) saturate(.78)}
.hero-overlay{background:linear-gradient(180deg,#050505 0%,rgba(5,5,5,.58) 8%,rgba(5,5,5,.12) 23%,rgba(5,5,5,.08) 52%,rgba(5,5,5,.32) 70%,rgba(5,5,5,.78) 89%,#050505 100%),linear-gradient(90deg,rgba(5,5,5,.28),transparent 22%,transparent 78%,rgba(5,5,5,.28))}
@media(max-width:700px){.hero-image{object-position:center center;filter:brightness(.68) saturate(.78)}.hero-overlay{background:linear-gradient(180deg,#050505 0%,rgba(5,5,5,.52) 8%,rgba(5,5,5,.10) 24%,rgba(5,5,5,.10) 52%,rgba(5,5,5,.34) 69%,rgba(5,5,5,.8) 89%,#050505 100%),linear-gradient(90deg,rgba(5,5,5,.18),transparent 20%,transparent 80%,rgba(5,5,5,.18))}}

/* Keep the service band in the same black tone as the hero fade. */
.service-ribbon{background:#050505;color:#e8e3d9;font-size:11px}
.service-ribbon b{color:var(--gold-soft)}
@media(max-width:700px){.service-ribbon{background:#050505;font-size:9px;letter-spacing:.06em}}

/* Transparent over the hero until scrolling; keep the header solid afterward. */
.site-header:not(.scrolled){background:transparent!important;border-bottom-color:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
@media(max-width:700px){.site-header:not(.scrolled){background:transparent!important}.hero-image{object-position:68% 52%}}

/* Responsive hero photo: dedicated portrait framing on phones. */
.hero-image{display:block}
.hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:700px){.hero-image{object-position:center center}.hero-image img{object-position:center 45%}}

/* Soft-focus barber imagery keeps the centered hero title clear. */
@media(max-width:700px){.hero-image{filter:brightness(.8) saturate(.8)}}

/* Blur the full hero photo while keeping the title and controls crisp. */
.hero-image{filter:blur(3px) brightness(.8) saturate(.82)!important;transform:scale(1.035)}
@media(max-width:700px){.hero-image{filter:blur(3px) brightness(.8) saturate(.82)!important;transform:scale(1.04)}}

/* A few heading words use a restrained, classical italic. */
.script-word{font-family:"Cormorant Garamond",Georgia,serif!important;font-style:italic!important;font-weight:500!important;font-size:1.08em!important;letter-spacing:-.025em!important;line-height:.95!important}

/* Explicitly restore the italic display font on the services heading. */
.services .section-heading h2 .service-title-script{font-family:"Cormorant Garamond",Georgia,serif!important;font-style:italic!important;font-weight:500!important;font-size:1.08em!important;letter-spacing:-.025em!important;line-height:.95!important;color:var(--gold-soft)!important}

/* Match the closing call-to-action section to the site's black sections. */
.contact{background:#050505}

/* Keep the simplified closing headline visually balanced. */
.contact{grid-template-columns:1fr;justify-items:center;text-align:center}

/* Let reviews fade into the black closing section without a hard seam. */
.reviews{background:radial-gradient(ellipse 56% 38% at 50% 12%,rgba(178,125,48,.14),transparent 76%),radial-gradient(ellipse 28% 45% at 92% 70%,rgba(178,125,48,.055),transparent 78%),linear-gradient(180deg,#080807 0%,#080807 58%,#050505 100%)!important}

/* Gold emphasis for “Look” in the closing headline. */
.contact h2 .script-word{color:var(--gold-soft)!important}

/* Softer gold ambience carries from reviews into the closing section. */
.reviews{background:radial-gradient(ellipse 70% 38% at 50% 100%,rgba(200,146,72,.12),transparent 80%),radial-gradient(ellipse 52% 30% at 50% 4%,rgba(200,146,72,.065),transparent 78%),linear-gradient(180deg,#080807 0%,#080807 55%,#050505 100%)!important}
.contact{background:radial-gradient(ellipse 78% 34% at 50% 0%,rgba(200,146,72,.12),transparent 78%),#050505!important}

/* Carry a soft, moving gold glow from the reviews into the closing headline. */
.reviews{background:radial-gradient(ellipse 78% 42% at 50% 100%,rgba(200,146,72,.16),transparent 82%),radial-gradient(ellipse 50% 28% at 50% 5%,rgba(200,146,72,.055),transparent 78%),linear-gradient(180deg,#080807 0%,#080807 54%,#050505 100%)!important}
.contact{position:relative;isolation:isolate;overflow:visible;background:#050505!important}
.contact::before{content:"";position:absolute;z-index:0;pointer-events:none;top:-145px;left:50%;width:min(1050px,130vw);height:380px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(200,146,72,.18) 0%,rgba(200,146,72,.09) 34%,transparent 74%);filter:blur(34px);animation:review-glow-flow 18s ease-in-out infinite alternate}
.contact>div{position:relative;z-index:1}
@keyframes review-glow-flow{from{transform:translate(-50%,-12px) scale(.94);opacity:.55}to{transform:translate(-50%,20px) scale(1.06);opacity:.9}}
.reviews-track{animation:reviews-scroll 420s linear infinite!important}
@media(prefers-reduced-motion:reduce){.reviews-track{animation:reviews-scroll 420s linear infinite!important}.contact::before{animation:none;opacity:.65}}

/* Match both sections at their shared edge so the background stays continuous. */
.reviews{background:radial-gradient(ellipse 50% 30% at 50% 7%,rgba(200,146,72,.065),transparent 78%),radial-gradient(ellipse 72% 25% at 50% 72%,rgba(200,146,72,.045),transparent 85%),linear-gradient(180deg,#080807 0%,#080807 68%,#100d08 100%)!important}
.contact{background:linear-gradient(180deg,#100d08 0%,#0b0906 38%,#050505 100%)!important}

/* Two clear map actions in the salon location block. */
.salon-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}
.salon-actions .button{min-height:48px;padding:0 22px;border:1px solid #b79568;border-radius:999px;background:#d8ae63;color:#17130e;font-size:12px}
.salon-actions .button:hover{background:#e8c17b;color:#17130e;transform:translateY(-2px)}
.salon-actions .salon-maps{background:transparent;color:#171612}
.salon-actions .salon-maps:hover{background:rgba(183,149,104,.12);color:#171612}
@media(max-width:520px){.salon-actions{gap:9px}.salon-actions .button{min-height:45px;padding:0 17px;font-size:11px}}
.salon-hours{margin-top:20px}
.salon-copy .salon-hours .eyebrow{margin:0 0 9px;color:#8e713f;font-size:9px;letter-spacing:1.5px}
.salon-hours dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;margin:0}
.salon-hours dl>div{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid rgba(23,22,18,.11);font-size:11px;line-height:1.35}
.salon-hours dt{color:#5f5a51}
.salon-hours dd{margin:0;color:#171612;font-weight:600;white-space:nowrap}
@media(max-width:520px){.salon-hours dl{column-gap:16px}.salon-hours dl>div{font-size:10px}}
@media(min-width:901px){.salon{grid-template-columns:1fr .9fr;grid-template-areas:"copy photo"}.salon-copy{grid-area:copy}.salon-photo{grid-area:photo}}
.salon-copy h2{white-space:nowrap}
@media(max-width:700px){.salon-copy h2{font-size:clamp(34px,10vw,48px)}}
.salon-copy .salon-hours .salon-hours-summary{margin:0;color:#5f5a51;font-size:12px;line-height:1.6}
.salon-hours dl{display:block;margin:12px 0 0}
.salon-hours dl>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(23,22,18,.16);font-size:15px;line-height:1.4}
.salon-hours dt{color:#25231f;font-weight:400}
.salon-hours dd{color:#171612;font-weight:500}
.salon-copy .salon-hours .eyebrow{margin:0 0 6px;color:#171612;font-size:11px;letter-spacing:3px}
.salon-copy .salon-hours .salon-hours-note{margin:16px 0 0;color:#5f5a51;font-size:12px;line-height:1.6}
@media(max-width:520px){.salon-hours dl>div{padding:12px 0;font-size:13px}}

/* Calm, staggered typography reveals and small interactive details. */
.text-reveal{opacity:0;transform:translateY(17px);filter:blur(4px);transition:opacity .72s cubic-bezier(.2,.75,.25,1),transform .72s cubic-bezier(.2,.75,.25,1),filter .72s cubic-bezier(.2,.75,.25,1);transition-delay:var(--text-delay,0ms)}
.text-reveal.visible{opacity:1;transform:translateY(0);filter:blur(0)}
.hero-copy h1.text-reveal{transform:translateY(24px) scale(.97)}
.hero-copy h1.text-reveal.visible{transform:translateY(0) scale(1)}
.service-category-card h3{transition:color .25s ease,transform .25s ease}
.service-category-card:hover h3{color:#a76e2f;transform:translateX(3px)}
.salon-hours dl>div{transition:border-color .25s ease,padding-left .25s ease}
.salon-hours dl>div:hover{padding-left:5px;border-color:rgba(183,149,104,.62)}
@media(prefers-reduced-motion:reduce){.text-reveal,.hero-copy h1.text-reveal{opacity:1;transform:none;filter:none;transition:none}.service-category-card h3,.salon-hours dl>div{transition:none}}

/* Horizontal, touch-friendly service cards with a glimpse of the next card. */
.services .service-grid{display:flex;gap:18px;overflow-x:auto;overflow-y:hidden;padding:5px 6px 20px;margin:0 -6px;scroll-snap-type:x mandatory;scroll-padding-inline:6px;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:auto;cursor:grab}
.services .service-grid::-webkit-scrollbar{display:none}
.services .service-grid.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.services .service-category-card,.services .service-category-card:nth-child(1),.services .service-category-card:nth-child(2),.services .service-category-card:nth-child(3){flex:0 0 clamp(340px,42vw,440px);width:auto;min-width:0;scroll-snap-align:start}
@media(max-width:700px){.services .service-grid{gap:13px;padding-bottom:16px}.services .service-category-card,.services .service-category-card:nth-child(1),.services .service-category-card:nth-child(2),.services .service-category-card:nth-child(3){flex-basis:70vw;max-width:390px}}
@media(prefers-reduced-motion:reduce){.services .service-grid{scroll-behavior:auto}}


/* Make the mobile menu button's open state unmistakable. */
@media(max-width:700px){
  .menu-toggle{transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}
  .menu-toggle span{height:1.5px;transform-origin:center;transition:transform .3s cubic-bezier(.2,.75,.25,1),background .25s ease}
  .menu-toggle[aria-expanded="true"]{border-color:var(--gold-soft);background:rgba(200,146,72,.14);box-shadow:0 0 0 4px rgba(200,146,72,.06)}
  .menu-toggle[aria-expanded="true"] span{background:var(--gold-soft)}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .site-header nav.open{animation:menu-panel-in .28s ease both}
}
@keyframes menu-panel-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.menu-toggle,.menu-toggle span,.site-header nav.open{transition:none;animation:none}}

/* Dark cloth-only hero background, framed for both screen sizes. */
.hero-image{filter:blur(.05px) brightness(.94) contrast(1.08) saturate(.8)!important;transform:none!important}
.hero-image img{object-position:center center}
@media(max-width:700px){.hero-image img{object-position:center center}.hero-image{filter:blur(.05px) brightness(.86) contrast(1.08) saturate(.8)!important;transform:none!important}}


/* Compact phone shortcut appears after the hero on mobile. */
.floating-call-button{display:none}
.floating-call-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){
  .floating-call-button{position:fixed;z-index:1100;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:56px;height:56px;border:1px solid rgba(255,239,207,.45);border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--gold-soft);color:#15120d;box-shadow:0 8px 26px rgba(0,0,0,.48);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px) scale(.88);transition:opacity .24s ease,transform .24s ease,visibility .24s}
  .floating-call-button.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
}
@media(prefers-reduced-motion:reduce){.floating-call-button{transition:none}}


/* Desktop: Herren and Damen side by side, Spezial below. Mobile: equal-sized swipe cards. */
.services .service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;overflow:visible;padding:14px 10px 20px;margin:0 -6px;border:0;touch-action:auto;cursor:default}
.services .service-category-card,
.services .service-category-card:nth-child(1),
.services .service-category-card:nth-child(2),
.services .service-category-card:nth-child(3){width:auto;min-width:0;flex:none;scroll-snap-align:none;border:1px solid rgba(226,183,108,.2);border-radius:22px;background:#0b0b0a}
.services .service-category-card:nth-child(1),
.services .service-category-card:nth-child(2){min-height:330px;transform:translateY(0)}
.services .service-category-card:nth-child(1){transform:translateY(7px);border-radius:26px 18px 22px 18px}
.services .service-category-card:nth-child(2){transform:translateY(-7px);border-radius:18px 26px 18px 22px}
.services .service-category-card:nth-child(3){grid-column:1/-1;min-height:170px;display:grid;grid-template-columns:38px 180px 1fr;align-items:center;column-gap:22px;padding:24px 30px;border-top:1px solid rgba(226,183,108,.2);border-right:1px solid rgba(226,183,108,.2);transform:none;border-radius:18px 26px 18px 22px}
.services .service-category-card:nth-child(3) .service-icon{grid-column:1;grid-row:1;margin:0}
.services .service-category-card:nth-child(3) h3{grid-column:2;grid-row:1;margin:0}
.services .service-category-card:nth-child(3) .service-groups{grid-column:3;grid-row:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media(max-width:700px){
  .services .service-grid{display:flex;align-items:stretch;gap:13px;overflow-x:auto;overflow-y:hidden;padding:14px 8px 20px;margin:0 -6px;scroll-snap-type:x mandatory;scroll-padding-inline:8px;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:auto;cursor:grab}
  .services .service-grid::-webkit-scrollbar{display:none}
  .services .service-grid.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
  .services .service-category-card,
  .services .service-category-card:nth-child(1),
  .services .service-category-card:nth-child(2),
  .services .service-category-card:nth-child(3){display:block;flex:0 0 76vw;width:76vw;max-width:390px;height:390px;min-height:390px;padding:22px;border:1px solid rgba(226,183,108,.2);border-radius:22px;transform:none;scroll-snap-align:start}
  .services .service-category-card:nth-child(1) h3,
  .services .service-category-card:nth-child(2) h3,
  .services .service-category-card:nth-child(3) h3{margin:0 0 17px;padding:0 0 14px;border-bottom:1px solid rgba(226,183,108,.24)}
  .services .service-category-card:nth-child(-n+2) .service-group{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:10px;padding:13px 0;border-top:1px solid rgba(226,183,108,.12)}
  .services .service-category-card:nth-child(-n+2) .service-group:first-child{border-top:0}
  .services .service-category-card:nth-child(-n+2) .service-group p{margin:0}
  .services .service-category-card:nth-child(3) .service-icon{margin:0 0 15px}
  .services .service-category-card:nth-child(3) .service-groups{grid-template-columns:1fr;gap:13px}
}
@media(prefers-reduced-motion:reduce){.services .service-grid{scroll-behavior:auto}}

/* Keep the laptop pair level and evenly sized. */
@media(min-width:701px){
  .services .service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;overflow:visible;gap:20px}
  .services .service-category-card:nth-child(1),
  .services .service-category-card:nth-child(2){align-self:stretch;min-height:330px;transform:none;border-radius:22px}
}

/* Mobile safety: keep page sections inside the viewport and reviews always visible. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
.salon,.reviews{width:100%;max-width:100%}
.reviews .review-card{opacity:1;visibility:visible;transform:none;filter:none}

/* On phones, show the salon story and opening hours before the exterior photo. */
@media(max-width:700px){
  .salon-copy{order:1}
  .salon-photo{order:2}
}

/* Four equal review runs make the moving ribbon seamless at every loop. */
@keyframes reviews-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-25%,0,0)}}
.reviews-track{animation:reviews-scroll 420s linear infinite!important;animation-iteration-count:infinite!important;animation-play-state:running!important}

/* Final mobile launch polish: comfortable menu targets and reliable viewport sizing. */
@media(max-width:700px){
  .menu-toggle{width:46px;height:46px;min-width:46px;min-height:46px}
  .site-header nav a{min-height:48px}
  .hero,.services,.salon,.reviews,.contact,footer{max-width:100%;}
}

/* A restrained one-time entrance effect gives the hero wordmark a polished finish. */
.hero h1 .hero-title-word{display:inline-block;transform-origin:center;will-change:transform,filter}
.hero-copy h1.text-reveal.visible .hero-title-word{animation:hero-wordmark-arrive 1.25s cubic-bezier(.2,.75,.25,1) 90ms both}
@keyframes hero-wordmark-arrive{
  0%{opacity:0;filter:blur(8px);transform:translateY(14px) scale(.95);text-shadow:0 0 0 rgba(226,183,108,0)}
  62%{opacity:1;filter:blur(0);transform:translateY(0) scale(1.018);text-shadow:0 0 25px rgba(226,183,108,.4)}
  100%{opacity:1;filter:blur(0);transform:translateY(0) scale(1);text-shadow:0 2px 32px rgba(0,0,0,.3)}
}
@media(prefers-reduced-motion:reduce){
  .hero-copy h1.text-reveal.visible .hero-title-word{animation:none;opacity:1;filter:none;transform:none}
}

/* The review rail contains exactly two matching runs; move by one full run. */
@keyframes reviews-seamless-loop{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
.review-marquee{overflow:hidden}
.reviews-track{display:flex!important;width:max-content!important;min-width:max-content;flex:0 0 auto;animation:reviews-seamless-loop 420s linear infinite!important;animation-iteration-count:infinite!important;animation-play-state:running!important;will-change:transform}
.reviews-run{display:flex;flex:0 0 auto;width:max-content;min-width:max-content;flex-shrink:0}
.reviews-run[aria-hidden="true"]{pointer-events:none}
.reviews-run .review-card{flex:0 0 clamp(280px,30vw,360px);flex-shrink:0}

/* A quiet, polished entrance for the fixed header after the hero begins to scroll. */
.site-header{
  transition:background-color .46s cubic-bezier(.2,.75,.25,1),border-color .46s cubic-bezier(.2,.75,.25,1),box-shadow .46s cubic-bezier(.2,.75,.25,1),backdrop-filter .46s cubic-bezier(.2,.75,.25,1),-webkit-backdrop-filter .46s cubic-bezier(.2,.75,.25,1);
}
.site-header.scrolled{animation:header-scroll-enter .48s cubic-bezier(.2,.75,.25,1) both}
@keyframes header-scroll-enter{
  from{transform:translate3d(0,-7px,0);opacity:.9}
  to{transform:translate3d(0,0,0);opacity:1}
}

/* Clarify Bodoni Moda's delicate hairlines without changing the typeface. */
.hero h1 .hero-title-word{-webkit-text-stroke:.55px rgba(255,253,248,.82);paint-order:stroke fill;text-shadow:0 0 .45px rgba(255,253,248,.9),0 2px 28px rgba(0,0,0,.48)}
@media(max-width:700px){.hero h1 .hero-title-word{-webkit-text-stroke:.45px rgba(255,253,248,.84)}}
.hero-subtitle{margin:14px 0 0;color:rgba(248,246,241,.82);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}
@media(max-width:700px){.hero-subtitle{margin-top:10px;font-size:9px;letter-spacing:.2em}}
footer{border-top:1px solid rgba(226,183,108,.22)!important}
.footer-meta{border-top:0!important}
@media(prefers-reduced-motion:reduce){.site-header,.site-header.scrolled{animation:none;transition:none}}
.footer-credit{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.footer-credit small{font-size:8px;line-height:1.3;letter-spacing:.04em;color:#aaa79f}

/* Let the detailed cape photo remain visible while fading its lower edge into black. */
.hero-overlay{background:linear-gradient(180deg,transparent 40%,rgba(5,5,5,.08) 56%,rgba(5,5,5,.38) 69%,rgba(5,5,5,.78) 84%,#050505 100%),linear-gradient(90deg,rgba(5,5,5,.22),transparent 20%,transparent 80%,rgba(5,5,5,.22))}
@media(max-width:700px){.hero-overlay{background:linear-gradient(180deg,transparent 42%,rgba(5,5,5,.08) 55%,rgba(5,5,5,.42) 68%,rgba(5,5,5,.82) 85%,#050505 100%),linear-gradient(90deg,rgba(5,5,5,.2),transparent 18%,transparent 82%,rgba(5,5,5,.2))}}

/* Three equal review runs keep the ticker covered through every loop on all viewports. */
@keyframes reviews-seamless-loop{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-33.333333%,0,0)}
}
.review-marquee{overflow:hidden;overscroll-behavior-x:contain}
.reviews-track{display:flex!important;gap:0!important;width:max-content!important;min-width:max-content;flex:0 0 auto;animation:reviews-seamless-loop 360s linear infinite!important;animation-iteration-count:infinite!important;animation-play-state:running!important;will-change:transform}
.reviews-run{display:flex;flex:0 0 auto;width:max-content;min-width:max-content;flex-shrink:0;gap:14px;padding-right:14px}
.reviews-run .review-card{flex:0 0 clamp(280px,30vw,360px);width:clamp(280px,30vw,360px);flex-shrink:0}
@media(max-width:700px){
  .reviews-track{animation-duration:360s!important}
  .reviews-run{gap:12px;padding-right:12px}
  .reviews-run .review-card{flex-basis:280px;width:280px}
}


/* Keep the hero full-screen with a simple welcome text entrance. */
.hero{height:100svh;min-height:620px}
.hero .hero-welcome{opacity:0;animation:welcome-arrive .82s cubic-bezier(.2,.75,.25,1) .34s both}
.hero .hero-welcome span{transform:scaleX(0);transform-origin:center;animation:welcome-line-arrive .66s cubic-bezier(.2,.75,.25,1) .72s both}
@keyframes welcome-arrive{from{opacity:0;transform:translateY(12px);letter-spacing:5px}to{opacity:1;transform:translateY(0);letter-spacing:3px}}
@keyframes welcome-line-arrive{to{transform:scaleX(1)}}
@media(max-width:700px){.hero{height:100svh;min-height:600px}.hero .hero-welcome{letter-spacing:1.7px}}

/* Keep header navigation aligned to the right beside the left logo. */
.site-header>nav{margin-left:auto}

/* Tighter mobile rhythm between the main content sections. */
@media(max-width:700px){
  .services.section,.salon.section,.reviews.section,.contact.section{padding-top:52px!important;padding-bottom:52px!important}
}
