/* ============================================================
   ODOR2 PAGE — css/odor2.css
   HealingBio 악취·환경 솔루션
   Design language: kmc.css (olive/green, gradient kicker, 4px radius, 140px sections)
                  + feed.css (product tab module, mech flow, trust grid, reveal)
   ============================================================ */

/* ============================================================
   RESET & BASE
   ============================================================ */

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

html {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  background: #ffffff;
  color: var(--od-text-head);
  font-family: 'Pretendard', 'Apple SD Gothic Neo', 'Noto Sans KR',
               -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  word-break: keep-all;
  overflow-wrap: normal;
}

a  { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { display: block; max-width: 100%; height: auto; }
figure { margin: 0; }
em { font-style: italic; }
sup { font-size: 0.7em; vertical-align: super; }

/* ============================================================
   CSS VARIABLES — Olive / Natural Green  (kmc palette)
   ============================================================ */

:root {
  --od-grad:        linear-gradient(135deg, #4a7c59 0%, #6b9e7a 100%);
  --od-green:       #4a7c59;
  --od-green-mid:   #5a9068;
  --od-green-light: #6b9e7a;
  --od-green-soft:  rgba(74, 124, 89, 0.08);
  --od-green-bdr:   rgba(74, 124, 89, 0.22);
  --od-warm-bg:     #f7f8f4;
  --od-text-head:   #1c2218;
  --od-text-body:   #3e4e3a;
  --od-text-meta:   #7a9178;
  --od-footer-bg:   #141a11;
  --od-radius:      4px;
}

/* ============================================================
   HEADER  (identical to kmc / feed)
   ============================================================ */

.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 200;
  height: 72px;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,0.07);
}

.header-inner {
  display: flex;
  align-items: center;
  height: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 48px;
  position: relative;
}

.header-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  cursor: pointer;
  margin-right: auto;
}

.header-logo img { height: 30px; width: auto; }

.header-nav {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.nav-list { display: flex; align-items: center; gap: 50px; }

.nav-link {
  position: relative;
  display: inline-block;
  color: rgba(255,255,255,0.70);
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.03em;
  padding-bottom: 3px;
  transition: color 0.22s ease;
  white-space: nowrap;
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 0; height: 1px;
  background: rgba(255,255,255,0.9);
  transition: width 0.2s ease;
}

.nav-link:hover       { color: #ffffff; }
.nav-link:hover::after { width: 100%; }

.nav-link.is-active {
  color: #ffffff;
  font-weight: 500;
}
.nav-link.is-active::after { width: 100%; }

.header-right {
  flex-shrink: 0;
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 14px;
}

.header-contact {
  color: rgba(255,255,255,0.6);
  font-size: 15px;
  letter-spacing: 0.03em;
  transition: color 0.2s ease;
}
.header-contact:hover { color: #ffffff; }

.header-sep {
  color: rgba(255,255,255,0.25);
  font-size: 15px;
  user-select: none;
}

.header-lang {
  display: flex;
  align-items: center;
  gap: 5px;
  color: rgba(255,255,255,0.6);
  font-size: 15px;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: color 0.2s ease;
}
.header-lang:hover  { color: #ffffff; }
.header-lang svg    { width: 15px; height: 15px; flex-shrink: 0; }

.mobile-menu-btn {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  margin-left: auto;
}

.mobile-menu-btn span {
  display: block;
  width: 22px; height: 1.5px;
  background: rgba(255,255,255,0.85);
  transition: transform 0.28s ease, opacity 0.28s ease;
}

.mobile-menu-btn.is-open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.mobile-menu-btn.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.mobile-menu-btn.is-open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

/* ============================================================
   MOBILE NAV
   ============================================================ */

.mobile-nav {
  position: fixed;
  top: 72px; left: 0; right: 0;
  z-index: 190;
  background: rgba(5,5,5,0.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.38s cubic-bezier(0.4,0,0.2,1);
  display: none;
}

.mobile-nav.is-open { max-height: 400px; }

.mobile-nav-list { padding: 12px 0 16px; }

.mobile-nav-link {
  display: block;
  padding: 14px 40px;
  color: rgba(255,255,255,0.6);
  font-size: 17px;
  letter-spacing: 0.02em;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: color 0.2s ease, background 0.2s ease;
}

.mobile-nav-link:hover,
.mobile-nav-link.is-active {
  color: #ffffff;
  background: rgba(255,255,255,0.04);
}

/* ============================================================
   LAYOUT SHELL
   ============================================================ */

.od-main { padding-top: 0; }

.od-shell {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 48px;
  width: 100%;
}

/* ============================================================
   REVEAL ANIMATIONS  (feed.css pattern)
   ============================================================ */

.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger for card grids */
.od-value-grid .od-value-card,
.od-issue-grid .od-issue-card,
.od-evidence-grid .od-evidence-card,
.od-trust-grid .od-trust-card {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.od-value-grid.is-visible .od-value-card,
.od-issue-grid.is-visible .od-issue-card,
.od-evidence-grid.is-visible .od-evidence-card,
.od-trust-grid.is-visible .od-trust-card { opacity: 1; transform: translateY(0); }

.od-value-grid.is-visible .od-value-card:nth-child(1),
.od-issue-grid.is-visible .od-issue-card:nth-child(1),
.od-evidence-grid.is-visible .od-evidence-card:nth-child(1),
.od-trust-grid.is-visible .od-trust-card:nth-child(1) { transition-delay: 0ms; }

.od-value-grid.is-visible .od-value-card:nth-child(2),
.od-issue-grid.is-visible .od-issue-card:nth-child(2),
.od-evidence-grid.is-visible .od-evidence-card:nth-child(2),
.od-trust-grid.is-visible .od-trust-card:nth-child(2) { transition-delay: 80ms; }

.od-value-grid.is-visible .od-value-card:nth-child(3),
.od-issue-grid.is-visible .od-issue-card:nth-child(3),
.od-evidence-grid.is-visible .od-evidence-card:nth-child(3),
.od-trust-grid.is-visible .od-trust-card:nth-child(3) { transition-delay: 160ms; }

.od-value-grid.is-visible .od-value-card:nth-child(4),
.od-issue-grid.is-visible .od-issue-card:nth-child(4),
.od-trust-grid.is-visible .od-trust-card:nth-child(4) { transition-delay: 240ms; }

/* ============================================================
   SECTION BASE  (kmc — 140px padding)
   ============================================================ */

.od-section { padding: 140px 0; }
.od-section--soft { background: var(--od-warm-bg); }

/* ============================================================
   TYPOGRAPHY  (kmc system — gradient kicker)
   ============================================================ */

.od-kicker {
  display: block;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background: var(--od-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  margin-bottom: 16px;
}

.od-section-title {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: var(--od-text-head);
  margin-bottom: 20px;
}

.od-section-lead {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.78;
  color: var(--od-text-body);
  max-width: 800px;
}

.od-section-heading { margin-bottom: 64px; }

/* ============================================================
   1. HERO
   ============================================================ */

.od-hero {
  position: relative;
  height: 400px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--od-footer-bg);
}

.od-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to right,
    rgba(10,16,8,0.92) 0%,
    rgba(10,16,8,0.74) 42%,
    rgba(10,16,8,0.36) 68%,
    rgba(10,16,8,0.10) 100%
  );
  pointer-events: none;
}

.od-hero > .od-shell { position: static; z-index: 2; width: 100%; }

.od-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.od-hero-image-wrap { width: 100%; height: 100%; overflow: hidden; }

.od-hero-image-wrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  filter: brightness(0.48);
}

.od-hero-copy {
  padding-top: 72px;
  position: relative;
  z-index: 3;
  text-align: center;
}

.od-hero-eyebrow {
  display: block;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.50);
  margin-bottom: 22px;
}

.od-hero-title {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.10;
  letter-spacing: -0.035em;
  color: #ffffff;
  text-shadow: 0 2px 16px rgba(0,0,0,0.45);
  margin-bottom: 22px;
}

.od-hero-lead {
  font-size: 17px;
  font-weight: 400;
  line-height: 1.68;
  color: rgba(255,255,255,0.76);
  text-shadow: 0 1px 6px rgba(0,0,0,0.4);
  margin-bottom: 40px;
}

/* Proof strip — like kmc hero keywords */
.od-hero-strip {
  display: flex;
  gap: 0;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.13);
}

.od-hero-stat {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding-right: 36px;
  margin-right: 36px;
  border-right: 1px solid rgba(255,255,255,0.13);
}

.od-hero-stat:last-child { border-right: none; margin-right: 0; }

.od-hero-stat-val {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #ffffff;
  line-height: 1;
}

.od-hero-stat-lbl {
  font-size: 12px;
  color: rgba(255,255,255,0.52);
  letter-spacing: 0.04em;
}

/* ============================================================
   2. 힐링바이오 전문성  (feed.css expertise pattern)
   ============================================================ */

.od-value-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.od-value-card {
  background: #ffffff;
  border: 1px solid rgba(74,124,89,0.14);
  border-top: 3px solid var(--od-green);
  border-radius: var(--od-radius);
  padding: 28px 24px 24px;
  transition: box-shadow 0.22s ease;
}

.od-value-card:hover {
  box-shadow: 0 4px 20px rgba(74,124,89,0.10);
}

.od-section--soft .od-value-card { background: #ffffff; }

.od-value-icon {
  width: 40px; height: 40px;
  background: var(--od-green-soft);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  color: var(--od-green);
}

.od-value-icon svg { width: 20px; height: 20px; }

.od-value-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--od-text-head);
  margin-bottom: 10px;
  line-height: 1.3;
}

.od-value-body {
  font-size: 15px;
  line-height: 1.72;
  color: var(--od-text-body);
}

/* ============================================================
   3. 적용 영역  (issue cards)
   ============================================================ */

.od-issue-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.od-issue-card {
  background: #ffffff;
  border: 1px solid var(--od-green-bdr);
  border-radius: var(--od-radius);
  padding: 34px 26px 30px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color 0.22s ease, box-shadow 0.22s ease;
}

.od-section--soft .od-issue-card { background: #ffffff; }

.od-issue-card:hover {
  border-color: var(--od-green);
  box-shadow: 0 4px 18px rgba(74,124,89,0.10);
}

.od-issue-num {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.02em;
  background: var(--od-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  line-height: 1;
}

.od-issue-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--od-text-head);
  line-height: 1.3;
}

.od-issue-body {
  font-size: 15px;
  color: var(--od-text-body);
  line-height: 1.7;
  flex: 1;
}

.od-issue-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding-top: 10px;
  margin-top: auto;
}

.od-issue-tag {
  font-size: 13px;
  font-weight: 500;
  color: var(--od-green);
  background: var(--od-green-soft);
  border-radius: 2px;
  padding: 3px 8px;
  letter-spacing: 0.03em;
}

/* ============================================================
   4. 솔루션 개요  (feed.css mech-flow pattern, two-track)
   ============================================================ */

.od-mech-header {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 24px;
}

.od-mech-track-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--od-text-meta);
  padding-bottom: 14px;
  border-bottom: 2px solid;
}

.od-mech-track-label--problem { border-color: rgba(74,124,89,0.25); }
.od-mech-track-label--solution { border-color: var(--od-green); }

.od-mech-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.od-mech-col { display: flex; flex-direction: column; gap: 14px; }

/* feed.css mech-step pattern */
.od-mech-step {
  background: #ffffff;
  border: 1px solid rgba(74,124,89,0.16);
  border-radius: var(--od-radius);
  padding: 24px 22px;
  transition: border-color 0.2s ease;
}

.od-section--soft .od-mech-step { background: #ffffff; }

.od-mech-step--solution {
  border-left: 3px solid var(--od-green);
}

.od-mech-step:hover { border-color: var(--od-green-bdr); }

.od-mech-num {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--od-green);
  background: var(--od-green-soft);
  padding: 2px 8px;
  border-radius: 100px;
  margin-bottom: 12px;
}

.od-mech-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--od-text-head);
  margin-bottom: 8px;
  line-height: 1.3;
}

.od-mech-body-text {
  font-size: 13.5px;
  line-height: 1.68;
  color: var(--od-text-body);
}

/* Key benefits  */
.od-benefit-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 52px;
  padding-top: 40px;
  border-top: 1px solid rgba(74,124,89,0.12);
}

.od-benefit-item {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-size: 15px;
  color: var(--od-text-body);
  line-height: 1.6;
}

.od-benefit-item::before {
  content: '';
  display: block;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--od-green);
  flex-shrink: 0;
  margin-top: 6px;
}

.od-benefit-item strong {
  color: var(--od-text-head);
  font-weight: 600;
}

/* ============================================================
   5. 대표 제품  (feed.css product-tab pattern, green accent)
   ============================================================ */

.od-products {
  padding: 140px 0;
  background: var(--od-warm-bg);
}

/* Tab bar */
.od-product-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid rgba(74,124,89,0.16);
  margin-bottom: 56px;
  overflow-x: auto;
  scrollbar-width: none;
}

.od-product-tabs::-webkit-scrollbar { display: none; }

.od-product-tab {
  position: relative;
  padding: 14px 32px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  color: var(--od-text-meta);
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
  margin-bottom: -1px;
}

.od-product-tab::after {
  content: '';
  position: absolute;
  bottom: -1px; left: 0; right: 0;
  height: 2px;
  background: var(--od-grad);
  transform: scaleX(0);
  transition: transform 0.22s ease;
}

.od-product-tab:hover { color: var(--od-text-head); }

.od-product-tab.is-active {
  color: var(--od-green);
  font-weight: 600;
}

.od-product-tab.is-active::after { transform: scaleX(1); }

/* Panels */
.od-product-panel { display: none; }
.od-product-panel.is-active { display: block; }

/* Showcase — feed.css 3-column (left / center / right) */
.od-product-showcase {
  display: grid;
  grid-template-columns: 0.6fr 1.8fr 0.8fr;
  gap: 56px;
  align-items: start;
}

.od-product-showcase__left { padding-top: 8px; }

.od-product-eyebrow {
  display: block;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background: var(--od-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  margin-bottom: 14px;
  margin-left: 2px;
}

.od-product-name {
  font-size: 26px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.02em;
  color: var(--od-text-head);
  margin-bottom: 24px;
}

.od-product-cta {
  display: inline-block;
  padding: 11px 22px;
  border: 1px solid var(--od-green);
  border-radius: var(--od-radius);
  font-size: 15px;
  font-weight: 500;
  color: var(--od-green);
  letter-spacing: 0.02em;
  transition: background 0.22s ease, color 0.22s ease, border-color 0.22s ease;
}

.od-product-cta:hover {
  background: var(--od-grad);
  border-color: transparent;
  color: #ffffff;
}

.od-product-showcase__center { padding-top: 8px; }

.od-product-desc {
  font-size: 17px;
  line-height: 1.78;
  color: var(--od-text-body);
  margin-bottom: 28px;
}

/* Meta rows (feed.css product-meta-block pattern) */
.od-product-meta { display: flex; flex-direction: column; }

.od-product-meta-row {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(74,124,89,0.10);
}

.od-product-meta-row:first-child {
  border-top: 1px solid rgba(74,124,89,0.10);
}

.od-product-meta-label {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--od-text-meta);
  white-space: nowrap;
  min-width: 72px;
  flex-shrink: 0;
}

.od-product-meta-val {
  font-size: 15px;
  color: var(--od-text-head);
  font-weight: 500;
  line-height: 1.5;
}

.od-product-showcase__right { padding-top: 8px; }

.od-product-img-wrap {
  border-radius: var(--od-radius);
  overflow: hidden;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--od-warm-bg);
}

.od-product-img-wrap img {
  width: 100%; height: 100%;
  object-fit: contain;
}

/* Highlight strip — feed.css pattern */
.od-highlight-strip {
  margin-top: 40px;
  padding: 24px 28px;
  border-radius: var(--od-radius);
  border-top: 1px solid rgba(74,124,89,0.10);
  border-bottom: 1px solid rgba(74,124,89,0.10);
}

.od-highlight-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.od-highlight-label {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--od-text-meta);
  white-space: nowrap;
  flex-shrink: 0;
}

.od-highlight-list {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  margin-left: 100px;
}

.od-highlight-list li {
  font-size: 15px;
  font-weight: 500;
  color: var(--od-green);
  padding: 5px 14px;
}

/* ============================================================
   6. 핵심 데이터 / KPI
   ============================================================ */

.od-data-layout {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 72px;
  align-items: start;
}

/* KPI cards 2×2 */
.od-kpi-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 32px;
}

.od-kpi-card {
  background: #ffffff;
  border: 1px solid var(--od-green-bdr);
  border-radius: var(--od-radius);
  padding: 50px 22px 40px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: box-shadow 0.22s ease;
}

.od-section--soft .od-kpi-card { background: #ffffff; }

.od-kpi-card:hover { box-shadow: 0 4px 16px rgba(74,124,89,0.10); }

.od-kpi-val {
  font-size: 60px;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
  background: var(--od-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  margin-bottom: 20px;
}

.od-kpi-label {
  font-size: 15px;
  font-weight: 600;
  color: var(--od-text-head);
  line-height: 1.4;
}

.od-kpi-note {
  font-size: 15px;
  color: var(--od-text-meta);
  margin-top: 2px;
}

/* Measurement data table */
.od-data-table-wrap {
  overflow-x: auto;
  border-radius: var(--od-radius);
  border: 1px solid rgba(74,124,89,0.16);
}

.od-data-table {
  width: 100%;
  min-width: 480px;
  border-collapse: collapse;
  font-size: 15px;
}

.od-data-table caption {
  caption-side: top;
  text-align: left;
  font-size: 15px;
  color: var(--od-text-meta);
  padding: 12px 16px 8px;
  font-weight: 500;
}

.od-data-table thead th {
  background: var(--od-green);
  color: rgba(255,255,255,0.92);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 11px 14px;
  text-align: left;
  white-space: nowrap;
}

.od-data-table tbody tr { border-bottom: 1px solid rgba(74,124,89,0.09); }
.od-data-table tbody tr:last-child { border-bottom: none; }
.od-data-table tbody tr:hover { background: var(--od-green-soft); }

.od-data-table tbody th {
  font-size: 15px;
  font-weight: 600;
  color: var(--od-text-head);
  padding: 11px 14px;
  background: var(--od-warm-bg);
  white-space: nowrap;
  text-align: left;
  border-right: 1px solid rgba(74,124,89,0.09);
}

.od-data-table tbody td {
  padding: 11px 14px;
  color: var(--od-text-body);
  vertical-align: top;
  line-height: 1.5;
}

/* ============================================================
   7. 적용범위(축산 관련)
   ============================================================ */

.od-scope-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.od-scope-card {
  border: 1px solid var(--od-green-bdr);
  border-left: 3px solid var(--od-green);
  border-radius: var(--od-radius);
  padding: 24px 22px;
  display: flex;
  align-items: center;
  gap: 14px;
  transition: box-shadow 0.22s ease, border-color 0.22s ease;
}

.od-scope-card:hover {
  box-shadow: 0 4px 16px rgba(74,124,89,0.10);
  border-color: var(--od-green);
}

.od-scope-icon {
  width: 38px; height: 38px;
  background: var(--od-green-soft);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--od-green);
  flex-shrink: 0;
}

.od-scope-icon svg { width: 18px; height: 18px; }

.od-scope-label {
  font-size: 15px;
  font-weight: 600;
  color: var(--od-text-head);
  line-height: 1.4;
}

.od-scope-note {
  margin-top: 48px;
  padding: 28px 32px;
  background: var(--od-green-soft);
  border-radius: var(--od-radius);
  font-size: 15px;
  line-height: 1.72;
  color: var(--od-text-body);
  border-left: 3px solid var(--od-green);
}

/* ============================================================
   8. 음식물쓰레기 사료화 / 퇴비화 시설
   ============================================================ */

.od-food-intro {
  font-size: 16px;
  line-height: 1.80;
  color: var(--od-text-body);
  max-width: 860px;
  margin-bottom: 48px;
}

.od-food-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.od-food-card {
  background: #ffffff;
  border: 1px solid var(--od-green-bdr);
  border-top: 3px solid var(--od-green);
  border-radius: var(--od-radius);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: box-shadow 0.22s ease;
}

.od-food-card:hover {
  box-shadow: 0 4px 20px rgba(74,124,89,0.10);
}

.od-food-card-badge {
  align-self: flex-start;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--od-green);
  background: var(--od-green-soft);
  border-radius: 2px;
  padding: 3px 8px;
}

.od-food-card-title {
  font-size: 19px;
  font-weight: 700;
  color: var(--od-text-head);
  line-height: 1.3;
}

.od-food-card-text {
  font-size: 14.5px;
  line-height: 1.76;
  color: var(--od-text-body);
}

/* Stat highlight — 사료화 시설 복합악취 수치 (KPI 세로형) */
.od-food-stat {
  margin-top: 24px;
  padding: 24px 26px;
  text-align: center;
}

.od-food-stat-val {
  display: block;
  font-size: 56px;
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
  background: var(--od-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  margin-bottom: 10px;
}

.od-food-stat-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--od-text-head);
  line-height: 1.3;
  margin-bottom: 20px;
}

.od-food-stat-note {
  font-size: 13px;
  color: var(--od-text-meta);
  line-height: 1.5;
}

/* Award images — 퇴비화 시설 상장 */
.od-food-awards {
  display: grid;
  grid-template-columns: 130px 130px;
  gap: 12px;
  margin-top: 10px;
  align-items: center;
  justify-content: center;
}

.od-food-award-img {
  border-radius: var(--od-radius);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  display: flex;
  align-items: center;
  justify-content: center;
}

.od-food-award-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.od-food-closing {
  margin-top: 48px;
  padding: 28px 32px;
  background: var(--od-green-soft);
  border-radius: var(--od-radius);
  border-left: 3px solid var(--od-green);
  font-size: 15px;
  line-height: 1.72;
  color: var(--od-text-body);
  font-style: italic;
}

/* ============================================================
   (legacy) 개선 사례  (evidence cards — kept for reference)
   ============================================================ */

.od-evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.od-evidence-card {
  background: #ffffff;
  border: 1px solid rgba(74,124,89,0.16);
  border-radius: var(--od-radius);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color 0.22s ease, box-shadow 0.22s ease;
}

.od-evidence-card:hover {
  border-color: var(--od-green-bdr);
  box-shadow: 0 4px 20px rgba(74,124,89,0.10);
}

.od-evidence-img {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--od-warm-bg);
}

.od-evidence-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.od-evidence-card:hover .od-evidence-img img { transform: scale(1.04); }

.od-evidence-body {
  padding: 24px 24px 28px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.od-evidence-badge {
  align-self: flex-start;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--od-green);
  background: var(--od-green-soft);
  border-radius: 2px;
  padding: 3px 8px;
}

.od-evidence-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--od-text-head);
  line-height: 1.35;
}

.od-evidence-sub {
  font-size: 13px;
  font-weight: 500;
  color: var(--od-green);
}

.od-evidence-text {
  font-size: 13.5px;
  color: var(--od-text-body);
  line-height: 1.68;
  flex: 1;
}

/* Evidence sub-table (for Case 1 measurement data) */
.od-ev-table-wrap {
  overflow-x: auto;
  margin-top: 12px;
  border-radius: var(--od-radius);
  border: 1px solid rgba(74,124,89,0.12);
}

.od-ev-table {
  width: 100%;
  min-width: 380px;
  border-collapse: collapse;
  font-size: 12px;
}

.od-ev-table thead th {
  background: var(--od-warm-bg);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--od-text-meta);
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid rgba(74,124,89,0.12);
}

.od-ev-table tbody th {
  font-weight: 600;
  color: var(--od-text-head);
  padding: 7px 10px;
  background: var(--od-warm-bg);
  border-right: 1px solid rgba(74,124,89,0.10);
  border-bottom: 1px solid rgba(74,124,89,0.10);
  white-space: nowrap;
}

.od-ev-table tbody td {
  padding: 7px 10px;
  color: var(--od-text-body);
  border-bottom: 1px solid rgba(74,124,89,0.10);
}

.od-ev-table tbody tr:last-child th,
.od-ev-table tbody tr:last-child td { border-bottom: none; }

/* ============================================================
   9. 연구 및 기술 신뢰  (kmc trust-grid + feed trust-card)
   ============================================================ */

/* top 2-column layout (kmc pattern) */
.od-trust-top {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 72px;
  align-items: start;
  margin-bottom: 64px;
}

.od-trust-message {
  font-size: 22px;
  font-weight: 600;
  color: var(--od-text-head);
  line-height: 1.5;
  letter-spacing: -0.01em;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(74,124,89,0.12);
}

.od-trust-visual {
  border-radius: var(--od-radius);
  overflow: hidden;
}
.od-trust-visual img { width: 100%; height: auto; }

/* trust card grid (feed pattern) */
.od-trust-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.od-trust-card {
  background: #ffffff;
  border: 1px solid rgba(74,124,89,0.16);
  border-radius: var(--od-radius);
  overflow: hidden;
  transition: border-color 0.22s ease, box-shadow 0.22s ease;
}

.od-section--soft .od-trust-card { background: #ffffff; }

.od-trust-card:hover {
  border-color: var(--od-green-bdr);
  box-shadow: 0 4px 20px rgba(74,124,89,0.08);
}

.od-trust-card-header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 24px 26px 20px;
}

.od-trust-icon {
  width: 38px; height: 38px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--od-green);
  background: var(--od-green-soft);
}

.od-trust-icon svg { width: 20px; height: 20px; }

.od-trust-card-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--od-text-head);
  line-height: 1.35;
}

.od-trust-credential {
  display: inline-block;
  margin: 0 26px 16px;
  font-size: 12px;
  font-weight: 500;
  color: var(--od-green);
  background: var(--od-green-soft);
  border-radius: 2px;
  padding: 4px 10px;
  letter-spacing: 0.02em;
}

/* feed trust-list pattern */
.od-trust-list {
  padding: 4px 26px 24px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.od-trust-list li {
  font-size: 14px;
  line-height: 1.62;
  color: var(--od-text-body);
  padding-left: 14px;
  position: relative;
}

.od-trust-list li::before {
  position: absolute;
  left: 0;
  color: var(--od-green);
  font-weight: 700;
}

/* Document cards row */
.od-trust-docs {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 52px;
  padding-top: 44px;
  border-top: 1px solid rgba(74,124,89,0.12);
}

.od-trust-doc {
  flex: 1;
  min-width: 180px;
  background: var(--od-warm-bg);
  border: 1px solid rgba(74,124,89,0.14);
  border-radius: var(--od-radius);
  padding: 18px 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.od-trust-doc-tag {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--od-green);
}

.od-trust-doc-title {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--od-text-head);
  line-height: 1.4;
}

.od-trust-doc-meta {
  font-size: 12px;
  color: var(--od-text-meta);
  line-height: 1.5;
}

/* ============================================================
   9. CTA  (kmc dark-green CTA pattern)
   ============================================================ */

.od-cta {
  background: #fff;
  padding: 120px 0;
}

.od-cta-block {
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.od-cta-kicker {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.38);
  margin-bottom: 22px;
}

.od-cta-title {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.025em;
  color: var(--od-footer-bg);
  margin-bottom: 18px;
}

.od-cta-body {
  font-size: 16px;
  line-height: 1.75;
  color: rgba(255,255,255,0.58);
  margin-bottom: 44px;
}

.od-cta-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}

.od-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 34px;
  border-radius: var(--od-radius);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
  text-decoration: none;
}

.od-cta-btn:hover { opacity: 0.86; transform: translateY(-1px); }

.od-cta-btn--primary {
  background: #ffffff;
  color: var(--od-footer-bg);
  border: 1px solid transparent;
}

.od-cta-btn--secondary {
  background: #ffffff;
  color: var(--od-footer-bg);
  border: 1px solid rgba(255,255,255,0.26);
}

.od-cta-btn--secondary:hover {
  border-color: rgba(255,255,255,0.52);
  color: #ffffff;
}

.od-cta-address {
  margin-top: 36px;
  font-size: 13px;
  color: rgba(255,255,255,0.26);
  letter-spacing: 0.04em;
}

/* ============================================================
   FOOTER
   ============================================================ */

.site-footer {
  background: var(--od-footer-bg);
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 28px 0;
}

.footer-copy {
  font-size: 13px;
  color: rgba(255,255,255,0.26);
  text-align: center;
  letter-spacing: 0.02em;
}

/* ============================================================
   RESPONSIVE — 1100px (Tablet)
   ============================================================ */

@media (max-width: 1100px) {

  .od-shell   { padding: 0 32px; }
  .header-inner { padding: 0 32px; }

  .header-nav { position: static; transform: none; margin-left: 28px; }
  .nav-list   { gap: 28px; }
  .header-right { display: none; }
  .header-nav   { display: none; }
  .mobile-menu-btn { display: flex; }
  .mobile-nav   { display: block; }

  .od-section { padding: 100px 0; }

  .od-hero    { height: 460px; }
  .od-hero-title { font-size: 40px; }

  .od-section-title { font-size: 32px; }

  .od-value-grid { grid-template-columns: repeat(2, 1fr); }
  .od-issue-grid { grid-template-columns: repeat(2, 1fr); }

  .od-mech-header,
  .od-mech-body { grid-template-columns: 1fr; gap: 20px; }

  .od-product-showcase {
    grid-template-columns: 1fr 1.6fr;
    gap: 36px;
  }
  .od-product-showcase__right { display: none; }

  .od-data-layout { grid-template-columns: 1fr; gap: 40px; }
  .od-kpi-group { grid-template-columns: repeat(2, 1fr); }

  .od-evidence-grid { grid-template-columns: repeat(2, 1fr); }

  .od-scope-grid { grid-template-columns: repeat(2, 1fr); }
  .od-food-layout { grid-template-columns: 1fr; }

  .od-trust-top { grid-template-columns: 1fr; gap: 36px; }
  .od-trust-grid { grid-template-columns: 1fr; }

}

/* ============================================================
   RESPONSIVE — 768px (Mobile)
   ============================================================ */

@media (max-width: 768px) {

  .od-shell     { padding: 0 20px; }
  .header-inner { padding: 0 20px; }

  .header-nav   { display: none; }
  .mobile-menu-btn { display: flex; }
  .mobile-nav   { display: block; }

  .od-section   { padding: 72px 0; }
  .od-section-heading { margin-bottom: 44px; }

  .od-hero { height: auto; min-height: 420px; padding: 110px 0 60px; align-items: flex-start; }
  .od-hero-copy { padding-top: 0; }
  .od-hero-title { font-size: 32px; }
  .od-hero-lead  { font-size: 15.5px; }
  .od-hero-strip { gap: 0; flex-wrap: wrap; }
  .od-hero-stat  { padding-right: 24px; margin-right: 24px; }
  .od-hero-stat-val { font-size: 24px; }

  .od-section-title { font-size: 26px; }
  .od-section-lead  { font-size: 15px; }

  .od-value-grid { grid-template-columns: 1fr; }
  .od-issue-grid { grid-template-columns: 1fr; }

  .od-mech-header,
  .od-mech-body  { grid-template-columns: 1fr; }

  .od-products   { padding: 72px 0; }

  .od-product-showcase {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .od-product-showcase__right { display: none; }

  .od-product-showcase__left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  .od-kpi-group { grid-template-columns: 1fr 1fr; }

  .od-evidence-grid { grid-template-columns: 1fr; }

  .od-scope-grid { grid-template-columns: 1fr; }
  .od-food-layout { grid-template-columns: 1fr; }
  .od-food-card { padding: 28px 22px; }
  .od-food-closing { padding: 22px 22px; }
  .od-scope-note { padding: 22px 22px; }

  .od-trust-grid { grid-template-columns: 1fr; }
  .od-trust-docs { flex-direction: column; }

  .od-cta { padding: 80px 0; }
  .od-cta-title { font-size: 26px; }
  .od-cta-actions { flex-direction: column; align-items: center; }
  .od-cta-btn { width: 100%; max-width: 300px; text-align: center; }

  .od-highlight-inner { flex-direction: column; align-items: flex-start; }

}

/* Header dropdown navigation */
.nav-item {
  position: relative;
}

.nav-submenu {
  position: absolute;
  top: calc(100% + 18px);
  left: 50%;
  min-width: 176px;
  padding: 10px;
  background: rgba(5, 12, 14, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.nav-submenu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -18px;
  height: 18px;
}

.nav-item:hover .nav-submenu,
.nav-item:focus-within .nav-submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.nav-submenu-link {
  display: block;
  padding: 10px 12px;
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: 0.01em;
  white-space: nowrap;
  transition: color 0.18s ease, background 0.18s ease;
}

.nav-submenu-link:hover,
.nav-submenu-link:focus {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.10);
}

/* Food-style alignment overrides: odor pages */
.odor2-page {
  --od-food-ink: #111827;
  --od-food-body: #4b5563;
  --od-food-muted: #6b7280;
  --od-food-line: #e5e7eb;
  --od-food-soft: #f8fafc;
  --od-food-navy: #121927;
  --od-food-gold: #d2aa4c;
  --od-grad: #121927;
  --od-green: #121927;
  --od-green-mid: #273145;
  --od-green-light: #d2aa4c;
  --od-green-soft: rgba(210, 170, 76, 0.10);
  --od-green-bdr: rgba(210, 170, 76, 0.28);
  --od-warm-bg: #f8fafc;
  --od-text-head: #111827;
  --od-text-body: #4b5563;
  --od-text-meta: #6b7280;
  --od-footer-bg: #121927;
  --od-radius: 2px;
}

.odor2-page .od-main {
  background: #ffffff;
  color: var(--od-food-ink);
}

.odor2-page .od-hero {
  min-height: 760px;
  background: var(--od-food-navy);
}

.odor2-page .od-hero::before {
  background: linear-gradient(90deg, rgba(10, 16, 28, 0.86) 0%, rgba(10, 16, 28, 0.58) 48%, rgba(10, 16, 28, 0.18) 100%);
}

.odor2-page .od-hero-copy {
  max-width: 780px;
}

.odor2-page .od-hero-title {
  max-width: 780px;
  color: #ffffff;
  font-size: 76px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0;
}

.odor2-page .od-hero-lead {
  max-width: 700px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.7;
}

.odor2-page .od-hero-image-wrap {
  border-radius: 0;
  box-shadow: none;
}

.odor2-page .od-section,
.odor2-page .od-section--soft,
.odor2-page .od-products {
  padding: 124px 0;
  background: #ffffff;
}

.odor2-page .od-section--soft {
  background: var(--od-food-soft);
}

.odor2-page .od-section-heading {
  margin-bottom: 54px;
}

.odor2-page .od-kicker {
  color: var(--od-food-gold);
  background: none;
  -webkit-text-fill-color: currentColor;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0;
}

.odor2-page .od-section-title {
  color: var(--od-food-ink);
  font-size: 54px;
  font-weight: 800;
  line-height: 1.16;
  letter-spacing: 0;
}

.odor2-page .od-section-lead,
.odor2-page .od-card-desc,
.odor2-page .od-card-list,
.odor2-page .od-card-note,
.odor2-page .od-product-desc,
.odor2-page .od-data-desc {
  color: var(--od-food-body);
}

.odor2-page .od-value-grid,
.odor2-page .od-issue-grid,
.odor2-page .od-benefit-row,
.odor2-page .od-scope-grid,
.odor2-page .od-food-grid,
.odor2-page .od-trust-grid,
.odor2-page .od-mech-grid {
  gap: 0;
  border-top: 2px solid var(--od-food-ink);
  border-left: 1px solid var(--od-food-line);
}

.odor2-page .od-value-card,
.odor2-page .od-issue-card,
.odor2-page .od-benefit-item,
.odor2-page .od-scope-card,
.odor2-page .od-food-card,
.odor2-page .od-trust-card,
.odor2-page .od-mech-card,
.odor2-page .od-kpi-card {
  border: 0;
  border-right: 1px solid var(--od-food-line);
  border-bottom: 1px solid var(--od-food-line);
  border-radius: 0;
  box-shadow: none;
  background: #ffffff;
}

.odor2-page .od-value-card:hover,
.odor2-page .od-issue-card:hover,
.odor2-page .od-trust-card:hover,
.odor2-page .od-kpi-card:hover {
  transform: none;
  box-shadow: none;
}

.odor2-page .od-card-number,
.odor2-page .od-step-label,
.odor2-page .od-product-category,
.odor2-page .od-kpi-label {
  color: var(--od-food-gold);
  background: transparent;
  -webkit-text-fill-color: currentColor;
  letter-spacing: 0;
}

.odor2-page .od-card-title,
.odor2-page .od-product-title,
.odor2-page .od-mech-title,
.odor2-page .od-kpi-value {
  color: var(--od-food-ink);
  letter-spacing: 0;
}

.odor2-page .od-product-panel,
.odor2-page .od-data-layout {
  border-radius: 0;
  box-shadow: none;
}

.odor2-page .od-product-image-wrap {
  border-radius: 0;
  background: var(--od-food-soft);
  box-shadow: none;
}

.odor2-page .od-cta {
  background: var(--od-food-navy);
}

.odor2-page .od-cta-block {
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.odor2-page .od-cta-btn,
.odor2-page .od-cta-btn--primary,
.odor2-page .od-product-cta {
  border-radius: 2px;
  background: var(--od-food-gold);
  color: #111827;
  box-shadow: none;
}

.odor2-page .od-cta-btn--line {
  border-color: rgba(255, 255, 255, 0.42);
  background: transparent;
  color: #ffffff;
}

@media (max-width: 1024px) {
  .odor2-page .od-hero {
    min-height: 640px;
  }

  .odor2-page .od-hero-title {
    font-size: 56px;
  }

  .odor2-page .od-section,
  .odor2-page .od-section--soft,
  .odor2-page .od-products {
    padding: 92px 0;
  }

  .odor2-page .od-section-title {
    font-size: 42px;
  }
}

@media (max-width: 640px) {
  .odor2-page .od-hero {
    min-height: 560px;
  }

  .odor2-page .od-hero-title {
    font-size: 40px;
  }

  .odor2-page .od-hero-lead {
    font-size: 18px;
  }

  .odor2-page .od-section,
  .odor2-page .od-section--soft,
  .odor2-page .od-products {
    padding: 72px 0;
  }

  .odor2-page .od-section-title {
    font-size: 32px;
  }

  .odor2-page .od-value-grid,
  .odor2-page .od-issue-grid,
  .odor2-page .od-benefit-row,
  .odor2-page .od-scope-grid,
  .odor2-page .od-food-grid,
  .odor2-page .od-trust-grid,
  .odor2-page .od-mech-grid {
    border-left: 0;
  }
}

.odor2-page .od-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.odor2-page .od-hero-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border: 1px solid rgba(255, 255, 255, 0.42);
  border-radius: 2px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0;
}

.odor2-page .od-hero-btn--primary {
  border-color: var(--od-food-gold);
  background: var(--od-food-gold);
  color: #111827;
}

.odor2-page .od-hero-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  max-width: 900px;
  margin-top: 42px;
  border-top: 1px solid rgba(255, 255, 255, 0.34);
  border-left: 1px solid rgba(255, 255, 255, 0.18);
}

.odor2-page .od-hero-summary div {
  padding: 22px 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.odor2-page .od-hero-summary dt {
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: 0;
}

.odor2-page .od-hero-summary dd {
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  line-height: 1.6;
}

.odor2-page .od-local-nav {
  position: sticky;
  top: 72px;
  z-index: 90;
  border-bottom: 1px solid var(--od-food-line);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.odor2-page .od-local-nav__inner {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}

.odor2-page .od-local-nav__inner::-webkit-scrollbar {
  display: none;
}

.odor2-page .od-local-nav a {
  flex: 0 0 auto;
  padding: 20px 18px;
  color: var(--od-food-muted);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
}

.odor2-page .od-local-nav a:hover,
.odor2-page .od-local-nav a:focus {
  color: var(--od-food-ink);
}

@media (max-width: 1024px) {
  .odor2-page .od-hero-summary {
    grid-template-columns: 1fr;
    max-width: 620px;
  }
}

@media (max-width: 640px) {
  .odor2-page .od-hero-actions {
    margin-top: 26px;
  }

  .odor2-page .od-hero-btn {
    width: 100%;
  }

  .odor2-page .od-hero-summary {
    margin-top: 28px;
  }

  .odor2-page .od-local-nav {
    top: 64px;
  }

  .odor2-page .od-local-nav a {
    padding: 16px 14px;
    font-size: 14px;
  }
}

/* Food-format unification pass */
.food-format-unified.odor2-page .od-value-grid,
.food-format-unified.odor2-page .od-issue-grid,
.food-format-unified.odor2-page .od-scope-grid,
.food-format-unified.odor2-page .od-trust-grid,
.food-format-unified.odor2-page .od-food-grid,
.food-format-unified.odor2-page .od-evidence-grid {
  display: grid;
  gap: 0;
  margin-top: 58px;
  border-top: 2px solid var(--od-food-ink);
  border-left: 1px solid var(--od-food-line);
  background: #ffffff;
}

.food-format-unified.odor2-page .od-value-grid,
.food-format-unified.odor2-page .od-issue-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.food-format-unified.odor2-page .od-scope-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.food-format-unified.odor2-page .od-trust-grid,
.food-format-unified.odor2-page .od-food-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.food-format-unified.odor2-page .od-value-card,
.food-format-unified.odor2-page .od-issue-card,
.food-format-unified.odor2-page .od-scope-card,
.food-format-unified.odor2-page .od-trust-card,
.food-format-unified.odor2-page .od-food-card,
.food-format-unified.odor2-page .od-evidence-card {
  min-height: 230px;
  padding: 38px 34px;
  border: 0;
  border-right: 1px solid var(--od-food-line);
  border-bottom: 1px solid var(--od-food-line);
  border-radius: 0;
  box-shadow: none;
}

.food-format-unified.odor2-page .od-value-grid,
.food-format-unified.odor2-page .od-scope-grid,
.food-format-unified.odor2-page .od-trust-grid {
  counter-reset: odgrid;
}

.food-format-unified.odor2-page .od-value-card,
.food-format-unified.odor2-page .od-scope-card,
.food-format-unified.odor2-page .od-trust-card {
  counter-increment: odgrid;
}

.food-format-unified.odor2-page .od-value-card::before,
.food-format-unified.odor2-page .od-scope-card::before,
.food-format-unified.odor2-page .od-trust-card::before {
  content: counter(odgrid, decimal-leading-zero);
  display: block;
  margin-bottom: 30px;
  color: var(--od-food-gold);
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}

.food-format-unified.odor2-page .od-value-icon,
.food-format-unified.odor2-page .od-trust-icon {
  display: none;
}

.food-format-unified.odor2-page .od-issue-num {
  display: block;
  margin-bottom: 30px;
  color: var(--od-food-gold);
  font-size: 28px;
  font-weight: 900;
}

.food-format-unified.odor2-page .od-value-title,
.food-format-unified.odor2-page .od-issue-title,
.food-format-unified.odor2-page .od-scope-title,
.food-format-unified.odor2-page .od-trust-card-title,
.food-format-unified.odor2-page .od-food-card-title {
  margin: 0 0 14px;
  color: var(--od-food-ink);
  font-size: 23px;
  font-weight: 800;
  line-height: 1.35;
}

.food-format-unified.odor2-page .od-value-body,
.food-format-unified.odor2-page .od-issue-body,
.food-format-unified.odor2-page .od-scope-body,
.food-format-unified.odor2-page .od-food-card-text,
.food-format-unified.odor2-page .od-trust-list {
  margin: 0;
  color: var(--od-food-body);
  font-size: 16px;
  line-height: 1.74;
}

.food-format-unified.odor2-page .od-issue-tags {
  margin-top: 24px;
  gap: 8px;
}

.food-format-unified.odor2-page .od-issue-tag {
  border-radius: 0;
  border-color: var(--od-food-line);
  background: transparent;
  color: var(--od-food-muted);
}

.food-format-unified.odor2-page .od-mech-header {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: 58px;
  border-top: 2px solid var(--od-food-ink);
  border-left: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-mech-track-label {
  margin: 0;
  padding: 18px 24px;
  border-right: 1px solid var(--od-food-line);
  border-bottom: 1px solid var(--od-food-line);
  background: #ffffff;
  color: var(--od-food-gold);
  font-size: 14px;
  font-weight: 900;
}

.food-format-unified.odor2-page .od-mech-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-left: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-mech-col {
  border-right: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-mech-step {
  min-height: 164px;
  padding: 30px 28px;
  border: 0;
  border-bottom: 1px solid var(--od-food-line);
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}

.food-format-unified.odor2-page .od-mech-step--solution {
  border-left: 3px solid #4f7f5d;
}

.food-format-unified.odor2-page .od-mech-num {
  display: block;
  margin-bottom: 18px;
  color: var(--od-food-gold);
  font-size: 24px;
  font-weight: 900;
}

.food-format-unified.odor2-page .od-mech-title {
  margin: 0 0 10px;
  color: var(--od-food-ink);
  font-size: 22px;
  font-weight: 800;
}

.food-format-unified.odor2-page .od-mech-body-text {
  color: var(--od-food-body);
  font-size: 16px;
  line-height: 1.72;
}

.food-format-unified.odor2-page .od-benefit-row {
  display: block;
  margin-top: 58px;
  border-top: 2px solid var(--od-food-ink);
  border-left: 0;
}

.food-format-unified.odor2-page .od-benefit-item {
  padding: 26px 0;
  border: 0;
  border-bottom: 1px solid var(--od-food-line);
  background: transparent;
}

.food-format-unified.odor2-page .od-benefit-item::before {
  display: none;
}

.food-format-unified.odor2-page .od-product-panel.is-active,
.food-format-unified.odor2-page .od-data-layout {
}

.food-format-unified.odor2-page .od-product-showcase {
  grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1fr) minmax(280px, 0.72fr);
  gap: 48px;
}

.food-format-unified.odor2-page .od-product-name {
  color: var(--od-food-ink);
  font-size: 42px;
  font-weight: 800;
  line-height: 1.15;
}

.food-format-unified.odor2-page .od-product-desc {
  font-size: 18px;
  line-height: 1.8;
}

.food-format-unified.odor2-page .od-product-meta-row {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 22px;
  padding: 18px 0;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-product-meta-row:first-child {
  border-top: 1px solid var(--od-food-line);
}

@media (max-width: 1024px) {
  .food-format-unified.odor2-page .od-value-grid,
  .food-format-unified.odor2-page .od-issue-grid,
  .food-format-unified.odor2-page .od-product-showcase {
    grid-template-columns: 1fr;
  }

  .food-format-unified.odor2-page .od-product-showcase__right {
    display: block;
    width: min(100%, 420px);
    margin: 0 auto;
    padding-top: 0;
  }
}

@media (max-width: 640px) {
  .food-format-unified.odor2-page .od-value-grid,
  .food-format-unified.odor2-page .od-issue-grid,
  .food-format-unified.odor2-page .od-scope-grid,
  .food-format-unified.odor2-page .od-trust-grid,
  .food-format-unified.odor2-page .od-mech-header,
  .food-format-unified.odor2-page .od-mech-body,
  .food-format-unified.odor2-page .od-product-showcase,
  .food-format-unified.odor2-page .od-product-meta-row {
    grid-template-columns: 1fr;
  }

  .food-format-unified.odor2-page .od-value-card,
  .food-format-unified.odor2-page .od-issue-card,
  .food-format-unified.odor2-page .od-scope-card,
  .food-format-unified.odor2-page .od-trust-card,
  .food-format-unified.odor2-page .od-mech-step {
    min-height: 0;
    padding: 30px 24px;
  }
}

/* Odor-control page: food-page rhythm */
.food-format-unified.odor2-page .od-hero--premium {
  min-height: 100vh;
  height: auto;
  display: flex;
  align-items: center;
  padding: 152px 0 76px;
  overflow: hidden;
  background: #f7f8fa;
}

.food-format-unified.odor2-page .od-hero--premium::before {
  inset: 72px 0 auto;
  height: 1px;
  background: rgba(9, 15, 24, .08);
}

.food-format-unified.odor2-page .od-hero--premium > .od-shell {
  position: relative;
  z-index: 2;
}

.food-format-unified.odor2-page .od-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(540px, 1fr);
  gap: 96px;
  align-items: center;
}

.food-format-unified.odor2-page .od-hero--premium .od-hero-copy {
  max-width: none;
  padding: 0;
  text-align: left;
}

.food-format-unified.odor2-page .od-hero--premium .od-kicker,
.food-format-unified.odor2-page .od-statement .od-kicker {
  margin: 0 0 16px;
  color: var(--od-food-gold);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.food-format-unified.odor2-page .od-hero--premium .od-hero-title {
  max-width: 880px;
  margin: 0;
  color: var(--od-food-ink);
  text-shadow: none;
  font-size: 86px;
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: 0;
}

.food-format-unified.odor2-page .od-hero--premium .od-hero-lead {
  max-width: 760px;
  margin: 30px 0 0;
  color: var(--od-food-ink);
  text-shadow: none;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.55;
}

.food-format-unified.odor2-page .od-hero-text {
  max-width: 780px;
  margin: 20px 0 0;
  color: var(--od-food-body);
  font-size: 17px;
  line-height: 1.85;
}

.food-format-unified.odor2-page .od-hero--premium .od-hero-media {
  position: relative;
  inset: auto;
  z-index: auto;
  overflow: hidden;
}

.food-format-unified.odor2-page .od-hero--premium .od-hero-image-wrap {
  display: block;
  width: 700px;
  height: 500px;
  overflow: hidden;
}

.food-format-unified.odor2-page .od-hero--premium .od-hero-image-wrap img {
  object-fit: contain;
  object-position: center;
  filter: none;
}

.food-format-unified.odor2-page .od-hero--premium .od-hero-actions {
  gap: 10px;
  margin-top: 36px;
}

.food-format-unified.odor2-page .od-hero-btn,
.food-format-unified.odor2-page .od-product-cta,
.food-format-unified.odor2-page .od-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border-radius: 4px;
  font-weight: 800;
  line-height: 1;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.food-format-unified.odor2-page .od-hero--premium .od-hero-btn--primary,
.food-format-unified.odor2-page .od-product-cta,
.food-format-unified.odor2-page .od-cta-btn--primary {
  border-color: var(--od-food-gold);
  background: var(--od-food-gold);
  color: var(--od-food-ink);
}

.food-format-unified.odor2-page .od-hero-btn--ghost,
.food-format-unified.odor2-page .od-cta-btn--ghost {
  border: 1px solid rgba(9, 15, 24, .28);
  background: transparent;
  color: var(--od-food-ink);
}

.food-format-unified.odor2-page .od-hero--premium .od-hero-btn:hover,
.food-format-unified.odor2-page .od-hero--premium .od-hero-btn:focus,
.food-format-unified.odor2-page .od-product-cta:hover,
.food-format-unified.odor2-page .od-product-cta:focus {
  border-color: var(--od-food-ink);
  background: var(--od-food-ink);
  color: #ffffff;
}

.food-format-unified.odor2-page .od-product-cta-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.food-format-unified.odor2-page .od-product-cta--store {
  display: inline-flex;
  width: fit-content;
  min-height: 36px;
  padding: 0 14px;
  border-color: var(--od-food-ink);
  background: #ffffff;
  color: var(--od-food-ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.food-format-unified.odor2-page .od-product-cta--store:hover,
.food-format-unified.odor2-page .od-product-cta--store:focus {
  border-color: #9f7b2e;
  background: #9f7b2e;
  color: #ffffff;
}

.food-format-unified.odor2-page .od-hero-btn:focus-visible,
.food-format-unified.odor2-page .od-product-cta:focus-visible,
.food-format-unified.odor2-page .od-cta-btn:focus-visible {
  outline: 2px solid var(--od-food-gold);
  outline-offset: 3px;
}

.food-format-unified.odor2-page .od-statement {
  display: grid;
  grid-template-columns: minmax(460px, .5fr) minmax(0, 1.34fr);
  gap: 26px;
  align-items: start;
  margin-bottom: 52px;
}

.food-format-unified.odor2-page .od-statement .od-kicker {
  margin: 0;
}

.food-format-unified.odor2-page .od-statement h2 {
  grid-column: 2;
  grid-row: 1;
  max-width: 780px;
  margin: 0;
  color: var(--od-food-ink);
  font-size: 54px;
  font-weight: 800;
  line-height: 1.16;
}

.food-format-unified.odor2-page .od-statement p:not(.od-kicker) {
  grid-column: 2;
  max-width: 780px;
  margin: 20px 0 0;
  color: var(--od-food-body);
  font-size: 17px;
  line-height: 1.85;
}

.food-format-unified.odor2-page .od-proof-lines {
  border-top: 2px solid var(--od-food-ink);
}

.food-format-unified.odor2-page .od-proof-lines article {
  display: grid;
  grid-template-columns: 70px minmax(360px, .26fr) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  padding: 32px 0;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-proof-lines span,
.food-format-unified.odor2-page .od-trust-number {
  color: var(--od-food-gold);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.4;
}

.food-format-unified.odor2-page .od-proof-lines h3 {
  margin: 0;
  color: var(--od-food-ink);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.35;
}

.food-format-unified.odor2-page .od-proof-lines p {
  margin: 0;
  color: var(--od-food-body);
  font-size: 16px;
  line-height: 1.74;
}

.food-format-unified.odor2-page .od-product-cta {
  padding: 0 24px;
}

.food-format-unified.odor2-page .od-trust-ledger {
  margin-top: 58px;
  border-top: 2px solid var(--od-food-ink);
}

.food-format-unified.odor2-page .od-trust-ledger article {
  display: grid;
  grid-template-columns: 72px minmax(280px, .7fr) minmax(0, 1.3fr);
  gap: 28px;
  padding: 34px 0;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-trust-number {
  padding-top: 4px;
}

.food-format-unified.odor2-page .od-trust-heading h3 {
  margin: 0 0 12px;
  color: var(--od-food-ink);
  font-size: 25px;
  font-weight: 800;
  line-height: 1.35;
}

.food-format-unified.odor2-page .od-trust-heading p,
.food-format-unified.odor2-page .od-trust-list li {
  color: var(--od-food-body);
  font-size: 16px;
  line-height: 1.75;
}

.food-format-unified.odor2-page .od-trust-list {
  display: grid;
  align-content: start;
  gap: 0;
  padding: 0;
}

.food-format-unified.odor2-page .od-trust-list li {
  position: relative;
  padding: 9px 0 9px 16px;
  border-top: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-trust-list li::before {
  content: "";
  position: absolute;
  top: 21px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--od-food-gold);
}

/* 특허·연구·제조·공급 역량은 점 표기 없이 근거 문장 자체를 읽도록 정리한다. */
.food-format-unified.odor2-page .od-trust-ledger .od-trust-list li {
  padding-left: 0;
}

.food-format-unified.odor2-page .od-trust-ledger .od-trust-list li::before {
  display: none;
}

/* D농장 현장 적용 사례는 다른 데이터 섹션과 분리해 현장 결과를 집중해서 읽도록 구성한다. */
.food-format-unified.odor2-page .od-section--farm-dark {
  background: #111a2a;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-kicker {
  color: var(--od-food-gold);
}

.food-format-unified.odor2-page .od-section--farm-dark .od-section-title {
  color: #ffffff;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-section-lead {
  color: rgba(255, 255, 255, 0.74);
}

.food-format-unified.odor2-page .od-section--farm-dark .od-data-table-wrap {
  border-color: rgba(255, 255, 255, 0.2);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.035);
}

.food-format-unified.odor2-page .od-section--farm-dark .od-data-table thead th {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-data-table tbody tr {
  border-bottom-color: rgba(255, 255, 255, 0.13);
}

.food-format-unified.odor2-page .od-section--farm-dark .od-data-table tbody tr:hover {
  background: rgba(216, 174, 73, 0.1);
}

.food-format-unified.odor2-page .od-section--farm-dark .od-data-table tbody th {
  border-right-color: rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.045);
  color: #ffffff;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-data-table tbody td {
  color: rgba(255, 255, 255, 0.74);
}

.food-format-unified.odor2-page .od-section--farm-dark .od-data-table tbody td:last-child {
  color: #ffffff;
  font-weight: 800;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-kpi-card {
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: none;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-kpi-card:hover {
  box-shadow: none;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-kpi-val {
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: #ffffff;
  color: #ffffff;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-kpi-label {
  color: #ffffff;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-kpi-note {
  color: rgba(255, 255, 255, 0.62);
}

/* 보조사료 M축산 사례와 동일한 통계 카드 구조를 D농장 사례에만 적용한다. */
.food-format-unified.odor2-page .od-section--farm-dark .od-kpi-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-kpi-group .farm-stat-card {
  display: flex;
  flex-direction: column;
  aspect-ratio: auto;
  min-height: 208px;
  padding: 24px 16px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0;
  background: #222c3c;
  color: #ffffff;
  text-align: center;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-kpi-group .farm-stat-label {
  margin-bottom: 20px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-kpi-group .farm-stat-value {
  margin-bottom: 24px;
  color: #ffffff;
  font-size: 50px;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-kpi-group .farm-stat-unit {
  font-size: 22px;
  font-weight: 700;
}

.food-format-unified.odor2-page .od-section--farm-dark .od-kpi-group .farm-stat-badge {
  display: inline-block;
  padding: 5px 13px;
  border-radius: 100px;
  background: rgba(216, 174, 73, 0.16);
  color: #edc665;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

@media (max-width: 640px) {
  .food-format-unified.odor2-page .od-section--farm-dark .od-kpi-group .farm-stat-card {
    aspect-ratio: auto;
    min-height: 172px;
    padding: 20px 12px;
  }

  .food-format-unified.odor2-page .od-section--farm-dark .od-kpi-group .farm-stat-value {
    font-size: 32px;
  }

  .food-format-unified.odor2-page .od-section--farm-dark .od-kpi-group .farm-stat-unit {
    font-size: 18px;
  }
}

.food-format-unified.odor2-page .od-trust-list li:last-child {
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-cta--premium {
  padding: 126px 0;
  background: var(--od-food-navy);
  color: #ffffff;
}

.food-format-unified.odor2-page .od-cta-panel {
  display: grid;
  grid-template-columns: minmax(340px, .72fr) minmax(0, 1fr);
  gap: 72px;
  align-items: start;
}

.food-format-unified.odor2-page .od-cta-panel .od-kicker {
  color: var(--od-food-gold);
}

.food-format-unified.odor2-page .od-cta-panel h2 {
  margin: 0;
  color: #ffffff;
  font-size: 54px;
  font-weight: 800;
  line-height: 1.16;
}

.food-format-unified.odor2-page .od-cta-panel p:not(.od-kicker) {
  max-width: 680px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 17px;
  line-height: 1.85;
}

.food-format-unified.odor2-page .od-cta-actions {
  justify-content: flex-end;
  margin-top: 8px;
}

.food-format-unified.odor2-page .od-cta-btn {
  padding: 0 24px;
}

.food-format-unified.odor2-page .od-cta-btn--ghost {
  border-color: rgba(255, 255, 255, .38);
  color: #ffffff;
}

.food-format-unified.odor2-page .od-cta-btn--store {
  border-color: rgba(255, 255, 255, .38);
  background: transparent;
  color: #ffffff;
}

.food-format-unified.odor2-page .od-cta-btn:hover,
.food-format-unified.odor2-page .od-cta-btn:focus {
  border-color: #ffffff;
  background: #ffffff;
  color: var(--od-food-ink);
  opacity: 1;
  transform: none;
}

@media (max-width: 1320px) {
  .food-format-unified.odor2-page .od-hero-grid,
  .food-format-unified.odor2-page .od-statement {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .food-format-unified.odor2-page .od-statement h2,
  .food-format-unified.odor2-page .od-statement p:not(.od-kicker) {
    grid-column: auto;
    grid-row: auto;
  }

  .food-format-unified.odor2-page .od-hero--premium .od-hero-image-wrap {
    height: 520px;
  }
}

@media (max-width: 1024px) {
  .food-format-unified.odor2-page .od-hero--premium {
    padding: 126px 0 58px;
  }

  .food-format-unified.odor2-page .od-hero--premium .od-hero-title {
    font-size: 58px;
  }

  .food-format-unified.odor2-page .od-hero--premium .od-hero-lead {
    font-size: 22px;
  }

  .food-format-unified.odor2-page .od-statement h2,
  .food-format-unified.odor2-page .od-cta-panel h2 {
    font-size: 40px;
  }

  .food-format-unified.odor2-page .od-proof-lines article {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 18px 24px;
    padding: 28px 0;
  }

  .food-format-unified.odor2-page .od-proof-lines p {
    grid-column: 2;
  }

  .food-format-unified.odor2-page .od-trust-ledger article,
  .food-format-unified.odor2-page .od-cta-panel {
    grid-template-columns: 1fr;
  }

  .food-format-unified.odor2-page .od-trust-ledger article {
    gap: 18px;
  }

  .food-format-unified.odor2-page .od-cta-panel {
    gap: 38px;
  }

  .food-format-unified.odor2-page .od-cta-actions {
    justify-content: flex-start;
    margin-top: 0;
  }
}

@media (max-width: 640px) {
  .food-format-unified.odor2-page .od-hero--premium .od-hero-title {
    font-size: 42px;
  }

  .food-format-unified.odor2-page .od-hero--premium .od-hero-lead {
    font-size: 19px;
  }

  .food-format-unified.odor2-page .od-hero-text,
  .food-format-unified.odor2-page .od-statement p:not(.od-kicker),
  .food-format-unified.odor2-page .od-proof-lines p,
  .food-format-unified.odor2-page .od-trust-heading p,
  .food-format-unified.odor2-page .od-trust-list li {
    font-size: 15px;
    line-height: 1.72;
  }

  .food-format-unified.odor2-page .od-statement {
    margin-bottom: 46px;
  }

  .food-format-unified.odor2-page .od-statement h2,
  .food-format-unified.odor2-page .od-cta-panel h2 {
    font-size: 32px;
  }

  .food-format-unified.odor2-page .od-hero--premium .od-hero-image-wrap {
    height: 320px;
  }

  .food-format-unified.odor2-page .od-hero-btn,
  .food-format-unified.odor2-page .od-cta-btn {
    width: 100%;
  }

  .food-format-unified.odor2-page .od-proof-lines article {
    grid-template-columns: 1fr;
  }

  .food-format-unified.odor2-page .od-proof-lines p {
    grid-column: auto;
  }

  .food-format-unified.odor2-page .od-trust-ledger {
    margin-top: 40px;
  }

  .food-format-unified.odor2-page .od-trust-ledger article {
    padding: 28px 0;
  }

  .food-format-unified.odor2-page .od-trust-heading h3 {
    font-size: 22px;
  }

  .food-format-unified.odor2-page .od-cta--premium {
    padding: 80px 0;
  }

  .food-format-unified.odor2-page .od-cta-actions {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Odor-control mechanism: stage, condition, and response in one reading flow */
.food-format-unified.odor2-page .od-mechanism-matrix {
  margin-top: 58px;
  border-top: 2px solid var(--od-food-ink);
}

.food-format-unified.odor2-page .od-mechanism-matrix__head,
.food-format-unified.odor2-page .od-mechanism-matrix article {
  display: grid;
  grid-template-columns: 70px minmax(190px, .58fr) minmax(0, 1fr) minmax(260px, 1fr);
  gap: 28px;
}

.food-format-unified.odor2-page .od-mechanism-matrix__head {
  padding: 18px 0;
  border-bottom: 1px solid var(--od-food-line);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .02em;
}

.food-format-unified.odor2-page .od-mechanism-matrix article {
  align-items: start;
  padding: 34px 0;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-mechanism-number {
  padding-top: 4px;
  color: var(--od-food-gold);
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.food-format-unified.odor2-page .od-mechanism-stage h3,
.food-format-unified.odor2-page .od-mechanism-response h3 {
  margin: 0;
  color: var(--od-food-ink);
  font-size: 23px;
  font-weight: 800;
  line-height: 1.35;
}

.food-format-unified.odor2-page .od-mechanism-condition p,
.food-format-unified.odor2-page .od-mechanism-response p {
  margin: 0;
  color: var(--od-food-body);
  font-size: 16px;
  line-height: 1.75;
}

.food-format-unified.odor2-page .od-mechanism-response {
  padding-left: 28px;
  border-left: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-mechanism-response h3 {
  margin-bottom: 12px;
}

.food-format-unified.odor2-page .od-mechanism-notes {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 28px;
  margin-top: 58px;
  padding: 28px 0;
  border-top: 2px solid var(--od-food-ink);
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-mechanism-notes__title {
  color: var(--od-food-ink);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.4;
}

.food-format-unified.odor2-page .od-mechanism-notes ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.food-format-unified.odor2-page .od-mechanism-notes li {
  display: grid;
  gap: 8px;
  padding-left: 18px;
  border-left: 2px solid var(--od-food-gold);
}

.food-format-unified.odor2-page .od-mechanism-notes strong {
  color: var(--od-food-ink);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.45;
}

.food-format-unified.odor2-page .od-mechanism-notes span {
  color: var(--od-food-body);
  font-size: 15px;
  line-height: 1.7;
}

@media (max-width: 1100px) {
  .food-format-unified.odor2-page .od-mechanism-matrix__head {
    display: none;
  }

  .food-format-unified.odor2-page .od-mechanism-matrix article {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 18px 24px;
    padding: 30px 0;
  }

  .food-format-unified.odor2-page .od-mechanism-condition,
  .food-format-unified.odor2-page .od-mechanism-response {
    grid-column: 2;
  }

  .food-format-unified.odor2-page .od-mechanism-response {
    padding: 20px 0 0;
    border-top: 1px solid var(--od-food-line);
    border-left: 0;
  }

  .food-format-unified.odor2-page .od-mechanism-notes,
  .food-format-unified.odor2-page .od-mechanism-notes ul {
    grid-template-columns: 1fr;
  }

  .food-format-unified.odor2-page .od-mechanism-notes {
    gap: 22px;
  }

  .food-format-unified.odor2-page .od-mechanism-notes ul {
    gap: 18px;
  }
}

@media (max-width: 640px) {
  .food-format-unified.odor2-page .od-mechanism-matrix,
  .food-format-unified.odor2-page .od-mechanism-notes {
    margin-top: 40px;
  }

  .food-format-unified.odor2-page .od-mechanism-matrix article {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 28px 0;
  }

  .food-format-unified.odor2-page .od-mechanism-condition,
  .food-format-unified.odor2-page .od-mechanism-response {
    grid-column: auto;
  }

  .food-format-unified.odor2-page .od-mechanism-stage h3,
  .food-format-unified.odor2-page .od-mechanism-response h3 {
    font-size: 21px;
  }

  .food-format-unified.odor2-page .od-mechanism-condition p,
  .food-format-unified.odor2-page .od-mechanism-response p,
  .food-format-unified.odor2-page .od-mechanism-notes span {
    font-size: 15px;
    line-height: 1.72;
  }

  .food-format-unified.odor2-page .od-mechanism-notes {
    padding: 24px 0;
  }
}

/* 적용 환경: 현장별 이미지와 운영 관점을 함께 보여주는 목록 */
.food-format-unified.odor2-page .od-scope-grid--visual {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.food-format-unified.odor2-page .od-scope-card--visual {
  display: grid;
  grid-template-columns: minmax(168px, 0.72fr) minmax(0, 1fr);
  min-height: 0;
  padding: 0;
  position: relative;
  overflow: hidden;
}

.food-format-unified.odor2-page .od-scope-card--visual::before {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 1;
  margin: 0;
  padding: 7px 9px;
  color: transparent;
  font-size: 14px;
  line-height: 1;
}

.food-format-unified.odor2-page .od-scope-image {
  min-height: 224px;
  margin: 0;
  overflow: hidden;
}

.food-format-unified.odor2-page .od-scope-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
  aspect-ratio: 12 / 9
}

.food-format-unified.odor2-page .od-scope-card--visual:hover .od-scope-image img {
  transform: scale(1.035);
}

.food-format-unified.odor2-page .od-scope-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 30px 32px;
}

.food-format-unified.odor2-page .od-scope-card--visual .od-scope-title {
  margin: 0 0 12px;
  color: var(--od-food-ink);
  font-size: 23px;
  font-weight: 800;
  line-height: 1.3;
}

.food-format-unified.odor2-page .od-scope-card--visual .od-scope-body {
  margin: 0;
  color: var(--od-food-body);
  font-size: 16px;
  line-height: 1.7;
}

.food-format-unified.odor2-page .od-scope-context {
  display: inline-block;
  margin-top: 20px;
  padding-top: 10px;
  border-top: 1px solid var(--od-food-line);
  color: var(--od-food-gold);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .food-format-unified.odor2-page .od-scope-card--visual {
    grid-template-columns: minmax(145px, 0.65fr) minmax(0, 1fr);
  }

  .food-format-unified.odor2-page .od-scope-content {
    padding: 28px 26px;
  }
}

@media (max-width: 640px) {
  .food-format-unified.odor2-page .od-scope-grid--visual {
    grid-template-columns: 1fr;
  }

  .food-format-unified.odor2-page .od-scope-card--visual {
    grid-template-columns: 1fr;
  }

  .food-format-unified.odor2-page .od-scope-image {
    min-height: 190px;
  }

.food-format-unified.odor2-page .od-scope-content {
    padding: 26px 24px 28px;
  }
}

/* 현장 사례의 범위·전후값은 비율 KPI와 구분해 읽기 쉽게 표시 */
.food-format-unified.odor2-page .od-kpi-val--result {
  font-size: clamp(25px, 2.3vw, 38px);
  letter-spacing: -0.03em;
  white-space: nowrap;
}

/* 현장별 적용 가이드 */
.food-format-unified.odor2-page .od-guide-ledger {
  margin-top: 58px;
  border-top: 2px solid var(--od-food-ink);
}

.food-format-unified.odor2-page .od-guide-ledger article {
  display: grid;
  grid-template-columns: 70px minmax(220px, .62fr) minmax(240px, 1fr);
  gap: 28px;
  align-items: start;
  padding: 30px 0;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-guide-ledger > article > span,
.food-format-unified.odor2-page .od-application-process > li > span,
.food-format-unified.odor2-page .od-evidence-type {
  color: var(--od-food-gold);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.4;
}

.food-format-unified.odor2-page .od-guide-ledger h3,
.food-format-unified.odor2-page .od-application-process h3 {
  margin: 0 0 10px;
  color: var(--od-food-ink);
  font-size: 23px;
  font-weight: 800;
  line-height: 1.35;
}

.food-format-unified.odor2-page .od-guide-ledger p,
.food-format-unified.odor2-page .od-application-process p,
.food-format-unified.odor2-page .od-evidence-note dd,
.food-format-unified.odor2-page .od-evidence-note p,
.food-format-unified.odor2-page .od-manure-result p,
.food-format-unified.odor2-page .od-manure-caption {
  margin: 0;
  color: var(--od-food-body);
  font-size: 16px;
  line-height: 1.72;
}

.food-format-unified.odor2-page .od-guide-note {
  padding: 12px 0 12px 18px;
  border-left: 2px solid var(--od-food-gold);
}

/* 돼지 분뇨 처리시험 */
.food-format-unified.odor2-page .od-manure-study {
  display: grid;
  grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
  gap: 58px;
  margin-top: 58px;
  padding-top: 34px;
  border-top: 2px solid var(--od-food-ink);
}

.food-format-unified.odor2-page .od-evidence-note {
  padding-right: 34px;
  border-right: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-evidence-note dl {
  display: grid;
  gap: 0;
  margin: 24px 0;
  border-top: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-evidence-note dl div {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  gap: 18px;
  padding: 12px 0;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-evidence-note dt {
  color: var(--od-food-ink);
  font-size: 14px;
  font-weight: 800;
}

.food-format-unified.odor2-page .od-evidence-note dd {
  margin: 0;
}

.food-format-unified.odor2-page .od-manure-results {
  display: grid;
  align-content: start;
  border-top: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-manure-result {
  display: grid;
  grid-template-columns: minmax(140px, .5fr) minmax(260px, 1fr) minmax(0, .8fr);
  gap: 28px;
  align-items: center;
  padding: 30px 0;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-manure-result > span {
  color: var(--od-food-ink);
  font-size: 20px;
  font-weight: 800;
}

.food-format-unified.odor2-page .od-manure-result strong {
  color: var(--od-food-ink);
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}

.food-format-unified.odor2-page .od-manure-result strong b {
  margin: 0 8px;
  color: var(--od-food-gold);
  font-weight: 600;
}

.food-format-unified.odor2-page .od-manure-result strong small {
  color: var(--od-food-muted);
  font-size: 14px;
  font-weight: 700;
}

.food-format-unified.odor2-page .od-manure-caption {
  padding: 22px 0 0;
}

/* 현장 적용 절차 */
.food-format-unified.odor2-page .od-application-process {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 58px 0 0;
  padding: 0;
  list-style: none;
  border-top: 2px solid var(--od-food-ink);
}

.food-format-unified.odor2-page .od-application-process li {
  min-height: 226px;
  padding: 34px 26px;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-application-process li:first-child {
}

.food-format-unified.odor2-page .od-application-process > li > span {
  display: block;
  margin-bottom: 30px;
  font-size: 26px;
  line-height: 1;
}

@media (max-width: 1024px) {
  .food-format-unified.odor2-page .od-guide-ledger article {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 18px 24px;
  }

  .food-format-unified.odor2-page .od-guide-note {
    grid-column: 2;
  }

  .food-format-unified.odor2-page .od-manure-study {
    grid-template-columns: 1fr;
  }

  .food-format-unified.odor2-page .od-evidence-note {
    padding: 0 0 30px;
    border-right: 0;
    border-bottom: 1px solid var(--od-food-line);
  }

  .food-format-unified.odor2-page .od-application-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .food-format-unified.odor2-page .od-application-process li:nth-child(3) {
    border-left: 1px solid var(--od-food-line);
  }
}

@media (max-width: 640px) {
  .food-format-unified.odor2-page .od-guide-ledger,
  .food-format-unified.odor2-page .od-manure-study,
  .food-format-unified.odor2-page .od-application-process {
    margin-top: 40px;
  }

  .food-format-unified.odor2-page .od-guide-ledger article {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 28px 0;
  }

  .food-format-unified.odor2-page .od-guide-note {
    grid-column: auto;
  }

  .food-format-unified.odor2-page .od-guide-ledger h3,
  .food-format-unified.odor2-page .od-application-process h3 {
    font-size: 21px;
  }

  .food-format-unified.odor2-page .od-guide-ledger p,
  .food-format-unified.odor2-page .od-application-process p,
  .food-format-unified.odor2-page .od-evidence-note dd,
  .food-format-unified.odor2-page .od-evidence-note p,
  .food-format-unified.odor2-page .od-manure-result p,
  .food-format-unified.odor2-page .od-manure-caption {
    font-size: 15px;
  }

  .food-format-unified.odor2-page .od-manure-result {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 26px 0;
  }

  .food-format-unified.odor2-page .od-application-process {
    grid-template-columns: 1fr;
  }

  .food-format-unified.odor2-page .od-application-process li,
  .food-format-unified.odor2-page .od-application-process li:nth-child(3) {
    min-height: 0;
    padding: 30px 24px;
    border-left: 1px solid var(--od-food-line);
  }
}

/* 현장 사례의 측정 맥락 */
.food-format-unified.odor2-page .od-measurement-context {
  display: grid;
  grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr);
  gap: 38px 58px;
  margin-top: 58px;
  padding-top: 34px;
  border-top: 2px solid var(--od-food-ink);
}

.food-format-unified.odor2-page .od-measurement-copy > span {
  color: var(--od-food-gold);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .04em;
}

.food-format-unified.odor2-page .od-measurement-copy h3 {
  margin: 14px 0 12px;
  color: var(--od-food-ink);
  font-size: 26px;
  font-weight: 800;
  line-height: 1.35;
}

.food-format-unified.odor2-page .od-measurement-copy p,
.food-format-unified.odor2-page .od-measurement-pending,
.food-format-unified.odor2-page .od-aeration-ledger p,
.food-format-unified.odor2-page .od-aeration-note {
  margin: 0;
  color: var(--od-food-body);
  font-size: 16px;
  line-height: 1.72;
}

.food-format-unified.odor2-page .od-measurement-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.food-format-unified.odor2-page .od-measurement-points figure {
  position: relative;
  min-height: 220px;
  margin: 0;
  overflow: hidden;
  background: #e8ebed;
}

.food-format-unified.odor2-page .od-measurement-points img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.food-format-unified.odor2-page .od-measurement-points figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  background: rgba(9, 15, 24, .84);
  color: #ffffff;
  font-size: 14px;
}

.food-format-unified.odor2-page .od-measurement-points figcaption strong {
  font-weight: 800;
}

.food-format-unified.odor2-page .od-measurement-points figcaption span {
  color: rgba(255, 255, 255, .76);
}

.food-format-unified.odor2-page .od-measurement-pending {
  grid-column: 1 / -1;
  padding: 18px 0 0 18px;
  border-top: 1px solid var(--od-food-line);
  border-left: 2px solid var(--od-food-gold);
}

/* 폭기 중·폭기 후 관찰 기록 */
.food-format-unified.odor2-page .od-aeration-ledger {
  margin-top: 58px;
  border-top: 2px solid var(--od-food-ink);
}

.food-format-unified.odor2-page .od-aeration-ledger article {
  display: grid;
  grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr);
  gap: 58px;
  align-items: start;
  padding: 34px 0;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-aeration-heading span {
  display: block;
  margin-bottom: 14px;
  color: var(--od-food-gold);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .04em;
}

.food-format-unified.odor2-page .od-aeration-heading h3 {
  margin: 0;
  color: var(--od-food-ink);
  font-size: 26px;
  font-weight: 800;
  line-height: 1.3;
}

.food-format-unified.odor2-page .od-aeration-note {
  margin-top: 24px;
  padding-left: 18px;
  border-left: 2px solid var(--od-food-gold);
}

/* 음식물·분뇨 시설 사례의 근거 메타 */
.food-format-unified.odor2-page .od-facility-meta {
  display: grid;
  gap: 0;
  margin: 26px 0 0;
  border-top: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-facility-meta div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 18px;
  padding: 12px 0;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-facility-meta dt {
  color: var(--od-food-ink);
  font-size: 14px;
  font-weight: 800;
}

.food-format-unified.odor2-page .od-facility-meta dd {
  margin: 0;
  color: var(--od-food-body);
  font-size: 15px;
  line-height: 1.62;
}

@media (max-width: 1024px) {
  .food-format-unified.odor2-page .od-measurement-context,
  .food-format-unified.odor2-page .od-aeration-ledger article {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 640px) {
  .food-format-unified.odor2-page .od-measurement-context,
  .food-format-unified.odor2-page .od-aeration-ledger {
    margin-top: 40px;
  }

  .food-format-unified.odor2-page .od-measurement-copy h3,
  .food-format-unified.odor2-page .od-aeration-heading h3 {
    font-size: 22px;
  }

  .food-format-unified.odor2-page .od-measurement-copy p,
  .food-format-unified.odor2-page .od-measurement-pending,
  .food-format-unified.odor2-page .od-aeration-ledger p,
  .food-format-unified.odor2-page .od-aeration-note {
    font-size: 15px;
  }

  .food-format-unified.odor2-page .od-measurement-points {
    grid-template-columns: 1fr;
  }

  .food-format-unified.odor2-page .od-facility-meta div {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}

/* Product presentation shared with the environmental odor-control page. */
.food-format-unified.odor2-page .od-products--product-format {
  padding: 124px 0;
  background: var(--od-food-soft);
}

.food-format-unified.odor2-page .od-product-format {
  display: grid;
  grid-template-columns: minmax(500px, .8fr) minmax(0, 1fr);
  gap: 82px;
  align-items: center;
}

.food-format-unified.odor2-page .od-product-format__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 560px;
  margin: 0;
  background: #f7f8fa;
}

.food-format-unified.odor2-page .od-product-format__media img {
  width: 100%;
  max-height: 500px;
  padding: 40px;
  object-fit: contain;
}

.food-format-unified.odor2-page .od-product-format__copy .od-kicker {
  margin: 0 0 16px;
  color: var(--od-food-gold);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0;
}

.food-format-unified.odor2-page .od-product-format__copy h2 {
  margin: 0;
  color: var(--od-food-ink);
  font-size: 54px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.16;
}

.food-format-unified.odor2-page .od-product-format__copy > p:not(.od-kicker) {
  max-width: 650px;
  margin: 20px 0 0;
  color: var(--od-food-body);
  font-size: 17px;
  line-height: 1.85;
}

.food-format-unified.odor2-page .od-product-format__spec {
  display: block;
  margin: 32px 0 0;
  border-top: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-product-format__spec div {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-product-format__spec dt {
  color: var(--od-food-muted);
  font-size: 14px;
  font-weight: 800;
}

.food-format-unified.odor2-page .od-product-format__spec dd {
  margin: 0;
  color: var(--od-food-ink);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
}

.food-format-unified.odor2-page .od-product-format__features {
  margin-top: 28px;
  padding: 22px 0;
  border-top: 1px solid var(--od-food-line);
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-product-format__features p {
  margin: 0 0 14px;
  color: var(--od-food-gold);
  font-size: 13px;
  font-weight: 900;
}

.food-format-unified.odor2-page .od-product-format__features ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.food-format-unified.odor2-page .od-product-format__features li {
  position: relative;
  padding-left: 12px;
  color: var(--od-food-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}

.food-format-unified.odor2-page .od-product-format__features li::before {
  content: '';
  position: absolute;
  top: .68em;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--od-food-gold);
}

.food-format-unified.odor2-page .od-product-format__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  margin-top: 24px;
  padding: 0 24px;
  border: 1px solid var(--od-food-gold);
  border-radius: 4px;
  background: var(--od-food-gold);
  color: var(--od-food-ink);
  font-size: 15px;
  font-weight: 800;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.food-format-unified.odor2-page .od-product-format__cta:hover,
.food-format-unified.odor2-page .od-product-format__cta:focus {
  border-color: var(--od-food-ink);
  background: var(--od-food-ink);
  color: #fff;
}

.food-format-unified.odor2-page .od-manure-ledger {
  border-top: 2px solid var(--od-food-ink);
}

.food-format-unified.odor2-page .od-manure-process-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .76fr);
  gap: 72px;
  align-items: start;
}

.food-format-unified.odor2-page .od-manure-process .od-statement {
  display: block;
  margin-bottom: 42px;
}

.food-format-unified.odor2-page .od-manure-process .od-statement .od-kicker {
  display: block;
  margin: 0 0 16px;
}

.food-format-unified.odor2-page .od-manure-process .od-statement h2 {
  margin: 0;
  font-size: 54px;
  text-align: left;
}

.food-format-unified.odor2-page .od-application-benefits .od-statement {
  display: block;
  margin-bottom: 42px;
}

.food-format-unified.odor2-page .od-application-benefits .od-statement .od-kicker {
  display: block;
  margin: 0 0 16px;
}

.food-format-unified.odor2-page .od-application-benefits .od-statement h2 {
  margin: 0;
  font-size: 54px;
  text-align: left;
}

.food-format-unified.odor2-page .od-manure-process-layout .od-manure-ledger article {
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 22px;
  min-height: 0;
}

.food-format-unified.odor2-page .od-manure-process-media {
  position: sticky;
  top: 152px;
  min-height: 560px;
  height: min(620px, calc(100vh - 220px));
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--od-food-line);
  background: #f7f8fa;
}

.food-format-unified.odor2-page .od-manure-process-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.food-format-unified.odor2-page .od-manure-ledger article {
  display: grid;
  grid-template-columns: 70px minmax(260px, .42fr) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  padding: 30px 0;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-manure-ledger span {
  color: var(--od-food-gold);
  font-size: 14px;
  font-weight: 900;
}

.food-format-unified.odor2-page .od-manure-ledger h3 {
  margin: 0;
  color: var(--od-food-ink);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.35;
}

.food-format-unified.odor2-page .od-manure-ledger p {
  margin: 0;
  color: var(--od-food-body);
  font-size: 16px;
  line-height: 1.8;
}

.food-format-unified.odor2-page .od-application-benefit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 0;
  border-top: 2px solid var(--od-food-ink);
}

.food-format-unified.odor2-page .od-application-benefit-grid article {
  display: flex;
  flex-direction: column;
  padding: 36px 32px 34px;
  background: #fff;
}

.food-format-unified.odor2-page .od-application-benefit-heading {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-application-benefit-heading span {
  color: var(--od-food-gold);
  font-size: 14px;
  font-weight: 900;
}

.food-format-unified.odor2-page .od-application-benefit-heading h3 {
  margin: 0;
  color: var(--od-food-ink);
  font-size: 30px;
  font-weight: 800;
  line-height: 1.25;
}

.food-format-unified.odor2-page .od-application-benefit-method {
  margin-top: 22px;
  padding: 18px 20px;
  border-left: 2px solid var(--od-food-gold);
}

.food-format-unified.odor2-page .od-application-benefit-method > p {
  margin: 0 0 12px;
  color: var(--od-food-gold);
  font-size: 17px;
  font-weight: 900;
}

.food-format-unified.odor2-page .od-application-benefit-method dl {
  display: grid;
  gap: 12px;
  margin: 0;
}

.food-format-unified.odor2-page .od-application-benefit-method dl div {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 16px;
}

.food-format-unified.odor2-page .od-application-benefit-method dt {
  color: var(--od-food-ink);
  font-size: 16px;
  font-weight: 800;
  line-height: 2;
}

.food-format-unified.odor2-page .od-application-benefit-method dd {
  margin: 0;
  color: var(--od-food-body);
  font-size: 16px;
  line-height: 2;
}

.food-format-unified.odor2-page .od-application-benefit-label {
  margin: 28px 0 0;
  color: var(--od-food-muted);
  font-size: 16px;
  font-weight: 800;
}

.food-format-unified.odor2-page .od-application-benefit-grid ul {
  display: grid;
  gap: 0;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.food-format-unified.odor2-page .od-application-benefit-grid li {
  position: relative;
  padding: 12px 0 12px 14px;
  color: var(--od-food-body);
  font-size: 16px;
  line-height: 1.72;
  border-bottom: 1px solid var(--od-food-line);
}

.food-format-unified.odor2-page .od-application-benefit-grid li:last-child { border-bottom: 0; }

.food-format-unified.odor2-page .od-application-benefit-grid li::before {
  content: '';
  position: absolute;
  top: .72em;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
}

@media (max-width: 1100px) {
  .food-format-unified.odor2-page .od-products--product-format { padding: 92px 0; }
  .food-format-unified.odor2-page .od-product-format { grid-template-columns: 1fr; gap: 38px; }
  .food-format-unified.odor2-page .od-product-format__copy h2 { font-size: 42px; }
  .food-format-unified.odor2-page .od-manure-process .od-statement h2 { font-size: 42px; }
  .food-format-unified.odor2-page .od-application-benefits .od-statement h2 { font-size: 42px; }
  .food-format-unified.odor2-page .od-application-benefit-grid { grid-template-columns: 1fr; }
  .food-format-unified.odor2-page .od-manure-process-layout { grid-template-columns: 1fr; gap: 38px; }
  .food-format-unified.odor2-page .od-manure-process-media { position: relative; top: auto; order: -1; min-height: 400px; height: 400px; }
  .food-format-unified.odor2-page .od-manure-ledger article { grid-template-columns: 54px minmax(220px, .42fr) minmax(0, 1fr); gap: 24px; }
  .food-format-unified.odor2-page .od-manure-process-layout .od-manure-ledger article { grid-template-columns: 54px minmax(0, 1fr); gap: 20px; }
}

@media (max-width: 640px) {
  .food-format-unified.odor2-page .od-products--product-format { padding: 72px 0; }
  .food-format-unified.odor2-page .od-product-format__media { min-height: 320px; }
  .food-format-unified.odor2-page .od-product-format__media img { max-height: 300px; padding: 24px; }
  .food-format-unified.odor2-page .od-product-format__copy .od-kicker { font-size: 13px; }
  .food-format-unified.odor2-page .od-product-format__copy h2 { font-size: 32px; }
  .food-format-unified.odor2-page .od-manure-process .od-statement { margin-bottom: 32px; }
  .food-format-unified.odor2-page .od-manure-process .od-statement h2 { font-size: 32px; }
  .food-format-unified.odor2-page .od-application-benefits .od-statement { margin-bottom: 32px; }
  .food-format-unified.odor2-page .od-application-benefits .od-statement h2 { font-size: 32px; }
  .food-format-unified.odor2-page .od-product-format__copy > p:not(.od-kicker) { font-size: 15px; line-height: 1.72; }
  .food-format-unified.odor2-page .od-product-format__spec div { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; }
  .food-format-unified.odor2-page .od-product-format__features ul { grid-template-columns: 1fr; gap: 8px; }
  .food-format-unified.odor2-page .od-product-format__cta { width: 100%; }
  .food-format-unified.odor2-page .od-manure-process-media { min-height: 280px; height: 280px; }
  .food-format-unified.odor2-page .od-manure-ledger article { grid-template-columns: 1fr; gap: 12px; padding: 26px 0; }
  .food-format-unified.odor2-page .od-manure-process-layout .od-manure-ledger article { grid-template-columns: 42px minmax(0, 1fr); gap: 16px; }
  .food-format-unified.odor2-page .od-manure-ledger h3 { font-size: 21px; }
  .food-format-unified.odor2-page .od-manure-ledger p { font-size: 15px; line-height: 1.72; }
  .food-format-unified.odor2-page .od-application-benefit-grid { border-left: 0; }
  .food-format-unified.odor2-page .od-application-benefit-grid article { padding: 30px 24px; border-left: 1px solid var(--od-food-line); }
  .food-format-unified.odor2-page .od-application-benefit-heading { grid-template-columns: 42px minmax(0, 1fr); gap: 14px; }
  .food-format-unified.odor2-page .od-application-benefit-heading h3 { font-size: 24px; }
  .food-format-unified.odor2-page .od-application-benefit-method dl div { grid-template-columns: 1fr; gap: 4px; }
  .food-format-unified.odor2-page .od-application-benefit-method dd { font-size: 15px; line-height: 1.65; }
  .food-format-unified.odor2-page .od-application-benefit-label { margin-top: 24px; }
  .food-format-unified.odor2-page .od-application-benefit-grid li { font-size: 15px; line-height: 1.65; }
}
