/* ═══════════════════════════════════════════════════════════════════════════
   GC-81 · home-v3.css — ВТОРОЙ вариант десктоп-превью главной (/home-preview-2).
   Автономный: НЕ конфликтует с home-v2.css / style.css / store-chrome.css.
   Все селекторы под префиксом .hpv3-. Шрифты — Cormorant Garamond (display) +
   Golos Text (body), Google Fonts подключены в шаблоне. Разметка перенесена
   буквально из дизайн-канваса Сергея (1280px). RULES §12/§14.
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  --hpv3-bg:      #FFFFFF;
  --hpv3-panel:   #FEFEFE;
  --hpv3-white:   #FFFFFF;
  --hpv3-ink:     #1F241F;
  --hpv3-ink-2:   #26302A;
  --hpv3-muted:   #8A8F87;
  --hpv3-muted-2: #9A9E96;
  --hpv3-line:    #E5E1D6;
  --hpv3-line-2:  #ECEBE4;
  --hpv3-sage:    #E9EDDD;
  --hpv3-sage-ink:#4A6352;
  --hpv3-green:   #2F4A38;
  --hpv3-ph:      #F1F4EE;
  --hpv3-rad:     14px;
  --hpv3-serif:   'Cormorant Garamond', serif;
  --hpv3-sans:    'Golos Text', system-ui, sans-serif;
  --hpv3-ease:    cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }

.hpv3-body {
  margin: 0;
  background: var(--hpv3-bg);
  color: var(--hpv3-ink);
  font-family: var(--hpv3-sans);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
.hpv3-body a { color: inherit; }

/* GC-83 R8: Слой B (контент главной) — центрированный контейнер max 1440; фон холста НЕ несёт,
   красит body (Слой A) через --page-bg. Шапка (.menu-scope) и футер (.hpv3-footer) вынесены на
   уровень <body> (см. home.html) — band'ы едут edge-to-edge, боковой шов уходит по-настоящему. */
.hpv3-page {
  width: 100%;
  max-width: var(--content-width, 1440px);   /* GC-83 R6: fallback 1280→1440 (эталон) */
  margin: 0 auto;
}
/* GC-83 R8: холст главной = --page-bg с fallback на --hpv3-bg (#fff). --page-bg не задан глобально
   (см. style.css :root) → главная остаётся белой; на /home-preview-2 (без style.css) тоже белой. */
body:has(.hpv3-page) { background: var(--page-bg, var(--hpv3-bg)); }

/* Общие типо-элементы */
.hpv3-eyebrow {
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--hpv3-ink);
  font-weight: 500;
}
.hpv3-eyebrow--muted { font-size: 11.5px; color: var(--hpv3-muted); margin-bottom: 12px; }
.hpv3-eyebrow--sage  { font-size: 11.5px; color: var(--hpv3-sage-ink); }
.hpv3-h2 {
  margin: 0;
  font-family: var(--hpv3-serif);
  font-weight: 400;
  font-size: 40px;
  line-height: 1.1;
  color: var(--hpv3-ink);
}
.hpv3-subline { font-size: 13.5px; color: var(--hpv3-muted); margin-top: 10px; }

/* Текст-ссылка с подчёркнутым словом + стрелкой */
.hpv3-textlink {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 14.5px;
  text-decoration: none;
  width: fit-content;
  color: var(--hpv3-ink);
  transition: gap .3s var(--hpv3-ease);
}
.hpv3-textlink span { border-bottom: 1px solid var(--hpv3-ink); padding-bottom: 5px; }
.hpv3-textlink svg { transition: transform .3s var(--hpv3-ease); }
.hpv3-textlink:hover { gap: 18px; }
.hpv3-textlink:hover svg { transform: translateX(3px); }

/* ═══════════════ ШАПКА ═══════════════ */
/* SUPERSEDED by style.css (GC-83 R6): единый источник шапки для home + store-chrome —
   .menu-scope/.hpv3-* живут в style.css. Правила ниже (.hpv3-header … .hpv3-cart-btn)
   ОСТАВЛЕНЫ только для автономного /home-preview-2 (home-v3.html грузит лишь home-v3.css).
   На боевой / style.css грузится ПОСЛЕ home-v3.css и перекрывает их. Удалить после
   ретайра /home-preview-2 (пока Non-goal). */
.hpv3-header {
  position: sticky;
  top: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 48px;
  background: rgba(255,255,255,.94);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  backdrop-filter: blur(12px) saturate(140%);
}
.hpv3-logo { display: block; line-height: 0; }
.hpv3-logo img { height: 17px; width: auto; display: block; } /* GC-81: логотип 20->17px под компактную шапку (~22% высоты) */
.hpv3-nav { display: flex; gap: 34px; font-size: 14px; }
.hpv3-nav a {
  text-decoration: none; color: var(--hpv3-ink);
  position: relative; padding-bottom: 2px;
}
.hpv3-nav a::after {
  content: ""; position: absolute; left: 0; bottom: -1px;
  width: 0; height: 1px; background: var(--hpv3-ink);
  transition: width .28s var(--hpv3-ease);
}
.hpv3-nav a:hover::after { width: 100%; }
.hpv3-actions { display: flex; align-items: center; gap: 20px; }
.hpv3-icon-btn { display: inline-flex; color: var(--hpv3-ink); transition: opacity .2s var(--hpv3-ease); }
.hpv3-icon-btn:hover { opacity: .55; }
.hpv3-cart-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 9px 20px; background: var(--hpv3-white);
  border: 1px solid var(--hpv3-line); border-radius: 12px;
  font-size: 14px; color: var(--hpv3-ink); text-decoration: none;
  transition: background .2s var(--hpv3-ease), border-color .2s var(--hpv3-ease), color .2s var(--hpv3-ease), transform .2s var(--hpv3-ease);
}
.hpv3-cart-btn:hover {
  background: var(--hpv3-ink); border-color: var(--hpv3-ink);
  color: #fff; transform: translateY(-1px);
}

/* ═══════════════ HERO ═══════════════ */
.hpv3-hero {
  position: relative;
  display: grid;
  grid-template-columns: 490px 1fr;
  align-items: center;
  gap: 42px;
  padding: 0px 0 56px 48px;
  background-color: var(--hpv3-panel);
  height: 516px;
  overflow: hidden;
}
.hpv3-hero__copy {
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 26px;
  width: 100%;
  max-width: 430px;
}
.hpv3-hero__title {
  margin: 0;
  font-family: var(--hpv3-serif);
  font-weight: 400;
  font-size: 60px;
  line-height: 1.12;
  color: var(--hpv3-ink);
  text-wrap: balance;
  letter-spacing: -.01em;
}
.hpv3-hero__copy .hpv3-textlink { margin-top: 6px; }
.hpv3-hero__media {
  position: relative;
  z-index: 1;
  height: 516px;
  align-self: stretch;
}
.hpv3-hero__media img {
  width: calc(100% + 160px);
  height: 516px;
  object-fit: cover;
  object-position: center;
  display: block;
  margin-left: -60px;   /* GC-83 R6: -162→-60 (эталон, только десктоп-база) */
  /* GC-81: плавный переход фото → panel-фон на ПРАВОМ крае.
     Тот же приём, что и на блоке шефа (только зеркально — справа):
     маскируем правые ~18% ширины в прозрачность, за ними просвечивает
     фон .hpv3-hero (--hpv3-panel), жёсткий правый обрыв фото исчезает. */
  -webkit-mask-image: linear-gradient(to right, #000 0, #000 82%, rgba(0,0,0,.55) 91%, transparent 100%);
          mask-image: linear-gradient(to right, #000 0, #000 82%, rgba(0,0,0,.55) 91%, transparent 100%);
}

/* ═══════════════ КАТЕГОРИИ ═══════════════ */
.hpv3-cats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
  padding: 8px 48px 0;
  margin-top: -25px;
  position: relative;
  z-index: 5;
}
.hpv3-cat {
  position: relative;
  display: block;
  height: 180px;
  background: var(--hpv3-white);
  border: 1px solid #ECEAE2;
  border-radius: var(--hpv3-rad);
  padding: 22px 20px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(31,36,31,.04);
  transition: transform .32s var(--hpv3-ease), box-shadow .32s var(--hpv3-ease);
}
.hpv3-cat:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(31,36,31,.10); }
.hpv3-cat__name {
  position: relative;
  z-index: 2;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--hpv3-ink);
  max-width: 150px;
}
.hpv3-cat__img {
  position: absolute;
  left: 0;
  top: 40px;
  width: 221px;
  height: 166px;
  object-fit: contain;
  object-position: center bottom;
  z-index: 1;
  transition: transform .4s var(--hpv3-ease);
}
.hpv3-cat:hover .hpv3-cat__img { transform: scale(1.04); }
.hpv3-cat__go {
  position: absolute;
  left: 20px;
  bottom: 16px;
  z-index: 3;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--hpv3-white);
  border: 1px solid var(--hpv3-line);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hpv3-ink);
  transition: background .25s var(--hpv3-ease), color .25s var(--hpv3-ease), border-color .25s var(--hpv3-ease);
}
.hpv3-cat:hover .hpv3-cat__go { background: var(--hpv3-ink); color: #fff; border-color: var(--hpv3-ink); }

/* ═══════════════ SECTION HEAD ═══════════════ */
.hpv3-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}
.hpv3-seeall {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  text-decoration: none;
  color: var(--hpv3-ink);
  white-space: nowrap;
  transition: gap .3s var(--hpv3-ease);
}
.hpv3-seeall span { border-bottom: 1px solid #C9C5B9; padding-bottom: 4px; }
.hpv3-seeall:hover { gap: 16px; }

/* ═══════════════ ПОСТУПЛЕНИЕ НЕДЕЛИ ═══════════════ */
.hpv3-season { padding: 56px 48px 0; }
.hpv3-prod-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.hpv3-prod {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--hpv3-white);
  border: 1px solid #ECEAE2;
  border-radius: var(--hpv3-rad);
  padding: 14px;
  box-shadow: 0 1px 2px rgba(31,36,31,.04);
  transition: transform .3s var(--hpv3-ease), box-shadow .3s var(--hpv3-ease);
}
.hpv3-prod__hit { position: absolute; inset: 0; z-index: 1; border: 0; border-radius: inherit; background: transparent; cursor: pointer; }
.hpv3-prod__hit:focus-visible { outline: 3px solid var(--hpv3-green); outline-offset: -3px; }
.hpv3-prod:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(31,36,31,.08); }
.hpv3-prod__ph {
  width: 100%;
  height: 190px;
  border-radius: 10px;
  background: var(--hpv3-ph);
  background-image: radial-gradient(120% 100% at 50% 0%, rgba(255,255,255,.55), transparent 60%);
}
.hpv3-prod__ph--img {
  display: block;
  object-fit: cover;
  background-image: none;
}
.hpv3-prod__name { font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--hpv3-ink); margin-top: 12px; }
.hpv3-prod__size { font-size: 12.5px; color: var(--hpv3-muted-2); margin-top: 4px; }
.hpv3-prod__foot {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
}
.hpv3-prod__price { font-size: 15px; font-weight: 600; color: var(--hpv3-ink); }
.hpv3-prod__unit { font-size: 11px; font-weight: 400; color: var(--hpv3-muted-2); }
.hpv3-prod__add {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: var(--hpv3-green);
  border: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s var(--hpv3-ease), filter .2s var(--hpv3-ease);
}
.hpv3-prod__add:hover { transform: translateY(-1px); filter: brightness(1.1); }

/* GC-81 T03: степпер количества — тот же кружок-паттерн, что и .hpv3-prod__add,
   появляется in-place вместо кнопки «+» когда товар уже в корзине (RULES §12). */
.hpv3-prod__stepper {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--hpv3-green);
  border-radius: 10px;
  padding: 0 4px;
  height: 34px;
}
.hpv3-prod__stepper button {
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}
.hpv3-prod__stepper span {
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  min-width: 14px;
  text-align: center;
}

/* ═══════════════ НАБОРЫ ОТ ШЕФА (sage) ═══════════════ */
.hpv3-chef-wrap { padding: 48px 48px 0; }
.hpv3-chef {
  display: grid;
  grid-template-columns: 1fr 520px;
  background: var(--hpv3-sage);
  border-radius: var(--hpv3-rad);
  overflow: hidden;
}
.hpv3-chef__copy {
  padding: 64px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  align-items: flex-start;
}
.hpv3-chef__copy .hpv3-h2 { max-width: 420px; text-wrap: balance; }
.hpv3-chef__text { margin: 0; font-size: 15px; line-height: 1.6; color: #5E6A60; max-width: 400px; }
.hpv3-chef__copy .hpv3-textlink { margin-top: 6px; }
.hpv3-chef__media { overflow: hidden; }
.hpv3-chef__media img {
  width: 657px;
  height: 353px;
  object-fit: cover;
  display: block;
  margin-left: -137px;
  /* GC-81: плавный переход фото → sage-фон на левом крае.
     Маскируем левый ~18% ширины в прозрачность — за ним просвечивает
     sage-фон .hpv3-chef, фото «выступает» из фона без резкого шва.
     Видимый левый край img приходится на 137/657≈20.9% ширины. */
  -webkit-mask-image: linear-gradient(to right, transparent 0, rgba(0,0,0,.55) 18%, #000 36%);
          mask-image: linear-gradient(to right, transparent 0, rgba(0,0,0,.55) 18%, #000 36%);
}

/* ═══════════════ ТРИ КАРТОЧКИ ═══════════════ */
.hpv3-trio {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  padding: 48px 48px 64px;
}
.hpv3-tile {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: var(--hpv3-white);
  border: 1px solid #ECEAE2;
  border-radius: var(--hpv3-rad);
  padding: 26px 24px;
  box-shadow: 0 1px 2px rgba(31,36,31,.04);
  text-decoration: none;
  color: var(--hpv3-ink);
  transition: transform .3s var(--hpv3-ease), box-shadow .3s var(--hpv3-ease);
}
.hpv3-tile:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(31,36,31,.09); }
.hpv3-tile--sage { background: var(--hpv3-sage); box-shadow: none; border-color: transparent; }
.hpv3-tile__icon { flex: 0 0 auto; color: var(--hpv3-ink); }
.hpv3-tile__icon--sage { color: var(--hpv3-green); }
.hpv3-tile__body { flex: 1; }
.hpv3-tile__title { font-size: 15px; font-weight: 500; color: var(--hpv3-ink); margin-bottom: 8px; }
.hpv3-tile__text { font-size: 13px; line-height: 1.55; color: var(--hpv3-muted); }
.hpv3-tile--sage .hpv3-tile__text { color: #5E6A60; }
.hpv3-tile__arrow { flex: 0 0 auto; margin-top: 4px; color: var(--hpv3-ink); transition: transform .3s var(--hpv3-ease); }
.hpv3-tile--sage:hover .hpv3-tile__arrow { transform: translateX(4px); }

/* ═══════════════ ПРИЛОЖЕНИЕ ═══════════════ */
.hpv3-app-wrap { padding: 0 48px 64px; }
.hpv3-app {
  display: grid;
  grid-template-columns: 1fr 420px;
  background: var(--hpv3-white);
  border: 1px solid #ECEAE2;
  border-radius: var(--hpv3-rad);
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(31,36,31,.04);
}
.hpv3-app__copy {
  padding: 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
}
.hpv3-app__copy .hpv3-h2 { font-size: 38px; line-height: 1.12; max-width: 420px; text-wrap: balance; }
.hpv3-app__text { margin: 0; font-size: 15px; line-height: 1.6; color: var(--hpv3-muted); max-width: 380px; }
.hpv3-app__row { display: flex; align-items: center; gap: 24px; margin-top: 10px; }
.hpv3-app__btn {
  display: inline-flex;
  align-items: center;
  padding: 13px 26px;
  background: var(--hpv3-white);
  border: 1px solid var(--hpv3-line);
  border-radius: 12px;
  font-size: 14px;
  color: var(--hpv3-ink);
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s var(--hpv3-ease), border-color .2s var(--hpv3-ease), color .2s var(--hpv3-ease), transform .2s var(--hpv3-ease);
}
.hpv3-app__btn:hover {
  background: var(--hpv3-ink); border-color: var(--hpv3-ink);
  color: #fff; transform: translateY(-1px);
}
.hpv3-app__qr-block { display: flex; align-items: center; gap: 12px; }
.hpv3-app__qr { width: 64px; height: 64px; border-radius: 8px; background: var(--hpv3-ph); border: 1px solid var(--hpv3-line); }
.hpv3-app__qr-cap { font-size: 12.5px; line-height: 1.45; color: var(--hpv3-muted-2); max-width: 120px; }

/* Макет телефона */
.hpv3-app__stage { position: relative; height: 340px; background: var(--hpv3-bg); }
.hpv3-phone {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 44px;
  width: 210px;
  height: 420px;
  background: var(--hpv3-ink);
  border-radius: 32px;
  padding: 8px;
  box-shadow: 0 20px 40px rgba(31,36,31,.18);
}
.hpv3-phone__screen {
  width: 100%;
  height: 100%;
  background: #FAF8F4;
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.hpv3-phone__status {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px 4px; font-size: 8px; font-weight: 600; color: var(--hpv3-ink);
}
.hpv3-phone__batt { width: 10px; height: 5px; border: 1px solid var(--hpv3-ink); border-radius: 2px; display: inline-block; }
.hpv3-phone__top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 14px 10px;
}
.hpv3-phone__logo { height: 7px; width: auto; }
.hpv3-phone__promo {
  margin: 0 10px; background: var(--hpv3-sage); border-radius: 12px;
  padding: 14px 12px; display: flex; flex-direction: column; gap: 6px;
}
.hpv3-phone__promo-eb { font-size: 6px; letter-spacing: .2em; text-transform: uppercase; color: var(--hpv3-sage-ink); }
.hpv3-phone__promo-h { font-family: var(--hpv3-serif); font-weight: 500; font-size: 15px; line-height: 1.15; color: var(--hpv3-ink); }
.hpv3-phone__promo-h em { font-style: italic; color: var(--hpv3-sage-ink); }
.hpv3-phone__promo-t { font-size: 7.5px; line-height: 1.5; color: #5E6A60; }
.hpv3-phone__promo-btn {
  margin-top: 4px; width: fit-content; padding: 5px 10px;
  background: #fff; border-radius: 999px; font-size: 7.5px; font-weight: 600; color: var(--hpv3-ink);
}
.hpv3-phone__rowhead {
  display: flex; align-items: baseline; justify-content: space-between;
  padding: 12px 12px 8px;
}
.hpv3-phone__rowtitle { font-family: var(--hpv3-serif); font-weight: 500; font-size: 11px; white-space: nowrap; color: var(--hpv3-ink); }
.hpv3-phone__rowall { font-size: 7.5px; color: var(--hpv3-sage-ink); }
.hpv3-phone__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 10px; }
.hpv3-phone__card { background: #fff; border: 1px solid #EDEAE2; border-radius: 10px; padding: 6px; }
.hpv3-phone__thumb { position: relative; height: 64px; border-radius: 7px; background: var(--hpv3-ph); }
.hpv3-phone__thumb--warm { background: #F6F2EA; }
.hpv3-phone__plus {
  position: absolute; right: 5px; bottom: 5px; width: 16px; height: 16px;
  border-radius: 50%; background: #fff; border: 1px solid var(--hpv3-line);
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; color: var(--hpv3-ink); line-height: 1;
}
.hpv3-phone__pname { font-size: 7.5px; font-weight: 500; color: var(--hpv3-ink); margin-top: 5px; }
.hpv3-phone__pprice { font-size: 7.5px; font-weight: 600; color: var(--hpv3-ink); margin-top: 2px; }
.hpv3-phone__tab {
  margin-top: auto; display: flex; align-items: center; justify-content: space-around;
  padding: 8px 10px 12px; background: #fff; border-top: 1px solid #EDEAE2;
}
.hpv3-phone__tabitem { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.hpv3-phone__tabitem span { font-size: 6px; color: var(--hpv3-muted-2); }
.hpv3-phone__tabitem--on span { color: var(--hpv3-green); font-weight: 600; }

/* ═══════════════ ФУТЕР ═══════════════ */
.hpv3-footer {
  background: var(--hpv3-white);
  border-top: 1px solid var(--hpv3-line-2);
  padding: 64px 48px 36px;
}
.hpv3-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 52px;
}
.hpv3-footer__brand { display: flex; flex-direction: column; gap: 16px; }
.hpv3-footer__logo { height: 14px; width: auto; align-self: flex-start; display: block; }
.hpv3-footer__desc { margin: 0; font-size: 14px; line-height: 1.6; color: var(--hpv3-muted); max-width: 260px; }
.hpv3-footer__app {
  margin-top: 6px; display: inline-flex; align-items: center; gap: 10px;
  width: fit-content; padding: 10px 18px;
  border: 1px solid #D8DED2; border-radius: 2px;
  font-size: 13px; color: var(--hpv3-ink-2); text-decoration: none;
  transition: border-color .2s var(--hpv3-ease), background .2s var(--hpv3-ease);
}
.hpv3-footer__app:hover { border-color: var(--hpv3-ink); background: var(--hpv3-bg); }
.hpv3-footer__col { display: flex; flex-direction: column; gap: 14px; font-size: 14px; }
.hpv3-footer__head { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--hpv3-muted-2); }
.hpv3-footer__col a { color: var(--hpv3-ink-2); text-decoration: none; width: fit-content; transition: opacity .2s var(--hpv3-ease); }
.hpv3-footer__col a:hover { opacity: .55; }
.hpv3-footer__bottom {
  display: flex;
  justify-content: space-between;
  padding-top: 24px;
  border-top: 1px solid var(--hpv3-line-2);
  font-size: 13px;
  color: var(--hpv3-muted-2);
}

/* ═══════════════ SCROLL-REVEAL ═══════════════ */
.hpv3-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--hpv3-ease), transform .7s var(--hpv3-ease); }
.hpv3-reveal.is-in { opacity: 1; transform: none; }

/* ═══════════════ RESPONSIVE ═══════════════ */
@media (max-width: 1440px) {   /* GC-83 R6: 1280→1440 (иначе полоса схлопнется на 1281–1440px) */
  .hpv3-page { width: 100%; }
}
@media (max-width: 1120px) {
  .hpv3-hero { grid-template-columns: 1fr 1fr; height: auto; padding: 48px 0 48px 40px; }
  .hpv3-hero__copy { max-width: 100%; }
  .hpv3-hero__title { font-size: 48px; }
  .hpv3-hero__media { height: auto; }
  /* GC-81: фото полноширинное, обрыва у края нет → маску снимаем */
  .hpv3-hero__media img { width: 100%; height: 460px; margin-left: 0; -webkit-mask-image: none; mask-image: none; }
  .hpv3-cats { grid-template-columns: repeat(3, 1fr); }
  .hpv3-prod-grid { grid-template-columns: repeat(2, 1fr); }
  .hpv3-chef { grid-template-columns: 1fr; }
  /* GC-81: стек — фото полноширинное под текстом, шва нет → маску снимаем */
  .hpv3-chef__media img { width: 100%; height: 320px; margin-left: 0; -webkit-mask-image: none; mask-image: none; }
  .hpv3-app { grid-template-columns: 1fr; }
  .hpv3-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .hpv3-page { width: 100%; }
  .hpv3-header { padding: 16px 20px; flex-wrap: wrap; gap: 14px; }
  .hpv3-nav { order: 3; width: 100%; gap: 18px; flex-wrap: wrap; }
  .hpv3-hero { grid-template-columns: 1fr; height: auto; padding: 32px 20px; }
  .hpv3-hero__copy { max-width: 100%; }
  .hpv3-hero__title { font-size: 34px; }
  .hpv3-hero__media { height: auto; }
  /* GC-81: фото полноширинное, обрыва у края нет → маску снимаем */
  .hpv3-hero__media img { width: 100%; height: 280px; margin-left: 0; border-radius: 12px; -webkit-mask-image: none; mask-image: none; }
  .hpv3-cats { grid-template-columns: repeat(2, 1fr); padding: 8px 20px 0; margin-top: 24px; }
  .hpv3-season { padding: 40px 20px 0; }
  .hpv3-section-head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .hpv3-prod-grid { grid-template-columns: 1fr 1fr; }
  .hpv3-chef-wrap { padding: 32px 20px 0; }
  .hpv3-chef__copy { padding: 32px 24px; }
  .hpv3-trio { grid-template-columns: 1fr; padding: 32px 20px 40px; }
  .hpv3-app-wrap { padding: 0 20px 40px; }
  .hpv3-app__copy { padding: 32px 24px; }
  .hpv3-app__stage { height: 400px; }
  .hpv3-app__row { flex-wrap: wrap; }
  .hpv3-footer { padding: 40px 20px 28px; }
  .hpv3-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .hpv3-footer__bottom { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .hpv3-reveal { opacity: 1; transform: none; transition: none; }
}
