    /* ── RATIONS PAGE OVERRIDES ── */

    /* Hero */
    .hero-rations {
      min-height: 600px;
      padding: 0 40px 70px;
      align-items: flex-end;
    }
    .hero-rations__inner {
      grid-template-columns: 1fr 1fr;
      gap: 80px;
      align-items: flex-end;
    }
    .hero-rations__title {
      font-size: clamp(40px, 5vw, 60px);
      margin-bottom: 18px;
      color: #00873d;
    }
    .hero-rations__title span { color: var(--green); }
    .hero-rations__sub {
      font-size: 18px;
      color: #676767;
      margin-bottom: 36px;
    }
    .intro__chips {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }
    .chip {
      background: rgba(0,135,61,0.08);
      border: 1px solid rgba(0,135,61,0.25);
      color: var(--green);
      font-size: 13px;
      font-weight: 600;
      padding: 8px 16px;
      border-radius: 30px;
    }

    /* Steps inside hero */
    .hero-rations .intro-step {
      gap: 18px;
      align-items: flex-start;
    }
    .hero-rations .intro-step + .intro-step {
      margin-top: 28px;
    }
    .hero-rations .intro-step__num {
      width: 48px;
      height: 48px;
      font-size: 18px;
      flex-shrink: 0;
      background: var(--light-green);
      color: var(--green);
      border: 1.5px solid rgba(0,135,61,0.3);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
    }
    .hero-rations .intro-step__title {
      font-size: 17px;
      font-weight: 700;
      color: #343434;
      margin-bottom: 5px;
    }
    .hero-rations .intro-step__desc {
      font-size: 14px;
      color: #676767;
      line-height: 1.55;
    }
    /* connector line between steps */
    .rations-steps {
      display: flex;
      flex-direction: column;
    }
    .rations-step-wrap {
      display: flex;
      gap: 18px;
      align-items: stretch;
      position: relative;
    }
    .rations-step-wrap + .rations-step-wrap {
      margin-top: 0;
    }
    .rations-step-line {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0;
      align-self: stretch;
    }
    .rations-step-line__num {
      width: 48px;
      height: 48px;
      flex-shrink: 0;
      border-radius: 50%;
      background: var(--light-green);
      color: var(--green);
      border: 1.5px solid rgba(0,135,61,0.3);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      font-weight: 700;
      font-family: var(--font);
      z-index: 1;
    }
    .rations-step-line__bar {
      width: 2px;
      flex: 1;
      background: rgba(0,135,61,0.2);
      flex-shrink: 0;
    }
    .rations-step-body {
      padding-top: 10px;
      padding-bottom: 28px;
    }
    .rations-step-body__title {
      font-size: 17px;
      font-weight: 700;
      color: #00873d;
      margin-bottom: 5px;
      font-family: var(--font);
    }
    .rations-step-body__desc {
      font-size: 14px;
      font-weight: 500;
      color: #676767;
      line-height: 1.55;
      font-family: var(--font);
    }
    .rations-step-wrap:last-child .rations-step-body {
      padding-bottom: 0;
    }
    .rations-step-wrap:last-child .rations-step-line__bar {
      display: none;
    }

    /* Stats */
    .section--stats {
      background: #ffffff;
      padding: 70px 40px;
      border-top: 1px solid rgba(0,135,61,0.08);
      border-bottom: 1px solid rgba(0,135,61,0.08);
    }
    .section--stats .head {
      margin-bottom: 48px;
    }
    .stat-row {
      display: flex;
      align-items: stretch;
      max-width: 1000px;
      margin: 0 auto;
      border: 1px solid rgba(0,135,61,0.12);
      border-radius: 16px;
      overflow: hidden;
    }
    .stat-card {
      flex: 1;
      min-width: 0;
      text-align: center;
      padding: 32px 16px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      border-radius: 0 !important;
      background: #ffffff;
      box-shadow: none !important;
      min-height: unset;
      height: auto;
      transition: none;
      border-top: none;
      border-bottom: none;
      border-left: none;
      border-right: none;
      position: relative;
    }
    .stat-card + .stat-card::before {
      content: '';
      position: absolute;
      left: 0; top: 20%; bottom: 20%;
      width: 1px;
      background: rgba(0,135,61,0.15);
      pointer-events: none;
    }
    .stat-card:hover {
      transform: none !important;
      box-shadow: none !important;
    }
    .stat-val {
      font-size: clamp(24px, 2.2vw, 34px);
      font-weight: 800;
      color: #00873d;
      line-height: 1.05;
      margin-bottom: 10px;
      width: 100%;
      text-align: center;
    }
    .stat-lbl {
      font-size: 13px;
      font-weight: 500;
      color: #676767;
      line-height: 1.35;
      width: 100%;
      text-align: center;
    }

    /* Features & Use-cases — white cards on light bg */
    .section--rations-feat {
      background: #ffffff;
      padding: 80px 40px;
    }
    .section--rations-use {
      background: #f5fdf8;
      padding: 80px 40px;
    }
    /* Assortment */
    .section--rations-assort {
      background: linear-gradient(180deg, #f5fdf8 0%, #ffffff 100%);
      padding: 80px 40px;
    }

    /* rations nat-card — card style with border */
    .rations-feat-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      max-width: 1200px;
      margin: 0 auto;
    }
    .rations-feat-card {
      background: #ffffff;
      border: 1px solid rgba(0,135,61,0.1);
      border-radius: 20px;
      padding: 32px 28px;
      box-shadow: 0 2px 12px rgba(0,0,0,0.04);
      display: flex;
      flex-direction: column;
      gap: 0;
      opacity: 0;
      transform: translateY(24px);
      transition: opacity 0.6s cubic-bezier(0.16,1,0.3,1), transform 0.6s cubic-bezier(0.16,1,0.3,1), box-shadow 0.25s ease, border-color 0.25s ease;
    }
    .rations-feat-card.visible {
      opacity: 1;
      transform: translateY(0);
    }
    .rations-feat-card:hover {
      box-shadow: 0 8px 28px rgba(0,135,61,0.1);
      border-color: rgba(0,135,61,0.25);
    }
    .rations-feat-card:nth-child(1) { transition-delay: 0.05s; }
    .rations-feat-card:nth-child(2) { transition-delay: 0.12s; }
    .rations-feat-card:nth-child(3) { transition-delay: 0.19s; }
    .rations-feat-card:nth-child(4) { transition-delay: 0.26s; }
    .rations-feat-card:nth-child(5) { transition-delay: 0.33s; }
    .rations-feat-card:nth-child(6) { transition-delay: 0.40s; }
    .rations-feat-icon {
      font-size: 32px;
      margin-bottom: 16px;
      line-height: 1;
      font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', 'Android Emoji', sans-serif;
    }
    .rations-feat-title {
      font-size: 17px;
      font-weight: 700;
      color: #343434;
      margin-bottom: 10px;
      line-height: 1.25;
      font-family: var(--font);
    }
    .rations-feat-desc {
      font-size: 14px;
      font-weight: 500;
      color: #676767;
      line-height: 1.65;
      font-family: var(--font);
    }

    /* Assortment cards */
    .rations-assort-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      max-width: 1200px;
      margin: 0 auto;
    }
    .rations-assort-card {
      border-radius: 20px;
      overflow: hidden;
      background: #ffffff;
      border: 1px solid rgba(0,135,61,0.1);
      box-shadow: 0 2px 12px rgba(0,0,0,0.04);
      opacity: 0;
      transform: translateY(24px);
      transition: opacity 0.6s cubic-bezier(0.16,1,0.3,1), transform 0.6s cubic-bezier(0.16,1,0.3,1);
    }
    .rations-assort-card.visible {
      opacity: 1;
      transform: translateY(0);
    }
    .rations-assort-card:nth-child(1) { transition-delay: 0.05s; }
    .rations-assort-card:nth-child(2) { transition-delay: 0.15s; }
    .rations-assort-card:nth-child(3) { transition-delay: 0.25s; }
    .rations-assort-head {
      padding: 24px 28px;
      display: flex;
      align-items: center;
      gap: 14px;
    }
    .rations-assort-head--first { background: linear-gradient(135deg,#e8f5e9,#c8e6c9); }
    .rations-assort-head--second { background: linear-gradient(135deg,#fff8e1,#ffecb3); }
    .rations-assort-head--drinks { background: linear-gradient(135deg,#e8f5e9,#b2dfdb); }
    .rations-assort-head__emoji {
      font-size: 32px;
      font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', 'Android Emoji', sans-serif;
    }
    .rations-assort-head__title {
      font-size: 18px;
      font-weight: 700;
      color: #343434;
      font-family: var(--font);
    }
    .rations-assort-body {
      padding: 20px 28px 28px;
    }
    .rations-assort-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .rations-assort-list li {
      font-size: 14px;
      font-weight: 500;
      color: #676767;
      padding-left: 18px;
      position: relative;
      line-height: 1.5;
      font-family: var(--font);
    }
    .rations-assort-list li::before {
      content: '';
      position: absolute;
      left: 0; top: 7px;
      width: 7px; height: 7px;
      border-radius: 50%;
      background: #00873d;
    }

    /* Use-cases cards */
    .rations-use-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      max-width: 1200px;
      margin: 0 auto;
    }
    .rations-use-card {
      background: #ffffff;
      border: 1px solid rgba(0,135,61,0.1);
      border-radius: 20px;
      padding: 36px 28px;
      box-shadow: 0 2px 12px rgba(0,0,0,0.04);
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      opacity: 0;
      transform: translateY(24px);
      transition: opacity 0.6s cubic-bezier(0.16,1,0.3,1), transform 0.6s cubic-bezier(0.16,1,0.3,1), box-shadow 0.25s ease;
    }
    .rations-use-card.visible {
      opacity: 1;
      transform: translateY(0);
    }
    .rations-use-card:nth-child(2) { transition-delay: 0.1s; }
    .rations-use-card:nth-child(3) { transition-delay: 0.2s; }
    .rations-use-card:hover {
      box-shadow: 0 8px 28px rgba(0,135,61,0.1);
      border-color: rgba(0,135,61,0.25);
    }
    .rations-use-icon {
      font-size: 36px;
      margin-bottom: 18px;
      display: block;
      font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji', 'Android Emoji', sans-serif;
    }
    .rations-use-title {
      font-size: 18px;
      font-weight: 700;
      color: #343434;
      margin-bottom: 12px;
      line-height: 1.25;
      font-family: var(--font);
    }
    .rations-use-desc {
      font-size: 14px;
      font-weight: 500;
      color: #676767;
      line-height: 1.65;
      font-family: var(--font);
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 1024px) {
      .hero-rations { padding: 60px 30px 56px; min-height: unset; align-items: center; }
      .hero-rations__inner { grid-template-columns: 1fr; gap: 40px; text-align: center; align-items: flex-start; }
      .intro__chips { justify-content: center; }
      .rations-steps { max-width: 480px; margin: 0 auto; }
      .rations-feat-grid { grid-template-columns: repeat(2, 1fr); }
      .rations-assort-grid { grid-template-columns: repeat(3, 1fr); }
      .rations-use-grid { grid-template-columns: repeat(3, 1fr); }
      /* stat-row на этой странице — flex, не grid */
      #stats .stat-row {
        display: flex;
        grid-template-columns: unset;
        gap: 0;
      }
    }
    @media (max-width: 768px) {
      /* hero переопределяется custom.css — дополняем только специфику rations */
      .hero-rations__filter {
        background: rgba(255,255,255,0.85);
      }
      .hero-rations__title { font-size: clamp(26px, 7vw, 36px); margin-bottom: 12px; }
      .hero-rations__sub { font-size: 14px; margin-bottom: 16px; }
      .hero-rations__inner { gap: 24px; text-align: left; }
      .intro__chips { justify-content: flex-start; gap: 8px; margin-bottom: 16px; }
      .chip { font-size: 12px; padding: 7px 13px; }
      /* шаги — компактнее */
      .rations-steps { max-width: 100%; }
      .rations-step-body { padding-top: 6px; padding-bottom: 20px; }
      .rations-step-body__title { font-size: 15px; }
      .rations-step-body__desc { font-size: 13px; }
      .rations-step-line__num { width: 36px; height: 36px; font-size: 15px; }
      .section--rations-feat,
      .section--rations-assort,
      .section--rations-use { padding: 56px 20px; }
      .section--stats { padding: 56px 20px; }
      .rations-feat-grid { grid-template-columns: 1fr; gap: 16px; }
      .rations-assort-grid { grid-template-columns: 1fr; gap: 16px; }
      .rations-use-grid { grid-template-columns: 1fr; gap: 16px; }
      /* на мобиле stat-row — grid 2 колонки с разделителями */
      #stats .stat-row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        border-radius: 12px;
      }
      .stat-card {
        border-right: none !important;
        border-bottom: none !important;
        border-top: none !important;
        border-left: none !important;
        position: relative;
      }
      /* убираем вертикальный разделитель десктопа */
      .stat-card + .stat-card::before { display: none; }
      /* вертикальный разделитель между колонками */
      .stat-card:nth-child(odd)::after {
        content: '';
        position: absolute;
        right: 0; top: 15%; bottom: 15%;
        width: 1px;
        background: rgba(0,135,61,0.15);
        pointer-events: none;
      }
      /* горизонтальный разделитель между строками */
      .stat-card:nth-child(-n+3)::before {
        content: '';
        position: absolute;
        left: 10%; right: 10%; bottom: 0;
        height: 1px;
        background: rgba(0,135,61,0.15);
        pointer-events: none;
        top: auto; width: auto;
      }
      /* последняя карточка (5-я нечётная) — на всю ширину */
      .stat-card:nth-last-child(1):nth-child(odd) {
        grid-column: 1 / -1;
      }
      .stat-card:nth-last-child(1):nth-child(odd)::after { display: none; }
    }

    .contact-band--rations .contact-band__bg {
      background-image: url('../assets/images/Banner_rations_contact.jpg');
    }
    @media (max-width: 480px) {
      .hero-rations { padding: 36px 16px 32px; }
      .hero-rations__filter { background: rgba(255,255,255,0.85); }
      .hero-rations__title { font-size: clamp(22px, 7vw, 28px); }
      .hero-rations__sub { font-size: 13px; margin-bottom: 14px; }
      .intro__chips { gap: 6px; }
      .chip { font-size: 11px; padding: 6px 11px; }
      .rations-step-line__num { width: 32px; height: 32px; font-size: 14px; }
      .rations-step-body__title { font-size: 14px; }
      .rations-step-body__desc { font-size: 12px; }
      .stat-card { padding: 22px 10px; }
      .stat-val { font-size: 26px; }
    }


/* ── ASSORTMENT LIST inside prod-card ── */
.prod-card__list {
  list-style: none;
  padding: 0;
  margin: 6px 0 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.prod-card__list li {
  font-size: 14px;
  font-weight: 500;
  color: #343434;
  padding-left: 14px;
  position: relative;
  line-height: 1.4;
}
.prod-card__list li::before {
  content: '';
  position: absolute;
  left: 0; top: 7px;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: #00873d;
}

/* ── ASSORTMENT GRID ── */
#assortment .prod-grid {
  margin-left: auto;
  margin-right: auto;
  align-items: stretch;
}

/* Левая колонка — растягивается на высоту грида через flex */
#assortment .prod-col-left {
  display: flex;
}
#assortment .prod-col-left .prod-card--tall {
  flex: 1;
  width: 100%;
  min-height: 560px;
}

/* ── ASSORTMENT CARDS — white gradient, dark text (match homepage prod-cards) ── */
#assortment .prod-card__filter {
  background: linear-gradient(to bottom,
    rgba(255,255,255,0)    0%,
    rgba(255,255,255,0.6) 40%,
    rgba(255,255,255,0.92) 68%,
    rgba(255,255,255,1)   100%
  ) !important;
}
#assortment .prod-card__content {
  color: #343434;
}
#assortment .prod-card__title {
  color: #343434 !important;
  text-shadow: none !important;
}
#assortment .prod-card__list li {
  color: #343434 !important;
  text-shadow: none !important;
}

/* Правая колонка — две строки равной высоты */
#assortment .prod-col-right {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
}
#assortment .prod-col-right .prod-card--square {
  aspect-ratio: unset;
  min-height: unset;
}

/* ── ASSORTMENT ADAPTIVE ── */
/* 1024px: custom.css делает prod-grid одноколоночным — принимаем это */
@media (max-width: 1024px) {
  #assortment .prod-col-left .prod-card--tall {
    min-height: 360px;
  }
  #assortment .prod-col-right {
    grid-template-columns: 1fr 1fr; /* рядом на планшете */
    grid-template-rows: 1fr;
  }
  #assortment .prod-col-right .prod-card--square {
    min-height: 280px;
  }
}

/* 768px: всё в одну колонку */
@media (max-width: 768px) {
  #assortment .prod-col-left .prod-card--tall {
    min-height: 300px;
  }
  #assortment .prod-col-right {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  #assortment .prod-col-right .prod-card--square {
    min-height: 260px;
  }
}
