/* Бильярд.ру — общий стиль сайта. Дизайн-система: projects/billiard-ru/design/design-system.md */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
ul{list-style:none}
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}

/* Кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--btn-h);padding:0 26px;border-radius:var(--radius);background:var(--accent);color:#fff;font-weight:600;font-size:16px;white-space:nowrap;transition:background .15s,color .15s,box-shadow .15s;cursor:pointer;border:0;font-family:inherit}
.btn:hover{background:var(--accent-hover)}
.btn:active{transform:translateY(1px)}
.btn--s{height:var(--btn-h-s);padding:0 18px;font-size:15px}
.btn--line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn--line:hover{background:var(--ink);color:#fff}
.btn svg{width:18px;height:18px;flex:none}

/* Шапка */
.header{position:sticky;top:0;z-index:20;background:rgba(250,250,247,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.header.is-scrolled{border-bottom-color:var(--line)}
.header__in{display:flex;align-items:center;gap:32px;height:76px}
.header__logo img{height:40px;width:auto}
.nav{display:flex;align-items:center;gap:26px;margin-right:auto;font-size:15px;color:var(--mut)}
.nav>li{position:relative}
.nav a,.nav button{display:inline-flex;align-items:center;gap:6px;padding:8px 0;color:inherit;background:none;border:0;font:inherit;cursor:pointer;transition:color .15s}
.nav a:hover,.nav button:hover,.nav li:focus-within>button{color:var(--ink)}
.nav button svg{width:12px;height:12px;transition:transform .15s}
.nav__sub{position:absolute;left:-16px;top:100%;width:max-content;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:8px;box-shadow:0 12px 30px rgba(28,27,26,.08);opacity:0;visibility:hidden;transform:translateY(4px);transition:.15s}
.nav li:hover>.nav__sub,.nav li:focus-within>.nav__sub{opacity:1;visibility:visible;transform:none}
.nav li:hover>button svg{transform:rotate(180deg)}
.nav__sub a{display:block;white-space:nowrap;padding:10px 12px;border-radius:8px;color:var(--ink)}
.nav__sub a:hover{background:var(--accent-soft)}
.header__tel{font-weight:600;font-size:15px;line-height:1.2;white-space:nowrap}
.header__tel:hover{color:var(--accent)}
.header__contact{display:flex;flex-direction:column;align-items:center;gap:2px;flex:none}
.header__callback{padding:0;border:0;background:transparent;color:var(--accent);font:inherit;font-size:14px;line-height:1.1;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px;white-space:nowrap;cursor:pointer}
.header__callback:hover{color:var(--ink)}
.header__callback:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.header__mobile-contact{display:none}
.burger{display:none}
.mnav{display:none}

/* Первый экран */
.hero{padding:36px 0 72px}
.hero__in{display:grid;grid-template-columns:5fr 6fr;gap:56px;align-items:center}
.hero h1{font-size:var(--h1);line-height:1.08;letter-spacing:-.02em;font-weight:700;max-width:560px}
.hero__lead{font-size:var(--lead);line-height:1.55;color:var(--mut);margin:22px 0 34px;max-width:470px}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.hero__photo{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:968/685;background:var(--accent-soft)}
.hero__photo img{width:100%;height:100%;object-fit:cover}
.hero__salons{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);font-size:15px;color:var(--mut)}
.hero__salons b{color:var(--ink);font-weight:600}

/* Разделы (второй экран) */
.dirs{padding:80px 0;border-top:1px solid var(--line)}
.dirs h2{font-size:var(--h2);line-height:1.2;letter-spacing:-.01em;font-weight:700;max-width:640px}
.dirs__lead{color:var(--mut);margin-top:10px;font-size:17px;max-width:560px}
.dirs__grid{display:grid;grid-template-columns:7fr 5fr;grid-template-rows:auto auto;gap:20px;margin-top:36px}
.tile{position:relative;display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid var(--line);transition:border-color .15s,box-shadow .2s}
.tile:hover{border-color:#cfcabf;box-shadow:0 10px 28px rgba(28,27,26,.07)}
.tile__img{overflow:hidden;background:var(--accent-soft)}
.tile__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tile:hover .tile__img img{transform:scale(1.03)}
.tile__body{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px 24px 24px}
.tile h3{font-size:22px;line-height:1.2;letter-spacing:-.01em;font-weight:700}
.tile p{color:var(--mut);font-size:15px;margin-top:6px;max-width:440px}
.tile__arr{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);transition:background .15s,color .15s}
.tile:hover .tile__arr{background:var(--accent);color:#fff}
.tile__arr svg{width:18px;height:18px}
.tile--main{grid-row:span 2}
.tile--main .tile__img{flex:1;min-height:420px}
.tile--main h3{font-size:22px}
.tile--wide .tile__img{aspect-ratio:16/9}
.tile--dark{background:var(--dark);border-color:var(--dark);color:var(--dark-ink)}
.tile--dark p{color:var(--dark-mut)}
.tile--dark .tile__arr{background:rgba(243,241,236,.1);color:var(--dark-ink)}
.tile--dark:hover .tile__arr{background:var(--dark-ink);color:var(--dark)}
.dirs__pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.dirs__pair .tile__img{aspect-ratio:4/3}
.dirs__pair .tile__body{padding:18px 20px 20px}
.dirs__pair h3{font-size:20px}
.dirs__pair .tile__arr{width:38px;height:38px}

/* Подвал */
.footer{background:var(--dark);color:var(--dark-ink);padding:64px 0 32px;margin-top:0}
.footer__top{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr;gap:40px}
.footer__logo img{height:40px;width:auto}
.footer__about{color:var(--dark-mut);font-size:15px;margin-top:18px;max-width:280px}
.footer h4{font-size:13px;font-weight:600;color:var(--dark-mut);margin-bottom:14px}
.footer li+li{margin-top:9px}
.footer a{transition:color .15s}
.footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.footer__salon+.footer__salon{margin-top:16px}
.footer__salon b{display:block;font-weight:600}
.footer__salon span{color:var(--dark-mut);font-size:15px}
.footer__tel{display:block;font-size:20px;font-weight:600}
.footer__small{color:var(--dark-mut);font-size:14px}
.footer__shop{display:inline-flex;margin-top:18px;height:44px;align-items:center;padding:0 16px;border-radius:var(--radius);box-shadow:inset 0 0 0 1px rgba(243,241,236,.25);font-size:15px}
.footer__shop:hover{box-shadow:inset 0 0 0 1px var(--dark-ink);text-decoration:none!important}
.footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:56px;padding-top:24px;border-top:1px solid rgba(243,241,236,.12);color:var(--dark-mut);font-size:14px}

@media (max-width:1100px){
  .nav{gap:18px;font-size:14px}
  .header__in{gap:20px}
  .header__tel{display:none}
}
@media (max-width:860px){
  .wrap{padding:0 var(--gutter-m)}
  .header__in{height:64px;gap:12px}
  .header__logo img{height:35px}
  .header__in>.nav,.header__route{display:none}
  .header__call{margin-left:auto}
  .burger{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius);background:none;border:1px solid var(--line);cursor:pointer}
  .burger svg{width:20px;height:20px}
  .mnav{position:fixed;inset:64px 0 0;background:var(--bg);padding:16px var(--gutter-m) 32px;overflow:auto}
  .mnav.is-open{display:block}
  .mnav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:18px;font-weight:500}
  .mnav .mnav__sub{padding-left:0;font-size:18px;font-weight:500;color:inherit}
  .mnav .btn{margin-top:20px;width:100%}
  .hero{padding:12px 0 48px}
  .hero__in{grid-template-columns:1fr;gap:24px}
  .hero__photo{order:-1;aspect-ratio:4/3}
  .hero h1{font-size:var(--h1-m)}
  .hero__lead{font-size:var(--lead-m);margin:14px 0 22px}
  .hero__cta .btn{flex:1 1 100%}
  .hero__salons{flex-direction:column;gap:4px}
  .dirs{padding:48px 0}
  .dirs__grid{grid-template-columns:1fr;margin-top:24px;gap:14px}
  .tile--main{grid-row:auto}
  .tile--main .tile__img{min-height:0;aspect-ratio:4/3}
  .tile--main h3{font-size:22px}
  .dirs__pair{grid-template-columns:1fr;gap:14px}
  .footer{padding:48px 0 28px}
  .footer__top{grid-template-columns:1fr;gap:32px}
  .footer__bottom{flex-direction:column;margin-top:36px}
}
@media (min-width:861px){.header__call{display:none}}
@media (min-width:861px) and (max-width:1100px){.header__contact .header__tel{display:block}.header__rate{display:none}}
@media (max-width:860px){
  .header__contact{display:none}
  .header__in{height:78px}
  .header__mobile-contact{display:flex;flex-direction:column;align-items:center;gap:3px;margin-left:auto}
  .header__mobile-contact .header__call{margin-left:0;min-height:36px;height:36px}
  .header__mobile-contact .header__callback{font-size:12px;padding:2px 0}
  .mnav{top:78px}
}

/* правки после просмотра */
.dirs__grid{grid-template-columns:1fr 1fr}
.dirs__pair .tile__body{display:block;padding:18px 20px 20px}
.dirs__pair .tile__arr{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.92)}
.dirs__pair .tile:hover .tile__arr{background:var(--accent)}
.footer__small{display:block}
@media (max-width:860px){.dirs__grid{grid-template-columns:1fr}}
.dirs__pair .tile__arr{box-shadow:0 0 0 1px var(--line),0 2px 8px rgba(28,27,26,.08)}
@media (max-width:860px){.header{backdrop-filter:none;background:var(--bg)}}
.mnav a.btn{display:flex;justify-content:center;padding:0 26px;border-bottom:0;font-size:16px;font-weight:600}

/* ===== Экраны 3–8 главной ===== */
.salon,.works,.turnkey,.salons{padding:88px 0}
.salon h2,.works h2,.turnkey h2,.trust h2,.salons h2{font-size:var(--h2);line-height:1.2;letter-spacing:-.01em;font-weight:700}
blockquote{margin:0}
cite{display:block;font-style:normal;font-size:14px;color:var(--mut);margin-top:8px}

/* Зачем приезжать в салон */
.salon{border-top:1px solid var(--line)}
.salon__in{display:grid;grid-template-columns:5fr 6fr;gap:64px;align-items:center}
.salon__photo{border-radius:var(--radius);overflow:hidden;aspect-ratio:1/1;background:#fff}
.salon__photo img{width:100%;height:100%;object-fit:cover}
.salon__list{margin:28px 0 28px;border-top:1px solid var(--line)}
.salon__list li{padding:20px 0;border-bottom:1px solid var(--line)}
.salon__list h3{font-size:20px;font-weight:600;letter-spacing:-.01em}
.salon__list p{color:var(--mut);margin-top:6px;max-width:520px}
.salon__quote{font-size:17px;line-height:1.5;margin-bottom:28px;padding-left:18px;border-left:3px solid var(--accent)}

/* Наши работы */
.works{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.works__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.works__all{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--accent);white-space:nowrap}
.works__all svg{width:18px;height:18px;transition:transform .15s}
.works__all:hover svg{transform:translateX(4px)}
.works__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:12px}
.w{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--accent-soft)}
.w img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.w:hover img{transform:scale(1.03)}
.w--big{grid-column:span 2;grid-row:span 2}
.w--wide{grid-column:span 2}

/* Под ключ */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:40px;counter-reset:s}
.steps li{position:relative;padding:0 28px 0 0}
.steps li:before{content:"";position:absolute;left:44px;right:12px;top:22px;height:1px;background:var(--line)}
.steps li:last-child:before{display:none}
.steps__n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;position:relative}
.steps h3{font-size:20px;font-weight:600;margin-top:20px;letter-spacing:-.01em}
.steps p{color:var(--mut);margin-top:8px;max-width:250px}
.turnkey__quote{margin-top:44px;font-size:17px;padding-left:18px;border-left:3px solid var(--accent)}

/* Доверие */
.trust{background:var(--dark);color:var(--dark-ink);padding:88px 0;position:relative;overflow:hidden}
.trust:after{content:"";position:absolute;right:-80px;top:-40px;width:420px;height:370px;background:url(logo/mark-white.svg) no-repeat center/contain;opacity:.05;pointer-events:none}
.trust__in{display:grid;grid-template-columns:4fr 7fr;gap:64px;align-items:start;position:relative;z-index:1}
.trust__year{font-size:96px;line-height:1;font-weight:700;letter-spacing:-.04em;color:var(--dark-ink)}
.trust h2{margin-top:18px;max-width:360px}
.trust__rating{margin-top:22px;color:var(--dark-mut)}
.trust__rating b{color:var(--dark-ink);font-size:20px}
.trust__reviews{display:grid;gap:16px}
.trust__reviews blockquote{background:rgba(243,241,236,.06);border:1px solid rgba(243,241,236,.1);border-radius:var(--radius);padding:24px 26px}
.trust__reviews p{font-size:17px;line-height:1.55}
.trust__reviews cite{color:var(--dark-mut)}

/* Салоны */
.salons__lead{color:var(--mut);margin-top:10px;font-size:17px}
.salons__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
.sc{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.sc__map{display:block;width:100%;height:280px;border:0;background:var(--accent-soft)}
.sc__body{padding:24px}
.sc h3{font-size:22px;font-weight:600;letter-spacing:-.01em}
.sc p{color:var(--mut);margin-top:6px}
.sc__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

/* Ссылка на магазин */
.shop{border-top:1px solid var(--line)}
.shop__in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:32px;padding-bottom:32px}
.shop p{font-size:17px}

@media (max-width:860px){
  .salon,.works,.turnkey,.salons,.trust{padding:56px 0}
  .salon__in,.trust__in,.salons__grid{grid-template-columns:1fr;gap:28px}
  .salon__photo{aspect-ratio:4/3}
  .salon .btn,.sc__cta .btn{width:100%}
  .works__head{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:22px}
  .works__grid{grid-template-columns:1fr 1fr;grid-auto-rows:130px;gap:8px}
  .w--wide{grid-column:span 2}
  .steps{grid-template-columns:1fr;gap:24px;margin-top:28px}
  .steps li{display:grid;grid-template-columns:44px 1fr;column-gap:16px;padding:0}
  .steps li:before{left:22px;right:auto;top:44px;bottom:-24px;width:1px;height:auto}
  .steps h3{margin-top:9px}
  .steps p{grid-column:2;margin-top:4px}
  .trust__year{font-size:64px}
  .sc__map{height:220px}
  .shop__in{flex-direction:column;align-items:flex-start}
  .shop .btn{width:100%}
}

/* ===== Внутренние страницы ===== */
.nav a[aria-current],.nav__sub a[aria-current]{color:var(--ink)}
.nav__sub a[aria-current]{background:var(--accent-soft)}
.crumbs{display:flex;gap:8px;padding-top:20px;font-size:14px;color:var(--mut)}
.crumbs a:hover{color:var(--ink)}
.phero{padding:20px 0 72px}
.phero__in{display:grid;grid-template-columns:6fr 5fr;gap:56px;align-items:center}
.phero h1{font-size:var(--h1);line-height:1.08;letter-spacing:-.02em;font-weight:700}
.models,.why,.room,.faq{padding:88px 0;border-top:1px solid var(--line)}
.models h2,.why h2,.room h2,.faq h2,.visit h2,.custom h2{font-size:var(--h2);line-height:1.2;letter-spacing:-.01em;font-weight:700}
.hidden,[hidden]{display:none!important}

/* Модели */
.filters{display:flex;flex-wrap:wrap;gap:14px 40px;margin:28px 0 28px}
.filters__row{display:flex;align-items:center;gap:14px}
.filters__label{font-size:14px;color:var(--mut);min-width:56px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font:inherit;font-size:15px;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s,color .15s;white-space:nowrap}
.chip:hover{border-color:var(--ink)}
.chip.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.models__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.mc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.mc__img{position:relative;aspect-ratio:3/2;background:#f5f2ea}
.mc__img img{width:100%;height:100%;object-fit:cover}
.mc__badge{position:absolute;left:12px;top:12px;padding:5px 10px;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:600}
.mc__body{padding:18px 20px 20px}
.mc h3{font-size:20px;font-weight:600;letter-spacing:-.01em}
.mc__price{font-size:18px;font-weight:700;margin-top:4px;color:var(--accent)}
.mc__spec{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:5px;font-size:14px}
.mc__spec div{display:flex;gap:8px}
.mc__spec dt{color:var(--mut);min-width:62px}
.models__empty{padding:32px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--mut);text-align:center}
.models__note{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:22px 24px;border-radius:var(--radius);background:var(--accent-soft)}
.models__note p{max-width:640px}

/* Почему разная цена */
.why{background:#fff}
.why__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.why__grid article{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}
.why__n{font-size:14px;font-weight:600;color:var(--accent)}
.why h3{font-size:20px;font-weight:600;margin-top:14px;letter-spacing:-.01em}
.why__grid p{color:var(--mut);margin-top:10px}
.why__more{margin-top:28px;font-size:17px;padding-left:18px;border-left:3px solid var(--accent)}

/* Размер комнаты */
.room__in{display:grid;grid-template-columns:4fr 7fr;gap:56px;align-items:start}
.room__lead{color:var(--mut);margin-top:14px;font-size:17px;max-width:420px}
.room .btn{margin-top:28px}
.tbl{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow-x:auto}
.tbl table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:16px}
.tbl th{text-align:left;font-size:13px;font-weight:600;color:var(--mut);padding:16px 20px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:16px 20px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl tbody tr:last-child td{border-bottom:0}
.tbl td:last-child,.tbl th:last-child{text-align:right}
.tbl__note{padding:14px 20px;border-top:1px solid var(--line);font-size:14px;color:var(--mut);background:var(--bg)}
.turnkey{border-top:1px solid var(--line)}

/* Приезжайте */
.visit{background:var(--accent);color:#fff;padding:64px 0}
.visit__in{display:flex;align-items:center;justify-content:space-between;gap:40px}
.visit p{margin-top:10px;font-size:17px;opacity:.85;max-width:560px}
.visit__cta{display:flex;gap:12px;flex:none}
.btn--light{background:#fff;color:var(--accent)}
.btn--light:hover{background:var(--accent-soft);color:var(--accent-hover)}
.btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6)}
.btn--ghost:hover{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1.5px #fff}

/* Переход к заказу */
.custom{padding:88px 0 0}
.custom__card{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--radius);overflow:hidden;background:var(--dark);color:var(--dark-ink)}
.custom__img{aspect-ratio:16/10;overflow:hidden}
.custom__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.custom__card:hover .custom__img img{transform:scale(1.03)}
.custom__body{padding:48px;display:flex;flex-direction:column;justify-content:center}
.custom__body p{color:var(--dark-mut);margin-top:12px;font-size:17px;max-width:420px}
.custom__link{display:inline-flex;align-items:center;gap:8px;margin-top:28px;font-weight:600}
.custom__link svg{width:18px;height:18px;transition:transform .15s}
.custom__card:hover .custom__link svg{transform:translateX(4px)}

/* FAQ */
.faq{margin-top:88px}
.faq__in{display:grid;grid-template-columns:4fr 7fr;gap:56px;align-items:start}
.faq__list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:18px;font-weight:600;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-weight:400;font-size:24px;line-height:1;color:var(--accent);transition:transform .2s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq summary:hover{color:var(--accent)}
.faq details p{color:var(--mut);padding:0 40px 22px 0;max-width:680px}
.faq details a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}

@media (max-width:1100px){.models__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){
  .crumbs{padding-top:14px;font-size:13px}
  .phero{padding:12px 0 48px}
  .phero__in{grid-template-columns:1fr;gap:20px}
  .phero h1{font-size:var(--h1-m)}
  .phero .hero__photo{order:-1;aspect-ratio:16/10}
  .models,.why,.room,.faq{padding:56px 0}
  .filters{flex-direction:column;gap:12px;margin:20px 0}
  .filters__row{flex-direction:column;align-items:flex-start;gap:8px}
  .chips{flex-wrap:nowrap;overflow-x:auto;width:calc(100% + 2*var(--gutter-m));margin:0 calc(-1*var(--gutter-m));padding:0 var(--gutter-m);scrollbar-width:none}
  .chips::-webkit-scrollbar{display:none}
  .models__grid{grid-template-columns:1fr 1fr;gap:10px}
  .mc__body{padding:12px 12px 14px}
  .mc h3{font-size:16px}
  .mc__price{font-size:15px}
  .mc__spec{font-size:13px;margin-top:10px;padding-top:10px}
  .mc__spec div{flex-direction:column;gap:0}
  .mc__badge{left:8px;top:8px;font-size:11px;padding:3px 8px}
  .models__note{flex-direction:column;align-items:stretch;padding:18px}
  .why__grid{grid-template-columns:1fr;gap:12px;margin-top:24px}
  .why__grid article{padding:22px}
  .room__in,.faq__in{grid-template-columns:1fr;gap:24px}
  .room .btn{width:100%}
  .tbl table{font-size:14px}
  .tbl th,.tbl td{padding:12px 14px}
  .visit{padding:48px 0}
  .visit__in{flex-direction:column;align-items:stretch;gap:24px}
  .visit__cta{flex-direction:column}
  .custom{padding:56px 0 0}
  .custom__card{grid-template-columns:1fr}
  .custom__body{padding:24px}
  .faq{margin-top:56px}
  .faq summary{font-size:16px;padding:16px 0}
}
@media (max-width:860px){
  .filters,.filters__row{max-width:100%;min-width:0}
  .chips{min-width:0;max-width:none}
  .filters__row{width:100%}
  .chips{width:calc(100% + 2*var(--gutter-m))}
  .tbl th:nth-child(2),.tbl td:nth-child(2){display:none}
  .tbl th{white-space:normal}
}

/* Каталог: бюджет → крупные фотографии → запрос конкретной цены. */
.models [hidden]{display:none!important}
.models__heading{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-bottom:32px}
.models__heading h2{max-width:580px;font-size:36px}
.models__heading>p{max-width:350px;color:var(--mut);font-size:16px;line-height:1.5}
.budget-tabs{display:flex;border-bottom:1px solid var(--line);gap:28px;overflow-x:auto;scrollbar-width:thin}
.budget-tab{flex-shrink:0;background:transparent;border:0;border-bottom:3px solid transparent;padding:18px 0;font:inherit;font-size:18px;font-weight:500;color:var(--mut);cursor:pointer;white-space:nowrap}
.budget-tab:hover{color:var(--accent);border-bottom-color:var(--focus)}
.budget-tab.is-on{color:var(--accent);border-bottom-color:var(--accent)}
.budget-tab:active{transform:translateY(1px)}
.budget-tab:focus-visible,.size-select select:focus-visible,.mc__enquiry:focus-visible,.own-collection__mail:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.models__toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:24px 0;color:var(--mut);font-size:14px;min-height:44px}
.size-select{display:flex;gap:12px;align-items:center}
.size-select select{font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}
.models__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.mc{border:0;border-radius:0;background:transparent}
.mc__img{border-radius:12px;overflow:hidden;aspect-ratio:3/2;background:#fff}
.mc__img img{object-fit:contain}
.mc__body{padding:20px 0 0;display:flex;flex-direction:column;flex:1}
.mc h3{font-size:24px}
.mc__price{font-size:15px;font-weight:400;color:var(--mut);margin-top:6px}
.mc__spec{margin:18px 0;line-height:1.6}
.mc__spec div{flex-direction:row;gap:8px}
.mc__badge{border-radius:8px}
.mc__actions{margin-top:auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.mc__actions .btn{height:44px;padding:0 18px;font-size:14px}
.mc__enquiry,.own-collection__mail{font-size:14px;color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.mc__enquiry:hover,.own-collection__mail:hover{text-decoration-thickness:2px}
.own-collection{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:center}
.own-collection__intro{padding:20px 36px 20px 0;align-self:center}
.own-collection__intro h3{font-size:32px;line-height:1.2;max-width:390px}
.own-collection__intro p{margin:20px 0 28px;font-size:17px;line-height:1.6;color:var(--mut)}
.own-collection__mail{display:block;margin-top:20px}
.own-collection figure{margin:0;min-width:0}
.own-collection img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;border-radius:12px}
.own-collection figcaption{margin-top:10px;font-size:14px;color:var(--mut)}
@media(max-width:1100px){.models__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-tabs{gap:24px}.budget-tab{font-size:16px}}
@media(max-width:600px){
 .models__heading{display:block;margin-bottom:20px}.models__heading h2{font-size:28px}.models__heading>p{margin-top:16px}
 .budget-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;overflow:visible}.budget-tab{text-align:left;padding:14px 0;font-size:15px}.budget-tab:last-child{grid-column:1/-1}
 .models__toolbar{gap:10px;flex-wrap:wrap}.size-select{gap:8px}
 .models__grid{grid-template-columns:1fr;gap:36px}.mc__body{padding-top:18px}.mc h3{font-size:24px}.mc__spec{font-size:15px}.mc__spec dt{min-width:65px}
 .own-collection{grid-template-columns:1fr;gap:28px}.own-collection__intro{padding:0}.own-collection__intro h3{font-size:28px}
}

/* Запрос цены */
body.has-price-dialog{overflow:hidden}
.price-dialog{position:fixed;inset:0;margin:auto;width:calc(100% - 32px);max-width:520px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:36px;border:0;border-radius:12px;background:var(--bg);color:var(--ink);font:inherit;box-shadow:0 24px 80px #0003}
.price-dialog::backdrop{background:rgba(28,27,26,.6)}
.price-dialog__close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--mut);font-size:30px;cursor:pointer}
.price-dialog__close:hover{background:var(--accent-soft);color:var(--ink)}
.price-dialog__close:active{transform:translateY(1px)}
.price-dialog h2{font-size:30px;line-height:1.2;padding-right:32px}
.price-dialog__model{margin:8px 0 20px;font-size:16px;color:var(--mut)}
#price-description{font-size:16px;max-width:360px}
.price-dialog__phone{display:inline-block;font-size:27px;font-weight:600;color:var(--accent);margin-top:10px;white-space:nowrap}
.price-dialog__phone:hover{text-decoration:underline;text-underline-offset:5px}
.price-dialog__divider{padding-top:22px;margin:22px 0 18px;border-top:1px solid var(--line);font-size:16px}
.price-field{display:block;margin-top:14px;font-size:14px;font-weight:500}
.price-field input{display:block;width:100%;height:50px;margin-top:6px;padding:12px 14px;border:1px solid #aaa79f;border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
.price-field input:hover{border-color:var(--accent)}
.price-field input:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--accent)}
.price-dialog__hint{display:block;font-size:12px;color:var(--mut);margin-top:6px}
.price-consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0;font-size:12px;color:var(--mut);line-height:1.5}
.price-consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent);margin-top:1px}
.price-consent a{text-decoration:underline;text-underline-offset:3px}
.price-dialog__submit{width:100%}.price-dialog__submit:disabled{opacity:.6;cursor:wait}
.price-dialog__status{padding:16px;margin-top:18px;background:var(--accent-soft);border-radius:12px;font-size:15px}
.price-dialog__status[hidden]{display:none}.price-dialog__status.is-error{background:#f9ebe7;color:#8b3425}
.price-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.own-collection__request{display:block;margin-top:16px}
@media(max-width:600px){.price-dialog{padding:28px 22px;max-height:calc(100dvh - 24px);width:calc(100% - 24px)}.price-dialog h2{font-size:26px}.price-dialog__phone{font-size:25px}}
.hero__photo--product{background:#fff;border:1px solid var(--line)}
.hero__photo--product img{object-fit:contain}

/* ===== Столы на заказ ===== */
.pfolio,.make,.mat{padding:88px 0;border-top:1px solid var(--line)}
.pfolio h2,.make h2,.mat h2{font-size:var(--h2);line-height:1.2;letter-spacing:-.01em;font-weight:700}
.pf__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.pf{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;background:var(--accent-soft);aspect-ratio:4/3}
.pf--big{grid-column:span 2;grid-row:span 2}
.pf img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.pf:hover img{transform:scale(1.03)}
.pf figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;font-size:14px;line-height:1.35;color:#fff;background:linear-gradient(to top,rgba(28,27,26,.75),rgba(28,27,26,0));opacity:0;transition:opacity .2s}
.pf:hover figcaption,.pf:focus-within figcaption{opacity:1}
.make{background:#fff}
.make__lead{color:var(--mut);margin-top:10px;font-size:17px;max-width:640px}
.make__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.mk__img{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--accent-soft)}
.mk__img img{width:100%;height:100%;object-fit:cover}
.mk h3{font-size:20px;font-weight:600;margin-top:16px;letter-spacing:-.01em}
.mk p{color:var(--mut);margin-top:6px}
.steps--6{grid-template-columns:repeat(3,1fr);row-gap:44px}
.steps--6 li:nth-child(3):before{display:none}
.mat__in{display:grid;grid-template-columns:5fr 6fr;gap:64px;align-items:center}
.mat__list{margin-top:24px;border-top:1px solid var(--line)}
.mat__list li{padding:20px 0;border-bottom:1px solid var(--line)}
.mat__list h3{font-size:20px;font-weight:600;letter-spacing:-.01em}
.mat__list p{color:var(--mut);margin-top:6px;max-width:520px}
.mat__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mat__grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius)}
@media (max-width:860px){
  .pfolio,.make,.mat{padding:56px 0}
  .pf__grid{grid-template-columns:1fr 1fr;gap:8px}
  .pf--big{grid-column:span 2;grid-row:auto}
  .pf figcaption{opacity:1;font-size:12px;padding:20px 10px 8px}
  .make__grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
  .mk h3{font-size:17px;margin-top:10px}
  .mk p{font-size:14px}
  .steps--6{grid-template-columns:1fr;row-gap:24px}
  .steps--6 li:nth-child(3):before{display:block}
  .mat__in{grid-template-columns:1fr;gap:28px}
  .mat__grid{gap:8px}
}
.mat__in{grid-template-columns:7fr 5fr}
@media (max-width:860px){.mat__in{grid-template-columns:1fr}}
.mat__grid img{height:auto}

/* ===== Подбор стола под комнату ===== */
.calc-hero__note{color:var(--mut);font-size:15px;margin-top:-14px;max-width:470px}
.calc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 12px 30px rgba(28,27,26,.06)}
.calc__fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.calc__field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}
.calc__field input{height:56px;padding:0 16px;border:1.5px solid var(--line);border-radius:var(--radius);font:inherit;font-size:20px;font-weight:600;color:var(--ink);background:var(--bg);transition:border-color .15s}
.calc__field input:hover{border-color:#cfcabf}
.calc__field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus)}
.calc__field input::placeholder{font-weight:400;font-size:16px;color:#a3a09a}
.calc__error{margin-top:12px;color:#a33a2b;font-size:14px}
.calc__result{margin-top:22px;border-top:1px solid var(--line)}
.calc__row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--line)}
.calc__row span{color:var(--mut)}
.calc__row b{font-size:24px;letter-spacing:-.01em;text-align:right}
.calc__row a{grid-column:1/-1;justify-self:start;font-size:14px;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.calc__row a:hover{color:var(--accent-hover)}
.calc__hint{margin-top:14px;font-size:14px;color:var(--mut)}
.calc__send{width:100%;margin-top:20px}
.room__lead--wide{max-width:680px;margin-bottom:28px}
.room .tbl--full th,.room .tbl--full td{text-align:left}
@media (max-width:860px){
  .calc-hero__note{margin-top:-8px;font-size:14px}
  .calc{padding:20px}
  .calc__fields{gap:10px}
  .calc__field input{height:52px;font-size:18px}
  .calc__row b{font-size:20px}
  .tbl--full th:nth-child(2),.tbl--full td:nth-child(2){display:table-cell}
  .tbl--full table{min-width:520px}
}
.nw{white-space:nowrap}
.phero__in>*{min-width:0}
.calc__field{min-width:0}
.calc__field input{width:100%;min-width:0}

/* ===== Кии ===== */
.kinds,.svc{padding:88px 0;border-top:1px solid var(--line)}
.kinds{background:#fff}
.kinds h2,.svc h2{font-size:var(--h2);line-height:1.2;letter-spacing:-.01em;font-weight:700}
.kinds__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.kd{border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;background:var(--bg)}
.kd h3{font-size:20px;font-weight:600;letter-spacing:-.01em}
.kd p{color:var(--mut);margin-top:6px}
.svc__in{display:grid;grid-template-columns:5fr 6fr;gap:64px;align-items:start}
.svc__quote{margin-top:28px}
.svc__list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;border-top:1px solid var(--line)}
.svc__list li{padding:20px 0;border-bottom:1px solid var(--line)}
.svc__list h3{font-size:18px;font-weight:600;letter-spacing:-.01em}
.svc__list p{color:var(--mut);margin-top:6px}
@media (max-width:860px){
  .kinds,.svc{padding:56px 0}
  .kinds__grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}
  .kd{padding:16px}
  .kd h3{font-size:17px}
  .kd p{font-size:14px}
  .svc__in{grid-template-columns:1fr;gap:24px}
  .svc__list{grid-template-columns:1fr}
}

/* ===== Салоны ===== */
.hours{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:8px 28px;box-shadow:0 12px 30px rgba(28,27,26,.06)}
.hours>div{padding:18px 0;border-bottom:1px solid var(--line)}
.hours>div:last-child{border-bottom:0}
.hours dt{font-size:14px;color:var(--mut)}
.hours dd{margin:4px 0 0;font-size:18px;font-weight:600;line-height:1.45}
.hours a:hover{color:var(--accent)}
.sc__tel{font-weight:600;color:var(--ink)}
.sc__tel:hover{color:var(--accent)}
.sc__note{margin-top:10px;font-size:15px;color:var(--mut);max-width:520px}
#karta{border-top:1px solid var(--line)}
@media (max-width:860px){.hours{padding:4px 20px}.hours>div{padding:14px 0}.hours dd{font-size:17px}}
.trust__reviews--scroll{max-height:520px;overflow-y:scroll;padding:0 14px 40px 0;scrollbar-width:auto;scrollbar-color:#bdb9b0 rgba(243,241,236,.14);}
.trust__reviews--scroll::after{content:"";display:block;position:sticky;bottom:-40px;height:112px;margin-top:-72px;background:linear-gradient(rgba(28,27,26,0),var(--dark) 52%);pointer-events:none}
.trust__reviews--scroll::-webkit-scrollbar{width:12px}
.trust__reviews--scroll::-webkit-scrollbar-track{background:rgba(243,241,236,.14);border-radius:8px}
.trust__reviews--scroll::-webkit-scrollbar-thumb{background:#bdb9b0;border-radius:8px;border:2px solid transparent;background-clip:padding-box;min-height:56px}
.trust__reviews--scroll::-webkit-scrollbar-thumb:hover{background:#f3f1ec;background-clip:padding-box}
.trust__reviews--scroll:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* Галерея работ на странице «На заказ» */
.gal{padding:72px 0 80px}
.gal__feat{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gal__feat .gal__i:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.gal__i{position:relative;display:block;margin:0;border-radius:var(--radius);overflow:hidden;background:var(--accent-soft);aspect-ratio:4/3;cursor:zoom-in}
.gal__i[hidden]{display:none}
.gal__a{display:block;width:100%;height:100%;cursor:zoom-in}
.gal__a:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.gal__i img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gal__a:hover img{transform:scale(1.03)}
.gal__num{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);padding:3.75px 10.5px;border-radius:999px;background:none;color:#fff;font-size:10.5px;font-weight:600;line-height:1.2;letter-spacing:.01em;white-space:nowrap;pointer-events:none;text-shadow:0 0 2px rgba(0,0,0,.9),0 0 5px rgba(0,0,0,.7),0 1px 3px rgba(0,0,0,.8)}
.gal__fav{position:absolute;top:8px;right:8px;display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;transition:transform .15s}
.gal.is-js .gal__fav{display:flex}
.gal__fav svg{position:relative;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;transition:fill .15s,stroke .15s;filter:drop-shadow(0 0 1.5px rgba(0,0,0,.9)) drop-shadow(0 0 4px rgba(0,0,0,.6))}
.gal__fav:hover{transform:scale(1.06)}
.gal__fav:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.gal__fav[aria-pressed="true"]{color:#c8362d}
.gal__fav[aria-pressed="true"] svg{fill:#c8362d;stroke:#c8362d}
.gal__tabn{color:var(--mut);font-weight:400}
.gal__intro{margin:12px 0 0;max-width:720px;color:var(--mut);font-size:17px}
.gal__intro+.gal__tabs{margin-top:32px}
.gal__tab.gal__tab--fav{display:inline-flex;align-items:center;gap:8px;margin:8px 0 8px auto;padding:0 20px;height:44px;border:1.5px solid var(--accent);border-radius:999px;color:var(--accent);font-weight:600;font-size:16px;transition:background .15s,color .15s}
.gal__tab.gal__tab--fav:hover,.gal__tab.gal__tab--fav.is-on{background:var(--accent);color:#fff;border-color:var(--accent)}
.gal__tab--fav.has-favs{background:var(--accent-soft)}
.gal__tab--fav.has-favs:hover,.gal__tab--fav.has-favs.is-on{background:var(--accent)}
.gal__tab--fav.is-pulse{animation:favpulse .5s ease}
@keyframes favpulse{40%{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.gal__tab--fav.is-pulse{animation:none}}
.gal__tab--fav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;flex:none}
.gal__tab--fav.has-favs svg{fill:#c8362d;stroke:#c8362d}
.gal__tab--fav .gal__tabn{color:inherit;font-weight:600}
.gal__empty{padding:32px 0;color:var(--mut);font-size:17px;max-width:560px}
.gal__empty[hidden]{display:none}
.lightbox__fav{display:flex;top:20px;left:20px;right:auto;color:#fff}
.lightbox__fav::before{background:rgba(255,255,255,.12);box-shadow:none}
.lightbox__fav:hover::before{background:rgba(255,255,255,.24)}
.lightbox__fav[aria-pressed="true"]{color:#ff6b61}.lightbox__fav[aria-pressed="true"] svg{fill:#ff6b61;stroke:#ff6b61}
.fav-send{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:20px 24px;border-radius:var(--radius);background:var(--accent-soft)}
.fav-send[hidden]{display:none}
.fav-send__text{margin:0;font-size:17px}
.gal__tabs{display:flex;gap:28px;margin:56px 0 24px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}
.gal__tab{flex-shrink:0;background:transparent;border:0;border-bottom:3px solid transparent;padding:16px 0;font:inherit;font-size:18px;font-weight:500;color:var(--mut);cursor:pointer;white-space:nowrap}
.gal__tab:hover{color:var(--accent);border-bottom-color:var(--focus)}
.gal__tab.is-on{color:var(--accent);border-bottom-color:var(--accent)}
.gal__tab:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
.gal__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gal__more{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:32px}
.gal__count{margin:0;color:var(--mut);font-size:15px}
.gal__count:empty{display:none}
body.has-lightbox{overflow:hidden}
.lightbox{position:fixed;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;padding:0;border:0;background:rgba(20,19,18,.94);color:#fff}
.lightbox::backdrop{background:#000}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox__img{max-width:calc(100% - 160px);max-height:calc(100dvh - 96px);object-fit:contain;border-radius:8px}
.lightbox__close,.lightbox__nav{position:absolute;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-size:32px;line-height:1;cursor:pointer;transition:background .15s}
.lightbox__close:hover,.lightbox__nav:hover{background:rgba(255,255,255,.24)}
.lightbox__close:focus-visible,.lightbox__nav:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.lightbox__close{top:20px;right:20px}
.lightbox__nav{top:50%;transform:translateY(-50%)}
.lightbox__nav--prev{left:24px}.lightbox__nav--next{right:24px}
.lightbox__count{position:absolute;left:0;right:0;bottom:20px;margin:0;text-align:center;font-size:15px;color:var(--dark-mut)}
@media(max-width:1100px){.gal__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){
  .gal{padding:48px 0 56px}
  .gal__feat{grid-template-columns:repeat(2,1fr);gap:8px}
  .gal__feat .gal__i:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:4/3}
  .gal__tabs{flex-wrap:wrap;gap:0 22px;margin:28px 0 18px;overflow:visible;border-bottom:0}.gal__tab{font-size:16px;padding:12px 0}
  .gal__tab.gal__tab--fav{flex:1 0 100%;justify-content:center;margin:10px 0 0;padding:0 20px}
  .gal__grid{gap:8px}
  .lightbox__img{max-width:100%;max-height:calc(100dvh - 140px)}
  .lightbox__nav{top:auto;bottom:16px;transform:none;width:48px;height:48px}.lightbox__nav--prev{left:16px}.lightbox__nav--next{right:16px}
  .lightbox__close{top:12px;right:12px}
  .lightbox__fav{top:12px;left:12px}
  .fav-send{flex-direction:column;align-items:stretch;gap:14px;padding:16px}
  .fav-send .btn{width:100%}
  .gal__num{bottom:8px;font-size:9.75px;padding:3px 9px}
}
.hero__photo--wide{aspect-ratio:9/5}
@media(max-width:860px){.hero__photo--wide,.phero .hero__photo--wide{aspect-ratio:9/5}}

.own-collection__cta{display:flex;flex-wrap:wrap;gap:12px}
.own-collection__cta .btn{margin:0}
.own-collection__request{display:inline-flex}
.own-collection__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.own-tile{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--accent-soft)}
.own-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.own-tile:hover img{transform:scale(1.04)}
.own-tile:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.own-tile--more{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;padding:20px;background:var(--accent);color:#fff;transition:background .15s}
.own-tile--more:hover{background:var(--accent-hover)}
.own-tile__n{font-size:44px;line-height:1;font-weight:700;letter-spacing:-.02em}
.own-tile__t{font-size:16px;opacity:.9}
.own-tile__go{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-weight:600;font-size:16px}
.own-tile__go svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
@media(max-width:1100px){.own-collection{grid-template-columns:1fr}.own-collection__intro{padding:0}}
@media(max-width:860px){.own-collection__grid{grid-template-columns:repeat(2,1fr);gap:8px}.own-collection__cta .btn{width:100%}.own-tile__n{font-size:36px}}

.sc__photos{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.sc__photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}

/* motion */
.mo{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.7,.2,1) var(--mo-d,0ms),transform .6s cubic-bezier(.2,.7,.2,1) var(--mo-d,0ms)}
.mo.mo-in{opacity:1;transform:none}
@keyframes mo-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero h1,.hero__lead,.hero__cta,.phero h1,.phero p{animation:mo-up .7s cubic-bezier(.2,.7,.2,1) both}
.hero__lead,.phero p{animation-delay:.1s}.hero__cta{animation-delay:.2s}
.btn{transition:background .15s,color .15s,transform .15s,box-shadow .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(45,90,70,.22)}
.btn:active{transform:none;box-shadow:none}
@media(prefers-reduced-motion:reduce){.hero h1,.hero__lead,.hero__cta,.phero h1,.phero p{animation:none}.btn:hover{transform:none}}

.facts{padding:8px 0 56px}
.facts__in{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line);padding-top:40px}
.facts b{display:block;font-size:56px;line-height:1;font-weight:700;letter-spacing:-.03em;color:var(--accent)}
.facts span{display:block;margin-top:12px;font-size:16px;line-height:1.4;color:var(--muted,#5b5852);max-width:260px}
@media(max-width:860px){.facts__in{gap:12px;padding-top:28px}.facts b{font-size:25px;white-space:nowrap}.facts span{font-size:14px}}

/* Строка доверия в попапе */
.price-dialog__trust{margin-top:16px;font-size:14px;line-height:1.45;color:var(--mut)}
.price-dialog__trust b{color:var(--ink)}

/* Квиз подбора стола */
.quiz{padding:72px 0;background:var(--accent-soft)}
.quiz[hidden]{display:none}
.quiz__in{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:56px;align-items:center}
.quiz__main{max-width:760px}
.quiz h2{font-size:var(--h2);line-height:1.2}
.quiz__lead{margin-top:10px;color:var(--mut)}
.quiz__progress{margin-top:28px;font-size:14px;color:var(--mut)}
.quiz__body{margin-top:12px}
.quiz__set{border:0;padding:0;margin:0;min-width:0}
.quiz__set legend{padding:0;font-size:22px;font-weight:600;line-height:1.3}
.quiz__set legend:focus,.quiz__result:focus{outline:none}
.quiz__options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:16px}
.quiz__option{min-height:var(--btn-h);padding:12px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-strip);font:inherit;font-size:16px;text-align:left;color:var(--ink);cursor:pointer}
.quiz__option:hover{border-color:var(--accent);color:var(--accent)}
.quiz__option:focus-visible,.quiz__back:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.quiz__option:active{transform:translateY(1px)}
.quiz__back{margin-top:18px;padding:8px 0;border:0;background:transparent;font:inherit;font-size:15px;color:var(--mut);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.quiz__back:hover{color:var(--accent)}
.quiz__result{font-size:24px;line-height:1.3;font-weight:600}
.quiz__body p{margin-top:10px;max-width:560px}
.quiz__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
@media(max-width:860px){
  .quiz{padding:44px 0}
  .quiz__set legend{font-size:20px}
  .quiz__result{font-size:21px}
  .quiz__options{grid-template-columns:1fr}
  .quiz__actions .btn{width:100%}
}

.quiz__consultant{display:flex;flex-direction:column;gap:16px}
.quiz__consultant img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);background:var(--line)}
.quiz__name{font-size:20px;font-weight:600;line-height:1.2}
.quiz__role{margin-top:2px;font-size:14px;color:var(--mut)}
.quiz__say{margin-top:10px;font-size:15px;line-height:1.45}
@media(max-width:860px){
  .quiz__in{grid-template-columns:1fr;gap:24px}
  .quiz__consultant{order:-1;flex-direction:row;align-items:center;gap:14px}
  .quiz__consultant img{width:72px;height:72px;aspect-ratio:1;border-radius:50%;object-position:center 22%;flex:none}
  .quiz__say{margin-top:4px;font-size:14px}
}
.works__head+.gal__tabs{margin-top:0}

/* Плашка рейтинга в шапке */
.header__rate{display:flex;flex-direction:column;gap:2px;white-space:nowrap;line-height:1.15}
.header__rate-src{font-size:12px;color:var(--mut)}
.header__rate-val{display:flex;align-items:center;gap:6px;font-size:16px}
.header__rate-val b{font-weight:700}
.header__rate i,.header__rate-m i{font-style:normal;color:#e8a317;letter-spacing:1px}
.header__rate:hover .header__rate-src{color:var(--ink)}
.header__rate-m{display:none}
@media (max-width:1100px){.header__rate-src{font-size:11px}.header__in{gap:16px}}
@media (max-width:860px){
  .header__rate{display:none}
  .header__rate-m{display:flex;align-items:center;justify-content:center;gap:6px;height:32px;border-top:1px solid var(--line);font-size:13px;color:var(--mut);white-space:nowrap}
  .header__rate-m b{color:var(--ink)}
  .mnav{inset:97px 0 0}
}
.header__logo{flex-shrink:0}
@media (min-width:1101px){.header__in{gap:24px}}
@media (min-width:1101px) and (max-width:1279px){.header__route{display:none}}
@media (min-width:861px) and (max-width:1279px){
  .header__route,.header__rate{display:none}
  .header__rate-m{display:flex;align-items:center;justify-content:center;gap:6px;height:32px;border-top:1px solid var(--line);font-size:13px;color:var(--mut);white-space:nowrap}
  .header__rate-m b{color:var(--ink)}
}

/* Мобильное меню должно оставаться заметным и помещаться рядом с логотипом. */
@media (max-width:860px){
  .header__in{gap:8px}
  .mnav{top:110px}
  .header__call{flex:none;padding:0 12px}
  .burger{flex:0 0 48px;width:48px;height:44px;background:var(--ink);color:var(--bg);border:0;transition:background .15s,transform .15s}
  .burger:hover{background:var(--accent)}
  .burger:active{transform:translateY(1px)}
  .burger svg{width:26px;height:26px}
}
@media (max-width:360px){
  .header__logo img{height:24px}
  .header__call{padding:0 9px;gap:6px;font-size:14px}
}

/* Документы о персональных данных */
.legal{padding:44px 0 88px}
.legal__content{max-width:840px}
.legal h1{font-size:clamp(30px,4vw,46px);line-height:1.15;letter-spacing:-.02em;margin:20px 0 28px}
.legal h2{font-size:22px;line-height:1.3;margin:34px 0 14px}
.legal p,.legal li{font-size:16px;line-height:1.7;margin:0 0 12px}
.legal ul{padding-left:24px;list-style:disc}
.legal a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.footer__legal{display:flex;flex-wrap:wrap;gap:10px 24px}
@media(max-width:860px){.legal{padding:24px 0 56px}.legal h1{margin:16px 0 24px}.legal h2{font-size:20px}.footer__legal{flex-direction:column;gap:8px}}

.mnav a.btn--find{display:flex;justify-content:center;padding:0 26px;border-bottom:0;font-size:16px;font-weight:600}

/* Мобильная шапка: номер телефона вместо кнопки «Позвонить». */
@media (max-width:860px){
  .header__mobile-contact .header__tel--m{display:block;font-size:16px;line-height:1.2;text-align:center}
  .header__mobile-contact{align-items:center}
}
@media (max-width:360px){.header__mobile-contact .header__tel--m{font-size:14px}}

/* Меню по центру экрана, десктоп и планшет */
@media (min-width:861px){
  .header__in{position:relative}
  .header__contact{margin-left:auto}
  .nav{position:absolute;left:50%;transform:translateX(-50%);margin-right:0;gap:22px;font-size:14px}
}
@media (min-width:861px) and (max-width:1100px){
  .nav{gap:16px;font-size:14px}
}

/* Вертикальная линия между логотипом и рейтингом */
@media (min-width:1280px){
  .header__rate{padding-left:16px;border-left:1px solid #b5b1a7}
}

/* Главная, десктоп и планшет: линия под меню, фото на 50% ширины экрана между двумя линиями */
@media (min-width:861px){
  .header{border-bottom-color:var(--line)}
  .hero{position:relative;padding:0}
  .hero__in{grid-template-columns:1fr 1fr;gap:0;min-height:480px}
  .hero__in>div:first-child{padding:56px 40px 56px 0}
  .hero .hero__photo{position:absolute;top:0;right:0;bottom:0;width:50%;aspect-ratio:auto;border-radius:0}
}

/* Главная: шапка + первый блок занимают ровно один экран */
@media (min-width:861px){.hero__in{min-height:max(480px,calc(100vh - 109px));min-height:max(480px,calc(100svh - 109px))}}
@media (min-width:1280px){.hero__in{min-height:max(480px,calc(100vh - 77px));min-height:max(480px,calc(100svh - 77px))}}

@media (min-width:861px){.hero__lead{font-size:17px}}

.hero__cta .btn--line{box-shadow:inset 0 0 0 1.5px rgba(28,27,26,.35)}
.hero__cta .btn--line:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}

/* Главная: кадр сдвинут влево, чтобы стол с опорой и левым углом был виден как можно полнее */
@media (min-width:861px){.hero .hero__photo img{object-position:0% 50%}}
@media (max-width:860px){.hero .hero__photo img{object-position:50% 50%}}

.hero__cta .btn{font-size:15px}

/* Заголовки блоков крупнее на десктопе и планшете */
@media (min-width:861px){:root{--h2:36px}}

/* Карточки без скругления */
.tile,.mc,.sc,.why__grid article,.kd,.custom__card,.trust__reviews blockquote,.hours,.calc,.tbl,.models__note,.fav-send,.pf,.own-tile,.gal__i{border-radius:0}

/* Обводка плиток одного цвета, в том числе у тёмной */
.tile--dark{border-color:var(--line)}
.tile--dark:hover{border-color:#cfcabf}

/* Плитка «Столы для русского бильярда и пула»: описание в три строки без принудительного переноса */
.tile--main p{max-width:300px;text-wrap:balance}

/* Фото без скругления (круглый аватар консультанта в мобильной версии оставлен) */
.mc__img,.own-collection img,.mk__img,.w,.salon__photo,.mat__grid img,.hero__photo,.lightbox__img,.models__empty{border-radius:0}
@media (min-width:861px){.quiz__consultant img{border-radius:0}}

/* Блок «Зачем приезжать в салон»: фото выше, у цитаты нет линии слева */
@media (min-width:861px){.salon__photo{aspect-ratio:4/5}}
.salon__quote{padding-left:0;border-left:0;font-style:italic}

/* «Зачем приезжать в салон»: фото той же ширины, что левая плитка блока выше (половина контейнера) */
@media (min-width:861px){
  .salon__in{grid-template-columns:1fr 1fr;gap:20px}
  .salon__in>:last-child{padding-left:28px}
  .salon__photo{aspect-ratio:11/12}
}

.salon__photo{border:1px solid var(--line)}

/* Линия между «Наши работы» и «Под ключ» не удваивается */
.works + .turnkey{border-top:0}

/* Кнопка «Позвонить» в карточках салонов: обводка мягче, как в первом блоке */
.sc .btn--line{box-shadow:inset 0 0 0 1.5px rgba(28,27,26,.35)}
.sc .btn--line:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}

/* Подвал: крупные жирные заголовки колонок, остальное мельче и тоньше; нижние ссылки по левому краю колонок 2 и 3 */
.footer h4{font-size:15px;font-weight:500;margin-bottom:16px}
.footer__about{font-size:14px;font-weight:400}
.footer li a{font-size:14px;font-weight:400}
.footer__salon b{font-size:14px;font-weight:500}
.footer__salon span{font-size:13px;font-weight:400}
.footer__tel{font-size:16px;font-weight:500}
.footer__bottom{font-size:13px;font-weight:400}
@media (min-width:861px){
  .footer__bottom{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr;gap:40px;align-items:start}
  .footer__legal{display:contents}
}

.footer__legal a{text-decoration:underline;text-underline-offset:3px}

.footer__about{max-width:200px;text-wrap:balance}

/* Кнопки: скругление 2px, единый размер шрифта 15px, насыщенность 500 */
.btn,.btn--s,.mc__actions .btn,.hero__cta .btn,.mnav a.btn,.mnav a.btn--find,.footer__shop,.gal__tab.gal__tab--fav{border-radius:2px;font-size:15px;font-weight:500}
.burger,.quiz__option,.price-dialog__close{border-radius:2px}
.quiz__option{font-size:15px}

/* Подвал: заголовки колонок толще, остальные пункты максимально тонкие (Onest Light) */
.footer h4{font-weight:600}
.footer__about,.footer li a,.footer__salon b,.footer__salon span,.footer__tel,.footer__bottom,.footer__bottom a,.footer__legal a{font-weight:300}

/* Подвал: ссылки «Разделы» и адреса салонов того же цвета и толщины, что нижние ссылки */
.footer__top ul:not(:has(.footer__tel)) a,.footer__salon b{color:var(--dark-mut);font-weight:300}
.footer__top ul:not(:has(.footer__tel)) a:hover{color:#fff}

/* Подвал: заголовки колонок и часы работы белые */
.footer h4,.footer__salon span{color:#fff}

.footer__legal a{font-size:12px}

/* Карточки салонов: кнопки компактнее, у Мичуринского фото въезда с увеличением по клику */
.sc__cta .btn{height:40px;padding:0 16px;gap:8px}
.sc__body--photo{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.sc__info{flex:1 1 auto;min-width:0}
.sc__park{flex:none;width:150px;margin:0}
.sc__park-btn{display:block;width:100%;padding:0;border:1px solid var(--line);background:none;cursor:zoom-in;line-height:0}
.sc__park-btn img{display:block;width:100%;height:auto}
.sc__park-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.sc__park figcaption{margin-top:6px;font-size:12px;line-height:1.35;color:var(--mut)}
dialog.zoom{border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh;overflow:visible}
dialog.zoom::backdrop{background:rgba(20,19,18,.82)}
dialog.zoom img{display:block;max-width:96vw;max-height:92vh;width:auto;height:auto;cursor:zoom-out}
@media (max-width:860px){
  .sc__body--photo{flex-direction:column;gap:16px}
  .sc__park{width:100%;max-width:260px}
}

/* Фото въезда: низ фото на одной линии с кнопками, подпись над фото, тонкий шрифт */
@media (min-width:861px){
  .sc__body--photo{align-items:stretch}
  .sc__park{display:flex;flex-direction:column;justify-content:flex-end}
  .sc__park figcaption{order:-1;margin:0 0 8px;font-weight:300}
}
@media (max-width:860px){.sc__park figcaption{font-weight:300}}

/* Фото въезда крупнее, подпись мельче */
.sc__park{width:172px}
.sc__park figcaption{font-size:11px}
.sc__cta{gap:8px}
.sc__cta .btn{padding:0 14px}
@media (max-width:860px){.sc__park{width:100%;max-width:300px}}
@media (min-width:861px){.sc__body--photo{gap:14px}}

/* Увеличенное фото: около половины ширины экрана по центру, крестик закрытия */
dialog.zoom{position:fixed;inset:0;margin:auto;width:min(47vw,880px);max-width:none;height:fit-content;max-height:none}
dialog.zoom img{width:100%;max-width:100%;max-height:none;height:auto}
.zoom__close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:2px;background:rgba(20,19,18,.72);color:#fff;cursor:pointer;transition:background .15s}
.zoom__close:hover{background:rgba(20,19,18,.92)}
.zoom__close:focus-visible{outline:3px solid #fff;outline-offset:2px}
@media (max-width:860px){dialog.zoom{width:94vw}}

/* Увеличенное фото крупнее: до 70% ширины экрана, но не выше экрана */
@media (min-width:861px){dialog.zoom{width:min(70vw,1200px,calc(88vh * 2.16))}}

/* Карточки салонов: кнопки прижаты к низу карточки, у обеих на одной линии */
.sc{display:flex;flex-direction:column}
.sc__body{flex:1 1 auto}
.sc__body:not(.sc__body--photo){display:flex;flex-direction:column}
.sc__body:not(.sc__body--photo) .sc__cta{margin-top:auto;padding-top:20px}
.sc__info{display:flex;flex-direction:column}
.sc__info .sc__cta{margin-top:auto;padding-top:20px}
@media (min-width:1100px){
  .sc__body--photo .sc__cta{flex-wrap:nowrap}
  .sc__park{flex:1 1 0;width:auto;min-width:110px;max-width:172px}
}
@media (min-width:1100px){.sc__info{flex:0 0 345px}}

.sc h3{font-size:20px}

/* Значок лупы на превью фото */
.sc__park-btn{position:relative}
.sc__park-zoom{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:28px;height:28px;border-radius:2px;background:rgba(20,19,18,.72);color:#fff;line-height:0;transition:background .15s}
.sc__park-btn:hover .sc__park-zoom{background:rgba(20,19,18,.92)}
.sc__park-zoom{width:36px;height:36px;right:8px;bottom:8px}
.sc__park-zoom svg{width:22px;height:22px}

/* Попап-квиз «Подобрать стол» */
.pq{position:fixed;inset:0;margin:auto;width:calc(100% - 32px);max-width:1040px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:0;border:0;border-radius:0;background:var(--bg);color:var(--ink);font:inherit;box-shadow:0 24px 80px #0003}
.pq::backdrop{background:rgba(28,27,26,.6)}
.pq__x{position:absolute;right:10px;top:10px;z-index:2;width:40px;height:40px;border:0;border-radius:2px;background:transparent;color:var(--mut);font-size:30px;line-height:1;cursor:pointer}
.pq__x:hover{background:var(--accent-soft);color:var(--ink)}
.pq__bar{height:4px;background:var(--line)}
.pq__bar[hidden]{display:none}
.pq__bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .3s}
.pq__screen{padding:44px 48px 40px}
.pq__start,.pq__final{max-width:520px;margin:0 auto;text-align:center;padding:24px 0}
.pq__start h2,.pq__final h2{font-size:32px;line-height:1.2;text-wrap:balance}
.pq h2:focus,.pq legend:focus{outline:none}
.pq__start p,.pq__final>p{margin-top:14px;color:var(--mut);font-size:17px}
.pq__go{margin-top:28px;min-width:200px}
.pq__step{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:44px;align-items:start}
.pq__count{font-size:14px;color:var(--mut)}
.pq__set{border:0;margin:10px 0 0;padding:0;min-width:0}
.pq__set legend{padding:0;font-size:26px;font-weight:600;line-height:1.25;padding-right:28px}
.pq__hint{margin-top:6px;font-size:14px;color:var(--mut)}
.pq__opts{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}
.pq__opts--photo{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pq__opt{position:relative;display:flex;align-items:center;gap:12px;min-height:54px;padding:12px 16px;border:1px solid var(--line);border-radius:0;background:var(--bg-strip);font-size:16px;cursor:pointer;transition:border-color .15s,background .15s}
.pq__opt:hover{border-color:var(--accent)}
.pq__opt input{position:absolute;opacity:0;pointer-events:none}
.pq__opt::before{content:"";flex:none;width:20px;height:20px;border:1.5px solid #aaa79f;border-radius:50%;background:#fff;transition:all .15s}
.pq__opt:has(input[type=checkbox])::before{border-radius:3px}
.pq__opt:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.pq__opt:has(input:checked)::before{border-color:var(--accent);background:var(--accent) radial-gradient(circle,#fff 0 3px,transparent 3.5px)}
.pq__opt:has(input[type=checkbox]:checked)::before{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.pq__opt:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}
.pq__opt--photo{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden}
.pq__opt--photo::before{position:absolute;left:10px;top:10px;z-index:1}
.pq__img{display:block;aspect-ratio:3/2;background:var(--line);overflow:hidden}
.pq__img img{display:block;width:100%;height:100%;object-fit:cover}
.pq__opt--photo .pq__txt{padding:12px 14px;font-weight:500;overflow-wrap:anywhere}
.pq__nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px}
.pq__back{padding:8px 0;border:0;background:transparent;font:inherit;font-size:15px;color:var(--mut);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.pq__back:hover{color:var(--accent)}
.pq__next{min-width:160px}
.pq__next:disabled,.pq__submit:disabled{opacity:.45;cursor:not-allowed}
.pq__submit:disabled{cursor:wait}
.pq__expert{position:sticky;top:0;padding:22px;background:var(--accent-soft);border-radius:0}
.pq__expert img{display:block;width:64px;height:64px;border-radius:50%;object-fit:cover}
.pq__role{margin-top:14px;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--mut)}
.pq__say{margin-top:8px;font-size:15px;line-height:1.5}
.pq__form{margin-top:24px;text-align:left}
.pq__field{display:block;margin-top:14px;font-size:14px;font-weight:500}
.pq__field input{display:block;width:100%;height:50px;margin-top:6px;padding:12px 14px;border:1px solid #aaa79f;border-radius:2px;background:#fff;color:var(--ink);font:inherit;font-size:16px}
.pq__field input:hover{border-color:var(--accent)}
.pq__field input:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--accent)}
.pq__consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0 0;font-size:12px;line-height:1.5;color:var(--mut)}
.pq__consent input{width:18px;height:18px;flex:none;accent-color:var(--accent);margin-top:1px}
.pq__consent a{text-decoration:underline;text-underline-offset:3px}
.pq__error{margin-top:14px;padding:12px 14px;background:#f9ebe7;color:#8b3425;font-size:14px}
.pq__error[hidden]{display:none}
.pq__final .pq__nav{flex-direction:row-reverse}
.pq__final .pq__submit{flex:1}
@media(max-width:860px){
  .pq{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}
  .pq__screen{padding:36px 20px 28px}
  .pq__step{grid-template-columns:1fr;gap:22px}
  .pq__expert{position:static;order:2;display:grid;grid-template-columns:48px 1fr;column-gap:14px;padding:16px}
  .pq__expert img{width:48px;height:48px;grid-row:1/3}
  .pq__role{margin-top:0}
  .pq__say{margin-top:4px;font-size:14px}
  .pq__start h2,.pq__final h2{font-size:26px}
  .pq__set legend{font-size:22px}
  .pq__opts--photo{gap:10px}
  .pq__opt--photo .pq__txt{padding:10px;font-size:14px}
}
.pq__intro{max-width:640px;margin:0 0 30px;padding-right:36px}
.pq__intro h2{font-size:32px;line-height:1.2;text-wrap:balance}
.pq__intro p{margin-top:10px;color:var(--mut);font-size:17px}
@media(max-width:860px){.pq__intro h2{font-size:24px}.pq__intro{margin-bottom:22px}}
/* квиз: компактные карточки, эксперт на уровне вариантов */
@media(min-width:861px){
  .pq__screen{padding:30px 40px 28px}
  .pq__intro{margin-bottom:20px}
  .pq__intro h2{font-size:28px}
  .pq__intro p{margin-top:6px;font-size:16px}
  .pq__step{grid-template-columns:minmax(0,1fr) 270px;grid-template-rows:auto auto auto;column-gap:36px;row-gap:0}
  .pq__head{grid-column:1;grid-row:1}
  .pq__opts{grid-column:1;grid-row:2;margin-top:16px}
  .pq__nav{grid-column:1;grid-row:3;margin-top:18px}
  .pq__expert{grid-column:2;grid-row:2/4;margin-top:16px;position:static;padding:18px}
  .pq__opts--photo{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .pq__img{aspect-ratio:3/2}
  .pq__opt--photo .pq__txt{padding:9px 10px;font-size:14px;line-height:1.3}
  .pq__opt--photo::before{width:16px;height:16px;left:7px;top:7px}
  .pq__opt{min-height:48px;padding:10px 14px}
  .pq__opts:not(.pq__opts--photo){gap:8px}
}
.pq__q{font-size:26px;font-weight:600;line-height:1.25;margin-top:8px;padding-right:28px}
.pq__q:focus{outline:none}
@media(max-width:860px){.pq__q{font-size:22px}}
/* квиз: линия под подзаголовком, эксперт по нижней границе карточек */
.pq__intro{max-width:none;padding:0 36px 20px 0;border-bottom:1px solid var(--line)}
.pq__intro h2,.pq__intro p{max-width:640px}
@media(min-width:861px){
  .pq__intro{margin-bottom:18px}
  .pq__step{grid-template-columns:minmax(0,1fr) 320px}
  .pq__opts{align-self:stretch}
  .pq__opt--photo{padding:0}
  .pq__img{flex:1 1 auto;aspect-ratio:auto;min-height:90px}
  .pq__expert{grid-row:2;align-self:stretch;padding:16px;display:grid;grid-template-columns:48px 1fr;column-gap:12px;align-content:start}
  .pq__expert img{width:48px;height:48px;grid-row:1}
  .pq__role{margin:0;align-self:center}
  .pq__say{grid-column:1/-1;margin-top:10px;font-size:14px;line-height:1.45}
  .pq__nav{grid-row:3}
  .pq__opts{margin-top:0}
  .pq__head{margin-bottom:16px}
  .pq__expert{margin-top:0}
}
/* квиз: 2 карточки в ряд слева, справа эксперт и счётчик */
.pq__side{display:flex;flex-direction:column;gap:12px}
.pq__counter{padding:18px;background:var(--dark,#1c1b1a);color:#fff;text-align:center}
.pq__cnt-t{font-size:20px;font-weight:600;line-height:1.25}
.pq__cnt-n{font-size:34px;color:#fff}
.pq__cnt-t{display:flex;flex-direction:column;align-items:center}
.pq__cnt-s{margin-top:2px;font-size:13px;color:rgba(255,255,255,.7)}
.pq__cnt-h{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.2);font-size:13px;color:rgba(255,255,255,.85)}
@media(min-width:861px){
  .pq{max-width:1120px}
  .pq__opts--photo{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pq__opt--photo .pq__txt{padding:8px 12px;font-size:15px}
  .pq__img{min-height:74px;max-height:110px}
  .pq__side{grid-column:2;grid-row:2;align-self:stretch}
  .pq__expert{grid-column:auto;grid-row:auto;align-self:auto;flex:0 0 auto}
  .pq__counter{margin-top:auto}
}
@media(max-width:860px){.pq__side{order:2}.pq__expert{order:0}}
.pq__counter{padding:14px 16px}
.pq__cnt-t{display:block;font-size:17px}
.pq__cnt-n{font-size:30px;line-height:1;vertical-align:-3px;margin:0 2px}
.pq__cnt-h{margin-top:8px;padding-top:8px}
/* квиз: счётчик вопросов и «Далее» справа над экспертом */
.pq__count--m{display:none}
.pq__nav:empty{display:none}
.pq__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pq__top .pq__next{min-width:0;height:40px;padding:0 22px}
@media(min-width:861px){
  .pq__top{grid-column:2;grid-row:1;align-self:end;margin-bottom:16px}
  .pq__head .pq__count{display:none}
  .pq__q{margin-top:0}
}
@media(max-width:860px){
  .pq__count--m{display:block}
  .pq__top .pq__count{display:none}
  .pq__top{justify-content:flex-end;order:3}
  .pq__top .pq__next{width:100%}
  .pq__head{order:1}.pq__opts{order:2}.pq__nav{order:4}.pq__side{order:5}
}
/* квиз: счётчик вопросов в виде плашки */
.pq__pill{display:inline-block;padding:7px 16px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:14px;font-weight:500;line-height:1.2;white-space:nowrap}
.pq__intro{position:relative}
.pq__intro .pq__pill{position:absolute;right:56px;bottom:20px}
.pq__pill--top{position:absolute;right:60px;top:20px}
.pq__top{justify-content:flex-end}
@media(max-width:860px){
  .pq__intro .pq__pill{position:static;margin-top:12px}
  .pq__pill--top{right:auto;left:20px;top:14px}
  .pq__screen{position:relative}
  .pq__pill--top+.pq__step{margin-top:18px}
}
.pq__pill--top{position:static;display:table;margin:0 0 14px auto}
@media(max-width:860px){.pq__pill--top{margin:0 0 12px}}
/* квиз: компактный вводный заголовок */
.pq__intro h2{font-size:22px;line-height:1.25;text-wrap:wrap}
.pq__intro p{margin-top:4px;font-size:14px}
.pq__intro h2,.pq__intro p{max-width:none}
.pq__intro{padding-bottom:14px}
@media(min-width:861px){.pq__screen{padding-top:26px}.pq__intro{margin-bottom:14px}.pq__intro h2{white-space:nowrap}}
@media(max-width:860px){.pq__intro h2{font-size:20px}}
/* квиз: тёмно-зелёная шапка */
.pq__intro{background:var(--accent);color:#fff;border-bottom:0;margin:-26px -40px 20px;padding:20px 100px 18px 40px}
.pq__intro p{color:rgba(255,255,255,.82)}
.pq__intro .pq__pill{background:rgba(255,255,255,.16);color:#fff;right:64px;bottom:auto;top:50%;transform:translateY(-50%)}
.pq:has(.pq__intro) .pq__x{color:#fff}
.pq:has(.pq__intro) .pq__x:hover{background:rgba(255,255,255,.16);color:#fff}
@media(max-width:860px){
  .pq__intro{margin:-36px -20px 18px;padding:18px 56px 16px 20px}
  .pq__intro .pq__pill{position:static;transform:none;margin-top:10px}
}
.pq__bar,.pq__bar[hidden]{display:none}
.pq__intro h2{font-weight:500}
/* квиз: «Далее» внизу правой колонки, счётчика столов нет */
.pq__side .pq__next{align-self:flex-end;margin-top:auto;height:40px;padding:0 28px;min-width:0}
@media(max-width:860px){.pq__side .pq__next{align-self:stretch;margin-top:4px}}
.pq__pill{padding:4px 12px;font-size:12px;font-weight:500}
.pq__q{font-size:21px}
@media(max-width:860px){.pq__q{font-size:19px}}
/* квиз: карточки с фото, близкие к квадрату, 4 в ряд */
@media(min-width:861px){
  .pq__opts--photo{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-self:start}
  .pq__img{flex:none;aspect-ratio:400/380;min-height:0;max-height:none}
}
@media(max-width:860px){.pq__img{aspect-ratio:400/380}}
@media(min-width:861px){
  .pq__opts--photo{align-self:stretch}
  .pq__img{flex:1 1 auto;min-height:0}
  .pq__img img{position:absolute;inset:0}
  .pq__img{position:relative}
  .pq__side{gap:8px}
  .pq__expert{padding:14px 16px}
  .pq__say{font-size:13.5px;margin-top:8px}
  .pq__side .pq__next{height:36px}
}
@media(min-width:861px){.pq__opt--photo .pq__txt{min-height:calc(2.6em + 16px);display:flex;align-items:center}}
.pq__opt--photo .pq__txt{font-size:13px;font-weight:400;line-height:1.3}
@media(min-width:861px){.pq__opt--photo .pq__txt{font-size:13px;min-height:calc(2.6em + 14px)}}
/* квиз: низ карточки эксперта на уровне низа фото, кнопка на уровне подписей */
@media(min-width:861px){
  .pq__side{display:grid;grid-template-rows:1fr 48px;gap:0}
  .pq__side .pq__next{align-self:center;justify-self:end;margin-top:0}
}
/* квиз: узкое окно, карточки по 2 в ряд, справа эксперт и под ним кнопка */
@media(min-width:861px){
  .pq{max-width:880px}
  .pq__step{grid-template-columns:minmax(0,1fr) 330px;column-gap:32px}
  .pq__opts--photo{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-self:start}
  .pq__img{flex:none;aspect-ratio:auto;height:128px}
  .pq__side{display:flex;flex-direction:column;gap:12px;grid-template-rows:none;align-self:stretch}
  .pq__side .pq__next{margin-top:auto;align-self:flex-end;justify-self:auto;height:38px}
  .pq__opt--photo .pq__txt{font-size:14px;min-height:46px;padding:0 12px;display:flex;align-items:center}
}
/* квиз (фото-вопросы): эксперт по высоте равен верхнему ряду карточек */
@media(min-width:861px){
  .pq__step--photo{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 330px;grid-template-rows:auto auto auto auto;column-gap:12px;row-gap:12px}
  .pq__step--photo .pq__head{grid-column:1/-1;grid-row:1;margin-bottom:4px}
  .pq__step--photo .pq__opts,.pq__step--photo .pq__side{display:contents}
  .pq__step--photo .pq__opt{grid-column:auto;min-width:0}
  .pq__step--photo .pq__expert{grid-column:3;grid-row:2;align-self:stretch;margin:0;margin-left:20px}
  .pq__step--photo .pq__side .pq__next{grid-column:3;grid-row:3;align-self:end;justify-self:end;margin:0}
  .pq__step--photo .pq__nav{grid-column:1/3;grid-row:4;margin-top:0}
  .pq__step--photo .pq__img{flex:1 1 auto;height:auto;min-height:128px}
}
@media(min-width:861px){.pq__step--photo{align-items:stretch}}
@media(min-width:861px){.pq__intro .pq__pill{top:auto;bottom:18px;transform:none}}
/* квиз: подпись эксперта */
.pq__who{margin:0;font-size:12px;line-height:1.3;color:var(--mut)}
@media(min-width:861px){
  .pq__expert img{grid-row:1/3}
  .pq__role{align-self:end}
  .pq__who{grid-column:2;grid-row:2;align-self:start;margin-top:2px}
}
@media(max-width:860px){.pq__expert img{grid-row:1/3}.pq__who{grid-column:2}.pq__say{grid-column:1/-1}}
.pq__who{font-weight:300}
/* квиз: «Назад» и «Далее» в одной строке справа; шапка на каждом шаге */
.pq__btns{display:flex;justify-content:flex-end;align-items:center;gap:8px}
.pq__btns .btn{height:38px;padding:0 24px;min-width:0;margin:0;align-self:auto;justify-self:auto}
.pq .btn.pq__back{padding:0 24px;text-decoration:none;color:#fff;font-size:15px}
.pq__btns .pq__next:disabled{opacity:.45}
@media(min-width:861px){
  .pq__side .pq__btns{margin-top:auto;align-self:stretch}
  .pq__step--photo .pq__side .pq__btns{grid-column:3;grid-row:3;align-self:end;margin:0}
  .pq__step:not(.pq__step--photo) .pq__head{margin-bottom:0}
}
@media(max-width:860px){.pq__btns .btn{flex:1}}
.pq .btn.pq__back{background:var(--accent);border:0;border-radius:2px;font-weight:500}
.pq .btn.pq__back:hover{background:var(--accent-hover);color:#fff}
.pq__btns{justify-content:space-between}
.pq__btns .pq__next{margin-left:auto}
@media(min-width:861px){
  .pq__step--photo .pq__side .pq__btns{margin-left:20px}
  .pq__step--photo .pq__side .pq__next{margin:0 0 0 auto}
}
@media(min-width:861px){.pq__step:not(.pq__step--photo) .pq__head{margin-bottom:16px}}
.pq__opt:not(.pq__opt--photo){font-size:14px;font-weight:400}
.pq__opt:not(.pq__opt--photo) .pq__txt{font-size:14px;font-weight:400;line-height:1.3}
.pq__opts:not(.pq__opts--photo){gap:12px}
@media(min-width:861px){.pq__step:not(.pq__step--photo){padding-bottom:12px}}
/* квиз: финальный экран — «Назад» слева, «Получить подборку» справа, активна при заполненных полях */
.pq__final .pq__nav{flex-direction:row;gap:12px;margin-top:24px}
.pq__final .pq__back{flex:0 0 150px;padding:0}
.pq__final .pq__submit{flex:1}
.pq__final .pq__submit:disabled{opacity:.45;cursor:not-allowed}
/* квиз: шапка на финальном экране */
.pq__intro--final h2{white-space:normal;font-size:20px;line-height:1.35;max-width:680px}
.pq__intro--final{padding-bottom:18px}
.pq__final{padding-top:8px}
@media(min-width:861px){.pq__intro--final h2{white-space:normal}}
/* квиз: поля «Имя» и «Телефон» в один ряд */
@media(min-width:861px){
  .pq__final{max-width:680px}
  .pq__form{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-items:start}
  .pq__form .pq__field{margin-top:0}
  .pq__form .pq__consent,.pq__form .pq__error,.pq__form .pq__nav,.pq__form .price-trap{grid-column:1/-1}
  .pq__form .price-trap{position:absolute}
}
/* выпадающее меню без скруглений */
.nav__sub,.nav__sub a{border-radius:0}
/* попап заявки: без скруглений, упрощённый вариант «Перезвоните мне» */
.price-dialog{border-radius:0}
.price-field input{border-radius:2px}
.price-dialog__close{border-radius:2px}
.price-dialog__status{border-radius:0}
.price-dialog.is-callback .price-dialog__model,
.price-dialog.is-callback #price-description,
.price-dialog.is-callback .price-dialog__phone,
.price-dialog.is-callback .price-dialog__divider{display:none}
.price-dialog.is-callback h2{margin-bottom:18px}
.price-dialog.is-callback h2{max-width:320px;text-wrap:balance}
.price-dialog.is-callback h2{max-width:380px}
.trust__rating .trust__ya{display:inline-block;height:24px;width:auto;margin:0 2px;vertical-align:-6px}
.trust__rating .trust__stars{font-style:normal;color:#e8a317;letter-spacing:1px;font-size:16px;vertical-align:1px}
.trust__rating .trust__ya{height:17px;vertical-align:-3px;margin:0 1px}
.trust__ya-link{display:inline-block;line-height:0;vertical-align:baseline}
.trust__ya-link:hover .trust__ya{opacity:.8}
.trust__rating .trust__count{display:block;margin-top:4px}
.trust__year-s{font-size:.28em;font-weight:500;letter-spacing:0;vertical-align:baseline;color:var(--dark-mut)}
.trust__year{white-space:nowrap}
@media(min-width:861px){.trust__year{font-size:88px}}
.trust__year-s{font-size:.26em}
.shop__btns{display:flex;align-items:center;gap:12px;flex:none}
@media(max-width:860px){.shop__btns{flex-direction:column;align-items:stretch;width:100%}}
/* карточка салона с фото: две кнопки (маршрут и телефон) помещаются в одну строку */
.sc__body--photo .sc__cta{gap:8px}
.sc__body--photo .sc__cta .btn{padding:0 12px;font-size:14px;gap:6px}
/* хлебные крошки: текущая страница (неактивный пункт) бледнее ссылок */
.crumbs{color:#a3a097}
.crumbs a{color:var(--mut)}
.crumbs a:hover{color:var(--ink)}

/* Столы для русского бильярда: первый экран как на главной (фото на 50% ширины, высота экрана, одна кнопка) */
@media (min-width:861px){
  .phero--full{position:relative;padding:0}
  .phero--full .phero__in{grid-template-columns:1fr 1fr;gap:0;align-items:center;min-height:max(480px,calc(100vh - 109px));min-height:max(480px,calc(100svh - 109px))}
  .phero--full .phero__in>div:first-child{padding:56px 40px 56px 0}
  .phero--full .hero__photo{position:absolute;top:0;right:0;bottom:0;width:50%;aspect-ratio:auto;border-radius:0}
  .phero--full .hero__photo img{width:100%;height:100%;object-fit:cover}
  .phero--full .hero__lead{font-size:17px}
}
@media (min-width:1280px){.phero--full .phero__in{min-height:max(480px,calc(100vh - 77px));min-height:max(480px,calc(100svh - 77px))}}

/* хлебные крошки ниже от линии под меню; на странице с полноэкранным первым блоком фото прилегает к линии, крошки лежат поверх левой колонки */
.crumbs{padding-top:28px;line-height:21px}
@media(max-width:860px){.crumbs{padding-top:20px;line-height:19px}}
@media(min-width:861px){
  .crumbs:has(+ .phero--full){position:relative;z-index:2;margin-bottom:-49px}
}

/* Единые вертикальные отступы между блоками на всех страницах: 88px на компьютере, 56px на мобильном (как на главной) */
.dirs,.quiz,.gal,.visit{padding-top:88px;padding-bottom:88px}
@media(max-width:860px){.dirs,.quiz,.gal,.visit{padding-top:56px;padding-bottom:56px}}
/* «Выберите стол под ваш бюджет»: подзаголовок под заголовком */
.models__heading{display:block}
.models__heading h2{max-width:none}
.models__heading>p{margin-top:12px;max-width:560px}
/* карточки моделей: тонкая обводка и белая подложка, как у карточек на главной */
.mc{border:1px solid var(--line);background:#fff}
.mc__body{padding:20px 20px 22px}
.own-tile__n{font-weight:400}
/* примечание под моделями: без серой подложки, сверху тонкая линия на всю ширину экрана, как у полосы «Уже выбрали модель?» */
.models:has(.models__note){padding-bottom:0;overflow-x:clip}
.models__note{position:relative;background:transparent;border-radius:0;margin-top:56px;padding:32px 0}
.models__note::before{content:"";position:absolute;top:0;left:50%;width:100vw;height:1px;background:var(--line);transform:translateX(-50%)}
@media(max-width:860px){.models__note{padding:28px 0;margin-top:40px}}
/* вкладки бюджета: текст меньше */
.budget-tab{font-size:15px;padding:16px 0}
@media(max-width:1100px){.budget-tab{font-size:14px}}
@media(max-width:860px){.budget-tab{font-size:14px;padding:12px 0}}
.models__note-btns{display:flex;align-items:center;gap:12px;flex:none}
@media(max-width:860px){.models__note-btns{flex-direction:column;align-items:stretch}.models__note-btns .btn{width:100%}}
/* карточки моделей: кнопка «Узнать цену» меньше */
.mc__actions .btn{height:36px;padding:0 14px;font-size:14px}
/* «Почему у столов одного размера разная цена»: круглые фото вместо цифр */
.why__ph{display:block;width:72px;height:72px;border-radius:50%;object-fit:cover;background:var(--line)}
.why__ph + h3{margin-top:18px}
/* «Разницу проще всего увидеть в салоне»: под заголовком, без зелёной линии слева */
.why__more{margin:12px 0 0;padding-left:0;border-left:0;font-size:17px;color:var(--mut)}
.why__more + .why__grid{margin-top:28px}
/* «Приезжайте в салон»: подзаголовок шире, чтобы уместился в две строки */
@media(min-width:861px){.visit p{max-width:none}.visit__in>div:first-child{flex:1 1 auto;min-width:0}}
/* «Нужен стол под ваш интерьер?»: без чёрной плашки, тёмный текст, подзаголовок шире */
.custom__card{background:transparent;color:var(--ink)}
.custom__body p{color:var(--mut)}
@media(min-width:861px){.custom__body p{max-width:none}.custom__body{padding:48px 0 48px 48px}}
.custom{padding-bottom:88px}
@media(max-width:860px){.custom{padding-bottom:56px}}

/* «Приезжайте в салон»: фото слева на всю высоту экрана, заголовок, текст и кнопки справа */
@media (min-width:861px){
  .visit{position:relative;padding:0;min-height:100vh;min-height:100svh;display:flex;align-items:center}
  .visit__photo{position:absolute;top:0;left:0;bottom:0;width:50%;overflow:hidden}
  .visit__photo img{width:100%;height:100%;object-fit:cover;display:block}
  .visit__in{display:block;width:100%;padding-left:calc(50% + 40px);padding-right:24px;box-sizing:border-box}
  .visit__in>div:first-child{max-width:none}
  .visit p{max-width:none}
  .visit__cta{margin-top:32px;flex-wrap:wrap}
}
@media (max-width:860px){
  .visit__photo{margin:-48px 0 24px}
  .visit__photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
}
@media (min-width:861px){
  .visit{min-height:0;height:480px}
  .visit__photo img{object-position:100% 60%}
}
/* лишний пустой отступ перед «Частыми вопросами» убран: расстояние между блоками задаёт сам блок */
.faq{margin-top:0}
@media(max-width:860px){.faq{margin-top:0}}
/* нижняя полоса: текст уже, с ровными строками */
@media(min-width:861px){.shop p{max-width:520px;text-wrap:balance}}
/* Столы для пула: фото товара на белом фоне занимает правую половину первого экрана */
@media (min-width:861px){
  .phero--full .hero__photo--product{background:#fff;border:0}
  .phero--full .hero__photo--product img{object-fit:contain;padding:24px}
}
/* «Размер стола»: стрелка списка левее от правого края */
.size-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231c1b1a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 20px center}

/* Встроенный квиз на странице «Подбор стола»: карточка вместо калькулятора, без шапки и комментария эксперта */
.pq-inline{background:#fff;border:1px solid var(--line);padding:28px;box-shadow:0 12px 30px rgba(28,27,26,.06);min-height:420px}
.pq-inline .pq__count{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:500}
.pq-inline .pq__step{display:block}
.pq-inline .pq__q{font-size:21px;margin-top:12px;padding-right:0}
.pq-inline .pq__q--final{font-size:19px;line-height:1.35;margin-top:0}
.pq-inline .pq__head{margin-bottom:16px}
.pq-inline .pq__opts{margin-top:0;gap:10px}
.pq-inline .pq__opts--photo{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pq-inline .pq__img{aspect-ratio:3/2;height:auto;min-height:0;flex:none}
.pq-inline .pq__opt--photo .pq__txt{min-height:0;padding:8px 10px;font-size:13px}
.pq-inline .pq__opt{min-height:44px;padding:10px 14px}
.pq-inline .pq__side{display:block;margin-top:18px}
.pq-inline .pq__btns{justify-content:space-between;margin:0}
.pq-inline .pq__final{max-width:none;margin:0;padding:12px 0 0;text-align:left}
.pq-inline .pq__form{display:block;margin-top:16px}
.pq-inline .pq__field{margin-top:12px}
.pq-inline .pq__field:first-child{margin-top:0}
.pq-inline .pq__start{padding:40px 0}
@media(max-width:860px){.pq-inline{padding:20px;min-height:0}}
.pq-inline .btn.pq__back{background:var(--accent);color:#fff;text-decoration:none;border:0;border-radius:2px;font-size:15px;font-weight:500;padding:0 24px;height:38px}
.pq-inline .btn.pq__back:hover{background:var(--accent-hover);color:#fff}
.pq-inline .pq__final .pq__nav{display:flex;gap:12px;margin-top:20px}
.pq-inline .pq__final .pq__back{flex:0 0 110px}
.pq-inline .pq__final .pq__submit{flex:1;height:38px;font-size:15px}
.pq-inline .pq__btns .btn{height:38px;padding:0 24px}
/* «Подбор стола»: карточка квиза шире и ниже */
@media(min-width:861px){
  .calc-hero .phero__in{grid-template-columns:4fr 5fr;gap:48px}
  .pq-inline{min-height:0;padding:24px 28px}
  .pq-inline .pq__opts--photo{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .pq-inline .pq__img{aspect-ratio:4/3}
  .pq-inline .pq__opt--photo .pq__txt{padding:7px 8px;font-size:12.5px;line-height:1.25}
  .pq-inline .pq__q{margin-top:10px;font-size:20px}
  .pq-inline .pq__head{margin-bottom:12px}
  .pq-inline .pq__side{margin-top:14px}
  .pq-inline .pq__opts:not(.pq__opts--photo){grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* встроенный квиз, финал: «Имя» и «Телефон» в один ряд, заголовок меньше */
.pq-inline .pq__q--final{font-size:16px;line-height:1.35;font-weight:600}
@media(min-width:861px){
  .pq-inline .pq__form{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-items:start}
  .pq-inline .pq__form .pq__field,.pq-inline .pq__form .pq__field:first-child{margin-top:0}
  .pq-inline .pq__form .pq__consent,.pq-inline .pq__form .pq__error,.pq-inline .pq__form .pq__nav,.pq-inline .pq__form .price-trap{grid-column:1/-1}
  .pq-inline .pq__form .price-trap{position:absolute}
}
.room__lead--wide{max-width:460px;text-wrap:balance}
.room__lead--wide{max-width:none;text-wrap:wrap}
.room__line{display:block}
@media (min-width:861px){.phero--full .hero__photo--wide img{object-position:0% 50%}}
.hero__lead--2{max-width:560px;text-wrap:balance}
/* линия под первым экраном страницы «На заказ», как у остальных страниц */
.phero--full + .gal{border-top:1px solid var(--line)}
.gal h2{font-size:var(--h2);line-height:1.2;letter-spacing:-.01em;font-weight:700}
/* «Выполненные работы»: расстояние заголовок → подзаголовок 12px, как в блоке «Выберите стол под ваш бюджет» */
.gal .works__head{margin-bottom:0}
.gal__intro{margin-top:12px}
/* вкладки галереи: размер текста как у вкладок бюджета на страницах моделей */
.gal__tab:not(.gal__tab--fav){font-size:15px;padding:16px 0}
@media(max-width:1100px){.gal__tab:not(.gal__tab--fav){font-size:14px}}
@media(max-width:860px){.gal__tab:not(.gal__tab--fav){font-size:14px;padding:12px 0}}

/* «Как мы работаем»: этапы вертикально — слева круг с цифрой, справа текст, между кругами линия */
@media(min-width:861px){
  .steps--6{grid-template-columns:1fr;row-gap:28px;max-width:640px}
  .steps--6 li{display:grid;grid-template-columns:44px 1fr;column-gap:20px;padding:0;align-items:center}
  .steps--6 li:before{left:22px;right:auto;top:44px;bottom:-28px;width:1px;height:auto}
  .steps--6 li:nth-child(3):before{display:block}
  .steps--6 li:last-child:before{display:none}
  .steps--6 h3{margin-top:0}
}
.steps--6 li:before{background:#c9c5bb}

/* «Как мы работаем» (На заказ): заголовок слева, этапы справа; между кругом и текстом горизонтальная линия */
@media(min-width:861px){
  .turnkey .wrap:has(.steps--6){display:grid;grid-template-columns:1fr 1fr;column-gap:56px;align-items:start}
  .turnkey .wrap:has(.steps--6) h2{grid-column:1;grid-row:1}
  .steps--6{grid-column:2;grid-row:1;margin-top:0;max-width:none;row-gap:24px}
  .steps--6 li{grid-template-columns:44px 1fr;column-gap:76px;align-items:center}
  .steps--6 li:before,.steps--6 li:nth-child(3):before,.steps--6 li:last-child:before{display:block;left:52px;right:auto;top:50%;bottom:auto;width:60px;height:1px;background:#c9c5bb}
}
@media(min-width:861px){
  .turnkey .wrap:has(.steps--6){grid-template-columns:340px 1fr;column-gap:40px}
  .steps--6 li{column-gap:150px}
  .steps--6 li:before,.steps--6 li:nth-child(3):before,.steps--6 li:last-child:before{width:134px;left:54px}
}
@media(min-width:861px){
  .steps--6 li{column-gap:200px}
  .steps--6 li:before,.steps--6 li:nth-child(3):before,.steps--6 li:last-child:before{left:56px;width:176px}
}
.steps--6 h3{font-size:16px;font-weight:500}
@media(min-width:861px){
  .steps--6 li{column-gap:360px}
  .steps--6 li:before,.steps--6 li:nth-child(3):before,.steps--6 li:last-child:before{width:336px}
}
/* «Два салона в Москве» сразу после «Частых вопросов»: общий отступ 88px, а не 176px */
.faq + .salons{padding-top:0}
@media(max-width:860px){.faq + .salons{padding-top:0}}
@media (min-width:861px){.phero--full .hero__photo img[src*="cue.jpg"]{object-position:50% 50%}}
/* карточки видов киев: круг с фото над заголовком */
.kd__ph{display:block;width:72px;height:72px;border-radius:50%;object-fit:cover;background:#fff;border:1px solid var(--line);margin-bottom:18px}
/* «Кий ручной работы»: фото во всю высоту текстового блока */
@media(min-width:861px){
  .salon:has(#master-title) .salon__in{align-items:stretch}
  .salon:has(#master-title) .salon__photo{aspect-ratio:auto;min-height:100%}
  .salon:has(#master-title) .salon__in>:last-child{align-self:center}
}
/* цитаты на страницах: тёмно-зелёный */
.salon__quote,.turnkey__quote{color:var(--accent)}
.salon__quote cite,.turnkey__quote cite{color:var(--mut)}
/* «Два салона»: кнопки в обеих карточках меньше */
.sc__cta .btn{height:34px;padding:0 10px;font-size:13px;gap:6px}
.sc__cta .btn svg{width:16px;height:16px}
.sc__body--photo .sc__cta .btn{height:34px;padding:0 10px;font-size:13px}
/* «Дизайнерам»: линия под первым экраном на всю ширину, фото прилегает к ней вплотную */
.phero--full + .facts{padding-top:0;border-top:1px solid var(--line)}
.phero--full + .facts .facts__in{border-top:0}
.facts b{font-weight:500}
/* цифры «Дизайнерам»: расстояние от текста до линий сверху и снизу одинаковое */
@media(min-width:861px){
  .phero--full + .facts{padding-bottom:0}
  .phero--full + .facts .facts__in{padding-top:47px;padding-bottom:48px}
}
@media(max-width:860px){
  .phero--full + .facts{padding-bottom:0}
  .phero--full + .facts .facts__in{padding-top:27px;padding-bottom:28px}
}
/* «Профессиональный бильярд в интерьере проекта»: фото по высоте текстового блока, как в блоке про кии */
@media(min-width:861px){
  .salon:has(#play-title) .salon__in{align-items:stretch}
  .salon:has(#play-title) .salon__photo{aspect-ratio:auto;min-height:100%}
  .salon:has(#play-title) .salon__in>:last-child{align-self:center}
}
.footer__legal a{font-size:11px}
.price-dialog__sub{margin:-8px 0 18px;font-size:16px;color:var(--mut)}
.price-dialog__sub[hidden]{display:none}
/* карточка «Режим работы / телефон / адреса»: тёмно-зелёные иконки перед подписями */
.hours dt{display:flex;align-items:center;gap:8px}
.hours__i{flex:none;width:16px;height:16px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* «Салоны»: между первым экраном и блоком карт отступ не больше обычного */
.phero + .salons{padding-top:0}
.hours__i{stroke:none}
.hours__i .f{fill:var(--accent);stroke:var(--accent);stroke-width:1;stroke-linejoin:round}
.hours__i .w{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hours__i .wf{fill:#fff;stroke:none}
/* «Салоны»: первый экран на 100% высоты окна (шапка и хлебные крошки вычтены) */
@media (min-width:861px){
  .phero:has(.hours) .phero__in{min-height:max(420px,calc(100vh - 178px));min-height:max(420px,calc(100svh - 178px));align-items:center}
  .phero:has(.hours){padding-bottom:0}
}
@media (min-width:1280px){
  .phero:has(.hours) .phero__in{min-height:max(420px,calc(100vh - 146px));min-height:max(420px,calc(100svh - 146px))}
}

/* Политика и согласие: заголовок, хлебные крошки и расстояние между ними как на остальных страницах */
.legal{padding-top:0}
.legal h1{font-size:var(--h1);line-height:1.08;letter-spacing:-.02em;font-weight:700;margin:20px 0 28px}
@media(max-width:860px){.legal{padding-top:0}.legal h1{font-size:var(--h1-m);margin:12px 0 24px}}
.legal .crumbs a{color:var(--mut);text-decoration:none}
.legal .crumbs a:hover{color:var(--ink)}
/* документы: без анимации появления заголовков */
.legal .mo,.legal .mo.mo-in{opacity:1;transform:none;transition:none}
.legal h1{font-size:40px;line-height:1.15}
@media(max-width:860px){.legal h1{font-size:28px}}
.legal h1{margin-top:44px}
@media(max-width:860px){.legal h1{margin-top:28px}}
/* переход по «Маршрут до салона»: заголовок блока с картами не прячется под шапкой */
#salony{scroll-margin-top:130px}
@media(min-width:1280px){#salony{scroll-margin-top:96px}}
/* квиз, последний шаг на узких экранах: кнопки меньше и не выходят за край окна */
@media(max-width:860px){
  .pq__final .pq__nav{gap:8px}
  .pq__final .pq__back{flex:0 0 88px}
  .pq__final .pq__back,.pq__final .pq__submit{height:40px;padding:0 10px;font-size:14px;min-width:0}
  .pq__final .pq__submit{flex:1 1 0}
}
/* квиз, последний шаг: кнопки никогда не шире карточки; на очень узких экранах правая уходит на следующую строку */
@media(max-width:860px){
  .pq__final,.pq__form,.pq__final .pq__nav{max-width:100%;box-sizing:border-box}
  .pq__final .pq__nav{flex-wrap:wrap;padding-right:0}
  .pq__final .pq__submit{flex:1 1 150px;min-width:0;white-space:normal;line-height:1.15;height:auto;min-height:40px;padding:8px 12px;box-sizing:border-box}
  .pq__final .pq__back{flex:0 0 88px;box-sizing:border-box}
}
@media(max-width:400px){
  .pq__final .pq__back{flex:1 1 100%}
  .pq__final .pq__submit{flex:1 1 100%}
}
/* квиз, шаг «Во что играете»: столы целиком, без обрезки слева и справа */
.pq__opts--tables .pq__img,.pq__opts--tables .pq__img img{background:#fff}
.pq__opts--tables .pq__img img{object-fit:contain}
