.elementor-kit-2331{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-1561c2d:#ffffff;--e-global-color-7499d1d:#efece5;--e-global-color-f9102e1:#0e203d;--e-global-color-deed00d:#8db4e3;--e-global-color-0d2a9d3:#fdfdf6;--e-global-color-1b9fd0f:#d6c7a5;--e-global-color-e121570:#151314;--e-global-color-57e12ce:#e05c38;--e-global-color-27c405e:#0e203d;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-274b927-font-family:"Plus Jakarta Sans";--e-global-typography-274b927-font-size:14px;--e-global-typography-274b927-font-weight:300;--e-global-typography-96630d2-font-family:"Plus Jakarta Sans";--e-global-typography-96630d2-font-size:14px;--e-global-typography-96630d2-font-weight:500;--e-global-typography-f354808-font-family:"Mozilla Text";--e-global-typography-f354808-font-size:64px;--e-global-typography-f354808-font-weight:600;--e-global-typography-91da345-font-family:"Plus Jakarta Sans";--e-global-typography-91da345-font-size:18px;--e-global-typography-91da345-font-weight:400;--e-global-typography-bd7bfdf-font-family:"Mozilla Text";--e-global-typography-bd7bfdf-font-size:48px;--e-global-typography-bd7bfdf-font-weight:600;--e-global-typography-c9eca9f-font-family:"Plus Jakarta Sans";--e-global-typography-c9eca9f-font-size:13px;--e-global-typography-c9eca9f-font-weight:500;--e-global-typography-45637ae-font-family:"Mozilla Text";--e-global-typography-45637ae-font-size:36px;--e-global-typography-45637ae-font-weight:600;--e-global-typography-a793324-font-family:"Plus Jakarta Sans";--e-global-typography-a793324-font-size:13px;--e-global-typography-a793324-font-weight:300;--e-global-typography-76eee8b-font-family:"Mozilla Text";--e-global-typography-76eee8b-font-size:18px;--e-global-typography-76eee8b-font-weight:500;--e-global-typography-625ea69-font-family:"Mozilla Text";--e-global-typography-625ea69-font-size:16px;--e-global-typography-625ea69-font-weight:400;--e-global-typography-f001b7f-font-family:"Mozilla Text";--e-global-typography-f001b7f-font-size:44px;--e-global-typography-f001b7f-font-weight:600;--e-global-typography-766c921-font-family:"Mozilla Text";--e-global-typography-766c921-font-size:26px;--e-global-typography-766c921-font-weight:500;--e-global-typography-89dbf00-font-family:"Plus Jakarta Sans";--e-global-typography-89dbf00-font-size:18px;--e-global-typography-89dbf00-font-weight:300;--e-global-typography-fb13739-font-family:"Mozilla Text";--e-global-typography-fb13739-font-size:44px;--e-global-typography-fb13739-font-weight:300;--e-global-typography-38fcada-font-family:"Mozilla Text";--e-global-typography-38fcada-font-size:26px;--e-global-typography-38fcada-font-weight:300;--e-global-typography-7d9a908-font-family:"Mozilla Text";--e-global-typography-7d9a908-font-size:34px;--e-global-typography-7d9a908-font-weight:300;--e-global-typography-974cae7-font-family:"Plus Jakarta Sans";--e-global-typography-974cae7-font-size:16px;--e-global-typography-974cae7-font-weight:400;--e-global-typography-d95e483-font-family:"Figtree";--e-global-typography-d95e483-font-size:14px;--e-global-typography-d95e483-font-weight:300;--e-global-typography-4fff5b9-font-family:"Figtree";--e-global-typography-4fff5b9-font-size:14px;--e-global-typography-4fff5b9-font-weight:500;--e-global-typography-9e6f056-font-family:"Figtree";--e-global-typography-9e6f056-font-size:18px;--e-global-typography-9e6f056-font-weight:400;--e-global-typography-5cf0912-font-family:"Figtree";--e-global-typography-5cf0912-font-size:36px;--e-global-typography-5cf0912-font-weight:500;--e-global-typography-96554e2-font-family:"Playball";--e-global-typography-96554e2-font-size:64px;--e-global-typography-96554e2-font-weight:400;--e-global-typography-1b1c8f4-font-family:"Figtree";--e-global-typography-1b1c8f4-font-size:24px;--e-global-typography-1b1c8f4-font-weight:500;--e-global-typography-469518a-font-family:"Figtree";--e-global-typography-469518a-font-size:48px;--e-global-typography-469518a-font-weight:500;--e-global-typography-2381010-font-family:"Figtree";--e-global-typography-2381010-font-size:64px;--e-global-typography-2381010-font-weight:500;--e-global-typography-fd9b8df-font-family:"Figtree";--e-global-typography-fd9b8df-font-size:13px;--e-global-typography-fd9b8df-font-weight:500;}.elementor-kit-2331 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1760px;}.e-con{--container-max-width:1760px;--container-default-padding-top:0px;--container-default-padding-right:32px;--container-default-padding-bottom:0px;--container-default-padding-left:32px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:26px;--container-default-padding-bottom:0px;--container-default-padding-left:26px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:20px;--container-default-padding-bottom:0px;--container-default-padding-left:20px;}}
/* Start custom CSS *//* ===== fonts ===== */
/* Google Fonts (latin): Figtree / Playball / Mozilla Text / Plus Jakarta Sans — @font-face, чтобы не зависеть от списка шрифтов Elementor */
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/figtree/v9/_Xms-HUzqDCFdgfMm4S9DQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/figtree/v9/_Xms-HUzqDCFdgfMm4S9DQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/figtree/v9/_Xms-HUzqDCFdgfMm4S9DQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/figtree/v9/_Xms-HUzqDCFdgfMm4S9DQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Mozilla Text';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/mozillatext/v1/SZc-3FrnJ7S7WZIff2mJ7TbD7xNK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Mozilla Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/mozillatext/v1/SZc-3FrnJ7S7WZIff2mJ7TbD7xNK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Mozilla Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/mozillatext/v1/SZc-3FrnJ7S7WZIff2mJ7TbD7xNK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playball';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/playball/v22/TK3gWksYAxQ7jbsKcg8Eneo.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===== tokens.css ===== */
/* Norseafood — токены. Каждая переменная мапится на Global в Elementor.
   Таблица мапинга — spec/site-settings.md */
:root {
  /* → Global Colors (брендбук, стр. Color Solution) */
  --color-white:      #FFFFFF;   /* Light   · Pure White */
  --color-navy:       #0E203D;   /* Primary · Deep Navy */
  --color-porcelain:  #EFECE5;   /* Surface · Warm Porcelain */
  --color-blue:       #8DB4E3;   /* Accent  · Ice Blue — максимум 4% площади */
  --color-brown:      #584B3C;   /* Support · Taupe Brown */

  /* Производные (прозрачности navy — для вторичного текста и линий) */
  --navy-80: rgba(14, 32, 61, .80);   /* вторичный текст: ≥ 8:1 на белом */
  --navy-65: rgba(14, 32, 61, .65);   /* подписи/лейблы: 5.2:1 на белом, 4.8:1 на porcelain (AA). .45 давал 2.8:1 */
  --hairline: rgba(14, 32, 61, .14);
  --hairline-on-navy: rgba(255, 255, 255, .18);

  /* → Global Fonts */
  --font-display: 'Mozilla Text', 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-text:    'Plus Jakarta Sans', system-ui, sans-serif;

  /* → Site Settings → Layout — ЕДИНАЯ СЕТКА для всех секций */
  --content-width: 1760px;  /* Content Width — контент ближе к краям на широких экранах */
  --gutter: 32px;            /* внешние поля — одинаковые везде */
  --col-gap: 24px;           /* Elements Gap между колонками */

  /* Вертикальный ритм — единая шкала, шаг 8px */
  --space-section: 120px;    /* между секциями */
  --space-block: 64px;       /* между блоками внутри секции */
  --space-element: 28px;     /* между элементами */
}

/* ===== heading line-height reset (before main.css) ===== */
h1.elementor-heading-title { line-height: 1.12; } h2.elementor-heading-title { line-height: 1.16; } h3.elementor-heading-title { line-height: 1.25; } h4.elementor-heading-title { line-height: 1.30; }
/* ===== main.css ===== */
/* ══════════════════════════════════════════════════════════════
   Norseafood — Вариант B «Цветной»
   Та же единая сетка 12 колонок, что и в варианте A. Отличие — доля
   цвета: navy ведёт в герое, в блоке принципов, в блоке людей и в
   футере; светлые секции работают паузами между ними.
   Desktop-first. Медиазапросы только max-width: 1024px / 767px.
   ══════════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--color-white);
  color: var(--color-navy);
  font-family: var(--font-text);
  font-weight: 300;
  font-size: 16px;          /* базовый текст 16px — правка клиента 2026-08-28 (было 14 «по требованию») */
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 { margin: 0; font-family: var(--font-display); font-weight: 600; }
h1 { font-size: 54px; line-height: 1.12; letter-spacing: -0.02em; }
h2 { font-size: 36px; line-height: 1.16; letter-spacing: -0.015em; }
h3 { font-size: 20px; line-height: 1.25; letter-spacing: -0.01em; font-weight: 500; }
h4 { font-size: 14px; line-height: 1.30; font-weight: 500; }

p { margin: 0; }
a { color: inherit; }

/* Крупный текст — редкость: только важные подзаголовки */
.lead { font-size: 18px; line-height: 1.45; font-weight: 400; }

/* ══ КАРКАС — идентичен варианту A ═════════════════════════════ */

.container {
  max-width: var(--content-width);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  column-gap: var(--col-gap);
}

/* Линии сетки для полноэкранных секций (сплит брендов, «Шторки»): текст
   full-width блоков стоит на тех же линиях колонок, что и остальные секции.
   Считается от 100% ширины блока (не 100vw — иначе мешает полоса прокрутки
   Windows): край → колонка 1 = max(0, (ширина − Content Width)/2) + gutter. */

/* Ритм: каждая секция — полный --space-section сверху и снизу.
   Фото-полосы и сплит брендов без паддингов: зазор дают соседи. */
.section { padding-block: var(--space-section); }

/* Утилиты ─────────────────────────────────────────────────────── */

/* ══ L3 «Квадрат» (решение 2026-08-21) — система ссылок и вторичных
   кнопок варианта B, отличная от A. Ссылка: текст + стрелка в квадрате 1px;
   hover — квадрат заливается (navy на светлом / белый на navy), ссылка
   уезжает на 4px. Вторичная кнопка: контур 1px с отсечённой ячейкой-стрелкой
   справа (split), hover — ячейка заливается. CUSTOM-CSS (реестр #B2):
   в Elementor — Button с иконкой справа + Custom CSS. */
.link-sq {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  color: inherit;
  transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}
.link-sq__box {
  width: 32px; height: 32px;
  border: 1px solid currentColor;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .35s ease, color .35s ease;
}
.link-sq__icon { width: 18px; height: 18px; }
.link-sq:focus-visible { transform: translateX(4px); }
@media (hover: hover) { .link-sq:hover { transform: translateX(4px); } }
.link-sq:focus-visible .link-sq__box { background: var(--color-navy); color: var(--color-white); }
@media (hover: hover) { .link-sq:hover .link-sq__box { background: var(--color-navy); color: var(--color-white); } }
.link-sq--light:focus-visible .link-sq__box { background: var(--color-white); color: var(--color-navy); }
@media (hover: hover) { .link-sq--light:hover .link-sq__box { background: var(--color-white); color: var(--color-navy); } }
.link-sq:focus-visible { outline: 1px solid var(--color-blue); outline-offset: 4px; }

.btn-split {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid currentColor;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  color: inherit;
}
.btn-split__t { padding: 13px 22px; }
.btn-split__s { width: 46px; border-left: 1px solid currentColor; display: inline-flex; align-items: center; justify-content: center; transition: background .35s ease, color .35s ease; }
.btn-split:focus-visible .btn-split__s { background: var(--color-navy); color: var(--color-white); }
@media (hover: hover) { .btn-split:hover .btn-split__s { background: var(--color-navy); color: var(--color-white); } }
.btn-split--light:focus-visible .btn-split__s { background: var(--color-white); color: var(--color-navy); }
@media (hover: hover) { .btn-split--light:hover .btn-split__s { background: var(--color-white); color: var(--color-navy); } }
.btn-split:focus-visible { outline: 1px solid var(--color-blue); outline-offset: 4px; }

@media (prefers-reduced-motion: reduce) { .link-sq, .link-sq__box, .btn-split__s { transition: none; } }

.btn {
  display: inline-block;
  padding: 15px 32px;
  background: var(--color-navy);
  color: var(--color-white);
  border: 0;
  font-family: var(--font-text);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background .25s ease, color .25s ease;
}
@media (hover: hover) { .btn:hover { background: var(--color-brown); } }
.btn--light { background: var(--color-white); color: var(--color-navy); }
@media (hover: hover) { .btn--light:hover { background: var(--color-blue); color: var(--color-navy); } }

/* ═══ HEADER — «Две цепочки» поверх героя: без фона, absolute ═══════
   Логотип 1–4, бренды 7–10, справа About + btn-split (L3). Подчёркивания
   1px Ice Blue slide-in (Nav Menu → Pointer Underline / Slide). */

.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 5; color: var(--color-white); padding-block: 44px 22px;
  transition: transform .4s cubic-bezier(.22, 1, .36, 1), background-color .35s ease, padding .35s ease; } /* сверху больше воздуха — хедер не прилипает к краю фото */
/* закреплённый хедер (#B7): после 40px — плотная плашка navy; при скролле вниз уезжает, вверх — возвращается */
.site-header.is-solid { background: var(--color-navy); padding-block: 14px; }
.site-header.is-hidden { transform: translateY(-100%); }
.site-header.is-open { transform: none; }
body.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header { top: 46px; } }
/* фокус: кольцо только с клавиатуры; после клика/тапа — никаких рамок */
a:focus:not(:focus-visible), button:focus:not(:focus-visible) { outline: none; }
.btn:focus-visible, .btn-k:focus-visible, .link-k:focus-visible, .foot-nav a:focus-visible, .foot-in:focus-visible, .site-header__logo:focus-visible { outline: 1px solid var(--color-blue); outline-offset: 4px; }
.site-header .container { align-items: center; }
.site-header__logo { grid-column: 1 / 4; align-self: center; }
/* viewBox обрезан по содержимому — знак прижат к левому краю сетки */
.site-header__logo img { height: 44px; width: auto; display: block; }

.site-nav { display: flex; align-items: center; }
.site-nav--brands { grid-column: 7 / 10; gap: 40px; }
.site-nav--util   { grid-column: 10 / 13; justify-content: flex-end; gap: 36px; }
.site-nav a:not(.btn-split) {
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  color: inherit;
  padding-bottom: 6px;
  background-image: linear-gradient(var(--color-blue), var(--color-blue));
  background-repeat: no-repeat;
  background-size: 0 1px;
  background-position: 0 100%;
  transition: background-size .45s cubic-bezier(.22, 1, .36, 1);
}
.site-nav a:not(.btn-split):focus-visible, .site-nav a.is-active { background-size: 100% 1px; }
@media (hover: hover) { .site-nav a:not(.btn-split):hover { background-size: 100% 1px; } }
.site-nav a:focus-visible { outline: 1px solid var(--color-blue); outline-offset: 4px; }
.site-header .btn-split { font-size: 14px; }
.site-header .btn-split__t { padding: 10px 18px; white-space: nowrap; }
.site-header .btn-split__s { width: 40px; }

/* Бургер — только на мобильном (нативный Dropdown виджета Nav Menu) */
.nav-toggle { display: none; }

/* ═══ 1. HERO — «Кинокадр»: фото во весь экран, текст внизу ══════════
   H1 1–8 (64px), лид 9–13 на нижней базовой линии, кнопки под H1.
   На загрузке (.is-ready, JS #B5) фото садится 1.06→1, текст поднимается. */

.hero { position: relative; height: 100vh; min-height: 680px; overflow: hidden; display: flex; flex-direction: column; background: var(--color-navy); color: var(--color-white); }
.hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 2.4s cubic-bezier(.22, 1, .36, 1); }
.is-ready .hero__img { transform: none; }
.hero__veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,32,61,.35) 0%, rgba(14,32,61,.05) 35%, rgba(14,32,61,.78) 100%); }
.hero__body { position: relative; z-index: 1; margin-top: auto; width: 100%; padding-bottom: 72px; }
.hero__body h1 { grid-column: 1 / 9; font-size: 64px; line-height: 1.06; max-width: 16ch; }
.hero__lead { grid-column: 9 / 13; align-self: end; max-width: 36ch; color: rgba(255,255,255,.82); }
.hero__actions { grid-column: 1 / 9; margin-top: 36px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; }
.js .hero__body > * { opacity: 0; transform: translateY(20px); transition: opacity .8s ease .3s, transform 1s cubic-bezier(.22, 1, .36, 1) .3s; }
.is-ready .hero__body > * { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .hero__img, .js .hero__body > * { transition: none; opacity: 1; transform: none; } }

/* ═══ 2–4. КИНОПОЛОСЫ — две сцены 100vh ═══════════════════════════
   Фото на всю ширину и высоту экрана, вуаль-градиент navy к низу, крупная
   белая типографика (H2 48px) в сетке; фото масштабируется 1.1→1.0 по
   прогрессу сцены (--p от JS #B3), текст поднимается при появлении. */

.cine { position: relative; height: 100vh; min-height: 640px; overflow: hidden; display: flex; align-items: flex-end; color: var(--color-white); background: var(--color-navy); }
.cine__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.1 - var(--p, 0) * .1)); will-change: transform; }
.cine__veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,32,61,.1) 30%, rgba(14,32,61,.82) 100%); }
.cine__body { position: relative; z-index: 1; width: 100%; padding-bottom: 88px; opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform 1s cubic-bezier(.22, 1, .36, 1); }
.cine__body.is-in { opacity: 1; transform: none; }
.cine__body h2 { grid-column: 1 / 7; font-size: 48px; line-height: 1.08; letter-spacing: -0.02em; max-width: 14ch; }
.cine__body .lead { grid-column: 1 / 7; margin-top: 24px; max-width: 40ch; color: rgba(255,255,255,.9); }
.cine__body > p:not(.lead) { grid-column: 7 / 13; align-self: end; max-width: 46ch; color: rgba(255,255,255,.78); }
/* Переход между сценами — «наезд»: первая закреплена, вторая наезжает с тенью (CUSTOM-CSS #B5) */
.cine-stack { position: relative; }
.cine--pin { position: sticky; top: 0; }
.cine-stack .cine + .cine { position: relative; z-index: 1; box-shadow: 0 -48px 96px rgba(14,32,61,.55); }
/* пауза 50vh: первая сцена стоит закреплённой целиком, и только потом вторая наезжает (замечание клиента 2026-08-28: «анимация слишком рано») */
.cine-stack .cine + .cine { margin-top: 50vh; }
@media (prefers-reduced-motion: reduce) { .cine__img { transform: none; } .cine__body { transition: none; opacity: 1; transform: none; } }

/* ═══ 5. BRANDS — полноэкранный сплит 50/50 ═══════════════════
   Две компании разведены на две половины экрана: каждая со своим
   изображением, вуалью и текстом. Ширина — весь вьюпорт, поэтому
   раздел читается как граница между двумя бизнесами.
   В Elementor: контейнер Full Width, flex-row, два дочерних по 50%, у каждого Background → Image + Overlay. */

.brand-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
}
.half {
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  /* Наружная сторона половины — на линии сетки (колонка 1 / край контейнера, как у остальных секций), внутренняя (шов между половинами) — свой, больший отступ: иначе текст правой половины прилипает к стыку.
     Фон абсолютный (inset: 0 → padding box), поэтому паддинг его не режет. */
  --pad-edge: calc(max(0px, 100% - var(--content-width) / 2) + var(--gutter)); /* 100% = ширина половины (грид-ячейка), не всей секции */
  --pad-seam: 64px;
}
.half--nor   { padding-inline: var(--pad-edge) var(--pad-seam); }
.half--kelda { padding-inline: var(--pad-seam) var(--pad-edge); }
.half__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.half__veil { position: absolute; inset: 0; }
.half--nor   .half__veil { background: linear-gradient(180deg, rgba(14,32,61,.30) 0%, rgba(14,32,61,.88) 100%); }
.half--kelda .half__veil { background: linear-gradient(180deg, rgba(21,19,20,.45) 0%, rgba(21,19,20,.92) 100%); } /* Ink Black идентики Kelda: тёплое фото стола требует плотнее вуаль */

.half__body {
  position: relative;
  z-index: 1;
  padding-block: 56px;
  color: var(--color-white);
  max-width: 30rem;
}
.half__role {
  display: block;
  margin-bottom: 14px;
  font-size: 14px;
  font-weight: 500;
  color: rgba(255,255,255,.75);
}
/* Логотипы брендов вместо заголовков (решение 2026-08-24): оба из
   фирменных леттерингов, без охранных полей, белые. Высоты подобраны так, чтобы знаки читались соразмерно (у Kelda леттеринг вертикальный). */
.half__logo { display: block; width: auto; }
.half__logo--nor { height: 40px; }
.half__logo--kelda { height: 96px; }
.half p { margin-top: 18px; color: rgba(255,255,255,.82); }
.half .half__focus { margin-top: 12px; font-size: 14px; font-weight: 500; color: var(--color-white); }
.half .link-sq { margin-top: 26px; }

/* ═══ NAVY-ЯКОРЯ ═════════════════════════════════════════════ */

.section--anchor {
  background: var(--color-navy);
  color: var(--color-white);
}
.anchor__title { grid-column: 1 / 6; margin-bottom: var(--space-block); }
.anchor__note {
  grid-column: 7 / 13;
  align-self: end;
  margin-bottom: var(--space-block);
  max-width: 52ch;
  color: rgba(255,255,255,.72);
}

/* 6. COMMITMENT — «Реестр»: porcelain, нумерованные строки, hover-инверсия.
   Иконки Recraft через mask (цвет = currentColor) — CUSTOM-CSS #B4;
   заливка строки navy снизу вверх через ::before — CUSTOM-CSS #B4. */
.section--commitment { background: var(--color-porcelain); color: var(--color-navy); }
.section--commitment .anchor__note { color: var(--navy-80); }
.ledger { grid-column: 1 / 13; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(14,32,61,.18); }
.ledger__row {
  position: relative; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--col-gap);
  align-items: center; padding: 36px 0; border-bottom: 1px solid rgba(14,32,61,.18);
  transition: color .4s ease;
}
.ledger__row::before { content: ""; position: absolute; inset: 0 calc(-1 * var(--gutter)); background: var(--color-navy); transform: scaleY(0); transform-origin: 50% 100%; transition: transform .45s cubic-bezier(.22, 1, .36, 1); }
.ledger__row > * { position: relative; }
.ledger__row:focus-within { color: var(--color-white); }
@media (hover: hover) { .ledger__row:hover { color: var(--color-white); } }
.ledger__row:focus-within::before { transform: scaleY(1); }
@media (hover: hover) { .ledger__row:hover::before { transform: scaleY(1); } }
.ledger__n { grid-column: 1 / 2; font-family: var(--font-display); font-weight: 300; font-size: 16px; line-height: 1; color: var(--navy-65); transition: color .4s ease; }
@media (hover: hover) { .ledger__row:hover .ledger__n { color: var(--color-blue); } }
.ledger__icon { grid-column: 2 / 3; width: 56px; height: 56px; background: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.ledger__row--quality      { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/weight-class.svg"); }
.ledger__row--traceability { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/route.svg"); }
.ledger__row--partnerships { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/people.svg"); }
.ledger__row--growth       { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/growth-bars.svg"); }
.ledger__name { grid-column: 3 / 6; font-family: var(--font-text); font-weight: 500; font-size: 18px; line-height: 1.3; margin: 0; }
.ledger__line { grid-column: 6 / 13; margin: 0; font-family: var(--font-display); font-weight: 300; font-size: 40px; line-height: 1.1; letter-spacing: -0.02em; transition: transform .45s cubic-bezier(.22, 1, .36, 1); }
@media (hover: hover) { .ledger__row:hover .ledger__line { transform: translateX(12px); } }
@media (prefers-reduced-motion: reduce) { .ledger__row, .ledger__row::before, .ledger__line, .ledger__n { transition: none; } .ledger__row:hover .ledger__line { transform: none; } }

/* 9. Люди — портрет 1–5 (4:5), цитата 7–13 */
.people__media { grid-column: 1 / 5; margin: 0; align-self: start; position: sticky; top: 96px; }   /* закреплён, пока справа прокручивается раскрытая история (2026-08-31) */
.people__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.people__text { grid-column: 7 / 13; align-self: center; }
.people__text h2 { max-width: 14ch; }
.people__note { margin-top: var(--space-element); max-width: 52ch; color: rgba(255,255,255,.72); }
/* история основателя (2026-08-31) — раскрывается кнопкой третьего порядка (JS #B8) в текстовой колонке:
   заметка → история (свёрнуто 0px) → кнопка, которая при раскрытии уезжает вниз («Show less»);
   портрет на десктопе закреплён (sticky), пока прокручивается текст */
.people__extra { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .55s cubic-bezier(.22, 1, .36, 1); }
.people__text.is-open .people__extra { grid-template-rows: 1fr; }
.people__extra-inner { min-height: 0; overflow: hidden; }
.people__extra .quote--story { margin-top: 28px; padding-top: 0; border-top: 0; }   /* (0,2,0): базовые .quote стоят ниже по файлу */
.people__extra .quote--story p { font-size: 22px; font-weight: 300; line-height: 1.4; max-width: none; }
.people__story { margin-top: 18px; max-width: none; color: rgba(255,255,255,.72); }
.people__story + .people__story { margin-top: 14px; }
.people__more { margin-top: 24px; }
.link-more {
  display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 0 0 4px; min-height: 0; border: 0; border-radius: 0; box-shadow: none;
  background: none; color: var(--color-white); font: 500 14px/1.4 var(--font-text); letter-spacing: normal; text-transform: none; cursor: pointer;
  background-image: linear-gradient(var(--color-blue), var(--color-blue)); background-repeat: no-repeat; background-size: 100% 1px; background-position: 0 100%;
}
.link-more svg { width: 14px; height: 14px; fill: currentColor; transition: transform .35s cubic-bezier(.22, 1, .36, 1); }
.link-more:focus-visible { outline: 1px solid var(--color-blue); outline-offset: 4px; }
.people__text.is-open .link-more svg { transform: rotate(180deg); }

.quote { margin: 32px 0 0; padding-top: 28px; border-top: 2px solid var(--color-blue); }
.quote p {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.36;
  letter-spacing: -0.01em;
  max-width: 30ch;
}
.quote cite {
  display: block;
  margin-top: 22px;
  font-family: var(--font-text);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
}
.quote cite span { display: block; margin-top: 3px; font-weight: 300; color: rgba(255,255,255,.60); }

/* ═══ 7–8. WHY INDIA — «Шторки на всю ширину» ═══════════════════
   Секция-трек 300vh, внутри sticky-сцена 100vh во всю ширину экрана.
   Три кадра друг над другом (absolute); активный открывается шторкой снизу
   (clip-path inset 100%→0) с масштабом 1.06→1, прошедшие остаются под ним.
   Карточка-текст porcelain слева внизу; заголовок в одну строку. */

.section--why { padding: 0; }
.why__track { position: relative; height: 300vh; }
.why__stage { position: sticky; top: 0; height: 100vh; overflow: hidden; background: var(--color-navy); }
.why__img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  clip-path: inset(100% 0 0 0);
  transform: scale(1.06);
  transition: clip-path .9s cubic-bezier(.22, 1, .36, 1), transform 1.4s cubic-bezier(.22, 1, .36, 1);
}
.why__img.is-active { clip-path: inset(0 0 0 0); transform: none; z-index: 1; }
.why__img.is-past   { clip-path: inset(0 0 0 0); transform: none; z-index: 0; }
.why__card {
  /* плашка от края экрана, текст — на колонке 1, правый край текста — конец колонки 5 */
  --edge: calc(max(0px, (100% - var(--content-width)) / 2) + var(--gutter));
  --col: calc((min(100%, var(--content-width)) - 2 * var(--gutter) - 11 * var(--col-gap)) / 12);
  position: absolute; left: 0; bottom: 56px; z-index: 2;
  width: calc(var(--edge) + 5 * var(--col) + 4 * var(--col-gap) + 40px);
  padding: 40px 40px 36px var(--edge);
  background: var(--color-porcelain);
  color: var(--color-navy);
}
.why__card h2 { white-space: nowrap; }
.why__card .lead { margin-top: 20px; color: var(--color-navy); }
.why__card > p:not(.lead) { margin-top: 20px; max-width: 46ch; color: var(--navy-80); }
.why__meta { margin-top: 22px; display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.why__cap { font-size: 14px; color: var(--navy-65); }
.why__cap b { font-weight: 500; color: var(--color-navy); }
.why__idx { font-size: 14px; font-variant-numeric: tabular-nums; color: var(--navy-65); }
.why__nav { display: none; }   /* точки + подсказка «Swipe» — только ≤1024 */
/* CUSTOM-CSS: keyframes подсказки свайпа */
@keyframes why-nudge { 0%, 100% { transform: rotate(180deg) translateX(0); } 50% { transform: rotate(180deg) translateX(-6px); } }
.why__steps { position: absolute; inset: 0; pointer-events: none; }
.why__step { height: 100vh; }
@media (prefers-reduced-motion: reduce) { .why__img { transition: none; } }

/* ═══ 10. CONTACT ════════════════════════════════════════════ */

.section--contact { border-top: 1px solid var(--hairline); }
.contact__head { grid-column: 1 / 6; }
.contact__head h2 { max-width: 12ch; }
.contact__head .lead { margin-top: 20px; color: var(--color-navy); }
.contact__head p:not(.lead) { margin-top: 12px; max-width: 46ch; color: var(--navy-80); }

.form { grid-column: 7 / 13; display: flex; flex-direction: column; gap: 22px; }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }

.field { display: flex; flex-direction: column; gap: 8px; }
.field span { font-size: 14px; font-weight: 500; letter-spacing: 0.03em; color: var(--navy-65); }
.field input, .field textarea {
  font-family: var(--font-text);
  font-size: 15px;
  font-weight: 300;
  color: var(--color-navy);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--hairline);
  padding: 9px 0;
  transition: border-color .25s ease;
}
.field input:focus, .field textarea:focus { outline: none; border-bottom-color: var(--color-blue); }
.field textarea { resize: vertical; }
.form .btn { align-self: flex-start; margin-top: 10px; }

/* ═══ FOOTER — F3 «navy-инверсия» ═══════════════════════════════
   Белый полный логотип + клейм (18px) слева (1–5); адреса справа (7–9 /
   10–13) — страна капсом Ice Blue; навигация (1–9) + LinkedIn с иконкой
   (10–13); юр. строка; полоса текущего паттерна B (80×56) на 50%. */

.site-footer { background: var(--color-navy); color: var(--color-white); padding-top: 120px; }
.site-footer > .container { padding-bottom: 56px; }
.foot-row + .foot-row { margin-top: 64px; }
.foot-row--legal { margin-top: 28px; }

.foot-brand { grid-column: 1 / 6; }
.foot-logo img { height: 44px; width: auto; display: block; }
.foot-claim {
  margin-top: 24px;
  font-family: var(--font-display);
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: -0.01em;
  font-weight: 500;
  max-width: 26ch;
  color: rgba(255,255,255,.92);
}
.foot-office--no { grid-column: 7 / 10; }
.foot-office--in { grid-column: 10 / 13; }
.foot-label { display: block; font-size: 14px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--color-blue); }
.foot-addr { margin-top: 12px; font-size: 16px; line-height: 1.65; color: rgba(255,255,255,.75); }

.foot-links { grid-column: 1 / 10; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; }
.foot-nav { display: flex; flex-wrap: wrap; gap: 16px 32px; }
.foot-nav a { font-size: 14px; font-weight: 500; text-decoration: none; color: var(--color-white); padding-bottom: 4px; }
.foot-social { grid-column: 10 / 13; justify-self: end; display: flex; align-items: center; gap: 28px; }
.foot-in { grid-column: 10 / 13; justify-self: end; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; text-decoration: none; color: var(--color-white); padding-bottom: 4px; }
.foot-in__icon { width: 18px; height: 18px; margin-bottom: 2px; }
.foot-nav a, .foot-in {
  background-image: linear-gradient(var(--color-blue), var(--color-blue));
  background-repeat: no-repeat;
  background-size: 0 1px;
  background-position: 0 100%;
  transition: background-size .45s cubic-bezier(.22, 1, .36, 1);
}
.foot-nav a:focus-visible, .foot-in:focus-visible { background-size: 100% 1px; }
@media (hover: hover) { .foot-nav a:hover, .foot-in:hover { background-size: 100% 1px; } }
.foot-legal { grid-column: 1 / 10; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.55); }

/* ══ ПАТТЕРН — текущий паттерн B (pattern-on-navy.svg, плитка 80×56) на 50% ══ */
.foot-pattern {
  height: 112px;
  background-image: url("https://www.norseafood.com/wp-content/uploads/2026/08/pattern-on-navy.svg");
  background-repeat: repeat;
  background-size: 80px 56px;
  background-position: 0 0;
  opacity: .5;
}

/* ══════════════════════════════════════════════════════════════
   TABLET — max-width: 1024px
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  :root {
    --gutter: 26px;
    --col-gap: 20px;
    --space-section: 88px;
    --space-block: 48px;
  }

  h1 { font-size: 40px; }
  h2 { font-size: 30px; }
  h3 { font-size: 19px; }

  .site-header { padding-top: 32px; }
  .site-header.is-solid { padding-block: 12px; }
  .site-header__logo { grid-column: 1 / 5; }
  .site-header__logo img { height: 38px; }
  .site-nav--brands { grid-column: 5 / 8; gap: 28px; }
  .site-nav--util   { grid-column: 8 / 13; gap: 24px; }

  .hero__body h1 { grid-column: 1 / 13; font-size: 48px; max-width: 18ch; }
  .hero__lead { grid-column: 1 / 13; margin-top: 20px; }
  .hero__actions { grid-column: 1 / 13; margin-top: 28px; }

  .cine--pin { position: relative; } /* не static: иначе .cine__img теряет containing block и вылезает за overflow */
  .cine-stack .cine + .cine { box-shadow: none; margin-top: 0; }

  .cine { height: auto; min-height: 70vh; }
  .cine__body { padding-top: 40vh; padding-bottom: 64px; }
  .cine__body h2 { font-size: 34px; }
  .cine__body h2, .cine__body .lead, .cine__body > p:not(.lead) { grid-column: 1 / 13; }
  .cine__body > p:not(.lead) { margin-top: 16px; }

  .anchor__title { grid-column: 1 / 13; margin-bottom: var(--space-element); }
  .anchor__note  { grid-column: 1 / 13; }
  .ledger__row { padding: 28px 0; }
  .ledger__icon { width: 44px; height: 44px; }
  .ledger__name { grid-column: 3 / 13; }
  .ledger__line { grid-column: 3 / 13; font-size: 30px; margin-top: 8px; }

  .people__media { grid-column: 1 / 7; position: static; align-self: auto; }
  .people__text { grid-column: 1 / 13; margin-top: var(--space-block); }
  .quote p { font-size: 21px; }

  /* Why India: без закрепления — кадры стопкой, карточка в потоке */
  .half { --pad-seam: 40px; } /* сплит остаётся двухколоночным — шов уже */

  /* Why India на планшете/мобиле (2026-08-31): один полноэкранный кадр, смена кадра свайпом справа налево (JS #B1); пина нет */
  .why__track { height: auto; }
  .why__stage { position: relative; height: 100vh; height: 100svh; min-height: 560px; max-height: 960px; overflow: hidden; background: var(--color-navy); touch-action: pan-y; }
  .why__img { clip-path: inset(0 0 0 100%); transform: none; transition: clip-path .7s cubic-bezier(.22, 1, .36, 1); }   /* шторка справа налево — по направлению свайпа */
  .why__img.is-active, .why__img.is-past { clip-path: inset(0 0 0 0); }
  .why__card { --edge: 0px; left: var(--gutter); right: var(--gutter); bottom: 84px; width: auto; padding: 22px 22px 20px; }
  .why__card h2 { white-space: normal; font-size: 24px; }
  .why__card .lead { margin-top: 10px; font-size: 16px; }
  .why__card > p:not(.lead) { margin-top: 10px; font-size: 14px; }
  .why__meta { margin-top: 14px; }
  .why__steps { display: none; }
  .why__nav { position: absolute; left: var(--gutter); right: var(--gutter); bottom: 28px; z-index: 3; display: flex; align-items: center; justify-content: space-between; color: var(--color-white); line-height: normal; }
  .why__dots { display: flex; gap: 8px; }
  .why__dot { width: 28px; height: 2px; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: rgba(255, 255, 255, .35); font-size: 0; line-height: 0; cursor: pointer; transition: background .3s ease; }
  .why__dot.is-active { background: var(--color-white); }
  .why__hint { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-text); font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; transition: opacity .4s ease; }
  .why__hint svg { width: 16px; height: 16px; fill: currentColor; animation: why-nudge 1.4s ease-in-out infinite; }
  .why__stage.is-swiped .why__hint { opacity: 0; }

  .contact__head { grid-column: 1 / 13; }
  .contact__head h2 { max-width: 18ch; }
  .form { grid-column: 1 / 13; margin-top: var(--space-block); }

  .site-footer { padding-top: 96px; }
  .foot-row--offices, .foot-row--nav { margin-top: 72px; }
  .foot-logo, .foot-brand, .foot-claim { grid-column: 1 / 13; }
  .foot-claim { margin-top: 24px; }
  .foot-office--no { grid-column: 1 / 7; }
  .foot-office--in { grid-column: 7 / 13; }
  .foot-links { grid-column: 1 / 9; }
  .foot-in { grid-column: 9 / 13; }
  .foot-legal { grid-column: 1 / 13; }
}

/* ══════════════════════════════════════════════════════════════
   MOBILE — max-width: 767px
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  :root {
    --gutter: 20px;
    --col-gap: 16px;
    --space-section: 64px;
    --space-block: 36px;
    --space-element: 22px;
  }

  h1 { font-size: 31px; }
  h2 { font-size: 26px; }
  h3 { font-size: 18px; }
  .lead { font-size: 17px; }

  /* хедер: лого + бургер в одну строку, меню раскрывается колонкой */
  .site-header { padding-block: 20px 16px; }
  .site-header.is-solid { padding-block: 12px; }
  .site-header__logo { grid-column: 1 / 10; }
  .site-header__logo img { height: 32px; }
  .nav-toggle {
    grid-column: 10 / 13;
    justify-self: end;
    align-self: center;
    position: relative;
    display: block;
    width: 44px;
    height: 44px;
    margin: -6px -8px -6px 0;   /* margin-box 32px = высота логотипа: кнопка без дробного центрирования, линии на целых пикселях */
    padding: 0;
    background: none;
    border: 0;
    cursor: pointer;
  }
  /* две линии 1px, 28px, без скруглений (2026-08-31, по замечанию пользователя) */
  .nav-toggle span { position: absolute; left: 8px; right: 8px; height: 1px; background: var(--color-white); }
  .nav-toggle span:first-child { top: 18px; }
  .nav-toggle span:last-child { top: 25px; }
  /* .site-header .site-nav (0,2,0) перекрывает десктопные .site-nav--* */
  .site-header .site-nav {
    grid-column: 1 / 13;
    display: none;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 14px;
  }
  .site-header.is-open { background: var(--color-navy); }
  .site-header.is-open .site-nav { display: flex; }
  .site-header.is-open .site-nav--brands { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--hairline-on-navy); }
  .site-header.is-open .site-nav--util { margin-top: 14px; }
  .site-header.is-open .btn-split { margin-top: 6px; }

  .hero { min-height: 620px; }
  .hero__body { padding-bottom: 48px; }
  .hero__body h1 { font-size: 36px; }
  /* кнопки героя на мобиле: одна под другой, одинаковые — на всю ширину, высота 50px (2026-08-31) */
  .hero__actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .hero__actions > * { width: 100%; }
  .hero__actions .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; }
  .hero__actions .btn-split { display: flex; width: 100%; min-height: 50px; }
  .hero__actions .btn-split__t { flex: 1; display: flex; align-items: center; justify-content: center; padding: 0 22px; }

  .cine__body { padding-top: 34vh; padding-bottom: 48px; }
  .cine__body h2 { font-size: 28px; }

  .brand-split { grid-template-columns: 1fr; }
  .half { min-height: 400px; }
  .half { --pad-seam: var(--pad-edge); } /* половины идут одна за другой — отступ одинаковый */
  .half__body { padding-block: 32px; }
  .half__logo--nor { height: 32px; }
  .half__logo--kelda { height: 72px; }

  /* мобильный ряд: «01 · Quality» одной строкой, иконка у правого края, ниже — фраза (2026-08-31: было три этажа с провалом между номером и иконкой) */
  .ledger__row { padding: 22px 0; row-gap: 12px; align-items: center; }
  .ledger__n { grid-column: 1 / 2; grid-row: 1; }
  .ledger__name { grid-column: 2 / 11; grid-row: 1; margin: 0; }   /* grid-row явно: иначе sparse-размещение после иконки (11/13) уносит подпись на новую строку */
  .ledger__icon { grid-column: 11 / 13; grid-row: 1; justify-self: end; width: 36px; height: 36px; }
  .ledger__line { grid-column: 1 / 13; grid-row: 2; font-size: 26px; margin-top: 0; }
  .ledger__row:hover .ledger__line { transform: none; }

  .people__media { grid-column: 1 / 13; }
  .quote p { font-size: 19px; }
  .people__extra .quote--story p { font-size: 18px; }

  .form__row { grid-template-columns: 1fr; }

  .site-footer { padding-top: 64px; }
  .foot-row + .foot-row, .foot-row--offices, .foot-row--nav { margin-top: 40px; }
  .foot-office--no, .foot-office--in, .foot-links, .foot-in, .foot-legal { grid-column: 1 / 13; }
  .foot-office--in { margin-top: 28px; }
  .foot-social, .foot-in { grid-column: 1 / 13; justify-self: start; margin-top: 20px; } /* иначе блок 10/13 выпирает за экран (+116px на 375) */
  .foot-legal { margin-top: 24px; }
  .foot-pattern { height: 112px; }
}

/* ═══ ЮРИДИЧЕСКАЯ СТРАНИЦА (Privacy Policy) ═══════════════════════
   Заголовок в колонках 1–5 и липкий на десктопе, текст в 6–13.
   Хедер закреплён (#B7), поэтому сверху добавлен запас. */
.section--legal { padding-top: calc(var(--space-section) + 64px); background: var(--color-porcelain); }
.legal__head { grid-column: 1 / 5; align-self: start; position: sticky; top: 120px; }
.legal__head h1 { font-size: 44px; line-height: 1.1; letter-spacing: -0.02em; }
.legal__meta { margin-top: 14px; font-size: 14px; color: var(--navy-65); }
.legal__body { grid-column: 6 / 13; max-width: 62ch; }
.legal__body > * + * { margin-top: 18px; }
.legal__body h2 { margin-top: 48px; font-size: 24px; line-height: 1.25; }
.legal__body h3 { margin-top: 28px; font-size: 17px; font-weight: 500; }
.legal__body p { color: var(--navy-80); }
.legal__body .lead { color: var(--color-navy); }
.legal__body ul { margin: 0; padding-left: 20px; color: var(--navy-80); }
.legal__body li + li { margin-top: 8px; }
.legal__body a { color: var(--color-navy); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
@media (hover: hover) { .legal__body a:hover { color: var(--color-brown); } }
@media (max-width: 1024px) {
  .legal__head { grid-column: 1 / 13; position: static; }
  .legal__head h1 { font-size: 34px; }
  .legal__body { grid-column: 1 / 13; margin-top: var(--space-block); max-width: none; }
}
@media (max-width: 767px) {
  .legal__head h1 { font-size: 28px; }
  .legal__body h2 { margin-top: 36px; font-size: 21px; }
}

/* юр-страница: hero нет, фон светлый — хедер сразу плотный, иначе белый текст на porcelain */
.page-id-3 .site-header { background: var(--color-navy); padding-block: 14px; }
.legal__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.legal__item { position: relative; padding-left: 20px; color: var(--navy-80); }
.legal__item::before { content: ""; position: absolute; left: 0; top: 11px; width: 10px; height: 1px; background: var(--navy-65); }
/* ссылка «настройки cookie» в футере — как остальные ссылки футера */
.foot-cookie-wrap { display: flex; align-items: center; }
.foot-cookie { padding-bottom: 4px; }   /* та же базовая линия, что у ссылок меню */
.foot-cookie { white-space: nowrap; background: none; border: 0; padding: 0 0 4px; font: 500 14px/1.55 var(--font-text); color: var(--color-white); cursor: pointer;
  background-image: linear-gradient(var(--color-blue), var(--color-blue)); background-repeat: no-repeat; background-size: 0 1px; background-position: 0 100%;
  transition: background-size .45s cubic-bezier(.22, 1, .36, 1); }
@media (hover: hover) { .foot-cookie:hover { background-size: 100% 1px; } }
/* строка согласия под формой */
/* Строка согласия — сосед виджета формы по сетке (внутрь <form> её класть нельзя: виджет
   Elementor Form собирается из полей). На десктопе поднимаем её на высоту кнопки и прижимаем
   вправо — читается как строка справа от «Send enquiry». `grid-row: 1` тут не годится: явно
   размещённый элемент занимает ячейку раньше автоматических, и форма уезжает во вторую строку. */
.form__consent { grid-column: 7 / 13; justify-self: end; max-width: calc(100% - 200px); margin-top: -34px;
  text-align: right; font-size: 13px; line-height: 1.5; color: var(--navy-65); }
.form__consent a { color: var(--color-navy); text-decoration: underline; text-underline-offset: 3px; }
.page-id-829 .form__consent { color: var(--k-ink-55); }
.page-id-829 .form__consent a { color: var(--k-ink); }
@media (max-width: 1024px) { .form__consent { grid-column: 1 / 13; justify-self: start; max-width: none; margin-top: 10px; text-align: left; } }

/* ===== page-nor.css ===== */
/* ══════════════════════════════════════════════════════════════
   NorSeafood — страница бренда, вариант B (выбран клиентом 2026-08-24).
   Общие блоки (хедер, .hero, .cine, .btn/.btn-split/.link-sq, контакт, футер) берутся из main.css; здесь — только секции этой страницы.
   Тексты — дословно со страницы клиента /norseafood/.
   ══════════════════════════════════════════════════════════════ */

/* ─── 2. Цепочка — «Линия»: заголовок слева, под ним пять шагов ── */
.section--approach { background: var(--color-porcelain); color: var(--color-navy); }
.approach__title { grid-column: 1 / 6; font-size: 44px; line-height: 1.1; letter-spacing: -0.02em; }
.approach__note { grid-column: 7 / 13; align-self: end; max-width: 44ch; color: var(--navy-80); }
.chain {
  grid-column: 1 / 13;
  margin: var(--space-block) 0 0; padding: 0; list-style: none;
  display: grid; grid-template-columns: repeat(5, 1fr); column-gap: var(--col-gap);
  border-top: 1px solid rgba(14, 32, 61, .25);
}
.chain__step {
  position: relative; padding-top: 28px;
  opacity: 0; transform: translateY(16px);
  transition: opacity .7s ease, transform .8s cubic-bezier(.22, 1, .36, 1);
}
.chain__step.is-in { opacity: 1; transform: none; }
.chain__step:nth-child(2) { transition-delay: .08s; } .chain__step:nth-child(3) { transition-delay: .16s; }
.chain__step:nth-child(4) { transition-delay: .24s; } .chain__step:nth-child(5) { transition-delay: .32s; }
/* точка на линии (в Elementor — виджет Icon: круг 7px, Position Absolute) */
.chain__step::before { content: ""; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--color-navy); }
.chain__step--india::before { background: var(--color-blue); }
.chain__ico {
  display: block; width: 48px; height: 48px; margin-bottom: 20px;
  background: var(--color-navy);
  -webkit-mask: var(--ico) center / contain no-repeat;
  mask: var(--ico) center / contain no-repeat;
}
.chain__step--farm  { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/sea-pen.svg"); }
.chain__step--proc  { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/fillet.svg"); }
.chain__step--cold  { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/cold-chain.svg"); }
.chain__step--ship  { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/vessel.svg"); }
.chain__step--india { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/route.svg"); }
.chain__name { display: block; font: 500 14px/1.4 var(--font-text); color: var(--navy-65); }
.chain__note { display: block; margin-top: 8px; font-family: var(--font-display); font-weight: 500; font-size: 17px; line-height: 1.3; max-width: 20ch; }

/* ─── 3. Why NorSeafood — закреплённый заголовок + колонка текста ── */
.section--reason { padding-block: var(--space-section); }
.reason__head { grid-column: 1 / 6; align-self: start; position: sticky; top: 120px; }
.reason__head h2 { max-width: 14ch; }
.reason__body { grid-column: 7 / 13; max-width: 58ch; }
.reason__body > * + * { margin-top: var(--space-element); }
.reason__body p:not(.lead):not(.reason__accent) { color: var(--navy-80); }
/* строка-акцент клиента «For us, that market is India.» */
.reason__accent {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 26px;
  line-height: 1.25;
  letter-spacing: -0.015em;
  color: var(--color-navy);
  margin-top: var(--space-block);
  padding-top: var(--space-element);
  border-top: 1px solid rgba(14, 32, 61, .18);
}
.reason__accent + p { margin-top: var(--space-block); }

/* ─── 4. Пунч — navy-полоса с двумя фразами ──────────────────── */
.section--punch { background: var(--color-navy); color: var(--color-white); padding-block: var(--space-block); }
.punch__off { grid-column: 1 / 13; font-size: 18px; color: rgba(255, 255, 255, .5); }
.punch__on {
  grid-column: 1 / 11;
  margin-top: 14px;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: 44px;
  line-height: 1.12;
  letter-spacing: -0.02em;
}

/* ─── 6. Доступные продукты — «Реестр»: строки с наведением-инверсией ── */
.prods__head { grid-column: 1 / 6; align-self: start; position: sticky; top: 120px; }
.prods__head h2 { margin-bottom: var(--space-element); }
.prods__head p { color: var(--navy-80); }
.prods__head p + p { margin-top: 18px; }
.plist { grid-column: 7 / 13; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(14, 32, 61, .18); }
.prow {
  position: relative; display: flex; align-items: center; gap: 24px;
  padding: 22px 0; border-bottom: 1px solid rgba(14, 32, 61, .18);
  opacity: 0; transform: translateY(16px);
  transition: color .4s ease, opacity .7s ease, transform .8s cubic-bezier(.22, 1, .36, 1);
}
.prow.is-in { opacity: 1; transform: none; }
.prow:nth-child(2) { transition-delay: .05s; } .prow:nth-child(3) { transition-delay: .1s; }
.prow:nth-child(4) { transition-delay: .15s; } .prow:nth-child(5) { transition-delay: .2s; } .prow:nth-child(6) { transition-delay: .25s; }
/* заливка строки navy снизу вверх — CUSTOM-CSS #B6 */
.prow::before { content: ""; position: absolute; inset: 0 calc(-1 * var(--gutter)); background: var(--color-navy); transform: scaleY(0); transform-origin: 50% 100%; transition: transform .45s cubic-bezier(.22, 1, .36, 1); }
.prow > * { position: relative; }
.prow:focus-within { color: var(--color-white); }
@media (hover: hover) { .prow:hover { color: var(--color-white); } }
.prow:focus-within::before { transform: scaleY(1); }
@media (hover: hover) { .prow:hover::before { transform: scaleY(1); } }
.prow__n { width: 24px; flex: none; font-family: var(--font-display); font-weight: 300; font-size: 14px; color: var(--navy-65); transition: color .4s ease; }
@media (hover: hover) { .prow:hover .prow__n { color: var(--color-blue); } }
.prow__ico { width: 40px; height: 40px; flex: none; background: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.prow__t { font-family: var(--font-display); font-weight: 500; font-size: 22px; letter-spacing: -0.01em; transition: transform .45s cubic-bezier(.22, 1, .36, 1); }
@media (hover: hover) { .prow:hover .prow__t { transform: translateX(10px); } }
.prod--salmon    { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/salmon-large.svg"); }
.prod--hog       { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/fillet.svg"); }
.prod--grades    { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/weight-class.svg"); }
.prod--pack      { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/box.svg"); }
.prod--container { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/vessel.svg"); }
.prod--india     { --ico: url("https://www.norseafood.com/wp-content/uploads/2026/08/route.svg"); }

/* ─── 7. Why Partner With Us — navy + пять гарантий ───────────── */
.section--partner { background: var(--color-navy); color: var(--color-white); }
.partner__title { grid-column: 1 / 6; align-self: start; position: sticky; top: 120px; max-width: 10ch; }
.partner__body { grid-column: 7 / 13; max-width: 58ch; }
.partner__body > * + * { margin-top: var(--space-element); }
.partner__body p:not(.lead) { color: rgba(255, 255, 255, .72); }
/* бегущая строка гарантий — полоса во всю ширину внизу navy-секции.
   CUSTOM-CSS #B6: keyframes + пауза при наведении (нативного маркиза в
   Elementor нет — либо этот код, либо виджет-аддон). */
.section--partner { padding-bottom: 0; }
.ticker { margin-top: var(--space-block); border-top: 1px solid var(--hairline-on-navy); padding-block: 30px; overflow: hidden; display: flex; width: 100%; }
.ticker__line { display: flex; flex: none; gap: 56px; padding-right: 56px; animation: tick 38s linear infinite; }
@media (hover: hover) { .ticker:hover .ticker__line { animation-play-state: paused; } }
.ticker__line span { display: flex; align-items: center; gap: 56px; font-family: var(--font-display); font-weight: 300; font-size: 26px; white-space: nowrap; }
.ticker__line span::after { content: ""; width: 6px; height: 6px; flex: none; background: var(--color-blue); border-radius: 50%; }
@keyframes tick { to { transform: translateX(-100%); } }

/* ─── 8. Спецификация — «Лист»: закреплённое фото + строки данных ── */
.section--specs { background: var(--color-porcelain); color: var(--color-navy); }
.specs__media { grid-column: 1 / 7; margin: 0; align-self: start; position: sticky; top: 96px; }
.specs__media img { width: 100%; aspect-ratio: 4 / 5; max-height: 68vh; object-fit: cover; display: block; }
.specs__body { grid-column: 7 / 13; }
.specs__title { margin-bottom: var(--space-block); }
.specs { margin: 0; border-top: 1px solid rgba(14, 32, 61, .18); }
.spec {
  display: flex; justify-content: space-between; align-items: baseline; gap: 24px;
  padding: 18px 0; border-bottom: 1px solid rgba(14, 32, 61, .18);
  opacity: 0; transform: translateY(12px);
  transition: opacity .6s ease, transform .7s cubic-bezier(.22, 1, .36, 1);
}
.spec.is-in { opacity: 1; transform: none; }
.spec:nth-child(2) { transition-delay: .04s; } .spec:nth-child(3) { transition-delay: .08s; }
.spec:nth-child(4) { transition-delay: .12s; } .spec:nth-child(5) { transition-delay: .16s; }
.spec:nth-child(6) { transition-delay: .2s; } .spec:nth-child(7) { transition-delay: .24s; }
.spec:nth-child(8) { transition-delay: .28s; } .spec:nth-child(9) { transition-delay: .32s; }
.spec dt { flex: none; font-family: var(--font-text); font-size: 14px; font-weight: 500; color: var(--navy-65); }
.spec dd { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: 20px; line-height: 1.25; text-align: right; }
.specs__cta { margin-top: var(--space-block); }

/* ─── 9. Built Between Two Countries — navy + карта ───────────── */
.section--two { background: var(--color-navy); color: var(--color-white); }
.two__map {
  grid-column: 1 / 7;
  align-self: start;
  /* viewBox карты квадратный (1006×1001) — иначе contain оставляет поля */
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: 560px;
  background: rgba(255, 255, 255, .9);
  -webkit-mask: url("https://www.norseafood.com/wp-content/uploads/2026/08/map-norway-india.svg") center / contain no-repeat;
  mask: url("https://www.norseafood.com/wp-content/uploads/2026/08/map-norway-india.svg") center / contain no-repeat;
}
.two__text { grid-column: 7 / 13; align-self: start; }
.two__intro { margin-top: var(--space-element); color: rgba(255, 255, 255, .6); }
.two__belief {
  margin-top: 12px;
  font-family: var(--font-display); font-weight: 300; font-size: 34px; line-height: 1.15; letter-spacing: -0.02em;
  max-width: 22ch;
}
.two__pair { margin: var(--space-block) 0 0; padding: 0; list-style: none; }
.two__pair li { padding: 16px 0; border-top: 1px solid var(--hairline-on-navy); font-size: 18px; }
.two__pair li:last-child { border-bottom: 1px solid var(--hairline-on-navy); }
.two__end { margin-top: var(--space-element); font-family: var(--font-text); font-weight: 500; color: var(--color-blue); }

@media (prefers-reduced-motion: reduce) {
  .chain__step, .prow, .spec { opacity: 1; transform: none; transition: none; }
  .ticker__line { animation: none; }
}

/* ══════════════════════════════════════════════════════════════
   ТАБЛЕТ ≤ 1024
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .approach__title { grid-column: 1 / 13; font-size: 34px; }
  .approach__note { grid-column: 1 / 13; margin-top: var(--space-element); max-width: none; }
  .chain { grid-template-columns: repeat(2, 1fr); row-gap: 32px; }

  .reason__head { grid-column: 1 / 13; position: static; }
  .reason__body { grid-column: 1 / 13; margin-top: var(--space-element); max-width: none; }
  .reason__accent { font-size: 22px; }

  .punch__on { grid-column: 1 / 13; font-size: 32px; }

  .prods__head { grid-column: 1 / 13; position: static; }
  .plist { grid-column: 1 / 13; margin-top: var(--space-block); }

  .partner__title { grid-column: 1 / 13; position: static; max-width: none; }
  .partner__body { grid-column: 1 / 13; margin-top: var(--space-element); max-width: none; }
  .ticker__line { gap: 40px; padding-right: 40px; }
  .ticker__line span { font-size: 22px; gap: 40px; }

  .specs__media { grid-column: 1 / 13; position: static; }
  .specs__media img { aspect-ratio: 16 / 9; }
  .specs__body { grid-column: 1 / 13; margin-top: var(--space-block); }
  .specs__title { margin-bottom: var(--space-element); }

  .two__map { grid-column: 1 / 13; max-width: 380px; }
  .two__text { grid-column: 1 / 13; margin-top: var(--space-block); }
  .two__belief { font-size: 28px; max-width: none; }
}

/* ══════════════════════════════════════════════════════════════
   МОБИЛЬНЫЙ ≤ 767
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  .approach__title { font-size: 28px; }
  /* цепочка на мобиле — вертикальный таймлайн (2026-08-31, по замечанию пользователя):
     линия слева, точки на ней по центру иконки, контент с отступом 28px; линия — отрезками от точки к точке */
  .chain { grid-template-columns: 1fr; row-gap: 0; border-top: 0; padding-left: 28px; }
  .chain__step { padding: 0 0 36px; }
  .chain__step:last-child { padding-bottom: 0; }
  .chain__step::before { top: 20px; left: -28px; }
  .chain__step::after { content: ""; position: absolute; left: -25px; top: 24px; bottom: -24px; width: 1px; background: rgba(14, 32, 61, .25); }
  .chain__step:last-child::after { display: none; }
  .reason__accent { font-size: 20px; }
  .punch__on { font-size: 26px; }
  .prow { gap: 16px; padding: 18px 0; }
  .prow__ico { width: 32px; height: 32px; }
  .prow__t { font-size: 18px; }
  .prow:hover .prow__t { transform: none; }
  .ticker__line span { font-size: 19px; }
  .spec { padding: 14px 0; flex-direction: column; align-items: flex-start; gap: 4px; }
  .spec dd { font-size: 17px; text-align: left; }
  .two__belief { font-size: 24px; }
  .two__pair li { font-size: 16px; }
}

/* ===== page-kelda.css ===== */
/* ══════════════════════════════════════════════════════════════
   Kelda — страница суббренда (вариант B).
   Идентика Kelda из деки клиента «Kelda_Logo Concepts_Duck Design (Revised)»:
   палитра Ink Black / Ember / Oat Sand / Paper Cream / Pure White, шрифты Figtree (текст) + Playball (акцентная строка), логотип-леттеринг.
   Каркас сайта (хедер, футер, сетка, кнопки) — из main.css.
   ══════════════════════════════════════════════════════════════ */

.page-id-829 {
  /* Kelda Globals → в Elementor завести отдельными Global Colors */
  --k-white:  #FFFFFF;   /* Pure White   (Primary)   */
  --k-ink:    #151314;   /* Ink Black    (Primary)   */
  --k-ember:  #E05C38;   /* Ember        (Primary)   */
  --k-oat:    #D6C7A5;   /* Oat Sand     (Secondary) */
  --k-cream:  #FDFDF6;   /* Paper Cream  (Secondary) */
  --k-ink-72: rgba(21, 19, 20, .72);
  --k-ink-55: rgba(21, 19, 20, .55);
  --k-hair:   rgba(21, 19, 20, .18);
  --k-hair-l: rgba(255, 255, 255, .2);
  --font-k:   'Figtree', 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-k-script: 'Playball', 'Mozilla Text', serif;

  background: var(--k-cream);
  color: var(--k-ink);
  font-family: var(--font-k);
  /* премиум-ритм Kelda: секциям больше воздуха, чем на trade-страницах */
  --space-section: 140px;
}
@media (max-width: 1024px) { .page-id-829 { --space-section: 96px; } }
@media (max-width: 767px)  { .page-id-829 { --space-section: 64px; } }
.page-id-829 h1, .page-id-829 h2, .page-id-829 h3, .page-id-829 h4 { font-family: var(--font-k); font-weight: 500; letter-spacing: -0.02em; }
.page-id-829 .lead { font-size: 18px; line-height: 1.5; }
/* Футер на Kelda: каркас и шрифты NSS, но цвета — фирменные Kelda:
   Ink Black фон, страны Ember, полоса паттерна — геометрия A («Гребень» P1), линии белые (assets/pattern-p1-white.svg, плитка 40×14). */
.page-id-829 .site-footer { font-family: var(--font-text); background: var(--k-ink); }
.page-id-829 .site-header.is-solid { background: var(--k-ink); }
.page-id-829 .foot-label { color: var(--k-ember); }
.page-id-829 .foot-pattern { background-image: url("https://www.norseafood.com/wp-content/uploads/2026/08/pattern-p1-white.svg"); background-size: 40px 14px; opacity: 1; }

/* ─── 1. Hero — «Кинокадр» в стиле Kelda ────────────────────── */
.k-hero { position: relative; height: 100vh; min-height: 680px; overflow: hidden; display: flex; flex-direction: column; background: var(--k-ink); color: var(--k-white); }
.k-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 2.4s cubic-bezier(.22, 1, .36, 1); }
.is-ready .k-hero__img { transform: none; }
.k-hero__veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(21,19,20,.55) 0%, rgba(21,19,20,.18) 40%, rgba(21,19,20,.88) 100%); }
.k-hero__body { position: relative; z-index: 1; margin-top: auto; width: 100%; padding-bottom: 72px; }
.k-hero__mark { grid-column: 1 / 6; color: var(--k-white); }
.k-hero__mark svg { width: 100%; max-width: 300px; height: auto; display: block; }
.k-hero__text { grid-column: 7 / 13; align-self: end; }
.k-hero__text h1 { font-size: 52px; line-height: 1.1; font-weight: 500; max-width: none; } /* перенос задан <br> после «Pure by Nature.» */
.k-hero__text .lead { margin-top: 20px; max-width: 42ch; color: rgba(255,255,255,.82); }
.k-hero__actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; }
.js .k-hero__body > * { opacity: 0; transform: translateY(20px); transition: opacity .8s ease .3s, transform 1s cubic-bezier(.22, 1, .36, 1) .3s; }
.is-ready .k-hero__body > * { opacity: 1; transform: none; }
.is-ready .k-hero__body > *:nth-child(2) { transition-delay: .42s; }

/* кнопки Kelda: заливка Ember и контурная со стрелкой */
.btn-k { display: inline-block; padding: 15px 30px; background: var(--k-ember); color: var(--k-white); font: 500 14px var(--font-k); text-decoration: none; transition: background .3s ease; }
.btn-k:focus-visible { background: var(--k-ink); }
@media (hover: hover) { .btn-k:hover { background: var(--k-ink); } }
.link-k { display: inline-flex; align-items: center; gap: 14px; font: 500 14px var(--font-k); color: inherit; text-decoration: none; transition: transform .35s cubic-bezier(.22, 1, .36, 1); }
.link-k__box { width: 32px; height: 32px; flex: none; border: 1px solid currentColor; display: inline-flex; align-items: center; justify-content: center; transition: background .35s ease, color .35s ease; }
.link-k__box svg { width: 16px; height: 16px; }
@media (hover: hover) { .link-k:hover { transform: translateX(4px); } }
@media (hover: hover) { .link-k:hover .link-k__box { background: var(--k-ember); border-color: var(--k-ember); color: var(--k-white); } }

/* ─── 2. Why Kelda — «Журнал»: пул-квот + три колонки ─────────── */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.k-quote { padding: 88px 0 var(--space-section); background: var(--k-cream); }
/* max-width подобран замером (2026-08-25): строка «…the sustainable» = 995px, «…sustainable way» = 1112px при 64px → 1040px даёт перенос после «sustainable» */
.k-quote__text { grid-column: 1 / 12; margin: 0; border: 0; max-width: 1040px; font-family: var(--font-k-script); font-weight: 400; font-size: 64px; line-height: 1.2; color: var(--k-ember); }
.k-cols { grid-column: 1 / 13; margin-top: var(--space-block); display: grid; grid-template-columns: repeat(3, 1fr); column-gap: var(--col-gap); border-top: 1px solid var(--k-hair); }
.k-col { padding-top: 28px; }
.k-col__tag { display: block; font: 500 14px var(--font-k); color: var(--k-ember); }
.k-col h3 { margin-top: 12px; font-size: 24px; }
.k-col p { margin-top: 12px; color: var(--k-ink-72); }

/* ─── 3. Growth — фото-сплит на Oat Sand ─────────────────────── */
.k-growth { background: var(--k-oat); }
/* Сплит режется не пополам, а по сетке: фото до линии 7 минус gap, текст начинается ровно на линии 7 (как правые колонки всех секций).
   100% = ширина секции; формула та же, что у сплита брендов на главной. */
.k-growth__wrap {
  display: grid;
  --edge: calc(max(0px, (100% - var(--content-width)) / 2) + var(--gutter));
  --col: calc((min(100%, var(--content-width)) - 2 * var(--gutter) - 11 * var(--col-gap)) / 12);
  grid-template-columns: calc(var(--edge) + 6 * var(--col) + 5 * var(--col-gap)) 1fr;
}
.k-growth__photo { position: relative; margin: 0; min-height: 640px; }
.k-growth__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* правый край текста — линия сетки (100% = ширина половины), от шва — 64px */
.k-growth__body { padding: var(--space-section) calc(max(0px, 100% - var(--content-width) / 2) + var(--gutter)) var(--space-section) var(--col-gap); }
.k-growth__body h2 { font-size: 48px; line-height: 1.1; max-width: 10ch; }
.k-growth__body > p { margin-top: 18px; max-width: 40ch; color: var(--k-ink-72); }
.k-rows { margin-top: var(--space-block); border-top: 1px solid rgba(21, 19, 20, .25); }
.k-row { padding: 22px 0; border-bottom: 1px solid rgba(21, 19, 20, .25); display: grid; grid-template-columns: 110px 1fr; column-gap: 20px; }
.k-row__tag { font: 500 14px var(--font-k); color: var(--k-ember); padding-top: 6px; }
.k-row strong { display: block; font-size: 24px; font-weight: 500; letter-spacing: -0.02em; }
.k-row p { margin-top: 6px; color: var(--k-ink-72); }

/* ─── 4. Origin — кинополоса Норвегии ───────────────────────── */
.k-cine { position: relative; height: 86vh; min-height: 560px; overflow: hidden; display: flex; align-items: flex-end; background: var(--k-ink); color: var(--k-white); }
.k-cine__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(calc(1.08 - var(--p, 0) * .08)); }
.k-cine__veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(21,19,20,.15) 30%, rgba(21,19,20,.85) 100%); }
.k-cine__body { position: relative; z-index: 1; width: 100%; padding-bottom: 72px; opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform 1s cubic-bezier(.22, 1, .36, 1); }
.k-cine__body.is-in { opacity: 1; transform: none; }
.k-cine__body h2 { grid-column: 1 / 7; font-size: 48px; line-height: 1.08; max-width: 16ch; }
.k-cine__body .lead { grid-column: 1 / 7; margin-top: 20px; color: rgba(255,255,255,.9); }
.k-cine__body > p:not(.lead) { grid-column: 7 / 13; align-self: end; max-width: 44ch; color: rgba(255,255,255,.78); }

/* ─── 5. Table — три сюжета с фото ──────────────────────────── */
.k-table { padding-block: var(--space-section); background: var(--k-cream); }
.k-table__head { grid-column: 1 / 7; } /* 6 колонок: «Shared Around Your Table» = 559px, в 5 колонках (553) срывалась «Table» */
.k-table__head h2 { font-size: 48px; line-height: 1.1; max-width: none; } /* перенос задан <br> */
.k-table__note { grid-column: 7 / 13; align-self: end; color: var(--k-ink-72); }
.k-moments { grid-column: 1 / 13; margin: var(--space-block) 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: var(--col-gap); }
.k-moment { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .8s cubic-bezier(.22, 1, .36, 1); }
.k-moment.is-in { opacity: 1; transform: none; }
.k-moment:nth-child(2) { transition-delay: .08s; } .k-moment:nth-child(3) { transition-delay: .16s; }
.k-moment figure { margin: 0; overflow: hidden; }
.k-moment img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; transition: transform 1.2s cubic-bezier(.22, 1, .36, 1); }
@media (hover: hover) { .k-moment:hover img { transform: scale(1.04); } }
.k-moment h3 { margin-top: 26px; font-size: 24px; }
.k-moment p { margin-top: 12px; color: var(--k-ink-72); }

/* ─── 6. Future — «Горизонт»: панорама + клейм поверх ───────── */
.k-future { position: relative; min-height: 82vh; overflow: hidden; display: flex; align-items: flex-end; background: var(--k-ink); color: var(--k-white); }
.k-future__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.k-future__veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(21,19,20,.55) 0%, rgba(21,19,20,.1) 45%, rgba(21,19,20,.78) 100%); }
.k-future__body { position: relative; z-index: 1; width: 100%; padding-bottom: 72px; }
.k-future__tag { grid-column: 1 / 13; font: 500 14px var(--font-k); color: rgba(255,255,255,.65); }
.k-future__body h2 { grid-column: 1 / 7; margin-top: 14px; font-size: 64px; line-height: 1.06; letter-spacing: -0.02em; max-width: 15ch; }
.k-future__body h2 em { font-style: normal; color: var(--k-ember); }
.k-future__side { grid-column: 7 / 13; align-self: end; }
.k-future__side .lead { color: rgba(255,255,255,.9); }
.k-future__side p:not(.lead) { margin-top: 12px; color: rgba(255,255,255,.75); }
.k-future__side .link-k { margin-top: 24px; }

/* ─── 7. Контакт в палитре Kelda ────────────────────────────── */
.page-id-829 .section--contact { background: var(--k-cream); color: var(--k-ink); }
.page-id-829 .section--contact .btn { background: var(--k-ember); color: var(--k-white); font-family: var(--font-k); }
@media (hover: hover) { .page-id-829 .section--contact .btn:hover { background: var(--k-ink); } }
.page-id-829 .field input, .page-id-829 .field textarea { border-color: var(--k-hair); }
.page-id-829 .field span { color: var(--k-ink-55); }

@media (prefers-reduced-motion: reduce) {
  .k-hero__img, .k-cine__img, .k-moment img, .js .k-hero__body > * { transition: none; transform: none; opacity: 1; }
}

/* ══════════════════ ТАБЛЕТ ≤ 1024 ══════════════════ */
@media (max-width: 1024px) {
  .k-hero__mark { grid-column: 1 / 13; }
  .k-hero__mark svg { max-width: 200px; }
  .k-hero__text { grid-column: 1 / 13; margin-top: 28px; }
  .k-hero__text h1 { font-size: 34px; }

  .k-quote { padding-top: 64px; }
  .k-quote__text { grid-column: 1 / 13; font-size: 40px; max-width: none; }
  .k-cols { grid-template-columns: 1fr; row-gap: 8px; }
  .k-col { padding-top: 24px; border-top: 1px solid var(--k-hair); }
  .k-col:first-child { border-top: 0; }

  .k-growth__wrap { grid-template-columns: 1fr; }
  .k-growth__body { padding-left: var(--gutter); }
  .k-growth__photo { min-height: 60vw; }
  .k-growth__body { padding: var(--space-section) var(--gutter); }
  .k-growth__body h2 { font-size: 32px; }

  .k-cine { height: auto; min-height: 60vh; }
  .k-cine__body { padding-top: 34vh; }
  .k-cine__body h2 { font-size: 32px; }
  .k-cine__body h2, .k-cine__body .lead, .k-cine__body > p:not(.lead) { grid-column: 1 / 13; }
  .k-cine__body > p:not(.lead) { margin-top: 16px; }

  .k-table__head, .k-table__note { grid-column: 1 / 13; }
  .k-table__head h2 { font-size: 32px; }
  .k-table__note { margin-top: var(--space-element); }
  .k-moments { grid-template-columns: 1fr 1fr; row-gap: var(--space-block); }

  .k-future { min-height: 64vh; }
  .k-future__body h2 { grid-column: 1 / 13; font-size: 40px; }
  .k-future__side { grid-column: 1 / 13; margin-top: 24px; }
}

/* ══════════════════ МОБИЛЬНЫЙ ≤ 767 ══════════════════ */
@media (max-width: 767px) {
  .k-hero { min-height: 620px; }
  .k-hero__body { padding-bottom: 48px; }
  .k-hero__mark svg { max-width: 150px; }
  .k-hero__text h1 { font-size: 27px; }
  .k-growth__body h2, .k-table__head h2 { font-size: 26px; }
  .k-future__body h2 { font-size: 30px; }
  .k-future__body { padding-bottom: 48px; }
  .k-quote { padding-top: 48px; }
  .k-quote__text { font-size: 30px; }
  .k-row { grid-template-columns: 1fr; row-gap: 4px; }
  .k-row strong { font-size: 20px; }
  .k-moments { grid-template-columns: 1fr; }
  .k-cine__body h2 { font-size: 26px; }
}

/* ===== adapter.css ===== */
/* ══════════════════════════════════════════════════════════════
   NSS adapter — сшивает CSS эталона (tokens/main/page-*) с обёртками
   Elementor: контейнеры .e-con и виджеты .elementor-widget несут те же
   классы, что элементы эталона (tools/h2e_dom.py). Правила ниже:
   (1) гасят дефолты Elementor — в том числе дефолты виджетов, которые
       Elementor печатает в CSS страницы ПОСЛЕ кита (Roboto, --e-global-color-*), поэтому специфичность здесь выше их (префикс .e-con / тег+класс);
   (2) переносят селекторы эталона, метившие теги/прямых детей, на обёртки.
   ══════════════════════════════════════════════════════════════ */

/* 1. Контейнеры */
.e-con { --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0; --margin-top: 0; --margin-bottom: 0; --gap: 0; --row-gap: 0; --column-gap: 0; --align-items: stretch; --min-height: 0; }
.e-con.e-parent { --width: 100% !important; --container-max-width: 100% !important; width: 100% !important; max-width: none !important; }
/* Elementor переопределяет токен эталона --content-width на каждом .e-con как min(100%, container-max-width):
   ломает calc() сетки в .k-growth__body, .half (--pad-edge), .why__card (--edge/--col). Возвращаем константу. */
.e-con { --content-width: 1760px; }
.elementor-widget:not(:last-child) { margin-block-end: 0; }
.elementor-widget-html { line-height: 0; }

/* 1a. Дефолты виджетов (Roboto / --e-global-color-*) Elementor печатал в CSS страницы ПОСЛЕ кита.
   Отключено на уровне сайта: Elementor → Settings → General → Disable Default Colors + Disable Default Fonts
   (2026-08-27). Ничего в CSS для этого не нужно — CSS эталона работает как в браузере. */
.elementor-widget-heading .elementor-heading-title { margin: 0; }
.e-con .elementor-widget-text-editor p { margin: 0; }
.e-con .elementor-widget-text-editor p + p { margin-top: 1em; }
.e-con .elementor-widget-image { text-align: left; }
.e-con .elementor-widget-image img { display: block; vertical-align: top; }
.e-con .elementor-widget-image a img[src$=".svg"] { width: auto; }   /* Elementor жмёт SVG в ссылке до 48px */
/* логотипы в ссылке: <a> inline даёт лишнюю строку (+5.6px) и дробную высоту ряда хедера/футера — линии бургера 1px размывались */
.e-con .elementor-widget.site-header__logo a, .e-con .elementor-widget.foot-logo a { display: block; line-height: 0; }
.e-con .elementor-widget-icon-list .elementor-icon-list-text { transition: none; }

/* 1b. Тема Hello Elementor (theme.css / header-footer.css) тоже стилизует .site-header / .site-footer, причём селекторами
   `.site-header:not(.dynamic-header)` (0,2,0) и грузится ПОСЛЕ кита — поэтому здесь (0,3,0): .e-con.e-parent.site-* */
.e-con.e-parent.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 5; color: var(--color-white); background: none; padding-block: 44px 22px; padding-inline: 0; }
.e-con.e-parent.site-footer { background: var(--color-navy); color: var(--color-white); padding: 120px 0 0; }
.page-id-829 .e-con.e-parent.site-footer { background: var(--k-ink); }
/* закреплённый хедер (#B7): состояния из main.css, но с (0,4,0) — иначе §1b перебивает */
.e-con.e-parent.site-header.is-solid { background: var(--color-navy); padding-block: 14px; }
/* Юр-страница: hero нет, фон porcelain — хедер плотный сразу, иначе белый логотип и меню
   не видны. В main.css правило `.page-id-3 .site-header` (0,2,0) проигрывает строке 34 (0,3,0). */
body.page-id-3 .e-con.e-parent.site-header { background: var(--color-navy); padding-block: 14px; }
.page-id-829 .e-con.e-parent.site-header.is-solid { background: var(--k-ink); }
.e-con.e-parent.site-header.is-hidden { transform: translateY(-100%); }
.e-con.e-parent.site-header.is-open { transform: none; }
body.admin-bar .e-con.e-parent.site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .e-con.e-parent.site-header { top: 46px; } }
/* фокус: только с клавиатуры (:focus-visible) — тонкая линия эталона; после клика/тапа рамок нет */
.e-con .elementor-widget-button .elementor-button:focus:not(:focus-visible), .e-con .elementor-icon-list-item > a:focus:not(:focus-visible), .site-header__logo a:focus:not(:focus-visible) { outline: none; box-shadow: none; }
.e-con .elementor-widget-button .elementor-button:focus-visible, .e-con .site-nav .elementor-icon-list-item > a:focus-visible, .e-con .foot-nav .elementor-icon-list-item > a:focus-visible, .site-header__logo a:focus-visible { outline: 1px solid var(--color-blue); outline-offset: 4px; }
.page-id-829 .e-con .elementor-widget-button .elementor-button:focus-visible { outline-color: var(--k-ember); }
@media (max-width: 1024px) { .e-con.e-parent.site-header { padding-top: 32px; } .e-con.e-parent.site-header.is-solid { padding-block: 12px; } .e-con.e-parent.site-footer { padding-top: 96px; } }
@media (max-width: 767px) { .e-con.e-parent.site-header { padding-block: 20px 16px; } .e-con.e-parent.site-header.is-solid { padding-block: 12px; } .e-con.e-parent.site-footer { padding-top: 64px; } .e-con.e-parent.site-header.is-open { background: var(--color-navy); } }

/* 2. Каркас эталона на контейнерах */
.e-con.container { width: 100%; max-width: var(--content-width); margin-inline: auto; padding-inline: var(--gutter); }
.e-con.grid { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--col-gap); --display: grid; }
/* max-width здесь НЕ трогаем: эталон ограничивает ширину колонок классами на этих же элементах
   (.anchor__note 52ch, .hero__lead 36ch, .k-quote__text 1040px, .reason__body 58ch …) */
.e-con.grid > .elementor-widget { width: auto; --container-widget-width: auto; }
.e-con.grid > .e-con { --width: auto; width: auto; --container-max-width: 100%; }
/* пустые контейнеры-иконки (mask) — размеры из эталона, а не ширина грид-ячейки */
.e-con.ledger__icon, .e-con.grid > .e-con.ledger__icon { width: 56px; height: 56px; }
.e-con.chain__ico, .e-con.grid > .e-con.chain__ico { width: 48px; height: 48px; }
.e-con.prow__ico, .e-con.grid > .e-con.prow__ico { width: 40px; height: 40px; }
.e-con.two__map, .e-con.grid > .e-con.two__map { width: 100%; max-width: 560px; }
.e-con.grid > .e-con.why__card { width: calc(var(--edge) + 5 * var(--col) + 4 * var(--col-gap) + 40px); }

/* 3. Абсолютные фото: обёртке — position из CSS эталона; картинке — заполнить */
.e-con > .elementor-widget.hero__img, .e-con > .elementor-widget.cine__img, .e-con > .elementor-widget.half__bg, .e-con > .elementor-widget.why__img, .e-con > .elementor-widget.k-hero__img, .e-con > .elementor-widget.k-cine__img, .e-con > .elementor-widget.k-future__img { position: absolute; inset: 0; width: 100%; height: 100%; }
.elementor-widget.hero__img img, .elementor-widget.cine__img img, .elementor-widget.half__bg img, .elementor-widget.why__img img, .elementor-widget.k-hero__img img, .elementor-widget.k-cine__img img, .elementor-widget.k-future__img img
{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.k-growth__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.e-con > .elementor-widget.why__img { transform: none; }

/* 4. Селекторы эталона по тегам → по классам обёрток (grid-column/margin у ТЕГА не работает: ребёнок грида — обёртка) */
.hero__body > .elementor-widget-heading { grid-column: 1 / 9; }
.hero__body > .elementor-widget-heading h1 { max-width: 16ch !important; }
.hero__lead { grid-column: 9 / 13; align-self: end; }
.cine__body > .elementor-widget-heading { grid-column: 1 / 7; }
.cine__body > .elementor-widget-heading h2 { max-width: 14ch !important; }
.cine__body > .lead { grid-column: 1 / 7; margin-top: 24px; }
.cine__body > .elementor-widget-text-editor:not(.lead) { grid-column: 7 / 13; align-self: end; max-width: 46ch !important; color: rgba(255,255,255,.78); }
.k-cine__body > .elementor-widget-heading { grid-column: 1 / 7; }
.k-cine__body > .elementor-widget-heading h2 { max-width: 16ch !important; }
.k-cine__body > .lead { grid-column: 1 / 7; margin-top: 20px; }
.k-cine__body > .elementor-widget-text-editor:not(.lead) { grid-column: 7 / 13; align-self: end; max-width: 44ch !important; color: rgba(255,255,255,.78); }
.k-future__body > .elementor-widget-heading { grid-column: 1 / 7; margin-top: 14px; }
.k-future__body > .elementor-widget-heading h2 { max-width: 15ch !important; }
.k-hero__mark img { width: 100%; max-width: 300px; height: auto; }
.k-hero__text > .lead { margin-top: 20px; max-width: 42ch !important; }
.cine__body > .lead { max-width: 40ch !important; }
.k-row .as-strong { display: block; font-size: 24px; font-weight: 500; letter-spacing: -0.02em; }
.k-col > .elementor-widget-heading { margin-top: 12px; }
.k-col > .elementor-widget-text-editor:not(.k-col__tag) { margin-top: 12px; }
.k-growth__body > .elementor-widget-text-editor { margin-top: 18px; max-width: 40ch !important; color: var(--k-ink-72); }
.k-moment > .elementor-widget-image { overflow: hidden; }
.k-moment > .elementor-widget-heading { margin-top: 26px; }
.k-moment > .elementor-widget-text-editor { margin-top: 12px; }
.k-future__side > .elementor-widget-text-editor:not(.lead) { margin-top: 12px; }
.k-future__side > .link-k { margin-top: 24px; }
.contact__head > .lead { margin-top: 20px; }
.contact__head > .elementor-widget-text-editor:not(.lead) { margin-top: 12px; max-width: 46ch !important; }
.foot-brand > .foot-claim { margin-top: 24px; }
.foot-office > .foot-addr { margin-top: 12px; }
/* margin-bottom на обёртках виджетов: Elementor задаёт `.elementor-widget:not(:last-child){margin-block-end}` (0,2,0)
   и перебивает классы эталона (0,1,0) — повторяем их с большей специфичностью */
.e-con > .elementor-widget.anchor__title { grid-column: 1 / 6; margin-bottom: var(--space-block); }
.e-con > .elementor-widget.anchor__note { margin-bottom: var(--space-block); }
.e-con > .elementor-widget.specs__title { margin-bottom: var(--space-block); }
.e-con > .elementor-widget.half__role { margin-bottom: 14px; }
.e-con > .elementor-widget.approach__note, .e-con > .elementor-widget.prods__head { margin-bottom: 0; }
@media (max-width: 1024px) { .e-con > .elementor-widget.anchor__title { margin-bottom: var(--space-element); } }
.people__text > .elementor-widget-heading h2 { max-width: 14ch !important; }
.why__card > .lead { margin-top: 20px; }
.why__card > .elementor-widget-text-editor:not(.lead) { margin-top: 20px; max-width: 46ch !important; }
.half__body > .elementor-widget-text-editor { margin-top: 18px; }
.half__body > .half__focus { margin-top: 12px; }
/* логотипы брендов: высота 40/96 из эталона стоит на обёртке виджета — картинка должна её заполнять, а не max-width:100% */
.elementor-widget.half__logo { width: auto; }
.elementor-widget.half__logo img { height: 100%; width: auto; max-width: none; display: block; }
.half__body > .link-sq { margin-top: 26px; }
.approach__title { grid-column: 1 / 6; }
.approach__note { grid-column: 7 / 13; align-self: end; }
.reason__head > .elementor-widget-heading h2 { max-width: 14ch !important; }
.reason__body > .elementor-element + .elementor-element:not(.reason__accent) { margin-top: var(--space-element); }
/* акцентная строка эталона: свой отступ 48px + линия сверху, и 48px до следующего абзаца */
.reason__body > .reason__accent { margin-top: var(--space-block); padding-top: var(--space-element); border-top: 1px solid rgba(14, 32, 61, .18); }
.e-con .reason__body > .reason__accent + .elementor-element { margin-top: var(--space-block); }   /* (0,4,0): иначе правило соседей с :not() перебивает */
.partner__body > .elementor-element + .elementor-element { margin-top: var(--space-element); }
.prods__head > .elementor-widget-heading { margin-bottom: var(--space-element); }
.prods__head > .elementor-widget-text-editor + .elementor-widget-text-editor { margin-top: 18px; }
.two__text > .two__intro { margin-top: var(--space-element); }
.two__text > .two__belief { margin-top: 12px; }
.two__text > .two__end { margin-top: var(--space-element); }
.e-con.two__map { display: block; }
.specs__body > .specs__title { margin-bottom: var(--space-block); }
.specs__body > .specs__cta { margin-top: var(--space-block); }
/* заливка строки при наведении: Elementor задаёт .e-con::before{width:100%;height:100%;top:0;left:0} (для своих оверлеев), это ломает inset эталона (0 −gutter) — возвращаем растяжение по inset */
.e-con.ledger__row::before, .e-con.prow::before { width: auto; height: auto; top: 0; bottom: 0; left: calc(-1 * var(--gutter)); right: calc(-1 * var(--gutter)); z-index: 0; }
.e-con.ledger__row > .elementor-element, .e-con.prow > .elementor-element { position: relative; z-index: 1; }
.ledger__row > .ledger__n { grid-column: 1 / 2; }
.ledger__row > .ledger__icon { grid-column: 2 / 3; }
.ledger__row > .ledger__name { grid-column: 3 / 6; }
.ledger__row > .ledger__line { grid-column: 6 / 13; }
.e-con.ledger__icon, .e-con.chain__ico, .e-con.prow__ico { display: block; }
.prow > .prow__n, .prow > .prow__ico, .prow > .prow__t { width: auto; }
.chain__step > .chain__ico { display: block; }
.spec { flex-direction: row; }
.spec > .elementor-widget { width: auto; }
.e-con.spec { --gap: 24px; --column-gap: 24px; --row-gap: 24px; gap: 24px; }   /* gap эталона (0,1,0) проигрывает gap-переменной Elementor — подпись слипалась со значением */
.punch__on { grid-column: 1 / 11; }
.punch__off { grid-column: 1 / 13; }
.quote > .elementor-widget-text-editor { margin: 0; }
.people__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
/* ленивые фото (loading=lazy): до загрузки обёртка image-виджета имеет высоту 0 и секция «прыгает» при скролле —
   резервируем место пропорцией на обёртке (в эталоне пропорция стоит на <img>) */
.people__media > .elementor-widget-image, .k-moment > .elementor-widget-image { width: 100%; aspect-ratio: 4 / 5; }
.people__media > .elementor-widget-image img, .k-moment > .elementor-widget-image img { height: 100%; }
.why__stage > .why__card { position: absolute; }

/* 4a. Контейнеры, которые в эталоне — flex-РЯДЫ: Elementor задаёт flex-direction:column через --flex-direction */
.e-con.hero__actions, .e-con.k-hero__actions, .e-con.prow, .e-con.spec, .e-con.ticker, .e-con.ticker__line, .e-con.why__meta, .e-con.site-nav, .e-con.foot-row--nav, .e-con.k-row__body { --flex-direction: row; flex-direction: row; }
/* секции с `display:flex; align-items:flex-end` в эталоне (ряд по умолчанию) — контент прижат к низу кадра */
.e-con.cine, .e-con.k-cine, .e-con.k-future, .e-con.half { --flex-direction: row; flex-direction: row; --align-items: flex-end; align-items: flex-end; }
.e-con.cine > .cine__body, .e-con.k-cine > .k-cine__body, .e-con.k-future > .k-future__body { width: 100%; }
.e-con.half { --justify-content: flex-start; justify-content: flex-start; }
.e-con.half > .half__body { width: 30rem; max-width: 100%; }
/* пауза 50vh между кинополосами — в main.css эталона (перенесено 2026-08-28) */
.e-con.hero__actions { flex-wrap: wrap; align-items: center; gap: 16px 32px; }
.e-con.k-hero__actions { flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.e-con.hero__actions > .elementor-widget, .e-con.k-hero__actions > .elementor-widget { width: auto; }
/* бегущая строка: пункты — text-editor вместо <span> */
.e-con.ticker__line { --width: auto; width: auto; max-width: none; flex: none; gap: 56px; padding-right: 56px; }   /* Elementor даёт контейнеру --width:100% → строка сжимается до ширины экрана и слова наезжают */
.ticker__line > .elementor-widget { flex: none; min-width: max-content; }
.ticker__line > .elementor-widget { display: flex; align-items: center; gap: 56px; width: auto; font-family: var(--font-display); font-weight: 300; font-size: 26px; white-space: nowrap; }
.ticker__line > .elementor-widget::after { content: ""; width: 6px; height: 6px; flex: none; background: var(--color-blue); border-radius: 50%; }
/* спецификации: dt/dd → text-editor с классами as-dt/as-dd */
.spec > .as-dt { width: auto; flex: none; font-family: var(--font-text); font-size: 13px; font-weight: 500; color: var(--navy-65); }
.spec > .as-dd { width: auto; font-family: var(--font-display); font-weight: 500; font-size: 20px; line-height: 1.25; text-align: right; }
/* строки продуктов: номер/иконка/название в ряд */
.prow > .prow__n { width: 24px; flex: none; }
.prow > .prow__t { width: auto; }
.prow > .e-con.prow__ico { width: 40px; height: 40px; flex: none; }
/* пары «Norway / India» — li → text-editor as-li */
.two__pair > .as-li { padding: 16px 0; border-top: 1px solid var(--hairline-on-navy); font-size: 18px; }
.two__pair > .as-li:last-child { border-bottom: 1px solid var(--hairline-on-navy); }
/* цитата: cite внутри text-editor */
.quote cite { display: block; margin-top: 22px; font-family: var(--font-text); font-size: 13px; font-style: normal; font-weight: 500; }
.why__meta > .elementor-widget { width: auto; }

/* 5. Навигация (Icon List) */
.site-nav .elementor-icon-list-items, .foot-nav .elementor-icon-list-items { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 0; list-style: none; }
.site-nav--brands .elementor-icon-list-items { gap: 40px; }
.foot-nav .elementor-icon-list-items { gap: 16px 32px; }
.site-nav .elementor-icon-list-item, .foot-nav .elementor-icon-list-item { margin: 0; padding: 0; }
.site-nav .elementor-icon-list-icon, .foot-nav .elementor-icon-list-icon { display: none; }
.site-nav .elementor-icon-list-item > a, .foot-nav .elementor-icon-list-item > a { display: inline-block; }
.site-nav--util { display: flex; align-items: center; justify-content: flex-end; gap: 36px; flex-direction: row; }
.site-nav--util > .elementor-widget { width: auto; }
.e-con.site-nav--brands, .e-con.site-nav--util { flex-direction: row; }
.site-nav .btn-split a { background-image: none; padding-bottom: 0; }
.e-con.e-parent.site-header { position: fixed; }
.e-con .foot-nav .elementor-icon-list-item > a { font-size: 14px; font-weight: 500; text-decoration: none; color: var(--color-white); padding-bottom: 4px;
  background-image: linear-gradient(var(--color-blue), var(--color-blue)); background-repeat: no-repeat; background-size: 0 1px; background-position: 0 100%; transition: background-size .45s cubic-bezier(.22, 1, .36, 1); }
@media (hover: hover) { .foot-nav .elementor-icon-list-item > a:hover { background-size: 100% 1px; } }

/* 6. Кнопки: класс стоит на обёртке виджета; стили эталона переносим на <a>.
      Дефолты Elementor `.elementor-widget-button .elementor-button` (0,2,0) печатаются после кита — здесь (0,3,0). */
.e-con .elementor-widget-button.btn, .e-con .elementor-widget-button.btn-k, .e-con .elementor-widget-button.btn-split, .e-con .elementor-widget-button.link-k, .e-con .elementor-widget-button.link-sq, .e-con .elementor-widget-button.foot-in
{ display: block; width: auto; padding: 0; background: none; border: 0; transition: none; transform: none; color: inherit; font-size: inherit; }   /* margin НЕ сбрасываем: отступы кнопок эталона (.specs__cta, .half__body > .link-sq, .k-future__side > .link-k) — (0,2,0), сброс (0,3,0) их съедал */
.e-con .elementor-widget-button .elementor-button { border-radius: 0; box-shadow: none; text-decoration: none; }
.e-con .elementor-widget-button .elementor-button-content-wrapper { gap: 0; }
.e-con .elementor-widget-button.btn .elementor-button, .e-con .elementor-widget-button.btn-k .elementor-button
{ display: inline-block; padding: 15px 32px; background: var(--color-navy); color: var(--color-white); border: 0; font-family: var(--font-text); font-size: 14px; font-weight: 500; line-height: 1.55; transition: background .25s ease, color .25s ease; }
.e-con .elementor-widget-button.btn-k .elementor-button { padding: 15px 30px; background: var(--k-ember); font-family: var(--font-k); line-height: normal; }   /* в эталоне у .btn-k шорткат `font: 500 14px var(--font-k)` → интерлиньяж normal */
@media (hover: hover) { .e-con .elementor-widget-button.btn .elementor-button:hover { background: var(--color-brown); } }
@media (hover: hover) { .e-con .elementor-widget-button.btn-k .elementor-button:hover { background: var(--k-ink); } }
.e-con .elementor-widget-button.btn--light .elementor-button { background: var(--color-white); color: var(--color-navy); }
@media (hover: hover) { .e-con .elementor-widget-button.btn--light .elementor-button:hover { background: var(--color-blue); color: var(--color-navy); } }
/* split: контур + ячейка-стрелка справа */
.e-con .elementor-widget-button.btn-split .elementor-button { display: inline-flex; align-items: stretch; padding: 0; background: none; border: 1px solid currentColor; color: inherit; font-family: var(--font-text); font-size: 14px; font-weight: 500; line-height: 1.55; }
.page-id-829 .e-con .elementor-widget-button.btn-split .elementor-button { font-family: var(--font-k); }
.e-con .elementor-widget-button.btn-split .elementor-button-content-wrapper { display: inline-flex; align-items: stretch; flex-direction: row; }
.e-con .elementor-widget-button.btn-split .elementor-button-text { padding: 13px 22px; line-height: 1.55; }   /* как body эталона: иначе кнопка на 4px ниже */
.site-header .elementor-widget-button.btn-split .elementor-button-text { padding: 10px 18px; white-space: nowrap; }
.e-con .elementor-widget-button.btn-split .elementor-button-icon { width: 46px; border-left: 1px solid currentColor; display: inline-flex; align-items: center; justify-content: center; transition: background .35s ease, color .35s ease; }
.site-header .elementor-widget-button.btn-split .elementor-button-icon { width: 40px; }
.e-con .elementor-widget-button.btn-split .elementor-button-icon svg { width: 18px; height: 18px; fill: currentColor; }
@media (hover: hover) { .e-con .elementor-widget-button.btn-split .elementor-button:hover .elementor-button-icon { background: var(--color-navy); color: var(--color-white); } }
@media (hover: hover) { .e-con .elementor-widget-button.btn-split--light .elementor-button:hover .elementor-button-icon { background: var(--color-white); color: var(--color-navy); } }
/* ссылка-квадрат */
.e-con .elementor-widget-button.link-sq .elementor-button, .e-con .elementor-widget-button.link-k .elementor-button
{ display: inline-flex; align-items: center; gap: 12px; padding: 0; background: none; border: 0; color: inherit; font-family: var(--font-text); font-size: 14px; font-weight: 500; line-height: 1.55; transition: transform .5s cubic-bezier(.22, 1, .36, 1); }
.e-con .elementor-widget-button.link-k .elementor-button { gap: 14px; line-height: normal; font-family: var(--font-k); transition: transform .35s cubic-bezier(.22, 1, .36, 1); }
.e-con .elementor-widget-button.link-sq .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 12px; column-gap: 12px; flex-direction: row; }
.e-con .elementor-widget-button.link-k .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 14px; column-gap: 14px; flex-direction: row; }
.e-con .elementor-widget-button.link-sq .elementor-button-icon, .e-con .elementor-widget-button.link-k .elementor-button-icon
{ width: 32px; height: 32px; border: 1px solid currentColor; display: inline-flex; align-items: center; justify-content: center; transition: background .35s ease, color .35s ease; }
.e-con .elementor-widget-button.link-sq .elementor-button-icon svg { width: 18px; height: 18px; fill: currentColor; }
.e-con .elementor-widget-button.link-k .elementor-button-icon svg { width: 16px; height: 16px; fill: currentColor; }
@media (hover: hover) { .e-con .elementor-widget-button.link-sq .elementor-button:hover, .e-con .elementor-widget-button.link-k .elementor-button:hover { transform: translateX(4px); } }
@media (hover: hover) { .e-con .elementor-widget-button.link-sq .elementor-button:hover .elementor-button-icon { background: var(--color-navy); color: var(--color-white); } }
@media (hover: hover) { .e-con .elementor-widget-button.link-sq--light .elementor-button:hover .elementor-button-icon { background: var(--color-white); color: var(--color-navy); } }
@media (hover: hover) { .e-con .elementor-widget-button.link-k .elementor-button:hover .elementor-button-icon { background: var(--k-ember); border-color: var(--k-ember); color: var(--k-white); } }
/* LinkedIn + Instagram в футере */
.e-con.grid > .e-con.foot-social { --flex-direction: row; flex-direction: row; --align-items: center; align-items: center; --gap: 28px; gap: 28px; justify-self: end; width: auto; }
.e-con.foot-social > .elementor-widget-button.foot-in { width: auto; justify-self: auto; }
.e-con .elementor-widget-button.foot-in { justify-self: end; }
.e-con .elementor-widget-button.foot-in .elementor-button { display: inline-flex; align-items: center; gap: 8px; padding: 0 0 4px; background: none; border: 0; color: var(--color-white); font-family: var(--font-text); font-size: 14px; font-weight: 500; line-height: 1.55;
  background-image: linear-gradient(var(--color-blue), var(--color-blue)); background-repeat: no-repeat; background-size: 0 1px; background-position: 0 100%; transition: background-size .45s cubic-bezier(.22, 1, .36, 1); }
@media (hover: hover) { .e-con .elementor-widget-button.foot-in .elementor-button:hover { background-size: 100% 1px; } }
.e-con .elementor-widget-button.foot-in .elementor-button-content-wrapper { gap: 8px; column-gap: 8px; }

/* 9. Редактор Elementor: абсолютные фото/вуали не должны перехватывать клики (иначе текст героя и кинополос
      не выбрать мышью — только через Structure), а контент, который эталон прячет до .is-ready/.is-in, — виден */
.elementor-editor-active .e-con > .elementor-widget.hero__img, .elementor-editor-active .e-con > .elementor-widget.k-hero__img, .elementor-editor-active .e-con > .elementor-widget.cine__img, .elementor-editor-active .e-con > .elementor-widget.k-cine__img, .elementor-editor-active .e-con > .elementor-widget.k-future__img, .elementor-editor-active .e-con > .elementor-widget.half__bg, .elementor-editor-active .e-con > .elementor-widget.why__img, .elementor-editor-active .e-con.hero__veil, .elementor-editor-active .e-con.k-hero__veil, .elementor-editor-active .e-con.cine__veil, .elementor-editor-active .e-con.k-cine__veil, .elementor-editor-active .e-con.k-future__veil, .elementor-editor-active .e-con.half__veil
{ pointer-events: none; }
.elementor-editor-active .hero__body > *, .elementor-editor-active .k-hero__body > *, .elementor-editor-active .cine__body, .elementor-editor-active .k-cine__body, .elementor-editor-active .k-moment, .elementor-editor-active .chain__step, .elementor-editor-active .prow, .elementor-editor-active .spec
{ opacity: 1 !important; transform: none !important; }
.elementor-editor-active .people__extra { grid-template-rows: 1fr; }   /* в редакторе история основателя всегда раскрыта */
.elementor-editor-active .why__track { height: auto; }
.elementor-editor-active .why__stage { position: relative; height: auto; overflow: visible; }
.elementor-editor-active .why__img { position: relative; height: 56vh; clip-path: none; transform: none; }
.elementor-editor-active .why__card { position: relative; width: auto; margin-top: var(--space-block); }
.e-con .elementor-widget-button.foot-in .elementor-button-icon svg { width: 18px; height: 18px; fill: currentColor; }
/* активный пункт бренда в хедере */
.page-id-829 .site-nav--brands a[href="/kelda/"], .page-id-703 .site-nav--brands a[href="/norseafood/"] { background-size: 100% 1px; }

/* 7. Форма (Elementor Form вместо .field/.form эталона) */
.e-con .elementor-widget-form.form { grid-column: 7 / 13; }
.e-con .elementor-widget-form .elementor-field-group { padding: 0; }
.e-con .elementor-widget-form .elementor-field-label { font-family: var(--font-text); font-size: 14px; font-weight: 500; letter-spacing: .03em; color: var(--navy-65); padding-bottom: 8px; }
.e-con .elementor-widget-form .elementor-field-textual { font-family: var(--font-text); font-size: 15px; font-weight: 300; color: var(--color-navy); background: transparent; border: 0; border-bottom: 1px solid var(--hairline); border-radius: 0; padding: 9px 0; box-shadow: none; transition: border-color .25s ease; }
.e-con .elementor-widget-form .elementor-field-textual:focus { outline: none; border-bottom-color: var(--color-blue); }
.e-con .elementor-widget-form .elementor-button { display: inline-block; width: auto; margin-top: 10px; padding: 15px 32px; background: var(--color-navy); color: var(--color-white); border: 0; border-radius: 0; font-family: var(--font-text); font-size: 14px; font-weight: 500; line-height: 1.55; transition: background .25s ease; }
@media (hover: hover) { .e-con .elementor-widget-form .elementor-button:hover { background: var(--color-brown); } }
.page-id-829 .e-con .elementor-widget-form .elementor-field-label { color: var(--k-ink-55); font-family: var(--font-k); }
.page-id-829 .e-con .elementor-widget-form .elementor-field-textual { border-bottom-color: var(--k-hair); color: var(--k-ink); font-family: var(--font-k); }
.page-id-829 .e-con .elementor-widget-form .elementor-button { background: var(--k-ember); font-family: var(--font-k); }
@media (hover: hover) { .page-id-829 .e-con .elementor-widget-form .elementor-button:hover { background: var(--k-ink); } }
@media (max-width: 1024px) { .e-con .elementor-widget-form.form { grid-column: 1 / 13; margin-top: var(--space-block); } }

/* 7a. Бейдж reCAPTCHA v3 грузит неиспользуемый CF7 на всех страницах; новые формы Pro его не используют (honeypot) */
.grecaptcha-badge { visibility: hidden !important; }

/* 7b. Why India ≤1024: точки/подсказка — HTML-виджет .why__nav (стили в main.css); .elementor-widget-html{line-height:0} гасим */
.e-con > .elementor-widget.why__nav, .e-con > .elementor-widget.people__more { line-height: 1.55; }

/* 8. Паттерн футера — url из медиатеки */
.foot-pattern { background-image: url("https://www.norseafood.com/wp-content/uploads/2026/08/pattern-on-navy.svg"); }
.page-id-829 .foot-pattern { background-image: url("https://www.norseafood.com/wp-content/uploads/2026/08/pattern-p1-white.svg"); }

/* 10. max-width на обёртках виджетов/контейнеров: Elementor ставит `.e-con > .elementor-widget{max-width:100%}` (0,2,0)
      и перебивает одноклассовые правила эталона — сгенерировано из main.css/page-*.css; !important — у Elementor тут (0,4,0) */
.e-con > .elementor-widget.container, .e-con > .e-con.container { max-width: var(--content-width) !important; }
.e-con > .elementor-widget.hero__lead, .e-con > .e-con.hero__lead { max-width: 36ch !important; }
.e-con > .elementor-widget.half__body, .e-con > .e-con.half__body { max-width: 30rem !important; }
.e-con > .elementor-widget.anchor__note, .e-con > .e-con.anchor__note { max-width: 52ch !important; }
.e-con > .elementor-widget.people__note, .e-con > .e-con.people__note { max-width: 52ch !important; }
.e-con > .elementor-widget.foot-claim, .e-con > .e-con.foot-claim { max-width: 26ch !important; }
.e-con > .elementor-widget.approach__note, .e-con > .e-con.approach__note { max-width: 44ch !important; }
.e-con > .elementor-widget.chain__note, .e-con > .e-con.chain__note { max-width: 20ch !important; }
.e-con > .elementor-widget.reason__body, .e-con > .e-con.reason__body { max-width: 58ch !important; }
/* у заголовка ch считается от 36px внутреннего h2, а не от 16px обёртки: 10ch на обёртке давали 116px
   вместо 247px и рвали «Why Partner With Us» на четыре строки. Ограничение переносит §15. */
.e-con > .elementor-widget.partner__title, .e-con > .e-con.partner__title { max-width: none !important; }
.e-con > .elementor-widget.partner__body, .e-con > .e-con.partner__body { max-width: 58ch !important; }
.e-con > .elementor-widget.two__map, .e-con > .e-con.two__map { max-width: 560px !important; }
.e-con > .elementor-widget.two__belief, .e-con > .e-con.two__belief { max-width: 22ch !important; }
.e-con > .elementor-widget.k-quote__text, .e-con > .e-con.k-quote__text { max-width: 1040px !important; }

/* 10b. Футер: nav-menu и кнопка «Cookie settings» лежат в одном контейнере .foot-links —
   у контейнера Elementor направление и зазор задаются переменными, а не flex-свойствами. */
/* `--flex-direction` контейнер получает из своих настроек (генератор пишет column), и это правило
   печатается ПОСЛЕ кита с той же специфичностью — поэтому здесь нужен лишний класс. */
.e-con.e-child.e-flex.foot-links { --flex-direction: row; --flex-wrap: wrap; --align-items: center;
  --justify-content: flex-start; --row-gap: 16px; --column-gap: 32px; }
/* дети контейнера по умолчанию `--width: 100%` — меню занимало всю строку и кнопка уходила вниз */
.e-con.e-child.foot-links > .elementor-element { --width: auto; width: auto; flex: 0 0 auto; }

/* 11. Бургер: HTML-виджет .nav-toggle-wrap, внутри <button class="nav-toggle"> эталона (main.css: скрыт на десктопе, на мобиле grid-column 10/13). Grid-позицию несёт ОБЁРТКА виджета — она прямой ребёнок .container.grid. */
.site-header .elementor-widget.nav-toggle-wrap { display: none; }
@media (max-width: 767px) {
  .site-header .elementor-widget.nav-toggle-wrap { display: block; grid-column: 10 / 13; justify-self: end; align-self: center; width: auto; }
  .site-header .elementor-widget.nav-toggle-wrap .nav-toggle { grid-column: auto; }
}

/* >>> mirror (generated) */
/* 12. Адаптив: зеркала правил эталона для селекторов адаптера (сгенерировано tools/h2e_responsive_mirror.py —
   правила адаптера (0,2-3,0) иначе перебивают @media-правила эталона (0,1,0)). НЕ править руками — перегенерировать. */
@media (max-width: 1024px) {
  .e-con.e-parent.site-header.is-solid { padding-block: 12px; }
  .site-nav--util { gap: 24px; }
  .hero__lead { grid-column: 1 / 13; }
  .e-con > .elementor-widget.anchor__title { grid-column: 1 / 13; margin-bottom: var(--space-element); }
  .e-con.ledger__icon { width: 44px; height: 44px; }
  .e-con.grid > .e-con.ledger__icon { width: 44px; height: 44px; }
  .ledger__row > .ledger__name { grid-column: 3 / 13; }
  .ledger__row > .ledger__line { grid-column: 3 / 13; }
  .e-con .elementor-widget.ledger__line { font-size: 30px; }
  .e-con > .elementor-widget.why__img { transform: none; }
  .e-con.grid > .e-con.why__card { width: auto; }
  .e-con > .elementor-widget.why__nav { line-height: normal; }
  .e-con .elementor-widget-form.form { grid-column: 1 / 13; }
  .e-con.e-parent.site-footer { padding-top: 96px; }
  .foot-brand > .foot-claim { margin-top: 24px; }
  .approach__title { grid-column: 1 / 13; }
  .e-con .elementor-widget.approach__title { font-size: 34px; }
  .approach__note { grid-column: 1 / 13; }
  .e-con > .elementor-widget.approach__note { max-width: none !important; }
  .e-con > .e-con.approach__note { max-width: none !important; }
  .e-con .elementor-widget.approach__note { max-width: none; }
  .e-con > .elementor-widget.reason__body { max-width: none !important; }
  .e-con > .e-con.reason__body { max-width: none !important; }
  .e-con .elementor-widget.reason__accent { font-size: 22px; }
  .punch__on { grid-column: 1 / 13; }
  .e-con .elementor-widget.punch__on { font-size: 32px; }
  .e-con > .elementor-widget.partner__title { max-width: none !important; }
  .e-con > .e-con.partner__title { max-width: none !important; }
  .e-con .elementor-widget.partner__title { max-width: none; }
  .e-con > .elementor-widget.partner__body { max-width: none !important; }
  .e-con > .e-con.partner__body { max-width: none !important; }
  .e-con.ticker__line { gap: 40px; padding-right: 40px; }
  .e-con > .elementor-widget.specs__title { margin-bottom: var(--space-element); }
  .specs__body > .specs__title { margin-bottom: var(--space-element); }
  .e-con.two__map { max-width: 380px; }
  .e-con.grid > .e-con.two__map { max-width: 380px; }
  .e-con > .elementor-widget.two__map { max-width: 380px !important; }
  .e-con > .e-con.two__map { max-width: 380px !important; }
  .e-con > .elementor-widget.two__belief { max-width: none !important; }
  .e-con > .e-con.two__belief { max-width: none !important; }
  .e-con .elementor-widget.two__belief { font-size: 28px; max-width: none; }
  .e-con > .elementor-widget.k-quote__text { max-width: none !important; }
  .e-con > .e-con.k-quote__text { max-width: none !important; }
  .e-con .elementor-widget.k-quote__text { font-size: 40px; }
}
@media (max-width: 767px) {
  .e-con .elementor-widget.lead { font-size: 17px; }
  .page-id-829 .e-con .elementor-widget.lead { font-size: 17px; }
  .e-con.e-parent.site-header { padding-block: 20px 16px; }
  .e-con.e-parent.site-header.is-solid { padding-block: 12px; }
  body.page-id-3 .e-con.e-parent.site-header { padding-block: 20px 16px; }
  .e-con.hero__actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .ledger__row > .ledger__n { grid-column: 1 / 2; }
  .ledger__row > .ledger__name { grid-column: 2 / 11; }
  .e-con.ledger__icon { width: 36px; height: 36px; }
  .e-con.grid > .e-con.ledger__icon { width: 36px; height: 36px; }
  .ledger__row > .ledger__icon { grid-column: 11 / 13; }
  .ledger__row > .ledger__line { grid-column: 1 / 13; }
  .e-con .elementor-widget.ledger__line { font-size: 26px; }
  .e-con.e-parent.site-footer { padding-top: 64px; }
  .e-con.grid > .e-con.foot-social { justify-self: start; }
  .e-con.foot-social > .elementor-widget-button.foot-in { justify-self: start; }
  .e-con .elementor-widget-button.foot-in { justify-self: start; }
  .e-con .elementor-widget.approach__title { font-size: 28px; }
  .e-con .elementor-widget.reason__accent { font-size: 20px; }
  .e-con .elementor-widget.punch__on { font-size: 26px; }
  .e-con.prow__ico { width: 32px; height: 32px; }
  .e-con.grid > .e-con.prow__ico { width: 32px; height: 32px; }
  .prow > .prow__ico { width: 32px; }
  .prow > .e-con.prow__ico { width: 32px; height: 32px; }
  .e-con .elementor-widget.prow__t { font-size: 18px; }
  .spec { flex-direction: column; }
  .e-con.spec { gap: 4px; flex-direction: column; }
  .e-con .elementor-widget.two__belief { font-size: 24px; }
  .e-con .elementor-widget.k-quote__text { font-size: 30px; }
}
/* <<< mirror */

/* 13. Адаптив: ручные зеркала — правила эталона по тегам/детям/потомкам, которые генератор §12 не берёт, плюс мобильные дефолты Elementor (--flex-direction: column, --flex-wrap: wrap на ≤767) */
.e-con .site-nav .elementor-icon-list-item > a { font-size: 14px; }   /* Elementor `.elementor-icon-list-item > a{font-size:inherit}` бьёт `.site-nav a:not(.btn-split)` */
@media (max-width: 1024px) {
  .site-nav--brands .elementor-icon-list-items { gap: 28px; flex-wrap: nowrap; }
  .hero__body > .elementor-widget-heading { grid-column: 1 / 13; }
  .hero__body > .elementor-widget-heading h1 { max-width: 18ch !important; }
  .cine__body > .elementor-widget-heading, .cine__body > .lead, .cine__body > .elementor-widget-text-editor:not(.lead), .k-cine__body > .elementor-widget-heading, .k-cine__body > .lead, .k-cine__body > .elementor-widget-text-editor:not(.lead), .k-future__body > .elementor-widget-heading { grid-column: 1 / 13; }
  .cine__body > .elementor-widget-text-editor:not(.lead), .k-cine__body > .elementor-widget-text-editor:not(.lead) { margin-top: 16px; align-self: auto; }
  .k-hero__mark img { max-width: 200px; }
  .ticker__line > .elementor-widget { font-size: 22px; gap: 40px; }
  .e-con.two__map, .e-con.grid > .e-con.two__map { width: 100%; }
}
@media (max-width: 767px) {
  /* кнопки героя одинаковые на всю ширину (main.css ≤767): обёртки виджетов + внутренний <a> Elementor-кнопки */
  .e-con.hero__actions { --flex-direction: column; flex-direction: column; --align-items: stretch; align-items: stretch; --gap: 12px; gap: 12px; }
  .e-con.hero__actions > .elementor-widget { width: 100%; }
  .e-con.hero__actions .elementor-widget-button.btn .elementor-button { display: flex; width: 100%; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; }
  .e-con.hero__actions .elementor-widget-button.btn-split .elementor-button { display: flex; width: 100%; min-height: 50px; }
  .e-con.hero__actions .elementor-widget-button.btn-split .elementor-button-content-wrapper { display: flex; width: 100%; }
  .e-con.hero__actions .elementor-widget-button.btn-split .elementor-button-text { flex: 1; display: flex; align-items: center; justify-content: center; padding: 0 22px; }
  .k-hero__mark img { max-width: 150px; }
  .ticker__line > .elementor-widget { font-size: 19px; }
  .spec > .as-dd { font-size: 17px; text-align: left; }
  .two__pair > .as-li { font-size: 16px; }
  .k-row .as-strong { font-size: 20px; }
  .e-con.ticker, .e-con.ticker__line, .e-con.prow, .e-con.why__meta, .e-con.k-row__body { --flex-direction: row; flex-direction: row; --flex-wrap: nowrap; flex-wrap: nowrap; }   /* .spec здесь НЕ должен быть: на мобиле он столбиком (зеркало §12) */ /* .ticker: иначе две копии строки встают друг под другом */
  /* мобильное меню эталона: .site-nav скрыты, в .is-open раскрываются колонкой (main.css ≤767) */
  .site-header .e-con.site-nav--util, .site-header .site-nav--util { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 14px; }
  .site-header.is-open .site-nav--brands .elementor-icon-list-items { flex-direction: column; align-items: flex-start; gap: 14px; }
  .site-header.is-open .e-con .elementor-widget-button.btn-split { margin-top: 6px; }
}

/* 14. Точечное: то, чего нет в классах эталона (кнопки, as-* обёртки, max-width заголовка) */
.e-con .elementor-widget-button .elementor-button, .e-con .elementor-widget-button .elementor-button-text,
.e-con .site-nav .elementor-icon-list-item > a, .e-con .foot-nav .elementor-icon-list-item > a { line-height: 1.55; }
/* заголовочный виджет, у которого тег — div/span (Elementor даёт им line-height:1): наследуем от обёртки,
   где лежит класс эталона; настоящие h1..h4 сохраняют теговые правила */
.e-con .elementor-widget-heading :where(div, span).elementor-heading-title { line-height: inherit; }   /* у этой версии Elementor span лежит прямо в виджете, без .elementor-widget-container */
.e-con .k-row .as-strong { font-size: 24px; line-height: 1.55; }
@media (max-width: 767px) { .e-con .k-row .as-strong { font-size: 20px; } }
.e-con .quote cite, .e-con .quote .as-cite { font-size: 14px; line-height: 1.55; }

/* >>> typo (generated) */
/* 15. Типографика классов эталона внутрь виджетов (сгенерировано tools/h2e_typo_mirror.py):
   в эталоне класс на самом теге, в Elementor — на обёртке, поэтому кегль/интерлиньяж
   не доходили до h1..h4/p внутри. НЕ править руками — перегенерировать. */
.e-con .elementor-widget.anchor__note { max-width: none; }
.e-con .elementor-widget.anchor__note :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em) { max-width: 52ch; }
.e-con .elementor-widget.approach__note { max-width: none; }
.e-con .elementor-widget.approach__note :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em) { max-width: 44ch; }
.e-con .elementor-widget.approach__title :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.approach__title { font-size: 44px; line-height: 1.1; letter-spacing: -0.02em; }
.e-con .elementor-widget.chain__note :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.chain__note { font-family: var(--font-display); font-weight: 500; font-size: 17px; line-height: 1.3; }
.e-con .elementor-widget.chain__note { max-width: none; }
.e-con .elementor-widget.chain__note :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em) { max-width: 20ch; }
.e-con .elementor-widget.form__consent :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.form__consent { font-size: 13px; line-height: 1.5; }
.half .e-con .elementor-widget.half__focus :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .half .e-con .elementor-widget.half__focus { font-size: 14px; font-weight: 500; }
.e-con .elementor-widget.half__role :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.half__role { font-size: 14px; font-weight: 500; }
.e-con .elementor-widget.hero__lead { max-width: none; }
.e-con .elementor-widget.hero__lead :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em) { max-width: 36ch; }
.e-con .elementor-widget.k-quote__text :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.k-quote__text { font-family: var(--font-k-script); font-weight: 400; font-size: 64px; line-height: 1.2; }
.e-con .elementor-widget.lead :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.lead { font-size: 18px; line-height: 1.45; font-weight: 400; }
.cine__body .e-con .elementor-widget.lead { max-width: none; }
.cine__body .e-con .elementor-widget.lead :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em) { max-width: 40ch; }
.page-id-829 .e-con .elementor-widget.lead :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .page-id-829 .e-con .elementor-widget.lead { font-size: 18px; line-height: 1.5; }
.k-hero__text .e-con .elementor-widget.lead { max-width: none; }
.k-hero__text .e-con .elementor-widget.lead :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em) { max-width: 42ch; }
.e-con .elementor-widget.ledger__line :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.ledger__line { font-family: var(--font-display); font-weight: 300; font-size: 40px; line-height: 1.1; letter-spacing: -0.02em; }
.e-con .elementor-widget.ledger__n :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.ledger__n { font-family: var(--font-display); font-weight: 300; font-size: 16px; line-height: 1; }
.e-con .elementor-widget.ledger__name :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.ledger__name { font-family: var(--font-text); font-weight: 500; font-size: 18px; line-height: 1.3; }
.e-con .elementor-widget.legal__meta :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.legal__meta { font-size: 14px; }
.e-con .elementor-widget.partner__title { max-width: none; }
.e-con .elementor-widget.partner__title :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em) { max-width: 10ch; }
.e-con .elementor-widget.people__note { max-width: none; }
.e-con .elementor-widget.people__note :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em) { max-width: 52ch; }
.e-con .elementor-widget.prow__n :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.prow__n { font-family: var(--font-display); font-weight: 300; font-size: 14px; }
.e-con .elementor-widget.prow__t :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.prow__t { font-family: var(--font-display); font-weight: 500; font-size: 22px; letter-spacing: -0.01em; }
.e-con .elementor-widget.punch__off :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.punch__off { font-size: 18px; }
.e-con .elementor-widget.punch__on :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.punch__on { font-family: var(--font-display); font-weight: 300; font-size: 44px; line-height: 1.12; letter-spacing: -0.02em; }
.e-con .elementor-widget.reason__accent :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.reason__accent { font-family: var(--font-display); font-weight: 500; font-size: 26px; line-height: 1.25; letter-spacing: -0.015em; }
.e-con .elementor-widget.two__belief :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.two__belief { font-family: var(--font-display); font-weight: 300; font-size: 34px; line-height: 1.15; letter-spacing: -0.02em; }
.e-con .elementor-widget.two__belief { max-width: none; }
.e-con .elementor-widget.two__belief :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em) { max-width: 22ch; }
.e-con .elementor-widget.two__end :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.two__end { font-family: var(--font-text); font-weight: 500; }
.e-con .elementor-widget.why__cap :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.why__cap { font-size: 14px; }
.e-con .elementor-widget.why__idx :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.why__idx { font-size: 14px; }
@media (max-width: 1024px) {
  .e-con .elementor-widget.approach__title :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.approach__title { font-size: 34px; }
  .e-con .elementor-widget.k-quote__text :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.k-quote__text { font-size: 40px; }
  .why__card .e-con .elementor-widget.lead :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .why__card .e-con .elementor-widget.lead { font-size: 16px; }
  .e-con .elementor-widget.ledger__line :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.ledger__line { font-size: 30px; }
  .e-con .elementor-widget.punch__on :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.punch__on { font-size: 32px; }
  .e-con .elementor-widget.reason__accent :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.reason__accent { font-size: 22px; }
  .e-con .elementor-widget.two__belief :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.two__belief { font-size: 28px; }
}
@media (max-width: 767px) {
  .e-con .elementor-widget.approach__title :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.approach__title { font-size: 28px; }
  .e-con .elementor-widget.k-quote__text :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.k-quote__text { font-size: 30px; }
  .e-con .elementor-widget.lead :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.lead { font-size: 17px; }
  .e-con .elementor-widget.ledger__line :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.ledger__line { font-size: 26px; }
  .e-con .elementor-widget.prow__t :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.prow__t { font-size: 18px; }
  .e-con .elementor-widget.punch__on :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.punch__on { font-size: 26px; }
  .e-con .elementor-widget.reason__accent :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.reason__accent { font-size: 20px; }
  .e-con .elementor-widget.two__belief :where(h1, h2, h3, h4, h5, h6, p, div, span, li, cite, blockquote, strong, b, em), .e-con .elementor-widget.two__belief { font-size: 24px; }
}
/* <<< typo *//* End custom CSS */