/* =========================================================
   TRIS • STYLE.CSS v2 FOUNDATION (put this at TOP of file)
   Goal: stop specificity wars, unify tokens, base UI
   ========================================================= */

@layer tokens, reset, base, layout, components, sections, utilities, overrides;

/* -------------------- TOKENS -------------------- */
@layer tokens{
  :root{
    /* Calm paper */
    --bg: #E1D5C9;
    --surface: #FFFFFF;
    --surface-2: #F6F0E7;
    --surface-3: #E6D9CB;

    /* Ink */
    --ink: #151311;
    --muted: #6B5F55;

    /* Lines / shadows */
    --line: rgba(21,19,17,.12);
    --line-strong: rgba(21,19,17,.20);
    --shadow-1: 0 6px 18px rgba(0,0,0,.10);
    --shadow-2: 0 18px 48px rgba(0,0,0,.18);

    /* Dark brutal */
    --bg-brutal: #151311;
    --bg-brutal-2: #0A0503;
    --ink-on-dark: #F3F4F3;
    --muted-on-dark: #A6978B;

    /* Copper */
    --accent: #D7964F;
    --accent-hover: #C98946;
    --accent-press: #B87C3F;
    --on-accent: #0A0503;

    /* Glass */
    --glass-bg: rgba(255,255,255,.58);
    --glass-brd: rgba(255,255,255,.32);
    --glass-blur: 14px;

    /* Layout */
    --container: 1240px;
    --pad: clamp(14px, 2.6vw, 26px);
    --radius-lg: 22px;
    --radius-md: 16px;

    /* Focus */
    --focus-ring: 0 0 0 3px rgba(215,150,79,.35), 0 0 0 6px rgba(215,150,79,.18);

    /* Compatibility aliases (старые переменные) */
    --bg-main: var(--bg);
    --color-dark: var(--ink);
    --color-gray-dark: var(--muted);
    --color-border: var(--line);
    --color-accent: var(--accent);
    --color-hover: var(--accent-hover);
    --color-text-on-dark: var(--ink-on-dark);
      --color-light: var(--surface);
  }

  @media (prefers-color-scheme: dark){
    :root{
      --bg: #141311;
      --surface: #1A1916;
      --surface-2: #201F1B;
      --surface-3: #25241F;
      --ink: #F2F1EE;
      --muted: #CFC7B7;
      --line: rgba(255,255,255,.10);
      --line-strong: rgba(255,255,255,.18);
      --shadow-1: 0 10px 24px rgba(0,0,0,.45);
      --shadow-2: 0 28px 60px rgba(0,0,0,.55);
    }
  }
}

/* -------------------- RESET -------------------- */
@layer reset{
  *, *::before, *::after{ box-sizing: border-box; }
  html{ -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
  body{ margin: 0; }
  img, svg, video, canvas{ display:block; max-width:100%; height:auto; }
  input, button, textarea, select{ font: inherit; color: inherit; }
  button{ cursor: pointer; }
  a{ color: inherit; text-decoration: none; }
  ul, ol{ margin:0; padding:0; list-style:none; }
}

/* -------------------- BASE -------------------- */
@layer base{
  body{
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    background: var(--bg);
    color: var(--ink);
    line-height: 1.55;
    text-rendering: optimizeLegibility;
  }

  ::selection{
    background: rgba(215,150,79,.28);
  }

  h1,h2,h3,h4{
    margin: 0;
    color: var(--ink);
    letter-spacing: -0.02em;
  }

  p{ margin: 0; color: var(--muted); }

  .page{ min-height: 100dvh; }
}

/* -------------------- LAYOUT -------------------- */
@layer layout{
  .container{
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding-left: var(--pad);
    padding-right: var(--pad);
  }

  .section{
    padding-block: clamp(44px, 6vw, 76px);
  }

  .section.is-framed{
    position: relative;
  }
}

/* -------------------- COMPONENTS -------------------- */
@layer components{
  /* Buttons (единые) */
  .btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 48px;
    padding: 0 22px;

    border-radius: 999px;
    border: 1px solid transparent;

    font-weight: 650;
    font-size: 15px;
    letter-spacing: .01em;

    transition: transform .18s ease-out, box-shadow .18s ease-out, background-color .18s ease-out, border-color .18s ease-out, color .18s ease-out;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }

  .btn:focus-visible{
    outline: none;
    box-shadow: var(--focus-ring);
  }

  .btn:hover{ transform: translateY(-1px); }

  .btn--accent,
  .btn--primary{
    background: var(--accent);
    color: var(--on-accent);
    box-shadow: 0 14px 34px rgba(0,0,0,.18);
  }

  .btn--accent:hover,
  .btn--primary:hover{ background: var(--accent-hover); }

  .btn--accent:active,
  .btn--primary:active{ background: var(--accent-press); transform: translateY(0); }

  .btn--ghost{
    background: rgba(255,255,255,.06);
    border-color: var(--line);
    color: var(--ink);
    box-shadow: none;
  }

  .btn--ghost:hover{
    background: rgba(255,255,255,.22);
    border-color: rgba(215,150,79,.45);
    color: var(--ink);
  }

  /* Inputs (единые) */
  .custom-input input,
  .custom-input textarea,
  .custom-input select{
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;

    border-radius: 14px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.78);
    color: var(--ink);

    outline: none;
    transition: border-color .18s ease-out, box-shadow .18s ease-out, background-color .18s ease-out;
  }

  .custom-input textarea{ min-height: 120px; resize: vertical; }

  .custom-input input:focus,
  .custom-input textarea:focus,
  .custom-input select:focus{
    border-color: rgba(215,150,79,.55);
    box-shadow: var(--focus-ring);
    background: rgba(255,255,255,.92);
  }

  /* Cards base */
  .card{
    border-radius: var(--radius-lg);
    border: 1px solid var(--line);
    background: var(--surface);
    box-shadow: var(--shadow-1);
  }
}

/* -------------------- UTILITIES -------------------- */
@layer utilities{
  .visually-hidden{
    position:absolute!important;
    width:1px; height:1px;
    padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0);
    white-space:nowrap; border:0;
  }

  @media (prefers-reduced-motion: reduce){
    *{ scroll-behavior: auto !important; }
    * , *::before, *::after{ transition: none !important; animation: none !important; }
  }
}
@layer sections{
}

/* ============================================
   TRIS • HEADER (Dark editorial + glass + copper)
   HTML: .header.header--neo + .nav.nav--neo
   Only CSS. Mobile-first. Safe for prod.
   ============================================ */

.header.header--neo{
  --hdr-bg: rgba(10,5,3,.74);
  --hdr-bg-2: rgba(21,19,17,.62);
  --hdr-ink: var(--ink-on-dark, #F3F4F3);
  --hdr-muted: var(--muted-on-dark, #A6978B);
  --hdr-line: rgba(243,244,243,.12);
  --hdr-line-2: rgba(243,244,243,.18);

  --copper: var(--accent, #D7964F);
  --copper-hover: var(--accent-hover, #C98946);
  --copper-press: var(--accent-press, #B87C3F);

  position: sticky;
  top: 0;
  z-index: 1100;
  color: var(--hdr-ink);
  background:
    radial-gradient(900px 420px at 20% -10%, rgba(215,150,79,.14), transparent 58%),
    linear-gradient(180deg, var(--hdr-bg) 0%, var(--hdr-bg-2) 100%);
  border-bottom: 1px solid var(--hdr-line);
  box-shadow: 0 14px 40px rgba(0,0,0,.28);

  -webkit-backdrop-filter: blur(var(--glass-blur, 14px)) saturate(1.05);
          backdrop-filter: blur(var(--glass-blur, 14px)) saturate(1.05);
}

.header.header--neo.header--main{
  background:
    radial-gradient(900px 420px at 20% -10%, rgba(215,150,79,.18), transparent 60%),
    linear-gradient(180deg, rgba(10,5,3,.55) 0%, rgba(21,19,17,.38) 100%);
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
}

.header.header--neo .header__wrap{
  width: 100%;
  max-width: var(--container, 1240px);
  margin: 0 auto;
  padding: 10px var(--pad, clamp(14px, 2.6vw, 26px));
  display: flex;
  align-items: center;
  gap: clamp(10px, 1.6vw, 18px);
}

/* ---------------- BRAND ---------------- */

.header.header--neo .header__brand{
  flex: 0 0 auto;
  min-width: 0;
}

.header.header--neo .header__brand-link{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--hdr-ink);
  text-decoration: none;
  min-height: 44px;
}

.header.header--neo .header__brand-img{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  overflow: hidden;

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}

.header.header--neo .header__brand-img img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.25));
}

.header.header--neo .header__brand-text{
  display: inline-block;
  max-width: 28ch;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  font-weight: 650;
  letter-spacing: .02em;
  line-height: 1.1;
  font-size: 13px;
  color: rgba(243,244,243,.92);
}

@media (max-width: 767px){
  .header.header--neo .header__brand-text{
    max-width: 18ch;
    font-size: 12px;
    opacity: .92;
  }
}

/* ---------------- ACTIONS ---------------- */

.header.header--neo .header__actions{
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

.header.header--neo .header__meta{
  display: none;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  margin-right: 6px;
}

.header.header--neo .header__hours{
  font-size: 12px;
  line-height: 1.2;
  color: rgba(243,244,243,.72);
  letter-spacing: .02em;
  white-space: nowrap;
}

.header.header--neo .header__tel{
  font-size: 14px;
  font-weight: 650;
  line-height: 1.2;
  color: rgba(243,244,243,.92);
  text-decoration: none;
  white-space: nowrap;
}

@media (min-width: 1024px){
  .header.header--neo .header__meta{ display: flex; }
}

/* ---------------- BUTTONS (header variants) ---------------- */

.header.header--neo .btn{
  min-height: 44px;
  padding-inline: 16px;
  border-radius: 999px;
}

.header.header--neo .btn.btn--copper{
  background:
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0)) padding-box,
    linear-gradient(180deg, rgba(215,150,79,.85), rgba(215,150,79,.85)) border-box;
  background-color: rgba(215,150,79,.92);
  border: 1px solid rgba(215,150,79,.55);
  color: #0A0503;
  box-shadow: 0 16px 40px rgba(215,150,79,.18);
  font-weight: 700;
  letter-spacing: .01em;
}

.header.header--neo .btn.btn--copper:hover{
  background-color: var(--copper-hover);
  transform: translateY(-1px);
  box-shadow: 0 20px 54px rgba(215,150,79,.22);
}

.header.header--neo .btn.btn--copper:active{
  background-color: var(--copper-press);
  transform: translateY(0);
  box-shadow: 0 14px 34px rgba(0,0,0,.22);
}

.header.header--neo .btn.btn--icon{
  width: 44px;
  min-width: 44px;
  padding: 0;
  border-radius: 999px;

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(243,244,243,.14);
  color: rgba(243,244,243,.92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}

.header.header--neo .btn.btn--icon:hover{
  background: rgba(255,255,255,.10);
  border-color: rgba(215,150,79,.30);
  color: #FFFFFF;
  transform: translateY(-1px);
}

.header.header--neo .btn.btn--icon:active{
  transform: translateY(0);
}

/* Burger icon swap by aria-expanded */
.header.header--neo .header__burger .icon-close{ display: none; }
.header.header--neo .header__burger[aria-expanded="true"] .icon-open{ display: none; }
.header.header--neo .header__burger[aria-expanded="true"] .icon-close{ display: inline-flex; }

/* CTA visible on desktop; on mobile оставляем только бургер */
.header.header--neo .header__cta{ display: none; }
@media (min-width: 1024px){
  .header.header--neo .header__cta{ display: inline-flex; }
  .header.header--neo .header__burger{ display: none; }
}

/* ---------------- MENU: desktop (inline) ---------------- */

.header.header--neo .header__menu{
  flex: 1 1 auto;
  min-width: 0;
}

@media (min-width: 1024px){
  .header.header--neo .header__menu{
    position: static;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  .header.header--neo .header__menu-wrap{
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 2vw, 22px);

    width: 100%;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
  }

  /* В десктопном хедере не нужны верх/низ оффканваса */
  .header.header--neo .header__menu-top,
  .header.header--neo .header__menu-bottom{ display: none; }
}

/* ---------------- NAV (desktop + base) ---------------- */

.header.header--neo .nav.nav--neo{
  width: 100%;
}

.header.header--neo .nav.nav--neo .nav__list{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px clamp(10px, 1.4vw, 18px);
}

.header.header--neo .nav.nav--neo a{
  color: rgba(243,244,243,.88);
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
  line-height: 1;
  letter-spacing: .02em;
  padding: 10px 10px;
  border-radius: 999px;
  transition: background-color .18s ease-out, color .18s ease-out, transform .18s ease-out, border-color .18s ease-out;
}

.header.header--neo .nav.nav--neo a:hover{
  color: #FFFFFF;
  background: rgba(255,255,255,.08);
  transform: translateY(-1px);
}

.header.header--neo .nav.nav--neo a:focus-visible{
  outline: none;
  box-shadow: var(--focus-ring, 0 0 0 3px rgba(215,150,79,.34), 0 0 0 6px rgba(215,150,79,.18));
}

/* Dropdown (если есть подменю) */
@media (min-width: 1024px){
  .header.header--neo .nav__list > li{ position: relative; }

  .header.header--neo .nav__sublist{
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    min-width: 220px;
    padding: 10px;
    border-radius: 18px;
    background: rgba(15,13,10,.78);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 18px 48px rgba(0,0,0,.45);
    -webkit-backdrop-filter: blur(14px) saturate(1.05);
            backdrop-filter: blur(14px) saturate(1.05);

    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .18s ease-out, transform .18s ease-out, visibility .18s ease-out;
    z-index: 2;
  }

  .header.header--neo .nav__list > li:hover > .nav__sublist,
  .header.header--neo .nav__list > li:focus-within > .nav__sublist{
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .header.header--neo .nav__subitem + .nav__subitem{ margin-top: 4px; }

  .header.header--neo .nav__sublink{
    display: block;
    width: 100%;
    padding: 10px 12px;
    border-radius: 12px;
    color: rgba(243,244,243,.88);
    background: transparent;
  }

  .header.header--neo .nav__sublink:hover{
    background: rgba(255,255,255,.08);
    color: #FFFFFF;
    transform: none;
  }
}

/* ---------------- MOBILE: off-canvas ---------------- */

@media (max-width: 1023px){
  .header.header--neo .header__menu{
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: block;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease-out, visibility .22s ease-out;
  }

  /* Open state: JS обычно меняет aria-hidden -> false, но подстрахуемся классами */
  .header.header--neo .header__menu[aria-hidden="false"],
  .header.header--neo .header__menu.is-open,
  .header.header--neo .header__menu.open,
  .header.header--neo .header__menu--open{
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  .header.header--neo .header__menu-wrap{
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: min(92vw, 420px);

    display: flex;
    flex-direction: column;
    gap: 14px;

    padding: 18px 16px 16px;
    background:
      radial-gradient(900px 420px at 20% 0%, rgba(215,150,79,.14), transparent 55%),
      linear-gradient(180deg, rgba(10,5,3,.92) 0%, rgba(21,19,17,.86) 100%);
    border-left: 1px solid rgba(243,244,243,.14);
    box-shadow: -24px 0 60px rgba(0,0,0,.55);

    -webkit-backdrop-filter: blur(16px) saturate(1.05);
            backdrop-filter: blur(16px) saturate(1.05);

    transform: translateX(16px);
    transition: transform .22s ease-out;
  }

  .header.header--neo .header__menu[aria-hidden="false"] .header__menu-wrap,
  .header.header--neo .header__menu.is-open .header__menu-wrap,
  .header.header--neo .header__menu.open .header__menu-wrap,
  .header.header--neo .header__menu--open .header__menu-wrap{
    transform: translateX(0);
  }

  /* Menu top */
  .header.header--neo .header__menu-top{
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(243,244,243,.12);
  }

  .header.header--neo .header__brand-link--menu{
    justify-content: flex-start;
    width: 100%;
  }

  .header.header--neo .header__brand-link--menu .header__brand-text{
    color: rgba(243,244,243,.92);
    font-weight: 700;
    font-size: 14px;
  }

  /* Nav vertical */
  .header.header--neo .nav.nav--neo .nav__list{
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 6px;
    padding-top: 6px;
  }

  .header.header--neo .nav.nav--neo a{
    width: 100%;
    padding: 12px 12px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(243,244,243,.12);
    border-radius: 16px;
  }

  .header.header--neo .nav__sublist{
    margin: 8px 0 0 0;
    padding-left: 10px;
    border-left: 1px solid rgba(243,244,243,.10);
  }

  .header.header--neo .nav__subitem + .nav__subitem{ margin-top: 6px; }

  .header.header--neo .nav__sublink{
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(243,244,243,.10);
    border-radius: 14px;
    padding: 10px 12px;
    font-size: 13px;
  }

  /* Menu bottom */
  .header.header--neo .header__menu-bottom{
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid rgba(243,244,243,.12);
    display: grid;
    gap: 10px;
  }

  .header.header--neo .header__menu-phone{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 48px;
    border-radius: 16px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(243,244,243,.14);
    color: rgba(243,244,243,.92);
    font-weight: 700;
    letter-spacing: .02em;
    text-decoration: none;
  }

  .header.header--neo .header__menu-cta{
    width: 100%;
    min-height: 50px;
  }
}

/* ---------------- MOBILE: off-canvas (FINAL) ---------------- */
@media (max-width: 1023px){

  /* iOS: fixed + backdrop-filter bug.
     Убираем blur с самого header, переносим визуал на ::before */
  .header.header--neo{
    position: sticky;
    top: 0;
    isolation: isolate;

    background: transparent !important;
    border-bottom: 0 !important;
    box-shadow: none !important;

    -webkit-backdrop-filter: none !important;
            backdrop-filter: none !important;
  }

  .header.header--neo::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;

    background:
      radial-gradient(900px 420px at 20% -10%, rgba(215,150,79,.14), transparent 58%),
      linear-gradient(180deg, rgba(10,5,3,.74) 0%, rgba(21,19,17,.62) 100%);
    border-bottom: 1px solid rgba(243,244,243,.12);
    box-shadow: 0 14px 40px rgba(0,0,0,.28);

    -webkit-backdrop-filter: blur(var(--glass-blur, 14px)) saturate(1.05);
            backdrop-filter: blur(var(--glass-blur, 14px)) saturate(1.05);
  }

  .header.header--neo .header__wrap{
    position: relative;
    z-index: 1;
  }

  /* ОТКЛЮЧАЕМ отдельный overlay-элемент, чтобы не было двойного затемнения */
  .header.header--neo .header__overlay{
    display: none !important;
  }

  /* Fullscreen container */
  .header.header--neo .header__menu{
    position: fixed !important;
    inset: 0 !important;
    z-index: 1200 !important;

    display: flex !important;
    justify-content: flex-end !important;
    align-items: stretch !important;

    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease-out, visibility .22s ease-out;
  }

  /* Open state (под aria-hidden и под классы) */
  .header.header--neo .header__menu[aria-hidden="false"],
  .header.header--neo .header__menu.is-open,
  .header.header--neo .header__menu.open,
  .header.header--neo .header__menu--open{
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  /* Затемнение фона (один слой) */
  .header.header--neo .header__menu::before{
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(10,8,6,.62);
    -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
  }

  /* Right panel */
  .header.header--neo .header__menu-wrap{
    position: relative;
    z-index: 1;

    height: 100%;
    width: min(92vw, 420px);

    display: flex;
    flex-direction: column;
    gap: 14px;

    padding: max(18px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));

    background:
      radial-gradient(900px 420px at 20% 0%, rgba(215,150,79,.16), transparent 55%),
      linear-gradient(180deg, rgba(10,5,3,.94) 0%, rgba(21,19,17,.90) 100%);
    border-left: 1px solid rgba(243,244,243,.14);
    box-shadow: -24px 0 60px rgba(0,0,0,.55);

    transform: translateX(18px);
    transition: transform .22s ease-out;

    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  .header.header--neo .header__menu[aria-hidden="false"] .header__menu-wrap,
  .header.header--neo .header__menu.is-open .header__menu-wrap,
  .header.header--neo .header__menu.open .header__menu-wrap,
  .header.header--neo .header__menu--open .header__menu-wrap{
    transform: translateX(0);
  }

  /* Top */
  .header.header--neo .header__menu-top{
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(243,244,243,.12);
  }

  /* Nav vertical (читабельность) */
  .header.header--neo .nav.nav--neo .nav__list{
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 8px;
    padding-top: 6px;
  }

  .header.header--neo .nav.nav--neo a{
    width: 100%;
    padding: 14px 14px;

    font-size: 15px;
    line-height: 1.15;

    color: rgba(243,244,243,.96);
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(243,244,243,.18);
    border-radius: 16px;

    text-shadow: 0 1px 0 rgba(0,0,0,.35);
  }

  .header.header--neo .nav.nav--neo a:hover{
    background: rgba(255,255,255,.14);
  }

  /* Bottom */
  .header.header--neo .header__menu-bottom{
    margin-top: auto;
    padding-top: 12px;
    border-top: 1px solid rgba(243,244,243,.12);
    display: grid;
    gap: 10px;
  }

  .header.header--neo .header__menu-phone{
    font-size: 16px;
  }
}
/* --- PATCH: mobile menu links must be block/flex (full width) --- */
@media (max-width: 1023px){

  /* чтобы ul/li реально растягивались */
  .header.header--neo .nav.nav--neo,
  .header.header--neo .nav.nav--neo .nav__list,
  .header.header--neo .nav.nav--neo .nav__list > li{
    width: 100%;
  }

  /* ключ: <a> должен быть не inline */
  .header.header--neo .nav.nav--neo a{
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
  }

  /* если есть подменю */
  .header.header--neo .nav.nav--neo .nav__sublist,
  .header.header--neo .nav.nav--neo .nav__subitem{
    width: 100%;
  }

  .header.header--neo .nav.nav--neo .nav__sublink{
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
  }
}



/* =========================================================
   TRIS • TEMPLATE CSS v1 (theme--tbank)
   Покрывает разметку из шаблона: promo, trustbar, wt, portfolio,
   complexes, quiz-cta, about-block-premium, numbers-premium, quality,
   + базовые контейнеры/кнопки/секции/пейджер.
   ========================================================= */

/* -----------------------------
   TOKENS (scoped to theme)
------------------------------ */
body.theme--tbank{
  /* Typography */
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Editorial palette: brutal top + paper */
  --bg: #E1D5C9;
  --paper: #CDBFB0;
  --paper-2: #E1D5C9;
  --surface-1: #FFFFFF;
  --surface-2: #FBF9F4;
  --surface-3: #E6D9CB;

  --ink: #151311;
  --muted: #6B5F55;
  --line: rgba(21,19,17,.14);
  --line-strong: rgba(21,19,17,.22);

  --bg-brutal: #151311;
  --bg-brutal-2: #0A0503;
  --ink-on-dark: #F3F4F3;
  --muted-on-dark: #A6978B;

  --accent: #D7964F;       /* copper */
  --accent-hover: #C98946;
  --accent-press: #B87C3F;
  --on-accent: #0A0503;

  --shadow-1: 0 6px 18px rgba(0,0,0,.08);
  --shadow-2: 0 12px 36px rgba(0,0,0,.14);

  --glass-bg: rgba(255,255,255,.58);
  --glass-brd: rgba(255,255,255,.26);
  --glass-blur: 14px;

  --focus-ring: 0 0 0 3px rgba(215,150,79,.35), 0 0 0 6px rgba(215,150,79,.18);

  /* Aliases used in your old blocks */
  --bg-main: var(--paper-2);
  --color-dark: var(--ink);
  --color-gray-dark: var(--muted);
  --color-text-on-dark: var(--ink-on-dark);
  --color-border: var(--line);
  --color-accent: var(--accent);
  --color-hover: var(--accent-hover);

  background: var(--paper-2);
  color: var(--ink);
}

/* -----------------------------
   BASE / RESET
------------------------------ */
*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{ margin: 0; }
img, picture, svg{ display: block; max-width: 100%; height: auto; }
a{ color: inherit; }
button{ font: inherit; }

.wrapper{
  min-height: 100vh;
  overflow-x: clip;
}

/* Container */
.container{
  width: 100%;
  max-width: var(--container, 1240px);
  margin: 0 auto;
  padding-left: var(--pad, clamp(14px, 2.6vw, 26px));
  padding-right: var(--pad, clamp(14px, 2.6vw, 26px));
}

/* Section rhythm */
.section{
  padding-block: clamp(44px, 6vw, 80px);
}

.section__title{
  margin: 0 0 10px;
  font-weight: 750;
  font-size: clamp(22px, 2.2vw + 10px, 34px);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.section__subtitle{
  margin: 0 0 22px;
  color: var(--muted);
  line-height: 1.6;
  max-width: 70ch;
}

.is-framed{
  position: relative;
}

.is-framed::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(215,150,79,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.25));
  border-top: 1px solid rgba(255,255,255,.35);
  border-bottom: 1px solid rgba(0,0,0,.06);
  pointer-events: none;
}

.is-framed > .container{
  position: relative;
  z-index: 1;
}

/* Utilities */
.mb-120{ margin-bottom: clamp(56px, 8vw, 120px); }



/* -----------------------------
   BUTTON SYSTEM
------------------------------ */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  min-height: 48px;
  padding: 0 18px;

  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);

  background: var(--surface-1);
  color: var(--ink);

  text-decoration: none;
  cursor: pointer;

  font-weight: 650;
  font-size: 14px;
  letter-spacing: .01em;

  transition:
    transform .18s ease-out,
    box-shadow .18s ease-out,
    background-color .18s ease-out,
    border-color .18s ease-out,
    color .18s ease-out;
}

.btn:hover{ transform: translateY(-1px); box-shadow: var(--shadow-1); }
.btn:active{ transform: translateY(0); box-shadow: none; }
.btn:focus-visible{ outline: none; box-shadow: var(--focus-ring); }

.btn--accent{
  background: var(--accent);
  border-color: rgba(215,150,79,.55);
  color: var(--on-accent);
  box-shadow: 0 16px 40px rgba(215,150,79,.18);
}

.btn--accent:hover{ background: var(--accent-hover); box-shadow: 0 20px 54px rgba(215,150,79,.22); }
.btn--accent:active{ background: var(--accent-press); }

.btn--ghost{
  background: rgba(255,255,255,.20);
  border-color: rgba(255,255,255,.35);
  color: var(--ink-on-dark);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}

.btn--ghost:hover{
  background: rgba(255,255,255,.28);
  border-color: rgba(215,150,79,.55);
  color: #FFFFFF;
}

.btn--border{
  background: transparent;
  border-color: rgba(0,0,0,.18);
  color: var(--ink);
}

.btn--lime{
  background: linear-gradient(135deg, #D7FF6A, #B7F000);
  border-color: rgba(0,0,0,.18);
  color: #0A0503;
  box-shadow: 0 18px 44px rgba(0,0,0,.14);
}

.btn--lg{
  min-height: 64px;
  padding: 0 22px;
  border-radius: 20px;
}

/* -----------------------------
   PROMO / HERO
------------------------------ */
.promo{
  position: relative;
  min-height: calc(100 * var(--vh, 1vh) - 80px);
  overflow: hidden;
  color: var(--ink-on-dark);
  background: var(--bg-brutal);
}

.promo__img{
  position: absolute;
  inset: 0;
  z-index: 0;
}

.promo__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.02) contrast(1.06) brightness(.92);
}

/* overlay for readability */
.promo::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(1200px 520px at 22% 10%, rgba(215,150,79,.22), transparent 62%),
    linear-gradient(180deg, rgba(10,5,3,.68) 0%, rgba(10,5,3,.52) 40%, rgba(10,5,3,.66) 100%);
  pointer-events: none;
}

.promo__wrap{
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  padding-top: clamp(110px, 14vh, 170px);
  padding-bottom: clamp(56px, 10vh, 110px);
}

.promo__glass{
  width: min(680px, 100%);
  padding: 26px 26px 22px;
  border-radius: 26px;

  background:
    radial-gradient(900px 420px at 20% 0%, rgba(215,150,79,.14), transparent 60%),
    rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 26px 70px rgba(0,0,0,.42);

  -webkit-backdrop-filter: blur(18px) saturate(1.05);
          backdrop-filter: blur(18px) saturate(1.05);
}

.promo__kicker{
  margin: 0 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;

  font-weight: 750;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(243,244,243,.86);
}

.promo__head{ margin: 0 0 16px; }

.promo__title{
  margin: 0 0 10px;
  font-weight: 850;
  font-size: clamp(30px, 3.6vw, 46px);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.promo__title--accent{
  color: var(--accent);
}

.promo__subtitle{
  margin: 0;
  max-width: 62ch;
  color: rgba(243,244,243,.78);
  font-size: 15px;
  line-height: 1.65;
}

.promo__facts{
  list-style: none;
  margin: 14px 0 18px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}

.promo__fact{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  color: rgba(243,244,243,.88);
  font-weight: 650;
  font-size: 13px;
}

.promo__dot{
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), rgba(255,255,255,0) 62%),
              var(--accent);
  box-shadow: 0 0 0 1px rgba(215,150,79,.40);
}

.promo__btns{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.promo__btns .btn{
  min-height: 52px;
  padding-inline: 20px;
}

.promo__trust{
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  color: rgba(243,244,243,.74);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 700;
}

.promo__trust-sep{
  width: 6px;
  height: 6px;
  border-radius: 99px;
  background: rgba(215,150,79,.85);
  box-shadow: 0 0 0 1px rgba(215,150,79,.30);
}

@media (max-width: 767px){
  .promo{ min-height: auto; }
  .promo__wrap{ padding-top: 106px; padding-bottom: 36px; }
  .promo__glass{ padding: 18px 16px 16px; border-radius: 20px; }
  .promo__subtitle{ font-size: 13px; }
  .promo__facts{ gap: 8px 10px; }
  .promo__fact{ padding: 9px 10px; font-size: 12px; }
  .promo__btns{ flex-direction: column; }
  .promo__btns .btn{ width: 100%; }
}

/* -----------------------------
   TRUSTBAR
------------------------------ */
.trustbar.section.is-framed{
  padding-block: 18px;
  background: transparent;
}

.trustbar.section.is-framed::before{
  background: none;
  border: 0;
}

.trustbar .container{
  display: flex;
  justify-content: center;
}

.trustbar__list{
  list-style: none;
  margin: 0;
  padding: 10px 16px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 14px;

  border-radius: 999px;
  background:
    radial-gradient(circle at 0% 0%, rgba(255,255,255,.92) 0, rgba(255,255,255,.60) 42%, rgba(255,255,255,0) 100%),
    rgba(255,255,255,.70);
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: var(--shadow-1);
  -webkit-backdrop-filter: blur(12px) saturate(1.02);
          backdrop-filter: blur(12px) saturate(1.02);
}

.trustbar__item{
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(251,249,244,.85);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 4px 10px rgba(0,0,0,.04);
  white-space: nowrap;
}

.trustbar__item span{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-weight: 750;
  color: rgba(21,19,17,.62);
}

.trustbar__item span::before{
  content:"";
  width: 7px;
  height: 7px;
  border-radius: 99px;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), rgba(255,255,255,0) 62%),
              var(--accent);
  box-shadow: 0 0 0 1px rgba(215,150,79,.32);
}

@media (max-width: 767px){
  .trustbar.section.is-framed{ padding-block: 12px; }
  .trustbar__list{ padding: 10px 10px; border-radius: 18px; }
  .trustbar__item span{ font-size: 11px; }
}




/* ============================================
   WORK TYPES (wt) • Premium Editorial (Copper)
   HTML НЕ ТРОГАТЬ. Только стили.
   ============================================ */

.wt{
  /* Fallbacks (если токены проекта не определены) */
  --wt-paper: var(--paper, #E1D5C9);
  --wt-paper-2: var(--paper-2, #F6F0E7);
  --wt-surface: var(--surface, #FFFFFF);
  --wt-surface-2: var(--surface-2, #FBF9F4);
  --wt-ink: var(--ink, #151311);
  --wt-muted: var(--muted, #6B5F55);
  --wt-line: var(--line, rgba(21,19,17,.14));
  --wt-line-strong: var(--line-strong, rgba(21,19,17,.22));

  --wt-accent: var(--accent, #D7964F);
  --wt-accent-hover: var(--accent-hover, #C98946);
  --wt-accent-press: var(--accent-press, #B87C3F);
  --wt-on-accent: var(--on-accent, #0A0503);

  --wt-radius-xl: 28px;
  --wt-radius-lg: 22px;
  --wt-radius-md: 16px;

  --wt-shadow-1: var(--shadow-1, 0 10px 28px rgba(0,0,0,.10));
  --wt-shadow-2: var(--shadow-2, 0 18px 46px rgba(0,0,0,.14));

  --wt-glass-bg: var(--glass-bg, rgba(255,255,255,.62));
  --wt-glass-brd: var(--glass-brd, rgba(255,255,255,.34));
  --wt-glass-blur: var(--glass-blur, 12px);

  padding: clamp(44px, 6vw, 86px) 0;
  color: var(--wt-ink);
  background:
    radial-gradient(900px 420px at 14% 18%, rgba(215,150,79,.18), transparent 60%),
    radial-gradient(760px 380px at 86% 24%, rgba(21,19,17,.08), transparent 62%),
    linear-gradient(180deg, var(--wt-paper-2) 0%, var(--wt-paper) 55%, var(--wt-paper-2) 100%);
  position: relative;
  overflow: clip;
}

.wt::before{
  content:"";
  position:absolute;
  inset: 0;
  pointer-events:none;
  opacity:.55;
  background:
    linear-gradient(90deg, transparent 0%, rgba(21,19,17,.06) 18%, transparent 40%),
    linear-gradient(0deg, transparent 0%, rgba(21,19,17,.05) 22%, transparent 46%);
  mix-blend-mode: multiply;
}

.wt .container{
  position: relative;
}

/* Head */
.wt__head{
  max-width: 980px;
  margin: 0 auto clamp(22px, 3vw, 34px);
  text-align: center;
}

.wt__title{
  margin: 0 0 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.05;
  font-size: clamp(26px, 3.2vw, 54px);
}

.wt__subtitle{
  margin: 0 auto;
  max-width: 760px;
  color: var(--wt-muted);
  font-size: clamp(14px, 1.25vw, 18px);
  line-height: 1.55;
}

/* Layout */
.wt__layout{
  display: grid;
  grid-template-columns: minmax(260px, 340px) 1fr;
  gap: clamp(16px, 3vw, 36px);
  align-items: start;
}

/* Aside card */
.wt__aside{
  border-radius: var(--wt-radius-xl);
  background: linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.56) 100%);
  border: 1px solid rgba(21,19,17,.10);
  box-shadow: var(--wt-shadow-1);
  backdrop-filter: blur(var(--wt-glass-blur));
  -webkit-backdrop-filter: blur(var(--wt-glass-blur));
  padding: clamp(16px, 2vw, 22px);
}

.wt__aside-title{
  margin: 0 0 14px;
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(21,19,17,.78);
}

.wt__tabs{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0 0 14px;
}

.wt__tab{
  appearance: none;
  border: 1px solid rgba(21,19,17,.18);
  background: rgba(255,255,255,.56);
  color: var(--wt-ink);
  border-radius: 18px;
  padding: 14px 16px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 13px;
  text-align: center;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease;
  position: relative;
}

.wt__tab:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  border-color: rgba(21,19,17,.24);
}

.wt__tab:active{
  transform: translateY(0px);
}

.wt__tab.is-active{
  border-color: rgba(215,150,79,.55);
  background:
    linear-gradient(180deg, rgba(215,150,79,.20) 0%, rgba(255,255,255,.62) 100%);
  box-shadow: 0 16px 34px rgba(215,150,79,.14), 0 10px 26px rgba(0,0,0,.10);
}

.wt__tab.is-active::before{
  content:"";
  position:absolute;
  left: 14px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  transform: translateY(-50%);
  background: var(--wt-accent);
  box-shadow: 0 0 0 6px rgba(215,150,79,.18);
}

/* Full list button */
.wt__list-btn{
  width: 100%;
  border-radius: 18px;
  border: 1px solid rgba(21,19,17,.18);
  background: rgba(255,255,255,.40);
  padding: 14px 16px;
  cursor: pointer;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 12px;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
  position: relative;
}

.wt__list-btn::after{
  content:"→";
  position:absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .75;
}

.wt__list-btn:hover{
  transform: translateY(-2px);
  border-color: rgba(215,150,79,.40);
  background: rgba(255,255,255,.58);
  box-shadow: 0 12px 26px rgba(0,0,0,.10);
}

.wt__list-btn:active{ transform: translateY(0px); }

/* Stage / image frame */
.wt__stage{
  min-width: 0;
}

.wt__cover{
  border-radius: var(--wt-radius-xl);
  background: linear-gradient(180deg, rgba(255,255,255,.74) 0%, rgba(255,255,255,.52) 100%);
  border: 1px solid rgba(21,19,17,.10);
  box-shadow: var(--wt-shadow-2);
  backdrop-filter: blur(var(--wt-glass-blur));
  -webkit-backdrop-filter: blur(var(--wt-glass-blur));
  padding: clamp(10px, 1.4vw, 16px);
}

.wt__image{
  position: relative;
  border-radius: calc(var(--wt-radius-xl) - 8px);
  overflow: hidden;
  background: rgba(21,19,17,.06);
  border: 1px solid rgba(21,19,17,.10);
}

.wt__image img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transform: scale(1.001);
}

/* Hotspots container (JS fills buttons) */
.wt__hotspots{
  position:absolute;
  inset:0;
  pointer-events: none; /* включим у кнопок отдельно */
}

/* Hotspot button */
.wt__hotspot{
  position:absolute;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.86);
  background: var(--wt-accent);
  box-shadow:
    0 0 0 8px rgba(215,150,79,.14),
    0 10px 18px rgba(0,0,0,.18);
  transform: translate(-50%, -50%);
  pointer-events: auto;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.wt__hotspot::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:999px;
  background: radial-gradient(circle, rgba(215,150,79,.22), transparent 62%);
  opacity:.95;
  animation: wtPulse 1.9s ease-in-out infinite;
}

.wt__hotspot:hover{
  transform: translate(-50%, -50%) scale(1.08);
  filter: saturate(1.05);
}

.wt__hotspot:active{
  transform: translate(-50%, -50%) scale(0.98);
}

@keyframes wtPulse{
  0%, 100%{ transform: scale(.88); opacity:.70; }
  50%{ transform: scale(1.06); opacity:1; }
}

/* Tooltip */
.wt__tooltip{
  position:absolute;
  min-width: 240px;
  max-width: 320px;
  border-radius: 18px;
  padding: 14px 14px 12px;
  background: var(--wt-glass-bg);
  border: 1px solid rgba(21,19,17,.12);
  box-shadow: 0 18px 44px rgba(0,0,0,.22);
  backdrop-filter: blur(var(--wt-glass-blur));
  -webkit-backdrop-filter: blur(var(--wt-glass-blur));
  color: var(--wt-ink);
  z-index: 3;
}

.wt__tooltip[hidden]{ display:none !important; }

.wt__tooltip-title{
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: 12px;
  margin: 0 0 8px;
}

.wt__tooltip-list{
  margin: 0;
  padding: 0 0 0 16px;
  color: rgba(21,19,17,.84);
  font-size: 13px;
  line-height: 1.45;
}

.wt__tooltip-list li{ margin: 4px 0; }

/* Bottom */
.wt__bottom{
  margin-top: clamp(18px, 2.6vw, 30px);
  padding-top: clamp(14px, 2vw, 18px);
  border-top: 1px solid rgba(21,19,17,.12);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 18px;
}

.wt__price{
  display:flex;
  align-items: baseline;
  gap: clamp(10px, 1.6vw, 18px);
  flex-wrap: wrap;
}

.wt__price-prefix{
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(21,19,17,.68);
}

.wt__price-value{
  font-weight: 700;
  letter-spacing: .02em;
  font-size: clamp(40px, 5vw, 84px);
  line-height: 1;
}

.wt__price-unit{
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(21,19,17,.68);
}

/* CTA button (не ломаем ваш .btn, добавляем акцент только в рамках блока) */
.wt__cta.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  min-height: 52px;
  padding: 14px 18px;
  border-radius: 16px;
  border: 1px solid rgba(21,19,17,.10);
  background: linear-gradient(180deg, var(--wt-accent) 0%, var(--wt-accent-hover) 100%);
  color: var(--wt-on-accent);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(215,150,79,.22), 0 10px 28px rgba(0,0,0,.14);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.wt__cta.btn:hover{
  transform: translateY(-2px);
  filter: saturate(1.03);
  box-shadow: 0 18px 40px rgba(215,150,79,.26), 0 14px 34px rgba(0,0,0,.18);
}

.wt__cta.btn:active{ transform: translateY(0px); }

/* Focus (WCAG) */
.wt__tab:focus-visible,
.wt__list-btn:focus-visible,
.wt__hotspot:focus-visible,
.wt__cta.btn:focus-visible,
.wt-modal__close:focus-visible,
.wt-modal__footer .btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(215,150,79,.35), 0 0 0 6px rgba(215,150,79,.18);
}

/* ===========================
   MODAL
   aria-hidden=true -> скрыта
   =========================== */

.wt-modal{
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: grid;
  place-items: center;
  padding: clamp(14px, 3vw, 28px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
}

.wt-modal[aria-hidden="false"]{
  opacity: 1;
  pointer-events: auto;
}

.wt-modal__overlay{
  position:absolute;
  inset:0;
  background: rgba(10,5,3,.62);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.wt-modal__dialog{
  position: relative;
  width: min(1160px, 100%);
  max-height: min(78vh, 820px);
  overflow: hidden;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.86) 100%);
  border: 1px solid rgba(255,255,255,.42);
  box-shadow: 0 34px 90px rgba(0,0,0,.45);
}

.wt-modal__close{
  position:absolute;
  top: 12px;
  right: 12px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(21,19,17,.14);
  background: rgba(255,255,255,.62);
  cursor: pointer;
  display:grid;
  place-items:center;
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}

.wt-modal__close:hover{
  transform: translateY(-1px);
  border-color: rgba(215,150,79,.40);
  background: rgba(255,255,255,.78);
}

.wt-modal__close span{
  font-size: 26px;
  line-height: 1;
  color: rgba(21,19,17,.72);
}

.wt-modal__title{
  margin: 0;
  padding: 22px 64px 14px 22px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-size: clamp(18px, 2vw, 28px);
  border-bottom: 1px solid rgba(21,19,17,.10);
}

.wt-modal__grid{
  padding: 18px 22px 10px;
  overflow: auto;
  max-height: calc(min(78vh, 820px) - 170px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.wt-modal__section{
  border-radius: 18px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(21,19,17,.10);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  padding: 14px 14px 12px;
}

.wt-modal__section h4{
  margin: 0 0 10px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 900;
}

.wt-modal__section ul{
  margin: 0;
  padding: 0 0 0 16px;
  color: rgba(21,19,17,.84);
  font-size: 13px;
  line-height: 1.45;
}

.wt-modal__section li{ margin: 4px 0; }

.wt-modal__footer{
  padding: 14px 22px 20px;
  border-top: 1px solid rgba(21,19,17,.10);
  display:flex;
  gap: 12px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

/* В рамках модалки делаем кнопки в том же дорогом стиле */
.wt-modal__footer .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 48px;
  padding: 12px 16px;
  border-radius: 16px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  text-decoration:none;
  border: 1px solid rgba(21,19,17,.12);
  background: linear-gradient(180deg, var(--wt-accent) 0%, var(--wt-accent-hover) 100%);
  color: var(--wt-on-accent);
  box-shadow: 0 14px 30px rgba(215,150,79,.20), 0 10px 22px rgba(0,0,0,.12);
}

.wt-modal__footer .btn.btn--border{
  background: rgba(255,255,255,.62);
  color: rgba(21,19,17,.82);
  box-shadow: 0 10px 22px rgba(0,0,0,.08);
}

.wt-modal__footer .btn:hover{ transform: translateY(-1px); }

/* Responsive */
@media (max-width: 980px){
  .wt__layout{
    grid-template-columns: 1fr;
  }
  .wt__tabs{
    flex-direction: row;
    flex-wrap: wrap;
  }
  .wt__tab{
    flex: 1 1 160px;
    text-align: center;
  }
  .wt-modal__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px){
  .wt__tabs{ gap: 10px; }
  .wt__tab{ flex: 1 1 100%; }
  .wt__bottom{
    flex-direction: column;
    align-items: flex-start;
  }
  .wt__cta.btn{
    width: 100%;
  }
  .wt-modal__grid{
    grid-template-columns: 1fr;
  }
  .wt__tooltip{
    min-width: 220px;
    max-width: 92%;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .wt__tab,
  .wt__list-btn,
  .wt__cta.btn,
  .wt__hotspot{ transition: none; }
  .wt__hotspot::before{ animation: none; }
}
/* ================================================
   TRIS • COMPLEXES (ЖК, где ведём ремонт)
   ================================================ */

.complexes{
  background: var(--surface-2, #FBF9F4);
  padding-top: clamp(40px, 6vh, 56px);
  padding-bottom: clamp(40px, 6vh, 56px);
}

.complexes__head{
  margin-bottom: 20px;
}

.complexes__eyebrow{
  margin: 0 0 4px;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sand-700, #8E836E);
}

.complexes__title{
  margin: 0 0 8px;
  font-size: clamp(22px, 4.6vw, 28px);
  line-height: 1.25;
  font-weight: 800;
  color: var(--ink, #2A2A28);
}

.complexes__subtitle{
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  max-width: 40rem;
  color: var(--muted, #5B564B);
}

/* ---------- Лента брендов ЖК ---------- */

.complexes__brands{
  display: flex;
  gap: 12px;
  margin: 20px 0 24px;
  padding-bottom: 4px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}

.complexes__brands::-webkit-scrollbar{
  height: 4px;
}
.complexes__brands::-webkit-scrollbar-thumb{
  background: rgba(0,0,0,.16);
  border-radius: 999px;
}

.complexes-brand{
  flex: 0 0 180px;
  scroll-snap-align: start;
  border-radius: 16px;
  background: var(--surface-1, #FFFFFF);
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.complexes-brand__image{
  position: relative;
  padding-top: 68%; /* соотношение сторон */
  overflow: hidden;
}
.complexes-brand__image img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition: transform .35s ease-out;
}
.complexes-brand:hover .complexes-brand__image img{
  transform: scale(1.06);
}

.complexes-brand__meta{
  padding: 10px 12px 12px;
}
.complexes-brand__name{
  margin: 0 0 2px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink, #2A2A28);
}
.complexes-brand__count{
  margin: 0;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--sand-700, #8E836E);
}

/* ---------- Карточка партнёра ---------- */

.complexes__partner{
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 22px;
  padding: 14px 16px;
  border-radius: 18px;
  background: var(--surface-1, #FFFFFF);
  box-shadow: var(--shadow-1, 0 6px 18px rgba(0,0,0,.08));
}

.complexes-partner__logo{
  flex: 0 0 64px;
  height: 64px;
  border-radius: 14px;
  border: 1px solid var(--line, #E6E0D5);
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 0 0,
    rgba(201,165,106,.15), transparent 60%);
}

.complexes-partner__logo-text{
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink, #2A2A28);
}

.complexes-partner__body{
  flex: 1 1 auto;
}

.complexes-partner__title{
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink, #2A2A28);
}

.complexes-partner__list{
  margin: 0;
  padding-left: 0;
  list-style: none;
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted, #5B564B);
}
.complexes-partner__list li + li{
  margin-top: 4px;
}
.complexes-partner__list li::before{
  content:"";
  display:inline-block;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--accent, #6F805F);
  margin-right: 6px;
}

/* ---------- Список ЖК ---------- */

.complexes__list{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.complex-card{
  display: flex;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 18px;
  background: var(--surface-1, #FFFFFF);
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

.complex-card__image{
  flex: 0 0 112px;
  border-radius: 12px;
  overflow: hidden;
  background: #ccc;
}
.complex-card__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition: transform .35s ease-out;
}
.complex-card:hover .complex-card__image img{
  transform: scale(1.06);
}

.complex-card__body{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.complex-card__title{
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--ink, #2A2A28);
}

.complex-card__status{
  margin: 0;
  font-size: 13px;
  color: var(--muted, #5B564B);
}

.complex-card__link{
  margin-top: 4px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  color: var(--accent, #6F805F);
}
.complex-card__link:hover{
  text-decoration: underline;
}

/* ---------- Адаптация для планшета / десктопа ---------- */

@media (min-width: 768px){
  .complexes__brands{
    margin-bottom: 28px;
  }

  .complexes__partner{
    padding: 18px 20px;
  }

  .complex-card{
    padding: 14px 16px;
  }
  .complex-card__image{
    flex-basis: 140px;
  }
}

@media (min-width: 1024px){
  .complexes{
    padding-top: 56px;
    padding-bottom: 64px;
  }

  .complexes__top{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
  }

  .complexes__list{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 20px;
  }
}
/* ===== COMPLEXES • marquee-лента ЖК ===== */

.complexes__brands{
  display: flex;
  gap: 16px;
  padding-block: 12px;
  overflow-x: auto;            /* скролл будет крутить JS */
  scroll-behavior: auto;
  scrollbar-width: none;
}
.complexes__brands::-webkit-scrollbar{
  display: none;
}

/* карточка в ленте — фиксированная ширина, чтобы ряд был ровный */
.complexes-brand{
  flex: 0 0 220px;             /* можно подправить цифру под твой дизайн */
  max-width: 220px;
}
@media (min-width: 768px){
  .complexes-brand{
    flex-basis: 240px;
    max-width: 240px;
  }
}
.complexes__brands{
  position: relative;
  overflow: hidden;           /* прячем горизонтальный скролл */
}

.complexes__brands-track{
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  will-change: transform;
}

.complexes-brand{
  flex: 0 0 auto;
  min-width: 220px;           /* чтобы карточки не сжимались до точки */
}
/* ================================================
   TRIS • COMPLEXES v2
   ЖК, в которых делаем ремонт
   ================================================ */

.complexes{
  position: relative;
  padding-block: clamp(48px, 7vw, 72px);
}

/* Заголовок блока */
.complexes__head{
  max-width: 780px;
  margin-bottom: clamp(20px, 3vw, 28px);
}
.complexes__eyebrow{
  margin: 0 0 6px;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sand-700,#8E836E);
}
.complexes__title{
  margin: 0 0 10px;
  font-size: clamp(26px, 2.1vw + 1rem, 32px);
  line-height: 1.2;
  color: var(--ink,#2A2A28);
}
.complexes__subtitle{
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--muted,#5B564B);
}

/* ===== Верхняя бесшовная лента ЖК ===== */

.complexes__brands{
  position: relative;
  overflow: hidden;
  margin-top: clamp(18px, 3vw, 24px);
  margin-bottom: clamp(26px, 3.4vw, 32px);
}

/* лёгкий fade по краям как у Domeo */
.complexes__brands::before,
.complexes__brands::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:42px;
  z-index: 2;
  pointer-events:none;
}
.complexes__brands::before{
  left:0;
  background: linear-gradient(90deg, var(--bg,#FAF7F0) 0%, transparent 100%);
}
.complexes__brands::after{
  right:0;
  background: linear-gradient(270deg, var(--bg,#FAF7F0) 0%, transparent 100%);
}

/* трек для анимации (его создаёт JS initComplexesMarquee) */
.complexes__brands-track{
  display:flex;
  flex-wrap: nowrap;
  gap: 18px;
  will-change: transform;
}

/* отдельная карточка ЖК в ленте */
.complexes-brand{
  flex: 0 0 auto;
  min-width: 220px;
  max-width: 260px;
  border-radius: 18px;
  background: var(--surface-1,#FFFFFF);
  box-shadow: var(--shadow-1,0 6px 18px rgba(0,0,0,.08));
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.complexes-brand__image{
  position: relative;
  overflow: hidden;
  border-radius: 18px 18px 0 0;
  aspect-ratio: 4 / 3;
}
.complexes-brand__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
  transform: scale(1.02);
  transition: transform .35s ease-out;
}

/* текст под картинкой */
.complexes-brand__meta{
  padding: 10px 14px 14px;
}
.complexes-brand__name{
  margin: 0 0 4px;
  font-weight: 600;
  font-size: 15px;
  color: var(--ink,#2A2A28);
}
.complexes-brand__count{
  margin: 0;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sand-700,#8E836E);
}

/* hover: чуть поднимаем и зумим картинку */
.complexes-brand:hover img{
  transform: scale(1.06);
}

/* ===== Карточка-резюме «12 ЖК» ===== */

.complexes__partner{
  margin-bottom: clamp(28px, 4vw, 36px);
  padding: 18px 20px;
  border-radius: 20px;
  background: var(--surface-1,#FFFFFF);
  box-shadow: var(--shadow-1,0 6px 18px rgba(0,0,0,.08));
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 18px;
}
.complexes-partner__logo{
  width: 72px;
  height: 72px;
  border-radius: 999px;
  border: 1px solid var(--line,#E6E0D5);
  display:grid;
  place-items:center;
  background: radial-gradient(circle at 30% 0%, rgba(201,165,106,.16), transparent 60%),
              var(--surface-2,#FBF9F4);
}
.complexes-partner__logo-text{
  font-weight: 700;
  font-size: 15px;
  text-align:center;
}
.complexes-partner__title{
  margin: 0 0 4px;
  font-weight: 600;
  font-size: 15px;
}
.complexes-partner__list{
  margin: 0;
  padding-left: 1.2em;
  font-size: 14px;
  line-height: 1.6;
  color: var(--muted,#5B564B);
}

/* ===== Нижний список ЖК ===== */

.complexes__list{
  display: grid;
  gap: 18px;
}
@media (min-width: 880px){
  .complexes__list{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

.complex-card{
  display:flex;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  background: var(--surface-1,#FFFFFF);
  box-shadow: var(--shadow-1,0 6px 18px rgba(0,0,0,.08));
}
.complex-card__image{
  flex: 0 0 140px;
  border-radius: 14px;
  overflow:hidden;
}
.complex-card__image img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.complex-card__body{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap: 4px;
}
.complex-card__title{
  margin: 0;
  font-weight: 600;
  font-size: 15px;
}
.complex-card__status{
  margin: 0;
  font-size: 13px;
  color: var(--sand-700,#8E836E);
}
.complex-card__link{
  margin-top: 6px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  color: var(--accent,#6F805F);
}

/* Мобилка */
@media (max-width: 599px){
  .complexes__partner{
    grid-template-columns: 1fr;
  }
  .complex-card{
    flex-direction: column;
  }
  .complex-card__image{
    flex-basis:auto;
    width:100%;
    max-width: 100%;
  }
}
/* ===== TRIS • COMPLEXES • marquee-fix (final) ===== */

/* Контейнер ленты ЖК */
.complexes__brands{
  position: relative;
  overflow: hidden;      /* прячем края */
  scroll-snap-type: none;/* отключаем снап, мешающий анимации */
}

/* Внутренний трек, который крутит JS */
.complexes__brands-track{
  display: flex;
  flex-wrap: nowrap;
  gap: 18px;
  will-change: transform;
}

/* Карточка в ленте — ведём себя как элемент ряда */
.complexes-brand{
  flex: 0 0 auto;
}
/* =========================================
   TRIS • QUIZ CTA (Quick calc trigger)
   HTML: .quiz-cta ... .quiz-cta__btn (data-quiz-open)
   Safe scope: .quiz-cta
   ========================================= */

.quiz-cta{
  --qc-pad-y: clamp(18px, 3.6vw, 44px);
  --qc-r: 22px;

  --qc-dark: var(--bg-brutal, #151311);
  --qc-dark-2: var(--bg-brutal-2, #0A0503);
  --qc-ink: var(--ink-on-dark, #F3F4F3);
  --qc-line: rgba(243,244,243,.14);

  --qc-copper: var(--accent, #D7964F);
  --qc-copper-2: rgba(215,150,79,.22);

  position: relative;
  padding: var(--qc-pad-y) 0;
  overflow: hidden;

  /* calm-to-brutal blend so it sits anywhere */
  background:
    radial-gradient(1100px 520px at 18% 30%, rgba(215,150,79,.10), transparent 60%),
    radial-gradient(880px 520px at 92% 70%, rgba(215,150,79,.08), transparent 62%),
    linear-gradient(180deg, rgba(10,5,3,.18), rgba(10,5,3,.00));
}

.quiz-cta::before{
  content:"";
  position:absolute;
  inset:-2px 0 -2px 0;
  pointer-events:none;
  opacity:.9;

  /* subtle editorial frame lines */
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent),
    linear-gradient(180deg, rgba(215,150,79,.10), transparent 28%, transparent 72%, rgba(215,150,79,.08));
  mix-blend-mode: soft-light;
}

.quiz-cta__inner{
  position: relative;
  display: flex;
  justify-content: center;
}

.quiz-cta__action{
  width: 100%;
  max-width: 980px;
  display: flex;
  justify-content: center;
}

/* Make CTA feel “expensive”, regardless of what .btn--lime is elsewhere */
.quiz-cta .quiz-cta__btn{
  --btn-r: 999px;

  width: min(760px, 100%);
  min-height: 70px;
  padding: 18px 22px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;

  border-radius: var(--btn-r);
  cursor: pointer;

  color: var(--qc-ink);
  text-align: center;
  text-decoration: none;

  /* dark glass + copper edge (premium) */
  background:
    radial-gradient(900px 240px at 50% 0%, rgba(215,150,79,.16), transparent 62%),
    linear-gradient(180deg, rgba(10,5,3,.88), rgba(21,19,17,.82));
  border: 1px solid var(--qc-line);
  box-shadow:
    0 18px 46px rgba(0,0,0,.30),
    0 0 0 1px rgba(215,150,79,.06) inset;

  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

/* If your global .btn has background colors — force override only inside CTA */
.quiz-cta .btn.btn--lime{
  background: unset;
}

.quiz-cta .quiz-cta__btn:hover{
  transform: translateY(-2px);
  border-color: rgba(215,150,79,.38);
  box-shadow:
    0 26px 70px rgba(0,0,0,.36),
    0 0 0 1px rgba(215,150,79,.08) inset;
}

.quiz-cta .quiz-cta__btn:active{
  transform: translateY(-1px);
}

.quiz-cta .quiz-cta__btn:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 3px rgba(215,150,79,.30),
    0 26px 70px rgba(0,0,0,.36);
  border-color: rgba(215,150,79,.48);
}

/* Title + subline */
.quiz-cta__btn-main{
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(16px, 1.4vw, 20px);
  line-height: 1.15;
  text-shadow: 0 14px 40px rgba(0,0,0,.35);
}

.quiz-cta__btn-sub{
  font-weight: 800;
  font-size: 12px;
  line-height: 1.1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(243,244,243,.74);
}

/* Subtle “copper dot” underline effect */
.quiz-cta__btn-sub::before{
  content:"";
  display:inline-block;
  width: 28px;
  height: 1px;
  margin: 0 10px 4px 0;
  background: linear-gradient(90deg, transparent, var(--qc-copper), transparent);
  opacity: .75;
  vertical-align: middle;
}

.quiz-cta__btn-sub::after{
  content:"";
  display:inline-block;
  width: 28px;
  height: 1px;
  margin: 0 0 4px 10px;
  background: linear-gradient(90deg, transparent, var(--qc-copper), transparent);
  opacity: .75;
  vertical-align: middle;
}

@media (max-width: 640px){
  .quiz-cta .quiz-cta__btn{
    min-height: 66px;
    padding: 16px 16px;
    border-radius: 18px; /* чуть более “карточно”, выглядит дороже на мобилке */
  }

  .quiz-cta__btn-sub{
    font-size: 11px;
    letter-spacing: 0.16em;
  }
}

@media (prefers-reduced-motion: reduce){
  .quiz-cta .quiz-cta__btn{
    transition: none;
  }
}


/* =========================================================
   OPTIONAL (strongly recommended): QUIZ MODAL basic styling
   Scope: .quiz-modal (calc-quiz)
   ========================================================= */

.quiz-modal[hidden]{ display:none !important; }

.quiz-modal{
  position: fixed;
  inset: 0;
  z-index: 1300;
  padding: clamp(14px, 3vw, 24px);
  display: grid;
  place-items: center;
}

.quiz-modal__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(10,5,3,.62);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.quiz-modal__panel{
  position: relative;
  width: min(980px, 100%);
  max-height: min(92vh, 980px);
  overflow: auto;

  border-radius: 22px;
  background: var(--paper, #E1D5C9);
  border: 1px solid rgba(21,19,17,.14);
  box-shadow: 0 38px 120px rgba(0,0,0,.55);
}

.quiz-modal__close{
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;

  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;

  color: var(--qc-ink);
  background: linear-gradient(180deg, rgba(10,5,3,.86), rgba(21,19,17,.78));
  border: 1px solid rgba(243,244,243,.14);
  box-shadow: 0 14px 40px rgba(0,0,0,.35);

  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease;
}

.quiz-modal__close:hover{
  transform: translateY(-1px);
  border-color: rgba(215,150,79,.42);
}

.quiz-modal__close:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(215,150,79,.30), 0 14px 40px rgba(0,0,0,.35);
}

/* Quiz head */
.quiz{
  padding: clamp(18px, 2.4vw, 28px);
}

.quiz__top{
  padding: clamp(16px, 2vw, 20px);
  border-radius: 18px;

  background:
    radial-gradient(980px 360px at 18% 15%, rgba(215,150,79,.14), transparent 58%),
    linear-gradient(180deg, rgba(10,5,3,.92), rgba(21,19,17,.86));
  border: 1px solid rgba(243,244,243,.14);
  color: var(--qc-ink);
  box-shadow: 0 18px 46px rgba(0,0,0,.22);
}

.quiz__stepno{
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(243,244,243,.74);
}

.quiz__progress{
  height: 8px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(243,244,243,.10);
  border: 1px solid rgba(243,244,243,.10);
  margin: 0 0 14px;
}

.quiz__progressbar{
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(215,150,79,.70), rgba(215,150,79,.28));
}

.quiz__title{
  margin: 0 0 10px;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: clamp(18px, 2vw, 26px);
  line-height: 1.15;
}

.quiz__subtitle{
  margin: 0;
  color: rgba(243,244,243,.78);
  line-height: 1.6;
  font-size: 14px;
}

/* Steps visibility (JS toggles .is-active) */
.quiz-step{ display:none; }
.quiz-step.is-active{ display:block; }

.quiz__body{
  margin-top: 14px;
}

/* Titles */
.quiz-step__title{
  margin: 0 0 8px;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--ink, #151311);
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.2;
}

.quiz-step__subtitle{
  margin: 0 0 14px;
  color: color-mix(in srgb, var(--muted, #6B5F55) 92%, transparent);
  line-height: 1.6;
  font-size: 14px;
}

/* Options */
.quiz__options{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.quiz__grid-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 640px){
  .quiz__grid-2{ grid-template-columns: 1fr; }
}

.quiz-option{
  position: relative;
  display: block;
}

.quiz-option input{
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.quiz-option__box{
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 14px 14px;
  border-radius: 16px;

  background: rgba(255,255,255,.62);
  border: 1px solid rgba(21,19,17,.14);
  box-shadow: 0 14px 34px rgba(0,0,0,.06);

  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.quiz-option__title{
  font-weight: 850;
  letter-spacing: -0.01em;
  color: var(--ink, #151311);
  text-align: center;
}

.quiz-option:hover .quiz-option__box{
  transform: translateY(-1px);
  border-color: rgba(215,150,79,.34);
  box-shadow: 0 18px 44px rgba(0,0,0,.08);
}

.quiz-option input:checked + .quiz-option__box{
  background:
    radial-gradient(740px 240px at 20% 0%, rgba(215,150,79,.18), transparent 60%),
    rgba(255,255,255,.74);
  border-color: rgba(215,150,79,.44);
  box-shadow: 0 0 0 3px rgba(215,150,79,.16), 0 18px 44px rgba(0,0,0,.08);
}

.quiz-option input:focus-visible + .quiz-option__box{
  outline: none;
  box-shadow: 0 0 0 3px rgba(215,150,79,.26), 0 18px 44px rgba(0,0,0,.08);
}

/* Final grid */
.quiz__final-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (max-width: 640px){
  .quiz__final-grid{ grid-template-columns: 1fr; }
}

/* Footer/nav */
.quiz__footer{
  margin-top: 14px;
  padding: 14px 0 0;
  border-top: 1px solid rgba(21,19,17,.14);
}

.quiz__hint{
  margin: 0 0 10px;
  color: color-mix(in srgb, var(--muted, #6B5F55) 90%, transparent);
  font-size: 13px;
}

.quiz__nav{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.quiz__privacy{
  margin: 10px 0 0;
  color: color-mix(in srgb, var(--muted, #6B5F55) 90%, transparent);
  font-size: 12px;
  line-height: 1.5;
}

.quiz__privacy a{
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* -----------------------------
   QUALITY (Качество и гарантии)
------------------------------ */
.quality{
  padding-block: clamp(44px, 6vw, 84px);
}

.quality__container{
  border-radius: 28px;
  padding-block: clamp(22px, 3vw, 30px);
}

.quality__head{
  max-width: 78ch;
  margin-bottom: 18px;
}

.quality__eyebrow{
  margin: 0 0 10px;
  display: inline-flex;
  gap: 10px;
  font-weight: 850;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(21,19,17,.60);
}

.quality__title{
  margin: 0 0 10px;
  font-weight: 950;
  font-size: clamp(22px, 2.3vw + 10px, 34px);
  letter-spacing: -0.03em;
  line-height: 1.1;
}

.quality__lead{
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.quality__grid{
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}

.quality__item{
  position: relative;
  padding: 18px 16px 16px;
  border-radius: 22px;
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(215,150,79,.10), transparent 60%),
    var(--surface-1);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: var(--shadow-1);
  transition: transform .18s ease-out, box-shadow .18s ease-out, border-color .18s ease-out;
}

.quality__item:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
  border-color: rgba(215,150,79,.30);
}

.quality__icon{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  margin-bottom: 10px;

  background:
    radial-gradient(circle at 30% 10%, rgba(255,255,255,.9), rgba(255,255,255,0) 62%),
    rgba(215,150,79,.18);
  border: 1px solid rgba(215,150,79,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22);
}

.quality__item-title{
  margin: 0 0 8px;
  font-weight: 900;
  font-size: 16px;
  letter-spacing: -0.01em;
}

.quality__text{
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  font-size: 14px;
}

@media (max-width: 1023px){
  .quality__grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767px){
  .quality__grid{ grid-template-columns: 1fr; }
}

/* -----------------------------
   ACCESSIBILITY / MOTION
------------------------------ */
:where(a, button, input, textarea, select):focus-visible{
  outline: none;
  box-shadow: var(--focus-ring);
}

@media (prefers-reduced-motion: reduce){
  *{
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}



.rating {
    position: relative;
    width: 80px;
    height: 16px;
    background-color: rgba(51, 75, 88, 0.4);
}

.rating__bg {
    position: absolute;
    left: 1px;
    top: 50%;
    transform: translateY(-50%);
    height: 14px;
    background-color: var(--color-accent);
    z-index: 1;
}

.rating__mask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    box-shadow: 0 0 0 2px #f8f8f8;
}

.review-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--color-light);
    border-radius: 16px;
    overflow: hidden;
    padding: 20px 40px 20px 20px;
}

.review-card__top {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 20px;
}

.review-card__avatar {
    width: 100px;
    height: 100px;
    border-radius: 16px;
    overflow: hidden;
    flex-shrink: 0;
}

.review-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.review-card__author-name {
    font-weight: 600;
    font-size: 20px;
    line-height: 140%;
}

.review-card__text {
    font-size: 16px;
    line-height: 140%;
    opacity: 0.72;
    margin-bottom: 20px;
}

.review-card__text p {
    margin: 0 0 20px;
}

.review-card__link {
    font-weight: 600;
    font-size: 16px;
    line-height: 140%;
    margin-top: auto;
}

.review-card__link::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
}

@media(max-width: 1023px) {
    .review-card {
        padding: 20px;
    }
}

@media(max-width: 767px) {
    .review-card {
        padding: 15px;
    }

    .review-card__avatar {
        width: 80px;
        height: 80px;
    }

    .review-card__text {
        font-size: 14px;
    }

    .review-card__text p {
        margin-bottom: 18px;
    }

    .review-card__author-name {
        font-size: 18px;
    }
}

.block-image__img {
    width: 100%;
    aspect-ratio: 1440 / 840;
    border-radius: 10px;
    overflow: hidden;
}

.block-image__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media(max-width: 1023px) {
    .block-image__img {
        aspect-ratio: 960 / 560;
    }
}

@media(max-width: 959px) {
    .block-image__img {
        aspect-ratio: 768/ 560;
    }
}

@media(max-width: 767px) {
    .block-image__img {
        aspect-ratio: 360 / 318;
    }
}

/* =========================================
   REVIEWS (Profi.ru SmartWidgets) • Premium “editorial frame”
   HTML: section.block-slider  ->  .sw-app[data-app]
   Важно: если виджет внутри iframe — стили применятся только к оболочке/iframe.
   ========================================= */

.block-slider{
  --rv-r: 24px;
  --rv-pad: clamp(12px, 1.8vw, 18px);
  --rv-gap: clamp(14px, 2.4vw, 22px);

  position: relative;
  padding: clamp(44px, 6vw, 84px) 0;
  overflow: hidden;
}

.block-slider::before{
  content:"";
  position:absolute;
  inset:-2px 0 -2px 0;
  pointer-events:none;
  opacity:.75;
  background:
    radial-gradient(900px 520px at 16% 18%, rgba(215,150,79,.10), transparent 62%),
    radial-gradient(860px 520px at 92% 70%, rgba(215,150,79,.08), transparent 64%);
}

.block-slider .container{ position: relative; }

.block-slider__top{
  display:flex;
  align-items:flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: var(--rv-gap);
}

.block-slider .title{
  margin: 0;
  font-weight: 950;
  letter-spacing: -0.035em;
  color: var(--ink, #151311);
  font-size: clamp(30px, 3.1vw, 48px);
  line-height: 1.06;
}

.block-slider .color-gray{
  color: var(--muted, #6B5F55);
  font-weight: 850;
}

/* ---------- Premium frame for widget ---------- */

.block-slider .sw-app{
  position: relative;
  border-radius: var(--rv-r);
  padding: var(--rv-pad);
  overflow: hidden;

  background:
    radial-gradient(980px 420px at 18% 10%, rgba(215,150,79,.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.46));
  border: 1px solid var(--line, rgba(21,19,17,.14));
  box-shadow: 0 26px 84px rgba(0,0,0,.10);
}

@supports ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))){
  .block-slider .sw-app{
    background:
      radial-gradient(980px 420px at 18% 10%, rgba(215,150,79,.10), transparent 60%),
      rgba(255,255,255,.44);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }
}

.block-slider .sw-app::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(21,19,17,.06), transparent 20%, transparent 80%, rgba(21,19,17,.04)),
    radial-gradient(1200px 520px at 70% 85%, rgba(215,150,79,.08), transparent 62%);
  opacity:.9;
}

.block-slider .sw-app::after{
  content:"";
  position:absolute;
  inset: 8px;
  pointer-events:none;
  border-radius: calc(var(--rv-r) - 8px);
  border: 1px solid rgba(255,255,255,.42);
  opacity: .7;
}

/* If widget renders as iframe */
.block-slider .sw-app iframe{
  position: relative;
  z-index: 1;
  width: 100% !important;
  border: 0 !important;
  border-radius: calc(var(--rv-r) - 8px);
  overflow: hidden;

  /* subtle “premium polish” without killing brand colors */
  filter: saturate(.98) contrast(1.02);
  box-shadow: 0 18px 54px rgba(0,0,0,.12);
}

/* If widget injects HTML (not iframe) — frame first root element */
.block-slider .sw-app > :first-child{
  position: relative;
  z-index: 1;
  border-radius: calc(var(--rv-r) - 8px);
  overflow: hidden;
  box-shadow: 0 18px 54px rgba(0,0,0,.12);
}

/* ---------- Safe micro-tuning INSIDE widget (only if not iframe) ---------- */
/* Don’t overreach: only small rounding + shadows + focus */
.block-slider .sw-app :where([class*="card"], [class*="item"], [class*="review"]){
  border-radius: 18px;
}

.block-slider .sw-app :where(a, button){
  border-radius: 999px;
}

.block-slider .sw-app :where(a:focus-visible, button:focus-visible){
  outline: none;
  box-shadow: 0 0 0 3px rgba(215,150,79,.30);
}

/* Responsive */
@media (max-width: 640px){
  .block-slider{
    padding: clamp(34px, 7vw, 56px) 0;
  }

  .block-slider .sw-app{
    border-radius: 18px;
    padding: 10px;
  }

  .block-slider .sw-app::after{
    inset: 6px;
    border-radius: 12px;
  }

  .block-slider .sw-app iframe,
  .block-slider .sw-app > :first-child{
    border-radius: 12px;
  }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  .block-slider *{
    transition: none !important;
    animation: none !important;
  }
}
/* Убрать слишком большой отступ между секциями (похоже, лишний padding у .block-slider) */
.block-slider{
  padding-top: clamp(18px, 3vw, 28px) !important;
  padding-bottom: clamp(34px, 5vw, 56px) !important;
}

/* На всякий случай: если отступ даёт именно класс mb-120 */
.block-slider.mb-120{
  margin-bottom: clamp(48px, 7vw, 72px) !important; /* было 120 */
}

/* Если большой “пустой” зазор приходит от предыдущей секции */
.steps.mb-120{
  margin-bottom: clamp(36px, 5vw, 56px) !important;
}

.blog-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background-color: var(--color-light);
}

.blog-card__link {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.blog-card__img {
    width: 100%;
    aspect-ratio: 431 / 280;
    border-radius: 16px;
    overflow: hidden;
}

.blog-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-card__info {
    display: flex;
    flex-direction: column;
    padding: 20px;
}

.blog-card__title {
    font-weight: 600;
    font-size: 20px;
    line-height: 140%;
    margin-bottom: 15px;
    transition: color 0.3s ease;
}

.blog-card__link:hover .blog-card__title,
.blog-card__link:focus .blog-card__title {
    color: var(--color-accent);
}

.blog-card__text {
    font-size: 16px;
    line-height: 140%;
    opacity: 0.72;
}

@media(max-width: 1023px) {
    .blog-card__info {
        padding: 20px 20px 20px 15px;
    }

    .blog-card__title {
        font-size: 20px;
        margin-bottom: 10px;
    }
}

@media(max-width: 959px) {
    .blog-card {
        grid-template-columns: 1fr;
        max-width: none;
    }

    .blog-card__info {
        padding: 15px 20px 20px;
    }

    .blog-card__date {
        margin-bottom: 10px;
    }

    .blog-card__text {
        font-size: 16px;
    }
}

@media(max-width: 959px) {
    .blog-card__info {
        padding: 15px;
    }
    
    .blog-card__text {
        font-size: 14px;
    }

    .blog-card__title {
        font-size: 18px;
    }
    
    .blog-card__date {
        font-size: 12px;
    }
}

/* ==========================================================
   STEPS (Premium / Editorial) — v1
   HTML: .steps .grid-4 .steps__card .steps__note
   ========================================================== */

.steps{
  position:relative;
  overflow:hidden;
}

.steps.bg-light{
  /* если bg-light уже есть — ок; иначе даём аккуратную подложку */
  background:
    radial-gradient(1200px 520px at 20% -10%, rgba(215,150,79,.12), rgba(0,0,0,0) 58%),
    linear-gradient(180deg, rgba(246,240,231,.90), rgba(225,213,201,.78));
}

.steps .title{
  max-width: 20ch;
}

/* grid-4: на деле тут 6 карточек + CTA + note, делаем адаптивно */
.steps .grid-4{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
  align-items: stretch;
}

/* Базовая карточка */
.steps__card{
  position:relative;
  border-radius: 20px;
  padding: 16px 16px 14px;
  background:
    radial-gradient(520px 260px at 20% 0%, rgba(215,150,79,.10), rgba(0,0,0,0) 60%),
    rgba(255,255,255,.78);
  border: 1px solid rgba(21,19,17,.10);
  box-shadow: 0 14px 38px rgba(0,0,0,.10);
  overflow:hidden;
  min-height: 168px;
  display:flex;
  flex-direction: column;
  gap: 10px;
}

/* тонкая внутренняя линия — “студийно” */
.steps__card::before{
  content:"";
  position:absolute;
  inset: 10px;
  border-radius: 16px;
  border: 1px solid rgba(21,19,17,.08);
  pointer-events:none;
}

/* subtle grid texture */
.steps__card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(21,19,17,.035) 1px, transparent 1px) 0 0/100% 28px,
    linear-gradient(90deg, rgba(21,19,17,.028) 1px, transparent 1px) 0 0/28px 100%;
  opacity:.35;
  pointer-events:none;
}

.steps__num{
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  color: rgba(21,19,17,.55);
}

.steps__name{
  margin: 0;
  font-weight: 800;
  letter-spacing: -0.01em;
  font-size: 16px;
  line-height: 1.15;
  color: rgba(21,19,17,.96);
}

.steps__text{
  margin: 0;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(21,19,17,.68);
  max-width: 42ch;
}

/* hover lift */
@media (hover:hover){
  .steps__card{
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  }
  .steps__card:hover{
    transform: translateY(-2px);
    box-shadow: 0 20px 54px rgba(0,0,0,.14);
    border-color: rgba(21,19,17,.16);
  }
}

/* Accent CTA card */
.steps__card--accent{
  background:
    radial-gradient(700px 340px at 20% 0%, rgba(215,150,79,.22), rgba(0,0,0,0) 62%),
    linear-gradient(180deg, rgba(10,5,3,.92) 0%, rgba(21,19,17,.88) 100%);
  border: 1px solid rgba(243,244,243,.12);
  box-shadow: 0 22px 70px rgba(0,0,0,.20);
}

.steps__card--accent::before{
  border-color: rgba(243,244,243,.10);
}

.steps__card--accent::after{
  background:
    linear-gradient(rgba(243,244,243,.06) 1px, transparent 1px) 0 0/100% 28px,
    linear-gradient(90deg, rgba(243,244,243,.05) 1px, transparent 1px) 0 0/28px 100%;
  opacity:.45;
}

.steps__card--accent .steps__name{
  color: rgba(243,244,243,.96);
  font-size: 18px;
}

.steps__card--accent .steps__text{
  color: rgba(243,244,243,.72);
}

.steps__card--accent .btn{
  margin-top: auto;
  align-self: flex-start;
}

/* Note card */
.steps__note{
  position:relative;
  border-radius: 20px;
  padding: 16px;
  background:
    radial-gradient(520px 260px at 20% 0%, rgba(215,150,79,.10), rgba(0,0,0,0) 60%),
    rgba(255,255,255,.72);
  border: 1px dashed rgba(21,19,17,.18);
  box-shadow: 0 12px 34px rgba(0,0,0,.08);
  display:flex;
  align-items:center;
}

.steps__note p{
  margin:0;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: rgba(21,19,17,.80);
  line-height: 1.35;
}

/* ==========================================================
   Layout mapping for 8 items (6 steps + CTA + note)
   Desktop: 4 cols -> 2 rows
   ========================================================== */

@media (min-width: 1025px){
  /* Чтобы CTA и note не выглядели “случайными” */
  .steps__card--accent{ grid-column: 3 / span 2; }
  .steps__note{ grid-column: 1 / span 2; }
}

/* ==========================================================
   Responsive
   ========================================================== */

@media (max-width: 1024px){
  .steps .grid-4{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .steps__card--accent{ grid-column: 1 / -1; }
  .steps__note{ grid-column: 1 / -1; }
}

@media (max-width: 640px){
  .steps .grid-4{
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .steps__card{
    padding: 14px 14px 13px;
    min-height: auto;
  }
  .steps__name{ font-size: 15px; }
  .steps__text{ font-size: 13px; }
}

/* ==========================================================
   Accessibility
   ========================================================== */

.steps__card:focus-within{
  box-shadow: 0 0 0 3px rgba(215,150,79,.22), 0 18px 48px rgba(0,0,0,.12);
  border-color: rgba(215,150,79,.32);
}
/* гарантированный внешний зазор сверху */
.steps{
  margin-top: clamp(22px, 4vw, 64px);
  position: relative;
  z-index: 0; /* чтобы не перекрывать предыдущий блок при любых эффектах */
}

/* если у .bg-light есть “трюки” с отрицательными отступами — перебиваем */
.steps.bg-light{
  margin-top: clamp(22px, 4vw, 64px) !important;
  padding-top: clamp(26px, 4.6vw, 56px);
  padding-bottom: clamp(26px, 4.6vw, 56px);
}

.info {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    min-height: 324px;
    padding: 30px;
    background-color: var(--color-dark);
    background-image: url(/img/bg2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border-radius: 16px;
    overflow: hidden;
    color: #fff;
    margin-top: 20px;
}

.info__img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
}

.info__img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(52, 54, 56, 0.7) 0%, rgba(52, 54, 56, 0.5) 44.67%, rgba(52, 54, 56, 0.2) 100%);
    z-index: 2;
}

.info__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.info__right {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    z-index: 3;
}

.info__title {
    position: relative;
    font-weight: 600;
    font-size: 42px;
    line-height: 120%;
    margin: 0;
    z-index: 3;
}

.info__text {
    margin: 0 0 30px;
    font-size: 16px;
    line-height: 140%;
    opacity: 0.72;
}

.info__text p {
    margin: 0;
}

.info__btn {
    width: 100%;
}

@media(max-width: 1023px){
    .info {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .info__title {
        max-width: 70%;
        font-size: 38px;
    }

    .info__right {
        max-width: 425px;
        margin-left: auto;
    }

    .info__text {
        margin: 0 0 20px;
    }
}

@media(max-width: 959px){
    .info {
        padding: 20px;
        gap: 30px;
        min-height: 0;
    }

    .info__title {
        font-size: 34px;
    }

    .info__right {
        max-width: 100%;
    }

    .info__text {
        margin: 0 0 30px;
        max-width: 80%;
    }
}

@media(max-width: 767px){
    .info {
        gap: 20px;
    }

    .info__title {
        font-size: 28px;
        max-width: 100%;
    }

    .info__text {
        margin: 0 0 20px;
        max-width: 100%;
        font-size: 14px;
    }
}

.faq .accordion {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
}

@media(max-width : 959px) {
    .faq .accordion {
        grid-template-columns: 1fr;
    }
}

[data-accordion=element].is-active>[data-accordion=content] {
    max-height: 100%;
}

[data-accordion=parent].no-transition [data-accordion=content] {
    transition: none;
}

[data-accordion=content] {
    max-height: 0;
    transition: max-height 0.3s;
    overflow: hidden;
}

.accordion__element {
    overflow: hidden;
    background-color: var(--color-light);
    border-radius: 16px;
}

.accordion__button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    min-height: 80px;
    padding: 10px 20px;
    cursor: pointer;
    border: none;
    background-color: transparent;
    color: var(--color-dark);
    font-family: 'Inter';
    font-weight: 700;
    font-size: 22px;
    line-height: 140%;
}

.accordion__button-text {
    text-align: start;
}

.accordion__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border-radius: 10px;
    border: none;
    color: var(--color-dark);
    width: 40px;
    height: 40px;
    transition: background-color 0.3s ease, color 0.3s ease;
    flex-shrink: 0;
}

.accordion__icon svg {
    width: 17px;
    height: 10px;
    transition: transform 0.3s ease;
}

.accordion__element.is-active>.accordion__button .accordion__icon {
    background-color: var(--color-accent);
    color: #fff;
}

.accordion__element.is-active>.accordion__button .accordion__icon svg {
    transform: rotate(0.5turn);
}

.accordion__wrapper {
    padding: 4px 60px 20px 20px;
    font-size: 16px;
    line-height: 140%;
    opacity: 0.72;
}

.accordion__wrapper p {
    margin: 0;
}

@media (max-width: 959px) {
    .accordion__button {
        font-size: 20px;
    }
    
    .accordion__wrapper {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .accordion__button {
        font-size: 18px;
    }
    
    .accordion__wrapper {
        font-size: 14px;
    }
}

.project-info {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
    align-items: start;
}

.project-info h2 {
    font-weight: 700;
    font-size: 22px;
    line-height: 140%;
    margin: 0 0 15px;
}

.project-info p {
    font-size: 16px;
    line-height: 140%;
    opacity: 0.72;
}

@media(max-width: 1239px) {
    .project-info {
        grid-template-columns: 1fr 1fr;
    }
}

@media(max-width: 959px) {
    .project-info {
        grid-template-columns: 1fr;
    }

    .project-info h2 {
        font-size: 20px;
    }
}

@media(max-width: 767px) {
    .project-info h2 {
        font-size: 18px;
    }

    .project-info p {
        font-size: 14px;
    }
}

.details {
    background-color: var(--color-light);
    padding: 30px;
    border-radius: 16px;
}

.details__list {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.details__item {
    display: flex;
    justify-content: space-between;
}

.details__item dt {
    font-size: 16px;
    line-height: 140%;
    opacity: 0.72;
}

.details__item dd {
    margin: 0;
    font-weight: 700;
    font-size: 16px;
    line-height: 140%;
}

@media(max-width: 959px) {
    .details {
        order: -1;
        padding: 20px;
        max-width: 485px;
    }
}

/* =========================================
   TRIS • FOOTER (Editorial Luxury)
   Scope: .footer only
   ========================================= */

.footer{
  /* fallbacks на токены проекта */
  --bg-dark: var(--bg-brutal, #151311);
  --bg-dark-2: var(--bg-brutal-2, #0A0503);

  --ink-on-dark: var(--ink-on-dark, #F3F4F3);
  --muted-on-dark: var(--muted-on-dark, #A6978B);

  --copper: var(--accent, #D7964F);
  --copper-h: var(--accent-hover, #C98946);
  --copper-p: var(--accent-press, #B87C3F);

  --line: rgba(243,244,243,.12);
  --line-2: rgba(243,244,243,.18);

  --r: 26px;
  --r2: 18px;

  /* даже если стоит bg-light — футер делаем тёмным (как у топ студий) */
  background:
    radial-gradient(900px 520px at 18% 10%, rgba(215,150,79,.14), transparent 58%),
    radial-gradient(820px 560px at 88% 34%, rgba(215,150,79,.10), transparent 62%),
    linear-gradient(180deg, rgba(10,5,3,.96) 0%, rgba(21,19,17,.86) 55%, rgba(21,19,17,.92) 100%);
  color: var(--ink-on-dark);

  padding: clamp(44px, 6vw, 84px) 0 clamp(18px, 3vw, 30px);
  border-top: 1px solid rgba(243,244,243,.10);
  box-shadow: 0 -18px 60px rgba(0,0,0,.35) inset;
  position: relative;
  overflow: hidden;
}

/* тонкая редакционная сетка (очень деликатно) */
.footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.10;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.10) 0px,
      rgba(255,255,255,.10) 1px,
      rgba(255,255,255,0) 1px,
      rgba(255,255,255,0) 120px
    ),
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,.08) 0px,
      rgba(255,255,255,.08) 1px,
      rgba(255,255,255,0) 1px,
      rgba(255,255,255,0) 140px
    );
  mix-blend-mode: overlay;
}

.footer .container{ position: relative; z-index: 1; }

/* ---------- Title ---------- */
.footer .title{
  margin: 0 0 clamp(18px, 3vw, 28px);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1.05;
  font-size: clamp(26px, 3.1vw, 44px);
  text-wrap: balance;
}

.footer .color-gray{
  color: rgba(243,244,243,.70);
}

/* ---------- Top: form + map ---------- */
.footer__top{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: clamp(14px, 2.6vw, 22px);
  align-items: stretch;
  margin-top: 14px;
}

.footer__form{
  border-radius: var(--r);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(243,244,243,.12);
  box-shadow:
    0 22px 70px rgba(0,0,0,.40),
    inset 0 1px 0 rgba(255,255,255,.08);
  padding: clamp(18px, 2.8vw, 26px);
  overflow: hidden;
  position: relative;
}

.footer__form::before{
  content:"";
  position:absolute;
  inset: 12px;
  border-radius: calc(var(--r) - 12px);
  border: 1px solid rgba(255,255,255,.10);
  pointer-events:none;
}

.footer__form-text{
  margin: 0 0 14px;
  max-width: 72ch;
  color: rgba(243,244,243,.76);
  font-size: 14px;
  line-height: 1.55;
}

/* ---------- Form controls (универсально: не важно как размечен AjaxForm) ---------- */
.footer form{
  display: grid;
  gap: 12px;
}

.footer form input[type="text"],
.footer form input[type="tel"],
.footer form input[type="email"],
.footer form textarea,
.footer .modal__form input[type="text"],
.footer .modal__form input[type="tel"],
.footer .modal__form input[type="email"],
.footer .modal__form textarea{
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border-radius: 14px;

  color: rgba(243,244,243,.92);
  background: rgba(10,5,3,.42);
  border: 1px solid rgba(243,244,243,.14);

  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.footer form textarea,
.footer .modal__form textarea{
  min-height: 110px;
  padding: 12px 14px;
  height: auto;
  resize: vertical;
}

.footer form input::placeholder,
.footer form textarea::placeholder{
  color: rgba(243,244,243,.52);
}

.footer form input:focus,
.footer form textarea:focus{
  border-color: rgba(215,150,79,.40);
  box-shadow:
    0 0 0 3px rgba(215,150,79,.22),
    0 0 0 6px rgba(215,150,79,.12);
}

/* кнопка отправки (если используется .btn — тоже ок, но делаем красивый дефолт) */
.footer form button,
.footer .modal__form button{
  appearance: none;
  border: 0;
  cursor: pointer;

  height: 50px;
  border-radius: 999px;
  padding: 0 18px;

  font-weight: 850;
  letter-spacing: -0.01em;
  color: #0A0503;

  background: linear-gradient(180deg, var(--copper), var(--copper-h));
  box-shadow: 0 18px 46px rgba(215,150,79,.22);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease;
}

.footer form button:hover,
.footer .modal__form button:hover{
  transform: translateY(-1px);
  filter: brightness(1.02);
  box-shadow: 0 22px 58px rgba(215,150,79,.28);
}

.footer form button:active,
.footer .modal__form button:active{
  transform: translateY(0);
  background: linear-gradient(180deg, var(--copper-p), var(--copper-h));
}

.footer form button:focus-visible,
.footer .modal__form button:focus-visible{
  outline: none;
  box-shadow:
    0 22px 58px rgba(215,150,79,.28),
    0 0 0 3px rgba(215,150,79,.30),
    0 0 0 6px rgba(215,150,79,.16);
}

/* note/политика в формах, если есть */
.footer .form__note,
.footer .footer__form .form__note{
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
  color: rgba(243,244,243,.62);
}

.footer .form__note a{
  color: rgba(243,244,243,.82);
  text-decoration: underline;
  text-decoration-color: rgba(215,150,79,.40);
  text-underline-offset: 3px;
}

.footer .form__note a:hover{
  color: var(--copper);
}

/* ---------- Map card ---------- */
#map{
  min-height: clamp(320px, 34vw, 430px);
  border-radius: var(--r);
  overflow: hidden;
  position: relative;

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(243,244,243,.12);
  box-shadow:
    0 22px 70px rgba(0,0,0,.40),
    inset 0 1px 0 rgba(255,255,255,.08);
}

#map::before{
  content:"";
  position:absolute;
  inset: 12px;
  border-radius: calc(var(--r) - 12px);
  border: 1px solid rgba(255,255,255,.10);
  pointer-events:none;
  z-index: 2;
}

/* верхняя “виниетка” как у студий */
#map::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(520px 320px at 18% 20%, rgba(215,150,79,.14), transparent 60%),
    linear-gradient(180deg, rgba(10,5,3,.20) 0%, rgba(10,5,3,0) 38%);
  z-index: 2;
}

/* ---------- Center: contacts columns ---------- */
.footer__center{
  margin-top: clamp(18px, 3vw, 26px);
  padding-top: clamp(16px, 2.6vw, 22px);
  border-top: 1px solid rgba(243,244,243,.10);

  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2.6vw, 22px);
}

.footer__contact{
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(243,244,243,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  padding: 16px 16px;
}

.footer__contact-title{
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(243,244,243,.62);
  margin-bottom: 10px;
}

.footer__contact-phone{
  display: inline-block;
  font-weight: 900;
  letter-spacing: -0.02em;
  font-size: 18px;
  color: rgba(243,244,243,.96);
  margin-bottom: 8px;
}

.footer__contact-mail{
  display: inline-block;
  font-size: 14px;
  color: rgba(243,244,243,.78);
}

.footer__contact-address{
  margin: 0;
  color: rgba(243,244,243,.86);
  font-size: 14px;
  line-height: 1.4;
}

.footer__contact-text{
  margin: 10px 0 0;
  color: rgba(243,244,243,.64);
  font-size: 13px;
  line-height: 1.45;
}

/* links */
.footer .link{
  color: rgba(243,244,243,.86);
  text-decoration: none;
  border-bottom: 1px solid rgba(243,244,243,.22);
  transition: color .18s ease, border-color .18s ease;
}

.footer .link:hover{
  color: var(--copper);
  border-color: rgba(215,150,79,.40);
}

.footer .link:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(215,150,79,.22), 0 0 0 6px rgba(215,150,79,.12);
  border-radius: 8px;
}

/* ---------- Socials ---------- */
.footer .socials{
  margin: 0;
  padding: 0;
  list-style: none;

  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.footer .socials__item a{
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;

  color: rgba(243,244,243,.86);
  background: rgba(10,5,3,.34);
  border: 1px solid rgba(243,244,243,.14);

  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.footer .socials__item a:hover{
  transform: translateY(-1px);
  color: #0A0503;
  background: linear-gradient(180deg, var(--copper), var(--copper-h));
  border-color: rgba(215,150,79,.50);
}

.footer .socials__item a:active{
  transform: translateY(0);
  background: linear-gradient(180deg, var(--copper-p), var(--copper-h));
}

.footer .socials__item a:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(215,150,79,.22), 0 0 0 6px rgba(215,150,79,.12);
}

/* ---------- Bottom bar ---------- */
.footer__bottom{
  margin-top: clamp(18px, 3vw, 26px);
  padding-top: 16px;
  border-top: 1px solid rgba(243,244,243,.10);

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

/* только в футере, чтобы не задеть header */
.footer .logo a{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: rgba(243,244,243,.92);
}

.footer .logo__img{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(243,244,243,.12);
  overflow: hidden;
}

.footer .logo__img img{
  width: 70%;
  height: 70%;
  object-fit: contain;
  display:block;
}

.footer .logo__text{
  font-weight: 850;
  letter-spacing: -0.02em;
}

.footer__copyright{
  color: rgba(243,244,243,.58);
  font-size: 13px;
}

.footer__policy{
  color: rgba(243,244,243,.74);
  font-size: 13px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1023px){
  .footer__top{
    grid-template-columns: 1fr;
  }
  #map{
    min-height: 320px;
  }
  .footer__center{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px){
  .footer{
    padding: 42px 0 22px;
  }
  .footer .title{
    font-size: 26px;
  }
  .footer__form{
    padding: 16px;
    border-radius: 22px;
  }
  #map{
    border-radius: 22px;
  }
  .footer__bottom{
    flex-direction: column;
    align-items: flex-start;
  }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  .footer *{
    transition: none !important;
    animation: none !important;
  }
}
/* =========================================
   TRIS • MODAL-FORM (form_modal_calc) — Editorial Luxury
   HTML: .ajax_form.modal__form.modal-form + .modal-form__*
   Paste AFTER footer CSS
   ========================================= */

/* form shell */
.footer .modal-form{
  --f-ink: rgba(243,244,243,.92);
  --f-muted: rgba(243,244,243,.66);
  --f-placeholder: rgba(243,244,243,.50);

  --f-bg: rgba(10,5,3,.40);
  --f-bg-2: rgba(10,5,3,.30);

  --f-line: rgba(243,244,243,.14);
  --f-line-strong: rgba(243,244,243,.18);

  --f-copper: var(--copper, #D7964F);
  --f-focus: rgba(215,150,79,.28);
  --f-focus-2: rgba(215,150,79,.14);

  --f-danger: #C2504A;

  display: grid;
  gap: 12px;
}

/* grid: 2 columns on desktop */
.footer .modal-form__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

/* field */
.footer .modal-form__field{
  display: grid;
  gap: 6px;
  margin: 0;
}

.footer .modal-form__label{
  display: inline-flex;
  align-items: baseline;
  gap: 8px;

  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(243,244,243,.60);
}

/* inputs */
.footer .modal-form__input,
.footer .modal-form__textarea{
  width: 100%;
  border-radius: 14px;
  color: var(--f-ink);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0)) , var(--f-bg);
  border: 1px solid var(--f-line);
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}

.footer .modal-form__input{
  height: 48px;
  padding: 0 14px;
}

.footer .modal-form__textarea{
  min-height: 120px;
  padding: 12px 14px;
  resize: vertical;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0)) , var(--f-bg-2);
}

.footer .modal-form__input::placeholder,
.footer .modal-form__textarea::placeholder{
  color: var(--f-placeholder);
}

/* focus */
.footer .modal-form__input:focus,
.footer .modal-form__textarea:focus{
  border-color: rgba(215,150,79,.40);
  box-shadow: 0 0 0 3px var(--f-focus), 0 0 0 6px var(--f-focus-2);
}

/* error state (AjaxForm/FormIt часто ставит .error) */
.footer .modal-form .error,
.footer .modal-form__input.error,
.footer .modal-form__textarea.error{
  border-color: rgba(194,80,74,.60) !important;
  box-shadow: 0 0 0 3px rgba(194,80,74,.22), 0 0 0 6px rgba(194,80,74,.12) !important;
}

/* actions */
.footer .modal__actions{
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 2px;
}

/* buttons inside this form */
.footer .modal__actions .btn{
  min-height: 50px;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 850;
  letter-spacing: -0.01em;
  border: 1px solid transparent;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.footer .modal__actions .btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px var(--f-focus), 0 0 0 6px var(--f-focus-2);
}

/* primary copper */
.footer .modal__actions .btn--copper{
  color: #0A0503;
  background: linear-gradient(180deg, var(--f-copper), var(--copper-h, #C98946));
  box-shadow: 0 18px 46px rgba(215,150,79,.22);
}

.footer .modal__actions .btn--copper:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 58px rgba(215,150,79,.28);
}

.footer .modal__actions .btn--copper:active{
  transform: translateY(0);
  background: linear-gradient(180deg, var(--copper-p, #B87C3F), var(--copper-h, #C98946));
}

/* secondary border */
.footer .modal__actions .btn--border{
  color: rgba(243,244,243,.86);
  background: rgba(10,5,3,.22);
  border-color: rgba(243,244,243,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.footer .modal__actions .btn--border:hover{
  transform: translateY(-1px);
  border-color: rgba(243,244,243,.28);
  background: rgba(10,5,3,.28);
}

.footer .modal__actions .btn--border:active{
  transform: translateY(0);
  background: rgba(10,5,3,.20);
}

/* message area — без “прыжка”: резервируем место */
.footer .modal-form .af-message{
  margin-top: 6px;
  min-height: 42px;              /* держит высоту даже когда пусто */
  padding: 10px 12px;
  border-radius: 14px;

  color: rgba(243,244,243,.80);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(243,244,243,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);

  display: block;
}

/* пустое сообщение — невидимо, но место сохраняем */
.footer .modal-form .af-message:empty{
  visibility: hidden;
}

/* note */
.footer .modal-form .modal__note{
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
  color: rgba(243,244,243,.62);
}

.footer .modal-form .modal__note a{
  color: rgba(243,244,243,.82);
  text-decoration: underline;
  text-decoration-color: rgba(215,150,79,.40);
  text-underline-offset: 3px;
}

.footer .modal-form .modal__note a:hover{
  color: var(--f-copper);
  text-decoration-color: rgba(215,150,79,.60);
}

/* responsive */
@media (max-width: 860px){
  .footer .modal-form__grid{
    grid-template-columns: 1fr;
  }
  .footer .modal__actions{
    flex-direction: column;
    align-items: stretch;
  }
  .footer .modal__actions .btn{
    width: 100%;
    justify-content: center;
  }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  .footer .modal-form,
  .footer .modal-form *{
    transition: none !important;
    animation: none !important;
  }
}
/* ============================================================
   TRIS • FOOTER TITLE FIX (visibility + editorial)
   ВСТАВЬ НИЖЕ твоего блока FOOTER, чтобы перетереть стили
   ============================================================ */

.footer{
  position: relative;
}

.footer::before{
  z-index: 0;              /* сетка/подсветка — ПОД контентом */
  opacity: .12;            /* чуть тише, чтобы не “съедала” заголовок */
}

.footer > .container{
  position: relative;
  z-index: 1;              /* весь контент поверх оверлея */
}

/* Заголовок в футере — принудительно читаемый, даже если есть глобальные .title/.bg-light */
.footer.footer.bg-light .title{
  position: relative;
  
  
  color: var(--ink-on-dark, #F3F4F3) !important;
  
}

.footer.footer.bg-light .title .color-gray{
  color: var(--accent, #D7964F) !important;
  opacity: 1;
}

/* аккуратная “редакционная” линия под заголовком */
.footer.footer.bg-light .title::after{
  content:"";
  display:block;
  width: clamp(84px, 10vw, 140px);
  height: 1px;
  margin-top: 12px;
  background: linear-gradient(90deg, rgba(215,150,79,.75), rgba(243,244,243,.18));
  border-radius: 999px;
  opacity: .85;
}

@media (max-width: 680px){
  .footer.footer.bg-light .title{
    font-size: clamp(26px, 8.6vw, 38px);
    line-height: 1.05;
  }
}


.accept {
    position: fixed;
    bottom: 30px;
    left: 40px;
    width: 100%;
    max-width: 600px;
    box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    background-color: #fff;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    z-index: 120;
}

.accept.active {
    opacity: 1;
    visibility: visible;
}

.accept__btn {
    margin-left: auto;
    width: 80px;
}

@media(max-width : 767px) {
    .accept {
        bottom: 15px;
        left: 15px;
        width: calc(100% - 30px);
        padding: 20px;
    }
}

.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;

    display: flex;
    flex-direction: column;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;

    transform: scale(1.2);
    visibility: hidden;
    opacity: 0;

    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;

    pointer-events: none;

    -ms-overflow-style: none;
    scrollbar-width: none;
}

.modal::-webkit-scrollbar {
    display: none;
}

.modal__wrapper {
    position: relative;

    display: flex;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 100%;
    padding: 30px;
}

.modal__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(52,54,56,0.82);
    cursor: pointer;
}

.modal__content {
    position: relative;
    max-width: 900px;
    width: 100%;
    background-color: #fff;
    border-radius: 16px;
    overflow: hidden;
    padding: 30px;
}

.modal-form {
    max-width: 440px;
}

.modal-form__title {
    font-weight: 600;
    font-size: 30px;
    line-height: 110%;
    text-align: center;
    margin-bottom: 15px;
}

.modal-form__subtitle {
    font-size: 16px;
    line-height: 120%;
    text-align: center;
    opacity: 0.72;
    margin: 0 0 30px;
}

.modal-form .btn {
    width: 100%;
    min-height: 58px;
}

.modal-form .custom-input {
    margin-bottom: 20px;
}

.modal__close {
    position: absolute;
    top: 0px;
    right: 0px;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    overflow: hidden;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    cursor: pointer;
    background-color: transparent;
    transition: color 0.3s ease;
}

.modal__close svg {
    width: 50%;
    width: 50%;
}

.modal__close:hover,
.modal__close:focus {
    color: var(--color-accent);
}

.modal.active {
    transform: scale(1);
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

@media(max-width : 767px) {
    .modal__wrapper {
        padding: 15px;
    }
    
    .modal__content {
        padding: 15px;
    }
    
    .modal-form__title {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .modal-form__subtitle {
        font-size: 14px;
        margin-bottom: 20px;
    }
}

/* =========================================================
   TRIS • QUICK CALC (CTA + QUIZ MODAL)
   Style: dark glass + copper accent
   Вставь в assets/theme/css/style.css (в конец файла)
   ========================================================= */

/* ---------- CTA (кнопка “Рассчитать стоимость ремонта”) ---------- */
.quiz-cta{
  --qc-bg: var(--bg-brutal, #151311);
  --qc-bg2: var(--bg-brutal-2, #0A0503);
  --qc-ink: var(--ink-on-dark, #F3F4F3);
  --qc-muted: var(--muted-on-dark, #A6978B);

  --qc-copper: var(--accent, #D7964F);
  --qc-copper-hover: var(--accent-hover, #C98946);
  --qc-copper-press: var(--accent-press, #B87C3F);
  --qc-on-copper: var(--on-accent, #0A0503);

  --qc-line: rgba(243,244,243,.14);
  --qc-glass: rgba(21,19,17,.44);
  --qc-glass-2: rgba(10,5,3,.62);
  --qc-shadow: 0 22px 60px rgba(0,0,0,.32);

  position: relative;
  padding: clamp(18px, 3.2vw, 42px) 0;
}

.quiz-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 260px at 50% 30%, rgba(215,150,79,.16), transparent 60%),
    linear-gradient(180deg, rgba(10,5,3,.10) 0%, rgba(10,5,3,0) 55%, rgba(10,5,3,.06) 100%);
  pointer-events:none;
}

.quiz-cta__inner{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: clamp(10px, 1.6vw, 16px);
  border-radius: 999px;
  background: linear-gradient(180deg, var(--qc-glass-2), var(--qc-glass));
  border: 1px solid var(--qc-line);
  box-shadow: var(--qc-shadow);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.quiz-cta__action{
  width: min(860px, 100%);
}

.quiz-cta__btn.btn{
  width: 100%;
  min-height: 62px;
  border-radius: 999px;
  padding: 14px 18px;
  border: 1px solid rgba(0,0,0,.16);
  background: linear-gradient(180deg, var(--qc-copper), var(--qc-copper-press));
  color: var(--qc-on-copper);
  box-shadow:
    0 18px 44px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.38);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  cursor: pointer;
  transform: translateZ(0);
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.quiz-cta__btn.btn:hover{
  background: linear-gradient(180deg, var(--qc-copper-hover), var(--qc-copper-press));
  transform: translateY(-1px);
  box-shadow:
    0 22px 60px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.42);
}

.quiz-cta__btn.btn:active{
  transform: translateY(0);
  filter: saturate(1.02);
}

.quiz-cta__btn.btn:focus-visible{
  outline: none;
  box-shadow:
    0 22px 60px rgba(0,0,0,.22),
    0 0 0 3px rgba(215,150,79,.38),
    0 0 0 7px rgba(215,150,79,.18),
    inset 0 1px 0 rgba(255,255,255,.42);
}

.quiz-cta__btn-main{
  font-weight: 800;
  letter-spacing: .2px;
  font-size: clamp(16px, 1.35vw, 20px);
  line-height: 1.15;
}

.quiz-cta__btn-sub{
  display: inline-block;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  opacity: .82;
}

@media (max-width: 520px){
  .quiz-cta__inner{ border-radius: 22px; }
  .quiz-cta__btn.btn{
    border-radius: 18px;
    min-height: 58px;
    padding: 12px 14px;
    flex-direction: column;
    gap: 6px;
  }
}

/* ---------- QUIZ MODAL (окно калькулятора) ---------- */
.quiz-modal{
  --qm-bg: var(--bg-brutal, #151311);
  --qm-bg2: var(--bg-brutal-2, #0A0503);
  --qm-ink: var(--ink-on-dark, #F3F4F3);
  --qm-muted: var(--muted-on-dark, #A6978B);

  --qm-paper: var(--paper, #E1D5C9);
  --qm-paper-2: var(--paper-2, #F6F0E7);
  --qm-ink-on-paper: var(--ink, #151311);
  --qm-muted-on-paper: var(--muted, #6B5F55);

  --qm-copper: var(--accent, #D7964F);
  --qm-copper-hover: var(--accent-hover, #C98946);
  --qm-copper-press: var(--accent-press, #B87C3F);
  --qm-on-copper: var(--on-accent, #0A0503);

  --qm-line: rgba(243,244,243,.14);
  --qm-line-paper: rgba(21,19,17,.16);

  position: fixed;
  inset: 0;
  z-index: 2400;
  padding: clamp(12px, 2.8vw, 28px);
  display: grid;
  place-items: center;
}

.quiz-modal[hidden]{ display:none !important; }

.quiz-modal__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(10,5,3,.68);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.quiz-modal__panel{
  position: relative;
  width: min(1040px, 100%);
  max-height: calc(100vh - 2 * clamp(12px, 2.8vw, 28px));
  border-radius: clamp(18px, 2.2vw, 28px);
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 36px 110px rgba(0,0,0,.62);
}

.quiz-modal__close{
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 20;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(10,5,3,.55);
  color: var(--qm-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
}

.quiz-modal__close:hover{
  transform: translateY(-1px);
  background: rgba(10,5,3,.72);
  border-color: rgba(215,150,79,.35);
}

.quiz-modal__close:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(215,150,79,.38), 0 0 0 7px rgba(215,150,79,.18);
}

.quiz-modal__close span{
  font-size: 28px;
  line-height: 1;
  transform: translateY(-1px);
}

/* Контейнер квиза: делаем “верх тёмный / низ светлый”, как на референсе */
.quiz{
  height: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.quiz__top{
  position: relative;
  padding: clamp(16px, 2.2vw, 22px);
  background:
    radial-gradient(900px 300px at 20% -20%, rgba(215,150,79,.22), transparent 55%),
    radial-gradient(900px 300px at 80% -30%, rgba(215,150,79,.16), transparent 55%),
    linear-gradient(180deg, rgba(10,5,3,.92), rgba(21,19,17,.76));
  color: var(--qm-ink);
  border-bottom: 1px solid var(--qm-line);
}

.quiz__stepno{
  margin: 0 0 10px;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(243,244,243,.86);
}

.quiz__progress{
  height: 12px;
  border-radius: 999px;
  background: rgba(243,244,243,.16);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
}

.quiz__progressbar{
  height: 100%;
  border-radius: 999px;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(215,150,79,.95) 0 12px,
      rgba(215,150,79,.55) 12px 24px
    );
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.12);
}

.quiz__title{
  margin: 14px 0 6px;
  font-weight: 850;
  letter-spacing: .2px;
  font-size: clamp(18px, 1.6vw, 24px);
  line-height: 1.15;
}

.quiz__subtitle{
  margin: 0;
  color: rgba(243,244,243,.86);
  font-size: 14px;
  line-height: 1.5;
  max-width: 70ch;
}

/* Форма: нижняя часть “paper” + нормальный скролл внутри */
.quiz__form{
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, var(--qm-paper), var(--qm-paper-2));
  color: var(--qm-ink-on-paper);
}

.quiz__body{
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: clamp(16px, 2.2vw, 24px);
  scrollbar-gutter: stable;
}

.quiz__body::-webkit-scrollbar{ width: 10px; }
.quiz__body::-webkit-scrollbar-thumb{
  background: rgba(21,19,17,.22);
  border-radius: 999px;
  border: 2px solid rgba(0,0,0,0);
  background-clip: padding-box;
}
.quiz__body::-webkit-scrollbar-track{ background: rgba(0,0,0,0); }

.quiz-step{ display:none; }
.quiz-step.is-active{ display:block; }

.quiz-step__title{
  margin: 0 0 6px;
  font-weight: 850;
  font-size: clamp(20px, 1.9vw, 28px);
  line-height: 1.12;
}

.quiz-step__subtitle{
  margin: 0 0 14px;
  color: var(--qm-muted-on-paper);
  font-size: 14px;
  line-height: 1.55;
}

/* Опции */
.quiz__options{
  display: grid;
  gap: 12px;
}

.quiz__grid-2{
  grid-template-columns: 1fr;
}

@media (min-width: 720px){
  .quiz__grid-2{
    grid-template-columns: 1fr 1fr;
  }
}

.quiz-option{
  position: relative;
  display: block;
  cursor: pointer;
}

.quiz-option input{
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.quiz-option__box{
  min-height: 56px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(21,19,17,.12);
  box-shadow:
    0 10px 22px rgba(0,0,0,.08),
    inset 0 1px 0 rgba(255,255,255,.48);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: transform .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.quiz-option__title{
  font-weight: 800;
  font-size: 16px;
  line-height: 1.15;
  color: var(--qm-ink-on-paper);
}

.quiz-option:hover .quiz-option__box{
  transform: translateY(-1px);
  border-color: rgba(215,150,79,.35);
  box-shadow:
    0 14px 30px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.52);
}

.quiz-option input:checked + .quiz-option__box{
  background: rgba(255,255,255,.74);
  border-color: rgba(215,150,79,.65);
  box-shadow:
    0 16px 34px rgba(0,0,0,.10),
    0 0 0 3px rgba(215,150,79,.18),
    inset 0 1px 0 rgba(255,255,255,.52);
}

.quiz-option input:focus-visible + .quiz-option__box{
  outline: none;
  box-shadow:
    0 16px 34px rgba(0,0,0,.10),
    0 0 0 3px rgba(215,150,79,.38),
    0 0 0 7px rgba(215,150,79,.18),
    inset 0 1px 0 rgba(255,255,255,.52);
}

/* Ошибка шага */
.quiz-step__error{
  margin: 10px 0 0;
  color: #8B2A2A;
  font-weight: 700;
  font-size: 13px;
}

/* Финальные поля */
.quiz__final-grid{
  display: grid;
  gap: 12px;
}

@media (min-width: 720px){
  .quiz__final-grid{
    grid-template-columns: 1fr 1fr;
  }
}

.custom-input__label{
  display: block;
  margin: 0 0 6px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(21,19,17,.72);
  font-weight: 800;
}

.custom-input input{
  width: 100%;
  height: 52px;
  border-radius: 16px;
  padding: 0 14px;
  border: 1px solid rgba(21,19,17,.16);
  background: rgba(255,255,255,.72);
  color: var(--qm-ink-on-paper);
  outline: none;
  transition: box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}

.custom-input input::placeholder{ color: rgba(21,19,17,.44); }

.custom-input input:focus{
  border-color: rgba(215,150,79,.62);
  box-shadow: 0 0 0 3px rgba(215,150,79,.30), 0 0 0 7px rgba(215,150,79,.14);
  background: rgba(255,255,255,.82);
}

.input-error{
  display: block;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
  color: #8B2A2A;
}

/* Нижняя панель навигации */
.quiz__footer{
  position: sticky;
  bottom: 0;
  padding: 14px clamp(16px, 2.2vw, 24px);
  background: rgba(225,213,201,.92);
  border-top: 1px solid var(--qm-line-paper);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.quiz__hint{
  margin: 0 0 10px;
  color: rgba(21,19,17,.62);
  font-size: 13px;
  font-weight: 700;
}

.quiz__nav{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

/* Кнопки внутри модалки: “lime” превращаем в copper */
.quiz-modal .btn{
  appearance: none;
  border: 1px solid rgba(21,19,17,.16);
  border-radius: 999px;
  padding: 12px 16px;
  min-height: 46px;
  font-weight: 850;
  letter-spacing: .2px;
  cursor: pointer;
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease, background-color .16s ease, border-color .16s ease;
}

.quiz-modal .btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(215,150,79,.38), 0 0 0 7px rgba(215,150,79,.18);
}

.quiz-modal .btn[disabled]{
  opacity: .55;
  cursor: not-allowed;
  transform: none !important;
}

.quiz-modal .btn--lime{
  background: linear-gradient(180deg, var(--qm-copper), var(--qm-copper-press));
  color: var(--qm-on-copper);
  border-color: rgba(0,0,0,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.38);
}

.quiz-modal .btn--lime:hover{
  background: linear-gradient(180deg, var(--qm-copper-hover), var(--qm-copper-press));
  transform: translateY(-1px);
}

.quiz-modal .btn--ghost{
  background: rgba(255,255,255,.52);
  color: var(--qm-ink-on-paper);
  border-color: rgba(21,19,17,.16);
}

.quiz-modal .btn--ghost:hover{
  background: rgba(255,255,255,.66);
  border-color: rgba(215,150,79,.30);
  transform: translateY(-1px);
}

.quiz__privacy{
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(21,19,17,.62);
}

.quiz__privacy a{
  color: rgba(21,19,17,.82);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.quiz__privacy a:hover{
  color: rgba(21,19,17,1);
}

/* Сообщения AjaxForm/FormIt (на всякий случай) */
.quiz__form .af-message-success,
.quiz__form .success,
.quiz__form .ajax_form_message.success{
  margin: 0;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(92,148,110,.18);
  border: 1px solid rgba(92,148,110,.32);
  color: rgba(21,19,17,.86);
  font-weight: 750;
}

.quiz__form .af-message-error,
.quiz__form .error,
.quiz__form .ajax_form_message.error{
  margin: 0;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(194,80,74,.14);
  border: 1px solid rgba(194,80,74,.26);
  color: rgba(21,19,17,.86);
  font-weight: 750;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .quiz-cta__btn.btn,
  .quiz-option__box,
  .quiz-modal .btn,
  .quiz-modal__close{
    transition: none !important;
  }
}
/* =========================================================
   TRIS • QUICK CALC — ДОРАБОТКА ЗАГОЛОВКА (quiz__top)
   Вставь ПОСЛЕ блока CSS для квиза (в конец style.css)
   ========================================================= */

.quiz-modal .quiz__top{
  /* чуть более “дорогое” стекло + лучше читаемость текста */
  padding: clamp(18px, 2.6vw, 26px) clamp(16px, 2.6vw, 28px) clamp(18px, 2.6vw, 24px);
  background:
    radial-gradient(900px 320px at 18% -10%, rgba(215,150,79,.22), transparent 55%),
    radial-gradient(900px 320px at 82% -20%, rgba(215,150,79,.16), transparent 58%),
    linear-gradient(180deg, rgba(10,5,3,.92) 0%, rgba(21,19,17,.78) 100%);
  color: var(--qm-ink, #F3F4F3);
  border-bottom: 1px solid rgba(243,244,243,.14);
}

.quiz-modal .quiz__stepno{
  color: rgba(243,244,243,.88);
  font-weight: 800;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin: 0 0 10px;
}

.quiz-modal .quiz__progress{
  height: 10px;
  background: rgba(243,244,243,.14);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.quiz-modal .quiz__progressbar{
  box-shadow:
    inset 0 0 0 1px rgba(0,0,0,.14),
    0 6px 18px rgba(0,0,0,.18);
}

/* ГЛАВНОЕ: делаем заголовок ярким, контрастным и “премиальным” */
.quiz-modal .quiz__title{
  margin: 14px 0 8px;
  max-width: 56ch;
  color: rgba(243,244,243,.98) !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;

  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.08;
  font-size: clamp(18px, 1.65vw, 26px);
  text-wrap: balance;

  text-shadow:
    0 10px 30px rgba(0,0,0,.45),
    0 1px 0 rgba(0,0,0,.28);
}

/* Медная “линия-маркер” над заголовком */
.quiz-modal .quiz__title::before{
  content:"";
  display:block;
  width: 56px;
  height: 3px;
  border-radius: 999px;
  margin: 0 0 10px;
  background: linear-gradient(
    90deg,
    rgba(215,150,79,1),
    rgba(215,150,79,.55),
    rgba(215,150,79,0)
  );
  box-shadow: 0 8px 22px rgba(215,150,79,.18);
}

/* Подзаголовок: спокойнее, но читабельно */
.quiz-modal .quiz__subtitle{
  margin: 0;
  max-width: 74ch;
  color: rgba(243,244,243,.86) !important;
  opacity: 1 !important;

  font-size: 14px;
  line-height: 1.55;
}

/* Мобилка: меньше “шапка”, больше воздуха */
@media (max-width: 520px){
  .quiz-modal .quiz__top{
    padding: 16px 14px 16px;
  }
  .quiz-modal .quiz__title{
    font-size: 18px;
    line-height: 1.12;
  }
  .quiz-modal .quiz__title::before{
    width: 44px;
    margin-bottom: 8px;
  }
}


/* =========================================
   TRIS • CONSULT V2 — Editorial Luxury (FINAL)
   Scope: .consult-v2 only (вставка целиком вместо старого consult-v2)
   ========================================= */

.consult-v2{
  /* Fallbacks: если в проекте уже есть токены — они подтянутся */
  --bg-dark: var(--bg-brutal, #151311);
  --bg-dark-2: var(--bg-brutal-2, #0A0503);

  --ink-on-dark: var(--ink-on-dark, #F3F4F3);
  --muted-on-dark: var(--muted-on-dark, #A6978B);

  --paper: var(--paper, #E1D5C9);
  --paper-2: var(--paper-2, #E6D9CB);
  --ink: var(--ink, #151311);
  --muted: var(--muted, #6B5F55);

  --copper: var(--accent, #D7964F);
  --copper-h: var(--accent-hover, #C98946);
  --copper-p: var(--accent-press, #B87C3F);

  --line-on-dark: rgba(243,244,243,.12);
  --line-on-dark-2: rgba(243,244,243,.18);

  --r: 28px;
  --r2: 22px;

  /* точка “спота” на лице (можно тонко подкрутить, если надо) */
  --spot-x: 56%;
  --spot-y: 24%;

  padding: clamp(34px, 5vw, 72px) 0;
}

.consult-v2 .container{ position: relative; }

/* ---------- PANEL (2 колонки) ---------- */
.consult-v2__panel{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(18px, 3vw, 34px);
  padding: clamp(22px, 3.2vw, 40px);
  border-radius: var(--r);
  overflow: hidden;

  color: var(--ink-on-dark);
  background:
    radial-gradient(1100px 520px at 16% 14%, rgba(215,150,79,.16), transparent 60%),
    radial-gradient(900px 520px at 88% 26%, rgba(215,150,79,.10), transparent 62%),
    linear-gradient(180deg, rgba(10,5,3,.92) 0%, rgba(21,19,17,.78) 58%, rgba(21,19,17,.70) 100%);

  border: 1px solid rgba(243,244,243,.10);
  box-shadow: 0 26px 80px rgba(0,0,0,.45);
}

/* ---------- LEFT (оставляем “как нравится”) ---------- */
.consult-v2__left{
  position: relative;
  display: grid;
  align-content: start;
  gap: 14px;
  padding-right: clamp(8px, 1.2vw, 14px);
  z-index: 1;
}

.consult-v2__eyebrow{
  margin: 0;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(243,244,243,.70);
}

.consult-v2__title{
  margin: 0;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1.02;
  font-size: clamp(32px, 3.25vw, 56px);
  text-wrap: balance;
}

.consult-v2__accent{
  color: var(--copper);
  text-shadow: 0 14px 30px rgba(215,150,79,.10);
}

.consult-v2__subtitle{
  margin: 6px 0 0;
  max-width: 58ch;
  color: rgba(243,244,243,.78);
  font-size: 16px;
  line-height: 1.45;
}

/* пункты как “плашки-тезисы” */
.consult-v2__points{
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
  max-width: 62ch;
}

.consult-v2__points li{
  position: relative;
  padding: 12px 14px 12px 40px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(243,244,243,.10);
  color: rgba(243,244,243,.88);
  line-height: 1.35;
}

.consult-v2__points li::before{
  content:"";
  position:absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(215,150,79,.98), rgba(199,137,70,.88));
  box-shadow: 0 12px 22px rgba(215,150,79,.16);
}

.consult-v2__cta{
  display: grid;
  gap: 10px;
  margin-top: 4px;
}

.consult-v2__btn{
  appearance: none;
  border: 0;
  cursor: pointer;
  width: fit-content;
  padding: 14px 18px;
  border-radius: 999px;
  color: #0A0503;
  font-weight: 850;
  letter-spacing: -0.01em;
  background: linear-gradient(180deg, var(--copper), var(--copper-h));
  box-shadow: 0 18px 44px rgba(215,150,79,.22);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.consult-v2__btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.02);
  box-shadow: 0 22px 54px rgba(215,150,79,.28);
}

.consult-v2__btn:active{
  transform: translateY(0);
  background: linear-gradient(180deg, var(--copper-p), var(--copper-h));
}

.consult-v2__btn:focus-visible{
  outline: none;
  box-shadow:
    0 22px 54px rgba(215,150,79,.28),
    0 0 0 3px rgba(215,150,79,.30),
    0 0 0 6px rgba(215,150,79,.16);
}

.consult-v2__note{
  margin: 0;
  font-size: 13px;
  color: rgba(243,244,243,.62);
}

/* proofs */
.consult-v2__proofs{
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.consult-v2__proof{
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(243,244,243,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.consult-v2__proof strong{
  display:block;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: rgba(243,244,243,.96);
}

.consult-v2__proof span{
  display:block;
  margin-top: 4px;
  font-size: 13px;
  color: rgba(243,244,243,.66);
  line-height: 1.3;
}

/* =========================================================
   RIGHT — Editorial Luxury
   - одна чистая вертикальная ось
   - очень тонкая сетка/линии
   - “spotlight” на лицо
   - рамка возвращена и стабильно видна
   - плашка поправлена (размер/позиция/читабельность)
   ========================================================= */

.consult-v2__right{
  position: relative;
  z-index: 1;
  overflow: hidden;

  display: grid;
  grid-template-rows: 1fr auto;
  align-content: end;
  justify-items: center;

  padding: clamp(18px, 2.2vw, 28px);
}

/* вертикальная ось (ровно одна, без дублей) */
@media (min-width: 1024px){
  .consult-v2__right::after{
    content:"";
    position:absolute;
    top: clamp(18px, 2.2vw, 28px);
    bottom: clamp(18px, 2.2vw, 28px);
    left: 0;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(243,244,243,.16), transparent);
    opacity: .95;
    pointer-events: none;
  }
}

/* тонкая “editorial” сетка без перегруза */
.consult-v2__right::before{
  content:"";
  position:absolute;
  inset: 0;
  pointer-events:none;
  opacity: .10;
  background:
    /* редкий вертикальный ритм */
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.10) 0px,
      rgba(255,255,255,.10) 1px,
      rgba(255,255,255,0) 1px,
      rgba(255,255,255,0) 110px
    ),
    /* редкий горизонтальный ритм */
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,.08) 0px,
      rgba(255,255,255,.08) 1px,
      rgba(255,255,255,0) 1px,
      rgba(255,255,255,0) 120px
    );
  mix-blend-mode: overlay;
}

/* PHOTO FRAME (рамка всегда на месте) */
.consult-v2__photo{
  position: relative;
  margin: 0;
  width: min(520px, 100%);
  height: clamp(520px, 40vw, 660px);
  border-radius: var(--r2);
  overflow: hidden;

  background:
    radial-gradient(62% 58% at var(--spot-x) var(--spot-y), rgba(215,150,79,.16) 0%, rgba(215,150,79,0) 62%),
    linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 40%),
    radial-gradient(80% 70% at 50% 80%, rgba(0,0,0,.18) 0%, rgba(0,0,0,0) 64%);

  border: 1px solid rgba(255,255,255,.14);
  box-shadow:
    0 26px 80px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.08);
}

/* внутренняя “gallery” рамка */
.consult-v2__photo::before{
  content:"";
  position:absolute;
  inset: 14px;
  border-radius: calc(var(--r2) - 14px);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  pointer-events:none;
}

/* spotlight на лице (очень мягко, без “пятна”) */
.consult-v2__photo::after{
  content:"";
  position:absolute;
  inset: 0;
  pointer-events:none;
  background:
    radial-gradient(260px 240px at var(--spot-x) var(--spot-y), rgba(255,255,255,.20) 0%, rgba(255,255,255,0) 62%),
    radial-gradient(520px 420px at var(--spot-x) calc(var(--spot-y) + 18%), rgba(215,150,79,.12) 0%, rgba(215,150,79,0) 70%);
  mix-blend-mode: screen;
  opacity: .85;
}

/* директор — крупнее, аккуратнее, “дороже” */
.consult-v2__photo img{
  position:absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 100%;

  transform: translateY(10px) scale(1.26);
  filter:
    drop-shadow(0 34px 55px rgba(0,0,0,.55))
    drop-shadow(0 10px 18px rgba(215,150,79,.10))
    contrast(1.04)
    brightness(1.02);
}

/* ПЛАШКА (сделана как студийный “caption”, без перекоса/лишней ширины) */
.consult-v2__card{
  width: min(520px, 100%);
  margin: -72px auto 0;  /* аккуратно заходит на фото, но не “режет” */
  padding: 14px 16px;

  border-radius: 18px;
  background: rgba(10,5,3,.52);
  border: 1px solid rgba(255,255,255,.12);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  box-shadow:
    0 18px 52px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.10);

  z-index: 2;
}

.consult-v2__badge{
  display:flex;
  align-items:center;
  gap: 10px;

  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(243,244,243,.70);

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.consult-v2__badge::before{
  content:"";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(215,150,79,.95);
  box-shadow: 0 0 0 5px rgba(215,150,79,.16);
  flex: 0 0 auto;
}

.consult-v2__card-main{
  margin-top: 8px;
  font-weight: 850;
  letter-spacing: -0.02em;
  font-size: 18px;
  line-height: 1.15;
  color: rgba(243,244,243,.96);
}

.consult-v2__card-sub{
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.25;
  color: rgba(243,244,243,.62);
}

/* ---------- CALM блок (низ) ---------- */
.consult-v2__calm{
  margin-top: clamp(16px, 2.6vw, 22px);
  padding: clamp(18px, 2.8vw, 26px);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.62), rgba(255,255,255,.42));
  border: 1px solid rgba(21,19,17,.14);
  box-shadow: 0 18px 56px rgba(0,0,0,.10);
}

.consult-v2__calm-head{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.consult-v2__calm-title{
  margin: 0;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--ink);
  font-size: 20px;
}

.consult-v2__calm-sub{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.consult-v2__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.consult-v2__item{
  padding: 14px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.56);
  border: 1px solid rgba(21,19,17,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.60);
}

.consult-v2__item h4{
  margin: 0;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.consult-v2__item p{
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.35;
  color: var(--muted);
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1023px){
  .consult-v2__panel{
    grid-template-columns: 1fr;
    padding: 18px;
    border-radius: 24px;
  }

  .consult-v2__right{
    padding: 16px 12px;
  }

  .consult-v2__right::after{ content:none; } /* ось не нужна в одной колонке */
  .consult-v2__grid{ grid-template-columns: 1fr; }

  .consult-v2__calm-head{
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 640px){
  .consult-v2__proofs{ grid-template-columns: 1fr; }
  .consult-v2__photo{
    height: 520px;
    border-radius: 22px;
  }
  .consult-v2__photo img{
    transform: translateY(8px) scale(1.18);
  }
  .consult-v2__card{
    margin-top: -62px;
    padding: 12px 12px;
    border-radius: 16px;
  }
  .consult-v2__card-main{ font-size: 16px; }
}

/* reduce motion */
@media (prefers-reduced-motion: reduce){
  .consult-v2 *{
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
/* ==========================================================
   TRIS • Editorial Luxury • About + Footer (v1)
   Paste at the END of assets/theme/css/style.css
   ========================================================== */

:root{
  /* Fallbacks (если где-то токены не объявлены) */
  --bg-brutal: #151311;
  --bg-brutal-2:#0A0503;
  --paper:#E1D5C9;
  --paper-2:#F6F0E7;
  --ink:#151311;
  --muted:#6B5F55;
  --line:rgba(21,19,17,.14);
  --ink-on-dark:#F3F4F3;
  --muted-on-dark:#A6978B;
  --accent:#D7964F;
  --accent-hover:#C98946;
  --accent-press:#B87C3F;

  --radius-xl: 28px;
  --radius-lg: 20px;
  --shadow-1: 0 14px 40px rgba(0,0,0,.28);
  --shadow-2: 0 22px 70px rgba(0,0,0,.34);
  --focus-ring: 0 0 0 3px rgba(215,150,79,.28);
}

/* ---------- Shared buttons (если у вас не было btn--copper/btn--border) ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:12px 18px;
  border-radius:999px;
  font-weight:600;
  letter-spacing:.01em;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
  user-select:none;
  -webkit-tap-highlight-color: transparent;
}
.btn:focus{ outline:none; }
.btn:focus-visible{ box-shadow: var(--focus-ring); }

.btn--copper{
  background: linear-gradient(180deg, rgba(215,150,79,1) 0%, rgba(201,137,70,1) 100%);
  color:#0A0503;
  border:1px solid rgba(0,0,0,.18);
  box-shadow: 0 10px 26px rgba(215,150,79,.22);
}
.btn--copper:hover{ background: linear-gradient(180deg, var(--accent-hover) 0%, var(--accent-press) 100%); transform: translateY(-1px); }
.btn--copper:active{ transform: translateY(0); }

.btn--border{
  background: rgba(255,255,255,.06);
  color: var(--ink-on-dark);
  border:1px solid rgba(243,244,243,.18);
  backdrop-filter: blur(10px);
}
.btn--border:hover{ border-color: rgba(243,244,243,.28); transform: translateY(-1px); }
.btn--border:active{ transform: translateY(0); }

/* ==========================================================
   ABOUT PAGE
   ========================================================== */

.page--about .page-title{ margin:0 0 18px; }

/* Prose (content typography) */
.prose{
  color: rgba(21,19,17,.86);
  font-size: 16px;
  line-height: 1.75;
}
.prose--wide{ max-width: 860px; }
.prose p{ margin: 0 0 12px; }
.prose h2, .prose h3{
  margin: 26px 0 12px;
  line-height: 1.2;
  color: var(--ink);
}
.prose ul{ margin: 12px 0 16px 18px; }
.prose a{ color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

/* About hero */
.about-hero{
  position:relative;
  border-radius: var(--radius-xl);
  overflow:hidden;
  background:
    radial-gradient(1200px 520px at 20% 12%, rgba(215,150,79,.18), rgba(0,0,0,0) 60%),
    linear-gradient(180deg, rgba(10,5,3,.92) 0%, rgba(21,19,17,.86) 100%);
  box-shadow: var(--shadow-2);
  color: var(--ink-on-dark);
}
.about-hero .container{ position:relative; }
.about-hero__inner{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: clamp(18px, 3vw, 34px);
  padding: clamp(18px, 3.4vw, 34px);
  align-items:stretch;
}

/* Vertical axis (очищаем ось) */
.about-hero::after{
  content:"";
  position:absolute;
  top:10px; bottom:10px;
  left: calc(50% + 0px);
  width:1px;
  background: linear-gradient(180deg, rgba(243,244,243,.00), rgba(243,244,243,.10) 18%, rgba(243,244,243,.10) 82%, rgba(243,244,243,.00));
  pointer-events:none;
  opacity:.55;
}

/* Left */
.about-hero__eyebrow{
  margin:0 0 10px;
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color: rgba(243,244,243,.62);
}
.about-hero__title{
  margin:0 0 12px;
  font-weight:800;
  line-height:1.02;
  font-size: clamp(30px, 4.0vw, 54px);
}
.about-hero__lead{
  margin:0 0 14px;
  max-width: 54ch;
  color: rgba(243,244,243,.78);
}
.about-hero__points{
  list-style:none;
  padding:0;
  margin: 14px 0 18px;
  display:grid;
  gap: 10px;
  max-width: 560px;
}
.about-hero__point{
  position:relative;
  padding: 12px 14px 12px 40px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  color: rgba(243,244,243,.88);
}
.about-hero__point::before{
  content:"";
  position:absolute;
  left:14px; top:50%;
  width:10px; height:10px;
  border-radius:999px;
  transform: translateY(-50%);
  background: var(--accent);
  box-shadow: 0 0 0 6px rgba(215,150,79,.14);
}
.about-hero__cta{
  display:flex;
  align-items:center;
  gap: 14px;
  margin-top: 10px;
  flex-wrap:wrap;
}
.about-hero__note{
  margin:0;
  font-size:13px;
  color: rgba(243,244,243,.62);
}

/* Numbers */
.numbers{
  margin-top: 18px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 640px;
}
.numbers__item{
  border-radius: 16px;
  padding: 14px 14px 12px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
}
.numbers__num{
  font-weight:800;
  font-size: 22px;
  line-height: 1.1;
  color: rgba(243,244,243,.96);
}
.numbers__text{
  margin-top: 6px;
  font-size: 13px;
  color: rgba(243,244,243,.66);
}

/* Right visual (editorial luxury: тонкая сетка + спотлайт) */
.about-hero__visual{ height:100%; }
.about-hero__frame{
  position:relative;
  height:100%;
  min-height: 420px;
  border-radius: var(--radius-xl);
  overflow:hidden;
  background:
    /* grid */
    linear-gradient(rgba(243,244,243,.055) 1px, transparent 1px) 0 0/100% 28px,
    linear-gradient(90deg, rgba(243,244,243,.045) 1px, transparent 1px) 0 0/28px 100%,
    /* soft metal vignette */
    radial-gradient(900px 520px at 60% 18%, rgba(215,150,79,.18), rgba(0,0,0,0) 60%),
    linear-gradient(180deg, rgba(10,5,3,.78) 0%, rgba(21,19,17,.66) 100%);
  border:1px solid rgba(243,244,243,.12);
  box-shadow: var(--shadow-1);
}

/* Spotlight (на лице): отдельным слоем, чтобы не “грязнить” картинку */
.about-hero__frame::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(260px 260px at 58% 20%, rgba(215,150,79,.26), rgba(0,0,0,0) 70%),
    radial-gradient(520px 520px at 55% 36%, rgba(243,244,243,.10), rgba(0,0,0,0) 68%);
  mix-blend-mode: screen;
  opacity:.9;
  pointer-events:none;
}

/* Clean axis for photo area */
.about-hero__frame::after{
  content:"";
  position:absolute;
  top:14px; bottom:14px;
  left: 50%;
  width:1px;
  background: rgba(243,244,243,.10);
  opacity:.28;
  pointer-events:none;
}

.about-hero__img{
  position:absolute;
  inset:auto 0 0 0;
  margin:auto;
  width: 92%;
  height: auto;
  max-height: 96%;
  object-fit: contain;
  filter: drop-shadow(0 26px 52px rgba(0,0,0,.45));
  transform: translateY(2%);
}

/* Badge (плашка) — поправил: меньше “кирпич”, выше качество */
.about-hero__badge{
  position:absolute;
  left: 16px;
  right: 16px;
  bottom: 14px;
  border-radius: 18px;
  padding: 14px 16px 13px;
  background: linear-gradient(180deg, rgba(10,5,3,.72), rgba(10,5,3,.48));
  border: 1px solid rgba(243,244,243,.12);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 44px rgba(0,0,0,.38);
}
.about-hero__badge-eyebrow{
  font-size: 11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color: rgba(243,244,243,.62);
}
.about-hero__badge-title{
  margin-top:6px;
  font-weight:800;
  font-size: 18px;
  line-height: 1.15;
  color: rgba(243,244,243,.95);
}
.about-hero__badge-sub{
  margin-top:6px;
  font-size: 12px;
  color: rgba(243,244,243,.66);
}

/* Light sections helpers */
.bg-light{
  background: var(--paper-2);
  border-radius: var(--radius-xl);
  padding: clamp(18px, 3vw, 30px) 0;
}
.title{
  margin: 0 0 18px;
  font-weight: 800;
  line-height: 1.05;
  font-size: clamp(26px, 3.2vw, 40px);
  color: var(--ink);
}
.color-gray{ color: rgba(21,19,17,.55); }

/* Advantages */
.advantages{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.advantage-card.card{
  border-radius: 18px;
  padding: 18px 18px 16px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(21,19,17,.10);
  box-shadow: 0 12px 34px rgba(0,0,0,.08);
}
.card__icon{
  width: 44px; height: 44px;
  display:grid; place-items:center;
  border-radius: 14px;
  background: rgba(215,150,79,.14);
  color: var(--ink);
}
.card__title{
  margin-top: 12px;
  font-weight: 800;
  font-size: 16px;
  color: var(--ink);
}
.card__text{
  margin-top: 8px;
  font-size: 14px;
  color: rgba(21,19,17,.70);
}

/* Gallery */
.gallery{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
}
.gallery__img{
  grid-column: span 4;
  border-radius: 18px;
  overflow:hidden;
  background: rgba(0,0,0,.06);
  border: 1px solid rgba(21,19,17,.10);
}
.gallery__img img{
  display:block;
  width:100%;
  height: 260px;
  object-fit: cover;
}

/* Responsive */
@media (max-width: 1024px){
  .about-hero__inner{ grid-template-columns: 1fr; }
  .about-hero::after{ display:none; }
  .about-hero__frame{ min-height: 380px; }
  .advantages{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery__img{ grid-column: span 6; }
}
@media (max-width: 640px){
  .numbers{ grid-template-columns: 1fr; }
  .about-hero__frame{ min-height: 340px; }
  .about-hero__img{ width: 96%; }
  .advantages{ grid-template-columns: 1fr; }
  .gallery{ grid-template-columns: 1fr; }
  .gallery__img{ grid-column: auto; }
  .gallery__img img{ height: 220px; }
}

/* ==========================================================
   FOOTER (ваш блок с формой + картой + контактами)
   ========================================================== */

.footer.footer.bg-light{
  background:
    radial-gradient(1200px 520px at 18% 10%, rgba(215,150,79,.16), rgba(0,0,0,0) 62%),
    linear-gradient(180deg, rgba(10,5,3,.92) 0%, rgba(21,19,17,.90) 100%);
  color: var(--ink-on-dark);
  border-radius: var(--radius-xl);
  overflow:hidden;
  box-shadow: var(--shadow-2);
  padding: clamp(18px, 3.2vw, 34px) 0;
}

/* заголовок (у вас он “проваливался” по контрасту) */
.footer .title{
  color: rgba(243,244,243,.96);
  margin-bottom: 18px;
}
.footer .title .color-gray{
  color: rgba(243,244,243,.62);
}

.footer__top{
  display:grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(14px, 2.6vw, 22px);
  align-items: stretch;
  margin-top: 16px;
}
.footer__form{
  border-radius: 22px;
  padding: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(12px);
}
.footer__form-text{
  margin:0 0 14px;
  color: rgba(243,244,243,.74);
  font-size: 14px;
  line-height: 1.6;
}

/* Map */
#map{
  border-radius: 22px;
  overflow:hidden;
  min-height: 420px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
}
#map ymaps,
#map ymaps *{
  border-radius: 22px !important;
}

/* Form (modal-form) */
.modal-form__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.modal-form__field{ display:block; }
.modal-form__label{
  display:block;
  margin: 0 0 6px;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(243,244,243,.56);
}
.modal-form__input,
.modal-form__textarea{
  width:100%;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(10,5,3,.28);
  color: rgba(243,244,243,.92);
  padding: 12px 14px;
  transition: box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.modal-form__input{ height: 48px; }
.modal-form__textarea{ min-height: 120px; resize: vertical; }
.modal-form__input::placeholder,
.modal-form__textarea::placeholder{ color: rgba(243,244,243,.40); }

.modal-form__input:focus,
.modal-form__textarea:focus{
  outline:none;
  border-color: rgba(215,150,79,.55);
  box-shadow: var(--focus-ring);
  background: rgba(10,5,3,.36);
}

.modal__actions{
  display:flex;
  gap: 12px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.af-message{
  margin-top: 12px;
  font-size: 13px;
  color: rgba(243,244,243,.74);
}
.modal__note{
  margin-top: 10px;
  font-size: 12px;
  color: rgba(243,244,243,.56);
}
.modal__note a{
  color: rgba(243,244,243,.86);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Footer center cards */
.footer__center{
  margin-top: 18px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.footer__contact{
  border-radius: 18px;
  padding: 16px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(12px);
}
.footer__contact-title{
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(243,244,243,.56);
  margin-bottom: 10px;
}
.footer__contact-phone,
.footer__contact-mail{
  display:inline-block;
  color: rgba(243,244,243,.92);
  font-weight: 700;
  text-decoration:none;
  border-bottom: 1px solid rgba(243,244,243,.18);
  padding-bottom: 2px;
}
.footer__contact-address{ margin:0; color: rgba(243,244,243,.90); font-weight: 700; }
.footer__contact-text{ margin:8px 0 0; color: rgba(243,244,243,.62); font-size: 13px; line-height: 1.5; }

/* Socials */
.socials{
  display:flex;
  gap: 10px;
  list-style:none;
  margin: 0;
  padding: 0;
  align-items:center;
  flex-wrap: wrap;
}
.socials__item a{
  width: 40px;
  height: 40px;
  display:grid;
  place-items:center;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(243,244,243,.80);
  transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.socials__item a:hover{
  transform: translateY(-1px);
  border-color: rgba(215,150,79,.38);
  color: rgba(243,244,243,.92);
  background: rgba(215,150,79,.10);
}

/* Bottom */
.footer__bottom{
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.10);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.footer__copyright{ color: rgba(243,244,243,.56); font-size: 13px; }
.footer__policy{ color: rgba(243,244,243,.76); text-decoration: underline; text-underline-offset: 3px; }

/* Footer responsive */
@media (max-width: 1024px){
  .footer__top{ grid-template-columns: 1fr; }
  #map{ min-height: 360px; }
  .footer__center{ grid-template-columns: 1fr; }
  .modal-form__grid{ grid-template-columns: 1fr; }
}
/* ==========================================================
   ABOUT + NUMBERS (Premium) — v1
   For:
   .about-block-premium + .numbers-premium
   ========================================================== */

:root{
  /* Fallbacks (если у тебя токены уже есть — они просто переопределятcя выше) */
  --bg-brutal:#151311;
  --bg-brutal-2:#0A0503;
  --paper:#E1D5C9;
  --paper-2:#F6F0E7;
  --ink:#151311;
  --muted:#6B5F55;
  --line:rgba(21,19,17,.14);
  --ink-on-dark:#F3F4F3;
  --muted-on-dark:#A6978B;
  --accent:#D7964F;
  --accent-hover:#C98946;
  --accent-press:#B87C3F;

  --radius-xl:28px;
  --radius-lg:20px;
  --shadow-1:0 14px 40px rgba(0,0,0,.28);
  --shadow-2:0 22px 70px rgba(0,0,0,.34);
  --focus-ring:0 0 0 3px rgba(215,150,79,.28);
}

/* ==========================================================
   ABOUT BLOCK
   ========================================================== */

.about-block-premium{
  position:relative;
  border-radius: var(--radius-xl);
  overflow:hidden;
  background:
    radial-gradient(1100px 520px at 18% 10%, rgba(215,150,79,.16), rgba(0,0,0,0) 62%),
    linear-gradient(180deg, rgba(10,5,3,.92) 0%, rgba(21,19,17,.90) 100%);
  border: 1px solid rgba(243,244,243,.10);
  box-shadow: var(--shadow-2);
  color: var(--ink-on-dark);
}

/* тонкая editorial-сетка без перегруза */
.about-block-premium::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(243,244,243,.05) 1px, transparent 1px) 0 0/100% 30px,
    linear-gradient(90deg, rgba(243,244,243,.04) 1px, transparent 1px) 0 0/30px 100%;
  opacity:.55;
  pointer-events:none;
}

/* мягкая виньетка */
.about-block-premium::after{
  content:"";
  position:absolute;
  inset:-1px;
  background:
    radial-gradient(900px 520px at 70% 30%, rgba(0,0,0,0) 0%, rgba(0,0,0,.38) 72%),
    radial-gradient(820px 520px at 25% 15%, rgba(215,150,79,.10), rgba(0,0,0,0) 60%);
  pointer-events:none;
  opacity:.85;
}

.about-block-premium__content{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(16px, 2.8vw, 28px);
  align-items: center;
  padding: clamp(18px, 3.2vw, 34px);
}

/* вертикальная ось (чистая линия) */
.about-block-premium__content::before{
  content:"";
  position:absolute;
  top: 14px;
  bottom: 14px;
  left: 55%;
  width: 1px;
  background: linear-gradient(180deg, rgba(243,244,243,0), rgba(243,244,243,.10) 18%, rgba(243,244,243,.10) 82%, rgba(243,244,243,0));
  opacity:.55;
  pointer-events:none;
}

.about-block-premium__text-wrapper{
  max-width: 62ch;
}

.about-block-premium__title{
  margin:0 0 12px;
  font-weight: 800;
  line-height: 1.02;
  font-size: clamp(26px, 3.4vw, 44px);
  letter-spacing: -0.02em;
  color: rgba(243,244,243,.96);
}

.about-block-premium__title-accent{
  color: var(--accent);
  text-shadow: 0 10px 26px rgba(215,150,79,.18);
}

.about-block-premium__description{
  margin:0 0 16px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(243,244,243,.74);
}

.about-block-premium__image-wrapper{
  position:relative;
  border-radius: calc(var(--radius-xl) - 6px);
  overflow:hidden;
  background:
    radial-gradient(520px 360px at 58% 20%, rgba(215,150,79,.18), rgba(0,0,0,0) 62%),
    linear-gradient(180deg, rgba(10,5,3,.55), rgba(21,19,17,.30));
  border: 1px solid rgba(243,244,243,.12);
  box-shadow: var(--shadow-1);
  min-height: 320px;
}

/* спотлайт поверх картинки (аккуратно, “editorial”) */
.about-block-premium__image-wrapper::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(260px 260px at 60% 22%, rgba(215,150,79,.22), rgba(0,0,0,0) 72%),
    radial-gradient(520px 520px at 56% 40%, rgba(243,244,243,.10), rgba(0,0,0,0) 70%);
  mix-blend-mode: screen;
  opacity:.85;
  pointer-events:none;
}

.about-block-premium__image-wrapper img{
  width:100%;
  height:100%;
  display:block;
  object-fit: cover;
  transform: scale(1.02);
  filter: contrast(1.03) saturate(1.02);
}

/* кнопка (если у тебя уже есть .btn — ок; даю конкретно под .btn-premium) */
.btn-premium{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .01em;
  color:#0A0503;
  background: linear-gradient(180deg, var(--accent) 0%, var(--accent-hover) 100%);
  border: 1px solid rgba(0,0,0,.18);
  box-shadow: 0 10px 26px rgba(215,150,79,.22);
  text-decoration:none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn-premium:hover{
  background: linear-gradient(180deg, var(--accent-hover) 0%, var(--accent-press) 100%);
  transform: translateY(-1px);
}
.btn-premium:active{ transform: translateY(0); }
.btn-premium:focus{ outline:none; }
.btn-premium:focus-visible{ box-shadow: var(--focus-ring), 0 10px 26px rgba(215,150,79,.22); }

/* ==========================================================
   NUMBERS
   ========================================================== */

.numbers-premium{
  margin-top: 16px;
  position:relative;
}

.numbers-premium > .container{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 0; /* чтобы не было двойного контейнера визуально */
}

.numbers-premium__item{
  position:relative;
  border-radius: 20px;
  padding: 18px 18px 16px;
  background:
    radial-gradient(520px 260px at 20% 0%, rgba(215,150,79,.10), rgba(0,0,0,0) 60%),
    rgba(255,255,255,.06);
  border: 1px solid rgba(243,244,243,.12);
  backdrop-filter: blur(12px);
  box-shadow: 0 16px 46px rgba(0,0,0,.18);
  color: rgba(243,244,243,.92);
  overflow:hidden;
}

/* тонкая внутренняя линия как у “студий” */
.numbers-premium__item::before{
  content:"";
  position:absolute;
  inset: 10px;
  border-radius: 16px;
  border: 1px solid rgba(243,244,243,.08);
  pointer-events:none;
}

.numbers-premium__num{
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.0;
  font-size: clamp(28px, 3.0vw, 40px);
  color: rgba(243,244,243,.96);
}
.numbers-premium__num sup{
  font-size: .55em;
  top: -0.45em;
  opacity: .85;
}

.numbers-premium__text{
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(243,244,243,.62);
  max-width: 36ch;
}

/* =========================================
TRIS • PORTFOLIO + PROJECT / PROJECTS
CLEAN v5 (single source of truth) — EDITED
— без дублей и конфликтов
— портфолио grid 1 → 2 → 3
— featured ТОЛЬКО в .portfolio (не в related)
— project hero: facts + callout + CTA (1 версия)
— gallery: Studio Split + no overlap + title kicker + lightbox (1 версия)
Вставить В КОНЕЦ: assets/theme/css/style.css
========================================= */

/* ---------- Skip link (safe, global) ---------- */
.skip-link{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip-link:focus{
  left:16px;
  top:16px;
  width:auto;
  height:auto;
  padding:10px 12px;
  border-radius:12px;
  background:#151311;
  color:#F3F4F3;
  outline:2px solid rgba(215,150,79,.65);
  outline-offset:2px;
  z-index:9999;
}

/* ---------- TOKENS (scoped, stable) ---------- */
:where(.portfolio, body.page--project, body.page--projects){
  --bg:#151311;
  --bg-2:#0A0503;

  --paper:#CDBFB0;
  --paper-2:#E1D5C9;

  --ink:#F3F4F3;
  --muted:#A6978B;

  --accent:#D7964F;
  --accent-hover:#C98946;
  --accent-press:#B87C3F;

  --line:rgba(243,244,243,.12);
  --line-strong:rgba(243,244,243,.18);

  --shadow-card: 0 18px 46px rgba(0,0,0,.38);
  --shadow-card-hover: 0 22px 60px rgba(0,0,0,.46);
  --ring: 0 0 0 3px rgba(215,150,79,.58);
  --ring-2: 0 0 0 7px rgba(215,150,79,.14);
}

/* =========================================================
PORTFOLIO (block)
========================================================= */
.portfolio{
  background:
    radial-gradient(900px 420px at 18% 10%, rgba(215,150,79,.16), rgba(0,0,0,0) 60%),
    linear-gradient(135deg, var(--bg-2), var(--bg) 58%, var(--bg-2));
  color:var(--ink);
}

.portfolio__container{
  max-width:1240px;
  margin:0 auto;
  padding:clamp(28px, 5vw, 72px) 16px;
}

.portfolio__head{
  display:grid;
  gap:12px;
  align-items:end;
  margin-bottom:clamp(18px, 3.2vw, 28px);
}

.portfolio__title{
  margin:0;
  letter-spacing:-.02em;
  font-weight:750;
  font-size:clamp(34px, 5vw, 64px);
  line-height:1.02;
}

.portfolio__subtitle{
  margin:0;
  color:rgba(243,244,243,.72);
  font-size:clamp(14px, 1.6vw, 18px);
  line-height:1.45;
  max-width:62ch;
}

@media (min-width: 900px){
  .portfolio__head{
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  .portfolio__subtitle{
    justify-self:end;
    text-align:left;
  }
}

/* grid 1 → 2 → 3 */
.portfolio__grid{
  display:grid;
  gap:14px;
  grid-template-columns:1fr;
  align-items:stretch;
}

@media (min-width: 720px){
  .portfolio__grid{
    gap:18px;
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1120px){
  .portfolio__grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  /* featured ТОЛЬКО в .portfolio */
  .portfolio .portfolio__grid > *:nth-child(1){
    grid-column:span 2;
  }
  .portfolio .portfolio__grid > *:nth-child(1) .portfolio-card__media{
    aspect-ratio: 16 / 9;
  }
}

.portfolio__cta{
  display:flex;
  justify-content:center;
  margin-top:clamp(18px, 3.2vw, 28px);
}

.portfolio__btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;

  background:linear-gradient(180deg, var(--accent), var(--accent-press));
  color:#0A0503;
  font-weight:750;
  letter-spacing:.02em;
  text-decoration:none;

  border:1px solid rgba(0,0,0,.25);
  box-shadow:0 10px 28px rgba(0,0,0,.25);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.portfolio__btn:hover{
  background:linear-gradient(180deg, var(--accent-hover), var(--accent-press));
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(0,0,0,.32);
}
.portfolio__btn:active{
  transform:translateY(0);
  box-shadow:0 10px 26px rgba(0,0,0,.28);
}
.portfolio__btn:focus-visible{
  outline:none;
  box-shadow:0 10px 28px rgba(0,0,0,.25), var(--ring), var(--ring-2);
}

/* =========================================================
PORTFOLIO CARD (base — shared)
========================================================= */
.portfolio-card{
  position:relative;
  height:100%;
  border-radius:26px;
  overflow:hidden;
  background:rgba(255,255,255,.03);
  border:1px solid var(--line);
  box-shadow:var(--shadow-card);
  transform:translateY(0);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.portfolio-card__link{
  display:grid;
  grid-template-rows:auto 1fr;
  height:100%;
  text-decoration:none;
  color:inherit;
  -webkit-tap-highlight-color: transparent;
}

.portfolio-card__media{
  position:relative;
  aspect-ratio: 4 / 3;
  background:linear-gradient(135deg, rgba(243,244,243,.06), rgba(0,0,0,0));
  overflow:hidden;
}

.portfolio-card__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.001);
  transition:transform .28s ease;
}

.portfolio-card__ph{
  width:100%;
  height:100%;
  background:
    radial-gradient(500px 220px at 35% 25%, rgba(215,150,79,.18), rgba(0,0,0,0) 60%),
    linear-gradient(135deg, rgba(243,244,243,.08), rgba(0,0,0,0));
}

.portfolio-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 46%, rgba(10,5,3,.62) 72%, rgba(10,5,3,.88) 100%);
  pointer-events:none;
}

.portfolio-card__badges{
  position:absolute;
  left:12px;
  top:12px;
  z-index:2;
  pointer-events:none;
}

.portfolio-card__badge{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.02em;
  color:rgba(243,244,243,.92);
  background:rgba(10,5,3,.42);
  border:1px solid rgba(243,244,243,.16);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

/* BODY + совместимость с вариантом __overlay */
.portfolio-card__body,
.portfolio-card__overlay{
  position:relative;
  z-index:2;
  padding:14px 14px 16px;
  background:
    radial-gradient(680px 180px at 24% 0%, rgba(215,150,79,.10), rgba(0,0,0,0) 55%),
    linear-gradient(180deg, rgba(10,5,3,.80), rgba(10,5,3,.92));
  display:grid;
  grid-template-rows:auto auto 1fr;
  gap:10px;
}

.portfolio-card__title{
  margin:0;
  font-weight:750;
  letter-spacing:-.01em;
  font-size:clamp(18px, 2.2vw, 26px);
  line-height:1.15;

  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.portfolio-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}

/* чипы: поддерживаем оба нейминга */
.portfolio-card__chip-text,
.portfolio-chip{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  color:rgba(243,244,243,.88);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(243,244,243,.12);
}

.portfolio-card__more{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  color:rgba(215,150,79,.92);
  font-size:13px;
  letter-spacing:.02em;
  user-select:none;
}

.portfolio-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:
    radial-gradient(700px 220px at 18% 12%, rgba(215,150,79,.26), rgba(0,0,0,0) 55%);
  opacity:0;
  transition:opacity .18s ease;
  pointer-events:none;
}

@media (hover:hover){
  .portfolio-card:hover{
    transform:translateY(-4px);
    border-color:rgba(215,150,79,.34);
    box-shadow:var(--shadow-card-hover);
  }
  .portfolio-card:hover::before{ opacity:1; }
  .portfolio-card:hover .portfolio-card__img{ transform:scale(1.03); }
}

/* FOCUS: делаем на карточке (не клипается overflow) */
.portfolio-card:focus-within{
  border-color:rgba(215,150,79,.42);
  box-shadow:var(--shadow-card-hover), var(--ring), var(--ring-2);
}
.portfolio-card__link:focus-visible{
  outline:none;
}

/* =========================================================
RELATED (project page) — scoped tuning ONLY here
========================================================= */
body.page--project .project-related{
  background:
    radial-gradient(900px 420px at 18% 10%, rgba(215,150,79,.16), rgba(0,0,0,0) 60%),
    linear-gradient(135deg, var(--bg-2), var(--bg) 58%, var(--bg-2));
  color:var(--ink);
  padding:clamp(22px, 4.2vw, 64px) 0;
}

/* related grid */
body.page--project .project-related__grid{
  display:grid;
  gap:clamp(14px, 1.8vw, 22px);
  grid-template-columns:repeat(auto-fit, minmax(min(360px, 100%), 1fr));
  align-items:stretch;
}

/* IMPORTANT: В related НЕ делаем featured */
body.page--project .project-related .portfolio-card__media{
  aspect-ratio:4 / 3;
}

/* =========================================================
PROJECT PAGE (base)
========================================================= */
body.page--project{
  background:var(--paper);
  color:#151311;
}

/* хлебные крошки — только на проекте */
body.page--project :where(.breadcrumbs, .breadcrumb, nav[aria-label="breadcrumb"]){
  display:none !important;
}

/* якоря под липкой шапкой */
body.page--project #project-gallery{
  scroll-margin-top: 96px;
}

/* =========================================================
PROJECT HERO (ONE version)
Markup: .project-hero__bg / __inner / __panel / __facts / __callout / __actions / __frame
========================================================= */
body.page--project .project-hero{
  position:relative;
  padding:clamp(16px, 2.6vw, 22px) 0 clamp(22px, 4.2vw, 46px);
  overflow:hidden;
  color:var(--ink);
}

body.page--project .project-hero__bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 420px at 18% 12%, rgba(215,150,79,.18), rgba(0,0,0,0) 60%),
    linear-gradient(135deg, var(--bg-2), var(--bg) 58%, var(--bg-2));
}

body.page--project .project-hero__inner{
  position:relative;
  display:grid;
  gap:16px;
  align-items:stretch;
}

@media (min-width: 980px){
  body.page--project .project-hero__inner{
    grid-template-columns: 1.05fr .95fr;
    gap:22px;
  }
}

body.page--project .project-hero__content,
body.page--project .project-hero__media{ display:flex; }

body.page--project .project-hero__panel{
  width:100%;
  display:flex;
  flex-direction:column;
  padding:clamp(16px, 2.2vw, 22px);
  border-radius:22px;

  background:
    radial-gradient(620px 260px at 18% 18%, rgba(215,150,79,.14), rgba(0,0,0,0) 62%),
    linear-gradient(180deg, rgba(10,5,3,.62), rgba(10,5,3,.44));
  border:1px solid rgba(243,244,243,.14);
  box-shadow:0 28px 78px rgba(0,0,0,.56);
}

@supports ((-webkit-backdrop-filter: blur(12px)) or (backdrop-filter: blur(12px))){
  body.page--project .project-hero__panel{
    background:
      radial-gradient(620px 260px at 18% 18%, rgba(215,150,79,.14), rgba(0,0,0,0) 62%),
      rgba(10,5,3,.42);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }
}

body.page--project .project-hero__kicker{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
  color:rgba(243,244,243,.72);
  margin:0 0 10px;
}

body.page--project .project-hero__title{
  margin:0 0 10px;
  font-weight:780;
  letter-spacing:-0.02em;
  font-size:clamp(24px, 2.6vw, 38px);
  line-height:1.08;
  color:rgba(243,244,243,.98);
  text-shadow:0 1px 0 rgba(0,0,0,.35), 0 18px 44px rgba(0,0,0,.55);
}

@supports (text-wrap: balance){
  body.page--project .project-hero__title{ text-wrap:balance; }
}

body.page--project .project-hero__lead{
  margin:0 0 12px;
  color:rgba(243,244,243,.78);
  font-size:clamp(13px, 1.15vw, 16px);
  line-height:1.55;
  max-width:66ch;
}

body.page--project .project-hero__addr,
body.page--project .project-hero__note{
  margin:0 0 12px;
  color:rgba(243,244,243,.62);
  font-size:13px;
  line-height:1.45;
}

body.page--project .project-hero__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
  margin:0 0 14px;
  padding:0;
}
body.page--project .project-hero__chip-text{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  font-size:12px;
  color:rgba(243,244,243,.88);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(243,244,243,.16);
}

/* FACTS */
body.page--project .project-hero__facts{
  margin:12px 0 12px;
  padding-top:12px;
  border-top:1px solid rgba(243,244,243,.10);

  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
@media (min-width: 560px){
  body.page--project .project-hero__facts{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  body.page--project .project-hero__fact:nth-child(3){
    grid-column:1 / -1;
  }
}

body.page--project .project-hero__fact{
  position:relative;
  border-radius:18px;
  padding:12px;
  background:
    radial-gradient(520px 180px at 18% 20%, rgba(215,150,79,.10), rgba(0,0,0,0) 62%),
    rgba(255,255,255,.035);
  border:1px solid rgba(243,244,243,.12);
  box-shadow:
    0 14px 34px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
@media (hover:hover){
  body.page--project .project-hero__fact:hover{
    transform:translateY(-2px);
    border-color:rgba(215,150,79,.24);
    box-shadow:
      0 18px 42px rgba(0,0,0,.26),
      inset 0 1px 0 rgba(255,255,255,.06);
  }
}

body.page--project .project-hero__fact-h{
  margin:0 0 6px;
  display:flex;
  align-items:center;
  gap:10px;

  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:rgba(243,244,243,.88);
}
body.page--project .project-hero__fact-h::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(215,150,79,.92);
  box-shadow:0 0 0 4px rgba(215,150,79,.14);
}
body.page--project .project-hero__fact-t{
  margin:0;
  color:rgba(243,244,243,.72);
  font-size:13px;
  line-height:1.45;
}

/* CALLOUT */
body.page--project .project-hero__callout{
  margin-top:10px;
  padding:12px 14px;
  border-radius:18px;
  background:
    radial-gradient(520px 200px at 14% 20%, rgba(215,150,79,.16), rgba(0,0,0,0) 62%),
    rgba(255,255,255,.035);
  border:1px solid rgba(243,244,243,.14);
  box-shadow:
    0 16px 40px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.05);
}
body.page--project .project-hero__callout-t{
  margin:0 0 8px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:rgba(243,244,243,.70);
}
body.page--project .project-hero__callout-phone{
  display:inline-flex;
  align-items:baseline;
  gap:10px;

  font-size:18px;
  font-weight:800;
  letter-spacing:.01em;
  text-decoration:none;
  color:rgba(243,244,243,.98);
  line-height:1.1;
}
body.page--project .project-hero__callout-phone::after{
  content:"↗";
  font-size:14px;
  opacity:.70;
  transform:translateY(-1px);
}
body.page--project .project-hero__callout-phone:hover{
  color:rgba(215,150,79,.98);
}
body.page--project .project-hero__callout-sub{
  margin-top:6px;
  font-size:12px;
  color:rgba(243,244,243,.64);
  line-height:1.35;
}

/* ACTIONS / BUTTONS */
body.page--project .project-hero__actions{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(243,244,243,.10);

  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

body.page--project .project-hero__btn{
  min-height:48px;
  padding:12px 18px;
  border-radius:999px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  font-weight:800;
  letter-spacing:.02em;
  text-decoration:none;

  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

body.page--project .project-hero__btn--primary{
  color:#0A0503;
  background:linear-gradient(180deg, var(--accent), var(--accent-press));
  border:1px solid rgba(0,0,0,.28);
  box-shadow:0 14px 36px rgba(0,0,0,.34);
}
body.page--project .project-hero__btn--primary:hover{
  background:linear-gradient(180deg, var(--accent-hover), var(--accent-press));
  transform:translateY(-1px);
  box-shadow:0 18px 44px rgba(0,0,0,.40);
}

body.page--project .project-hero__btn--ghost{
  color:rgba(243,244,243,.92);
  background:rgba(255,255,255,.04);
  border:1px solid rgba(243,244,243,.18);
  box-shadow:0 12px 30px rgba(0,0,0,.20);
}
body.page--project .project-hero__btn--ghost:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(215,150,79,.26);
  transform:translateY(-1px);
}

/* buttons on small screens */
@media (max-width: 520px){
  body.page--project .project-hero__actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  body.page--project .project-hero__btn{
    width:100%;
    padding:12px 14px;
  }
}

/* Link to gallery */
body.page--project .project-hero__link{
  margin-top:12px;
  display:inline-flex;
  align-items:center;
  gap:8px;

  font-size:13px;
  color:rgba(243,244,243,.72);
  text-decoration:none;

  padding:8px 10px;
  border-radius:14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(243,244,243,.10);
  width:fit-content;

  transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
body.page--project .project-hero__link:hover{
  color:rgba(215,150,79,.92);
  border-color:rgba(215,150,79,.22);
  background:rgba(255,255,255,.04);
  transform:translateY(-1px);
}

/* FOCUS (A11Y) */
body.page--project .project-hero :where(a, button):focus-visible{
  outline:none;
  box-shadow:var(--ring), var(--ring-2);
}

/* media frame */
body.page--project .project-hero__frame{
  width:100%;
  height:100%;
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(243,244,243,.12);
  background:rgba(255,255,255,.03);
  box-shadow:0 22px 60px rgba(0,0,0,.46);
  position:relative;
}

body.page--project .project-hero__frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 420px at 70% 20%, rgba(215,150,79,.10), rgba(0,0,0,0) 62%),
    linear-gradient(180deg, rgba(0,0,0,0) 34%, rgba(10,5,3,.34) 100%);
}

body.page--project .project-hero__img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  aspect-ratio: 16 / 11;
}

@media (min-width:980px){
  body.page--project .project-hero__img{
    aspect-ratio:auto;
    min-height:520px;
  }
}

body.page--project .project-hero__ph{
  width:100%;
  height:100%;
  aspect-ratio: 16 / 11;
  background:
    radial-gradient(700px 240px at 30% 20%, rgba(215,150,79,.20), rgba(0,0,0,0) 60%),
    linear-gradient(135deg, rgba(243,244,243,.08), rgba(0,0,0,0));
}

/* =========================================================
PROJECT PASSPORT • premium (FINAL) — без правок по сути
========================================================= */
/* (ваш блок project-passport оставлен как есть) */

/* =========================================================
PROJECT GALLERY • Studio Split Layout (CLEAN • FULL)
+ no-overlap + title kicker + click affordance
========================================================= */
.project-gallery{
  --pg-bg: var(--paper-2, #E1D5C9);
  --pg-ink: var(--bg-2, #0A0503);
  --pg-muted: rgba(21,19,17,.62);
  --pg-line: rgba(21,19,17,.12);
  --pg-accent: var(--accent, #D7964F);

  --pg-radius: 22px;
  --pg-gap: clamp(12px, 1.4vw, 18px);
  --pg-shadow: 0 22px 60px rgba(10,5,3,.10);

  padding: clamp(34px, 5.2vw, 78px) 0;
  background: var(--pg-bg);
  position: relative;
  overflow: hidden;
}

.project-gallery::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(1100px 420px at 18% 12%, rgba(255,255,255,.20), transparent 62%),
    radial-gradient(900px 420px at 82% 18%, rgba(215,150,79,.16), transparent 62%);
  pointer-events:none;
}

.project-gallery__inner{ position: relative; }

/* HEAD */
.project-gallery__head{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: start;
  padding-bottom: clamp(14px, 1.8vw, 20px);
  margin-bottom: clamp(16px, 2vw, 22px);
  border-bottom: 1px solid var(--pg-line);
}

.project-gallery__title{
  margin: 0;
  letter-spacing: -0.03em;
  font-weight: 800;
  font-size: clamp(26px, 3.2vw, 46px);
  line-height: 1.04;
  color: var(--pg-ink);
  position: relative;
  padding-top: 18px;
}
.project-gallery__title::before{
  content: "Галерея проекта";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(21,19,17,.58);
}

.project-gallery__subtitle{
  margin: 0;
  max-width: 860px;
  color: var(--pg-muted);
  font-size: 14px;
  line-height: 1.55;
}

@media (min-width: 900px){
  .project-gallery__head{
    grid-template-columns: 1.2fr .8fr;
    gap: 16px 28px;
    align-items: end;
  }
  .project-gallery__subtitle{
    justify-self: end;
    text-align: right;
    max-width: 520px;
  }
}

/* GRID (строго по порядку, anti-overlap) */
.project-gallery__grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--pg-gap);
  grid-auto-flow: row;
  align-items: stretch;
}

/* ITEM */
.project-gallery__item{
  min-width: 0;
  align-self: stretch;
  overflow: hidden;
}

/* LINK */
.project-gallery__link{
  display:block;
  height: 100%;
  border-radius: var(--pg-radius);
  overflow: hidden;
  position: relative;
  background: rgba(255,255,255,.35);
  border: 1px solid rgba(21,19,17,.10);
  box-shadow:
    var(--pg-shadow),
    0 1px 0 rgba(255,255,255,.55) inset;
  transform: translateZ(0);
  cursor: pointer; /* было zoom-in (lightbox affordance) */
  transition: transform .18s ease;
}

/* IMG */
.project-gallery__img{
  width: 100%;
  height: 100%;
  display:block;
  object-fit: cover;
  object-position: center;
  transform: scale(1.001);
}

/* overlay + copper hairline */
.project-gallery__link::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 58%, rgba(0,0,0,.18) 100%);
  opacity: 0;
  transition: opacity .22s ease;
  pointer-events:none;
}
.project-gallery__link::after{
  content:"";
  position:absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, rgba(215,150,79,0), rgba(215,150,79,.70), rgba(215,150,79,0));
  opacity: .85;
  pointer-events:none;
}

/* caption (hover/focus) */
.project-gallery__cap{
  position:absolute;
  left: 14px;
  right: 14px;
  bottom: 12px;

  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(21,19,17,.10);
  color: rgba(10,5,3,.78);
  font-size: 13px;
  line-height: 1.25;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  opacity: 0;
  transform: translateY(6px);
  transition: opacity .22s ease, transform .22s ease;
}

/* focus */
.project-gallery__link:focus-visible{
  outline: none;
  box-shadow: var(--pg-shadow), 0 0 0 3px rgba(215,150,79,.28), 0 0 0 7px rgba(215,150,79,.14);
}
.project-gallery__link:focus-visible::before{ opacity: 1; }
.project-gallery__link:focus-visible .project-gallery__cap{
  opacity: 1;
  transform: translateY(0);
}

/* hover */
@media (hover:hover){
  .project-gallery__link:hover{ transform: translateY(-2px); }
  .project-gallery__link:hover::before{ opacity: 1; }
  .project-gallery__link:hover .project-gallery__cap{
    opacity: 1;
    transform: translateY(0);
  }
}

/* Empty */
.project-gallery__empty{
  padding: 18px 20px;
  border-radius: var(--pg-radius);
  border: 1px dashed rgba(21,19,17,.18);
  background: rgba(255,255,255,.40);
  color: rgba(21,19,17,.70);
}

/* MOBILE (старое правило оставляю, но его переопределяет твой mobile-fix ниже) */
@media (max-width: 767px){
  .project-gallery__link{ aspect-ratio: 4 / 3; }
}

/* TABLET */
@media (min-width: 768px){
  .project-gallery__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: clamp(110px, 10vw, 150px);
  }
  .project-gallery__item{ grid-column: span 1; grid-row: span 2; }

  .project-gallery__item:nth-child(1){
    grid-column: 1 / -1;
    grid-row: span 5;
  }

  .project-gallery__item:nth-child(12n+13){
    grid-column: 1 / -1;
    grid-row: span 2;
  }
}

/* DESKTOP: Studio Split */
@media (min-width: 1100px){
  .project-gallery__grid{
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-rows: clamp(92px, 7.2vw, 132px);
    gap: clamp(14px, 1.6vw, 22px);
  }

  .project-gallery__item{ grid-column: span 4; grid-row: span 2; }

  .project-gallery__item:nth-child(1){
    grid-column: 1 / span 7;
    grid-row: span 6;
  }
  .project-gallery__item:nth-child(2),
  .project-gallery__item:nth-child(3),
  .project-gallery__item:nth-child(4){
    grid-column: 8 / -1;
    grid-row: span 2;
  }

  .project-gallery__item:nth-child(n+5){
    grid-column: span 4;
    grid-row: span 2;
  }

  .project-gallery__item:nth-child(12n+13){
    grid-column: 1 / span 8;
    grid-row: span 2;
  }
}

/* Reduced motion (без pg-lightbox) */
@media (prefers-reduced-motion: reduce){
  .portfolio-card,
  .portfolio-card::before,
  .portfolio-card__img,
  .portfolio__btn,
  body.page--project .project-hero__btn,
  body.page--project .project-hero__fact,
  .project-gallery__link,
  .project-gallery__link::before,
  .project-gallery__cap{
    transition:none !important;
  }
}

/* =========================================================
PROJECT GALLERY — MOBILE studio fix (no crop + cleaner rhythm)
========================================================= */
@media (max-width: 767px){

  .project-gallery{
    padding: 28px 0;
  }

  .project-gallery__head{
    gap: 8px;
    padding-bottom: 14px;
    margin-bottom: 14px;
  }

  /* Ключ: убираем принудительный 4/3, даём img диктовать высоту */
  .project-gallery__link{
    aspect-ratio: auto !important;
    border-radius: 18px;
  }

  .project-gallery__img{
    height: auto !important;
    aspect-ratio: auto !important;
    object-fit: cover;
    display: block;
  }

  .project-gallery__grid{
    gap: 12px;
  }

  /* На тач-устройствах нет hover — капшен лучше показывать сразу, но тихо */
  .project-gallery__cap{
    opacity: 1;
    transform: none;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(21,19,17,.10);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  /* Чуть легче тень на мобиле */
  .project-gallery__link{
    box-shadow:
      0 18px 46px rgba(10,5,3,.10),
      0 1px 0 rgba(255,255,255,.55) inset;
  }
}

#modal-calc{
  --mc-accent: var(--accent, #D7964F);
  --mc-accent-hover: var(--accent-hover, #C98946);
  --mc-ink: var(--ink, #151311);
  --mc-paper: rgba(246,240,231,.98);
  --mc-line: rgba(21,19,17,.14);
  --mc-shadow: 0 22px 80px rgba(0,0,0,.46);
  --mc-radius: 28px;
  --mc-pad: clamp(22px, 2.2vw, 32px);
  --mc-gap: 12px;
  --mc-focus: 0 0 0 3px rgba(215,150,79,.22), 0 16px 34px rgba(0,0,0,.10);

  position: fixed;
  inset: 0;
  z-index: 10000;
  padding: clamp(14px, 3vw, 44px);

  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;

  filter: none !important;
}

#modal-calc.active,
#modal-calc.is-active,
#modal-calc.open,
#modal-calc[aria-hidden="false"]{
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

#modal-calc .modal__overlay{
  position: absolute;
  inset: 0;
  z-index: 0 !important;
  pointer-events: auto !important;

  background:
    radial-gradient(900px 520px at 30% 20%, rgba(215,150,79,.18), transparent 60%),
    radial-gradient(720px 480px at 70% 70%, rgba(0,0,0,.22), transparent 60%),
    rgba(10,5,3,.62);

  backdrop-filter: blur(12px) saturate(1.08);
  -webkit-backdrop-filter: blur(12px) saturate(1.08);
}

#modal-calc .modal__dialog{
  position: relative;
  z-index: 1 !important;

  width: min(860px, 100%);
  max-height: calc(100vh - (2 * clamp(14px, 3vw, 44px)));
  overflow: auto;

  padding: var(--mc-pad);
  border-radius: var(--mc-radius);

  background: var(--mc-paper) !important;
  border: 1px solid rgba(255,255,255,.40);
  box-shadow: var(--mc-shadow);

  color: var(--mc-ink);
  opacity: 1 !important;
  filter: none !important;
}

#modal-calc .modal__dialog::before,
#modal-calc .modal__dialog::after{
  content: none !important;
}

#modal-calc .modal__dialog,
#modal-calc .modal__dialog *{
  box-sizing: border-box !important;
}

#modal-calc .modal__dialog > :is(.modal__head,.modal__header,.modal__top,.modal__bar,.modal__titlebar,.modal__toolbar){
  display: contents !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

#modal-calc .modal__dialog > :is(.modal__head,.modal__header,.modal__top,.modal__bar,.modal__titlebar,.modal__toolbar) > :not(:last-child){
  display: none !important;
}

#modal-calc .modal__dialog .modal__close,
#modal-calc .modal__dialog [data-modal-close]{
  display: none !important;
}

#modal-calc .modal__dialog > .modal__close,
#modal-calc .modal__dialog > [data-modal-close],
#modal-calc .modal__dialog > :is(.modal__head,.modal__header,.modal__top,.modal__bar,.modal__titlebar,.modal__toolbar) > :last-child{
  display: grid !important;
  place-items: center !important;

  position: absolute !important;
  top: 14px !important;
  right: 14px !important;

  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;

  border-radius: 999px !important;
  border: 1px solid rgba(21,19,17,.16) !important;
  background: rgba(255,255,255,.82) !important;

  cursor: pointer !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.16) !important;

  font-size: 0 !important;
  color: transparent !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

#modal-calc .modal__dialog > .modal__close::before,
#modal-calc .modal__dialog > [data-modal-close]::before,
#modal-calc .modal__dialog > :is(.modal__head,.modal__header,.modal__top,.modal__bar,.modal__titlebar,.modal__toolbar) > :last-child::before{
  content: "×";
  font-size: 22px;
  line-height: 1;
  color: rgba(21,19,17,.82);
  text-indent: 0;
}

#modal-calc .modal__dialog > .modal__close * ,
#modal-calc .modal__dialog > [data-modal-close] * ,
#modal-calc .modal__dialog > :is(.modal__head,.modal__header,.modal__top,.modal__bar,.modal__titlebar,.modal__toolbar) > :last-child *{
  display: none !important;
}

#modal-calc .modal__dialog :is(.modal__content,.modal__body,.modal__inner,.modal__wrap,.modal__container){
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#modal-calc .modal__dialog form .row,
#modal-calc .modal__dialog form .form__row,
#modal-calc .modal__dialog form .modal__row,
#modal-calc .modal__dialog form .fields,
#modal-calc .modal__dialog form .form-group,
#modal-calc .modal__dialog .modal__form .row,
#modal-calc .modal__dialog .modal__form .form__row,
#modal-calc .modal__dialog .modal__form .modal__row,
#modal-calc .modal__dialog .modal__form .fields,
#modal-calc .modal__dialog .modal__form .form-group{
  display: contents !important;
}

#modal-calc .modal__dialog form,
#modal-calc .modal__dialog .modal__form{
  width: 100% !important;
  max-width: none !important;

  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: var(--mc-gap) !important;

  margin: 0 !important;
  padding: 0 !important;
}

@media (min-width: 720px){
  #modal-calc .modal__dialog form,
  #modal-calc .modal__dialog .modal__form{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px 14px !important;
  }

  #modal-calc .modal__dialog form > :nth-child(n+3),
  #modal-calc .modal__dialog .modal__form > :nth-child(n+3){
    grid-column: 1 / -1;
  }
}

#modal-calc .modal__field{
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

#modal-calc label{
  display: block;
  margin: 0 0 6px;
  font-size: 11px;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(21,19,17,.55);
}

#modal-calc input[type="text"],
#modal-calc input[type="tel"],
#modal-calc input[type="email"],
#modal-calc textarea{
  width: 100% !important;
  max-width: none !important;
  display: block !important;

  border-radius: 16px !important;
  border: 1px solid var(--mc-line) !important;
  background: rgba(255,255,255,.96) !important;

  color: var(--mc-ink) !important;
  outline: none !important;
  box-shadow: none !important;

  font: inherit !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

#modal-calc input[type="text"],
#modal-calc input[type="tel"],
#modal-calc input[type="email"]{
  height: 52px !important;
  padding: 0 14px !important;
}

#modal-calc textarea{
  min-height: 160px !important;
  padding: 12px 14px !important;
  resize: vertical !important;
}

#modal-calc input::placeholder,
#modal-calc textarea::placeholder{
  color: rgba(21,19,17,.38) !important;
}

#modal-calc input:focus,
#modal-calc textarea:focus{
  border-color: rgba(215,150,79,.62) !important;
  box-shadow: var(--mc-focus) !important;
}

#modal-calc .modal__dialog .btn,
#modal-calc .modal__dialog button,
#modal-calc .modal__dialog input[type="submit"]{
  width: 100% !important;
  min-height: 56px !important;
  border-radius: 18px !important;
  font-weight: 850 !important;
  letter-spacing: .01em !important;
  grid-column: 1 / -1 !important;
}

#modal-calc .modal__dialog .btn:not(.btn--border),
#modal-calc .modal__dialog button:not(.btn--border),
#modal-calc .modal__dialog input[type="submit"]:not(.btn--border){
  background: var(--mc-accent) !important;
  border: 1px solid rgba(21,19,17,.10) !important;
  color: var(--mc-ink) !important;
  box-shadow: 0 16px 36px rgba(215,150,79,.28) !important;
}

#modal-calc .modal__dialog .btn:not(.btn--border):hover,
#modal-calc .modal__dialog button:not(.btn--border):hover,
#modal-calc .modal__dialog input[type="submit"]:not(.btn--border):hover{
  background: var(--mc-accent-hover) !important;
}

#modal-calc .modal__dialog .btn--border{
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(21,19,17,.18) !important;
  color: rgba(21,19,17,.82) !important;
}

#modal-calc .form__note,
#modal-calc small{
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.35;
  color: rgba(21,19,17,.58);
  grid-column: 1 / -1 !important;
}

#modal-calc .form__note a{
  color: rgba(21,19,17,.78);
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 420px){
  #modal-calc{
    padding: 14px;
  }
  #modal-calc .modal__dialog{
    border-radius: 22px;
    padding: 18px;
  }
}

@media (prefers-reduced-motion: reduce){
  #modal-calc,
  #modal-calc *{
    transition: none !important;
  }
}

/* =========================================
   TRIS • HOME HERO TRUST
   Локальные стили только для новой главной
   ========================================= */

/* ===== ТРиС / hero signature v3 ===== */

.hero-signature {
  position: relative;
  padding: 28px 0 20px;
  background:
    linear-gradient(180deg, #f6f2eb 0%, #f2ece5 100%);
  overflow: hidden;
}

.hero-signature::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(126, 94, 63, 0.07), transparent 34%),
    radial-gradient(circle at 88% 74%, rgba(43, 36, 30, 0.07), transparent 28%);
  pointer-events: none;
}

.hero-signature .container {
  position: relative;
  z-index: 1;
}

.hero-signature__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(500px, 0.98fr);
  gap: 40px;
  align-items: center;
  min-height: 650px;
}

.hero-signature__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 8px 0 0;
}

.hero-signature__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #766a5e;
}

.hero-signature__eyebrow::before {
  content: "";
  width: 40px;
  height: 1px;
  background: rgba(90, 76, 63, 0.35);
}

.hero-signature__title {
  margin: 0;
  max-width: 640px;
  font-size: clamp(44px, 6vw, 78px);
  line-height: 0.92;
  letter-spacing: -0.05em;
  font-weight: 500;
  color: #191614;
}

.hero-signature__title span,
.hero-signature__title em {
  display: block;
}

.hero-signature__title em {
  font-style: normal;
  color: #8a6643;
}

.hero-signature__text {
  max-width: 560px;
  margin: 24px 0 0;
  font-size: 18px;
  line-height: 1.58;
  color: #474038;
}

.hero-signature__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.hero-signature__btn {
  min-height: 56px;
  padding: 0 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-radius: 0;
  border: 1px solid transparent;
  cursor: pointer;
  transition:
    transform .2s ease,
    background-color .2s ease,
    border-color .2s ease,
    color .2s ease,
    box-shadow .2s ease;
}

.hero-signature__btn:hover {
  transform: translateY(-1px);
}

.hero-signature__btn--primary {
  min-width: 242px;
  background: #211c18;
  border-color: #211c18;
  color: #f7f3ee;
  box-shadow: 0 16px 30px rgba(24, 20, 16, 0.12);
}

.hero-signature__btn--primary:hover {
  background: #322b24;
  border-color: #322b24;
  color: #f7f3ee;
}

.hero-signature__btn--secondary {
  min-width: 248px;
  background: transparent;
  border-color: rgba(33, 28, 24, 0.16);
  color: #211c18;
}

.hero-signature__btn--secondary:hover {
  background: rgba(255, 255, 255, 0.55);
  border-color: rgba(33, 28, 24, 0.28);
  color: #211c18;
}

.hero-signature__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 22px;
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid rgba(33, 28, 24, 0.10);
  max-width: 620px;
}

.hero-signature__fact {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  min-height: 74px;
}

.hero-signature__fact-num {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #887869;
  padding-top: 4px;
}

.hero-signature__fact-title {
  font-size: 17px;
  line-height: 1.24;
  font-weight: 500;
  color: #1f1a17;
}

.hero-signature__fact-text {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.48;
  color: #665b52;
}

.hero-signature__visual {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.hero-signature__visual-bg {
  position: absolute;
  right: 0;
  top: 42px;
  width: calc(100% - 84px);
  height: calc(100% - 84px);
  background: linear-gradient(180deg, #e3d6c9 0%, #d8cabd 100%);
}

.hero-signature__frame {
  position: relative;
  margin: 0;
  width: min(100%, 660px);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 0 0 0 56px;
  box-shadow: 0 26px 54px rgba(29, 23, 19, 0.14);
  background: #ddd4cb;
}

.hero-signature__picture,
.hero-signature__picture img {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-signature__picture img {
  object-fit: cover;
  object-position: center center;
  filter: saturate(0.96) contrast(1.02);
}

@media (max-width: 1240px) {
  .hero-signature__grid {
    grid-template-columns: minmax(0, 1fr) minmax(430px, 0.96fr);
    gap: 28px;
    min-height: 620px;
  }

  .hero-signature__frame {
    width: 100%;
  }

  .hero-signature__visual-bg {
    width: calc(100% - 54px);
    height: calc(100% - 54px);
    top: 28px;
  }
}

@media (max-width: 1024px) {
  .hero-signature {
    padding: 18px 0 16px;
  }

  .hero-signature__grid {
    grid-template-columns: 1fr;
    gap: 20px;
    min-height: auto;
  }

  .hero-signature__visual {
    order: 1;
    justify-content: center;
  }

  .hero-signature__content {
    order: 2;
    padding: 0;
  }

  .hero-signature__frame {
    max-width: none;
    aspect-ratio: 1.08 / 1;
    border-radius: 0 0 0 40px;
  }

  .hero-signature__visual-bg {
    inset: auto 0 0 0;
    top: 22px;
    width: calc(100% - 22px);
    height: calc(100% - 22px);
  }
}

@media (max-width: 767px) {
  .hero-signature {
    padding: 14px 0 14px;
  }

  .hero-signature__eyebrow {
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 0.13em;
  }

  .hero-signature__title {
    font-size: clamp(36px, 11vw, 52px);
    line-height: 0.95;
  }

  .hero-signature__text {
    max-width: 100%;
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.52;
  }

  .hero-signature__actions {
    margin-top: 22px;
    flex-direction: column;
  }

  .hero-signature__btn,
  .hero-signature__btn--primary,
  .hero-signature__btn--secondary {
    width: 100%;
    min-width: 0;
  }

  .hero-signature__facts {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 24px;
    padding-top: 16px;
    max-width: 100%;
  }

  .hero-signature__fact {
    min-height: auto;
  }

  .hero-signature__fact-title {
    font-size: 16px;
  }

  .hero-signature__fact-text {
    font-size: 13px;
  }

  .hero-signature__frame {
    aspect-ratio: 1 / 1;
    border-radius: 0 0 0 24px;
  }

  .hero-signature__visual-bg {
    width: calc(100% - 12px);
    height: calc(100% - 12px);
    top: 12px;
  }
}

/* ===== ТРиС / home.offer final pass ===== */
/* ===== ТРиС / home.offer ===== */

.offer-editorial {
  position: relative;
  padding: 88px 0 96px;
  background:
    linear-gradient(180deg, #efe8df 0%, #f5f1eb 100%);
  overflow: hidden;
}

.offer-editorial::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 14% 18%, rgba(138, 102, 67, 0.08), transparent 32%),
    radial-gradient(circle at 88% 76%, rgba(43, 36, 30, 0.05), transparent 26%);
  pointer-events: none;
}

.offer-editorial .container {
  position: relative;
  z-index: 1;
}

.offer-editorial__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 48px;
  align-items: start;
}

.offer-editorial__intro {
  max-width: 520px;
  padding-top: 8px;
}

.offer-editorial__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #776a5d;
}

.offer-editorial__eyebrow::before {
  content: "";
  width: 40px;
  height: 1px;
  background: rgba(88, 75, 63, 0.34);
}

.offer-editorial__title {
  margin: 0;
  font-size: clamp(34px, 4.8vw, 58px);
  line-height: 0.98;
  letter-spacing: -0.045em;
  font-weight: 500;
  color: #1d1916;
}

.offer-editorial__title span {
  display: block;
  margin-top: 16px;
  color: #8a6643;
}

.offer-editorial__lead {
  margin: 28px 0 0;
  font-size: 18px;
  line-height: 1.65;
  color: #4b4139;
  max-width: 500px;
}

.offer-editorial__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.offer-editorial__card {
  position: relative;
  min-height: 250px;
  padding: 28px 28px 30px;
  background: rgba(255, 252, 247, 0.74);
  border: 1px solid rgba(43, 36, 30, 0.10);
  box-shadow: 0 18px 38px rgba(28, 23, 18, 0.06);
  backdrop-filter: blur(8px);
}

.offer-editorial__card:nth-child(1),
.offer-editorial__card:nth-child(4) {
  transform: translateY(22px);
}

.offer-editorial__num {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #978471;
  margin-bottom: 24px;
}

.offer-editorial__card-title {
  margin: 0;
  font-size: 24px;
  line-height: 1.08;
  letter-spacing: -0.03em;
  font-weight: 500;
  color: #1d1916;
  max-width: 240px;
}

.offer-editorial__card-text {
  margin: 18px 0 0;
  font-size: 15px;
  line-height: 1.62;
  color: #60554c;
  max-width: 310px;
}

@media (max-width: 1240px) {
  .offer-editorial {
    padding: 76px 0 82px;
  }

  .offer-editorial__layout {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 34px;
  }

  .offer-editorial__card {
    min-height: 232px;
    padding: 24px 24px 26px;
  }

  .offer-editorial__card-title {
    font-size: 22px;
  }
}

@media (max-width: 1024px) {
  .offer-editorial {
    padding: 64px 0 68px;
  }

  .offer-editorial__layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .offer-editorial__intro {
    max-width: none;
  }

  .offer-editorial__lead {
    max-width: 100%;
  }

  .offer-editorial__grid {
    gap: 16px;
  }

  .offer-editorial__card:nth-child(1),
  .offer-editorial__card:nth-child(4) {
    transform: none;
  }
}

@media (max-width: 767px) {
  .offer-editorial {
    padding: 48px 0 52px;
  }

  .offer-editorial__eyebrow {
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 0.13em;
  }

  .offer-editorial__title {
    font-size: clamp(30px, 8.8vw, 42px);
    line-height: 1.02;
  }

  .offer-editorial__title span {
    margin-top: 12px;
  }

  .offer-editorial__lead {
    margin-top: 20px;
    font-size: 15px;
    line-height: 1.58;
  }

  .offer-editorial__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .offer-editorial__card {
    min-height: auto;
    padding: 22px 20px 22px;
  }

  .offer-editorial__num {
    margin-bottom: 18px;
  }

  .offer-editorial__card-title {
    font-size: 21px;
    max-width: none;
  }

  .offer-editorial__card-text {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.55;
    max-width: none;
  }
}
.offer-editorial--final {
  padding: 74px 0 84px;
}

.offer-editorial--final .offer-editorial__layout {
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: 42px;
  align-items: start;
}

.offer-editorial--final .offer-editorial__intro {
  max-width: 500px;
  padding-top: 0;
}

.offer-editorial--final .offer-editorial__eyebrow {
  margin-bottom: 16px;
}

.offer-editorial--final .offer-editorial__title {
  font-size: clamp(34px, 4.5vw, 56px);
  line-height: 0.98;
  color: #1b1714;
}

.offer-editorial--final .offer-editorial__title span {
  margin-top: 14px;
  color: #8a6643;
}

.offer-editorial--final .offer-editorial__lead {
  margin-top: 22px;
  max-width: 470px;
  font-size: 17px;
  line-height: 1.58;
  color: #4c433b;
}

.offer-editorial--final .offer-editorial__grid {
  gap: 16px;
  align-items: stretch;
}

.offer-editorial--final .offer-editorial__card {
  min-height: 220px;
  padding: 24px 24px 24px;
  background: #fbf8f3;
  border: 1px solid rgba(43, 36, 30, 0.08);
  box-shadow: 0 14px 30px rgba(28, 23, 18, 0.04);
  backdrop-filter: none;
}

.offer-editorial--final .offer-editorial__card:nth-child(1),
.offer-editorial--final .offer-editorial__card:nth-child(4) {
  transform: none;
}

.offer-editorial--final .offer-editorial__num {
  margin-bottom: 18px;
  color: #9b8977;
}

.offer-editorial--final .offer-editorial__card-title {
  font-size: 22px;
  line-height: 1.06;
  max-width: 240px;
  color: #1b1714;
}

.offer-editorial--final .offer-editorial__card-text {
  margin-top: 14px;
  max-width: 290px;
  font-size: 14px;
  line-height: 1.56;
  color: #62584f;
}

@media (max-width: 1240px) {
  .offer-editorial--final {
    padding: 66px 0 74px;
  }

  .offer-editorial--final .offer-editorial__layout {
    gap: 30px;
  }

  .offer-editorial--final .offer-editorial__card {
    min-height: 208px;
    padding: 22px 22px 22px;
  }

  .offer-editorial--final .offer-editorial__card-title {
    font-size: 21px;
  }
}

@media (max-width: 1024px) {
  .offer-editorial--final {
    padding: 56px 0 62px;
  }

  .offer-editorial--final .offer-editorial__layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .offer-editorial--final .offer-editorial__intro,
  .offer-editorial--final .offer-editorial__lead {
    max-width: 100%;
  }

  .offer-editorial--final .offer-editorial__grid {
    gap: 14px;
  }

  .offer-editorial--final .offer-editorial__card {
    min-height: 190px;
  }
}

@media (max-width: 767px) {
  .offer-editorial--final {
    padding: 44px 0 48px;
  }

  .offer-editorial--final .offer-editorial__title {
    font-size: clamp(30px, 8.6vw, 42px);
    line-height: 1.02;
  }

  .offer-editorial--final .offer-editorial__title span {
    margin-top: 10px;
  }

  .offer-editorial--final .offer-editorial__lead {
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.55;
  }

  .offer-editorial--final .offer-editorial__grid {
    grid-template-columns: 1fr;
  }

  .offer-editorial--final .offer-editorial__card {
    min-height: auto;
    padding: 20px 18px 20px;
  }

  .offer-editorial--final .offer-editorial__card-title {
    max-width: none;
    font-size: 20px;
  }

  .offer-editorial--final .offer-editorial__card-text {
    max-width: none;
    font-size: 14px;
  }
}
/* ===== ТРиС / home.proof compare ===== */

.proof-compare {
  position: relative;
  padding: 88px 0 94px;
  background: linear-gradient(180deg, #f7f3ee 0%, #f1ebe4 100%);
  overflow: hidden;
}

.proof-compare::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 14% 18%, rgba(138, 102, 67, 0.06), transparent 30%),
    radial-gradient(circle at 86% 78%, rgba(43, 36, 30, 0.05), transparent 24%);
  pointer-events: none;
}

.proof-compare .container {
  position: relative;
  z-index: 1;
}

.proof-compare__intro {
  max-width: 860px;
  margin-bottom: 42px;
}

.proof-compare__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #786b5f;
}

.proof-compare__eyebrow::before {
  content: "";
  width: 40px;
  height: 1px;
  background: rgba(88, 75, 63, 0.34);
}

.proof-compare__title {
  margin: 0;
  max-width: 940px;
  font-size: clamp(34px, 4.6vw, 58px);
  line-height: 0.98;
  letter-spacing: -0.045em;
  font-weight: 500;
  color: #1b1714;
}

.proof-compare__title span {
  display: block;
  margin-top: 14px;
  color: #8a6643;
}

.proof-compare__lead {
  margin: 24px 0 0;
  max-width: 700px;
  font-size: 18px;
  line-height: 1.64;
  color: #4b4139;
}

.proof-compare__table {
  display: grid;
  gap: 16px;
}

.proof-compare__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  background: rgba(255, 252, 247, 0.82);
  border: 1px solid rgba(43, 36, 30, 0.08);
  box-shadow: 0 16px 34px rgba(28, 23, 18, 0.05);
}

.proof-compare__cell {
  padding: 28px 28px 30px;
}

.proof-compare__cell--left {
  background: rgba(255, 255, 255, 0.34);
}

.proof-compare__cell--right {
  background: rgba(248, 242, 235, 0.72);
}

.proof-compare__divider {
  position: relative;
  background: transparent;
}

.proof-compare__divider::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 26px;
  bottom: 26px;
  width: 1px;
  background: rgba(43, 36, 30, 0.10);
  transform: translateX(-50%);
}

.proof-compare__divider::after {
  content: "→";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 34px;
  height: 34px;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #f3ede6;
  border: 1px solid rgba(43, 36, 30, 0.08);
  color: #8a6643;
  font-size: 18px;
  line-height: 1;
}

.proof-compare__label {
  margin-bottom: 18px;
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #958372;
}

.proof-compare__heading {
  margin: 0;
  font-size: 30px;
  line-height: 1.04;
  letter-spacing: -0.035em;
  font-weight: 500;
  color: #1b1714;
  max-width: 360px;
}

.proof-compare__text {
  margin: 18px 0 0;
  font-size: 16px;
  line-height: 1.62;
  color: #5f554c;
  max-width: 420px;
}

@media (max-width: 1240px) {
  .proof-compare {
    padding: 76px 0 82px;
  }

  .proof-compare__cell {
    padding: 24px 24px 26px;
  }

  .proof-compare__heading {
    font-size: 27px;
  }
}

@media (max-width: 1024px) {
  .proof-compare {
    padding: 62px 0 68px;
  }

  .proof-compare__intro {
    margin-bottom: 28px;
  }

  .proof-compare__row {
    grid-template-columns: 1fr;
  }

  .proof-compare__divider {
    display: none;
  }

  .proof-compare__cell {
    padding: 22px 22px 22px;
  }

  .proof-compare__cell--left {
    border-bottom: 1px solid rgba(43, 36, 30, 0.08);
  }

  .proof-compare__heading,
  .proof-compare__text,
  .proof-compare__lead {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .proof-compare {
    padding: 46px 0 50px;
  }

  .proof-compare__eyebrow {
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 0.13em;
  }

  .proof-compare__title {
    font-size: clamp(30px, 8.8vw, 42px);
    line-height: 1.02;
  }

  .proof-compare__title span {
    margin-top: 10px;
  }

  .proof-compare__lead {
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.56;
  }

  .proof-compare__cell {
    padding: 18px 18px 18px;
  }

  .proof-compare__label {
    margin-bottom: 14px;
  }

  .proof-compare__heading {
    font-size: 24px;
    max-width: none;
  }

  .proof-compare__text {
    margin-top: 14px;
    font-size: 14px;
    line-height: 1.55;
    max-width: none;
  }
}
/* ===== ТРиС / home.proof final pass ===== */

.proof-compare--final {
  padding: 64px 0 72px;
}

.proof-compare--final .proof-compare__intro {
  max-width: 780px;
  margin-bottom: 28px;
}

.proof-compare--final .proof-compare__eyebrow {
  margin-bottom: 14px;
}

.proof-compare--final .proof-compare__title {
  max-width: 860px;
  font-size: clamp(32px, 4.1vw, 50px);
  line-height: 0.98;
  color: #1b1714;
}

.proof-compare--final .proof-compare__title span {
  margin-top: 10px;
  color: #8a6643;
}

.proof-compare--final .proof-compare__lead {
  margin-top: 18px;
  max-width: 620px;
  font-size: 17px;
  line-height: 1.56;
  color: #4b4139;
}

.proof-compare--final .proof-compare__table {
  gap: 12px;
}

.proof-compare--final .proof-compare__row {
  grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr);
  background: #fbf8f3;
  border: 1px solid rgba(43, 36, 30, 0.08);
  box-shadow: 0 12px 24px rgba(28, 23, 18, 0.03);
}

.proof-compare--final .proof-compare__cell {
  padding: 22px 24px 22px;
}

.proof-compare--final .proof-compare__cell--left {
  background: rgba(255, 255, 255, 0.28);
}

.proof-compare--final .proof-compare__cell--right {
  background: rgba(247, 241, 234, 0.72);
}

.proof-compare--final .proof-compare__divider::before {
  top: 18px;
  bottom: 18px;
  background: rgba(43, 36, 30, 0.08);
}

.proof-compare--final .proof-compare__divider::after {
  width: 24px;
  height: 24px;
  background: transparent;
  border: 0;
  color: #9a8169;
  font-size: 15px;
}

.proof-compare--final .proof-compare__label {
  margin-bottom: 14px;
  font-size: 10px;
  letter-spacing: 0.14em;
  color: #9a8775;
}

.proof-compare--final .proof-compare__heading {
  font-size: 24px;
  line-height: 1.08;
  max-width: 300px;
}

.proof-compare--final .proof-compare__text {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.56;
  max-width: 360px;
}

@media (max-width: 1240px) {
  .proof-compare--final {
    padding: 56px 0 64px;
  }

  .proof-compare--final .proof-compare__title {
    font-size: clamp(30px, 4vw, 44px);
  }

  .proof-compare--final .proof-compare__heading {
    font-size: 22px;
  }
}

@media (max-width: 1024px) {
  .proof-compare--final {
    padding: 50px 0 56px;
  }

  .proof-compare--final .proof-compare__intro {
    margin-bottom: 22px;
  }

  .proof-compare--final .proof-compare__row {
    grid-template-columns: 1fr;
  }

  .proof-compare--final .proof-compare__divider {
    display: none;
  }

  .proof-compare--final .proof-compare__cell {
    padding: 18px 18px 18px;
  }

  .proof-compare--final .proof-compare__cell--left {
    border-bottom: 1px solid rgba(43, 36, 30, 0.08);
  }

  .proof-compare--final .proof-compare__heading,
  .proof-compare--final .proof-compare__text,
  .proof-compare--final .proof-compare__lead {
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  .proof-compare--final {
    padding: 40px 0 44px;
  }

  .proof-compare--final .proof-compare__title {
    font-size: clamp(28px, 8.2vw, 38px);
    line-height: 1.02;
  }

  .proof-compare--final .proof-compare__title span {
    margin-top: 8px;
  }

  .proof-compare--final .proof-compare__lead {
    margin-top: 16px;
    font-size: 15px;
    line-height: 1.52;
  }

  .proof-compare--final .proof-compare__cell {
    padding: 16px 16px 16px;
  }

  .proof-compare--final .proof-compare__label {
    margin-bottom: 10px;
  }

  .proof-compare--final .proof-compare__heading {
    font-size: 21px;
  }

  .proof-compare--final .proof-compare__text {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.5;
  }
}
/* ================================================
   HOME CONTROL
   Блок контроля и ответственности на главной
   ================================================ */

.home-control {
  margin-bottom: 120px;
}

.home-control__head {
  max-width: 860px;
  margin: 0 0 36px;
}

.home-control__eyebrow {
  margin: 0 0 14px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
}

.home-control__title {
  margin-bottom: 18px;
  max-width: 900px;
}

.home-control__subtitle {
  margin: 0;
  max-width: 760px;
  font-size: 18px;
  line-height: 1.65;
  color: var(--muted);
}

.home-control__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 24px;
}

.home-control-card {
  position: relative;
  min-height: 100%;
  padding: 28px 24px 24px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top left, rgba(200,138,61,.10), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,246,242,.96) 100%);
  border: 1px solid var(--line);
  box-shadow: var(--shadow-1);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.home-control-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-2);
  border-color: var(--line-strong);
}

.home-control-card__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  margin-bottom: 18px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(31, 78, 61, 0.08);
  border: 1px solid rgba(31, 78, 61, 0.14);
  color: var(--accent);
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.home-control-card__title {
  margin: 0 0 12px;
  font-size: 24px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--ink);
}

.home-control-card__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted);
}

.home-control__bottom {
  margin-top: 8px;
}

.home-control__bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 26px;
  border-radius: 24px;
  background: var(--surface-2);
  border: 1px solid var(--line);
}

.home-control__bottom-text {
  margin: 0;
  max-width: 760px;
  font-size: 17px;
  line-height: 1.7;
  color: var(--ink);
}

.home-control__btn {
  flex-shrink: 0;
}

@media (max-width: 1023px) {
  .home-control {
    margin-bottom: 100px;
  }

  .home-control__subtitle {
    font-size: 17px;
  }

  .home-control-card__title {
    font-size: 22px;
  }

  .home-control__bottom-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 767px) {
  .home-control {
    margin-bottom: 70px;
  }

  .home-control__head {
    margin-bottom: 24px;
  }

  .home-control__eyebrow {
    margin-bottom: 10px;
    font-size: 11px;
  }

  .home-control__subtitle {
    font-size: 15px;
    line-height: 1.6;
  }

  .home-control__grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 16px;
  }

  .home-control-card {
    padding: 22px 18px 18px;
    border-radius: 20px;
  }

  .home-control-card__num {
    min-width: 38px;
    height: 38px;
    margin-bottom: 14px;
    font-size: 12px;
  }

  .home-control-card__title {
    margin-bottom: 10px;
    font-size: 19px;
  }

  .home-control-card__text {
    font-size: 14px;
    line-height: 1.65;
  }

  .home-control__bottom-inner {
    padding: 18px;
    border-radius: 20px;
    gap: 16px;
  }

  .home-control__bottom-text {
    font-size: 15px;
    line-height: 1.6;
  }

  .home-control__btn {
    width: 100%;
  }
}
/* ================================================
   HOME CONTROL — visual tighten patch
   Дожим визуала без изменения HTML
   ================================================ */

.home-control__head {
  max-width: 980px;
  margin-bottom: 30px;
}

.home-control__title {
  max-width: 1120px;
  margin-bottom: 16px;
  letter-spacing: -0.03em;
}

.home-control__title .color-gray {
  color: #7b746c;
}

.home-control__subtitle {
  max-width: 820px;
  font-size: 17px;
  line-height: 1.6;
}

.home-control__grid {
  gap: 18px;
  margin-bottom: 18px;
}

.home-control-card {
  padding: 24px 24px 22px;
  border-radius: 22px;
  background:
    radial-gradient(circle at top left, rgba(200,138,61,.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #faf8f4 100%);
  border: 1px solid #ddd7ce;
  box-shadow: 0 10px 24px rgba(0,0,0,.05);
}

.home-control-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,.08);
  border-color: #cfc8bd;
}

.home-control-card__num {
  width: 44px;
  min-width: 44px;
  height: 44px;
  margin-bottom: 20px;
  background: #f1eee7;
  border: 1px solid #d8d1c6;
  color: var(--gold);
}

.home-control-card__title {
  max-width: 26ch;
  margin-bottom: 12px;
  font-size: 20px;
  line-height: 1.35;
}

.home-control-card__text {
  max-width: 44ch;
  font-size: 15px;
  line-height: 1.65;
}

.home-control__bottom-inner {
  padding: 20px 24px;
  border-radius: 22px;
  background: #f6f2eb;
  border: 1px solid #ddd7ce;
}

.home-control__bottom-text {
  max-width: 760px;
  font-size: 16px;
  line-height: 1.65;
}

.home-control__btn {
  min-height: 52px;
  padding: 0 24px;
  background: var(--accent);
  color: var(--on-accent);
  border: 1px solid var(--accent);
  box-shadow: none;
}

.home-control__btn:hover,
.home-control__btn:focus-visible {
  background: var(--accent-hover);
  color: var(--on-accent);
  border-color: var(--accent-hover);
}

@media (max-width: 767px) {
  .home-control__head {
    margin-bottom: 22px;
  }

  .home-control__subtitle {
    font-size: 15px;
    line-height: 1.58;
  }

  .home-control__grid {
    gap: 14px;
    margin-bottom: 14px;
  }

  .home-control-card {
    padding: 20px 18px 18px;
    border-radius: 18px;
  }

  .home-control-card__num {
    width: 40px;
    min-width: 40px;
    height: 40px;
    margin-bottom: 16px;
  }

  .home-control-card__title {
    max-width: none;
    font-size: 18px;
    margin-bottom: 10px;
  }

  .home-control-card__text {
    max-width: none;
    font-size: 14px;
    line-height: 1.6;
  }

  .home-control__bottom-inner {
    padding: 18px;
    border-radius: 18px;
  }

  .home-control__bottom-text {
    font-size: 15px;
    line-height: 1.6;
  }

  .home-control__btn {
    width: 100%;
  }
}
/* ================================================
   HOME PROJECTS PREVIEW
   Блок проектов на главной
   ================================================ */

.home-projects-preview {
  margin-bottom: 120px;
}

.home-projects-preview__head {
  max-width: 900px;
  margin: 0 0 30px;
}

.home-projects-preview__eyebrow {
  margin: 0 0 14px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 600;
}

.home-projects-preview__title {
  margin-bottom: 16px;
  max-width: 1100px;
  letter-spacing: -0.03em;
}

.home-projects-preview__subtitle {
  margin: 0;
  max-width: 780px;
  font-size: 17px;
  line-height: 1.6;
  color: var(--muted);
}

.home-projects-preview__grid {
  margin-bottom: 20px;
}

.home-projects-preview__card {
  height: 100%;
}

.home-projects-preview__card-label {
  display: inline-flex;
  align-items: center;
  margin-bottom: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(31, 78, 61, 0.07);
  border: 1px solid rgba(31, 78, 61, 0.12);
  color: var(--accent);
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.home-projects-preview__card-text {
  margin: 14px 0 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--muted);
}

.home-projects-preview__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px;
  border-radius: 22px;
  background: var(--surface-2);
  border: 1px solid var(--line);
}

.home-projects-preview__bottom-text {
  margin: 0;
  max-width: 760px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink);
}

.home-projects-preview__btn {
  flex-shrink: 0;
}

@media (max-width: 1023px) {
  .home-projects-preview {
    margin-bottom: 100px;
  }

  .home-projects-preview__bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 767px) {
  .home-projects-preview {
    margin-bottom: 70px;
  }

  .home-projects-preview__head {
    margin-bottom: 22px;
  }

  .home-projects-preview__eyebrow {
    margin-bottom: 10px;
    font-size: 11px;
  }

  .home-projects-preview__subtitle {
    font-size: 15px;
    line-height: 1.58;
  }

  .home-projects-preview__card-label {
    margin-bottom: 10px;
    font-size: 11px;
  }

  .home-projects-preview__card-text {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.6;
  }

  .home-projects-preview__bottom {
    padding: 18px;
    border-radius: 18px;
    gap: 16px;
  }

  .home-projects-preview__bottom-text {
    font-size: 15px;
    line-height: 1.6;
  }

  .home-projects-preview__btn {
    width: 100%;
  }
}
/* ================================================
   HOME PROJECTS PREVIEW — safe patch
   Берём рабочую сетку портфолио из темы
   ================================================ */

.home-projects-preview .home-portfolio__grid {
  margin: 0 0 20px;
}

.home-projects-preview .project-card,
.home-projects-preview .hp-card {
  height: 100%;
}

.home-projects-preview .project-card__link,
.home-projects-preview .hp-card__link {
  text-decoration: none;
}
/* ===== ТРиС / home.projectsPreview ===== */

.projects-preview {
  position: relative;
  padding: 82px 0 92px;
  background: linear-gradient(180deg, #f2ece5 0%, #f7f3ee 100%);
  overflow: hidden;
}

.projects-preview::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 14% 18%, rgba(138, 102, 67, 0.07), transparent 30%),
    radial-gradient(circle at 86% 78%, rgba(43, 36, 30, 0.05), transparent 24%);
  pointer-events: none;
}

.projects-preview .container {
  position: relative;
  z-index: 1;
}

.projects-preview__head {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  gap: 36px;
  align-items: end;
  margin-bottom: 34px;
}

.projects-preview__intro {
  max-width: 760px;
}

.projects-preview__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #786b5f;
}

.projects-preview__eyebrow::before {
  content: "";
  width: 40px;
  height: 1px;
  background: rgba(88, 75, 63, 0.34);
}

.projects-preview__title {
  margin: 0;
  max-width: 900px;
  font-size: clamp(34px, 4.5vw, 56px);
  line-height: 0.98;
  letter-spacing: -0.045em;
  font-weight: 500;
  color: #1b1714;
}

.projects-preview__title span {
  display: block;
  margin-top: 12px;
  color: #8a6643;
}

.projects-preview__aside {
  max-width: 420px;
  justify-self: end;
}

.projects-preview__lead {
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  color: #4b4139;
}

.projects-preview__all {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  margin-top: 22px;
  padding: 0 22px;
  border: 1px solid rgba(43, 36, 30, 0.14);
  text-decoration: none;
  color: #1f1a17;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.projects-preview__all:hover {
  background: rgba(255, 255, 255, 0.6);
  border-color: rgba(43, 36, 30, 0.28);
  transform: translateY(-1px);
}

.projects-preview__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.projects-preview__card {
  display: flex;
  flex-direction: column;
  background: #fbf8f3;
  border: 1px solid rgba(43, 36, 30, 0.08);
  box-shadow: 0 16px 34px rgba(28, 23, 18, 0.05);
  overflow: hidden;
}

.projects-preview__image {
  display: block;
  aspect-ratio: 0.9 / 1;
  overflow: hidden;
  background: #ddd5cc;
  text-decoration: none;
}

.projects-preview__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  transition: transform .4s ease;
}

.projects-preview__card:hover .projects-preview__image img {
  transform: scale(1.03);
}

.projects-preview__image-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #ddd4ca 0%, #cfc3b5 100%);
}

.projects-preview__body {
  display: flex;
  flex-direction: column;
  padding: 22px 22px 24px;
  min-height: 250px;
}

.projects-preview__meta {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8f7d6b;
}

.projects-preview__meta-sep {
  color: #b29b86;
}

.projects-preview__card-title {
  margin: 18px 0 0;
  font-size: 28px;
  line-height: 1.04;
  letter-spacing: -0.035em;
  font-weight: 500;
  color: #1b1714;
}

.projects-preview__card-title a {
  color: inherit;
  text-decoration: none;
}

.projects-preview__card-text {
  margin: 16px 0 0;
  font-size: 15px;
  line-height: 1.58;
  color: #5d534a;
}

.projects-preview__link {
  margin-top: auto;
  padding-top: 22px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8a6643;
  text-decoration: none;
}

.projects-preview__link::after {
  content: "→";
  font-size: 15px;
  line-height: 1;
}

@media (max-width: 1240px) {
  .projects-preview {
    padding: 72px 0 80px;
  }

  .projects-preview__head {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .projects-preview__aside {
    max-width: 100%;
    justify-self: start;
  }

  .projects-preview__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .projects-preview__card-title {
    font-size: 25px;
  }
}

@media (max-width: 1024px) {
  .projects-preview {
    padding: 58px 0 64px;
  }

  .projects-preview__grid {
    gap: 16px;
  }

  .projects-preview__body {
    min-height: 220px;
    padding: 20px 20px 22px;
  }

  .projects-preview__card-title {
    font-size: 24px;
  }
}

@media (max-width: 767px) {
  .projects-preview {
    padding: 44px 0 48px;
  }

  .projects-preview__eyebrow {
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 0.13em;
  }

  .projects-preview__title {
    font-size: clamp(30px, 8.8vw, 42px);
    line-height: 1.02;
  }

  .projects-preview__title span {
    margin-top: 10px;
  }

  .projects-preview__lead {
    font-size: 15px;
    line-height: 1.56;
  }

  .projects-preview__all {
    width: 100%;
  }

  .projects-preview__grid {
    grid-template-columns: 1fr;
  }

  .projects-preview__body {
    min-height: auto;
    padding: 18px 18px 20px;
  }

  .projects-preview__card-title {
    font-size: 22px;
  }

  .projects-preview__card-text {
    font-size: 14px;
    line-height: 1.55;
  }

  .projects-preview__link {
    padding-top: 18px;
    font-size: 12px;
  }
}
/* ================================================
   TRIS • HOME COMPLEXES PREVIEW / REAL OBJECTS
   ================================================ */

.complexes-preview{
  position: relative;
}

.complexes-preview__top{
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: end;
  margin-bottom: clamp(28px, 4vw, 42px);
}

.complexes-preview__head{
  max-width: 920px;
}

.complexes-preview__eyebrow{
  margin: 0 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted, #6B655E);
}

.complexes-preview__eyebrow::before{
  content: "";
  width: 42px;
  height: 1px;
  background: var(--line-strong, #CFC5B2);
  flex-shrink: 0;
}

.complexes-preview__title{
  margin: 0;
  max-width: 11.5ch;
  font-weight: 600;
  font-size: clamp(34px, 5.3vw, 76px);
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--ink, #171514);
  text-wrap: balance;
}

.complexes-preview__aside{
  justify-self: end;
  max-width: 460px;
}

.complexes-preview__text{
  margin: 0 0 22px;
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.68;
  color: var(--muted, #6B655E);
}

.complexes-preview__btn{
  min-height: 52px;
  padding-inline: 24px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

.complexes-preview__panel{
  position: relative;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 30px;
  background:
    radial-gradient(circle at 0 0, rgba(255,255,255,.96), rgba(255,255,255,.82) 38%, rgba(248,246,242,.88) 100%);
  border: 1px solid var(--line, #DAD5CC);
  box-shadow: 0 12px 32px rgba(0,0,0,.06);
}

.complexes-preview__panel-top{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 24px 32px;
  align-items: start;
  margin-bottom: 28px;
}

.complexes-preview__panel-label{
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted, #6B655E);
}

.complexes-preview__panel-title{
  margin: 0;
  font-weight: 600;
  font-size: clamp(24px, 2.5vw, 38px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--ink, #171514);
  max-width: 16ch;
}

.complexes-preview__panel-text{
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--muted, #6B655E);
}

.complexes-preview__list{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.complexes-preview__chip{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line, #DAD5CC);
  box-shadow: 0 4px 12px rgba(0,0,0,.03);
  font-weight: 500;
  font-size: 15px;
  line-height: 1.25;
  color: var(--ink, #171514);
  text-decoration: none;
  transition:
    transform .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease;
}

.complexes-preview__chip:hover,
.complexes-preview__chip:focus-visible{
  transform: translateY(-2px);
  background: var(--accent, #1F4E3D);
  border-color: var(--accent, #1F4E3D);
  color: var(--on-accent, #F4F3F1);
  box-shadow: 0 10px 24px rgba(31,78,61,.18);
}

.complexes-preview__bottom{
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--line, #DAD5CC);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}

.complexes-preview__note{
  margin: 0;
  max-width: 760px;
  font-size: 14px;
  line-height: 1.65;
  color: var(--muted, #6B655E);
}

.complexes-preview__secondary{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid var(--line, #DAD5CC);
  background: rgba(255,255,255,.72);
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  color: var(--ink, #171514);
  text-decoration: none;
  transition:
    transform .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease;
}

.complexes-preview__secondary:hover,
.complexes-preview__secondary:focus-visible{
  transform: translateY(-1px);
  background: var(--accent, #1F4E3D);
  border-color: var(--accent, #1F4E3D);
  color: var(--on-accent, #F4F3F1);
}

@media (max-width: 1180px){
  .complexes-preview__top{
    grid-template-columns: minmax(0, 1fr);
  }

  .complexes-preview__title{
    max-width: 13ch;
  }

  .complexes-preview__aside{
    justify-self: start;
    max-width: 680px;
  }

  .complexes-preview__panel-top{
    grid-template-columns: 1fr;
  }

  .complexes-preview__panel-title{
    max-width: 100%;
  }

  .complexes-preview__bottom{
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 767px){
  .complexes-preview__top{
    gap: 22px;
    margin-bottom: 24px;
  }

  .complexes-preview__eyebrow{
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 0.12em;
  }

  .complexes-preview__eyebrow::before{
    width: 28px;
  }

  .complexes-preview__title{
    max-width: 100%;
    font-size: 36px;
    line-height: 1.02;
  }

  .complexes-preview__text{
    font-size: 15px;
    line-height: 1.6;
  }

  .complexes-preview__btn{
    width: 100%;
  }

  .complexes-preview__panel{
    padding: 18px;
    border-radius: 22px;
  }

  .complexes-preview__panel-top{
    margin-bottom: 20px;
  }

  .complexes-preview__panel-title{
    font-size: 24px;
    line-height: 1.08;
  }

  .complexes-preview__panel-text{
    font-size: 14px;
  }

  .complexes-preview__list{
    gap: 10px;
  }

  .complexes-preview__chip{
    width: 100%;
    justify-content: flex-start;
    min-height: 46px;
    padding: 10px 14px;
    font-size: 14px;
  }

  .complexes-preview__note{
    font-size: 13px;
  }

  .complexes-preview__secondary{
    width: 100%;
  }
}
/* ================================================
   TRIS • HOME COMPLEXES PREVIEW / GROUPED VERSION
   ================================================ */

.complexes-preview{
  position: relative;
}

.complexes-preview__top{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.78fr);
  gap: clamp(26px, 4vw, 56px);
  align-items: end;
  margin-bottom: clamp(24px, 4vw, 36px);
}

.complexes-preview__head{
  max-width: 760px;
}

.complexes-preview__eyebrow{
  margin: 0 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted, #6B655E);
}

.complexes-preview__eyebrow::before{
  content: "";
  width: 42px;
  height: 1px;
  background: var(--line-strong, #CFC5B2);
  flex-shrink: 0;
}

.complexes-preview__title{
  margin: 0;
  max-width: 9.5ch;
  font-weight: 600;
  font-size: clamp(32px, 4.3vw, 58px);
  line-height: 0.96;
  letter-spacing: -0.045em;
  color: var(--ink, #171514);
  text-wrap: balance;
}

.complexes-preview__aside{
  justify-self: end;
  max-width: 430px;
}

.complexes-preview__text{
  margin: 0 0 20px;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.65;
  color: var(--muted, #6B655E);
}

.complexes-preview__btn{
  min-height: 50px;
  padding-inline: 22px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

.complexes-preview__panel{
  position: relative;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0 0, rgba(255,255,255,.96), rgba(255,255,255,.84) 38%, rgba(248,246,242,.9) 100%);
  border: 1px solid var(--line, #DAD5CC);
  box-shadow: 0 12px 32px rgba(0,0,0,.06);
}

.complexes-preview__panel-top{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
  gap: 20px 32px;
  align-items: start;
  margin-bottom: 24px;
}

.complexes-preview__panel-label{
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted, #6B655E);
}

.complexes-preview__panel-title{
  margin: 0;
  font-weight: 600;
  font-size: clamp(22px, 2.2vw, 42px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  color: var(--ink, #171514);
  max-width: 13ch;
}

.complexes-preview__panel-text{
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: var(--muted, #6B655E);
}

.complexes-preview__groups{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.complexes-preview__group{
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(218,213,204,.8);
}

.complexes-preview__group-title{
  margin: 0 0 14px;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink, #171514);
}

.complexes-preview__list{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.complexes-preview__chip{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  border: 1px solid var(--line, #DAD5CC);
  box-shadow: 0 4px 10px rgba(0,0,0,.03);
  font-weight: 500;
  font-size: 15px;
  line-height: 1.2;
  color: var(--ink, #171514);
  text-decoration: none;
  transition:
    transform .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease;
}

.complexes-preview__chip:hover,
.complexes-preview__chip:focus-visible{
  transform: translateY(-2px);
  background: var(--accent, #1F4E3D);
  border-color: var(--accent, #1F4E3D);
  color: var(--on-accent, #F4F3F1);
  box-shadow: 0 10px 24px rgba(31,78,61,.18);
}

.complexes-preview__bottom{
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--line, #DAD5CC);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}

.complexes-preview__note{
  margin: 0;
  max-width: 760px;
  font-size: 14px;
  line-height: 1.65;
  color: var(--muted, #6B655E);
}

.complexes-preview__secondary{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid var(--line, #DAD5CC);
  background: rgba(255,255,255,.76);
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  color: var(--ink, #171514);
  text-decoration: none;
  transition:
    transform .18s ease,
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease;
}

.complexes-preview__secondary:hover,
.complexes-preview__secondary:focus-visible{
  transform: translateY(-1px);
  background: var(--accent, #1F4E3D);
  border-color: var(--accent, #1F4E3D);
  color: var(--on-accent, #F4F3F1);
}

@media (max-width: 1180px){
  .complexes-preview__top{
    grid-template-columns: 1fr;
  }

  .complexes-preview__title{
    max-width: 12ch;
  }

  .complexes-preview__aside{
    justify-self: start;
    max-width: 680px;
  }

  .complexes-preview__panel-top{
    grid-template-columns: 1fr;
  }

  .complexes-preview__panel-title{
    max-width: 100%;
  }

  .complexes-preview__groups{
    grid-template-columns: 1fr;
  }

  .complexes-preview__bottom{
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 767px){
  .complexes-preview__top{
    gap: 20px;
    margin-bottom: 22px;
  }

  .complexes-preview__eyebrow{
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 0.12em;
  }

  .complexes-preview__eyebrow::before{
    width: 28px;
  }

  .complexes-preview__title{
    max-width: 100%;
    font-size: 34px;
    line-height: 1.02;
  }

  .complexes-preview__text{
    font-size: 15px;
    line-height: 1.6;
  }

  .complexes-preview__btn{
    width: 100%;
  }

  .complexes-preview__panel{
    padding: 18px;
    border-radius: 22px;
  }

  .complexes-preview__panel-top{
    margin-bottom: 18px;
  }

  .complexes-preview__panel-title{
    font-size: 24px;
    line-height: 1.08;
  }

  .complexes-preview__panel-text{
    font-size: 14px;
  }

  .complexes-preview__group{
    padding: 14px;
    border-radius: 18px;
  }

  .complexes-preview__group-title{
    margin-bottom: 12px;
    font-size: 12px;
  }

  .complexes-preview__chip{
    width: 100%;
    justify-content: flex-start;
    min-height: 44px;
    padding: 10px 14px;
    font-size: 14px;
  }

  .complexes-preview__note{
    font-size: 13px;
  }

  .complexes-preview__secondary{
    width: 100%;
  }
}
/* ================================================
   TRIS • complexes-preview FINAL DESKTOP POLISH
   Финальная доводка верхней части блока
   ================================================ */

@media (min-width: 1181px){
  .complexes-preview__top{
    grid-template-columns: minmax(0, 1.18fr) minmax(380px, 0.82fr);
    align-items: center;
    gap: 44px;
    margin-bottom: 28px;
  }

  .complexes-preview__head{
    max-width: 920px;
  }

  .complexes-preview__title{
    max-width: 11.5ch;
    font-size: clamp(32px, 3.8vw, 54px);
    line-height: 0.98;
    letter-spacing: -0.04em;
  }

  .complexes-preview__aside{
    max-width: 470px;
    align-self: center;
  }

  .complexes-preview__text{
    margin-bottom: 18px;
    font-size: 17px;
    line-height: 1.62;
  }

  .complexes-preview__btn{
    min-height: 48px;
    padding-inline: 22px;
  }

  .complexes-preview__panel{
    padding: 30px;
  }

  .complexes-preview__panel-top{
    margin-bottom: 20px;
  }

  .complexes-preview__panel-title{
    max-width: 12ch;
    font-size: clamp(22px, 1.95vw, 34px);
    line-height: 1.04;
  }

  .complexes-preview__panel-text{
    font-size: 15px;
    line-height: 1.58;
  }

  .complexes-preview__groups{
    gap: 18px;
  }

  .complexes-preview__group{
    padding: 16px;
  }

  .complexes-preview__chip{
    min-height: 42px;
    padding: 9px 15px;
    font-size: 14px;
  }

  .complexes-preview__bottom{
    margin-top: 20px;
    padding-top: 18px;
  }
}
/* ================================================
   TRIS • PROJECT ROUTE
   Новый блок steps для главной
   ================================================ */

.project-route{
  position: relative;
}

.project-route__top{
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.78fr);
  gap: clamp(24px, 4vw, 52px);
  align-items: end;
  margin-bottom: 30px;
}

.project-route__head{
  max-width: 860px;
}

.project-route__eyebrow{
  margin: 0 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted, #6B655E);
}

.project-route__eyebrow::before{
  content: "";
  width: 42px;
  height: 1px;
  background: var(--line-strong, #CFC5B2);
  flex-shrink: 0;
}

.project-route__title{
  margin: 0;
  max-width: 12ch;
  font-weight: 600;
  font-size: clamp(34px, 4.8vw, 62px);
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--ink, #171514);
  text-wrap: balance;
}

.project-route__intro{
  max-width: 450px;
  justify-self: end;
}

.project-route__text{
  margin: 0;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.68;
  color: var(--muted, #6B655E);
}

.project-route__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 24px;
}

.project-route-card{
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 22px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 0 0, rgba(255,255,255,.96), rgba(255,255,255,.82) 42%, rgba(248,246,242,.90) 100%);
  border: 1px solid var(--line, #DAD5CC);
  box-shadow: 0 10px 28px rgba(0,0,0,.05);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.project-route-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(0,0,0,.09);
  border-color: var(--line-strong, #CFC5B2);
}

.project-route-card--accent{
  background:
    radial-gradient(circle at 0 0, rgba(255,255,255,.10), rgba(255,255,255,0) 50%),
    linear-gradient(145deg, #1c1a18, #2b2824);
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}

.project-route-card__num{
  margin-bottom: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(218,213,204,.9);
  font-weight: 600;
  font-size: 13px;
  line-height: 1;
  color: var(--ink, #171514);
}

.project-route-card--accent .project-route-card__num{
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.18);
  color: rgba(244,243,241,.92);
}

.project-route-card__title{
  margin: 0 0 12px;
  font-weight: 600;
  font-size: clamp(20px, 1.6vw, 26px);
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--ink, #171514);
}

.project-route-card--accent .project-route-card__title{
  color: var(--on-accent, #F4F3F1);
}

.project-route-card__text{
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.68;
  color: var(--muted, #6B655E);
}

.project-route-card--accent .project-route-card__text{
  color: rgba(244,243,241,.82);
}

.project-route-card__result{
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(218,213,204,.75);
}

.project-route-card--accent .project-route-card__result{
  border-top-color: rgba(255,255,255,.16);
}

.project-route-card__label{
  display: inline-block;
  margin-bottom: 8px;
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted, #6B655E);
}

.project-route-card--accent .project-route-card__label{
  color: rgba(244,243,241,.62);
}

.project-route-card__result p{
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink, #171514);
}

.project-route-card--accent .project-route-card__result p{
  color: rgba(244,243,241,.9);
}

.project-route__bottom{
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 24px;
  align-items: center;
  padding: 26px 28px;
  border-radius: 28px;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--line, #DAD5CC);
  box-shadow: 0 10px 28px rgba(0,0,0,.04);
}

.project-route__bottom-title{
  margin: 0 0 10px;
  font-weight: 600;
  font-size: clamp(22px, 2.2vw, 34px);
  line-height: 1.06;
  letter-spacing: -0.03em;
  color: var(--ink, #171514);
  max-width: 18ch;
}

.project-route__bottom-desc{
  margin: 0;
  max-width: 820px;
  font-size: 15px;
  line-height: 1.68;
  color: var(--muted, #6B655E);
}

.project-route__bottom-action{
  align-self: center;
}

.project-route__btn{
  min-height: 52px;
  padding-inline: 24px;
  white-space: nowrap;
}

@media (max-width: 1280px){
  .project-route__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1180px){
  .project-route__top{
    grid-template-columns: 1fr;
    align-items: start;
  }

  .project-route__title{
    max-width: 13ch;
  }

  .project-route__intro{
    justify-self: start;
    max-width: 680px;
  }

  .project-route__bottom{
    grid-template-columns: 1fr;
    align-items: start;
  }

  .project-route__bottom-action{
    justify-self: start;
  }
}

@media (max-width: 767px){
  .project-route__top{
    gap: 18px;
    margin-bottom: 22px;
  }

  .project-route__eyebrow{
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 0.12em;
  }

  .project-route__eyebrow::before{
    width: 28px;
  }

  .project-route__title{
    max-width: 100%;
    font-size: 34px;
    line-height: 1.02;
  }

  .project-route__text{
    font-size: 15px;
    line-height: 1.6;
  }

  .project-route__grid{
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 18px;
  }

  .project-route-card{
    padding: 18px;
    border-radius: 20px;
  }

  .project-route-card__num{
    width: 38px;
    height: 38px;
    margin-bottom: 14px;
    font-size: 12px;
  }

  .project-route-card__title{
    font-size: 22px;
    line-height: 1.1;
  }

  .project-route-card__text{
    font-size: 14px;
    line-height: 1.6;
  }

  .project-route-card__result p{
    font-size: 13px;
  }

  .project-route__bottom{
    padding: 18px;
    border-radius: 22px;
    gap: 18px;
  }

  .project-route__bottom-title{
    max-width: 100%;
    font-size: 24px;
    line-height: 1.08;
  }

  .project-route__bottom-desc{
    font-size: 14px;
    line-height: 1.58;
  }

  .project-route__btn{
    width: 100%;
  }
}
/* ================================================
   TRIS • HOME FAQ
   FAQ для главной страницы
   ================================================ */

.home-faq{
  position: relative;
}

.home-faq__top{
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.78fr);
  gap: clamp(24px, 4vw, 52px);
  align-items: end;
  margin-bottom: 28px;
}

.home-faq__head{
  max-width: 860px;
}

.home-faq__eyebrow{
  margin: 0 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted, #6B655E);
}

.home-faq__eyebrow::before{
  content: "";
  width: 42px;
  height: 1px;
  background: var(--line-strong, #CFC5B2);
  flex-shrink: 0;
}

.home-faq__title{
  margin: 0;
  max-width: 11ch;
  font-weight: 600;
  font-size: clamp(34px, 4.6vw, 60px);
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--ink, #171514);
  text-wrap: balance;
}

.home-faq__intro{
  max-width: 450px;
  justify-self: end;
}

.home-faq__text{
  margin: 0;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.68;
  color: var(--muted, #6B655E);
}

.home-faq__surface{
  padding: clamp(18px, 2.6vw, 28px);
  border-radius: 28px;
  background:
    radial-gradient(circle at 0 0, rgba(255,255,255,.96), rgba(255,255,255,.84) 42%, rgba(248,246,242,.90) 100%);
  border: 1px solid var(--line, #DAD5CC);
  box-shadow: 0 12px 32px rgba(0,0,0,.05);
}

.home-faq__accordion{
  border-top: none;
}

.home-faq .accordion__element{
  border-bottom: 1px solid var(--line, #DAD5CC);
}

.home-faq .accordion__element:last-child{
  border-bottom: none;
}

.home-faq__button{
  padding: 22px 0;
  gap: 20px;
}

.home-faq__button-left{
  display: flex;
  align-items: flex-start;
  gap: 18px;
  min-width: 0;
}

.home-faq__num{
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  border: 1px solid var(--line, #DAD5CC);
  font-weight: 600;
  font-size: 12px;
  line-height: 1;
  color: var(--ink, #171514);
}

.home-faq .accordion__button-text{
  display: block;
  max-width: 900px;
  font-weight: 600;
  font-size: clamp(18px, 1.7vw, 26px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--ink, #171514);
}

.home-faq .accordion__icon{
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.76);
  border: 1px solid var(--line, #DAD5CC);
}

.home-faq .accordion__content{
  padding: 0 0 22px 56px;
}

.home-faq__answer{
  max-width: 880px;
}

.home-faq__answer p{
  margin: 0;
  font-size: 15px;
  line-height: 1.72;
  color: var(--muted, #6B655E);
}

.home-faq__answer p + p{
  margin-top: 12px;
}

@media (max-width: 1180px){
  .home-faq__top{
    grid-template-columns: 1fr;
    align-items: start;
  }

  .home-faq__title{
    max-width: 12ch;
  }

  .home-faq__intro{
    justify-self: start;
    max-width: 680px;
  }
}

@media (max-width: 767px){
  .home-faq__top{
    gap: 18px;
    margin-bottom: 20px;
  }

  .home-faq__eyebrow{
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 0.12em;
  }

  .home-faq__eyebrow::before{
    width: 28px;
  }

  .home-faq__title{
    max-width: 100%;
    font-size: 34px;
    line-height: 1.02;
  }

  .home-faq__text{
    font-size: 15px;
    line-height: 1.6;
  }

  .home-faq__surface{
    padding: 16px;
    border-radius: 22px;
  }

  .home-faq__button{
    padding: 18px 0;
    gap: 12px;
  }

  .home-faq__button-left{
    gap: 12px;
  }

  .home-faq__num{
    width: 32px;
    height: 32px;
    font-size: 11px;
  }

  .home-faq .accordion__button-text{
    font-size: 18px;
    line-height: 1.28;
  }

  .home-faq .accordion__icon{
    width: 36px;
    height: 36px;
  }

  .home-faq .accordion__content{
    padding: 0 0 18px 0;
  }

  .home-faq__answer p{
    font-size: 14px;
    line-height: 1.64;
  }
}
/* ================================================
   TRIS • HOME CONSULTATION
   Блок перед финальной формой
   ================================================ */

.home-consultation{
  position: relative;
}

.home-consultation__surface{
  padding: clamp(22px, 3vw, 34px);
  border-radius: 30px;
  background:
    radial-gradient(circle at 0 0, rgba(255,255,255,.96), rgba(255,255,255,.84) 42%, rgba(248,246,242,.90) 100%);
  border: 1px solid var(--line, #DAD5CC);
  box-shadow: 0 12px 32px rgba(0,0,0,.05);
}

.home-consultation__top{
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(320px, 0.78fr);
  gap: clamp(24px, 4vw, 52px);
  align-items: end;
  margin-bottom: 26px;
}

.home-consultation__head{
  max-width: 860px;
}

.home-consultation__eyebrow{
  margin: 0 0 16px;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted, #6B655E);
}

.home-consultation__eyebrow::before{
  content: "";
  width: 42px;
  height: 1px;
  background: var(--line-strong, #CFC5B2);
  flex-shrink: 0;
}

.home-consultation__title{
  margin: 0;
  max-width: 11ch;
  font-weight: 600;
  font-size: clamp(34px, 4.6vw, 60px);
  line-height: 0.98;
  letter-spacing: -0.045em;
  color: var(--ink, #171514);
  text-wrap: balance;
}

.home-consultation__intro{
  max-width: 460px;
  justify-self: end;
}

.home-consultation__text{
  margin: 0 0 16px;
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.68;
  color: var(--muted, #6B655E);
}

.home-consultation__trust{
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(31,78,61,.08);
  border: 1px solid rgba(31,78,61,.14);
  font-weight: 600;
  font-size: 13px;
  line-height: 1.35;
  color: var(--accent, #1F4E3D);
}

.home-consultation__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 22px;
}

.home-consultation__card{
  position: relative;
  padding: 20px;
  border-radius: 22px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(218,213,204,.82);
  box-shadow: 0 8px 20px rgba(0,0,0,.03);
}

.home-consultation__num{
  margin-bottom: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line, #DAD5CC);
  font-weight: 600;
  font-size: 11px;
  line-height: 1;
  color: var(--ink, #171514);
}

.home-consultation__card-title{
  margin: 0 0 10px;
  font-weight: 600;
  font-size: clamp(18px, 1.5vw, 24px);
  line-height: 1.16;
  letter-spacing: -0.02em;
  color: var(--ink, #171514);
}

.home-consultation__card-text{
  margin: 0;
  font-size: 14px;
  line-height: 1.62;
  color: var(--muted, #6B655E);
}

.home-consultation__bottom{
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 24px;
  align-items: center;
  padding-top: 20px;
  border-top: 1px solid var(--line, #DAD5CC);
}

.home-consultation__bottom-title{
  margin: 0 0 8px;
  font-weight: 600;
  font-size: clamp(22px, 2vw, 34px);
  line-height: 1.06;
  letter-spacing: -0.03em;
  color: var(--ink, #171514);
  max-width: 20ch;
}

.home-consultation__bottom-desc{
  margin: 0;
  max-width: 780px;
  font-size: 15px;
  line-height: 1.68;
  color: var(--muted, #6B655E);
}

.home-consultation__btn{
  min-height: 52px;
  padding-inline: 24px;
  white-space: nowrap;
}

@media (max-width: 1180px){
  .home-consultation__top{
    grid-template-columns: 1fr;
    align-items: start;
  }

  .home-consultation__title{
    max-width: 12ch;
  }

  .home-consultation__intro{
    justify-self: start;
    max-width: 680px;
  }

  .home-consultation__grid{
    grid-template-columns: 1fr;
  }

  .home-consultation__bottom{
    grid-template-columns: 1fr;
    align-items: start;
  }
}

@media (max-width: 767px){
  .home-consultation__surface{
    padding: 18px;
    border-radius: 22px;
  }

  .home-consultation__top{
    gap: 18px;
    margin-bottom: 18px;
  }

  .home-consultation__eyebrow{
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 0.12em;
  }

  .home-consultation__eyebrow::before{
    width: 28px;
  }

  .home-consultation__title{
    max-width: 100%;
    font-size: 34px;
    line-height: 1.02;
  }

  .home-consultation__text{
    font-size: 15px;
    line-height: 1.6;
  }

  .home-consultation__trust{
    font-size: 12px;
  }

  .home-consultation__grid{
    gap: 14px;
    margin-bottom: 18px;
  }

  .home-consultation__card{
    padding: 16px;
    border-radius: 18px;
  }

  .home-consultation__card-title{
    font-size: 20px;
    line-height: 1.18;
  }

  .home-consultation__card-text{
    font-size: 14px;
    line-height: 1.58;
  }

  .home-consultation__bottom{
    gap: 18px;
    padding-top: 18px;
  }

  .home-consultation__bottom-title{
    max-width: 100%;
    font-size: 24px;
    line-height: 1.08;
  }

  .home-consultation__bottom-desc{
    font-size: 14px;
    line-height: 1.58;
  }

  .home-consultation__btn{
    width: 100%;
  }
}