
    :root {
      --color-bg: #f7f8f0;
      --color-green: #107709;
      --color-red: #d21409;
      --color-ink: #20301d;
      --color-on-accent: #fffdf8;
      --color-muted: #66715f;
      --color-surface: #e8ecdf;
      --page-x: clamp(22px, 4.5vw, 88px);
      --copy-size: clamp(18px, 1.7vw, 22px);
    }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; background: var(--color-bg); }
    body { margin: 0; min-width: 320px; color: var(--color-ink); background: var(--color-bg); font-family: "Onest", sans-serif; -webkit-font-smoothing: antialiased; }
    img { display: block; width: 100%; height: 100%; object-fit: cover; }
    a { color: inherit; }
    .shell { width: 100%; padding-inline: var(--page-x); }

    .header {
      position: fixed;
      inset: 0 0 auto;
      z-index: 100;
      border: 0;
      border-radius: 0;
      background: rgb(247 248 240 / 88%);
      color: var(--color-ink);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
    }
    .header__inner {
      height: 76px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      padding-inline: var(--page-x);
      border-bottom: 0;
    }
    .brand { margin: 0; display: flex; align-items: center; gap: 12px; font-size: 19px; font-weight: 600; letter-spacing: -.04em; }
    .brand__logo { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 50%; }
    .header__nav { display: flex; gap: 24px; align-items: center; font-size: 15px; font-weight: 500; }
    .header__city { opacity: .7; }
    .header__nav a { text-decoration: none; }
    .catalog .catalog-home {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      min-height: 40px;
      padding: 0 14px;
      border: 1px solid rgb(32 48 29 / 13%);
      border-radius: 8px;
      font-size: 13px;
      font-weight: 500;
    }
    .catalog-home svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
    .catalog-home:hover { background: var(--color-surface); }
    .catalog .header a:focus-visible { outline-color: var(--color-green); }

    .catalog-main { padding-top: 118px; padding-bottom: 104px; }
    .news-page-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 44px; }
    .news-page-heading__text { min-width: 0; }
    .news-page-heading h1 { margin: 0; font-size: clamp(40px, 5.5vw, 80px); font-weight: 500; letter-spacing: -.055em; line-height: 1.05; }
    .news-page-heading p { max-width: 48ch; margin: 18px 0 0; color: var(--color-muted); font-size: var(--copy-size); font-weight: 500; line-height: 1.5; }    .news { position: relative; z-index: 2; background: var(--color-bg); color: var(--color-ink); }
    .news__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); }
    .news-card { min-width: 0; }
    .news-card__photo { display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 26px; background: var(--color-surface); }
    .news-card__photo img { transition: transform .45s ease; }
    .news-card__date { display: block; margin-top: 24px; color: var(--color-muted); font-size: 16px; font-weight: 500; }
    .news-card__title { margin: 12px 0 14px; font-size: clamp(28px, 2.5vw, 38px); font-weight: 500; line-height: 1.15; letter-spacing: -.035em; }
    .news-card__title a { text-decoration: none; }
    .news-card__copy { margin: 0; font-size: var(--copy-size); font-weight: 500; line-height: 1.5; }
    .news a:focus-visible { outline: 3px solid var(--color-green); outline-offset: 6px; }

    a:focus-visible { outline: 3px solid var(--color-green); outline-offset: 5px; }
    @media (hover: hover) {
      .news-card__photo:hover img { transform: scale(1.035); }
      .news-card__title a:hover { color: var(--color-green); }    }
    @media (max-width: 1000px) { .news__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (max-width: 760px) {
      :root { --copy-size: 19px; }
      .header__inner { height: 64px; padding-inline: var(--page-x); gap: 12px; }
      .brand { font-size: 17px; }
      .brand__logo { width: 32px; height: 32px; flex-basis: 32px; }
      .header__nav { font-size: 12px; }
      .catalog .catalog-home { font-size: 12px; padding-inline: 10px; min-height: 36px; }
      .catalog-main { padding-top: 96px; padding-bottom: 72px; }
      .news-page-heading { align-items: start; flex-direction: column; margin-bottom: 32px; }
      .news-page-heading h1 { font-size: 44px; }      .news__grid { grid-template-columns: 1fr; gap: 44px; }
      .news-card__photo { border-radius: 22px; }
      .news-card__date { margin-top: 20px; }
    }
    @media (prefers-reduced-motion: reduce) { .news-card__photo img { transition: none; } }
    @media (max-width: 520px) { .header__city { display: none; } }
    @media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
  
[hidden]{display:none!important}
