:root {
  --paper: #14110e;
  --ink: #f3e9dd;
  --muted: #beafa0;
  --sand: #1d1813;
  --line: #544332;
  --accent: #d4a879;
  color-scheme: dark;
}
body { background: var(--paper); color: var(--ink); }
.skip-link { color:var(--paper); background:var(--ink); }
a, button { -webkit-tap-highlight-color: rgba(212,168,121,.2); }
::selection { color: #14110e; background: #ddbd96; }
.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; }
.header { background: rgba(20,17,14,.97); border-bottom-color: var(--line); }
.header-inner { height: 88px; }
.brand { font-family:var(--serif); font-size:38px; font-weight:400; color:var(--ink); letter-spacing:.055em; }
.brand span { font-family:var(--serif); font-weight:400; }
.brand .brand-name { display:block; font-size:1em; line-height:1.02; }
.brand .brand-name[lang="ru"] { font-family:var(--sans); font-size:9px; line-height:1.4; letter-spacing:.13em; margin-bottom:4px; }
.brand small { font-family:var(--sans); color:#d3c2ae; margin-top:5px; }
.button, .button-dark { color:var(--ink); background:transparent; border-color:var(--accent); border-radius:0; }
.button:hover, .button-dark:hover { color:var(--paper); background:#e1bb90; border-color:#e1bb90; }
.text-link { border-bottom-color:var(--line); }
.button svg, .text-link svg { color:var(--accent); }
.button:hover svg { color:var(--paper); }
em { color:var(--accent); }
.dark-hero { position:relative; isolation:isolate; min-height:610px; display:flex; align-items:center; overflow:hidden; }
.dark-hero-media { position:absolute; inset:0; z-index:-2; }
.dark-hero-photo { width:100%; height:100%; object-fit:cover; object-position:65% 10%; }
.dark-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(15,12,9,.93) 0%,rgba(15,12,9,.78) 24%,rgba(15,12,9,.15) 53%,transparent 72%); }
.dark-hero-content { padding-block:62px; }
.dark-hero-content>.eyebrow { font-size:10px; letter-spacing:.18em; color:#d0baa4; margin:0 0 32px; }
.dark-hero h1 { font-size:clamp(78px,7.5vw,119px); line-height:.97; letter-spacing:-.035em; font-weight:400; margin:0; max-width:760px; }
.bronze-rule { display:block; width:44px; height:2px; background:var(--accent); margin-block:27px; }
.dark-hero-tagline { font-family:var(--serif); font-size:25px; margin:0 0 29px; }
.dark-hero .button { min-width:210px; justify-content:space-between; font-size:14px; padding:16px 22px; }
.hero-booking-note { color:#d0baa4; font-size:10px; margin:13px 0 0; }
.direction-nav { border-block:1px solid #a17f58; }
.direction-nav>.wrap { display:flex; justify-content:space-between; padding-block:24px; }
.direction-nav a { font-family:var(--serif); font-size:22px; padding-inline:30px; text-align:center; border-right:1px solid #876849; flex:1; }
.direction-nav a:first-child { padding-left:0; }
.direction-nav a:last-child { padding-right:0; border:0; }
.direction-nav a:hover { color:var(--accent); }
.directions { padding-block:27px 28px; }
.directions-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; }
.direction-card { min-width:0; display:block; }
.direction-photo { aspect-ratio:190/208; overflow:hidden; background:var(--sand); }
.direction-photo>img { width:100%; height:100%; object-fit:cover; object-position:50% 42%; transition:transform .4s; }
.direction-card:hover .direction-photo>img { transform:scale(1.025); }
.concept-thumb { aspect-ratio:190/208; position:relative; overflow:hidden; background:var(--sand); }
.concept-thumb .concept-sheet { position:absolute; max-width:none; width:538.947369%; height:auto; top:-234.615385%; }
.concept-coloring .concept-sheet { left:-114.736842%; }
.concept-manicure .concept-sheet { left:-220.526316%; }
.concept-pedicure .concept-sheet { left:-326.315789%; }
.concept-brows .concept-sheet { left:-432.631579%; }
.direction-copy { padding:14px 14px 0; border-right:1px solid #403328; min-height:145px; position:relative; }
.direction-card:first-child .direction-copy { padding-left:0; }
.direction-card:last-child .direction-copy { border:0; }
.direction-copy h3 { font-family:var(--serif); font-size:26px; font-weight:400; line-height:1.1; margin:0 0 10px; }
.direction-copy p { font-family:var(--serif); color:var(--muted); font-size:18px; line-height:1.3; margin:0; max-width:180px; }
.direction-arrow { display:block; text-align:right; color:var(--accent); padding-top:12px; }
.direction-arrow svg { width:25px; height:25px; }
.directions-more { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; border-top:1px solid #403328; padding-top:20px; margin-top:15px; }
.directions-more .text-link { font-size:12px; }
.image-disclosure { font-size:10px; color:var(--muted); margin:22px 0 0; }
.image-disclosure>a { text-decoration:underline; text-underline-offset:3px; }
.dark-story { display:grid; grid-template-columns:.85fr 1.65fr; gap:55px; align-items:center; border-top:1px solid #a17f58; padding-block:27px; }
.dark-story-copy { padding-block:16px; }
.dark-story-copy>.eyebrow { color:var(--muted); font-size:9px; margin:0 0 20px; }
.dark-story h2 { font-family:var(--serif); font-weight:400; font-size:clamp(49px,4.5vw,70px); line-height:1; margin:0; letter-spacing:-.025em; }
.dark-story .bronze-rule { margin-block:24px; }
.dark-story-copy>p:not(.eyebrow) { font-family:var(--serif); font-size:23px; line-height:1.35; max-width:320px; color:#d5c2ad; margin:0 0 28px; }
.dark-story .button { font-family:var(--serif); font-size:18px; padding:13px 22px; min-width:190px; justify-content:space-between; }
.dark-story-photo { min-width:0; margin:0; }
.dark-story-photo>img { width:100%; height:410px; object-fit:cover; }
.team-photo>img { object-position:50% 27%; }
.celebration-photo>img { object-position:center; height:auto; aspect-ratio:1080/607; }
.dark-portfolio { border-top:1px solid #a17f58; padding-block:75px; }
.dark-portfolio .home-works>.work:nth-child(even) { margin-top:0; }
.dark-portfolio .home-works .work-photo>img { height:350px; }
.dark-about { background:var(--sand); padding-block:80px; }
.dark-about .salon-grid { gap:80px; }
.dark-about .salon-photo>img { height:540px; }
.dark-about .salon-copy>p:not(.lead) { color:var(--muted); }
.salon-section { background:var(--sand); }
.salon-detail { border-color:var(--line); }
.trust-section { background:var(--paper); padding-block:75px; border-block:1px solid var(--line); }
.ratings, .ratings>a { border-color:var(--line); }
.ratings>a:hover { background:rgba(212,168,121,.055); }
.rating-date { color:var(--muted); font-size:10px; }
.dark-contact { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.dark-contact .eyebrow { color:var(--muted); margin-bottom:22px; }
.dark-contact>div>p:not(.large-address):not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.8; }
.cta { padding-block:75px; }
.cta>svg { color:var(--accent); opacity:.7; }
.footer { background:#100d0a; color:var(--ink); border-top:1px solid #a17f58; padding-top:50px; }
.footer-top { padding-bottom:40px; }
.footer .brand { color:var(--ink); font-size:46px; }
.footer .brand small { color:#d3c2ae; }
.footer-bottom { font-size:11px; border-color:var(--line); flex-wrap:wrap; }
.footer-legal { display:grid; grid-template-columns:1.2fr 1fr; gap:24px 60px; border-top:1px solid var(--line); padding-block:27px; }
.footer-operator { font-size:12px; color:#d8c7b5; line-height:1.8; margin:0; }
.footer-operator a { overflow-wrap:anywhere; }
.legal-footer-links { display:flex; gap:10px 23px; flex-wrap:wrap; align-content:flex-start; }
.legal-footer-links a { font-size:12px; text-decoration:underline; text-underline-offset:4px; color:#ded0c1; }
.footer-booking { color:var(--muted); font-size:11px; line-height:1.8; grid-column:1/-1; margin:0; max-width:930px; }
.mobile-book { background:rgba(20,17,14,.98); border-color:var(--line); }
.exterior>span { background:#211a14; color:var(--ink); }
.price-nav { border-color:var(--line); }
.price-nav>a:hover { color:var(--accent); }
.price-row { border-color:var(--line); }
.price-note { color:var(--muted); font-size:11px; }
.booking-disclosure { color:var(--muted); border-color:var(--line); font-size:12px; }
.booking-disclosure>a { text-decoration:underline; text-underline-offset:3px; }
.service-hero-photo>img { border-radius:0; }
.service-details>div>p, .faq details>p { color:var(--muted); }
.service-location { color:var(--muted); font-size:11px; }
.legal-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:70px; padding-bottom:80px; align-items:start; }
.legal-toc { position:sticky; top:125px; display:flex; flex-direction:column; gap:16px; border-top:1px solid var(--line); padding-top:23px; }
.legal-toc>a { font-size:12px; line-height:1.55; color:var(--muted); }
.legal-toc>a:hover { color:var(--accent); }
.legal-document { min-width:0; max-width:900px; }
.legal-revision { font-size:12px; color:var(--muted); margin:0 0 32px; }
.legal-section { scroll-margin-top:120px; padding-bottom:30px; margin-bottom:30px; border-bottom:1px solid var(--line); }
.legal-section h2 { font-family:var(--serif); font-size:37px; line-height:1.2; font-weight:400; margin:0 0 22px; }
.legal-section p, .legal-section li { font-size:15px; line-height:1.85; color:#d5c8b9; overflow-wrap:anywhere; }
.legal-section p { margin:0 0 16px; }
.legal-section a { color:#e4bd91; text-decoration:underline; text-underline-offset:4px; }
.legal-section ul { padding-left:22px; }
.legal-section li { margin-bottom:10px; }
.operator-details { margin:0; }
.operator-details>div { display:grid; grid-template-columns:210px minmax(0,1fr); gap:25px; padding-block:14px; border-bottom:1px solid #403328; }
.operator-details dt { color:var(--muted); font-size:13px; line-height:1.7; }
.operator-details dd { margin:0; font-size:15px; line-height:1.7; overflow-wrap:anywhere; }
.legal-table-scroll { overflow-x:auto; }
.legal-table { border-collapse:collapse; width:100%; margin-bottom:24px; }
.legal-table th, .legal-table td { border:1px solid var(--line); text-align:left; vertical-align:top; padding:15px; font-size:13px; line-height:1.75; min-width:150px; color:#d5c8b9; }
.legal-table th { color:var(--ink); font-weight:500; }
.legal-page-intro>h1 { font-size:clamp(56px,6.2vw,88px); }
.legal-back { display:flex; flex-wrap:wrap; gap:20px 30px; }
.legal-back>a { font-size:12px; }
@media(min-width:1500px) {
  .dark-hero { min-height:670px; }
  .dark-hero-photo { object-position:center 10%; }
}
@media(max-width:1100px) {
  .dark-hero { min-height:535px; }
  .dark-hero h1 { font-size:88px; }
  .dark-hero-photo { object-position:62% 10%; }
  .direction-nav a { font-size:20px; padding-inline:18px; }
  .directions-grid { gap:12px; }
  .direction-copy { padding-inline:10px; }
  .direction-copy h3 { font-size:22px; }
  .direction-copy p { font-size:17px; }
  .dark-story { grid-template-columns:1fr 1.6fr; gap:35px; }
  .dark-story h2 { font-size:53px; }
  .dark-story-copy>p:not(.eyebrow) { font-size:21px; }
  .dark-story-photo>img { height:350px; }
  .celebration-photo>img { height:auto; }
  .dark-about .salon-grid { gap:45px; }
  .legal-layout { grid-template-columns:180px minmax(0,1fr); gap:35px; }
  .operator-details>div { grid-template-columns:160px minmax(0,1fr); gap:20px; }
}
@media(max-width:760px) {
  .header-inner { height:78px; }
  .header .brand { font-size:31px; }
  .navigation { background:var(--paper); }
  .dark-hero { min-height:745px; align-items:flex-end; }
  .dark-hero-media { bottom:210px; }
  .dark-hero-photo { object-position:66% top; }
  .dark-hero::after { background:linear-gradient(0deg,#14110e 0%,rgba(20,17,14,.98) 24%,rgba(20,17,14,.2) 60%,transparent 100%); }
  .dark-hero-content { padding-block:360px 32px; }
  .dark-hero-content>.eyebrow { font-size:9px; margin-bottom:19px; }
  .dark-hero h1 { font-size:74px; line-height:.98; }
  .dark-hero .bronze-rule { margin-block:21px; }
  .dark-hero-tagline { font-size:23px; max-width:270px; margin-bottom:23px; }
  .dark-hero .button { min-width:205px; padding:15px 19px; }
  .direction-nav>.wrap { display:flex; flex-wrap:wrap; justify-content:center; gap:0; padding-block:14px; }
  .direction-nav a, .direction-nav a:first-child, .direction-nav a:last-child { padding:8px 13px; font-size:18px; flex:0 1 auto; border:0; }
  .directions { padding-top:23px; }
  .directions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 15px; }
  .direction-copy, .direction-card:first-child .direction-copy { padding:13px 0 0; border:0; min-height:117px; }
  .direction-copy h3 { font-size:25px; margin-bottom:8px; }
  .direction-copy p { font-size:18px; }
  .direction-card:last-child { display:grid; grid-template-columns:1fr 1fr; gap:15px; grid-column:1/-1; align-items:center; }
  .direction-card:last-child .direction-copy { padding-inline:3px; }
  .direction-arrow { text-align:left; }
  .directions-more { gap:20px; padding-top:22px; }
  .directions-more>.text-link { font-size:11px; white-space:normal; }
  .image-disclosure { font-size:10px; line-height:1.8; margin-top:20px; }
  .dark-story { display:flex; flex-direction:column; align-items:stretch; gap:25px; padding-block:35px; }
  .dark-story-copy { padding:0; }
  .dark-story-copy>.eyebrow { margin-bottom:17px; }
  .dark-story h2 { font-size:57px; }
  .dark-story .bronze-rule { margin-block:22px; }
  .dark-story-copy>p:not(.eyebrow) { font-size:23px; max-width:360px; margin-bottom:24px; }
  .dark-story .button { font-size:18px; }
  .dark-story-photo>img { height:auto; aspect-ratio:1/1; object-position:center; }
  .celebration-photo>img { aspect-ratio:1080/607; }
  .dark-portfolio { padding-block:55px; }
  .dark-portfolio .home-works .work-photo>img { height:245px; }
  .dark-portfolio .work>figcaption { font-size:10px; }
  .dark-about { padding-block:55px; }
  .dark-about .salon-photo { width:100%; }
  .dark-about .salon-photo>img { height:420px; }
  .dark-about .salon-grid { gap:35px; }
  .dark-contact { grid-template-columns:1fr; gap:28px; }
  .dark-contact h2 { font-size:60px; }
  .dark-contact .large-address { font-size:24px; }
  .footer-legal { grid-template-columns:1fr; gap:23px; padding-block:25px; }
  .footer-operator { font-size:12px; }
  .footer-booking { grid-column:auto; }
  .legal-footer-links { gap:15px 23px; }
  .legal-footer-links a { font-size:12px; line-height:1.7; }
  .footer-bottom { font-size:10px; }
  .legal-page-intro>h1 { font-size:56px; }
  .legal-page-intro>.lead { font-size:15px; }
  .legal-layout { grid-template-columns:1fr; gap:35px; padding-bottom:45px; }
  .legal-toc { position:static; gap:14px; }
  .legal-toc>a { font-size:13px; }
  .legal-section { scroll-margin-top:105px; }
  .legal-section h2 { font-size:34px; }
  .legal-section p, .legal-section li { font-size:15px; line-height:1.8; }
  .operator-details>div { grid-template-columns:1fr; gap:5px; }
  .operator-details dt { font-size:12px; }
  .operator-details dd { font-size:15px; }
  .legal-revision { line-height:1.8; }
  .booking-disclosure { font-size:12px; line-height:1.9; }
}
@media(max-width:390px) {
  .dark-hero { min-height:725px; }
  .dark-hero-content { padding-top:340px; }
  .dark-hero h1 { font-size:65px; }
  .dark-story h2 { font-size:51px; }
  .direction-copy h3 { font-size:22px; }
  .direction-copy p { font-size:17px; }
  .legal-page-intro>h1 { font-size:48px; }
  .legal-section h2 { font-size:31px; }
}
@media(max-width:350px) {
  .header-inner { gap:8px; }
  .header .brand { font-size:24px; letter-spacing:.04em; }
  .dark-hero h1 { font-size:57px; }
  .dark-hero-content>.eyebrow { font-size:8px; letter-spacing:.11em; }
  .direction-nav a { font-size:17px; padding-inline:10px; }
  .dark-story h2 { font-size:46px; }
  .legal-page-intro>h1 { font-size:42px; }
}
@media print {
  :root { color-scheme:light; }
  body { background:#fff; color:#111; }
  .header, .footer { background:#fff; color:#111; }
  .legal-section p, .legal-section li, .legal-table th, .legal-table td, .operator-details dt, .operator-details dd { color:#111; }
  .legal-layout { display:block; }
  .legal-toc, .legal-back { display:none; }
  .legal-section { break-inside:avoid; }
  .legal-section a { color:#111; }
}
