@layer reset, base, blocks, pages;
@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { -webkit-text-size-adjust: 100%; }
  body, h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd { margin: 0; }
  ul[role="list"], ol[role="list"] { list-style: none; padding: 0; }
  img { display: block; max-inline-size: 100%; block-size: auto; }
  button, input, select { font: inherit; color: inherit; }
}
@layer base {
  :root {
    --sf-ink: #0c0e0c; --sf-gun: #383631; --sf-olive: #536054; --sf-sage: #7b917b; --sf-steel: #c4c4c4;
    --sf-fog: #eceeea; --sf-paper: #ffffff; --sf-beam: #38e820; --sf-beam-deep: #1d7a10; --sf-line: #d9dcd5;
    --sf-mute: #5c625b; --sf-shell: 1240px; --sf-gut: clamp(16px, 4vw, 40px); --sf-r: 4px;
    --sf-head: "Saira Condensed", "Arial Narrow", sans-serif; --sf-body: "IBM Plex Sans", system-ui, sans-serif;
  }
  body { font-family: var(--sf-body); font-size: 16px; line-height: 1.6; color: var(--sf-ink); background: var(--sf-paper); overflow-x: hidden; }
  h1, h2, h3 { font-family: var(--sf-head); font-weight: 700; line-height: 1.1; }
  a { color: var(--sf-beam-deep); text-underline-offset: 3px; }
  a:hover { color: var(--sf-ink); }
  .shell { inline-size: min(100% - 2 * var(--sf-gut), var(--sf-shell)); margin-inline: auto; }
  .hide-txt { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@layer blocks {
  /* --- кнопка-штамп */
  .zero { appearance: none; border: 0; background: none; padding: 0; line-height: 0; cursor: pointer; inline-size: min(330px, 100%); transition: transform .15s ease; }
  .zero img { inline-size: 100%; }
  .zero:hover { transform: translateY(-2px); }
  .zero:focus-visible { outline: 3px solid var(--sf-ink); outline-offset: 3px; }
  .zero--fill { inline-size: 100%; }
  /* --- шапка (solofish.org: белая полоса с логотипом; меню — Streamlight, узкий гротеск капсом) */
  .rack { position: sticky; inset-block-start: 0; z-index: 30; background: var(--sf-paper); border-block-end: 1px solid var(--sf-line); }
  .rack__in { display: flex; align-items: center; gap: 28px; min-block-size: 76px; }
  .rack__mark img { inline-size: 168px; }
  .rack__nav { margin-inline-start: auto; }
  .rack__nav ul { display: flex; gap: 22px; }
  .rack__nav a { font-family: var(--sf-head); font-weight: 600; font-size: 19px; text-transform: uppercase; color: var(--sf-ink); text-decoration: none; padding-block: 25px; border-block-end: 3px solid transparent; }
  .rack__nav a:hover, .rack__nav a[aria-current] { border-color: var(--sf-beam); }
  .rack__buy .zero { inline-size: 200px; }
  .rack__burger { display: none; margin-inline-start: auto; border: 1px solid var(--sf-ink); background: var(--sf-paper); border-radius: var(--sf-r); padding: 8px 12px; font-family: var(--sf-head); font-weight: 700; text-transform: uppercase; cursor: pointer; }
  .rack__burger i { display: inline-block; inline-size: 18px; block-size: 2px; background: var(--sf-ink); box-shadow: 0 -6px 0 var(--sf-ink), 0 6px 0 var(--sf-ink); vertical-align: middle; margin-inline-end: 8px; }
  @media (max-width: 1060px) {
    .rack__buy { display: none; }
    .rack__burger { display: inline-block; }
    .rack__nav { display: none; position: absolute; inset-inline: 0; inset-block-start: 100%; background: var(--sf-ink); padding: 8px var(--sf-gut) 18px; }
    .rack.nav-lit .rack__nav { display: block; }
    .rack__nav ul { flex-direction: column; gap: 0; }
    .rack__nav a { display: block; color: var(--sf-fog); padding-block: 12px; border: 0; border-block-end: 1px solid var(--sf-gun); }
    .rack__mark img { inline-size: 140px; }
  }
  /* --- нижняя полоса покупки (телефон/планшет) */
  .dock { display: none; }
  @media (max-width: 1060px) {
    .dock { display: flex; position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 40; align-items: center; gap: 12px; background: var(--sf-ink); color: var(--sf-fog); padding: 9px var(--sf-gut) calc(9px + env(safe-area-inset-bottom)); }
    .dock__t { flex: 1; min-inline-size: 0; font-size: 13px; line-height: 1.3; }
    .dock__t b { display: block; font-family: var(--sf-head); font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .dock .zero { inline-size: 176px; flex: none; }
    body:has(.dock) { padding-block-end: 80px; }
  }
  /* --- хлебные крошки */
  .trail { font-size: 14px; color: var(--sf-mute); padding-block: 18px 6px; }
  .trail a { color: var(--sf-ink); display: inline-block; padding-block: 6px; }
  .trail span[aria-hidden] { margin-inline: 8px; }
  /* --- карточка товара (Streamlight: серая плитка, узкий заголовок капсом; solofishbeam: описание + кнопка) */
  .units { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px 22px; }
  .units--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  @media (max-width: 1060px) { .units, .units--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; } }
  .unit { display: flex; flex-direction: column; gap: 8px; }
  .unit__pic { position: relative; display: block; background: var(--sf-fog); aspect-ratio: 1; }
  .unit__pic img { inline-size: 100%; block-size: 100%; object-fit: contain; mix-blend-mode: multiply; padding: 6%; }
  .unit__tag { position: absolute; inset-block-start: 10px; inset-inline-start: 10px; background: var(--sf-beam); color: var(--sf-ink); font-family: var(--sf-head); font-weight: 700; font-size: 14px; padding: 2px 9px; text-transform: uppercase; }
  .unit__name { font-size: 19px; text-transform: uppercase; }
  .unit__name a { color: var(--sf-ink); text-decoration: none; }
  .unit__name a:hover { text-decoration: underline; }
  .unit__line { font-size: 14px; color: var(--sf-mute); display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; }
  .unit__cost { font-weight: 600; color: var(--sf-ink); }
  .unit .zero { margin-block-start: auto; inline-size: 100%; }
  @media (max-width: 560px) { .unit__name { font-size: 16px; } .unit__line { font-size: 13px; } }
  .dots { display: inline-flex; gap: 4px; }
  .dots i { inline-size: 12px; block-size: 12px; border-radius: 50%; border: 1px solid var(--sf-gun); }
  .dots .b-green { background: #38e820; } .dots .b-red { background: #e02a1f; } .dots .b-blue { background: #2552f5; }
  .dots .b-purple { background: #b62de0; } .dots .b-white { background: #fff; } .dots .b-tan { background: #b59a6b; }
  .stars { --fill: 90%; display: inline-block; inline-size: 82px; block-size: 15px; background: linear-gradient(90deg, var(--sf-ink) var(--fill), var(--sf-steel) var(--fill));
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 20'%3E%3Cpath d='M10 1l2.6 6.3 6.8.5-5.2 4.4 1.6 6.6L10 15.3 4.2 18.8l1.6-6.6L.6 7.8l6.8-.5zM32 1l2.6 6.3 6.8.5-5.2 4.4 1.6 6.6L32 15.3l-5.8 3.5 1.6-6.6-5.2-4.4 6.8-.5zM54 1l2.6 6.3 6.8.5-5.2 4.4 1.6 6.6L54 15.3l-5.8 3.5 1.6-6.6-5.2-4.4 6.8-.5zM76 1l2.6 6.3 6.8.5-5.2 4.4 1.6 6.6L76 15.3l-5.8 3.5 1.6-6.6-5.2-4.4 6.8-.5zM98 1l2.6 6.3 6.8.5-5.2 4.4 1.6 6.6L98 15.3l-5.8 3.5 1.6-6.6-5.2-4.4 6.8-.5z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 110 20'%3E%3Cpath d='M10 1l2.6 6.3 6.8.5-5.2 4.4 1.6 6.6L10 15.3 4.2 18.8l1.6-6.6L.6 7.8l6.8-.5zM32 1l2.6 6.3 6.8.5-5.2 4.4 1.6 6.6L32 15.3l-5.8 3.5 1.6-6.6-5.2-4.4 6.8-.5zM54 1l2.6 6.3 6.8.5-5.2 4.4 1.6 6.6L54 15.3l-5.8 3.5 1.6-6.6-5.2-4.4 6.8-.5zM76 1l2.6 6.3 6.8.5-5.2 4.4 1.6 6.6L76 15.3l-5.8 3.5 1.6-6.6-5.2-4.4 6.8-.5zM98 1l2.6 6.3 6.8.5-5.2 4.4 1.6 6.6L98 15.3l-5.8 3.5 1.6-6.6-5.2-4.4 6.8-.5z'/%3E%3C/svg%3E") center/contain no-repeat; vertical-align: -2px; }
  /* --- отзыв (solofish.org: белая карточка с тонкой рамкой; Fenix: дата справа, звёзды сверху) */
  .voices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  @media (max-width: 900px) { .voices { grid-template-columns: minmax(0, 1fr); } }
  .voice { border: 1px solid var(--sf-line); background: var(--sf-paper); padding: 24px 26px; display: flex; flex-direction: column; gap: 10px; }
  .voice__top { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; color: var(--sf-mute); }
  .voice__t { font-weight: 600; }
  .voice blockquote { font-size: 15px; }
  .voice figcaption { margin-block-start: auto; font-size: 14px; color: var(--sf-mute); }
  .voice figcaption b { color: var(--sf-ink); }
  /* --- вопросы (solofishbeam: заголовок-вопрос + абзац; Fenix PDP: аккордеон) */
  .asks { display: grid; gap: 22px; max-inline-size: 900px; }
  .asks h3 { font-size: 23px; margin-block-end: 6px; }
  .asks p { color: var(--sf-gun); }
  .fold { border-block-start: 1px solid var(--sf-ink); }
  .fold:last-child { border-block-end: 1px solid var(--sf-ink); }
  .fold summary { cursor: pointer; list-style: none; font-family: var(--sf-head); font-weight: 700; font-size: 18px; text-transform: uppercase; padding: 14px 34px 14px 0; position: relative; }
  .fold summary::-webkit-details-marker { display: none; }
  .fold summary::after { content: "+"; position: absolute; inset-inline-end: 4px; inset-block-start: 10px; font-size: 24px; }
  .fold[open] summary::after { content: "\2212"; }
  .fold > div { padding-block-end: 18px; }
  /* --- таблица характеристик (Fenix: серые ячейки-заголовки) */
  .grid-spec { inline-size: 100%; border-collapse: collapse; font-size: 15px; }
  .grid-spec th, .grid-spec td { text-align: start; padding: 10px 12px; border: 1px solid var(--sf-line); vertical-align: top; }
  .grid-spec th { background: var(--sf-fog); font-weight: 600; inline-size: 34%; }
  @media (max-width: 640px) {
    .grid-spec, .grid-spec tbody, .grid-spec tr, .grid-spec th, .grid-spec td { display: block; inline-size: 100%; }
    .grid-spec tr { margin-block-end: 8px; }
    .grid-spec td { border-block-start: 0; }
  }
  /* --- подвал (solofish.org: тёмный, колонки, контакты с иконками в круге) */
  .base { background: #181a18; color: #d6d9d2; margin-block-start: 0; }
  .base__cols { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 34px; padding-block: 56px 36px; }
  @media (max-width: 900px) { .base__cols { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 560px) { .base__cols { grid-template-columns: minmax(0, 1fr); } }
  .base__h { font-size: 18px; text-transform: uppercase; color: #fff; margin-block-end: 14px; }
  .base a { color: #d6d9d2; text-decoration: none; display: inline-block; padding-block: 4px; }
  .base a:hover { color: var(--sf-beam); }
  .base ul { list-style: none; padding: 0; }
  .base__logo { inline-size: 170px; margin-block-end: 14px; }
  .base__row { display: flex; gap: 14px; align-items: flex-start; margin-block-end: 14px; font-size: 15px; }
  .base__row svg { flex: none; inline-size: 40px; block-size: 40px; padding: 9px; border: 1px solid #5d625b; border-radius: 50%; }
  .base__row b { display: block; color: #fff; }
  .base__fine { border-block-start: 1px solid #343733; padding-block: 18px 26px; font-size: 14px; text-align: center; color: #a9ada6; }
}
@layer pages {
  /* --- главная: хиро (solofish.org: тёмная фото-плита во всю ширину, текст слева) */
  .flood { position: relative; background: var(--sf-ink); color: #fff; overflow: hidden; }
  .flood__bg { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; opacity: .38; }
  .flood__in { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 30px; align-items: center; padding-block: 72px 64px; }
  .flood h1 { font-size: clamp(38px, 5.2vw, 64px); }
  .flood__lede { font-size: 17px; color: #e4e7e1; margin-block: 18px 26px; max-inline-size: 560px; }
  .flood__acts { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }
  .flood__acts a { color: #fff; font-family: var(--sf-head); font-weight: 600; font-size: 19px; text-transform: uppercase; }
  .flood__note { font-size: 14px; color: #c9cdc6; margin-block-start: 12px; }
  .flood__pic { background: #f4f5f3; }
  .flood__pic img { inline-size: 100%; }
  @media (max-width: 860px) { .flood__in { grid-template-columns: minmax(0, 1fr); padding-block: 40px; } }
  /* лента разделов (Streamlight: категории сразу под хиро) */
  .bays { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-block-end: 1px solid var(--sf-line); }
  .bays a { display: flex; gap: 12px; align-items: center; padding: 18px 16px; text-decoration: none; color: var(--sf-ink); border-inline-end: 1px solid var(--sf-line); }
  .bays a:last-child { border: 0; }
  .bays img { inline-size: 64px; block-size: 64px; object-fit: contain; background: var(--sf-fog); mix-blend-mode: multiply; }
  .bays b { font-family: var(--sf-head); font-size: 19px; text-transform: uppercase; line-height: 1.1; display: block; }
  .bays span { font-size: 13px; color: var(--sf-mute); }
  @media (max-width: 900px) { .bays { grid-template-columns: 1fr 1fr; } .bays a:nth-child(2) { border-inline-end: 0; } .bays a { border-block-end: 1px solid var(--sf-line); } }
  @media (max-width: 480px) { .bays img { inline-size: 44px; block-size: 44px; } .bays b { font-size: 16px; } .bays a { padding: 12px 8px; gap: 8px; } }
  .sect { padding-block: 64px; }
  .sect--fog { background: #f7f8f6; }
  .sect__h { font-size: clamp(30px, 3.6vw, 42px); text-align: center; margin-block-end: 34px; }
  .sect__h--left { text-align: start; }
  .sect__sub { text-align: center; color: var(--sf-mute); max-inline-size: 640px; margin: -20px auto 30px; }
  /* «для чего» — 6 карточек в рамке (solofish.org: SOLOFISH Usage) */
  .duties { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
  @media (max-width: 900px) { .duties { grid-template-columns: minmax(0, 1fr); gap: 14px; } }
  .duty { border: 1px solid var(--sf-line); padding: 34px 40px; background: var(--sf-paper); }
  .duty h3 { font-family: var(--sf-body); font-size: 19px; font-weight: 600; margin-block-end: 8px; }
  .duty p { font-size: 15px; color: var(--sf-gun); }
  /* бестселлеры (solofish.org: 3 колонки, центр, кнопка под текстом) */
  .picks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
  @media (max-width: 900px) { .picks { grid-template-columns: minmax(0, 1fr); } }
  .pick { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; }
  .pick > img { inline-size: 260px; aspect-ratio: 1; object-fit: contain; background: var(--sf-fog); mix-blend-mode: multiply; padding: 10px; }
  .pick h3 { font-size: 30px; }
  .pick h3 a { color: var(--sf-ink); text-decoration: none; }
  .pick p { text-align: start; font-size: 15px; color: var(--sf-gun); }
  .pick .zero { inline-size: 270px; margin-block-start: auto; }
  /* разворот «почему» (solofish.org: фото слева, ряды с иконкой справа) */
  .split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: #f7f8f6; }
  @media (max-width: 900px) { .split { grid-template-columns: minmax(0, 1fr); } }
  .split__pic { background: var(--sf-ink); }
  .split__pic img { inline-size: 100%; block-size: 100%; object-fit: cover; }
  .split__words { padding: 56px clamp(20px, 5vw, 56px); }
  .split__words h2 { font-size: clamp(32px, 4vw, 48px); margin-block-end: 14px; }
  .split__rows { display: grid; gap: 18px; margin-block-start: 26px; }
  .split__row { display: flex; gap: 18px; background: #eef0ec; padding: 22px 24px; }
  .split__row svg { flex: none; inline-size: 52px; block-size: 52px; padding: 13px; border-radius: 50%; background: var(--sf-paper); }
  .split__row h3 { font-family: var(--sf-body); font-size: 17px; font-weight: 600; margin-block-end: 4px; }
  .split__row p { font-size: 15px; color: var(--sf-gun); }
  /* тёмная полоса контакта (solofish.org: Any question about our SOLOFISH?) */
  .radio { background: var(--sf-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='48'%3E%3Cpath d='M14 0l14 8v16l-14 8L0 24V8zM42 24l14 8v16M28 24l14-8' fill='none' stroke='%23222622' stroke-width='3'/%3E%3C/svg%3E"); color: #fff; }
  .radio__in { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: 48px; flex-wrap: wrap; }
  .radio__t { font-family: var(--sf-head); font-weight: 700; line-height: 1.15; font-size: clamp(26px, 3vw, 34px); }
  .radio a { background: #fff; color: var(--sf-ink); text-decoration: none; padding: 12px 22px; font-weight: 600; border-radius: var(--sf-r); }
  /* ценности + чек-лист (solofish.org: Company Values) */
  .creed { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 50px; align-items: center; }
  @media (max-width: 900px) { .creed { grid-template-columns: minmax(0, 1fr); gap: 24px; } }
  .creed__pic img { inline-size: 100%; border-radius: var(--sf-r); background: var(--sf-ink); }
  .creed h2 { font-size: clamp(32px, 4vw, 48px); margin-block-end: 14px; }
  .ticks { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 22px; margin-block-start: 24px; list-style: none; padding: 0; }
  @media (max-width: 560px) { .ticks { grid-template-columns: minmax(0, 1fr); } }
  .ticks li { position: relative; padding-inline-start: 30px; font-size: 15px; }
  .ticks li::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: 3px; inline-size: 19px; block-size: 19px; border-radius: 50%; background: var(--sf-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%2338e820' stroke-width='2.6'/%3E%3C/svg%3E") center/13px no-repeat; }
  /* фото владельцев (solofish.org: тёмная полоса с 4 фото) */
  .field { background: var(--sf-ink); padding-block: 56px; }
  .field .sect__h { color: #fff; }
  .field__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
  @media (max-width: 900px) { .field__grid { grid-template-columns: 1fr 1fr; gap: 12px; } }
  .field__grid img { inline-size: 100%; aspect-ratio: 1; object-fit: cover; }
  .field__grid figcaption { color: #c9cdc6; font-size: 13px; padding-block-start: 6px; }
  /* SEO-разделы (solofishbeam: H2 + абзац подряд) */
  .brief h2, .brief h3 { font-size: clamp(28px, 3.2vw, 38px); margin-block: 30px 10px; }
  .brief > :first-child { margin-block-start: 0; }
  .brief p { color: var(--sf-gun); max-inline-size: 980px; margin-block-end: 12px; }
  /* финальный призыв (solofish.org: Do you need a SOLOFISH — плита поверх тёмного фото) */
  .lastcall { position: relative; background: var(--sf-ink); color: #fff; text-align: center; overflow: hidden; }
  .lastcall > img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; opacity: .3; }
  .lastcall__in { position: relative; padding-block: 70px; display: grid; justify-items: center; gap: 14px; }
  .lastcall h2 { font-size: clamp(30px, 4vw, 46px); }
  .lastcall p { max-inline-size: 640px; color: #e4e7e1; }
  /* --- раздел (Streamlight: тёмная плита с фото и заголовком капсом, серая полоса фильтра, вводный абзац) */
  .bay { position: relative; background: var(--sf-ink); color: #fff; overflow: hidden; }
  .bay > img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; opacity: .5; }
  .bay__in { position: relative; padding-block: 64px; text-align: center; }
  .bay h1 { font-size: clamp(34px, 5vw, 58px); text-transform: uppercase; }
  .sweep { background: #dcd8d0; }
  .sweep__in { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; padding-block: 12px; }
  .sweep__lbl { font-family: var(--sf-head); font-weight: 700; font-size: 19px; text-transform: uppercase; background: var(--sf-ink); color: var(--sf-beam); padding: 6px 14px; }
  .sweep__chips { display: flex; flex-wrap: wrap; gap: 6px; }
  .sweep__chips button { border: 1px solid var(--sf-gun); background: transparent; padding: 5px 12px; cursor: pointer; font-size: 14px; min-block-size: 36px; }
  .sweep__chips button[aria-pressed="true"] { background: var(--sf-ink); color: #fff; border-color: var(--sf-ink); }
  .sweep select { border: 1px solid var(--sf-gun); background: #fff; padding: 6px 10px; min-block-size: 36px; }
  .sweep__n { margin-inline-start: auto; font-family: var(--sf-head); font-size: 24px; text-transform: uppercase; }
  .intro { font-size: 18px; color: var(--sf-gun); padding-block: 26px 30px; max-inline-size: 1100px; }
  .unit[hidden] { display: none; }
  /* --- карточка модели (Fenix PDP) */
  .sheet { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 46px; padding-block: 10px 50px; }
  @media (max-width: 900px) { .sheet { grid-template-columns: minmax(0, 1fr); gap: 22px; } }
  .gallery__main { background: var(--sf-fog); aspect-ratio: 1; }
  .gallery__main img { inline-size: 100%; block-size: 100%; object-fit: contain; mix-blend-mode: multiply; }
  .gallery__row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-block-start: 10px; }
  .gallery__row button { border: 1px solid var(--sf-line); background: var(--sf-fog); padding: 0; cursor: pointer; aspect-ratio: 1; }
  .gallery__row button[aria-current="true"] { border: 2px solid var(--sf-ink); }
  .gallery__row img { inline-size: 100%; block-size: 100%; object-fit: contain; mix-blend-mode: multiply; }
  .sheet h1 { font-size: clamp(28px, 3.4vw, 40px); text-transform: uppercase; letter-spacing: .01em; }
  .sheet__meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-block: 12px; font-size: 15px; }
  .sheet__cost { font-size: 24px; font-weight: 600; color: #b3261e; }
  .sheet__pick { margin-block: 18px; }
  .sheet__pick p { font-family: var(--sf-head); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin-block-end: 8px; }
  .sheet__pick p span { font-family: var(--sf-body); font-weight: 400; text-transform: none; letter-spacing: 0; }
  .beams { display: flex; flex-wrap: wrap; gap: 8px; }
  .beams button { display: inline-flex; gap: 8px; align-items: center; border: 1px solid var(--sf-gun); background: #fff; padding: 7px 12px; cursor: pointer; font-size: 14px; min-block-size: 40px; }
  .beams button[aria-checked="true"] { border: 2px solid var(--sf-ink); background: var(--sf-fog); font-weight: 600; }
  .sheet .zero { inline-size: min(360px, 100%); }
  .assure { list-style: none; padding: 0; margin-block: 20px; display: grid; gap: 8px; font-size: 15px; }
  .assure li { display: flex; gap: 10px; align-items: center; }
  .assure li::before { content: ""; inline-size: 10px; block-size: 10px; border-radius: 50%; background: var(--sf-beam); flex: none; }
  .sheet__lede { font-size: 16px; color: var(--sf-gun); }
  .hl { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 46px; padding-block: 30px 50px; border-block-start: 1px solid var(--sf-line); }
  @media (max-width: 900px) { .hl { grid-template-columns: minmax(0, 1fr); gap: 24px; } }
  .hl h2 { font-size: 30px; text-transform: uppercase; margin-block-end: 12px; }
  .hl p { margin-block-end: 12px; color: var(--sf-gun); }
  .hl ul { padding-inline-start: 20px; display: grid; gap: 6px; color: var(--sf-gun); }
  .endcap { background: var(--sf-ink); color: #fff; }
  .endcap__in { display: flex; flex-wrap: wrap; gap: 18px 30px; align-items: center; justify-content: space-between; padding-block: 30px; }
  .endcap h2 { font-size: 26px; }
  .endcap p { color: #c9cdc6; font-size: 15px; }
  /* --- статьи (topfirearmreviews: узкий заголовок, курсивный лид, подписи капсом) */
  .post { max-inline-size: 820px; padding-block-end: 50px; }
  .post h1 { font-size: clamp(32px, 4.4vw, 48px); margin-block: 6px 14px; }
  .post__lede { font-style: italic; color: var(--sf-gun); font-size: 18px; margin-block-end: 22px; }
  .post h2 { font-size: 28px; margin-block: 34px 10px; }
  .post h3 { font-family: var(--sf-body); font-size: 15px; font-weight: 700; text-transform: uppercase; margin-block: 20px 4px; }
  .post p { margin-block-end: 12px; }
  .post ul, .post ol { margin-block-end: 14px; padding-inline-start: 22px; }
  .gear { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 18px; border: 1px solid var(--sf-line); padding: 16px; margin-block: 20px 26px; align-items: center; }
  .gear img { background: var(--sf-fog); mix-blend-mode: multiply; aspect-ratio: 1; object-fit: contain; }
  .gear h3 { margin: 0 0 4px; font-family: var(--sf-head); font-size: 20px; text-transform: uppercase; }
  .gear p { font-size: 14px; margin-block-end: 8px; }
  .gear .zero { inline-size: min(280px, 100%); }
  @media (max-width: 560px) { .gear { grid-template-columns: 92px minmax(0, 1fr); gap: 12px; } }
  /* --- сервисные */
  .desk { max-inline-size: 860px; padding-block-end: 60px; }
  .desk h1 { font-size: clamp(32px, 4.4vw, 48px); margin-block: 6px 16px; }
  .desk h2 { font-size: 26px; margin-block: 28px 8px; }
  .desk p { margin-block-end: 12px; color: var(--sf-gun); }
  .desk ol, .desk ul { padding-inline-start: 22px; margin-block-end: 14px; color: var(--sf-gun); }
  .desk dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 18px; margin-block: 16px; }
  .desk dt { font-weight: 600; }
  @media (max-width: 560px) { .desk dl { grid-template-columns: minmax(0, 1fr); } }
}
