*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream-50);color:var(--ink-950);
  font-family:var(--font-text);font-size:17px;line-height:1.66;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5,p,figure{margin:0}
:focus-visible{outline:2px solid var(--gold-500);outline-offset:3px}

/* контейнеры */
.v-container{width:100%;max-width:var(--page-w);margin-inline:auto;padding-inline:var(--gutter)}
.v-section{position:relative}

/* типографика — 1:1 со стилями Figma */
.t-d0{font-family:var(--font-display);font-weight:800;font-size:92px;line-height:.96;letter-spacing:-.03em}
.t-d1{font-family:var(--font-display);font-weight:800;font-size:66px;line-height:1;letter-spacing:-.026em}
.t-d2{font-family:var(--font-display);font-weight:700;font-size:50px;line-height:1.06;letter-spacing:-.022em}
.t-h2{font-family:var(--font-display);font-weight:700;font-size:38px;line-height:1.10;letter-spacing:-.018em}
.t-h3{font-family:var(--font-display);font-weight:700;font-size:28px;line-height:1.16;letter-spacing:-.014em}
.t-h4{font-family:var(--font-text);font-weight:700;font-size:22px;line-height:1.30;letter-spacing:-.01em}
.t-h5{font-family:var(--font-text);font-weight:700;font-size:18px;line-height:1.34;letter-spacing:-.006em}
.t-l{font-size:19px;line-height:1.64;letter-spacing:-.002em}
.t-m{font-size:17px;line-height:1.66;letter-spacing:-.001em}
.t-s{font-size:15px;line-height:1.60}
.t-xs{font-size:13px;line-height:1.54}
.t-m-strong{font-size:17px;line-height:1.60;letter-spacing:-.001em;font-weight:600}
.t-s-strong{font-size:15px;line-height:1.54;font-weight:600}
.t-menu{font-size:15px;line-height:1.30;font-weight:500}
.t-label{font-size:12px;line-height:1.20;letter-spacing:.14em;font-weight:700;text-transform:uppercase}
.t-num56{font-family:var(--font-display);font-weight:800;font-size:56px;line-height:1;letter-spacing:-.03em}
.t-num34{font-family:var(--font-display);font-weight:700;font-size:34px;line-height:1.02;letter-spacing:-.02em}

/* кнопки */
.v-btn{display:inline-flex;align-items:center;gap:9px;border-radius:var(--r-pill);
  font-family:var(--font-text);font-weight:600;font-size:17px;line-height:1.6;letter-spacing:-.001em;
  padding:13px 24px;transition:background-color .18s ease,color .18s ease,border-color .18s ease}
.v-btn--primary{background:var(--crimson-600);color:var(--cream-50)}
.v-btn--primary:hover{background:var(--crimson-700)}
.v-btn--ghost-light{color:var(--cream-50);box-shadow:inset 0 0 0 1px var(--a-cream-24)}
.v-btn--ghost-light:hover{border-color:var(--cream-50)}
.v-btn--ghost-dark{color:var(--ink-950);box-shadow:inset 0 0 0 1px var(--cream-300)}
.v-btn--ghost-dark:hover{border-color:var(--ink-800)}
/* Красная контурная — «Показать ещё» в лентах. Figma: обводка 1.5px #a81e24. */
.v-btn--ghost-red{color:var(--crimson-600);box-shadow:inset 0 0 0 1.5px var(--crimson-600)}
.v-btn--ghost-red:hover{background:var(--crimson-600);color:var(--cream-50)}
.v-btn .v-ico{width:18px;height:18px;flex:none}

/* высота метки в Figma ровно 16px — inline-flex добавлял базлайн-зазор */
.v-eyebrow{display:flex;align-items:center;gap:11px;width:fit-content;height:16px;line-height:1}
.v-eyebrow__dot{width:10px;height:10px;flex:none}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;z-index:99;background:var(--cream-50);color:var(--ink-950);padding:10px 16px;border-radius:var(--r-sm)}
/* honeypot формы — скрыт от людей, виден ботам */
.vk-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ── Просмотры: глаз и число ───────────────────────────────────────────
   Одна плашка на весь сайт — в лентах, на карточках и внутри материала. */
.v-views{display:inline-flex;align-items:center;gap:7px;font-size:14px;line-height:1.3;
  font-weight:500;color:var(--text-muted);white-space:nowrap}
.v-views__ico{flex:none;opacity:.85}
.v-views--light{color:var(--a-cream-60)}
.v-views--chip{height:28px;padding:0 12px;border-radius:var(--r-pill);
  background:rgba(21,16,12,.55);color:var(--cream-50);backdrop-filter:blur(4px)}
/* места, куда плашка встаёт */
.v-ncard__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}
.v-ncard__foot .v-ncard__tags{margin-top:0}
.v-pcard__views{margin-top:18px}
.v-vcard__views{display:block;margin-top:8px}
.v-arow__views{margin-left:8px}
.v-libphoto__views{margin-top:6px;color:var(--cream-100)}
.v-phero__views{margin:18px 0 0}

/* Длинные слова в крупных заголовках («конфиденциальности», «военнослужащими»)
   не помещались в строку и вылезали за край. Разрешаем перенос: по слогам —
   в заголовках страниц, на крайний случай разрыв слова — везде. */
h1,h2,h3,h4{overflow-wrap:break-word}
.v-shero__title,.v-acover__title,.v-phero__title,.v-nfeat__title,.v-eov__title,
.v-hhero__title,.v-ahero__title,.v-hero__title{hyphens:auto;-webkit-hyphens:auto}
