/*
 * HealingBio page system
 * Shared editorial rules for food, clinic, livestock, odor, environment,
 * pet, research, and company pages. Page-specific components stay in their
 * own stylesheet; this layer only aligns the shared visual rhythm.
 */

:root {
  --hb-page-ink: #111827;
  --hb-page-body: #596577;
  --hb-page-line: #dfe4ea;
  --hb-page-soft: #f5f7f9;
  --hb-page-navy: #111b2b;
  --hb-page-gold: #d8ad46;
  --hb-local-nav-bg: #ffffff;
  --hb-local-nav-link: #596577;
  --hb-local-nav-link-active: #111827;
  --hb-page-max: 1440px;
  --hb-page-gutter: 56px;
}

:is(.food-page, .about-page, .environment-page, .feed-page, .odor2-page, .kmc-page, .pet-page, .research-page) {
  font-family: "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  color: var(--hb-page-ink);
}

:is(.food-page, .about-page, .environment-page, .feed-page, .odor2-page, .kmc-page, .pet-page, .research-page) :is(h1, h2, h3, h4) {
  letter-spacing: 0;
}

/* One gold accent across the page families. */
body.food-premium-redesign {
  --fp-gold: var(--hb-page-gold);
  --fp-gold-dark: var(--hb-page-gold);
}

body.food-page.food-premium-redesign {
  --cheongin-gold: var(--hb-page-gold);
  --oem-gold: var(--hb-page-gold);
}

body.about-page.food-premium-redesign { --about-gold: var(--hb-page-gold); }
body.environment-page.food-format-unified { --env-gold: var(--hb-page-gold); }
body.feed-page.food-format-unified {
  --feed-food-gold: var(--hb-page-gold);
  --feed-oem-gold: var(--hb-page-gold);
}
body.odor2-page.food-format-unified { --od-food-gold: var(--hb-page-gold); }
body.kmc-page.food-format-unified { --kmc-food-gold: var(--hb-page-gold); }
body.pet-page.food-format-unified { --pet-food-gold: var(--hb-page-gold); }
body.research-page.food-premium-redesign { --rs-gold: var(--hb-page-gold); }

/* Shared content width */
body.food-page.food-premium-redesign .food-shell,
body.about-page.food-premium-redesign .food-shell,
body.about-page.food-premium-redesign .about-shell,
body.environment-page.food-format-unified .env-shell,
body.feed-page.food-format-unified .feed-shell,
body.odor2-page.food-format-unified .od-shell,
body.kmc-page.food-format-unified .food-shell,
body.kmc-page.food-format-unified .kmc-shell,
body.pet-page.food-format-unified .pet-shell,
body.research-page.food-premium-redesign .food-shell,
body.research-page.food-premium-redesign .rs-shell {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--hb-page-max);
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--hb-page-gutter);
  padding-left: var(--hb-page-gutter);
}

/* Hero typography */
body.food-page.food-premium-redesign .fp-hero-copy h1,
body.about-page.food-premium-redesign .fp-brand-main .about-premium-hero .fp-hero-copy h1,
body.kmc-page.food-premium-redesign .fp-brand-main .fp-hero-copy h1,
body.research-page.food-premium-redesign .fp-brand-main .rs-premium-hero .fp-hero-copy h1,
body.feed-page.food-format-unified .feed-hero:not(.feed-hero--premium) .feed-hero-title,
body.feed-page.food-format-unified .feed-hero--premium .feed-hero-title,
body.odor2-page.food-format-unified .od-hero:not(.od-hero--premium) .od-hero-title,
body.odor2-page.food-format-unified .od-hero--premium .od-hero-title,
body.pet-page.food-format-unified .pet-hero--premium .pet-hero-title,
body.environment-page.food-format-unified .env-hero h1 {
  font-size: 76px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.08;
}

body.food-page.food-premium-redesign .fp-hero-lead,
body.about-page.food-premium-redesign .about-premium-hero .fp-hero-lead,
body.kmc-page.food-premium-redesign .fp-hero-lead,
body.research-page.food-premium-redesign .rs-premium-hero .fp-hero-lead,
body.feed-page.food-format-unified .feed-hero:not(.feed-hero--premium) .feed-hero-lead,
body.feed-page.food-format-unified .feed-hero--premium .feed-hero-lead,
body.odor2-page.food-format-unified .od-hero:not(.od-hero--premium) .od-hero-lead,
body.odor2-page.food-format-unified .od-hero--premium .od-hero-lead,
body.pet-page.food-format-unified .pet-hero--premium .pet-hero-lead,
body.environment-page.food-format-unified .env-hero__lead {
  font-size: 22px;
  line-height: 1.55;
}

body.food-page.food-premium-redesign .fp-hero-text,
body.about-page.food-premium-redesign .about-premium-hero .fp-hero-text,
body.kmc-page.food-premium-redesign .fp-hero-text,
body.research-page.food-premium-redesign .rs-premium-hero .fp-hero-text,
body.feed-page.food-format-unified .feed-hero:not(.feed-hero--premium) .feed-hero-text,
body.feed-page.food-format-unified .feed-hero--premium .feed-hero-text,
body.odor2-page.food-format-unified .od-hero:not(.od-hero--premium) .od-hero-text,
body.odor2-page.food-format-unified .od-hero--premium .od-hero-text,
body.pet-page.food-format-unified .pet-hero--premium .pet-hero-text,
body.environment-page.food-format-unified .env-hero__text {
  font-size: 17px;
  line-height: 1.75;
}

/* Shared section rhythm */
body.food-page.food-premium-redesign .fp-section:not(.kmc-custom-section),
body.feed-page.food-format-unified :is(.feed-section, .feed-products),
body.odor2-page.food-format-unified :is(.od-section, .od-products),
body.environment-page.food-format-unified .env-section,
body.kmc-page.food-format-unified .kmc-section,
body.pet-page.food-format-unified .pet-section,
body.research-page.food-premium-redesign .rs-section,
body.about-page.food-premium-redesign :is(.about-overview, .about-solutions, .about-facilities, .about-proof, .about-location) {
  padding-top: 120px;
  padding-bottom: 120px;
}

body.food-page.food-premium-redesign :is(.fp-section-head, .fp-statement, .fp-brand-message, .fp-feature-copy, .fp-product-spectrum, .fp-trust-showcase) h2,
body.about-page.food-premium-redesign .about-section-title,
body.environment-page.food-format-unified :is(.env-section-head, .env-product__copy) h2,
body.feed-page.food-format-unified :is(.feed-section-title, .section-title, .feed-statement h2),
body.odor2-page.food-format-unified :is(.od-section-title, .od-statement h2),
body.kmc-page.food-format-unified .kmc-section-title,
body.pet-page.food-format-unified :is(.pet-section-title, .pet-closing-title),
body.research-page.food-premium-redesign .rs-section-title {
  font-size: 52px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.16;
}

body.food-page.food-premium-redesign .fp-section-head,
body.about-page.food-premium-redesign .about-section-heading,
body.environment-page.food-format-unified .env-section-head,
body.feed-page.food-format-unified :is(.feed-section-heading, .section-heading),
body.odor2-page.food-format-unified .od-section-heading,
body.kmc-page.food-format-unified .kmc-section-heading,
body.pet-page.food-format-unified .pet-section-heading,
body.research-page.food-premium-redesign .rs-section-heading {
  margin-bottom: 48px;
}

body.food-page.food-premium-redesign .fp-kicker,
body.about-page.food-premium-redesign :is(.fp-kicker, .about-kicker),
body.environment-page.food-format-unified .env-kicker,
body.feed-page.food-format-unified :is(.feed-kicker, .feed-section-kicker, .section-kicker),
body.odor2-page.food-format-unified :is(.od-kicker, .section-kicker),
body.kmc-page.food-format-unified :is(.fp-kicker, .kmc-kicker),
body.pet-page.food-format-unified .pet-kicker,
body.research-page.food-premium-redesign :is(.fp-kicker, .rs-kicker) {
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  line-height: 1.3 !important;
  color: var(--hb-page-gold) !important;
}

body.about-page.food-premium-redesign .about-section-lead,
body.environment-page.food-format-unified .env-section-head > p:not(.env-kicker),
body.feed-page.food-format-unified .feed-section-lead,
body.odor2-page.food-format-unified .od-section-lead,
body.kmc-page.food-format-unified .kmc-section-lead,
body.pet-page.food-format-unified .pet-section-lead,
body.research-page.food-premium-redesign .rs-section-lead {
  font-size: 17px;
  line-height: 1.75;
}

/* Buttons share one physical shape; page styles retain their own color roles. */
body.food-page.food-premium-redesign .fp-btn,
body.about-page.food-premium-redesign .fp-btn,
body.environment-page.food-format-unified .env-btn,
body.environment-page.food-format-unified .od-cta-btn,
body.feed-page.food-format-unified :is(.feed-hero-btn, .feed-cta-btn),
body.odor2-page.food-format-unified :is(.od-hero-btn, .od-cta-btn),
body.kmc-page.food-format-unified :is(.fp-btn, .kmc-hero-btn, .kmc-cta-btn),
body.pet-page.food-format-unified :is(.pet-hero-btn, .pet-cta-btn),
body.research-page.food-premium-redesign :is(.fp-btn, .rs-cta-btn) {
  min-height: 50px;
  padding-right: 24px;
  padding-left: 24px;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
}

/* A single sticky local-navigation rhythm. */
body.food-page.food-premium-redesign .fp-local-nav,
body.about-page.food-premium-redesign .about-local-nav,
body.environment-page.food-format-unified .env-local-nav,
body.feed-page.food-format-unified .feed-local-nav,
body.odor2-page.food-format-unified .od-local-nav,
body.kmc-page.food-format-unified .kmc-local-nav,
body.pet-page.food-format-unified .pet-local-nav,
body.research-page.food-premium-redesign .rs-local-nav {
  position: sticky !important;
  top: 72px;
  z-index: 60;
  width: 100%;
  margin: 0;
  border-top: 1px solid var(--hb-page-line) !important;
  border-bottom: 1px solid var(--hb-page-line) !important;
  background: var(--hb-local-nav-bg) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.food-page.food-premium-redesign :is(.fp-local-nav__inner, .cheongin-local-nav__inner, .oem-local-nav__inner),
body.about-page.food-premium-redesign :is(.about-local-nav__inner, .about-local-nav .fp-local-nav__inner),
body.environment-page.food-format-unified .env-local-nav__inner,
body.feed-page.food-format-unified .feed-local-nav__inner,
body.odor2-page.food-format-unified .od-local-nav__inner,
body.kmc-page.food-format-unified .kmc-local-nav__inner,
body.pet-page.food-format-unified .pet-local-nav__inner,
body.research-page.food-premium-redesign :is(.rs-local-nav__inner, .rs-local-nav .fp-local-nav__inner) {
  display: flex !important;
  align-items: center !important;
  justify-content: center;
  gap: 6px;
  min-height: 58px;
  overflow-x: auto;
  scrollbar-width: none;
}

body.food-page.food-premium-redesign :is(.fp-local-nav__inner, .cheongin-local-nav__inner, .oem-local-nav__inner)::-webkit-scrollbar,
body.about-page.food-premium-redesign :is(.about-local-nav__inner, .about-local-nav .fp-local-nav__inner)::-webkit-scrollbar,
body.environment-page.food-format-unified .env-local-nav__inner::-webkit-scrollbar,
body.feed-page.food-format-unified .feed-local-nav__inner::-webkit-scrollbar,
body.odor2-page.food-format-unified .od-local-nav__inner::-webkit-scrollbar,
body.kmc-page.food-format-unified .kmc-local-nav__inner::-webkit-scrollbar,
body.pet-page.food-format-unified .pet-local-nav__inner::-webkit-scrollbar,
body.research-page.food-premium-redesign :is(.rs-local-nav__inner, .rs-local-nav .fp-local-nav__inner)::-webkit-scrollbar {
  display: none;
}

body.food-page.food-premium-redesign :is(.fp-local-nav a, .cheongin-local-nav a, .oem-local-nav a),
body.about-page.food-premium-redesign .about-local-nav a,
body.environment-page.food-format-unified .env-local-nav a,
body.feed-page.food-format-unified .feed-local-nav a,
body.odor2-page.food-format-unified .od-local-nav a,
body.kmc-page.food-format-unified .kmc-local-nav a,
body.pet-page.food-format-unified .pet-local-nav a,
body.research-page.food-premium-redesign .rs-local-nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  box-sizing: border-box;
  min-height: 40px;
  padding: 10px 14px;
  color: var(--hb-local-nav-link) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-decoration: none;
  white-space: nowrap;
  transition: color .18s ease;
}

body.food-page.food-premium-redesign :is(.fp-local-nav a, .cheongin-local-nav a, .oem-local-nav a):is(:hover, :focus-visible),
body.about-page.food-premium-redesign .about-local-nav a:is(:hover, :focus-visible),
body.environment-page.food-format-unified .env-local-nav a:is(:hover, :focus-visible),
body.feed-page.food-format-unified .feed-local-nav a:is(:hover, :focus-visible),
body.odor2-page.food-format-unified .od-local-nav a:is(:hover, :focus-visible),
body.kmc-page.food-format-unified .kmc-local-nav a:is(:hover, :focus-visible),
body.pet-page.food-format-unified .pet-local-nav a:is(:hover, :focus-visible),
body.research-page.food-premium-redesign .rs-local-nav a:is(:hover, :focus-visible) {
  color: var(--hb-local-nav-link-active) !important;
  background: transparent !important;
}

@media (max-width: 1100px) {
  body.food-page.food-premium-redesign .fp-hero-copy h1,
  body.about-page.food-premium-redesign .fp-brand-main .about-premium-hero .fp-hero-copy h1,
  body.kmc-page.food-premium-redesign .fp-brand-main .fp-hero-copy h1,
  body.research-page.food-premium-redesign .fp-brand-main .rs-premium-hero .fp-hero-copy h1,
  body.feed-page.food-format-unified .feed-hero:not(.feed-hero--premium) .feed-hero-title,
  body.feed-page.food-format-unified .feed-hero--premium .feed-hero-title,
  body.odor2-page.food-format-unified .od-hero:not(.od-hero--premium) .od-hero-title,
  body.odor2-page.food-format-unified .od-hero--premium .od-hero-title,
  body.pet-page.food-format-unified .pet-hero--premium .pet-hero-title,
  body.environment-page.food-format-unified .env-hero h1 {
    font-size: 56px;
  }

  body.food-page.food-premium-redesign .fp-section:not(.kmc-custom-section),
  body.feed-page.food-format-unified :is(.feed-section, .feed-products),
  body.odor2-page.food-format-unified :is(.od-section, .od-products),
  body.environment-page.food-format-unified .env-section,
  body.kmc-page.food-format-unified .kmc-section,
  body.pet-page.food-format-unified .pet-section,
  body.research-page.food-premium-redesign .rs-section,
  body.about-page.food-premium-redesign :is(.about-overview, .about-solutions, .about-facilities, .about-proof, .about-location) {
    padding-top: 88px;
    padding-bottom: 88px;
  }

  body.food-page.food-premium-redesign :is(.fp-section-head, .fp-statement, .fp-brand-message, .fp-feature-copy, .fp-product-spectrum, .fp-trust-showcase) h2,
  body.about-page.food-premium-redesign .about-section-title,
  body.environment-page.food-format-unified :is(.env-section-head, .env-product__copy) h2,
  body.feed-page.food-format-unified :is(.feed-section-title, .section-title, .feed-statement h2),
  body.odor2-page.food-format-unified :is(.od-section-title, .od-statement h2),
  body.kmc-page.food-format-unified .kmc-section-title,
  body.pet-page.food-format-unified :is(.pet-section-title, .pet-closing-title),
  body.research-page.food-premium-redesign .rs-section-title {
    font-size: 42px;
  }

  body.food-page.food-premium-redesign :is(.fp-local-nav__inner, .cheongin-local-nav__inner, .oem-local-nav__inner),
  body.about-page.food-premium-redesign :is(.about-local-nav__inner, .about-local-nav .fp-local-nav__inner),
  body.environment-page.food-format-unified .env-local-nav__inner,
  body.feed-page.food-format-unified .feed-local-nav__inner,
  body.odor2-page.food-format-unified .od-local-nav__inner,
  body.kmc-page.food-format-unified .kmc-local-nav__inner,
  body.pet-page.food-format-unified .pet-local-nav__inner,
  body.research-page.food-premium-redesign :is(.rs-local-nav__inner, .rs-local-nav .fp-local-nav__inner) {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  :root { --hb-page-gutter: 22px; }

  body.food-page.food-premium-redesign .fp-hero-copy h1,
  body.about-page.food-premium-redesign .fp-brand-main .about-premium-hero .fp-hero-copy h1,
  body.kmc-page.food-premium-redesign .fp-brand-main .fp-hero-copy h1,
  body.research-page.food-premium-redesign .fp-brand-main .rs-premium-hero .fp-hero-copy h1,
  body.feed-page.food-format-unified .feed-hero:not(.feed-hero--premium) .feed-hero-title,
  body.feed-page.food-format-unified .feed-hero--premium .feed-hero-title,
  body.odor2-page.food-format-unified .od-hero:not(.od-hero--premium) .od-hero-title,
  body.odor2-page.food-format-unified .od-hero--premium .od-hero-title,
  body.pet-page.food-format-unified .pet-hero--premium .pet-hero-title,
  body.environment-page.food-format-unified .env-hero h1 {
    font-size: 42px;
    line-height: 1.12;
  }

  body.food-page.food-premium-redesign .fp-hero-lead,
  body.about-page.food-premium-redesign .about-premium-hero .fp-hero-lead,
  body.kmc-page.food-premium-redesign .fp-hero-lead,
  body.research-page.food-premium-redesign .rs-premium-hero .fp-hero-lead,
  body.feed-page.food-format-unified .feed-hero:not(.feed-hero--premium) .feed-hero-lead,
  body.feed-page.food-format-unified .feed-hero--premium .feed-hero-lead,
  body.odor2-page.food-format-unified .od-hero:not(.od-hero--premium) .od-hero-lead,
  body.odor2-page.food-format-unified .od-hero--premium .od-hero-lead,
  body.pet-page.food-format-unified .pet-hero--premium .pet-hero-lead,
  body.environment-page.food-format-unified .env-hero__lead {
    font-size: 19px;
  }

  body.food-page.food-premium-redesign .fp-hero-text,
  body.about-page.food-premium-redesign .about-premium-hero .fp-hero-text,
  body.kmc-page.food-premium-redesign .fp-hero-text,
  body.research-page.food-premium-redesign .rs-premium-hero .fp-hero-text,
  body.feed-page.food-format-unified .feed-hero:not(.feed-hero--premium) .feed-hero-text,
  body.feed-page.food-format-unified .feed-hero--premium .feed-hero-text,
  body.odor2-page.food-format-unified .od-hero:not(.od-hero--premium) .od-hero-text,
  body.odor2-page.food-format-unified .od-hero--premium .od-hero-text,
  body.pet-page.food-format-unified .pet-hero--premium .pet-hero-text,
  body.environment-page.food-format-unified .env-hero__text,
  body.about-page.food-premium-redesign .about-section-lead,
  body.environment-page.food-format-unified .env-section-head > p:not(.env-kicker),
  body.feed-page.food-format-unified .feed-section-lead,
  body.odor2-page.food-format-unified .od-section-lead,
  body.kmc-page.food-format-unified .kmc-section-lead,
  body.pet-page.food-format-unified .pet-section-lead,
  body.research-page.food-premium-redesign .rs-section-lead {
    font-size: 15px;
    line-height: 1.72;
  }

  body.food-page.food-premium-redesign .fp-section:not(.kmc-custom-section),
  body.feed-page.food-format-unified :is(.feed-section, .feed-products),
  body.odor2-page.food-format-unified :is(.od-section, .od-products),
  body.environment-page.food-format-unified .env-section,
  body.kmc-page.food-format-unified .kmc-section,
  body.pet-page.food-format-unified .pet-section,
  body.research-page.food-premium-redesign .rs-section,
  body.about-page.food-premium-redesign :is(.about-overview, .about-solutions, .about-facilities, .about-proof, .about-location) {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  body.food-page.food-premium-redesign :is(.fp-section-head, .fp-statement, .fp-brand-message, .fp-feature-copy, .fp-product-spectrum, .fp-trust-showcase) h2,
  body.about-page.food-premium-redesign .about-section-title,
  body.environment-page.food-format-unified :is(.env-section-head, .env-product__copy) h2,
  body.feed-page.food-format-unified :is(.feed-section-title, .section-title, .feed-statement h2),
  body.odor2-page.food-format-unified :is(.od-section-title, .od-statement h2),
  body.kmc-page.food-format-unified .kmc-section-title,
  body.pet-page.food-format-unified :is(.pet-section-title, .pet-closing-title),
  body.research-page.food-premium-redesign .rs-section-title {
    font-size: 32px;
  }

  body.food-page.food-premium-redesign .fp-section-head,
  body.about-page.food-premium-redesign .about-section-heading,
  body.environment-page.food-format-unified .env-section-head,
  body.feed-page.food-format-unified :is(.feed-section-heading, .section-heading),
  body.odor2-page.food-format-unified .od-section-heading,
  body.kmc-page.food-format-unified .kmc-section-heading,
  body.pet-page.food-format-unified .pet-section-heading,
  body.research-page.food-premium-redesign .rs-section-heading {
    margin-bottom: 38px;
  }

  body.food-page.food-premium-redesign :is(.fp-local-nav, .cheongin-local-nav, .oem-local-nav),
  body.about-page.food-premium-redesign .about-local-nav,
  body.environment-page.food-format-unified .env-local-nav,
  body.feed-page.food-format-unified .feed-local-nav,
  body.odor2-page.food-format-unified .od-local-nav,
  body.kmc-page.food-format-unified .kmc-local-nav,
  body.pet-page.food-format-unified .pet-local-nav,
  body.research-page.food-premium-redesign .rs-local-nav {
    top: 64px;
  }

  body.food-page.food-premium-redesign :is(.fp-local-nav a, .cheongin-local-nav a, .oem-local-nav a),
  body.about-page.food-premium-redesign .about-local-nav a,
  body.environment-page.food-format-unified .env-local-nav a,
  body.feed-page.food-format-unified .feed-local-nav a,
  body.odor2-page.food-format-unified .od-local-nav a,
  body.kmc-page.food-format-unified .kmc-local-nav a,
  body.pet-page.food-format-unified .pet-local-nav a,
  body.research-page.food-premium-redesign .rs-local-nav a {
    padding: 10px 11px;
    font-size: 12px !important;
  }

  body.food-page.food-premium-redesign .fp-kicker,
  body.about-page.food-premium-redesign :is(.fp-kicker, .about-kicker),
  body.environment-page.food-format-unified .env-kicker,
  body.feed-page.food-format-unified :is(.feed-kicker, .feed-section-kicker, .section-kicker),
  body.odor2-page.food-format-unified :is(.od-kicker, .section-kicker),
  body.kmc-page.food-format-unified :is(.fp-kicker, .kmc-kicker),
  body.pet-page.food-format-unified .pet-kicker,
  body.research-page.food-premium-redesign :is(.fp-kicker, .rs-kicker) {
    font-size: 12px !important;
    letter-spacing: .1em !important;
  }
}
