@font-face{font-family:Empire Sans;src:url('./assets/fonts/sans.woff') format('woff');font-display:swap;font-weight:400}
:root{color-scheme:light;--paper:#e9e9e7;--ink:#191919;--muted:#656560;--night:#171817;--light:#f2f2ed;--line:#19191924;--ease:cubic-bezier(.22,1,.36,1);--body:'Empire Sans',Arial,sans-serif;--gutter:clamp(22px,5.5vw,100px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open,body.lightbox-open{overflow:hidden}
button,input,select{font:inherit}
button,a,select,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{cursor:pointer;color:inherit}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid #ae6d30;outline-offset:6px}
img{display:block;max-width:100%;object-fit:cover}
h1,h2,h3,h4,p,figure{margin:0}
h1,h2,h3,h4{font-weight:400}
h1,h2,h3{letter-spacing:-.065em}
em{font-style:normal;font-weight:400}
p{color:var(--muted)}
[hidden]{display:none!important}
.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:10px;left:15px;z-index:1000;transform:translateY(-180%);background:var(--ink);color:white;padding:12px 20px}
.skip-link:focus{transform:translateY(0)}
.reading-progress{position:fixed;top:0;inset-inline-start:0;width:100%;height:2px;background:#9a7954;z-index:110;transform:scaleX(0);transform-origin:left;pointer-events:none}
.eyebrow{font-size:10px;font-weight:400;letter-spacing:.18em;line-height:1.7;text-transform:uppercase;color:inherit}
.section{padding:110px var(--gutter)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:15px 23px;font-size:12px;border:1px solid transparent;transition:background .3s,color .3s,border-color .3s}
.button .icon{width:18px;height:18px;transition:transform .4s var(--ease)}
.button:hover .icon,.text-link:hover .icon,.header-visit:hover .icon{transform:translate(3px,-3px)}
.button-dark{background:var(--ink);color:var(--light)}
.button-dark:hover{background:#3a3b38}
.button-outline{border-color:var(--ink);background:transparent}
.button-outline:hover{background:var(--ink);color:var(--light)}
.text-link{font-size:12px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid currentColor;padding-bottom:8px}
.text-link .icon{width:19px;height:19px;transition:transform .4s var(--ease)}

/* The supplied PNG keeps its native alpha channel. No panel behind the mark. */
.site-header{position:relative;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:28px;height:112px;padding:6px var(--gutter);background:var(--paper);border-bottom:1px solid var(--line)}
.site-header.is-stuck{position:fixed;top:0;inset-inline:0;height:86px;background:#e9e9e7f0;backdrop-filter:blur(18px);animation:headerIn .4s var(--ease)}
body:has(.site-header.is-stuck) main{padding-top:112px}
.brand{display:flex;align-items:center;flex:none}
.official-logo{width:112px;height:98px;object-fit:contain;background:transparent}
.site-header.is-stuck .official-logo{width:90px;height:76px}
.desktop-nav{display:flex;align-items:center;gap:clamp(22px,3vw,44px);margin-inline-start:35px}
.desktop-nav a{position:relative;padding-block:10px;font-size:12px}
.desktop-nav a::after{position:absolute;content:'';height:1px;background:currentColor;bottom:4px;inset-inline:0;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.desktop-nav a:hover::after{transform:scaleX(1)}
.header-actions{display:flex;gap:30px;align-items:center}
.language-label{display:flex}
.language-label select{color:var(--ink);background:transparent;font-size:11px;max-width:88px;cursor:pointer;border:0;padding:12px 4px}
.language-label select option{background:var(--paper);color:var(--ink)}
.header-visit{display:flex;align-items:center;gap:18px;padding:9px 0;font-size:12px;border-bottom:1px solid var(--ink)}
.header-visit .icon{width:17px;height:17px;transition:transform .4s var(--ease)}
.menu-toggle{display:none;background:none;border:0;padding:10px 4px;width:36px;height:44px}
.menu-toggle span{display:block;height:1px;background:var(--ink);width:26px;margin:6px 0;transition:transform .3s}
.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)}
.mobile-menu{position:fixed;inset:112px 0 0;z-index:99;background:var(--paper);padding:35px var(--gutter);display:flex;flex-direction:column;gap:12px;overflow:auto}
body:has(.site-header.is-stuck) .mobile-menu{top:86px}
.mobile-menu>a{font-size:clamp(28px,6vw,48px);letter-spacing:-.05em;border-bottom:1px solid var(--line);padding:12px 0}
.mobile-menu .eyebrow{margin-top:auto;padding-top:35px}

/* Editorial three-scene stage, inspired by the reference's masked transitions. */
.hero{position:relative;display:flex;flex-direction:column;padding:25px var(--gutter) 23px;min-height:calc(100svh - 112px);background:var(--paper);overflow:hidden;isolation:isolate}
.hero-overline{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.14em;position:relative;z-index:2}
.hero-overline>span:first-child{min-width:100px}
.hero-overline>span:nth-child(2){text-align:center}
.scene-count{font-variant-numeric:tabular-nums;min-width:100px;text-align:end}
.hero-stage{display:grid;flex-grow:1;grid-template-columns:1.2fr 1.55fr .8fr;align-items:center;gap:clamp(25px,3vw,55px);min-height:420px;height:clamp(420px,56svh,700px);position:relative}
.hero-content{position:relative;z-index:3;min-width:0}
.hero-copyblock{padding-block:26px}
.scene-kicker{margin-bottom:22px;font-size:9px;letter-spacing:.2em}
h1{font-size:clamp(44px,5.05vw,80px);line-height:1.04;letter-spacing:-.075em}
h1>span,h1>em{display:block}
h1 em{color:#696965}
.hero-copy{font-size:13px;max-width:260px;line-height:1.8;margin-top:25px}
.hero-cta{margin-top:32px}
.hero-visual{position:relative;align-self:stretch;min-width:0;margin-inline:-25px;isolation:isolate;transform:translateY(var(--parallax,0px))}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;clip-path:inset(0 0 0 0);transition:clip-path .7s var(--ease),transform 1s var(--ease),opacity .7s var(--ease)}
.hero-visual[data-scene=chair] .hero-image{object-position:center 73%;mask-image:radial-gradient(ellipse 60% 65% at 50% 54%,black 55%,transparent 94%);-webkit-mask-image:radial-gradient(ellipse 60% 65% at 50% 54%,black 55%,transparent 94%)}
.hero-visual:not([data-scene=chair]){margin-block:32px;overflow:hidden}
.hero-visual[data-scene=cut] .hero-image{object-position:center 52%}
.hero-visual[data-scene=salon] .hero-image{object-position:center}
.image-label{position:absolute;inset-inline-start:12px;bottom:16px;font-size:8px;letter-spacing:.18em;writing-mode:vertical-rl;color:#fff;mix-blend-mode:difference;z-index:1}
.hero-visual[data-scene=chair] .image-label{display:none}
.hero-visual::after{content:'';position:absolute;inset:0;background:var(--paper);transform:scaleX(0);transform-origin:right;transition:transform .42s cubic-bezier(.76,0,.24,1);z-index:2}
.hero-detail{position:relative;z-index:3;min-width:0;padding:24px 0}
.hero-detail-top{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:18px}
.scene-emblem{width:60px;height:62px;object-fit:contain}
.scene-detail-kicker{font-size:8px;letter-spacing:.12em;line-height:1.6;max-width:85px}
.hero-detail-copy{padding-block:23px 28px}
.scene-detail-title{font-size:23px;letter-spacing:-.05em;line-height:1.25;white-space:pre-line}
.scene-detail-text{font-size:11px;line-height:1.9;margin-top:14px}
.hero-detail>.button{width:100%;font-size:11px;padding-inline:18px}
.hero-content h1>*,.scene-kicker,.hero-copy,.hero-cta,.hero-detail-copy>*{clip-path:inset(0 0 0 0);transform:translateY(0);opacity:1;transition:clip-path .65s var(--ease),transform .65s var(--ease),opacity .4s}
h1>em{transition-delay:.045s!important}
.hero-copy{transition-delay:.08s!important}
.hero-cta{transition-delay:.12s!important}
.hero-detail-copy p{transition-delay:.08s!important}
.hero.is-shifting .hero-content h1>*,.hero.is-shifting .scene-kicker,.hero.is-shifting .hero-copy,.hero.is-shifting .hero-cta,.hero.is-shifting .hero-detail-copy>*{clip-path:inset(0 100% 0 0);transform:translateY(12px);opacity:0;transition-duration:.32s;transition-delay:0s!important}
.hero.is-shifting .hero-visual::after{transform:scaleX(1);transform-origin:left}
.hero.is-shifting .hero-image{clip-path:inset(0 100% 0 0);transform:scale(1.035);opacity:.5;transition-duration:.4s}
.hero-navigation{position:relative;z-index:4;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:stretch;gap:12px;margin-top:-4px}
.scene-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.scene-button{position:relative;display:flex;align-items:center;gap:22px;padding:21px 24px;text-align:start;border:1px solid transparent;background:#ffffff80;min-width:0;overflow:hidden;transition:background .35s,border-color .35s}
.scene-button:hover{background:#ffffffe6}
.scene-button.is-active{background:#fff;border-color:#1919191a}
.scene-tab-number{font-size:10px;color:#858581;align-self:flex-start;margin-top:3px}
.scene-button strong,.scene-button small{display:block;font-weight:400}
.scene-button strong{font-size:13px;line-height:1.6}
.scene-button small{font-size:10px;color:var(--muted);line-height:1.6;margin-top:3px}
.scene-tab-progress{position:absolute;inset-inline-start:0;bottom:0;width:100%;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left}
.scene-button.is-active .scene-tab-progress{animation:sceneProgress 7s linear forwards}
.hero.is-holding .scene-tab-progress{animation-play-state:paused}
.scene-arrow{display:grid;place-items:center;border:1px solid var(--line);background:transparent;transition:background .3s,color .3s}
.scene-arrow .icon{width:16px;height:16px}
.scene-prev .icon{transform:rotate(180deg)}
.scene-arrow:hover{background:var(--ink);color:white}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:23px;font-size:9px;min-height:30px}
.scroll-cue{display:flex;align-items:center;gap:12px}
.scroll-cue .icon{width:14px;height:18px;animation:scrollNudge 3s ease-in-out infinite}
.hero-note{font-size:8px;letter-spacing:.17em}
.motion-control{display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:6px 0;font-size:9px}
.motion-control .icon{width:12px;height:12px}
.motion-control:disabled{cursor:default;color:var(--muted)}

/* Dark editorial chapter and branded service tiles. */
.welcome{display:grid;grid-template-columns:1fr 2.2fr;gap:80px;background:var(--night);color:var(--light);padding-top:125px;padding-bottom:105px}
.welcome-side .eyebrow{color:#b6b7b1}
.welcome-emblem{width:140px;height:140px;object-fit:contain;filter:invert(1);margin-top:32px;opacity:.9}
.signature{font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:18px;color:#b4b5ae}
.welcome h2{font-size:clamp(38px,4.5vw,70px);line-height:1.12}
.welcome h2 em{color:#949690}
.welcome-body{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:38px}
.welcome-body p{font-size:13px;color:#b0b2aa;line-height:1.95}
.values{display:flex;flex-wrap:wrap;gap:26px;margin-top:33px}
.values span{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#dedfd6}
.values span+span{border-inline-start:1px solid #ffffff36;padding-inline-start:26px}
.services{display:grid;grid-template-columns:1fr 2.2fr;gap:80px;background:var(--night);color:var(--light);border-top:1px solid #ffffff1d;padding-top:85px;padding-bottom:120px}
.services-intro{position:sticky;top:120px;align-self:start}
.services-intro .eyebrow{color:#b6b7b1}
.services h2{font-size:clamp(44px,4.6vw,72px);line-height:1.08;margin:23px 0 24px}
.services h2 em{color:#95988f}
.services-intro>p:not(.eyebrow){font-size:13px;color:#b0b2aa;max-width:260px;line-height:1.9}
.services-intro .text-link{margin-top:30px;color:#e0e1d9;font-size:11px}
.service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#ffffff24;border:1px solid #ffffff24;align-items:stretch}
.service-item{position:relative;background:var(--night);min-width:0;transition:background .4s}
.service-item:hover,.service-item[open]{background:#252722}
.service-item summary{position:relative;min-height:230px;padding:25px 21px 28px;cursor:pointer;list-style:none;display:flex;align-items:flex-start;flex-direction:column}
.service-item summary::-webkit-details-marker{display:none}
.service-number{position:absolute;top:20px;inset-inline-end:20px;color:#90958a;font-size:9px;font-variant-numeric:tabular-nums}
.service-emblem{width:67px;height:70px;object-fit:contain;filter:invert(1);opacity:.78;margin-bottom:25px;transition:transform .55s var(--ease),opacity .4s}
.service-item:hover .service-emblem{opacity:1;transform:translateY(-4px)}
.service-titles{display:block;padding-inline-end:6px}
.service-summary-title{display:block;font-size:17px;line-height:1.3;letter-spacing:-.035em}
.service-summary-sub{display:block;font-size:10px;color:#b0b2aa;line-height:1.7;margin-top:9px}
.plus{width:14px;height:14px;position:absolute;bottom:12px;inset-inline-end:12px}
.plus::before,.plus::after{content:'';position:absolute;background:#a6aa9d;inset-inline:2px;top:6px;height:1px;transition:transform .3s}
.plus::after{transform:rotate(90deg)}
.service-item[open] .plus::after{transform:rotate(0)}
.service-description{font-size:12px;line-height:1.9;color:#c2c5b9;margin:0 21px 25px;padding-top:20px;border-top:1px solid #ffffff25;animation:detailIn .5s var(--ease)}

/* Address, genuine work, and the next chapters. */
.visit{background:#f3f3ef}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}
.section-heading h2{font-size:clamp(40px,4.8vw,74px);line-height:1.1;margin-top:23px}
.section-heading h2 em{color:#85867e}
.section-heading>p{font-size:13px;max-width:270px;line-height:1.9;padding-bottom:4px}
.location-main{display:grid;grid-template-columns:1.18fr 1fr;min-height:390px;border:1px solid var(--line)}
.location-city{position:relative;isolation:isolate;overflow:hidden;padding:48px;display:flex;flex-direction:column;justify-content:center;background:#262420;color:#fff}
.location-city::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111b,#1115),url('./assets/photos/IMG_2040.jpeg') center/cover;z-index:-1;transition:transform 1s var(--ease)}
.location-city:hover::before{transform:scale(1.04)}
.location-city .eyebrow{color:#dddcd6}
.location-city h3{font-size:clamp(65px,7vw,110px);line-height:1;margin-top:28px}
.location-city p{font-size:12px;color:#d0d0c8;margin-top:15px}
.city-coordinate{position:absolute;inset-inline-end:24px;bottom:20px;font-size:10px;letter-spacing:.3em;color:#deded7}
.location-details{padding:42px 48px;display:flex;flex-direction:column;justify-content:center}
.location-address{display:flex;align-items:flex-start;gap:16px}
.location-address>.icon{width:19px;height:19px;margin-top:3px}
.location-address h4{font-size:17px;letter-spacing:-.02em;line-height:1.6}
.location-address p{font-size:13px;white-space:pre-line;line-height:1.8;margin-top:10px}
.visit-note{font-size:11px;max-width:325px;margin:23px 0;line-height:1.9}
.location-details .button{align-self:flex-start;min-height:51px;font-size:11px}
.contact-instagram{display:flex;align-items:center;gap:9px;margin-top:23px;font-size:10px;width:fit-content}
.contact-instagram>.icon{width:16px;height:16px}
.contact-instagram .small-arrow{width:13px;height:13px}
.contact-instagram:hover{text-decoration:underline;text-underline-offset:5px}
.expansion{padding-top:70px;display:grid;grid-template-columns:1fr 2.2fr;gap:70px}
.expansion-heading h3{font-size:29px;line-height:1.25;max-width:250px;margin-top:15px}
.timeline{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin:13px 0 0}
.timeline li{position:relative;padding-top:25px;padding-inline-end:26px;border-top:1px solid #adaea6}
.timeline-dot{position:absolute;inset-inline-start:0;top:-4px;width:7px;height:7px;background:#f3f3ef;border:1px solid #777b6e;border-radius:50%}
.timeline-current .timeline-dot{background:var(--ink);border-color:var(--ink)}
.timeline-tag{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#676d5e}
.timeline h4{font-size:23px;letter-spacing:-.045em;line-height:1.3;margin-top:12px}
.timeline p{font-size:11px;line-height:1.8;margin-top:7px}
.gallery{background:var(--paper);border-top:1px solid var(--line)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 24px;align-items:start}
.gallery-card{border:0;padding:0;text-align:start;background:none;color:inherit;display:block;min-width:0}
.gallery-card:nth-child(3n+2){margin-top:50px}
.gallery-photo{display:block;aspect-ratio:3/4;overflow:hidden;background:#d6d7d2;position:relative}
.gallery-photo img{width:100%;height:100%;transition:transform .85s var(--ease)}
.gallery-card:hover img{transform:scale(1.055)}
.gallery-open{position:absolute;bottom:16px;inset-inline-end:16px;display:grid;place-items:center;width:38px;height:38px;background:#f3f3efe8;color:var(--ink);transition:background .3s,transform .4s}
.gallery-open .icon{width:18px;height:18px}
.gallery-card:hover .gallery-open{transform:translate(3px,-3px);background:#fff}
.gallery-caption{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:15px}
.gallery-caption strong{font-size:12px;font-weight:400}
.gallery-caption small{font-size:9px;color:var(--muted)}
.gallery-instagram{margin-top:40px;font-size:12px}
.social-strip{display:flex;justify-content:space-between;align-items:center;gap:50px;background:var(--night);color:var(--light);border-bottom:1px solid #ffffff23;padding-block:80px}
.social-strip .eyebrow{color:#a7aaa0}
.social-strip h2{font-size:clamp(32px,4vw,62px);line-height:1.15;margin-top:18px}
.social-link{display:flex;align-items:center;gap:15px;min-width:200px;padding:17px 0;border-bottom:1px solid #7b7e74;font-size:13px}
.social-actions{display:flex;align-items:center;gap:30px}
.social-share{appearance:none;border:0;border-bottom:1px solid #7b7e74;background:transparent;color:inherit;font:inherit;text-align:start;cursor:pointer}
.social-link>.icon{width:20px;height:20px}
.social-link>.icon:last-child{margin-inline-start:auto;transition:transform .4s var(--ease)}
.social-link:hover>.icon:last-child{transform:translate(3px,-3px)}
.site-footer{padding:40px var(--gutter) 28px;background:var(--night);color:var(--light)}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:35px}
.site-footer .official-logo{width:140px;height:135px;filter:invert(1);opacity:.9}
.footer-motto{font-size:9px;letter-spacing:.2em;color:#b4b8aa}
.back-top{display:flex;align-items:center;gap:14px;font-size:11px}
.back-top>.icon{width:18px;height:18px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;font-size:9px;border-top:1px solid #ffffff23;padding-top:25px;color:#a4a89b}
.footer-bottom p{color:inherit}
.footer-bottom>span{font-size:8px;letter-spacing:.07em}
.footer-languages{display:flex;gap:18px}
.footer-languages a{border:0;background:transparent;color:#a4a89b;padding:8px 0;font-size:10px}
.footer-languages a.active{color:white;text-decoration:underline;text-underline-offset:5px}
.lightbox{border:0;max-width:100vw;max-height:100svh;width:100%;height:100%;inset:0;margin:0;background:#121311fa;padding:65px 85px 40px;color:#fff;overflow:hidden}
.lightbox::backdrop{background:#000d}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox figure{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;width:100%;height:100%;margin:0}
.lightbox figure img{max-width:100%;min-height:0;max-height:calc(100% - 50px);width:auto;height:auto;object-fit:contain}
.lightbox figcaption{font-size:12px;color:#d0d4c7;text-align:center}
.lightbox button{background:#ffffff0a;border:1px solid #ffffff30;width:46px;height:46px;display:grid;place-items:center;position:absolute;z-index:2}
.lightbox-close{top:20px;inset-inline-end:25px}
.lightbox-prev{left:20px;top:calc(50% - 23px)}
.lightbox-prev .icon{transform:rotate(180deg)}
.lightbox-next{right:20px;top:calc(50% - 23px)}
.noscript-note{padding:30px var(--gutter);background:#252722;color:white}
.is-animated .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.is-animated .reveal.in-view{opacity:1;transform:none}
.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important;transition:none!important;scroll-behavior:auto!important}
.motion-paused .reveal{opacity:1!important;transform:none!important}
.motion-paused .hero-visual{transform:none}
.motion-paused .reading-progress{display:none}
@keyframes sceneProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes scrollNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes headerIn{from{transform:translateY(-100%)}to{transform:translateY(0)}}
@keyframes detailIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}

html[lang=fr] h1{font-size:clamp(40px,4.4vw,70px)}
html[dir=rtl] body{font-family:Arial,sans-serif}
html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3,html[dir=rtl] h4,html[dir=rtl] .service-summary-title{letter-spacing:0;line-height:1.4}
html[dir=rtl] .eyebrow,html[dir=rtl] .hero-note,html[dir=rtl] .scene-detail-kicker,html[dir=rtl] .timeline-tag{letter-spacing:0}
html[dir=rtl] h1{font-size:clamp(40px,4.3vw,68px)}
html[dir=rtl] .brand{direction:ltr}
html[dir=rtl] .reading-progress,html[dir=rtl] .scene-tab-progress{transform-origin:right}
html[dir=rtl] .scene-prev .icon{transform:none}
html[dir=rtl] .scene-next .icon{transform:rotate(180deg)}
html[dir=rtl] .welcome h2{font-size:clamp(35px,3.7vw,58px)}
@media(min-width:1700px){
 :root{--gutter:max(6%,calc((100vw - 1480px)/2))}
 .hero-stage{height:720px}
}
@media(max-width:1150px){
 .hero-stage{grid-template-columns:1.25fr 1.45fr .8fr;gap:26px}
 .hero-visual{margin-inline:-15px}
 .hero-detail-top{gap:9px}
 .scene-emblem{width:49px;height:55px}
 .scene-detail-title{font-size:21px}
 .scene-button{gap:15px;padding:19px}
 .welcome,.services{gap:50px;grid-template-columns:.9fr 2.2fr}
 .service-item summary{padding:22px 16px 30px}
 .service-summary-title{font-size:16px}
 .service-description{margin-inline:16px}
 .location-details{padding:36px}
 .expansion{gap:45px;grid-template-columns:.9fr 2.2fr}
 .footer-bottom>span{display:none}
}
@media(max-width:850px){
 .desktop-nav{display:none}
 .menu-toggle{display:block}
 .header-actions{gap:20px}
 .hero{padding-top:22px}
 .hero-stage{grid-template-columns:1.1fr 1fr;gap:25px;min-height:490px;height:560px}
 .hero-detail{display:none}
 .hero-visual{margin-inline:-15px}
 h1{font-size:clamp(50px,7.4vw,66px)}
 html[lang=fr] h1{font-size:clamp(44px,6.3vw,57px)}
 html[dir=rtl] h1{font-size:clamp(44px,6.2vw,58px)}
 .hero-copy{font-size:13px;max-width:270px}
 .scene-tabs{gap:8px}
 .hero-navigation{grid-template-columns:36px minmax(0,1fr) 36px;gap:8px}
 .scene-button{padding:17px 14px;gap:12px}
 .scene-tab-number{display:none}
 .scene-button strong{font-size:12px}
 .scene-button small{font-size:9px}
 .welcome{grid-template-columns:1fr;gap:35px;padding-block:80px}
 .welcome-side{display:flex;align-items:center;justify-content:space-between;gap:25px}
 .welcome-emblem{width:90px;height:90px;margin:0}
 .signature{display:none}
 .welcome h2{font-size:clamp(38px,6vw,52px)}
 .services{grid-template-columns:1fr;gap:40px;padding-block:75px}
 .services-intro{position:static}
 .services h2{font-size:54px}
 .services h2 br{display:none}
 .services h2 em{margin-inline-start:.18em}
 .services-intro>p:not(.eyebrow){max-width:400px}
 .service-item summary{padding:25px;min-height:238px}
 .service-summary-title{font-size:17px}
 .service-description{margin-inline:25px}
 .section{padding-inline:var(--gutter)}
 .visit,.gallery{padding-block:80px}
 .section-heading{gap:30px}
 .section-heading h2{font-size:46px}
 .section-heading>p{max-width:230px;font-size:12px}
 .location-main{grid-template-columns:1fr 1.1fr}
 .location-city{padding:30px}
 .location-details{padding:30px}
 .location-address{gap:10px}
 .location-address h4{font-size:16px}
 .location-details .button{padding-inline:16px;gap:18px}
 .expansion{grid-template-columns:1fr;gap:32px}
 .expansion-heading h3{max-width:none}
 .gallery-grid{gap:30px 16px}
 .gallery-card:nth-child(3n+2){margin-top:32px}
 .gallery-caption{align-items:start;flex-direction:column;gap:2px}
 .social-strip{padding-block:60px}
 .social-strip h2{font-size:38px}
 .social-link{min-width:170px}
 .footer-motto{display:none}
}
@media(max-width:600px){
 html{scroll-padding-top:90px}
 .site-header{height:92px}
 .official-logo{width:95px;height:83px}
 .site-header.is-stuck{height:78px}
 .site-header.is-stuck .official-logo{height:69px;width:85px}
 body:has(.site-header.is-stuck) main{padding-top:92px}
 .mobile-menu{top:92px}
 body:has(.site-header.is-stuck) .mobile-menu{top:78px}
 .header-actions{gap:15px}
 .header-visit{display:none}
 .language-label select{font-size:11px}
 .hero{padding-top:19px;min-height:auto}
 .hero-overline{font-size:8px;gap:10px;letter-spacing:.09em}
 .hero-overline>span:first-child{display:none}
 .hero-overline>span:nth-child(2){text-align:start}
 .scene-count{min-width:auto}
 .hero-stage{display:flex;flex-direction:column;gap:0;align-items:stretch;height:auto;min-height:0}
 .hero-content{padding-top:34px;z-index:3;min-height:285px}
 .hero-copyblock{padding:0}
 .scene-kicker{font-size:8px;margin-bottom:15px}
 h1{font-size:clamp(45px,11.6vw,68px);line-height:1.06}
 html[lang=fr] h1{font-size:clamp(37px,9.9vw,60px)}
 html[dir=rtl] h1{font-size:clamp(36px,9.5vw,54px)}
 .hero-copy{font-size:12px;margin-top:18px;max-width:280px;min-height:44px}
 .hero-cta{margin-top:22px;font-size:11px}
 .hero-visual{height:370px;margin:20px 7% 22px;align-self:auto;flex:none}
 .hero-visual[data-scene=chair] .hero-image{object-position:center 69%}
 .hero-visual:not([data-scene=chair]){height:370px;margin:20px 7% 22px}
 .hero-navigation{grid-template-columns:30px minmax(0,1fr) 30px;gap:5px;margin-top:0}
 .scene-tabs{gap:5px}
 .scene-button{padding:17px 5px;min-height:63px;justify-content:center;text-align:center}
 .scene-button strong{font-size:10px;line-height:1.4}
 .scene-button small{display:none}
 .scene-arrow .icon{width:13px;height:13px}
 .hero-bottom{margin-top:19px;gap:15px;font-size:8px}
 .hero-note{display:none}
 .motion-control{font-size:8px;max-width:47%;line-height:1.6;text-align:start}
 .scroll-cue{gap:8px}
 .welcome,.visit,.gallery{padding-block:66px}
 .welcome{gap:28px}
 .welcome-side .eyebrow{font-size:9px;letter-spacing:.1em}
 .welcome-emblem{width:75px;height:78px}
 .welcome h2{font-size:clamp(31px,8vw,45px)}
 .welcome-body{grid-template-columns:1fr;gap:18px;margin-top:27px}
 .welcome-body p{font-size:13px}
 .values{gap:14px;margin-top:28px}
 .values span{font-size:8px;letter-spacing:.09em}
 .values span+span{padding-inline-start:14px}
 .services{padding-block:66px;gap:33px}
 .services h2{font-size:clamp(37px,9.5vw,54px)}
 .services h2 br{display:block}
 .services h2 em{margin-inline-start:0}
 .service-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-item summary{padding:24px 18px 30px;min-height:236px}
 .service-emblem{width:65px;height:68px}
 .service-summary-title{font-size:17px}
 .service-summary-sub{font-size:10px}
 .service-description{margin-inline:18px;font-size:12px}
 .service-item:last-child{grid-column:1/-1}
 .service-item:last-child summary{min-height:160px;display:grid;grid-template-columns:83px 1fr;gap:20px;align-items:center}
 .service-item:last-child .service-emblem{margin-bottom:0}
 .service-item:last-child .service-number{top:14px;inset-inline-end:14px}
 .section-heading{align-items:start;flex-direction:column;gap:22px;margin-bottom:32px}
 .section-heading h2{font-size:clamp(35px,9vw,49px);margin-top:18px}
 .section-heading>p{max-width:290px;font-size:13px}
 .location-main{grid-template-columns:1fr}
 .location-city{min-height:300px;padding:32px}
 .location-city h3{font-size:75px}
 .location-details{padding:30px 24px}
 .location-details .button{align-self:stretch;width:100%}
 .location-address h4{font-size:17px}
 .contact-instagram{font-size:11px}
 .expansion{padding-top:50px;gap:29px}
 .timeline{grid-template-columns:1fr;margin-inline-start:3px}
 .timeline li{padding-top:0;padding-bottom:28px;padding-inline-start:25px;padding-inline-end:0;border-top:0;border-inline-start:1px solid #adaea6}
 .timeline li:last-child{padding-bottom:0}
 .timeline-dot{inset-inline-start:-4px;top:7px}
 .timeline h4{margin-top:5px}
 .timeline p{margin-top:5px;font-size:12px}
 .gallery-grid{grid-template-columns:1fr 1fr;gap:28px 14px}
 .gallery-card:nth-child(3n+2){margin-top:0}
 .gallery-card:first-child,.gallery-card:last-child{grid-column:1/-1}
 .gallery-card:first-child .gallery-photo{aspect-ratio:1/1.05}
 .gallery-card:last-child .gallery-photo{aspect-ratio:1.3}
 .gallery-caption strong{font-size:11px}
 .gallery-open{width:31px;height:31px;bottom:10px;inset-inline-end:10px}
 .gallery-open .icon{width:16px;height:16px}
 .gallery-instagram{font-size:11px;gap:20px;align-items:start;line-height:1.8}
 .social-strip{align-items:start;flex-direction:column;gap:25px;padding-block:55px}
 .social-strip h2{font-size:clamp(31px,8.3vw,43px)}
 .social-link{width:100%}
 .social-actions{width:100%;flex-direction:column;align-items:stretch;gap:4px}
 .site-footer{padding-top:30px}
 .site-footer .official-logo{width:120px;height:115px}
 .footer-top{padding-bottom:27px;gap:20px}
 .back-top{font-size:10px;gap:9px}
 .footer-bottom{align-items:start;flex-direction:column;gap:16px;font-size:9px}
 .footer-languages a{font-size:11px}
 .lightbox{padding:75px 16px 105px}
 .lightbox-prev{top:auto;bottom:25px;left:calc(50% - 58px)}
 .lightbox-next{top:auto;bottom:25px;right:calc(50% - 58px)}
 .lightbox-close{inset-inline-end:16px;top:16px}
 html[dir=rtl] .welcome h2{font-size:31px}
}
@media(max-width:360px){
 .service-item summary{padding-inline:14px}
 .service-summary-title{font-size:15px}
 .service-description{margin-inline:14px}
 .hero-visual,.hero-visual:not([data-scene=chair]){height:320px}
 .scene-button strong{font-size:9px}
 .values{gap:10px}
 .values span+span{padding-inline-start:10px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .reveal{opacity:1!important;transform:none!important}
 .hero-visual{transform:none!important}
 .reading-progress{display:none}
}


/* Appointment requests: no availability or confirmation is implied by this form. */
.booking{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(40px,7vw,110px);background:#e7e8e2;border-bottom:1px solid var(--line)}
.booking-intro{align-self:start}
.booking h2{font-size:clamp(42px,4.7vw,74px);line-height:1.1;margin-top:24px}
.booking h2 em{color:#72776a}
.booking-copy{font-size:1rem;line-height:1.85;max-width:420px;margin-top:27px}
.booking-steps{list-style:none;padding:0;margin:36px 0 0;display:grid;gap:20px}
.booking-steps li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:baseline}
.booking-steps li>span{font-size:.75rem;color:#767c6c}
.booking-steps p{font-size:.875rem;line-height:1.8;color:#494e42}
.booking-signature{display:flex;align-items:center;gap:20px;margin-top:36px;border-top:1px solid #19191920;padding-top:22px}
.booking-signature img{width:75px;height:80px;object-fit:contain}
.booking-signature span{font-size:.75rem;color:#555b4b}
.booking-panel{background:#f7f8f3;padding:clamp(25px,3vw,46px);align-self:start}
.booking-timezone{font-size:.75rem;color:#646b59;line-height:1.75;padding-bottom:22px;border-bottom:1px solid #19191920;margin-bottom:28px}
.booking-fields{border:0;padding:0;margin:0;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 20px}
.form-field{display:flex;flex-direction:column;gap:9px;min-width:0}
.field-wide{grid-column:1/-1}
.form-field label{font-size:.875rem;color:var(--ink)}
.form-field input,.form-field select,.form-field textarea{font:inherit;font-size:1rem;color:var(--ink);border:1px solid #19191945;background:transparent;border-radius:0;padding:13px 12px;min-width:0;width:100%;min-height:50px;transition:border-color .3s,background .3s}
.form-field textarea{resize:vertical;max-height:230px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid #828c72;outline-offset:2px;border-color:#4c5842;background:#fff}
.form-field :disabled{opacity:.65;cursor:not-allowed}
.booking-note{font-size:.75rem;line-height:1.85;margin-top:24px;max-width:450px}
.booking-submit{width:100%;margin-top:23px;font-size:.875rem;min-height:56px}
.booking-submit:disabled{opacity:.45;cursor:not-allowed}
.booking-status{font-size:.875rem;line-height:1.8;margin-top:20px;color:#30392a;border-inline-start:2px solid #738265;padding-inline-start:15px}
.booking-unavailable{padding-top:23px;margin-top:25px;border-top:1px solid #19191925}
.booking-unavailable p{font-size:.875rem;line-height:1.85}
.booking-unavailable .text-link{font-size:.875rem;margin-top:18px}
.service-book-link{display:inline-flex;margin:0 21px 27px;font-size:.875rem;text-decoration:underline;text-underline-offset:6px;color:#e0e3d6}
.service-item:not([open])>.service-book-link{display:none}

/* Photos retain their original files; the colour treatment is an interactive display effect. */
.hero-image{filter:none;transition:clip-path .7s var(--ease),transform 1s var(--ease),opacity .7s var(--ease),filter .8s ease}
.gallery-photo img{filter:none;transition:transform 1.1s var(--ease),filter .8s ease}
.location-city::before{filter:none;transition:transform 1.3s var(--ease),filter .9s ease}
#lightbox-image{filter:none;transition:filter .65s ease}
.hero-visual:hover .hero-image,.hero-visual:focus-visible .hero-image,
.gallery-card:hover img,.gallery-card:focus-visible img,
.location-city:hover::before,.location-city:focus-visible::before,
.lightbox figure:hover img,.lightbox:focus-within #lightbox-image{filter:none}
.hero-visual:focus-visible,.location-city:focus-visible{outline:2px solid #ae6d30;outline-offset:5px}

/* Additional section choreography, with a complete reduced-motion fallback. */
.is-animated .reveal h2{clip-path:inset(0 0 100% 0);transform:translateY(22px);transition:clip-path 1s var(--ease),transform 1.1s var(--ease);transition-delay:.08s}
.is-animated .reveal.in-view h2{clip-path:inset(0);transform:none}
.is-animated .gallery-card .gallery-photo{clip-path:inset(9% 0 9% 0);transition:clip-path 1.3s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.is-animated .gallery-card.in-view .gallery-photo{clip-path:inset(0)}
.is-animated .reveal .timeline li,.is-animated .reveal .booking-steps li,.is-animated .reveal .values span{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--item-delay,0ms)}
.is-animated .reveal.in-view .timeline li,.is-animated .reveal.in-view .booking-steps li,.is-animated .reveal.in-view .values span{opacity:1;transform:none}
.service-item::after{content:'';position:absolute;inset-inline:20px;bottom:0;height:1px;background:#bcc6ae;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease);pointer-events:none}
.service-item:hover::after,.service-item:focus-within::after{transform:scaleX(1)}
.service-item:hover{box-shadow:inset 0 0 45px #dbe4c405}
.welcome-emblem{animation:emblemFloat 7s ease-in-out infinite}
@keyframes emblemFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes salonParallax{from{transform:scale(1.13) translateY(-3%)}to{transform:scale(1.13) translateY(3%)}}
@supports (animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference) and (min-width:851px){
  .location-city::before{animation:salonParallax linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
 }
}
@media(hover:none){
 .hero-visual.touch-in-view .hero-image,.gallery-card.touch-in-view img,.location-city.touch-in-view::before,.lightbox[open] #lightbox-image{filter:none}
}

/* Readable type keeps the editorial layout useful beyond a desktop screenshot. */
.hero-copy,.welcome-body p,.services-intro>p:not(.eyebrow),.section-heading>p,.location-address p{font-size:1rem}
.scene-detail-text,.service-description,.service-summary-sub,.timeline p,.gallery-caption strong,.visit-note,.contact-instagram,.button,.text-link,.desktop-nav a,.header-visit,.social-link{font-size:.875rem}
.eyebrow,.hero-overline,.scene-kicker,.hero-note,.scene-tab-number,.scene-button small,.scene-detail-kicker,.service-number,.timeline-tag,.gallery-caption small,.footer-motto,.footer-bottom,.footer-bottom>span,.footer-languages a,.motion-control,.hero-bottom,.values span,.signature,.back-top{font-size:.75rem}
.scene-button strong,.language-label select{font-size:.875rem}
.desktop-nav{gap:clamp(14px,1.6vw,26px);margin-inline-start:15px}
.header-actions{gap:20px}
.hero-detail>.button{font-size:.875rem}
.scene-detail-kicker{max-width:none;letter-spacing:.05em}
.scene-button{gap:14px}
.service-item summary{min-height:264px}
.footer-languages a{padding:8px 0}
.hero-overline{letter-spacing:.08em}
@media(max-width:1150px){
 .service-item summary{padding-inline:17px}
 .service-summary-title{font-size:1.0625rem}
 .scene-detail-top{flex-direction:column;align-items:start;gap:10px}
}
@media(max-width:850px){
 .booking{grid-template-columns:1fr;gap:40px;padding-block:75px}
 .booking-copy{max-width:560px}
 .booking-steps{max-width:560px}
 .booking-panel{max-width:none}
 .hero-stage{min-height:540px}
 .scene-button{padding-inline:10px}
}
@media(max-width:600px){
 .booking{padding-block:66px}
 .booking h2{font-size:clamp(36px,9.5vw,54px)}
 .booking-panel{padding:26px 20px}
 .booking-fields{gap:20px 14px}
 .booking-timezone{margin-bottom:24px}
 .booking-signature{margin-top:28px}
 .hero-content{min-height:330px}
 .hero-overline>span:nth-child(2){max-width:80%}
 .hero-overline{font-size:.75rem;align-items:start}
 .hero-stage{min-height:0}
 .hero-copy{max-width:100%}
 .hero-bottom{font-size:.75rem}
 .scene-button strong{font-size:.75rem}
 .scene-button{min-height:64px;padding-inline:4px}
 .hero-navigation{grid-template-columns:26px minmax(0,1fr) 26px}
 .scene-tabs{gap:4px}
 .service-item summary{padding-inline:16px;min-height:278px}
 .service-summary-sub{font-size:.875rem;overflow-wrap:anywhere}
 .service-book-link{margin-inline:16px}
 .values{gap:12px}
 .values span+span{padding-inline-start:12px}
 .motion-control{font-size:.75rem}
 .gallery-caption strong{font-size:.875rem}
 .gallery-instagram{font-size:.875rem}
 .footer-top{flex-wrap:wrap}
 .footer-languages a{font-size:.875rem}
}
@media(max-width:380px){
 .booking-fields{grid-template-columns:1fr}
 .form-field{grid-column:1/-1}
 .service-item summary{padding-inline:12px}
 .service-summary-title{font-size:1rem;overflow-wrap:anywhere}
 .service-emblem{width:60px}
}
.motion-paused .reveal h2,.motion-paused .gallery-photo,.motion-paused .timeline li,.motion-paused .booking-steps li,.motion-paused .values span{opacity:1!important;clip-path:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){
 .is-animated .reveal h2,.is-animated .gallery-photo,.is-animated .timeline li,.is-animated .booking-steps li,.is-animated .values span{opacity:1!important;clip-path:none!important;transform:none!important}
 .welcome-emblem{animation:none!important}
}

/* Precision monochrome: colour comes from the salon's own photography. */
:root{--paper:#f5f5f7;--ink:#1d1d1f;--night:#101114;--light:#f5f5f7;--muted:#6e6e73;--line:#1d1d1f1a}
::selection{background:#1d1d1f;color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline-color:#0071e3}
.site-header{background:#fff;color:var(--ink);border-color:#1d1d1f0d}
.site-header.is-stuck{background:#ffffffdf;backdrop-filter:blur(24px) saturate(160%)}
.site-header .official-logo,.hero .scene-emblem{filter:none}
.site-header .language-label select{color:var(--ink)}
.button,.header-visit,.social-link{border-radius:999px;font-weight:600;letter-spacing:-.015em;transition:background .3s,color .3s,box-shadow .3s,transform .3s var(--ease)}
.button{min-height:56px;padding:16px 25px}
.button-dark,.header-visit,.booking-submit,.salon-whatsapp{background:#1d1d1f;color:#fff;border-color:#1d1d1f}
.header-visit{min-height:46px;padding:12px 21px;border:1px solid #1d1d1f}
.button-dark:hover,.header-visit:hover,.booking-submit:hover,.salon-whatsapp:hover{background:#363639;border-color:#363639;box-shadow:0 8px 20px #00000018;transform:translateY(-2px)}
.button:active,.header-visit:active,.social-link:active{transform:scale(.98)}
.menu-toggle span{background:var(--ink)}
.hero{background:linear-gradient(145deg,#fff 15%,#f5f5f7 80%);color:var(--ink)}
.hero-overline,.scene-kicker,.hero-note{color:var(--muted)}
.hero h1,.welcome h2,.services h2,.booking h2,.section-heading h2,.social-strip h2{font-weight:600;letter-spacing:-.055em}
.hero h1 em{color:#77777d}
.hero-copy,.scene-detail-text{color:#626268}
.hero-detail-top{border-color:var(--line)}
.hero-detail .button-dark{background:#1d1d1f;color:#fff}
.hero-detail .button-dark:hover{background:#363639}
.hero-visual::after{background:#f5f5f7}
.hero-visual:not([data-scene=chair]){border-radius:28px;box-shadow:0 22px 55px #14141b16;border:1px solid #00000008}
.hero-cta{border-bottom:0;background:#e8e8ed;padding:14px 22px;border-radius:999px;font-weight:600}
.hero-cta:hover{background:#dedee4}
.scene-button{background:#e9e9ed;color:var(--ink);border-radius:16px;border-color:transparent}
.scene-button:hover{background:#dedee4}
.scene-button.is-active{background:#1d1d1f;color:#fff;border-color:#1d1d1f}
.scene-button small,.scene-tab-number{color:#69696f}
.scene-button.is-active small,.scene-button.is-active .scene-tab-number{color:#c5c5ca}
.scene-button.is-active .scene-tab-progress{background:#bfc0c8}
.scene-arrow{border-radius:999px;align-self:center;aspect-ratio:1;border-color:#1d1d1f20;background:#fff;color:var(--ink)}
.scene-arrow:hover{background:#1d1d1f;color:#fff}
.hero .motion-control:disabled{color:#75757a}
.welcome{background:#101114}
.welcome-side .eyebrow,.services-intro .eyebrow{color:#b5b5bd}
.welcome h2 em,.services h2 em{color:#9b9ba3}
.services{background:#101114}
.service-list{gap:14px;background:transparent;border:0}
.service-item{background:#1c1d21;border:1px solid #ffffff12;border-radius:20px;overflow:hidden;transition:background .35s,border-color .35s,transform .35s var(--ease)}
.service-item:hover,.service-item[open]{background:#26272c;border-color:#ffffff35}
.service-number,.plus{color:#bdbdc5}
.service-item::after{background:#d9d9df}
.booking{background:#f5f5f7;color:var(--ink);border-color:var(--line)}
.booking .eyebrow{color:var(--muted)}
.booking h2 em,.section-heading h2 em{color:#77777d}
.booking-copy,.booking-steps p,.booking-signature span{color:#626268}
.booking-steps li>span{color:var(--ink);background:#e8e8ed;border-color:transparent;border-radius:50%}
.booking-signature{border-color:var(--line)}
.booking-signature img{filter:none}
.booking-panel{background:#fff;color:var(--ink);border:1px solid #00000008;border-radius:28px;box-shadow:0 16px 50px #14141b08}
.form-field input,.form-field select,.form-field textarea{background:#fafafa;border:1px solid #d2d2d7;border-radius:12px;padding:15px}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline-color:#0071e3;border-color:#0071e3;background:#fff}
.visit{background:#fff}
.location-main{border-radius:26px;overflow:hidden;border-color:#00000009;background:#f5f5f7}
.location-details{background:#f5f5f7}
.gallery{background:#fff}
.gallery-photo{background:#e8e8ed;border-radius:22px;overflow:hidden}
.gallery-card:hover .gallery-open{background:#fff;color:#1d1d1f}
.gallery-open{border-radius:50%}
.social-strip{background:#101114;border-top:1px solid #ffffff15}
.social-strip .eyebrow{color:#a1a1aa}
.social-link{border-color:#ffffff50;padding:16px 24px}
.social-link:hover{background:#fff;color:#1d1d1f}
.footer{background:#101114}
.footer-motto,.back-top{color:#c5c5cc}
.lightbox button{border-radius:50%;backdrop-filter:blur(12px)}
.salon-contact{display:grid;gap:16px;margin-top:23px}
.salon-phone{display:flex;flex-direction:column;gap:5px;width:fit-content}
.salon-phone>span{font-size:.875rem;color:#6e6e73}
.salon-phone strong{font-size:1.45rem;font-weight:400;letter-spacing:.02em}
.salon-phone:hover strong{text-decoration:underline;text-underline-offset:5px}
.salon-whatsapp{align-self:start;width:fit-content}
@media(min-width:851px){.hero-stage{gap:clamp(30px,3.4vw,60px)}.hero-visual:not([data-scene=chair]){margin-inline:-14px}.service-item:hover{transform:translateY(-4px)}}
@media(max-width:850px){.hero-visual:not([data-scene=chair]){margin-inline:0}.service-list{gap:12px}}
@media(max-width:600px){.hero-visual:not([data-scene=chair]){margin-inline:0;border-radius:22px}.salon-whatsapp{width:100%}.scene-button{border-radius:12px}.service-list{gap:10px}.service-item{border-radius:16px}.booking-panel{border-radius:22px}.gallery-photo{border-radius:16px}.button{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){.button,.header-visit,.social-link,.service-item{transition:none}.button:hover,.header-visit:hover,.service-item:hover{transform:none}}
