/* Адаптивная вёрстка для экранов уже 1100 px: телефоны и планшеты.
   Файл подключается только на таких экранах; десктопная версия (styles.css) шире 1100 px не меняется. */

@media (max-width: 1099px) {
  :root {
    --pad: clamp(20px, 6vw, 56px);
    --header-h: 64px;
    --hair: rgba(196, 168, 128, 0.18);
    --wave-a-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cpath d='M0 14C90 4 170 8 250 32S360 52 400 40L400 60L0 60Z'/%3E%3C/svg%3E");
    --wave-a-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='b' x='-5%25' y='-100%25' width='110%25' height='300%25'%3E%3CfeGaussianBlur stdDeviation='4'/%3E%3C/filter%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23c9a67c' stop-opacity='.5'/%3E%3Cstop offset='.5' stop-color='%23d6b48a' stop-opacity='.85'/%3E%3Cstop offset='1' stop-color='%23e2c49c' stop-opacity='.95'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M 0 23C 90 13 170 17 250 41S 360 61 400 49' fill='none' stroke='%23dfe3e8' stroke-opacity='.035' stroke-width='12' filter='url%28%23b%29'/%3E%3Cpath d='M 0 14.8C 90 4.8 170 8.8 250 32.8S 360 52.8 400 40.8' fill='none' stroke='url%28%23g%29' stroke-width='1.2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
    --wave-b-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cpath d='M0 40C80 54 170 50 240 30S350 6 400 16L400 60L0 60Z'/%3E%3C/svg%3E");
    --wave-b-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='b' x='-5%25' y='-100%25' width='110%25' height='300%25'%3E%3CfeGaussianBlur stdDeviation='4'/%3E%3C/filter%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23c9a67c' stop-opacity='.5'/%3E%3Cstop offset='.5' stop-color='%23d6b48a' stop-opacity='.85'/%3E%3Cstop offset='1' stop-color='%23e2c49c' stop-opacity='.95'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M 0 49C 80 63 170 59 240 39S 350 15 400 25' fill='none' stroke='%23dfe3e8' stroke-opacity='.035' stroke-width='12' filter='url%28%23b%29'/%3E%3Cpath d='M 0 40.8C 80 54.8 170 50.8 240 30.8S 350 6.8 400 16.8' fill='none' stroke='url%28%23g%29' stroke-width='1.2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
    --wave-c-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cpath d='M0 18C100 42 190 50 270 36S370 12 400 10L400 60L0 60Z'/%3E%3C/svg%3E");
    --wave-c-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='b' x='-5%25' y='-100%25' width='110%25' height='300%25'%3E%3CfeGaussianBlur stdDeviation='4'/%3E%3C/filter%3E%3ClinearGradient id='g' x1='0' x2='1'%3E%3Cstop offset='0' stop-color='%23c9a67c' stop-opacity='.5'/%3E%3Cstop offset='.5' stop-color='%23d6b48a' stop-opacity='.85'/%3E%3Cstop offset='1' stop-color='%23e2c49c' stop-opacity='.95'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M 0 27C 100 51 190 59 270 45S 370 21 400 19' fill='none' stroke='%23dfe3e8' stroke-opacity='.035' stroke-width='12' filter='url%28%23b%29'/%3E%3Cpath d='M 0 18.8C 100 42.8 190 50.8 270 36.8S 370 12.8 400 10.8' fill='none' stroke='url%28%23g%29' stroke-width='1.2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
  }
  html { scroll-padding-top: var(--header-h); }
  .page { overflow: clip; container-type: normal; }
  .page .canvas { width: auto; height: auto; margin: 0; --lift: 8px; }

  /* Обычный поток вместо координат макета */
  .page .t { position: static; left: auto; top: auto; white-space: normal; letter-spacing: normal; }
  .page :is(.lead, .text, .heading) br { display: none; }
  .page .btn span { font-size: 14px; line-height: 1; letter-spacing: 0.08em; }
  .page section {
    position: relative; top: auto; height: auto;
    display: flex; flex-direction: column; align-items: flex-start;
    padding-inline: max(var(--pad), env(safe-area-inset-left)) max(var(--pad), env(safe-area-inset-right));
    box-sizing: border-box;
  }
  .page picture { display: contents; }
  .page .wave-line, .page .sheet-tone { display: none; }

  /* Шапка: монограмма и бургер, меню выезжает панелью */
  .page .site-header {
    position: sticky; top: 0; z-index: 50; height: var(--header-h);
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding-inline: max(var(--pad), env(safe-area-inset-left)) max(var(--pad), env(safe-area-inset-right));
    padding-block: 0; box-sizing: border-box; background: rgba(20, 21, 22, 0.95); border-bottom: 1px solid var(--hair);
  }
  .page .brand { align-items: center; gap: 10px; }
  .page .brand__text { gap: 2px; }
  .page .brand__mark { font-size: 30px; line-height: 1; letter-spacing: -0.12em; padding-right: 0.12em; transform: none; }
  .page .brand__name { font-size: 13px; line-height: 1.25; letter-spacing: 0.1em; white-space: nowrap; }
  .page .brand__role { font-size: 11px; line-height: 1.2; letter-spacing: 0.26em; }

  .page .menu-toggle {
    display: inline-grid; place-content: center; gap: 7px;
    width: 44px; height: 44px; margin-right: -10px; padding: 0;
    border: 0; background: none; cursor: pointer; -webkit-tap-highlight-color: transparent;
  }
  .page .menu-toggle span { display: block; width: 24px; height: 1px; background: var(--gold); transition: transform .35s cubic-bezier(.16, 1, .3, 1); }
  .page .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
  .page .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .page .menu-toggle:focus-visible { outline: 1px solid var(--gold); outline-offset: 2px; }

  .page .site-menu { display: grid; gap: 28px; }
  html:not(.js) .page .menu-toggle { display: none; }
  html:not(.js) .page .site-header { height: auto; flex-wrap: wrap; padding-block: 14px; }
  html.js .page .site-menu {
    position: fixed; left: 0; right: 0; top: var(--header-h); z-index: 49;
    max-height: calc(100dvh - var(--header-h)); overflow-y: auto; box-sizing: border-box;
    padding: 12px max(var(--pad), env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(var(--pad), env(safe-area-inset-left));
    background: #141517; border-bottom: 1px solid var(--hair);
    visibility: hidden; opacity: 0; transform: translateY(-8px);
    transition: opacity .3s ease, transform .4s cubic-bezier(.16, 1, .3, 1), visibility 0s linear .4s;
  }
  html.js .page .site-menu.is-open { visibility: visible; opacity: 1; transform: none; transition: opacity .3s ease, transform .4s cubic-bezier(.16, 1, .3, 1); }
  .page .nav { display: grid; }
  .page .nav__link { display: block; font-size: 24px; line-height: 1.3; padding-block: 12px; border-bottom: 1px solid var(--hair); }
  .page .nav { position: static; transform: none; display: grid; justify-self: stretch; }
  .page .nav .nav__link { font-size: 24px; line-height: 1.3; }
  .page .nav .nav__link::before { display: none; }
  .page .nav__line { display: none; }
  .page .nav .nav__link.is-current { color: var(--gold); border-bottom-color: rgba(216, 186, 147, 0.5); }
  .page .nav .nav__link--lang { font-size: 17px; letter-spacing: 0.06em; color: var(--gold-soft); border-bottom: 0; }
  .page .nav__lang-short { display: none; }
  .page .nav__lang-full { display: inline; }
  .page .btn--header { position: static; justify-self: stretch; width: 100%; height: 54px; font-size: 15px; }

  /* Первый экран. Фото занимает то, что остаётся от экрана над текстом, поэтому «Получить консультацию» всегда в первом экране:
     --hero-rest — высота от низа фото до низа кнопки плюс воздух снизу (замерено на реальных ширинах) */
  .page .hero { --hero-rest: 366px; padding-bottom: 88px; }
  .page .plate--hero {
    position: relative; top: auto; width: calc(100% + 2 * var(--pad)); max-width: none; margin-inline: calc(-1 * var(--pad));
    height: clamp(240px, calc(100svh - var(--header-h) - var(--hero-rest)), min(128vw, 74svh)); object-fit: cover; object-position: 50% 16%;
    -webkit-mask-image: linear-gradient(180deg, #000 66%, transparent 97%); mask-image: linear-gradient(180deg, #000 66%, transparent 97%);
  }
  .page .kicker { font-size: 11px; line-height: 1.4; letter-spacing: 0.3em; }
  .page .kicker--hero { position: relative; margin-top: -28px; }
  .page .hero__title { margin-top: 12px; }
  .page .hero__name { display: block; font-size: clamp(42px, 12.2vw, 80px); line-height: 1.02; letter-spacing: 0.02em; }
  .page .hero__role { margin-top: 10px; font-size: clamp(20px, 5.4vw, 30px); line-height: 1.2; letter-spacing: 0.06em; }
  .page .lead { margin-top: 22px; max-width: 36em; font-size: 16px; line-height: 1.6; }
  .page .hero .lead { margin-top: 16px; }
  @media (max-width: 359px) { .page .hero { --hero-rest: 378px; } }
  @media (min-width: 500px) { .page .hero { --hero-rest: 386px; } }
  /* Низкие экраны (iPhone SE, маленькие Android с панелями браузера): лид под кнопкой, чтобы в первом экране уместились лицо и кнопка */
  @media (max-height: 700px) {
    .page .hero { --hero-rest: 250px; }
    .page .hero .lead { order: 1; margin-top: 20px; }
    .page .link--hero { order: 2; }
    .page .quote--hero { order: 3; }
  }
  .page .hero__actions { display: contents; }
  /* Вступление на телефоне короче: имя, «Адвокат», лид и кнопка полностью видны примерно через секунду; свет на фото прежний */
  html.intro-go .page .hero .kicker { animation: fade .5s ease .25s both, sweep 2.4s cubic-bezier(.45, 0, .25, 1) .6s both; }
  html.intro-go .page .hero__name { animation: reveal .8s cubic-bezier(.16, 1, .3, 1) .1s backwards; }
  html.intro-go .page .hero__name--gold { animation-delay: .22s; }
  html.intro-go .page .hero__role { animation: reveal .7s cubic-bezier(.16, 1, .3, 1) .3s backwards; }
  html.intro-go .page .hero .lead { animation: fade .5s ease .45s backwards; }
  html.intro-go .page .hero__actions > * { animation: fade .5s ease .5s backwards; }
  html.intro-go .page .btn--hero { animation: fade .5s ease .5s backwards, glint 1.6s cubic-bezier(.45, 0, .2, 1) 1.1s; }
  html.intro-go .page .hero .quote { animation: fade .8s ease .6s backwards; }
  .page .practice .text { width: auto; }

  .page .btn--hero, .page .btn--about, .page .btn--contact { position: static; margin-top: 30px; width: 100%; max-width: 380px; height: 54px; font-size: 15px; gap: 14px; }
  .page .btn--hero { margin-top: 24px; }
  .page .btn__arrow { width: 14px; height: 9px; }
  .page .link { position: static; display: inline-flex; align-items: center; gap: 14px; margin-top: 12px; padding-block: 12px; }
  .page .link__text { position: relative; font-size: 15px; line-height: 1.3; }
  .page .link__text::after { top: auto; bottom: -3px; }
  .page .link__arrow { position: static; width: 16px; height: 10px; }
  .page .link--hero .link__arrow { width: 30px; height: 9px; }

  .page .credential { position: relative; left: auto; top: auto; width: 100%; max-width: 420px; aspect-ratio: 3.281; margin-top: 36px; padding: 0 14px 0 calc(min(100%, 420px) * 0.33); gap: 1px; }
  .page .credential__line { font-size: clamp(10.5px, 3vw, 13px); line-height: 1.38; }

  .page .quote { display: flex; flex-direction: column; gap: 14px; margin-top: 44px; }
  .page .quote__arrow { position: static; width: 32px; height: 9.4px; }
  .page .quote__text { font-size: 11.5px; line-height: 1.95; letter-spacing: 0.14em; }

  /* Листы с волнистым краем: своя низкая волна, чтобы не растягивалась по высоте блока */
  .page :is(.practice, .about, .journal, .faq, .contact) { position: relative; top: auto; height: auto; margin-top: -44px; }
  .page :is(.practice, .about, .journal, .faq, .contact)::before {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 60px; z-index: 2; pointer-events: none;
    background: 0 0 / 100% 100% no-repeat;
  }
  .page .practice { padding-top: 96px; padding-bottom: 80px; background: #151618;
    -webkit-mask: var(--wave-a-mask) 0 0 / 100% 60px no-repeat, linear-gradient(#000, #000) 0 59px / 100% calc(100% - 59px) no-repeat;
    mask: var(--wave-a-mask) 0 0 / 100% 60px no-repeat, linear-gradient(#000, #000) 0 59px / 100% calc(100% - 59px) no-repeat; }
  .page .practice::before { background-image: var(--wave-a-line); }
  .page .about { padding-bottom: 88px; background: #141415;
    -webkit-mask: var(--wave-b-mask) 0 0 / 100% 60px no-repeat, linear-gradient(#000, #000) 0 59px / 100% calc(100% - 59px) no-repeat;
    mask: var(--wave-b-mask) 0 0 / 100% 60px no-repeat, linear-gradient(#000, #000) 0 59px / 100% calc(100% - 59px) no-repeat; }
  .page .about::before { background-image: var(--wave-b-line); }
  .page .journal { padding-bottom: 88px; background: #151617;
    -webkit-mask: var(--wave-c-mask) 0 0 / 100% 60px no-repeat, linear-gradient(#000, #000) 0 59px / 100% calc(100% - 59px) no-repeat;
    mask: var(--wave-c-mask) 0 0 / 100% 60px no-repeat, linear-gradient(#000, #000) 0 59px / 100% calc(100% - 59px) no-repeat; }
  .page .journal::before { background-image: var(--wave-c-line); }
  /* Нить на волне листа рисуется вместе с прокруткой */
  @supports (animation-timeline: view()) {
    html.motion .page :is(.practice, .about, .journal, .faq, .contact)::before { animation: thread linear both; animation-timeline: view(); animation-range: entry 0% cover 50%; }
  }

  /* Практика */
  .page .plate--practice { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; -webkit-mask-image: none; mask-image: none; }
  .page .heading { margin-top: 14px; font-size: clamp(26px, 7.4vw, 48px); line-height: 1.12; letter-spacing: 0.01em; text-wrap: balance; }
  /* На телефоне строки заголовка переносятся сами, поэтому из-под линии выходит весь заголовок сразу */
  .page .heading .ln { display: inline; }
  html.motion .page .heading.is-in .ln { animation: none; }
  html.motion .page .heading.is-in { animation: reveal 1s cubic-bezier(.16, 1, .3, 1) .08s backwards; }
  .page .text { margin-top: 18px; max-width: 38em; font-size: 16px; line-height: 1.6; }
  .page .paths { position: static; width: auto; align-self: stretch; grid-template-columns: 1fr; row-gap: 20px; margin-top: 40px; }
  .page .path { padding: 0 20px 24px; }
  .page .path__img { width: calc(100% + 40px); margin: 0 -20px; aspect-ratio: 16 / 9; }
  .page .path__num { left: 20px; top: 16px; font-size: 12px; }
  .page .path__title { margin-top: -10px; font-size: 21px; line-height: 1.3; }
  .page .path__list { margin-top: 14px; gap: 8px; }
  .page .path__list li { padding-left: 16px; font-size: 15px; line-height: 1.5; }
  .page .path__list li::before { top: 8px; border-width: 4px 0 4px 6px; }

  /* Обо мне */
  .page .plate--about {
    position: relative; top: auto; width: calc(100% + 2 * var(--pad)); max-width: none; margin-inline: calc(-1 * var(--pad));
    height: min(118vw, 70svh); object-fit: cover; object-position: 42% 14%;
    -webkit-mask-image: linear-gradient(180deg, #000 62%, transparent 98%); mask-image: linear-gradient(180deg, #000 62%, transparent 98%);
  }
  .page .about .kicker { margin-top: 4px; }
  .page .heading--about { font-size: clamp(23px, 6.8vw, 46px); }
  .page .quote--about { order: 10; margin-top: 48px; }

  /* Кейсы */
  .page .publications { padding-top: 96px; }
  .page .press { padding-top: 56px; }
  .page .pubs { position: static; width: auto; align-self: stretch; margin-top: 32px; }
  .page .pub__link { grid-template-columns: minmax(0, 1fr) 16px; column-gap: 16px; padding: 20px 0; }
  .page .pub__date { grid-column: 1; grid-row: 1; font-size: 13px; line-height: 1.4; }
  .page .pub__tag { grid-column: 1; grid-row: 2; margin-top: 6px; font-size: 11px; line-height: 1.4; }
  .page .pub__title { grid-column: 1; grid-row: 3; margin-top: 6px; font-size: 19px; line-height: 1.3; }
  .page .pub__arrow { grid-column: 2; grid-row: 1 / 4; width: 16px; height: 10px; }
  .page .press__list { position: static; width: auto; align-self: stretch; grid-template-columns: 1fr; row-gap: 32px; margin-top: 32px; }
  .page .press__item, .page .press__item:nth-child(3n+1) { padding: 0 0 0 20px; border-left: 1px solid rgba(201, 166, 124, 0.3); }
  .page .press__outlet { font-size: 11px; }
  .page .press__quote { margin-top: 12px; font-size: 20px; line-height: 1.45; }
  .page .press__date { padding-top: 14px; font-size: 13px; }
  .page .link--all { margin-top: 20px; }

  /* Вопросы и ответы */
  .page .faq { padding-top: 96px; padding-bottom: 80px; background: #151617;
    -webkit-mask: var(--wave-a-mask) 0 0 / 100% 60px no-repeat, linear-gradient(#000, #000) 0 59px / 100% calc(100% - 59px) no-repeat;
    mask: var(--wave-a-mask) 0 0 / 100% 60px no-repeat, linear-gradient(#000, #000) 0 59px / 100% calc(100% - 59px) no-repeat; }
  .page .faq::before { background-image: var(--wave-a-line); }
  .page .faq__ground { z-index: -1; background: linear-gradient(180deg, rgba(21, 22, 23, 0.66) 0, rgba(21, 22, 23, 0.88) 280px, #151617 560px), url("assets/faq/faq-library.webp") left top / auto 560px no-repeat, #151617; }
  .page .faq__list { position: static; width: auto; align-self: stretch; margin-top: 32px; }
  .page .faq__q, .page .path__title { text-wrap: balance; }
  .page .path__list li { text-wrap: pretty; }
  .page .faq__q { grid-template-columns: minmax(0, 1fr) 14px; column-gap: 16px; padding: 18px 0; font-size: 18px; line-height: 1.35; }
  .page .faq__q::after { width: 14px; height: 14px; }
  .page .faq__a { padding: 0 0 20px; font-size: 15px; line-height: 1.6; }

  /* Связаться и карта */
  .page .contact { padding-top: 96px; padding-bottom: 32px; background: #151617;
    -webkit-mask: var(--wave-b-mask) 0 0 / 100% 60px no-repeat, linear-gradient(#000, #000) 0 59px / 100% calc(100% - 59px) no-repeat;
    mask: var(--wave-b-mask) 0 0 / 100% 60px no-repeat, linear-gradient(#000, #000) 0 59px / 100% calc(100% - 59px) no-repeat; }
  .page .contact::before { background-image: var(--wave-b-line); }
  .page .contact__lines { position: static; width: auto; margin-top: 28px; row-gap: 14px; }
  .page .contact__line { grid-template-columns: 22px minmax(0, 1fr); column-gap: 14px; font-size: 15px; line-height: 1.5; }
  .page .contact__icon { width: 20px; height: 20px; margin-top: 2px; }
  .page .contact__line--phone .contact__icon { margin-top: 5px; }
  .page .contact__phone { font-size: 22px; line-height: 1.35; }
  /* Зона нажатия у телефонов, почты и логотипа — не меньше 40 px, без сдвига раскладки */
  .page .contact__line a, .page .ab-contacts a, .page .pr-urgent__phone .pr-phone, .page .art-phone, .page .brand { padding-block: 8px; margin-block: -8px; }
  .page .map { position: relative; left: auto; top: auto; width: calc(100% + 2 * var(--pad)); height: auto; aspect-ratio: 1600 / 960; margin: 36px calc(-1 * var(--pad)) 0; }
  .page .map__label { font-size: 8.5px; }
  .page .map__label--water { font-size: 11px; }
  .page .map__label--pin { transform: translate(14px, calc(-50% - 18px)); padding: 4px 7px; font-size: 11px; }
  .page .map__credit { right: var(--pad); bottom: -16px; font-size: 10px; }

  /* Подвал */
  .page .site-footer { position: static; }
  .page .site-footer__inner { margin: 0 max(var(--pad), env(safe-area-inset-left)); padding: 40px 0 calc(40px + env(safe-area-inset-bottom)); }
  .page .site-footer__mark { font-size: 34px; }
  .page .site-footer__name { margin-top: 14px; padding-top: 12px; font-size: 11px; letter-spacing: 0.24em; }
  .page .site-footer__nav { flex-wrap: wrap; justify-content: center; gap: 12px 22px; margin-top: 24px; }
  .page .site-footer__nav a { padding: 0; font-size: 11px; line-height: 16px; }
  .page .site-footer__nav a + a { border-left: 0; }
  .page .site-footer__legal { margin-top: 24px; font-size: 13px; line-height: 1.6; }
  .page .site-footer__copy { margin-top: 8px; font-size: 13px; }
  /* Реквизиты — каждое звено отдельной строкой, без висящих точек-разделителей */
  .page .site-footer__legal > span:not(.site-footer__dot) { display: block; }
  .page .site-footer__dot, .page .site-footer__legal br { display: none; }
  .page .site-footer__nav a { padding-block: 12px; margin-block: -12px; }
  .page .canvas--sub .site-footer { margin-top: 56px; }

  /* Страница публикации: одна колонка, оглавление скрыто (обзор даёт блок «Коротко за 30 секунд»), нормы — под абзацем */
  .page .art { display: flex; flex-direction: column; padding: 32px max(var(--pad), env(safe-area-inset-right)) 0 max(var(--pad), env(safe-area-inset-left)); }
  .page .art section { padding-inline: 0; align-items: stretch; }
  .page .art-back { margin: -2px 0 18px; padding-block: 10px; }
  .page .art-meta { font-size: 11px; line-height: 1.5; }
  .page .art-meta__dot { width: 3px; height: 3px; margin: 0 10px; transform: translateY(-2px); }
  .page .art-h1 { margin-top: 14px; font-size: clamp(28px, 7.4vw, 48px); line-height: 1.12; letter-spacing: 0.01em; text-wrap: balance; }
  .page .art-h1 br, .page .art-related__title br { display: none; }
  .page .art-lead { max-width: none; margin-top: 20px; font-size: 18px; line-height: 1.6; }
  .page .art-rule { display: block; margin-top: 36px; }
  .page .art-rail { display: none; }
  .page .art-body { padding-top: 32px; }
  .page .art-sec + .art-sec { margin-top: 48px; }
  .page .art-h2 { margin-bottom: 18px; font-size: clamp(22px, 6.2vw, 30px); line-height: 1.25; }
  .page .art-para + .art-para, .page .art-list + .art-para { margin-top: 18px; }
  .page .art-para + .art-list { margin-top: 10px; }
  .page .art-p, .page .art-list li { font-size: 16px; line-height: 1.65; }
  .page .art-list { gap: 10px; }
  .page .art-list li { padding-left: 22px; }
  .page .art-list li::before { top: 10px; border-width: 4px 0 4px 6px; }
  .page .art-ref { text-underline-offset: 4px; }
  .page .art-note { position: static; display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: baseline; gap: 2px 12px; width: auto; margin-top: 10px; }
  /* Пометка у фразы с двоеточием не встаёт между ней и списком: ссылки и так подчёркнуты в самой фразе */
  .page .art-para:has(+ .art-list) .art-note { display: none; }
  .page .art-note::before { display: none; }
  .page .art-note__label { font-size: 11px; line-height: 1.5; }
  .page .art-note__ref { grid-column: 2; margin-top: 0; font-size: 13px; line-height: 1.5; }
  .page .art-short__title, .page .art-short__meta { font-size: 11px; line-height: 1.5; }
  .page .art-qa li { grid-template-columns: 34px minmax(0, 1fr); padding: 16px 0 17px; }
  .page .art-qa__n { padding-top: 6px; font-size: 11px; }
  .page .art-qa__q { font-size: 17px; line-height: 1.45; }
  .page .art-qa__a { margin-top: 4px; font-size: 16px; line-height: 1.6; }
  .page .art-pull { margin-top: 36px; padding: 24px 0 28px; }
  .page .art-pull__arrow { width: 30px; height: 9px; margin-bottom: 16px; }
  .page .art-pull p { font-size: clamp(20px, 5.6vw, 26px); line-height: 1.35; }
  .page .art-disc { margin-top: 0; font-size: 14px; line-height: 1.6; }
  .page .art-author { margin-top: 32px; gap: 16px; }
  .page .art-author__mark { padding-right: 16px; font-size: 30px; line-height: 44px; }
  .page .art-author__label { font-size: 11px; }
  .page .art-author__text { margin-top: 4px; font-size: 14.5px; line-height: 1.6; }
  .page .art-cta { margin-top: 48px; padding-top: 36px; }
  .page .art-cta__title { font-size: clamp(24px, 6.8vw, 34px); line-height: 1.15; }
  .page .art-cta__text { max-width: none; margin-top: 14px; font-size: 16px; line-height: 1.6; }
  .page .art-cta__row { flex-direction: column; align-items: flex-start; gap: 18px; margin-top: 24px; }
  .page .art-cta .btn { width: 100%; max-width: 380px; height: 54px; }
  .page .art-phone { font-size: 22px; line-height: 1.35; }
  .page .art-related { display: block; margin-top: 64px; }
  .page .art-related__title { font-size: clamp(24px, 6.8vw, 34px); line-height: 1.15; }
  .page .art-related .pubs { margin-top: 20px; }

  /* Отдельные страницы «Публикации» и «В СМИ» */
  .page .canvas--sub { min-height: 0; padding: 0 0 calc(72px + env(safe-area-inset-bottom)); }
  .page .sub { display: flex; flex-direction: column; padding-top: 32px; }
  .page .sub__aside, .page .sub__head { position: static; }
  .page .sub--publications > section:last-child { align-self: stretch; }
  .page .sub__back { margin-bottom: 28px; }
  .page .canvas--sub .heading { margin-top: 14px; }
  .page .canvas--sub .text { max-width: 38em; margin-top: 18px; }
  .page .canvas--sub .press__list { margin-top: 32px; }

  @media (hover: none) {
    .btn--gold:hover { background-position: 150% 0, 0 0; }
    .btn:hover .btn__arrow, .link:hover .link__arrow { transform: none; }
  }
}

/* Планшеты: крупнее текст и фото */
@media (min-width: 700px) and (max-width: 1099px) {
  .page .paths { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  .page .lead, .page .text { font-size: 17px; }
  .page .quote__text { font-size: 12.5px; }
  .page .hero { --hero-rest: 378px; }
  .page .plate--hero { height: clamp(320px, calc(100svh - var(--header-h) - var(--hero-rest)), min(96vw, 80svh)); object-position: 50% 16%; }
  .page .plate--about { height: min(84vw, 72svh); object-position: 40% 30%; }
}

/* Английское меню подвала на узких телефонах: пункты 3 + 2, как в русском, а не 4 + 1 с одиноким «Contact» */
@media (max-width: 489px) {
  .page .site-footer__nav:lang(en) { max-width: 300px; margin-inline: auto; }
}
