@font-face{font-family:"DM Sans";src:url(fonts/dm-sans.woff2) format("woff2");font-weight:100 1000;font-display:swap}
:root{color-scheme:dark;--bg:#080811;--surface:#10111f;--ink:#f7f5ff;--muted:#bdbbd9;--line:#2b2b45;--line2:#464260;--sage:#a87bec;--link:#cdb2f6;--accent:#bd8cff;--soft:#201830;--red:#ffb7bf;--redbg:#321b28;--gold:#efddaf;--goldbg:#272235;--ok:#9ce5be;--okbg:#122b25;--grey:#c7c4db;--greybg:#242433;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-padding-top:100px}body{font:16px/1.55 "DM Sans",system-ui,sans-serif;color:var(--ink);background:var(--bg);min-height:100dvh;-webkit-font-smoothing:antialiased;isolation:isolate}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 90% 0,rgba(96,50,159,.13),transparent 43%),radial-gradient(ellipse at 0 95%,rgba(86,49,130,.08),transparent 45%)}button,input,textarea{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}a{color:var(--link);text-underline-offset:4px}button,a,input{touch-action:manipulation}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:3px solid var(--link);outline-offset:4px}h1,h2,h3{font-weight:600;line-height:1.2;letter-spacing:-.035em}h1{font-size:clamp(28px,3.2vw,40px);margin-bottom:10px}h2{font-size:22px}h3{font-size:18px}h1:focus{outline:none}p,dd,.nm{overflow-wrap:anywhere}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:20px;padding:12px;z-index:100;background:var(--bg)}.skip:focus{top:10px}.icon{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.muted,.lead,.small{color:var(--muted)}.small{font-size:14px}.lead{margin-bottom:26px;max-width:650px}.tnum{font-variant-numeric:tabular-nums}.top{border-bottom:1px solid rgba(189,140,255,.1);background:rgba(8,8,17,.9)}.top .in{max-width:1240px;margin:auto;padding:26px 32px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand>svg{width:44px;height:44px;fill:none;stroke:var(--accent);stroke-width:2}.brand b{display:block;font-family:Georgia,serif;font-size:19px;font-weight:400;letter-spacing:.12em;text-transform:uppercase}.brand small{display:block;font-size:9px;letter-spacing:.3em;color:var(--muted)}.header-address{margin-left:auto;font-size:12px;max-width:200px;color:var(--muted)}.call{padding:10px 18px;min-height:44px;border:1px solid var(--line2);border-radius:99px;color:var(--ink);text-decoration:none;font-size:14px;white-space:nowrap}main{max-width:1180px;margin:0 auto;padding:44px 32px 40px;min-height:65vh}.loading{min-height:460px;display:grid;place-content:center;color:var(--muted)}.pfoot{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;padding:0 32px 112px;color:var(--muted);font-size:12px}.navigation{position:fixed;bottom:0;left:0;right:0;z-index:20;background:rgba(8,8,17,.96);backdrop-filter:blur(18px);border-top:1px solid #242235;padding-bottom:env(safe-area-inset-bottom)}.navigation>div{max-width:640px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.nav-item{color:var(--muted);font-size:12px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:5px;position:relative;padding:13px 2px 18px;min-height:76px}.nav-item .icon{width:25px;height:25px}.nav-item[aria-current=page]{color:var(--accent)}.nav-item[aria-current=page]::after{content:"";height:3px;position:absolute;bottom:5px;left:27%;right:27%;border-radius:4px;background:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 24px;border-radius:99px;background:linear-gradient(110deg,#b184f5,#9c68ee);color:#160e26;font-weight:650;text-decoration:none;border:1px solid rgba(216,183,255,.25)}.btn .icon{width:21px;height:21px}.btn.sec{background:linear-gradient(180deg,#141421,#0d0e19);color:var(--ink);border-color:#58516f}.btn.danger{background:#a63c54;color:#fff}.btn.wide{width:100%}.btn:disabled{opacity:.45}.link{color:var(--link);font-size:14px;font-weight:500;padding:10px 0;min-height:44px}.back{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:14px;min-height:44px;margin-bottom:10px}.page-title{margin-bottom:24px}.flow-title{display:flex;justify-content:center;position:relative;align-items:center;min-height:44px;font-size:17px;margin-bottom:25px}.flow-title .back{position:absolute;left:0;margin:0;font-size:0}.flow-title .back .icon{width:24px;height:24px}.steps{display:flex;list-style:none;justify-content:space-between;margin:0 0 32px;position:relative;max-width:760px}.steps::before{content:"";position:absolute;top:18px;left:20px;right:20px;height:2px;background:var(--line2)}.steps li{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:13px;color:var(--muted);min-width:44px}.steps li::before{content:attr(data-number);display:grid;place-content:center;width:38px;height:38px;background:var(--bg);border:2px solid var(--line2);border-radius:50%;font-size:16px;color:var(--muted);z-index:1}.steps li.done::before,.steps li.active::before{background:linear-gradient(130deg,#c59cff,#9c67ef);border-color:#ac7aef;color:#160e26}.steps li.active{color:var(--accent)}.steps li.done::before{content:"✓"}.card,.list,.treatment-card,.menu-panel{border:1px solid var(--line);border-radius:17px;background:linear-gradient(130deg,rgba(25,25,43,.65),rgba(13,14,26,.6));box-shadow:inset 0 1px rgba(255,255,255,.018)}.card{padding:22px}.stack{display:flex;flex-direction:column;gap:18px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 16px}.search-wrap{position:relative}.search-wrap>.icon{position:absolute;left:17px;top:17px;color:var(--muted)}.search{width:100%;padding:15px 18px 15px 50px;border:1px solid var(--line);border-radius:15px;background:#10111f;min-height:56px;margin-bottom:18px}.search::placeholder,input::placeholder{color:#aaa6c2}.filters{display:flex;gap:10px;overflow-x:auto;margin-bottom:26px;padding:2px 1px 5px;scrollbar-width:thin}.filter{flex:none;min-height:44px;border:1px solid var(--line);background:#0e0f1b;border-radius:99px;padding:10px 18px;font-size:13px;color:var(--muted)}.filter[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--ink);background:#1c142e}.group{margin-bottom:26px}.group h2{font-size:15px;font-weight:500;color:var(--muted);margin-bottom:12px;letter-spacing:0}.list{border:0;background:none;box-shadow:none;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.item{display:flex;align-items:center;gap:15px;text-align:left;width:100%;padding:14px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(135deg,#141522,#0b0d18);min-height:114px}.treatment-art{width:80px;height:88px;flex:none;border-radius:12px;object-fit:cover;background:#e8cab1}.item-copy{min-width:0;flex:1}.nm{font-size:17px;font-weight:550;display:block}.sub{display:block;font-size:13px;color:var(--muted);margin-top:5px}.item>.icon{width:17px;color:var(--muted)}.tag{display:block;width:fit-content;font-size:10px;line-height:1.6;color:var(--link);margin-top:5px}.item-meta{display:flex;gap:14px;align-items:center;margin-top:8px;color:var(--muted);font-size:12px;flex-wrap:wrap}.item-meta>span{display:flex;align-items:center;gap:5px}.item-meta .icon{width:16px;height:16px}.none{text-align:center;color:var(--muted);padding:35px 15px}.catalogue{min-height:400px}.summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.summary b{display:block;font-weight:550}.summary .treatment-art{width:62px;height:66px}.summary .summary-copy{flex:1}.summary .small{display:block;margin-top:5px}.split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:24px;align-items:start}.side-note{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.side-note:first-child{padding-top:0}.side-note:last-child{border:0;padding-bottom:0}.side-note>.icon{color:var(--accent);width:27px;height:27px}.side-note p{font-size:14px;color:var(--muted);margin-top:5px}.side-note b{font-weight:550}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0 20px}.calendar-head button{width:44px;height:44px;display:grid;place-content:center;color:var(--link)}.calendar-head h3{font-size:18px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{text-align:center;color:var(--muted);font-size:12px;padding-bottom:8px}.day{width:100%;aspect-ratio:1;min-height:36px;max-height:56px;border-radius:50%;font-size:14px;position:relative}.day:not(:disabled)::after{content:"";position:absolute;bottom:5px;left:calc(50% - 2px);width:4px;height:4px;background:var(--accent);border-radius:50%}.day[aria-pressed=true]{background:linear-gradient(130deg,#c095ff,#9d67f4);color:#160e26;box-shadow:0 0 22px #9d67f433}.day[aria-pressed=true]::after{display:none}.day:disabled{color:#9690b1;opacity:.45}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:18px 0 22px}.calendar-legend span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:6px}.calendar-legend span:last-child::before{background:#555067}.times-title{font-size:17px;border-top:1px solid var(--line);padding-top:22px;margin-bottom:16px}.times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.time{min-height:48px;border:1px solid var(--line);border-radius:12px;background:#10111e;font-size:14px;color:var(--muted)}.time[aria-pressed=true]{border-color:var(--accent);background:#56329c;color:#fff;box-shadow:0 0 15px #9b5dff33}.continue{margin-top:24px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:14px;color:var(--muted)}.field input{min-width:0;width:100%;border:1px solid var(--line);border-radius:13px;background:#0c0d18;padding:16px;font-size:16px;min-height:54px}.field .hint{font-size:12px;color:var(--muted)}input[aria-invalid=true]{border-color:var(--red)}.code{font-size:26px!important;text-align:center;letter-spacing:.35em;font-variant-numeric:tabular-nums}.err,.note,.good{border:1px solid var(--line);border-radius:13px;padding:15px 18px;margin-bottom:16px;font-size:14px}.err{color:var(--red);background:var(--redbg)}.note{color:var(--gold);background:var(--goldbg)}.good{color:var(--ok);background:var(--okbg)}.err a,.note a{color:inherit}.foot{font-size:12px;color:var(--muted);margin:20px 0;text-align:center}.review-card{display:flex;gap:16px;align-items:flex-start}.review-card>.icon,.menu-icon{color:var(--accent);background:#201a31;border-radius:12px;padding:10px;width:46px;height:46px;flex:none}.review-card .review-copy{flex:1;min-width:0}.review-card h2{font-size:17px;margin-bottom:8px;letter-spacing:0}.review-card .link{padding:0;min-height:28px;flex:none}.review-card p{color:var(--muted);font-size:14px}.kv{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{font-weight:500}.row{display:flex;gap:12px;flex-wrap:wrap}.row .btn{flex:1 1 150px}.pill{font-size:12px;font-weight:550;padding:5px 12px;border-radius:99px;display:inline-block}.p-booked,.p-past{background:var(--okbg);color:var(--ok);border:1px solid #285944}.p-cancelled{background:var(--greybg);color:var(--grey)}.confirmation{text-align:center;max-width:780px;margin:0 auto 26px}.confirmation .success-icon{display:grid;place-content:center;border:2px solid var(--accent);width:80px;height:80px;border-radius:50%;color:var(--accent);box-shadow:0 0 38px #9d67f433;margin:0 auto 24px}.success-icon .icon{width:42px;height:42px}.confirmation .lead{margin-left:auto;margin-right:auto}.menu-panel{padding:0 20px}.menu-item{display:flex;gap:16px;align-items:center;color:var(--ink);text-decoration:none;text-align:left;width:100%;min-height:100px;padding:20px 0;border-bottom:1px solid var(--line)}.menu-item:last-child{border:0}.menu-item>span:not(.menu-icon){flex:1}.menu-item b{display:block;font-weight:550}.menu-item small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.menu-item>.icon{width:18px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:16px 0}details:last-child{border-bottom:0}summary{cursor:pointer;font-weight:550;min-height:36px}details p{font-size:14px;color:var(--muted);padding:10px 0}.home-hero{position:relative;overflow:hidden;padding:35px 0 45px}.hero-art{position:absolute;width:55%;height:100%;right:-5%;top:0;object-fit:contain;opacity:.8;z-index:-1}.eyebrow{font-size:12px;letter-spacing:.1em;color:var(--link);margin-bottom:18px;text-transform:uppercase}.hero-copy{max-width:680px}.hero-copy h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,5.7vw,72px);line-height:1.07;letter-spacing:-.04em;margin-bottom:18px}.hero-copy .lead{max-width:440px;font-size:17px}.hero-actions{display:flex;gap:12px;max-width:590px}.hero-actions .btn{flex:1}.benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0}.benefit{border:1px solid var(--line);border-radius:14px;padding:17px 8px;text-align:center;background:#11111fbb;font-size:12px;color:var(--muted)}.benefit .icon{display:block;margin:0 auto 9px;color:var(--accent);width:26px;height:26px}.popular{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.popular .item{flex-wrap:wrap}.popular .treatment-art{width:100%;height:130px;object-fit:contain}.narrow{max-width:760px;margin-left:auto;margin-right:auto}.empty-icon{color:var(--accent);margin-bottom:14px}.empty-icon .icon{width:42px;height:42px}.privacy-page{max-width:760px}.privacy-page h2{margin:22px 0 10px;font-size:20px}.privacy-page ul{padding-left:22px;margin-bottom:16px}.privacy-page p{margin-bottom:14px}.draft{color:var(--red);border:1px solid var(--red);padding:16px;border-radius:12px;margin-bottom:24px}.todo{color:var(--gold)}
@media(min-width:1000px){body{display:flex;flex-direction:column}.top{order:0}.top .in{padding-bottom:26px}.navigation{position:static;order:1;top:auto;bottom:auto;background:none;border-top:1px solid #242235;border-bottom:1px solid #242235;padding:0}.navigation>div{max-width:1180px;display:flex;padding:0 32px;gap:32px}.nav-item{flex-direction:row;gap:9px;min-height:57px;font-size:14px;padding:14px 4px}.nav-item .icon{width:19px;height:19px}.nav-item[aria-current=page]::after{left:4px;right:4px;bottom:0}.pfoot{order:3;width:100%;padding-bottom:32px}main{order:2;width:100%}.steps{margin-left:auto;margin-right:auto}.flow-title{margin-bottom:30px}.home-hero{padding-top:40px}.hero-copy{max-width:67%}.benefits{max-width:590px}.hero-art{right:-4%;width:57%;opacity:1}.continue{max-width:530px;margin-left:auto;margin-right:auto}}



@media(hover:hover){.item:hover,.time:hover,.filter:hover{border-color:#8e6abb}.btn:hover{filter:brightness(1.1)}.nav-item:hover{color:var(--link)}}
@media(prefers-reduced-motion:no-preference){.btn,.item,.time,.filter{transition:transform .16s var(--ease),border-color .16s var(--ease),filter .16s var(--ease)}.btn:active,.item:active{transform:scale(.985)}.enter{animation:rise .24s var(--ease)}@keyframes rise{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-transparency:reduce){.navigation,.top,.card,.list,.benefit{background:#10111f;backdrop-filter:none}}@media(forced-colors:active){.btn,.day,.time,.item{border:1px solid ButtonText}.nav-item[aria-current=page]{border-bottom:3px solid Highlight}.day[aria-pressed=true],.time[aria-pressed=true]{outline:3px solid Highlight}}

.price-total{font-size:32px;font-weight:600;color:var(--link)}.menu-item>.icon:first-child{color:var(--accent);background:#201a31;border-radius:12px;padding:10px;width:46px;height:46px}
.summary-copy{min-width:0}.summary .pill{flex:none}


/* Phone and tablet layouts have their own content sizing; desktop starts at 1000px. */
@media (max-width: 999px) {
  html { scroll-padding-top: 24px; }
  main { width: 100%; max-width: 800px; padding: 28px 24px 36px; }
  main > div, .split > *, .summary-copy, .review-copy, .menu-item > span, .brand > span { min-width: 0; }
  h1 { font-size: 30px; line-height: 1.2; letter-spacing: -.025em; }
  h2 { font-size: 21px; line-height: 1.3; }
  p, dd, .nm, .summary b { overflow-wrap: break-word; word-break: normal; }
  .top .in { padding: 22px 24px; gap: 16px; }
  .brand { min-width: 0; gap: 11px; }
  .brand > svg { flex: 0 0 38px; width: 38px; height: 38px; }
  .brand b { font-size: 17px; line-height: 1.35; letter-spacing: .08em; }
  .brand small { font-size: 9px; line-height: 1.5; letter-spacing: .18em; }
  .header-address { display: none; }
  .call { flex: none; margin-left: auto; min-height: 44px; display: flex; align-items: center; padding: 10px 16px; }
  .pfoot { width: 100%; max-width: 800px; padding: 0 24px calc(112px + env(safe-area-inset-bottom)); flex-wrap: wrap; }
  .navigation > div { max-width: 760px; }
  .nav-item { font-size: 13px; min-width: 0; min-height: 80px; gap: 6px; padding: 12px 3px 18px; }
  .nav-item > span { white-space: nowrap; }
  .nav-item .icon { width: 26px; height: 26px; }
  .flow-title { margin-bottom: 24px; padding: 0 48px; min-height: 44px; line-height: 1.35; }
  .flow-title .back { width: 44px; height: 44px; justify-content: flex-start; }
  .steps { margin: 0 0 32px; }
  .steps li { font-size: 14px; }
  .steps li::before { width: 38px; height: 38px; }
  .steps::before { top: 18px; }
  .lead { font-size: 16px; line-height: 1.6; margin-bottom: 24px; }
  .split { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .split > aside { order: 1; }
  .card { padding: 22px; border-radius: 17px; }
  .stack { gap: 18px; }
  .list { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .item, .popular .item, .popular .item:last-child {
    display: grid; grid-template-columns: 88px minmax(0,1fr) 18px;
    align-items: center; gap: 18px; min-height: 122px; height: auto; padding: 16px;
  }
  .treatment-art, .popular .treatment-art, .popular .item:last-child .treatment-art {
    display: block; width: 88px; height: 88px; aspect-ratio: 1; object-fit: contain; border-radius: 12px;
  }
  .item-copy { min-width: 0; }
  .nm { font-size: 19px; line-height: 1.4; }
  .tag { max-width: 100%; font-size: 12px; line-height: 1.45; margin-top: 6px; }
  .item-meta { display: flex; flex-wrap: wrap; column-gap: 18px; row-gap: 7px; margin-top: 9px; font-size: 14px; }
  .item-meta > span { white-space: nowrap; }
  .item-meta .icon { width: 18px; height: 18px; }
  .group h2 { font-size: 16px; line-height: 1.4; margin-bottom: 12px; }
  .popular { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; }
  .filters { flex-wrap: wrap; overflow: visible; gap: 8px; margin-bottom: 24px; }
  .filter { min-width: 0; min-height: 44px; padding: 10px 16px; font-size: 14px; white-space: normal; }
  .search { font-size: 16px; min-width: 0; }
  .summary { padding: 18px; gap: 14px; margin-bottom: 22px; }
  .summary .treatment-art { display: block; width: 64px; height: 70px; object-fit: contain; }
  .summary b { font-size: 17px; line-height: 1.4; }
  .summary .small { font-size: 14px; line-height: 1.55; }
  .summary .link { flex: none; font-size: 14px; }
  .calendar { max-width: 520px; margin-inline: auto; gap: 5px; align-items: center; }
  .day { justify-self: center; width: min(100%,48px); height: auto; min-height: 0; max-height: none; aspect-ratio: 1; border-radius: 50%; font-size: 16px; }
  .weekday { font-size: 14px; padding-bottom: 10px; }
  .calendar-head { margin: 18px 0; }
  .calendar-head h3 { font-size: 20px; }
  .calendar-legend { font-size: 13px; line-height: 1.5; gap: 18px; }
  .times { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
  .time { min-height: 52px; font-size: 16px; padding: 12px 4px; }
  .side-note { gap: 14px; padding: 18px 0; }
  .side-note > div { min-width: 0; }
  .side-note p { font-size: 15px; line-height: 1.6; }
  .side-note b { font-size: 16px; line-height: 1.45; }
  .field { gap: 8px; }
  .field label { font-size: 15px; line-height: 1.5; }
  .field input { font-size: 17px; line-height: 1.5; padding: 15px 16px; min-height: 56px; }
  .field .hint { font-size: 13px; line-height: 1.55; }
  .btn { min-width: 0; min-height: 54px; height: auto; font-size: 16px; line-height: 1.4; text-align: center; padding: 14px 22px; }
  .btn .icon { flex: 0 0 22px; }
  .continue { width: 100%; max-width: none; margin-top: 24px; }
  .review-card { align-items: flex-start; gap: 16px; }
  .review-card h2 { font-size: 18px; line-height: 1.4; }
  .review-card p { font-size: 16px; line-height: 1.65; }
  .review-card .link { min-height: 44px; padding: 0; font-size: 14px; }
  .kv { grid-template-columns: 100px minmax(0,1fr); gap: 16px; font-size: 16px; line-height: 1.65; }
  .pill { font-size: 13px; line-height: 1.5; white-space: nowrap; }
  .confirmation { margin-bottom: 28px; }
  .confirmation h1 { font-size: 30px; line-height: 1.3; }
  .menu-item { gap: 16px; padding: 22px 0; height: auto; }
  .menu-item b { font-size: 17px; line-height: 1.4; }
  .menu-item small { font-size: 15px; line-height: 1.6; }
  .menu-item > .icon:last-child { flex: 0 0 18px; }
  .menu-panel { padding: 0 22px; }
  .home-hero { padding: 20px 0 14px; }
  .hero-copy { max-width: 100%; }
  .hero-copy h1 { font-size: clamp(40px,7vw,60px); line-height: 1.12; max-width: 100%; }
  .hero-copy .lead { max-width: 560px; font-size: 17px; line-height: 1.65; }
  .hero-art { width: 65%; right: -15%; top: 0; height: 360px; opacity: .35; }
  .hero-actions { max-width: none; gap: 14px; }
  .benefits { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; max-width: none; margin: 26px 0; }
  .benefit { min-width: 0; font-size: 14px; line-height: 1.45; padding: 18px 8px; }
  .benefit .icon { width: 28px; height: 28px; margin-bottom: 10px; }
  .page-title { flex-wrap: wrap; align-items: flex-start; gap: 18px; }
  .page-title > div { flex: 1 1 360px; min-width: 0; }
  .page-title > .btn { flex: none; }
}

@media (max-width: 599px) {
  main { padding: 24px 20px 32px; }
  h1 { font-size: 28px; }
  .top .in { padding: 20px; gap: 12px; }
  .brand { gap: 9px; }
  .brand > svg { flex-basis: 34px; width: 34px; height: 34px; }
  .brand b { font-size: 14px; letter-spacing: .055em; }
  .brand small { font-size: 9px; letter-spacing: .08em; }
  .call { padding-inline: 13px; font-size: 13px; }
  .pfoot { padding-inline: 20px; }
  .nav-item { font-size: 12px; }
  .steps li { font-size: 13px; }
  .card { padding: 18px; }
  .item, .popular .item, .popular .item:last-child { grid-template-columns: 72px minmax(0,1fr) 14px; gap: 12px; padding: 13px; min-height: 110px; }
  .treatment-art, .popular .treatment-art, .popular .item:last-child .treatment-art { width: 72px; height: 80px; }
  .nm { font-size: 17px; line-height: 1.4; }
  .item-meta { column-gap: 12px; font-size: 13px; }
  .item-meta .icon { width: 17px; height: 17px; }
  .tag { font-size: 12px; }
  .filters { gap: 8px; }
  .filter { padding: 10px 14px; font-size: 13px; }
  .summary { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 10px 14px; padding: 16px; }
  .summary .treatment-art { display: block; width: 56px; height: 64px; }
  .summary .summary-copy { min-width: 0; }
  .summary b { font-size: 16px; }
  .summary .small { font-size: 13px; }
  .summary > .link, .summary > .pill { grid-column: 2; justify-self: start; }
  .summary > .link { padding: 4px 0; min-height: 36px; }
  .summary > .pill { max-width: 100%; }
  .calendar { gap: 4px; }
  .weekday { font-size: 12px; }
  .day { width: min(100%,42px); font-size: 15px; }
  .calendar-head h3 { font-size: 18px; }
  .calendar-legend { font-size: 12px; gap: 16px; }
  .times { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
  .times-title { font-size: 17px; line-height: 1.45; }
  .time { min-height: 50px; font-size: 15px; }
  .review-card { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 10px 12px; }
  .review-card > .icon { width: 44px; height: 44px; padding: 9px; }
  .review-card .treatment-art { width: 44px; height: 54px; }
  .review-card h2 { font-size: 17px; }
  .review-card p { font-size: 15px; }
  .review-card > .link { grid-column: 2; justify-self: start; min-height: 36px; }
  .kv { grid-template-columns: 76px minmax(0,1fr); gap: 14px 12px; font-size: 15px; }
  .row { flex-direction: column; gap: 12px; }
  .row .btn { flex: auto; width: 100%; }
  .confirmation h1 { font-size: 27px; }
  .hero-copy h1 { font-size: clamp(38px,10vw,54px); max-width: 100%; }
  .hero-copy .lead { width: 100%; max-width: none; font-size: 16px; }
  .hero-art { width: 100%; right: -35%; top: 0; height: 320px; opacity: .24; }
  .hero-actions { flex-direction: column; }
  .benefits { gap: 8px; }
  .benefit { font-size: 12px; padding: 15px 5px; }
  .benefit .icon { width: 25px; height: 25px; }
  .page-title { display: block; }
  .page-title > .btn { width: 100%; margin-top: 18px; }
  .menu-panel { padding: 0 18px; }
  .menu-item { gap: 12px; }
  .menu-item b { font-size: 16px; }
  .menu-item small { font-size: 14px; }
  .menu-item > .icon:first-child { width: 40px; height: 40px; padding: 8px; }
  .menu-item > .icon:last-child { width: 16px; flex-basis: 16px; }
}

@media (max-width: 359px) {
  main { padding-inline: 16px; }
  .top .in { padding-inline: 16px; gap: 10px; }
  .brand b { font-size: 13px; }
  .brand > svg { flex-basis: 30px; width: 30px; height: 30px; }
  .call { font-size: 12px; padding-inline: 11px; }
  .card { padding: 16px; }
  .nav-item { font-size: 11px; }
  .nav-item .icon { width: 24px; height: 24px; }
  .item, .popular .item, .popular .item:last-child { grid-template-columns: 54px minmax(0,1fr) 12px; gap: 10px; padding: 12px; }
  .treatment-art, .popular .treatment-art, .popular .item:last-child .treatment-art { width: 54px; height: 66px; }
  .nm { font-size: 16px; }
  .item-meta { column-gap: 10px; font-size: 12px; }
  .calendar { gap: 2px; }
  .weekday { font-size: 11px; }
  .benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .benefit { font-size: 14px; padding: 16px 8px; }
}
@media (max-width: 999px) {
  body[data-step]:not([data-step="home"]):not([data-step="closed"]):not([data-step="broken"]) .top { display: none; }
}

.treatment-full { display: none; }
@media (max-width: 999px) { .treatment-full { display: inline; } .treatment-short { display: none; } }
.treatment-intro { display: flex; align-items: center; gap: 20px; }
.treatment-intro > div { min-width: 0; }
.treatment-intro h2 { margin-bottom: 8px; }
.treatment-intro .treatment-art { width: 112px; height: 124px; object-fit: contain; }
@media(max-width:599px) { .treatment-intro { align-items: flex-start; gap: 14px; } .treatment-intro .treatment-art { width: 64px; height: 76px; } }
