@font-face{font-family:'Inter';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/inter-italic.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:300 800;font-display:swap;src:url(../fonts/inter.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* ============================================================
   Young Styles Beauty Salon — design system
   Gold sampled from the client's own logo file:
   highlight #E7CE7D, body #B28C49, shadow #725828, ground #131313.
   ============================================================ */
:root{
  /* deeper, warmer ground — the old cream was too airy to feel expensive */
  --ink:#120E0B; --ink-2:#1B1512; --ink-3:#2A211A;
  --cream:#FAF6F0; --sand:#F1E7DB; --beige:#E3D3C2;
  --line:#E2D4C3; --line-dark:#3A2F26;
  --gold:#B28C49; --gold-hi:#E7CE7D; --gold-deep:#7C5F2C; --gold-soft:#D9C08A;
  --blush:#D8BAAE; --blush-deep:#9C6B5E;
  --muted:#6B605A; --muted-dark:#A89A8C;
  --ok:#3F6B4C; --err:#8C3A32;

  /* one plain, highly readable sans everywhere — no serifs anywhere on the site */
  --f-display:'Inter',system-ui,-apple-system,'Segoe UI','Helvetica Neue',Arial,sans-serif;
  --f-serif:var(--f-display);
  --f-label:var(--f-display);
  --f-ui:var(--f-display);

  --s1:.5rem; --s2:.875rem; --s3:1.25rem; --s4:2rem; --s5:3rem;
  --s6:4.5rem; --s7:6.5rem; --s8:9rem;
  --wrap:1240px; --radius:2px;
  --shadow:0 1px 2px rgba(18,14,11,.05), 0 18px 46px -22px rgba(18,14,11,.34);
  --gold-grad:linear-gradient(112deg,#B78F45 0%,#EBD48B 20%,#C6A05A 44%,#F2E1A6 64%,#BF9950 84%,#E8D094 100%);
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;
  scroll-padding-top:96px;scroll-padding-bottom:80px}
@media(min-width:1040px){html{scroll-padding-bottom:2rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
body{margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--f-ui);font-weight:400;font-size:clamp(1.02rem,.97rem + .22vw,1.13rem);
  line-height:1.68;letter-spacing:.002em;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  font-feature-settings:'kern' 1,'liga' 1}
img,svg,iframe{max-width:100%;display:block}
img{height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold-deep);outline-offset:2px;border-radius:1px}
.dark :focus-visible,.hero :focus-visible,.cta :focus-visible,.foot :focus-visible,
.top :focus-visible,.drawer :focus-visible,dialog.lb :focus-visible{outline-color:var(--gold-hi)}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ink);color:var(--gold-hi);
  padding:.75rem 1.25rem;font:500 .9rem/1 var(--f-ui)}
.skip:focus{left:.5rem;top:.5rem}

/* --- type --- */
h1,h2{font-family:var(--f-display);font-weight:650;line-height:1.06;
  letter-spacing:-.028em;margin:0 0 .5em;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(2.4rem,1.5rem + 3.4vw,4.2rem)}
h2{font-size:clamp(1.85rem,1.35rem + 2vw,2.9rem)}
h3{font-family:var(--f-display);font-weight:600;line-height:1.2;letter-spacing:-.018em;
  margin:0 0 .5em;color:var(--ink);text-wrap:balance;
  font-size:clamp(1.25rem,1.1rem + .7vw,1.6rem)}
h4{font-family:var(--f-display);font-weight:600;font-size:1.02rem;letter-spacing:-.006em;
  line-height:1.35;margin:0 0 .5em;color:var(--ink)}
em,.it{font-style:normal;font-weight:650;color:var(--gold-deep)}
.hero h1 em,.dark em,.cta em{color:var(--gold-hi)}
p{margin:0 0 1.05em;text-wrap:pretty}
p:last-child{margin-bottom:0}
.lede{font-size:clamp(1.1rem,1rem + .55vw,1.36rem);line-height:1.58;color:#4A423B;
  font-weight:350;max-width:54ch;letter-spacing:-.002em}
.eyebrow{font:600 .7rem/1 var(--f-ui);letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold-deep);margin:0 0 1.5rem;display:flex;align-items:center;gap:.8rem}
.eyebrow::before{content:"";width:2.2rem;height:1px;background:var(--gold);flex:none}
.eyebrow.c{justify-content:center}
.eyebrow.c::after{content:"";width:2.2rem;height:1px;background:var(--gold)}
.muted{color:var(--muted)}
.small{font-size:.855rem;line-height:1.6}
.mono-note{font-size:.79rem;line-height:1.55;letter-spacing:.01em;color:var(--muted)}

/* --- layout --- */
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
@media(min-width:900px){.wrap{width:min(100% - 5rem,var(--wrap))}}
.sec{padding:var(--s6) 0}
@media(min-width:900px){.sec{padding:var(--s7) 0}}
.sec-tight{padding:var(--s5) 0}
.dark{background:var(--ink);color:#EFE9DE}
.dark h1,.dark h2,.dark h3{color:#F6F1E7}
.dark .lede{color:#CFC6B7}
.dark .eyebrow,.hero .eyebrow,.cta .eyebrow{color:var(--gold-soft)}
.dark .muted{color:var(--muted-dark)}
.tint{background:var(--sand)}
.grid{display:grid;gap:var(--s4)}
.center{text-align:center}
.center .eyebrow{justify-content:center}
.center .eyebrow::after{content:"";width:1.9rem;height:1px;background:var(--gold)}
.center .lede{margin-inline:auto}
.rule{height:1px;background:var(--line);border:0;margin:0}
.dark .rule{background:var(--line-dark)}

/* --- buttons --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font:600 .78rem/1 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;
  padding:1.05rem 1.9rem;border:1px solid transparent;border-radius:var(--radius);
  text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s,transform .25s;
  background:var(--ink);color:#F7F2E8;white-space:nowrap}
.btn:hover{background:var(--gold-deep);color:#fff}
.btn:active{transform:translateY(1px)}
.btn-gold{background:var(--gold-grad);color:#241B10;border-color:transparent;font-weight:700}
.btn-gold:hover{filter:brightness(1.08);background:var(--gold-grad);color:#2A2013}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#F7F2E8}
.dark .btn-ghost,.hero .btn-ghost,.cta .btn-ghost,.drawer .btn-ghost{color:#F0EADF;border-color:#6C6152}
.dark .btn-ghost:hover,.hero .btn-ghost:hover,.cta .btn-ghost:hover,.drawer .btn-ghost:hover{background:#F0EADF;color:var(--ink)}
.btn-sm{padding:.72rem 1.15rem;font-size:.74rem;letter-spacing:.12em}
.btns{display:flex;flex-wrap:wrap;gap:.85rem}
.center .btns{justify-content:center}
.tlink{display:inline-flex;align-items:center;gap:.5rem;font:600 .75rem/1 var(--f-ui);
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);text-decoration:none;
  border-bottom:1px solid var(--gold);padding-bottom:.4rem;transition:gap .25s,color .25s}
.tlink:hover{gap:.85rem;color:var(--ink)}
.dark .tlink,.cta .tlink{color:var(--gold-soft);border-color:var(--gold-deep)}
.dark .tlink:hover{color:#fff}

/* --- header --- */
.top{position:sticky;top:0;z-index:60;background:rgba(16,12,9,.97);
  border-bottom:1px solid var(--line-dark)}
.top-in{display:flex;align-items:center;gap:var(--s3);min-height:78px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex:none;margin-right:auto}
.brand img{width:38px;height:auto}
.brand-tx{display:flex;flex-direction:column;line-height:1}
.brand-tx b{font:500 1.02rem/1 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-tx span{font:300 .58rem/1 var(--f-ui);letter-spacing:.34em;text-transform:uppercase;
  color:#9C9182;margin-top:.4rem}
.nav{display:none;gap:1.85rem;align-items:center}
@media(min-width:1360px){.nav{display:flex}}
.nav a{font:400 .82rem/1 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;
  color:#DDD5C7;text-decoration:none;padding:.4rem 0;border-bottom:1px solid transparent;transition:.2s}
.nav a:hover{color:#fff;border-color:var(--gold)}
.nav a[aria-current]{color:var(--gold-hi);border-color:var(--gold)}
.top-cta{display:none;align-items:center;gap:.8rem}
@media(min-width:1360px){.top-cta{display:flex}}
.top-tel{font:500 .92rem/1 var(--f-ui);letter-spacing:.04em;color:#F0EADF;text-decoration:none;white-space:nowrap}
.top-tel:hover{color:var(--gold-hi)}
.burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;margin-left:auto;
  width:46px;height:46px;background:none;border:1px solid #4A4136;border-radius:var(--radius);
  cursor:pointer;padding:0 12px}
@media(min-width:1360px){.burger{display:none}}
.burger i{display:block;height:1px;background:#E7DFD1;transition:.3s}
.burger[aria-expanded=true] i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){opacity:0}
.burger[aria-expanded=true] i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.drawer{position:fixed;inset:78px 0 0;background:var(--ink);z-index:55;
  transform:translateY(-12px);opacity:0;visibility:hidden;pointer-events:none;
  transition:transform .28s,opacity .28s,visibility 0s linear .28s;overflow-y:auto;
  padding:var(--s4) 0 8rem}
.drawer[data-open=true]{transform:none;opacity:1;visibility:visible;pointer-events:auto;
  transition:transform .28s,opacity .28s,visibility 0s}
@media(min-width:1360px){.drawer{display:none}}
.drawer a.d-nav{display:block;font-family:var(--f-display);font-size:2rem;color:#F2ECE1;
  text-decoration:none;padding:.55rem 0;border-bottom:1px solid var(--line-dark)}
.drawer a.d-nav:hover{color:var(--gold-hi)}
.drawer .btns{margin-top:var(--s4)}

/* --- hero: a backlit campaign poster, type sitting on the image --- */
.hero{position:relative;background:var(--ink);color:#F6F1E8;overflow:hidden;isolation:isolate;
  min-height:clamp(560px,88vh,880px);display:grid;align-items:end}
.hero-fig{position:absolute;inset:0;z-index:0}
.hero-fig img,.hero-fig picture{width:100%;height:100%}
.hero-fig img{object-fit:cover;object-position:50% 22%}
@media(min-width:821px){.hero-fig img{object-position:76% 30%}}
.hero-fig::after{content:"";position:absolute;inset:0;
  background:linear-gradient(94deg,rgba(14,10,8,.88) 0%,rgba(14,10,8,.6) 32%,rgba(14,10,8,.14) 56%,transparent 74%)}
@media(max-width:820px){.hero-fig img{object-position:50% 18%}
  .hero-fig::after{background:linear-gradient(180deg,rgba(14,10,8,.44) 0%,rgba(14,10,8,.06) 30% 48%,rgba(14,10,8,.78) 72%,rgba(14,10,8,.97) 92%)}}
.hero-in{position:relative;z-index:2;width:min(100% - 2.5rem,var(--wrap));margin-inline:auto;
  padding:clamp(6rem,10vw,9rem) 0 clamp(3rem,2rem + 4vw,5rem);max-width:none}
@media(min-width:900px){.hero-in{width:min(100% - 5rem,var(--wrap))}}
.hero-in > *{max-width:min(100%,30ch)}
.hero-in h1{max-width:12ch}
.hero-in .lede{max-width:min(100%,44ch)}
.hero-in .btns{max-width:none}
.hero-in .hero-meta{max-width:46ch}
.hero h1{color:#FBF7EF;margin-bottom:.34em;
  text-shadow:0 2px 40px rgba(10,7,5,.45)}
.hero h1 em{color:var(--gold-hi)}
.hero .lede{color:#D9D0C3;font-weight:350}
.hero-mark{width:clamp(64px,8vw,88px);margin-bottom:var(--s3)}
.hero .btns{margin-top:var(--s4)}
.hero-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin-top:var(--s4);
  font:400 .84rem/1.5 var(--f-ui);letter-spacing:.02em;color:#C3B8A9}
.hero-meta b{color:var(--gold-hi);font-weight:600}
/* the round badge from a cosmetics-counter lightbox */
.badge{position:absolute;z-index:3;right:clamp(1.25rem,5vw,4.5rem);
  bottom:clamp(2.5rem,7vw,5rem);
  width:clamp(124px,14vw,172px);aspect-ratio:1;border-radius:50%;
  background:rgba(14,10,8,.92);border:1px solid rgba(215,182,116,.62);
  box-shadow:0 24px 60px -26px rgba(0,0,0,.8);
  display:grid;place-content:center;text-align:center;gap:.35rem;padding:1rem}
.badge b{display:block;font-family:var(--f-display);font-weight:400;font-size:clamp(2rem,3vw,2.7rem);line-height:1;color:var(--gold-hi)}
.badge span{display:block;font:600 .58rem/1.4 var(--f-ui);letter-spacing:.2em;
  text-transform:uppercase;color:#DACEBD}
@media(max-width:600px){.badge{display:none}}

.shead{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:flex-end;justify-content:space-between;
  margin-bottom:2.6rem}
.shead .tlink{margin-bottom:.5rem}

/* --- trust bar --- */
.trust{border-block:1px solid var(--line);background:var(--cream)}
.trust ul{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
@media(min-width:820px){.trust ul{grid-template-columns:repeat(4,1fr)}}
.trust li{background:var(--cream);padding:1.7rem 1.25rem;text-align:center}
.trust b{display:block;font-weight:700;font-size:clamp(1.5rem,1.2rem + 1.1vw,2rem);
  line-height:1;color:var(--ink);margin-bottom:.45rem;letter-spacing:-.02em}
.trust span{font:400 .74rem/1.4 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* --- service cards --- */
.cards{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr))}
@media(min-width:900px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;
  transition:border-color .3s,transform .3s,box-shadow .3s}
.card:hover{border-color:var(--gold);transform:translateY(-3px);box-shadow:var(--shadow)}
.card-img{aspect-ratio:4/3;overflow:hidden;background:var(--beige)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.card:hover .card-img img{transform:scale(1.045)}
.card-b{padding:1.5rem 1.5rem 1.65rem;display:flex;flex-direction:column;flex:1;gap:.6rem}
.card-b h3{margin:0;font-size:1.42rem}
.card-b p{font-size:.925rem;color:var(--muted);margin:0;flex:1}
.card-foot{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  margin-top:.75rem;padding-top:.9rem;border-top:1px solid var(--line)}
.card-foot b{font:500 .78rem/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.card-foot span{font-family:var(--f-display);font-weight:650;font-size:1.15rem;color:var(--ink)}

/* --- price menu --- */
.menu{display:grid;gap:var(--s5)}
.menu-grp{scroll-margin-top:110px}
.menu-head{display:grid;gap:var(--s3);align-items:end;margin-bottom:var(--s3);
  grid-template-columns:1fr;padding-bottom:1.1rem;border-bottom:1px solid var(--ink)}
@media(min-width:760px){.menu-head{grid-template-columns:1fr auto}}
.menu-head h2{margin:0;font-size:clamp(1.55rem,1.25rem + 1.2vw,2.1rem)}
.menu-head p{margin:.6rem 0 0;color:var(--muted);max-width:62ch;font-size:.95rem}
.rows{list-style:none;margin:0;padding:0}
.rows li{display:grid;grid-template-columns:1fr auto;gap:.5rem 1.25rem;align-items:baseline;
  padding:.92rem 0;border-bottom:1px solid var(--line)}
.rows .rn{font-weight:400;font-size:1.03rem}
.rows .rd{grid-column:1;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.rows .rp{grid-row:1/3;grid-column:2;font-family:var(--f-display);font-size:1.28rem;
  color:var(--ink);text-align:right;text-wrap:balance;max-width:9.5rem}
@media(min-width:520px){.rows .rp{white-space:nowrap;max-width:none}}
.pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.pills li{border:1px solid var(--line);border-radius:100px;padding:.55rem 1.05rem;
  font-size:.86rem;background:#fff;color:#4B453C;transition:border-color .2s,color .2s}
.pills li:has(a):hover{border-color:var(--gold)}
.pills a{text-decoration:none;color:inherit}
.pills a:hover{color:var(--ink)}

/* --- gallery --- */
.gal{display:grid;gap:.7rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:660px){.gal{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.gal{grid-template-columns:repeat(4,1fr);gap:.9rem}}
.gal button{padding:0;border:0;background:var(--beige);cursor:zoom-in;overflow:hidden;
  content-visibility:auto;contain-intrinsic-size:auto 300px;
  border-radius:var(--radius);aspect-ratio:3/4;position:relative;width:100%}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.3,1),opacity .3s}
.gal button:hover img{transform:scale(1.05)}
.gal button::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(20,18,15,.42));opacity:0;transition:.3s}
.gal button:hover::after{opacity:1}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--s4)}
.filters button{font:400 .78rem/1 var(--f-ui);letter-spacing:.13em;text-transform:uppercase;
  padding:.72rem 1.15rem;border:1px solid var(--line);background:#fff;color:var(--muted);
  border-radius:100px;cursor:pointer;transition:.2s}
.filters button:hover{border-color:var(--gold);color:var(--ink)}
.filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--gold-hi)}
dialog.lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100%;height:100%}
dialog.lb::backdrop{background:rgba(14,12,10,.93)}
.lb-in{display:grid;place-items:center;height:100%;padding:clamp(.75rem,3vw,3rem);position:relative}
.lb-in img{max-width:min(100%,900px);max-height:82vh;width:auto;object-fit:contain;border-radius:var(--radius)}
.lb-cap{color:#D9D0C1;font-size:.9rem;margin-top:1rem;text-align:center;max-width:60ch}
.lb-x,.lb-p,.lb-n{position:absolute;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);
  color:#F3EDE2;width:48px;height:48px;border-radius:50%;cursor:pointer;font-size:1.2rem;line-height:1;
  display:grid;place-items:center;transition:.2s}
.lb-x:hover,.lb-p:hover,.lb-n:hover{background:rgba(255,255,255,.2)}
.lb-x{top:clamp(.75rem,3vw,2rem);right:clamp(.75rem,3vw,2rem)}
.lb-p{left:clamp(.5rem,2vw,2rem);top:50%;transform:translateY(-50%)}
.lb-n{right:clamp(.5rem,2vw,2rem);top:50%;transform:translateY(-50%)}

/* --- reviews --- */
.quotes{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
/* the review wall packs tighter as columns — heights vary a lot */
.quotes.wall{display:block;columns:3 320px;column-gap:var(--s3)}
.quotes.wall .quote{break-inside:avoid;margin-bottom:var(--s3);display:block}
.quotes.wall .stars{margin-bottom:1rem}
.quotes.wall blockquote{margin-bottom:1rem}
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:1.9rem 1.75rem;display:flex;flex-direction:column;gap:1rem}
.dark .quote{background:var(--ink-2);border-color:var(--line-dark)}
.stars{display:flex;gap:3px;color:var(--gold)}
.stars svg{width:15px;height:15px;fill:currentColor}
.quote blockquote{margin:0;font-size:1rem;line-height:1.66;color:#3F3931;flex:1}
.dark .quote blockquote{color:#D9D1C4}
.quote figcaption{font:500 .78rem/1.4 var(--f-ui);letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.dark .quote figcaption{color:var(--muted-dark)}
.quote figcaption i{font-style:normal;display:block;letter-spacing:.05em;text-transform:none;
  font-weight:300;font-size:.8rem;margin-top:.3rem;opacity:.8}
.rating-big{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.8rem}
.rating-big b{font-weight:700;font-size:clamp(3rem,2rem + 4vw,4.2rem);line-height:1;letter-spacing:-.03em;color:var(--ink)}
.dark .rating-big b{color:#F6F1E7}
.bars{display:grid;gap:.4rem;min-width:min(100%,260px);flex:1}
.bar{display:grid;grid-template-columns:2.6rem 1fr 2rem;align-items:center;gap:.6rem;font-size:.8rem;color:var(--muted)}
.bar i{display:block;height:5px;background:var(--line);border-radius:100px;overflow:hidden;font-style:normal}
.bar i span{display:block;height:100%;background:var(--gold)}
.dark .bar i{background:#3B3328}

/* --- team --- */
.team{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  grid-template-columns:1fr}
@media(min-width:620px){.team{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.team{grid-template-columns:repeat(4,1fr)}}
.team div{background:var(--cream);padding:1.9rem 1.5rem;display:flex;flex-direction:column;gap:.55rem}
.team .mono{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:var(--ink);color:var(--gold-hi);font-family:var(--f-display);font-size:1.35rem;margin-bottom:.5rem}
.team h3{margin:0;font-weight:650;font-size:1.25rem;line-height:1.2;letter-spacing:-.01em}
.team b{font:500 .7rem/1 var(--f-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}
.team p{font-size:.92rem;color:var(--muted);margin:0}
/* цена: число справа в общей колонке, «and up» в постоянном жёлобе рядом,
   чтобы строки без него не ломали ряд (правка заказчицы 02.09.2026) */
.rows .rp.num{display:grid;grid-template-columns:1fr 3.7rem;align-items:baseline;gap:.4rem}
.rows .rp.num b{font-weight:inherit;text-align:right;white-space:nowrap}
.rows .rp.num i{font:500 .66rem/1.3 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);font-style:normal;text-align:left;white-space:nowrap}
@media(max-width:420px){.rows .rp.num{grid-template-columns:1fr 3.2rem;gap:.3rem}
  .rows .rp.num i{font-size:.6rem;letter-spacing:.07em}}

/* --- visit / contact --- */
.split{display:grid;gap:var(--s5);align-items:start}
@media(min-width:940px){.split{grid-template-columns:1fr 1fr;gap:var(--s6)}}
.split.narrow{gap:var(--s4)}
@media(min-width:940px){.split.narrow{grid-template-columns:.9fr 1.1fr}}
.info{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
.info li{display:grid;grid-template-columns:1.4rem 1fr;gap:.9rem;align-items:start}
.info svg{width:17px;height:17px;stroke:var(--gold-deep);fill:none;stroke-width:1.5;margin-top:.28rem}
.dark .info svg{stroke:var(--gold-soft)}
.info a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
.info a:hover{border-color:var(--gold)}
.hours{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.dark .hours,.dark .hours li{border-color:var(--line-dark)}
.hours li{display:flex;justify-content:space-between;gap:1rem;padding:.72rem 0;
  border-bottom:1px solid var(--line);font-size:.95rem}
.hours li[data-today=true]{color:var(--gold-deep);font-weight:500}
.dark .hours li[data-today=true]{color:var(--gold-hi)}
.mapbox{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--beige)}
.mapbox iframe{width:100%;height:clamp(300px,44vw,470px);border:0;display:block}

/* --- form --- */
form.fx{display:grid;gap:1.1rem}
form.fx > button[type=submit]{justify-self:start}
.fld{display:grid;gap:.45rem}
.fld label{font:500 .74rem/1 var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.fld input,.fld select,.fld textarea{font:300 1rem/1.5 var(--f-ui);color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:.92rem 1rem;width:100%}
.fld textarea{min-height:130px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--gold);outline:none;
  box-shadow:0 0 0 3px rgba(178,140,73,.16)}
.two{display:grid;gap:1.1rem}
@media(min-width:620px){.two{grid-template-columns:1fr 1fr}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fmsg{padding:1rem 1.1rem;border-radius:var(--radius);font-size:.94rem;display:none}
.fmsg[data-state=ok]{display:block;background:#EDF3EE;border:1px solid #C6DCCB;color:var(--ok)}
.fmsg[data-state=err]{display:block;background:#FBEEEC;border:1px solid #E8C9C4;color:var(--err)}

/* --- instagram --- */
.ig{display:grid;gap:.55rem;grid-template-columns:repeat(3,1fr)}
@media(min-width:760px){.ig{grid-template-columns:repeat(6,1fr)}}
.ig a{display:block;aspect-ratio:1;overflow:hidden;border-radius:var(--radius);background:var(--beige)}
.ig img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s}
.ig a:hover img{transform:scale(1.06);opacity:.88}
.ig a{position:relative}
.ig-kind{position:absolute;left:.45rem;bottom:.45rem;padding:.2rem .45rem;background:#131313;color:#fff;font-size:.7rem;border-radius:3px}

/* --- CTA band --- */
.cta{background:var(--ink);color:#F3EDE2;position:relative;overflow:hidden}
.cta h1,.cta h2,.cta h3{color:#F6F1E7}
.cta .lede{color:#CFC6B7}
.cta::before{content:"";position:absolute;inset:0;opacity:.16;
  background:radial-gradient(60% 120% at 82% 20%,var(--gold) 0%,transparent 62%)}
.cta .wrap{position:relative}

/* --- footer --- */
.foot{background:var(--ink);color:#B9AF9F;padding:var(--s6) 0 0;border-top:1px solid var(--line-dark)}
.foot-grid{display:grid;gap:var(--s4);grid-template-columns:1fr}
@media(min-width:760px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.foot h2.fh{color:#EFE8DC;font-family:var(--f-ui);font-weight:500;font-size:.74rem;line-height:1;
  letter-spacing:.2em;text-transform:uppercase;margin:0 0 1.2rem}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.65rem;font-size:.92rem}
.foot a{color:#B9AF9F;text-decoration:none}
.foot a:hover{color:var(--gold-hi)}
.foot-logo{width:150px;margin-bottom:1.2rem}
.foot-bot{margin-top:var(--s5);padding:1.5rem 0;border-top:1px solid var(--line-dark);
  display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;justify-content:space-between;font-size:.8rem;color:#8B8172}
.foot-bot a{color:#8B8172}
.soc{display:flex;gap:.65rem}
.soc a{width:40px;height:40px;border:1px solid #3E362B;border-radius:50%;display:grid;place-items:center;transition:.25s}
.soc a:hover{border-color:var(--gold);background:rgba(178,140,73,.14)}
.soc svg{width:17px;height:17px;fill:currentColor}

/* --- sticky mobile action bar --- */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:1fr 1fr;
  background:var(--ink);border-top:1px solid var(--line-dark);
  padding-bottom:env(safe-area-inset-bottom)}
@media(min-width:1040px){.dock{display:none}}
.dock a{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1.05rem .5rem;
  font:500 .78rem/1 var(--f-ui);letter-spacing:.13em;text-transform:uppercase;text-decoration:none;color:#F0EADF}
.dock a+a{background:var(--gold-grad);color:#241B10;font-weight:600}
.dock svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7}
body{padding-bottom:0}
@media(max-width:1039px){body{padding-bottom:58px}}

/* --- breadcrumbs & misc --- */
.crumbs{font-size:.78rem;letter-spacing:.08em;color:var(--muted);padding:1.1rem 0 0}
.crumbs a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent}
.crumbs a:hover{color:var(--ink);border-color:var(--line)}
.phead{padding:var(--s4) 0 var(--s5);border-bottom:1px solid var(--line)}
.phead h1{max-width:20ch}
.phead .lede{margin-top:1rem}
.faq{display:grid;gap:0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.35rem 2.5rem 1.35rem 0;position:relative;
  font-size:1.06rem;font-weight:400}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.35rem;top:1.15rem;
  font-size:1.5rem;color:var(--gold-deep);font-weight:300;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .fa{padding:0 2.5rem 1.5rem 0;color:var(--muted);font-size:.97rem}
.notice{border-left:2px solid var(--gold);padding:.2rem 0 .2rem 1.15rem;color:var(--muted);font-size:.9rem}
.wide-img{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}

/* small section labels that must stay in the heading order */
h3.mh{font-family:var(--f-ui);font-weight:500;font-size:1.05rem;letter-spacing:.02em;
  line-height:1.3;margin:0 0 .9rem}


/* ============================================================
   Campaign layer — the department-store lightbox register
   ============================================================ */
.grain::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.dark{position:relative}
.dark > .wrap{position:relative;z-index:2}

/* poster card — a service presented like a campaign, not a tile */
.posters{display:grid;gap:clamp(1rem,2vw,1.6rem);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
@media(min-width:900px){.posters{grid-template-columns:repeat(3,1fr)}}
.poster{position:relative;display:block;text-decoration:none;color:inherit;overflow:hidden;
  border-radius:var(--radius);background:var(--ink);isolation:isolate}
.poster-img{aspect-ratio:2/3;overflow:hidden}
.poster-img img{width:100%;height:100%;object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.7,.3,1)}
.poster:hover .poster-img img{transform:scale(1.035)}
.poster::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(14,10,8,.05) 0%,rgba(14,10,8,.02) 38%,rgba(14,10,8,.72) 76%,rgba(14,10,8,.94) 100%)}
.poster-b{position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:clamp(1.2rem,2vw,1.75rem);display:grid;gap:.5rem}
.poster-b h3{margin:0;color:#FBF7EF;font-size:clamp(1.45rem,1.2rem + .9vw,1.95rem)}
.poster-b p{margin:0;color:#CDC2B3;font-size:.9rem;line-height:1.5}
.poster-foot{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  margin-top:.55rem;padding-top:.8rem;border-top:1px solid rgba(226,212,195,.22)}
.poster-foot b{font:600 .7rem/1 var(--f-ui);letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-soft)}
.poster-foot span{font-family:var(--f-display);font-weight:650;font-size:1.12rem;color:#F0E7D8}

/* full-bleed atmosphere band */
.band{position:relative;overflow:hidden;background:var(--ink);isolation:isolate}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.62}
.band::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(14,10,8,.86),rgba(14,10,8,.55) 45%,rgba(14,10,8,.9))}
.band .wrap{position:relative;z-index:2;padding-block:clamp(4.5rem,10vw,8.5rem)}

/* editorial split — image bleeding to one edge */
.edit{display:grid;gap:var(--s4);align-items:center}
@media(min-width:940px){.edit{grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,5vw,5rem)}
  .edit.rev > :first-child{order:2}}
.edit-fig{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--beige)}
.edit-fig img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover}
.edit-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:.9rem 1.1rem;
  font-size:.74rem;letter-spacing:.02em;color:#E6DCCC;
  background:linear-gradient(transparent,rgba(14,10,8,.78))}

/* pull quote in the display face */
.pull{font-family:var(--f-display);font-style:normal;font-weight:500;font-size:clamp(1.6rem,1.2rem + 2vw,2.9rem);
  line-height:1.22;letter-spacing:-.02em;color:#F4EDE1;margin:0;text-wrap:balance}
.pull + .pull-by{margin-top:1.6rem;font:600 .72rem/1 var(--f-ui);letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-soft)}

/* ============================================================
   Booking — service picker, day strip, time grid, diary
   ============================================================ */
.bk{max-width:66rem}
.steps-b{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:0 0 var(--s4);padding:0;
  border-bottom:1px solid var(--line);padding-bottom:1.1rem}
.steps-b li{display:flex;align-items:center;gap:.6rem;font:400 .78rem/1 var(--f-label);
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.steps-b li b{width:1.7rem;height:1.7rem;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--line);font-weight:650;font-size:.85rem;
  letter-spacing:0;background:#fff}
.steps-b li.on{color:var(--ink)}
.steps-b li.on b{background:var(--ink);border-color:var(--ink);color:var(--gold-hi)}
.steps-b li.did b{background:var(--gold-soft);border-color:var(--gold-soft);color:var(--ink)}

.bgroup{margin-bottom:var(--s4)}
.bgroup h3{font-size:clamp(1.2rem,1.05rem + .6vw,1.5rem);margin-bottom:.9rem;
  padding-bottom:.6rem;border-bottom:1px solid var(--line)}
.picks{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}
.pick{position:relative;display:flex;align-items:stretch;gap:0;cursor:pointer;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:border-color .2s,box-shadow .2s}
.pick input{position:absolute;opacity:0;width:0;height:0}
.pick-img{display:block;width:88px;flex:0 0 88px;overflow:hidden;background:var(--beige)}
.pick-img img{width:100%;height:100%;object-fit:cover}
.pick-b{display:flex;flex-direction:column;justify-content:center;gap:.3rem;
  padding:.85rem 1rem;flex:1;min-width:0}
.pick-b b{font-weight:600;font-size:.97rem;line-height:1.3}
.pick-b i{font-style:normal;font-size:.82rem;color:var(--muted)}
.pick:hover{border-color:var(--gold)}
.pick:has(input:focus-visible){outline:3px solid var(--gold-deep);outline-offset:2px}
.pick:has(input:checked){border-color:var(--ink);background:var(--ink);box-shadow:var(--shadow)}
.pick:has(input:checked) .pick-b b{color:#F8F3E9}
.pick:has(input:checked) .pick-b i{color:var(--gold-soft)}

.bsum{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin-bottom:var(--s4);
  padding:1rem 1.2rem;background:var(--sand);border-left:2px solid var(--gold)}
.bsum b{font-family:var(--f-display);font-weight:650;font-size:1.1rem}
.bsum span{font:400 .78rem/1.4 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

.bdays{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.8rem;margin-bottom:var(--s3);
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.bday{flex:0 0 auto;width:4.4rem;padding:.7rem .3rem;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);cursor:pointer;display:grid;gap:.15rem;justify-items:center;
  scroll-snap-align:start;transition:border-color .2s}
.bday i{font-style:normal;font:400 .66rem/1 var(--f-label);letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted)}
.bday b{font-family:var(--f-display);font-weight:650;font-size:1.25rem;line-height:1}
.bday s{text-decoration:none;font:400 .62rem/1 var(--f-label);letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.bday:hover{border-color:var(--gold)}
.bday.on{background:var(--ink);border-color:var(--ink)}
.bday.on i,.bday.on s{color:var(--gold-soft)}
.bday.on b{color:#F8F3E9}

.tgrid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(6.2rem,1fr))}
.btime{padding:.85rem .4rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  cursor:pointer;font:400 .92rem/1 var(--f-ui);color:var(--ink);transition:border-color .2s}
.btime:not(:disabled):hover{border-color:var(--gold)}
.btime.is-closed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;
  background:var(--cream);color:var(--muted);border-color:var(--line);cursor:not-allowed;box-shadow:none}
.btime.is-closed span{text-decoration:line-through;text-decoration-thickness:1px}
.btime.is-closed small{font-size:.64rem;line-height:1;letter-spacing:.06em;text-transform:uppercase}
.booking-consent{display:flex;align-items:flex-start;gap:.8rem;margin:1.3rem 0 1.6rem;max-width:48rem;font-size:.9rem;line-height:1.5;cursor:pointer}
.booking-consent input{flex:none;width:1.2rem;height:1.2rem;margin:.12rem 0 0;accent-color:var(--gold)}
.booking-consent small{display:block;color:var(--muted);font-size:.75rem;margin-top:.35rem;line-height:1.55}
.booking-consent a{text-decoration:underline;text-underline-offset:3px}
.btime.on{background:var(--ink);border-color:var(--ink);color:var(--gold-hi)}

.bnav{display:flex;gap:.8rem;justify-content:space-between;margin-top:var(--s4);
  padding-top:var(--s3);border-top:1px solid var(--line)}
.bnav .btn:only-child{margin-left:auto}
.bdone{max-width:52ch}
.bdone h2{margin-bottom:.6em}

/* booking: one-action dock, sticky Continue, bigger tap targets */
.dock.dock-one{grid-template-columns:1fr}
.dock.dock-one a{background:var(--gold-grad);color:#241B10}
.btn-sm{padding:.95rem 1.3rem;font-size:.76rem;letter-spacing:.14em}
@media(max-width:900px){
  .bnav{position:sticky;bottom:58px;z-index:5;background:var(--cream);
    margin-inline:calc(var(--s3) * -1);padding:1rem var(--s3);
    border-top:1px solid var(--line);box-shadow:0 -12px 24px -18px rgba(18,14,11,.5)}
  .bnav .btn{flex:1;min-height:48px}
  .bk[data-step="3"] .bnav{position:static;bottom:auto;z-index:auto;box-shadow:none}
}
/* focus is moved here for screen readers only — a gold box round the whole
   step is visual noise, so the ring stays off this container */
.bstep:focus,.bstep:focus-visible{outline:none}

/* booking step 1: departments first, then the services inside one */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bsearch{margin-bottom:var(--s3)}
.bsearch input{font-size:1rem}
.bcats{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,10.5rem),1fr));
  margin-bottom:var(--s4)}
.bcat{padding:0;border:1px solid var(--line);background:#fff;border-radius:var(--radius);
  cursor:pointer;overflow:hidden;text-align:left;display:flex;flex-direction:column;
  transition:border-color .2s,box-shadow .2s}
.bcat:hover{border-color:var(--gold)}
.bcat[aria-pressed=true]{border-color:var(--ink);box-shadow:var(--shadow)}
.bcat-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--beige)}
.bcat-img img{width:100%;height:100%;object-fit:cover}
.bcat-b{display:flex;flex-direction:column;gap:.25rem;padding:.8rem .9rem 1rem}
.bcat-b b{font-weight:650;font-size:.98rem;line-height:1.25}
.bcat-b i{font-style:normal;font-size:.8rem;color:var(--muted)}
.bcat[aria-pressed=true] .bcat-b{background:var(--ink)}
.bcat[aria-pressed=true] .bcat-b b{color:#F8F3E9}
.bcat[aria-pressed=true] .bcat-b i{color:var(--gold-soft)}

.bpane h3{margin-bottom:1rem}
.picks{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}

/* review + booking platforms */
.pfs{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}
.pf{display:grid;grid-template-columns:1fr auto;gap:.15rem .8rem;align-items:center;
  padding:1rem 1.15rem;background:var(--surface,#fff);border:1px solid var(--line);
  border-radius:var(--radius);text-decoration:none;color:inherit;
  transition:border-color .2s,transform .2s,box-shadow .2s}
.pf:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow)}
.pf-n{font-weight:650;font-size:1.02rem;grid-column:1}
.pf-d{grid-column:1;font-size:.86rem;color:var(--muted);line-height:1.45}
.pf-go{grid-column:2;grid-row:1/3;color:var(--gold-deep);font-size:1.1rem}
.foot-brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;margin-bottom:1.2rem}
.foot-brand img{width:52px;height:52px}
.foot-brand span{display:flex;flex-direction:column;line-height:1}
.foot-brand b{font-weight:700;font-size:1.02rem;letter-spacing:.14em;text-transform:uppercase;
  color:#EFE8DC}
.foot-brand i{font-style:normal;font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;
  color:#9C9182;margin-top:.4rem}

/* the owner's card carries a longer bio, so it gets the room */
.team div.lead{background:var(--sand)}
@media(min-width:620px){.team div.lead{grid-column:span 2}}
.team div.lead .mono{background:var(--gold-grad);color:#241B10}
.team div.lead p{font-size:.95rem}


/* --- страницы услуг (/services/<slug>) --------------------------------- */
.svc-photos{display:grid;gap:.6rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:700px){.svc-photos{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.svc-photos{grid-template-columns:repeat(6,1fr)}}
.svc-photos a{display:block;aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius);
  background:var(--beige)}
.svc-photos img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s}
.svc-photos a:hover img{transform:scale(1.05);opacity:.9}

.svc-prose{max-width:70ch;display:grid;gap:var(--s4)}
.svc-prose h2{margin:0 0 .8rem;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)}
.svc-prose p{margin:0 0 .9rem;color:var(--muted)}
.svc-prose p:last-child{margin-bottom:0}
.service-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;margin-top:2rem;border-top:1px solid var(--line)}
.service-paths a{position:relative;display:grid;gap:.25rem;padding:1.2rem 2rem 1.2rem 0;border-bottom:1px solid var(--line);text-decoration:none;min-width:0}
.service-paths span{font-weight:600;line-height:1.35}.service-paths small{color:var(--muted);font-size:.8rem}
.service-paths b{position:absolute;right:.2rem;top:1.1rem;color:var(--gold-deep);transition:transform .2s}
.service-paths a:hover span{color:var(--gold-deep)}.service-paths a:hover b{transform:translate(2px,-2px)}
.journal-preview{background:var(--cream)}.journal-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.6rem}
.journal-preview-grid article{display:flex;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line);padding-top:1.4rem;min-width:0}
.journal-preview-grid time{font-size:.73rem;color:var(--muted);margin-bottom:1rem}.journal-preview-grid h3{font-size:1.25rem;line-height:1.3}
.journal-preview-grid h3 a{text-decoration:none}.journal-preview-grid h3 a:hover{color:var(--gold-deep)}
.journal-preview-grid p{font-size:.94rem;color:var(--muted);margin-bottom:1.4rem}.journal-preview-grid .tlink{margin-top:auto}
@media(max-width:700px){.journal-preview-grid{grid-template-columns:1fr;gap:2rem}.service-paths{grid-template-columns:1fr}}
.svc-prose b{color:var(--ink);font-weight:600}
.svc-prose em{font-style:italic}

.svc-who{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media(min-width:640px){.svc-who{grid-template-columns:repeat(2,1fr)}}
.svc-who.one{grid-template-columns:1fr;max-width:34rem}
.svc-who div{background:#fff;padding:1.5rem 1.6rem}
.svc-who b{display:block;font:500 .72rem/1.3 var(--f-ui);letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-deep);margin-bottom:.7rem}
.svc-who h3{margin:0 0 .45rem;font-size:1.3rem}
.svc-who p{margin:0;color:var(--muted);font-size:.94rem}

/* --- дневник салона: расписание по креслам и ручная запись ------------- */
.a-top{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between;
  margin:2rem 0 1.2rem}
.a-days{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.4rem;flex:1 1 20rem;
  scrollbar-width:thin}
.a-day{flex:0 0 auto;display:grid;gap:.12rem;text-align:left;cursor:pointer;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .7rem}
.a-day b{font:600 .82rem/1.2 var(--f-ui);color:var(--ink);white-space:nowrap}
.a-day i{font:400 .68rem/1.2 var(--f-ui);font-style:normal;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted)}
.a-day[aria-pressed=true]{background:var(--ink);border-color:var(--ink)}
.a-day[aria-pressed=true] b{color:var(--gold-hi)}
.a-day[aria-pressed=true] i{color:var(--gold-soft)}

.a-form{display:grid;gap:1.1rem;background:var(--sand);border:1px solid var(--line);
  border-radius:var(--radius);padding:1.4rem;margin-bottom:1.6rem}
.a-f2{display:grid;gap:1rem}
@media(min-width:700px){.a-f2{grid-template-columns:repeat(2,1fr)}
  .a-f2 .a-wide{grid-column:1/-1}}
@media(min-width:1020px){.a-f2{grid-template-columns:repeat(4,1fr)}}
.a-chk{display:flex;align-items:center;gap:.6rem;font-size:.92rem;color:var(--muted)}
.a-chk input{width:1.05rem;height:1.05rem;accent-color:var(--gold-deep)}

.tt{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.tt-in{display:grid;min-width:36rem;position:relative}
.tt-h{position:sticky;top:0;z-index:4;grid-row:1;background:var(--ink);color:var(--cream);
  font:600 .72rem/1 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;
  padding:.6rem .55rem;border-left:1px solid #2A211A;white-space:nowrap;overflow:hidden}
.tt-h i{font-style:normal;color:var(--gold-soft)}
.tt-h.over{background:var(--err)}
.tt-corner{background:var(--ink);border-left:0}
.tt-t{grid-column:1;font:500 .68rem/1 var(--f-ui);letter-spacing:.06em;color:var(--muted);
  padding:.3rem .5rem 0 0;text-align:right;border-top:1px solid var(--line);white-space:nowrap}
.tt-r{border-top:1px solid var(--line);pointer-events:none;z-index:0}
.tt-off{background:repeating-linear-gradient(135deg,var(--sand) 0 6px,transparent 6px 12px);
  pointer-events:none;z-index:0}
.tt-b{z-index:2;margin:1px;overflow:hidden;display:flex;flex-direction:column;gap:.08rem;
  background:var(--cream);border:1px solid var(--gold);border-left:3px solid var(--gold);
  border-radius:var(--radius);padding:.3rem .42rem;min-width:0;min-height:2.6rem}
/* без этого flex сжимает строки посередине и имя клиента превращается в полоску;
   пусть блок обрезается снизу, по порядку чтения */
.tt-b > *{flex:0 0 auto}
.tt-top{display:flex;align-items:center;justify-content:space-between;gap:.3rem;min-width:0}
.tt-b.over{border-color:var(--err);border-left-color:var(--err);background:#FBEEEC}
.tt-b b{font:600 .68rem/1.2 var(--f-ui);color:var(--gold-deep);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.tt-b.over b{color:var(--err)}
.tt-b span{font:600 .84rem/1.25 var(--f-ui);color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tt-b i{font:400 .72rem/1.25 var(--f-ui);font-style:normal;color:var(--muted);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tt-b a{font:400 .72rem/1.25 var(--f-ui);color:var(--gold-deep);white-space:nowrap}
.tt-b u{font:400 .7rem/1.25 var(--f-ui);text-decoration:none;color:var(--muted);
  overflow:hidden;text-overflow:ellipsis}
.tt-x{flex:0 0 auto;cursor:pointer;background:transparent;border:1px solid var(--line);
  border-radius:var(--radius);color:var(--muted);font:500 .8rem/1 var(--f-ui);
  width:1.15rem;height:1.15rem;display:grid;place-items:center;padding:0}
.tt-x:hover{border-color:var(--err);color:var(--err)}
.tt-x:disabled{opacity:.5;cursor:default}
