/* ===== Шрифты: Forum (заголовки) + Golos Text (текст), локально, OFL ===== */
/* Старые имена Merriweather / Cormorant / Montserrat переназначены на новые шрифты —
   так весь существующий CSS (модалки, формы, футер) подхватывает их без правок. */
@font-face{font-family:'Forum';src:url(fonts/forum-cyr.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Forum';src:url(fonts/forum-lat.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Forum';src:url(fonts/forum-cyr.woff2) format('woff2');font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Forum';src:url(fonts/forum-lat.woff2) format('woff2');font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Merriweather';src:url(fonts/forum-cyr.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Merriweather';src:url(fonts/forum-lat.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Merriweather';src:url(fonts/forum-cyr.woff2) format('woff2');font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Merriweather';src:url(fonts/forum-lat.woff2) format('woff2');font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';src:url(fonts/forum-cyr.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Cormorant Garamond';src:url(fonts/forum-lat.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Cormorant Garamond';src:url(fonts/forum-cyr.woff2) format('woff2');font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Cormorant Garamond';src:url(fonts/forum-lat.woff2) format('woff2');font-weight:100 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos';src:url(fonts/golos-cyr-400.woff2) format('woff2');font-weight:100 449;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos';src:url(fonts/golos-lat-400.woff2) format('woff2');font-weight:100 449;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos';src:url(fonts/golos-cyr-500.woff2) format('woff2');font-weight:450 549;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos';src:url(fonts/golos-lat-500.woff2) format('woff2');font-weight:450 549;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos';src:url(fonts/golos-cyr-600.woff2) format('woff2');font-weight:550 900;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos';src:url(fonts/golos-lat-600.woff2) format('woff2');font-weight:550 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos';src:url(fonts/golos-cyr-400.woff2) format('woff2');font-weight:100 449;font-style:italic;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos';src:url(fonts/golos-lat-400.woff2) format('woff2');font-weight:100 449;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos';src:url(fonts/golos-cyr-500.woff2) format('woff2');font-weight:450 549;font-style:italic;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos';src:url(fonts/golos-lat-500.woff2) format('woff2');font-weight:450 549;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos';src:url(fonts/golos-cyr-600.woff2) format('woff2');font-weight:550 900;font-style:italic;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos';src:url(fonts/golos-lat-600.woff2) format('woff2');font-weight:550 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';src:url(fonts/golos-cyr-400.woff2) format('woff2');font-weight:100 449;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';src:url(fonts/golos-lat-400.woff2) format('woff2');font-weight:100 449;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';src:url(fonts/golos-cyr-500.woff2) format('woff2');font-weight:450 549;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';src:url(fonts/golos-lat-500.woff2) format('woff2');font-weight:450 549;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';src:url(fonts/golos-cyr-600.woff2) format('woff2');font-weight:550 900;font-style:normal;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';src:url(fonts/golos-lat-600.woff2) format('woff2');font-weight:550 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';src:url(fonts/golos-cyr-400.woff2) format('woff2');font-weight:100 449;font-style:italic;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';src:url(fonts/golos-lat-400.woff2) format('woff2');font-weight:100 449;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';src:url(fonts/golos-cyr-500.woff2) format('woff2');font-weight:450 549;font-style:italic;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';src:url(fonts/golos-lat-500.woff2) format('woff2');font-weight:450 549;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';src:url(fonts/golos-cyr-600.woff2) format('woff2');font-weight:550 900;font-style:italic;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';src:url(fonts/golos-lat-600.woff2) format('woff2');font-weight:550 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}

/* ======================================================================
   ТЕМА «ГИПСОТЕКА»: графит + мрамор. Подключается после основного <style>
   и перекрывает его. Префикс html — чтобы перебить и второй <style> в body.
   ====================================================================== */
:root{
  --g:#1d1d1e;        /* графит — тёмные секции */
  --g2:#252526;       /* графит светлее — подложки */
  --g3:#161617;       /* подвал */
  --marble:#ecebe8;   /* мрамор — текст на тёмном, кнопки */
  --stone:#9a978f;    /* приглушённый текст на тёмном */
  --line-d:#38383a;   /* линии на тёмном */
  --paper:#f2f1ee;    /* светлые секции */
  --ink:#1d1d1e;      /* текст на светлом */
  --ink2:#5d5a55;     /* приглушённый текст на светлом */
  --line-l:#d9d7d2;   /* линии на светлом */
  /* старые переменные — на новую палитру, чтобы модалки/формы перекрасились сами */
  --steel:#1d1d1e; --steel-dark:#000; --steel-deep:#1d1d1e;
  --dark:#1d1d1e; --dark-rgb:20,20,21; --navy:#1d1d1e;
  --head:#1d1d1e; --text:#4a4844;
  --soft:#c9c7c1;     /* вторичный текст покрупнее на тёмном */
}
html body{background:var(--paper);color:var(--ink);font-family:'Golos',sans-serif;-webkit-font-smoothing:antialiased}

/* ---------- кнопки ---------- */
html .btn{
  font-family:'Golos',sans-serif;font-size:15px;font-weight:500;
  background:var(--ink);color:var(--marble);
  border-radius:2px;padding:16px 28px;
  transition:background .2s ease;
}
html .btn:hover{background:#000}
html .btn:focus-visible,html a:focus-visible,html button:focus-visible{outline:2px solid #8a8780;outline-offset:3px}
/* на тёмных секциях — мраморная кнопка */
html .header .btn,html .mhero .btn,html .spec .btn,html .contact .btn{background:var(--marble);color:var(--g)}
html .header .btn:hover,html .mhero .btn:hover,html .spec .btn:hover,html .contact .btn:hover{background:#fff}

/* ---------- мессенджеры: тонкий контур вместо голубых кружков ---------- */
html .msgr{background:transparent;border:1px solid var(--line-d);width:38px;height:38px}
html .msgr svg{fill:var(--stone)}
html .msgr:hover{background:transparent;border-color:var(--stone);transform:none}
html .msgr:hover svg{fill:var(--marble)}
html .msgr--onsteel{border-color:var(--line-d)}
html .msgr--onsteel svg{fill:var(--stone)}

/* ---------- шапка ---------- */
html .header{background:transparent;transition:background .3s ease,border-color .3s ease;border-bottom:1px solid transparent}
html .header.is-solid,html .header:hover{background:rgba(242,241,238,.94);box-shadow:none;border-bottom-color:var(--line-d);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
html .header__inner{max-width:1320px;padding:0 40px}
html .logo,html .header.is-solid .logo,html .header:hover .logo{font-family:'Forum',serif;font-weight:400;font-size:30px;letter-spacing:.05em;color:var(--marble)}
html .logo__sub{display:inline-block;margin-left:-26px;font:400 12.5px/1.3 'Golos',sans-serif;color:var(--stone);white-space:nowrap}
html .nav{margin-left:5vw}
html .nav a,html .header.is-solid .nav a,html .header:hover .nav a{color:var(--stone);font-size:15px;font-weight:400;letter-spacing:0}
html .nav a:hover{color:var(--marble);opacity:1}
html .header__avatar{display:none}
html .header__phone,html .header.is-solid .header__phone,html .header:hover .header__phone{color:var(--marble);font-size:15px;font-weight:500}
html .header .btn{padding:12px 20px;font-size:14px}

/* ---------- новый первый экран ---------- */
.mhero{background:var(--g);color:var(--marble)}
.mhero__inner{max-width:1320px;margin:0 auto;padding:calc(var(--hdr-h) + 40px) 40px 0}
.mhero__top{display:grid;grid-template-columns:1.7fr 1fr;gap:56px;align-items:end}
.mhero h1{font-family:'Forum',serif;font-weight:400;font-size:clamp(44px,5vw,76px);line-height:1.02;letter-spacing:-.005em;text-wrap:balance}
.mhero__lead{max-width:31em;margin-top:26px;font-size:18px;line-height:1.6;color:var(--soft)}
.mhero__actions{display:flex;gap:28px;align-items:center;margin-top:32px;flex-wrap:wrap}
.mhero__alt{font-size:15px;color:var(--stone);text-decoration:none;border-bottom:1px solid var(--line-d);padding-bottom:3px;transition:color .2s,border-color .2s}
.mhero__alt:hover{color:var(--marble);border-color:var(--stone)}
.mhero__side{justify-self:end;max-width:24em;border-left:1px solid var(--line-d);padding-left:24px;color:var(--stone);font-size:15px;line-height:1.6}
.mhero__side b{display:block;color:var(--marble);font:400 23px/1.3 'Forum',serif;margin-bottom:6px}
.hall{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:48px}
.hall__item{position:relative;display:block;overflow:hidden;aspect-ratio:3/3.4;background:var(--g2);color:var(--marble);text-decoration:none;cursor:pointer}
.hall__item img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.82);transition:transform .9s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.hall__item::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,rgba(18,18,19,.94),rgba(18,18,19,0))}
.hall__item:hover img,.hall__item:focus-visible img{transform:scale(1.045);filter:brightness(1)}
.hall__cap{position:absolute;z-index:1;left:16px;right:16px;bottom:14px;font:400 20px/1.2 'Forum',serif}
.hall__cap em{display:block;margin-top:4px;font:400 12.5px/1.4 'Golos',sans-serif;font-style:normal;color:var(--stone)}
.mhero__foot{display:flex;justify-content:space-between;gap:20px;padding:20px 0 44px;color:var(--stone);font-size:14px}
.mhero__foot a{color:var(--marble);text-decoration:none;border-bottom:1px solid var(--line-d)}
.mhero__foot a:hover{border-color:var(--stone)}
@media (prefers-reduced-motion:reduce){.hall__item img{transition:none}.hall__item:hover img{transform:none}}

/* ---------- общая типографика заголовков секций ---------- */
html .about__name,html .cases__title,html .spec__title,html .reviews__title,html .articles__title,html .news__title,html .cta__title,html .contact__title,html .modal__title{
  font-family:'Forum',serif;font-weight:400;letter-spacing:-.003em;line-height:1.08;
  font-size:clamp(34px,3.6vw,52px);
}
html .reviews__title strong,html .reviews__title em,html .cta__title em,html .contact__title strong,html .contact__title em{font-weight:400;font-style:normal}

/* ---------- о юристе (светлая) ---------- */
html .about{background:var(--paper)}
html .about__band-inner{max-width:1320px;padding:96px 40px 0}
html .about__name{color:var(--ink)}
html .about__card{background:var(--paper);border-radius:0;color:var(--ink)}
html .about__grid{max-width:1320px;padding:48px 40px 96px;grid-template-columns:380px 1fr;gap:80px}
html .about__video-wrap{border-radius:0;background:#d8d6d1}
html .about__video-wrap img{filter:none}
html .about__content{gap:34px}
html .about__block h3{font-family:'Forum',serif;font-weight:400;font-size:28px;color:var(--ink);margin-bottom:10px}
html .about__block p{font-size:16px;line-height:1.7;color:var(--text);max-width:36em}

/* ---------- разбор ситуаций (светлая) ---------- */
html .cases{background:var(--paper);color:var(--ink);border-top:1px solid var(--line-l)}
html .cases__inner{max-width:1320px;padding:88px 40px 96px}
html .cases__lead{font-size:16px;color:var(--ink2);margin-bottom:44px;max-width:34em}
html .cases__grid{gap:0;border-top:1px solid var(--ink)}
html .case{border:none;border-bottom:1px solid var(--line-l);border-radius:0;background:transparent;padding:26px 28px 26px 0;gap:10px;transition:background .25s ease,padding .25s ease}
html .case:nth-child(3n+2),html .case:nth-child(3n+3){padding-left:28px;border-left:1px solid var(--line-l)}
html .case:hover,html .case:focus{background:#e9e8e4;box-shadow:none;transform:none;border-color:var(--line-l)}
html .case:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
html .case__cat{font-size:13.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink2)}
html .case__title{font-family:'Forum',serif;font-weight:400;font-size:25px;line-height:1.2;color:var(--ink)}
html .case__result{font-size:15px;color:var(--text)}
html .case__meta{font-size:13.5px;color:#8a8780}
@media (max-width:900px){
  html .case:nth-child(3n+2),html .case:nth-child(3n+3){padding-left:0;border-left:none}
  html .case:nth-child(2n){padding-left:22px;border-left:1px solid var(--line-l)}
  html .case{padding-right:22px}
}
@media (max-width:620px){
  html .case,html .case:nth-child(2n){padding:22px 0;border-left:none}
  html .cases__inner{padding:64px 18px 64px}
}

/* ---------- принципы (тёмная, без фото) ---------- */
html .cta{background:var(--g)}
html .cta__banner{background:var(--g);padding:112px max(40px,calc((100vw - 1320px)/2 + 40px))}
html .cta__bg,html .cta__banner::before{display:none}
html .cta__title{color:var(--marble);max-width:16em}
html .cta__cols{max-width:none;gap:0;margin-top:64px;border-top:1px solid var(--line-d)}
html .cta__col{padding:30px 32px 0 0}
html .cta__col + .cta__col{padding-left:32px;border-left:1px solid var(--line-d)}
html .cta__icon{stroke:var(--stone);width:34px;height:34px;margin-bottom:22px}
html .cta__col h3{font-family:'Forum',serif;font-weight:400;font-size:28px;color:var(--marble)}
html .cta__col p{font-size:15.5px;color:var(--stone);max-width:28ch}
@media (max-width:900px){
  html .cta__banner{padding:72px 18px}
  html .cta__col,html .cta__col + .cta__col{padding:24px 0 0;border-left:none}
  html .cta__col + .cta__col{border-top:1px solid var(--line-d)}
  html .cta__cols{gap:24px}
}

/* ---------- специализация (тёмная, скульптуры крупно) ---------- */
html .spec{background:var(--g2);color:var(--marble)}
html .spec__inner{max-width:1320px;padding:104px 40px 112px}
html .spec__title{color:var(--marble);margin-bottom:36px}
html .spec__tabs{display:flex;flex-wrap:wrap;gap:4px 28px;max-width:none;border-bottom:1px solid var(--line-d)}
html .spec__tab{font-family:'Golos',sans-serif;font-size:15.5px;font-weight:400;color:var(--stone);background:none;border:none;border-radius:0;padding:12px 0 14px;position:relative;white-space:nowrap}
html .spec__tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:transparent;transition:background .2s}
html .spec__tab:hover{color:var(--marble);background:none}
html .spec__tab.is-active{color:var(--marble);background:none}
html .spec__tab.is-active::after{background:var(--marble)}
html .spec__content{margin-top:56px;grid-template-columns:440px 1fr;gap:80px}
html .spec__img-wrap{border-radius:0;background:var(--g)}
html .spec__text h3{font-family:'Forum',serif;font-weight:400;font-size:clamp(32px,3.4vw,48px);line-height:1.1;color:var(--marble);margin-bottom:22px}
html .spec__text p{font-size:17px;line-height:1.7;color:var(--soft);max-width:32em}
@media (max-width:900px){
  html .spec__inner{padding:72px 18px 80px}
  html .spec__tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -18px;padding:0 18px}
  html .spec__tabs::-webkit-scrollbar{display:none}
  html .spec__tab{white-space:nowrap}
  html .spec__content{grid-template-columns:1fr;gap:32px;margin-top:36px}
  html .spec__img-wrap{max-width:none}
}

/* ---------- отзывы (светлая) ---------- */
html .reviews{background:var(--paper)}
html .reviews__inner{max-width:1320px;padding:104px 40px}
html .reviews__title{color:var(--ink)}
html .reviews__pill{border:1px solid var(--line-l);border-radius:2px;color:var(--ink);background:transparent;font-family:'Golos',sans-serif}
html .reviews__pill:hover{background:#e9e8e4}
html .reviews__pill--accent{background:var(--ink);color:var(--marble);border-color:var(--ink)}
html .reviews__pill--accent:hover{background:#000}
html .review{background:#fff;border-radius:0;border:1px solid var(--line-l);padding:32px 32px 28px;color:var(--ink)}
html .review__avatar{background:#e4e2de;color:var(--ink);border-radius:2px;width:48px;height:48px;font-size:15px;font-weight:500}
html .review__name{font-weight:500;color:var(--ink)}
html .review__date{color:#8a8780}
html .review__stars{color:var(--ink);font-size:15px;letter-spacing:4px}
html .review blockquote{font-size:16px;line-height:1.65;color:var(--text)}
html .reviews__nav{border:1px solid var(--line-l);background:#fff;color:var(--ink);border-radius:2px}
html .reviews__nav:hover{background:#e9e8e4}
html .reviews__dot{background:var(--line-l);border-radius:1px;height:2px}
html .reviews__dot.on{background:var(--ink)}
@media (max-width:900px){html .reviews__inner{padding:72px 18px}}

/* ---------- запись (полоса) ---------- */
html .signup{background:var(--paper)}
html .signup__inner{max-width:1320px;padding:0 40px 104px}
html .signup__banner{max-width:none;border-radius:0;background:var(--g);color:var(--marble);padding:48px 56px}
html .signup__text{font-family:'Forum',serif;font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.2}
html .signup__btn{background:var(--marble);color:var(--g);border-radius:2px;padding:16px 28px;font-size:15px}
html .signup__btn:hover{background:#fff;box-shadow:none;transform:none}
html .signup__phone{color:var(--marble);font-size:15px}
@media (max-width:760px){html .signup__inner{padding:0 18px 72px}html .signup__banner{padding:36px 24px;border-radius:0}}

/* ---------- статьи (светлая) ---------- */
html .articles{background:var(--paper);color:var(--ink);border-top:1px solid var(--line-l)}
html .articles__inner{max-width:1320px;padding:96px 40px 104px}
html .articles__title{color:var(--ink)}
html .articles__grid{gap:48px 40px}
html .article__img{border-radius:0;background:#dedcd7}
html .article__img img{filter:grayscale(.35)}
html .article__link:hover .article__img img{filter:grayscale(0)}
html .article h3{font-family:'Forum',serif;font-weight:400;font-size:24px;line-height:1.2;color:var(--ink)}
html .article__link:hover h3{color:#000;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
html .article p{font-size:15px;color:var(--text)}
html .article__more,html .articles__all,html .hero__all{font-family:'Golos',sans-serif;font-style:normal;font-weight:500;font-size:15px;color:var(--ink);border-bottom:1px solid var(--line-l);padding-bottom:2px}
html .article__more:hover,html .articles__all:hover{opacity:1;border-color:var(--ink)}
@media (max-width:900px){html .articles__inner{padding:72px 18px}}

/* ---------- новости права ---------- */
html .news{background:var(--g2)}
html .news__inner{max-width:1320px;padding:88px 40px}
html .news__item{border-radius:0;box-shadow:none;background:var(--g);border:1px solid var(--line-d)}
html .news__item-title{color:var(--marble)}
html .news__meta{color:var(--stone)}
html .news__eff-date{background:transparent;border:1px solid var(--line-d);color:var(--stone);border-radius:2px}
html .news__sub{color:var(--stone)}

/* ---------- контакты (тёмная) ---------- */
html .contact{background:var(--g);color:var(--marble)}
html .contact__inner{max-width:1320px;padding:112px 40px 96px;align-items:end}
html .contact__title{color:var(--marble);font-size:clamp(40px,4.6vw,68px);line-height:1.04}
html .contact__card{background:transparent;border:1px solid var(--line-d);border-radius:0;padding:40px}
html .contact__card h3{font-family:'Forum',serif;font-weight:400;font-size:28px;color:var(--marble);max-width:none}
html .contact__card p{font-size:15.5px;line-height:1.6;color:var(--stone)}
html .contact__btn{background:var(--marble);color:var(--g);border-radius:2px;padding:16px 28px;font-size:15px}
html .contact__btn:hover{background:#fff;transform:none;box-shadow:none}
html .contact__channels{justify-content:flex-start}
html .contact__phone{color:var(--marble);font-size:15px}
html .contact__phone-icon{display:none}
@media (max-width:860px){html .contact__inner{padding:80px 18px 64px}html .contact__card{padding:28px 22px}}

/* ---------- подвал ---------- */
html .footer{background:var(--g3);color:var(--stone);border-top:1px solid var(--line-d)}
html .footer__inner{max-width:1320px;padding:64px 40px 32px}
html .footer__badge{background:transparent;border:1px solid var(--line-d);border-radius:0}
html .footer__badge-logo{font-family:'Forum',serif;font-weight:400;color:var(--marble)}
html .footer__badge-text{font-family:'Golos',sans-serif;font-style:normal;font-weight:400;font-size:13px;color:var(--stone)}
html .footer__req{font-size:14px;color:var(--stone)}
html .footer__contacts a{color:var(--marble);font-size:14px}
html .footer__qr-img{border-radius:0;border-color:var(--line-d)}
html .footer__qr span{color:#77746e}
html .footer__col-title{font-family:'Forum',serif;font-weight:400;font-size:20px;color:var(--marble)}
html .footer__nav a,html .footer__docs a{color:var(--stone);font-size:14px}
html .footer__nav a:hover,html .footer__docs a:hover{color:var(--marble)}
html .footer__bottom{border-top-color:var(--line-d);color:#77746e}

/* ---------- модалки и формы (светлые панели) ---------- */
html .modal__panel{border-radius:2px;background:var(--paper);color:var(--text)}
html .modal__title{color:var(--ink);font-size:clamp(28px,2.6vw,38px)}
html #consultModal .modal__title{font-size:clamp(26px,2.4vw,32px)}
html .modal__close{border-radius:2px;background:#e4e2de;color:var(--ink)}
html .modal__close:hover{background:#d8d6d1}
html .modal__badge{border-color:var(--line-l);color:var(--ink2);border-radius:2px}
html .cform__field input,html .cform__field textarea,html .quiz__opt{border-radius:2px;border-color:#cfccc6;background:#fff;font-family:'Golos',sans-serif}
html .cform__field input:focus,html .cform__field textarea:focus{border-color:var(--ink)}
html .cform__consent input{border-radius:2px}
html .cform__back{font-family:'Golos',sans-serif;font-style:normal;font-weight:500;font-size:15px;color:var(--ink2)}
html .done__vcf,html .cookiebar__btn{border-radius:2px;border-color:var(--ink);color:var(--ink)}
html .cookiebar{border-radius:2px}
html .cookiebar a,html .cform__consent a,html .done__alt a{color:var(--ink)}
html .case__block h4{font-family:'Forum',serif;font-weight:400;font-size:21px}
html .case__block p{font-size:15px}
html .price-group h3{font-family:'Forum',serif;font-weight:400}

/* ---------- телефон ---------- */
@media (max-width:900px){
  html .header__inner{padding:0 18px}
  html .logo__sub{display:none}
  .mhero__inner{padding:calc(var(--hdr-h) + 20px) 18px 0}
  .mhero__top{grid-template-columns:1fr;gap:32px}
  .mhero h1{font-size:44px;line-height:1.04}
  .mhero__lead{font-size:16.5px}
  .mhero__side{justify-self:start}
  .hall{grid-template-columns:repeat(6,64vw);overflow-x:auto;scroll-snap-type:x mandatory;margin:36px -18px 0;padding:0 18px;scrollbar-width:none}
  .hall::-webkit-scrollbar{display:none}
  .hall__item{scroll-snap-align:start;aspect-ratio:3/3.6}
  .mhero__foot{flex-direction:column;gap:6px;padding-bottom:36px}
  html .about__band-inner{padding:72px 18px 0}
  html .about__grid{grid-template-columns:1fr;gap:36px;padding:36px 18px 64px}
  html .about__media{max-width:none}
  html .about__card{border-radius:0}
}
@media (max-width:560px){
  html .header .btn{padding:10px 14px;font-size:13px}
  html .msgr{width:34px;height:34px}
  html .header__phone{display:none}
}
html .header__right{gap:10px}
html .header__phone{margin:0 10px 0 6px}
html .spec__tab{flex:none}
@media (max-width:900px){
  html .footer__inner{padding:56px 18px 28px}
  .hall{scroll-padding-left:18px}
}

/* ======================================================================
   СТРАНИЦЫ СТАТЕЙ (article-*.html): светлая бумага, графитовая шапка
   ====================================================================== */
html body:has(.article-page){background:var(--paper);color:var(--ink)}
html body:has(.article-page) .header{background:var(--g);box-shadow:none;border-bottom:1px solid var(--line-d)}
html body:has(.article-page) .header .logo{color:var(--marble)}
html .article-page{max-width:760px;padding:72px 32px 96px}
html .article-page__back{font-family:'Golos',sans-serif;font-style:normal;font-weight:500;font-size:15px;color:var(--ink2);border-bottom:1px solid var(--line-l);padding-bottom:2px;margin-bottom:36px}
html .article-page__back:hover{opacity:1;color:var(--ink);border-color:var(--ink)}
html .article-page h1{font-family:'Forum',serif;font-weight:400;font-size:clamp(36px,4.4vw,56px);line-height:1.06;color:var(--ink);margin-bottom:28px;text-wrap:balance}
html .article-page__date{font-size:14px;color:#8a8780}
html .article-page__img{border-radius:0;background:#dedcd7;margin-bottom:40px}
html .article-page__img img{filter:grayscale(.35)}
html .article-page p{font-size:17px;line-height:1.75;color:var(--text)}
html .article-page p.lead{font-family:'Forum',serif;font-style:normal;font-weight:400;font-size:clamp(22px,2.2vw,27px);line-height:1.4;color:var(--ink);margin-bottom:32px}
html .article-page h2{font-family:'Forum',serif;font-weight:400;font-size:clamp(26px,2.6vw,32px);line-height:1.15;color:var(--ink);margin:44px 0 16px}
html .article-page li{font-size:17px;line-height:1.7;color:var(--text);padding-left:26px}
html .article-page li::before{left:2px;top:.85em;width:12px;height:1px;border-radius:0;background:var(--ink)}
html .article-page p.verdict{font-family:'Forum',serif;font-weight:400;font-size:26px;color:var(--ink)}
html .article-page__cta{border-radius:0;background:var(--g);color:var(--marble);padding:36px 40px;margin-top:56px}
html .article-page__cta p{font-family:'Forum',serif;font-weight:400;font-size:24px;line-height:1.3;color:var(--marble)}
html .article-page__cta .btn{background:var(--marble);color:var(--g)}
html .article-page__cta .btn:hover{background:#fff}
@media (max-width:640px){
  html .article-page{padding:44px 18px 64px}
  html .article-page__cta{padding:28px 22px}
}

/* ======================================================================
   СВЕТЛЫЙ ВАРИАНТ: тёмными остаются только «Специализация» и подвал.
   Светлые блоки получают те же правила с переставленными токенами:
   --marble становится цветом текста/кнопки, --g — фоном.
   ====================================================================== */
html .header,html .mhero,html .cta,html .contact,html .news,html .signup__banner,html .article-page__cta{
  --marble:#1d1d1e; --g:#f2f1ee; --g2:#e7e6e2; --stone:#6a675f; --line-d:#d6d4cf; --soft:#4a4844;
}
/* скульптуры — тёмные фото в «рамах» на светлой стене: свои токены */
html .hall{--marble:#ecebe8; --stone:#a4a199; --g2:#252526}
html .header .btn:hover,html .mhero .btn:hover,html .contact .btn:hover,html .contact__btn:hover,html .signup__btn:hover,html .article-page__cta .btn:hover{background:#000;color:#f2f1ee}
html .about{border-top:1px solid var(--line-l)}
html .cta,html .cta__banner{background:#faf9f6}
html .signup__banner{background:#e9e8e4}
html .contact{background:#e9e8e4}
html .article-page__cta{background:#e9e8e4}
