/* YOUFU Food V4 - product-led, mobile-first presentation layer */
:root {
  --v4-ink: #171918;
  --v4-ink-soft: #3d423f;
  --v4-muted: #606662;
  --v4-paper: #f7f7f4;
  --v4-white: #fff;
  --v4-line: rgba(23, 25, 24, .16);
  --v4-coral: #cf443a;
  --v4-coral-dark: #ad3028;
  --v4-green: #173f34;
  --v4-sky: #e8f0f1;
  --v4-wa: #0f6f3e;
  --v4-display: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --v4-body: "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
  --v4-shell: 1320px;
  --v4-radius: 6px;
  --v4-ease: 220ms cubic-bezier(.22, 1, .36, 1);
}

html { background: var(--v4-paper); color: var(--v4-ink); }
body { min-width: 0; background: var(--v4-paper); color: var(--v4-ink); font-family: var(--v4-body); font-size: 16px; line-height: 1.6; }
body.nav-open { overflow: hidden; }
.v4-shell { width: min(calc(100% - 32px), var(--v4-shell)); margin-inline: auto; }
.v4-home h1, .v4-home h2, .v4-home h3 { letter-spacing: 0; text-wrap: balance; }
.v4-home p, .v4-home dd { text-wrap: pretty; }
.v4-home h1 { margin: 0; font-family: var(--v4-display); font-size: 44px; font-weight: 400; line-height: .99; }
.v4-home h1 em { color: #9d2f29; font-weight: 400; }
.v4-hero-title-desktop, .v4-hero-lede-desktop { display: none; }
.v4-hero-title-mobile, .v4-hero-lede-mobile { display: inline; }
.v4-home h2 { margin: 0; font-family: var(--v4-display); font-size: 34px; font-weight: 400; line-height: 1.08; }
.v4-home h3 { margin: 0; font-size: 23px; font-weight: 650; line-height: 1.2; }
.v4-context, .v4-kicker { margin: 0; color: #513b34; font-size: 14px; font-weight: 700; line-height: 1.35; }
.v4-lead { color: var(--v4-ink-soft); font-size: 18px; line-height: 1.55; }
.v4-section { padding-block: 76px; }

.site-header { position: fixed; z-index: 40; inset: 0 0 auto; height: 72px; border-bottom: 1px solid var(--v4-line); background: rgba(247, 247, 244, .97); color: var(--v4-ink); backdrop-filter: none; }
.header-inner { width: min(calc(100% - 32px), var(--v4-shell)); height: 72px; }
.brand-mark { min-height: 44px; color: var(--v4-ink); font-family: var(--v4-body); }
.brand-mark span { font-weight: 800; letter-spacing: 0; }
.brand-mark b { color: var(--v4-coral); }
.header-mobile-actions { display: flex; margin-left: auto; align-items: center; gap: 2px; }
.header-whatsapp { display: grid; width: 44px; height: 44px; color: var(--v4-wa); font-size: 12px; font-weight: 850; place-items: center; }
.nav-toggle { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; border: 0; background: transparent; }
.primary-nav { position: fixed; display: none; z-index: 39; inset: 72px 0 0; overflow-y: auto; padding: 18px 16px max(32px, env(safe-area-inset-bottom)); border: 0; background: var(--v4-paper); }
.primary-nav.is-open { display: block; }
.nav-list { align-items: stretch; flex-direction: column; gap: 0; }
.nav-list li { border-bottom: 1px solid var(--v4-line); }
.nav-list li:last-child { margin-top: 18px; border: 0; }
.nav-list a { display: flex; min-height: 52px; align-items: center; color: var(--v4-ink); font-size: 17px; font-weight: 650; }
.nav-list .button { justify-content: center; border: 0; border-radius: 0; background: var(--v4-coral); color: #fff; }

.v4-button { display: inline-flex; min-height: 50px; padding: 0 20px; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 0; font-size: 15px; font-weight: 750; line-height: 1.2; transition: background var(--v4-ease), color var(--v4-ease), border-color var(--v4-ease); }
.v4-button-primary { background: var(--v4-coral); color: #fff; }
.v4-button-secondary { border-color: var(--v4-ink); background: transparent; color: var(--v4-ink); }
.v4-text-link { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; border-bottom: 1px solid currentColor; font-size: 15px; font-weight: 700; }
.v4-actions { display: flex; margin-top: 20px; align-items: flex-start; flex-direction: column; gap: 6px; }

.v4-hero { padding-top: 96px; background: var(--v4-paper); }
.v4-hero-main { display: flex; flex-direction: column; }
.v4-hero-copy { position: relative; z-index: 2; }
.v4-kicker { margin-bottom: 14px; }
.v4-hero-lede { max-width: 620px; margin: 16px 0 0; color: var(--v4-ink-soft); font-size: 17px; line-height: 1.5; }
.v4-hero-media { order: 2; width: calc(100% + 32px); margin: 24px 0 0 -16px; aspect-ratio: 4 / 3; overflow: hidden; background: var(--v4-paper); }
.v4-hero-media picture, .v4-hero-media img { display: block; width: 100%; height: 100%; }
.v4-hero-media img { object-fit: cover; object-position: right center; }
.v4-proof { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--v4-line); border-bottom: 1px solid var(--v4-line); background: #fff; }
.v4-proof div { display: flex; min-width: 0; min-height: 96px; padding: 16px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 2px; border-right: 1px solid var(--v4-line); border-bottom: 1px solid var(--v4-line); }
.v4-proof div:nth-child(2n) { border-right: 0; }
.v4-proof div:nth-last-child(-n + 2) { border-bottom: 0; }
.v4-proof strong { font-size: 15px; line-height: 1.25; }
.v4-proof span { color: var(--v4-muted); font-size: 13px; line-height: 1.35; }

.v4-fit { background: #fff; }
.v4-split-heading { display: grid; gap: 24px; }
.v4-split-heading .v4-context { margin-bottom: 14px; }
.v4-split-heading > p { max-width: 62ch; color: var(--v4-ink-soft); font-size: 17px; }
.v4-paths { margin-top: 42px; border-top: 1px solid var(--v4-line); }
.v4-paths a { display: grid; padding-block: 25px; gap: 10px; border-bottom: 1px solid var(--v4-line); }
.v4-paths a > span, .v4-product-grid a div > span { color: var(--v4-coral-dark); font-size: 13px; font-weight: 750; }
.v4-paths p { max-width: 60ch; color: var(--v4-muted); }
.v4-paths b, .v4-product-grid b { font-size: 14px; }
.v4-boundary { margin-top: 24px; color: var(--v4-muted); font-size: 14px; }

.v4-outcome { background: var(--v4-paper); }
.v4-outcome-grid { display: grid; gap: 42px; }
.v4-outcome-grid > figure { aspect-ratio: 4 / 3; overflow: hidden; }
.v4-outcome-grid > figure img { width: 100%; height: 100%; object-fit: cover; }
.v4-outcome-copy .v4-context, .v4-evidence-copy .v4-context { margin-bottom: 14px; }
.v4-outcome-copy .v4-lead { margin-top: 22px; }
.v4-outcome-list { margin-top: 30px; border-top: 1px solid var(--v4-line); }
.v4-outcome-list div { display: grid; grid-template-columns: 78px 1fr; gap: 14px; padding-block: 17px; border-bottom: 1px solid var(--v4-line); }
.v4-outcome-list dt { color: var(--v4-coral-dark); font-weight: 750; }
.v4-outcome-list dd { color: var(--v4-ink-soft); }

.v4-decisions { background: #fff; }
.v4-decision-rail { display: grid; margin-block: 42px 28px; border-top: 1px solid var(--v4-line); }
.v4-decision-rail article { padding-block: 25px; border-bottom: 1px solid var(--v4-line); }
.v4-decision-rail article > span { color: var(--v4-coral-dark); font-size: 13px; font-weight: 750; }
.v4-decision-rail h3 { margin-top: 12px; }
.v4-decision-rail p { margin-top: 12px; color: var(--v4-ink-soft); }
.v4-decision-rail small { display: block; margin-top: 20px; color: var(--v4-muted); font-weight: 650; }

.v4-products { background: var(--v4-paper); }
.v4-products-head { display: flex; align-items: flex-start; flex-direction: column; gap: 18px; }
.v4-products-head .v4-context { margin-bottom: 14px; }
.v4-product-grid { display: grid; margin-top: 36px; gap: 28px; }
.v4-product-grid a { display: block; }
.v4-product-grid figure { overflow: hidden; aspect-ratio: 2 / 3; background: var(--v4-paper); }
.v4-product-grid img { width: 100%; height: 100%; object-fit: contain; object-position: center; transition: transform var(--v4-ease); }
.v4-product-feature figure { aspect-ratio: 2 / 3; }
.v4-product-feature figure img { object-position: center 35%; }
.v4-product-item figure { aspect-ratio: 2 / 3; }
.v4-product-grid a div { padding-top: 18px; }
.v4-product-grid h3 { margin-top: 8px; }
.v4-product-grid p { margin-top: 10px; color: var(--v4-muted); }
.v4-product-grid b { display: inline-block; margin-top: 14px; }

.v4-approvals { background: #fff; }
.v4-approval-grid { display: grid; gap: 42px; }
.v4-approval-grid > div .v4-context { margin-bottom: 14px; }
.v4-approval-grid > div > p:not(.v4-context) { margin-top: 20px; color: var(--v4-ink-soft); }
.v4-approval-grid .v4-text-link { margin-top: 18px; }
.v4-approval-grid ol { border-top: 1px solid var(--v4-line); }
.v4-approval-grid li { display: grid; grid-template-columns: 44px 1fr; gap: 12px; padding-block: 19px; border-bottom: 1px solid var(--v4-line); }
.v4-approval-grid li > span { display: flex; width: 32px; height: 32px; align-items: center; justify-content: center; background: var(--v4-coral); color: #fff; font-size: 14px; font-weight: 800; }
.v4-approval-grid li b { font-size: 18px; }
.v4-approval-grid li p { margin-top: 5px; color: var(--v4-muted); }

.v4-evidence { background: var(--v4-paper); }
.v4-evidence-grid { display: grid; gap: 42px; }
.v4-evidence-copy > p:not(.v4-context) { margin-top: 22px; color: var(--v4-ink-soft); }
.v4-evidence-copy ul { margin: 28px 0; border-top: 1px solid var(--v4-line); }
.v4-evidence-copy li { padding: 12px 0; border-bottom: 1px solid var(--v4-line); font-weight: 650; }
.v4-evidence-grid figure { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.v4-evidence-grid figure img { width: 100%; height: 100%; object-fit: cover; }
.v4-evidence-grid figcaption { position: absolute; right: 0; bottom: 0; padding: 10px 14px; background: #fff; font-size: 13px; font-weight: 750; }

.v4-export { padding-block: 54px; border-block: 1px solid var(--v4-line); background: var(--v4-sky); }
.v4-export .v4-shell { display: grid; gap: 22px; }
.v4-export .v4-context { margin-bottom: 12px; }
.v4-export p { color: #344548; }

.v4-inquiry { padding-block: 76px; background: var(--v4-green); color: #fff; }
.v4-inquiry-grid { display: grid; gap: 42px; }
.v4-inquiry .v4-context { margin-bottom: 14px; color: #f3d16a; }
.v4-inquiry-copy > p:not(.v4-context) { margin-top: 22px; color: #d8e1dd; }
.v4-inquiry-copy > ol { margin-top: 28px; border-top: 1px solid rgba(255,255,255,.24); }
.v4-inquiry-copy > ol li { display: grid; padding-block: 14px; gap: 2px; border-bottom: 1px solid rgba(255,255,255,.24); }
.v4-inquiry-copy > ol span { color: #c7d3ce; }
.v4-direct-contact { display: grid; margin-top: 28px; gap: 1px; background: rgba(255,255,255,.24); }
.v4-direct-contact a { display: grid; min-width: 0; padding: 14px; background: var(--v4-green); }
.v4-direct-contact span { color: #b9cac3; font-size: 13px; }
.v4-direct-contact b { overflow-wrap: anywhere; }
.v4-inquiry .inquiry-panel { padding: 22px 16px; border-radius: var(--v4-radius); background: #fff; color: var(--v4-ink); }
.v4-inquiry .inquiry-form { gap: 16px; }
.v4-inquiry .inquiry-form label > span { font-size: 13px; font-weight: 750; }
.v4-inquiry .inquiry-form input, .v4-inquiry .inquiry-form select, .v4-inquiry .inquiry-form textarea { border-color: #817f7b; border-radius: 3px; background: #fff; font-size: 16px; }
.v4-inquiry .inquiry-form input, .v4-inquiry .inquiry-form select { min-height: 48px; }
.v4-inquiry .button-primary { min-height: 50px; border: 0; border-radius: 0; background: var(--v4-coral); color: #fff; }
.v4-inquiry .form-note { color: var(--v4-muted); font-size: 13px; }

.site-footer { background: #0f261f; color: #fff; }
.site-footer .brand-mark { color: #fff; }
.footer-brand p, .footer-links a, .footer-links span, .footer-bottom { color: #c6d1cd; }
.whatsapp-float { display: none; min-width: 52px; min-height: 52px; border-radius: 0; background: var(--v4-wa); }

@media (hover: hover) {
  .v4-button-primary:hover { background: var(--v4-coral-dark); }
  .v4-button-secondary:hover { background: var(--v4-ink); color: #fff; }
  .v4-paths a:hover h3, .v4-product-grid a:hover h3 { color: var(--v4-coral-dark); }
  .v4-product-grid a:hover img { transform: scale(1.025); }
}

@media (min-width: 768px) {
  .v4-shell { width: min(calc(100% - 48px), var(--v4-shell)); }
  .v4-home h1 { font-size: 58px; }
  .v4-home h2 { font-size: 44px; }
  .v4-section { padding-block: 94px; }
  .v4-actions { align-items: center; flex-direction: row; gap: 22px; }
  .v4-hero { padding-top: 126px; }
  .v4-hero-copy { max-width: 650px; }
  .v4-hero-media { width: 100%; margin: 42px 0 0; aspect-ratio: 16 / 8; }
  .v4-proof { grid-template-columns: repeat(4, 1fr); }
  .v4-proof div, .v4-proof div:nth-child(2n) { min-height: 108px; border-right: 1px solid var(--v4-line); border-bottom: 0; }
  .v4-proof div:last-child { border-right: 0; }
  .v4-proof strong { font-size: 16px; }
  .v4-split-heading { grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); align-items: end; gap: 70px; }
  .v4-paths a { grid-template-columns: 130px minmax(0, 1fr); align-items: start; gap: 10px 28px; }
  .v4-paths a > span { grid-column: 1; }
  .v4-paths h3 { grid-column: 2; }
  .v4-paths p { grid-column: 3; }
  .v4-paths b { grid-column: 4; white-space: nowrap; }
  .v4-paths p, .v4-paths b { grid-column: 2; }
  .v4-outcome-grid, .v4-evidence-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 64px; }
  .v4-outcome-grid > figure { aspect-ratio: 4 / 5; }
  .v4-decision-rail { grid-template-columns: 1fr 1fr; }
  .v4-decision-rail article { padding: 28px; border-right: 1px solid var(--v4-line); }
  .v4-decision-rail article:nth-child(2n) { border-right: 0; }
  .v4-products-head { align-items: flex-end; flex-direction: row; justify-content: space-between; }
  .v4-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 38px 28px; }
  .v4-product-feature { grid-row: auto; }
  .v4-product-item { display: block !important; }
  .v4-approval-grid { grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); align-items: start; gap: 80px; }
  .v4-approval-grid > div { position: sticky; top: 110px; }
  .v4-export .v4-shell { grid-template-columns: .8fr 1.2fr auto; align-items: end; gap: 50px; }
  .v4-inquiry { padding-block: 94px; }
  .v4-inquiry-grid { grid-template-columns: .8fr 1.2fr; align-items: start; gap: 70px; }
  .v4-direct-contact { grid-template-columns: 1fr 1fr; }
  .v4-inquiry .inquiry-panel { padding: 30px; }
}

@media (min-width: 1024px) {
  .site-header { height: 82px; }
  .header-inner { height: 82px; }
  .nav-toggle { display: none; }
  .header-mobile-actions { display: none; }
  .whatsapp-float { display: inline-flex; }
  .primary-nav { position: static; display: block; overflow: visible; padding: 0; background: transparent; }
  .nav-list { align-items: center; flex-direction: row; gap: 22px; }
  .nav-list li, .nav-list li:last-child { margin: 0; border: 0; }
  .nav-list a { min-height: 44px; font-size: 14px; }
  .nav-list .button { padding-inline: 17px; }
  .v4-hero-title-mobile, .v4-hero-lede-mobile { display: none; }
  .v4-hero-title-desktop, .v4-hero-lede-desktop { display: inline; }
  .v4-home h1 { font-size: 64px; line-height: .99; }
  .v4-home h2 { font-size: 50px; }
  .v4-hero { min-height: 680px; padding-top: 82px; }
  .v4-hero-main { display: grid; min-height: 590px; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: center; gap: 30px; }
  .v4-hero-copy { max-width: 610px; padding-block: 44px; }
  .v4-hero-lede { font-size: 20px; }
  .v4-hero-media { width: calc(100% + max(24px, (100vw - var(--v4-shell)) / 2)); max-height: 600px; margin: 0 calc(-1 * max(24px, (100vw - var(--v4-shell)) / 2)) 0 0; aspect-ratio: 1 / 1; }
  .v4-hero-media img { object-fit: cover; object-position: right center; }
  .v4-proof div { padding-inline: 28px; }
  .v4-decision-rail { grid-template-columns: repeat(4, 1fr); }
  .v4-decision-rail article, .v4-decision-rail article:nth-child(2n) { min-height: 330px; padding: 30px; border-right: 1px solid var(--v4-line); }
  .v4-decision-rail article:last-child { border-right: 0; }
  .v4-inquiry-grid { gap: 100px; }
  .v4-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
  .v4-paths a { grid-template-columns: 130px minmax(220px, .8fr) minmax(280px, 1fr) auto; align-items: center; gap: 28px; }
  .v4-paths a > span { grid-column: 1; }
  .v4-paths h3 { grid-column: 2; }
  .v4-paths p { grid-column: 3; }
  .v4-paths b { grid-column: 4; }
  .v4-home h1 { font-size: 70px; }
  .v4-hero { min-height: 720px; }
  .v4-hero-main { min-height: 638px; }
  .v4-hero-copy { padding-block: 58px; }
  .v4-hero-media { max-height: 650px; }
}

@media (min-width: 1400px) {
  .v4-home h1 { font-size: 76px; }
  .v4-hero { min-height: 760px; }
  .v4-hero-main { min-height: 668px; }
  .v4-hero-copy { padding-block: 64px; }
  .v4-hero-media { max-height: 780px; }
}

@media (min-width: 1600px) {
  .v4-hero-main { min-height: 700px; }
  .v4-hero-media { max-height: 700px; aspect-ratio: 1.18 / 1; }
}

@media (pointer: coarse) {
  .v4-button, .v4-text-link, .nav-list a { min-height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .v4-product-grid img { transition: none; }
}

/* V4 inner-page system */
:focus-visible { outline-color: var(--v4-coral-dark); }
.container { width: min(calc(100% - 32px), 1220px); }
main:not(.v4-home) { background: var(--v4-paper); color: var(--v4-ink); }
main:not(.v4-home) h1,
main:not(.v4-home) h2 { margin: 0; font-family: var(--v4-display); font-weight: 400; letter-spacing: 0; text-wrap: balance; }
main:not(.v4-home) h1 { font-size: 46px !important; line-height: 1.02; }
main:not(.v4-home) h2 { font-size: 34px !important; line-height: 1.08; }
main:not(.v4-home) h3 { font-family: var(--v4-body); font-size: 23px !important; font-weight: 650; line-height: 1.2; letter-spacing: 0; text-wrap: balance; }
.button { border-radius: 0; font-family: var(--v4-body); }
.button-primary { border-color: transparent; background: var(--v4-coral); color: #fff; }
.button-dark { border-color: var(--v4-ink); background: var(--v4-ink); color: #fff; }
.button-whatsapp { background: var(--v4-wa); color: #fff; }
.eyebrow, .kicker { margin-bottom: 14px; color: #513b34; font-size: 14px; font-weight: 700; letter-spacing: 0; line-height: 1.35; text-transform: none; }
.section-index { display: none; }
.wide-heading { display: grid; margin-bottom: 40px; gap: 20px; }
.wide-heading > p { max-width: 62ch; color: var(--v4-ink-soft); font-size: 17px; }

.page-hero, .catalog-hero { padding: 112px 0 64px; border-bottom: 1px solid var(--v4-line); background: #fff; color: var(--v4-ink); }
.page-hero .eyebrow, .catalog-hero .eyebrow { color: #513b34; }
.page-hero p:not(.eyebrow), .catalog-hero p:not(.eyebrow) { max-width: 62ch; margin-top: 18px; color: var(--v4-ink-soft); font-size: 17px; line-height: 1.55; }
.page-hero .button, .catalog-hero .button { margin-top: 24px; }
.page-hero-grid { display: grid; gap: 32px; }
.page-hero-grid figure { width: calc(100% + 32px); max-height: none; margin-left: -16px; aspect-ratio: 4 / 3; overflow: hidden; background: var(--v4-paper); }
.page-hero-grid figure img { width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.page-hero-ip .page-hero-grid figure, .page-hero-oem .page-hero-grid figure { aspect-ratio: 2 / 3; }
.page-hero-ip .page-hero-grid figure img, .page-hero-oem .page-hero-grid figure img { object-fit: contain; }
.page-hero-grid .hero-actions { display: flex; margin-top: 0; align-items: flex-start; flex-direction: column; gap: 6px; }
.page-hero-grid .hero-actions .button, .page-hero-grid .hero-actions .text-link { min-height: 48px; margin-top: 18px; }
.page-hero-grid .hero-actions .text-link { display: inline-flex; align-items: center; border-bottom: 1px solid currentColor; color: var(--v4-ink); }
.catalog-actions .text-link { color: var(--v4-ink); }
.breadcrumb-light { color: var(--v4-muted); }

.fit-band, .choice-band, .stage-band, .cost-band,
.ip-translation, .responsibility-band, .ip-gates, .ip-inputs,
.guide-section, .factory-profile, .factory-process, .quality-system,
.evidence-band, .faq-band { padding: 76px 0; }
.fit-band, .stage-band, .ip-translation, .ip-inputs, .factory-profile, .evidence-band, .faq-band { background: var(--v4-paper); color: var(--v4-ink); }
.choice-band, .cost-band, .responsibility-band, .ip-gates, .factory-process, .quality-system, .guide-contrast { background: #fff; color: var(--v4-ink); }
.fit-grid, .stage-layout, .ip-gates-grid, .guide-grid, .factory-profile .container, .faq-layout { display: grid; gap: 42px; grid-template-columns: 1fr; }
.fit-columns { display: grid; gap: 30px; grid-template-columns: 1fr; }
.fit-columns > div { padding-top: 20px; border-top: 1px solid var(--v4-ink); }
.plain-checks li::before { color: var(--v4-coral-dark); }

.choice-table, .responsibility-table, .stage-list, .brief-checklist,
.sample-stages, .confirm-list, .faq-list { border-top-color: var(--v4-line); }
.choice-table > div { grid-template-columns: 1fr; gap: 7px; padding: 20px 0; border-bottom-color: var(--v4-line); }
.choice-table .choice-head { display: none; }
.choice-table span:last-child, .stage-list p, .ip-gates li span { color: var(--v4-muted); }
.stage-layout > div, .ip-gates-grid > div, .faq-layout aside { position: static; }
.stage-list li { min-height: 0; grid-template-columns: 44px 1fr; border-bottom-color: var(--v4-line); }
.ip-modes, .quality-flow { display: grid; grid-template-columns: 1fr; border-color: var(--v4-line); }
.ip-modes article, .ip-modes article + article, .quality-flow div, .quality-flow div + div { min-height: 0; padding: 24px 0; border-left: 0; border-bottom: 1px solid var(--v4-line); }
.ip-modes article > span { color: var(--v4-coral-dark); letter-spacing: 0; text-transform: none; }
.ip-modes h3 { margin-top: 28px; }
.ip-modes p, .ip-gates-grid > div > p:last-child, .quality-flow span { color: var(--v4-muted); }
.responsibility-table > div { grid-template-columns: 1fr; gap: 18px; }
.responsibility-table > div:first-child { display: none; }
.responsibility-table span::before { display: block; margin-bottom: 4px; color: var(--v4-coral-dark); font-size: 13px; font-weight: 750; }
.responsibility-table span:nth-child(1)::before { content: "Buyer / rights holder"; }
.responsibility-table span:nth-child(2)::before { content: "YOUFU Food"; }
.responsibility-table span:nth-child(3)::before { content: "Approved together"; }
.ip-gates .eyebrow { color: #513b34; }
.ip-gates ol { border-color: var(--v4-line); }
.ip-gates li { grid-template-columns: 1fr; gap: 7px; border-color: var(--v4-line); }
.ip-gates li b::before { color: var(--v4-coral-dark); }
.input-strip span { border-color: var(--v4-line); border-radius: 999px; font-weight: 700; }
.caveat { border: 0; border-top: 1px solid var(--v4-line); padding: 16px 0 0; color: var(--v4-muted); }

.cost-grid { grid-template-columns: 1fr; border-top-color: var(--v4-line); }
.cost-grid article, .cost-grid article:nth-child(3n+2), .cost-grid article:nth-child(3n+3) { min-height: 0; padding: 22px 0; border-left: 0; border-bottom-color: var(--v4-line); }
.guide-nav { top: 72px; border-color: var(--v4-line); background: rgba(247,247,244,.98); }
.guide-number { margin-bottom: 16px; color: var(--v4-coral-dark); }
.brief-checklist li, .sample-stages article, .confirm-list p { grid-template-columns: 1fr; }
.brief-checklist span, .quote-logic p, .sample-stages p, .confirm-list span { color: var(--v4-muted); }
.quote-logic { grid-template-columns: 1fr; }
.quote-logic aside { grid-column: auto; background: var(--v4-sky); }
.shipping-flow { display: grid; grid-template-columns: 1fr; }
.shipping-flow div { min-height: 0; padding: 20px 0; border-block: 1px solid var(--v4-line); background: transparent; }
.shipping-flow i { display: none; }
.compliance-questions { padding: 24px; border: 1px solid var(--v4-line); background: #fff; }

.factory-process-grid { display: grid; grid-template-columns: 1fr; gap: 42px; }
.factory-process figure img { min-height: 0; aspect-ratio: 4 / 3; }
.factory-process figcaption { color: var(--v4-muted); }
.factory-process .eyebrow { color: #513b34; }
.profile-facts { border-color: var(--v4-line); }
.profile-facts dt { font-family: var(--v4-display); font-weight: 400; }
.evidence-scope { display: grid; border-top: 1px solid var(--v4-line); }
.evidence-scope div { display: grid; padding: 20px 0; border-bottom: 1px solid var(--v4-line); gap: 6px; }
.evidence-scope strong { font-size: 18px; }
.evidence-scope span { color: var(--v4-muted); }

.faq-layout aside h2 { font-size: 34px !important; }
.faq-list summary { grid-template-columns: 1fr; padding-right: 38px; font-family: var(--v4-body); font-size: 18px; font-weight: 700; }
.faq-list summary > span { display: none; }
.faq-list details p { padding-left: 0; color: var(--v4-muted); }

.catalog-band { background: var(--v4-paper); }
.catalog-toolbar { align-items: flex-start; flex-direction: column; }
.product-filters { justify-content: flex-start; }
.filter-btn { min-height: 44px; border-radius: 999px; }
.product-grid { grid-template-columns: 1fr; }
.product-card-img { aspect-ratio: 2 / 3; background: var(--v4-paper); }
.product-card-img img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.product-card-body > small { color: var(--v4-coral-dark); letter-spacing: 0; text-transform: none; }
.product-card-meta span { border-radius: 999px; }
.category-context { padding: 40px 0; background: var(--v4-sky); }
.context-grid { grid-template-columns: 1fr; }
.context-grid > div, .context-grid > div + div { padding: 18px 0; border-left: 0; border-bottom: 1px solid var(--v4-line); }
.context-grid span { color: #344548; letter-spacing: 0; text-transform: none; }

.product-detail-page { padding-top: 104px; }
.product-detail-layout, .product-evidence { grid-template-columns: 1fr; gap: 40px; }
.product-info { position: static; }
.product-categories a, .customizable-grid span { border-radius: 999px; }
.product-categories a { background: var(--v4-sky); }
.product-cta .button { width: 100%; }
.procurement-context h2, .related-band h2 { font-size: 34px !important; }
.related-grid { grid-template-columns: 1fr; }
.product-evidence aside { border: 1px solid var(--v4-line); background: #fff; }

.inquiry-band { padding: 76px 0; background: var(--v4-green); color: #fff; }
.inquiry-grid { grid-template-columns: 1fr; gap: 42px; }
.inquiry-copy { position: static; }
.inquiry-copy .eyebrow { color: #f3d16a; }
.inquiry-copy > p:not(.eyebrow) { color: #d8e1dd; }
.contact-quick span { color: #b9cac3; }
.inquiry-panel { padding: 22px 16px; border-radius: var(--v4-radius); }
.form-field { min-width: 0; }
.form-field label { display: block; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { border-color: #817f7b; font-size: 16px; }
.inquiry-form [aria-invalid="true"] { border-color: var(--v4-coral-dark); outline: 2px solid rgba(173,48,40,.16); }
.form-field-error { display: block; margin-top: 6px; color: #8f251f; font-size: 13px; font-weight: 700; }
.form-context, .form-alert { border: 1px solid var(--v4-line); border-radius: 0; }
.form-alert strong { display: block; }
.form-alert ul { margin: 8px 0 0; padding-left: 20px; }
.form-alert a { color: inherit; text-decoration: underline; }

.guide-cta, .factory-cta, .catalog-foot { padding: 60px 0; background: var(--v4-green); color: #fff; }
.guide-cta .eyebrow, .factory-cta .eyebrow, .catalog-foot .eyebrow { color: #f3d16a; }
.guide-cta h2, .factory-cta h2, .catalog-foot h2 { font-size: 34px !important; }
.guide-cta .button-primary, .factory-cta .button-primary, .catalog-foot .button-primary { background: var(--v4-coral); }
.guide-cta .container, .factory-cta .container, .catalog-foot .container { align-items: flex-start; flex-direction: column; }

.legal-page { padding: 112px 0 76px; }
.legal-layout { grid-template-columns: 1fr; gap: 36px; }
.legal-layout header { position: static; }
.content-page { min-height: 70svh; padding: 120px 0 76px; }
.thank-page, .not-found-page { background: var(--v4-green); }
.thank-page h1, .not-found-page h1 { font-size: 46px !important; }

@media (min-width: 768px) {
  .container { width: min(calc(100% - 48px), 1220px); }
  main:not(.v4-home) h1 { font-size: 58px !important; }
  main:not(.v4-home) h2 { font-size: 44px !important; }
  .page-hero, .catalog-hero { padding: 132px 0 84px; }
  .page-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .82fr); align-items: center; gap: 54px; }
  .page-hero-grid figure { width: 100%; margin-left: 0; aspect-ratio: 4 / 5; }
  .page-hero-grid .hero-actions { align-items: center; flex-direction: row; gap: 22px; }
  .fit-band, .choice-band, .stage-band, .cost-band, .ip-translation, .responsibility-band, .ip-gates, .ip-inputs, .guide-section, .factory-profile, .factory-process, .quality-system, .evidence-band, .faq-band { padding: 94px 0; }
  .wide-heading { grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr); align-items: end; gap: 64px; }
  .fit-columns, .quote-logic { grid-template-columns: 1fr 1fr; }
  .choice-table > div { grid-template-columns: .65fr 1.2fr 1fr; gap: 28px; }
  .choice-table .choice-head { display: grid; }
  .ip-modes, .quality-flow { grid-template-columns: 1fr 1fr; }
  .ip-modes article:nth-child(even), .quality-flow div:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--v4-line); }
  .responsibility-table > div { grid-template-columns: repeat(3, 1fr); gap: 36px; }
  .responsibility-table > div:first-child { display: grid; }
  .responsibility-table span::before { display: none; }
  .ip-gates li { grid-template-columns: 190px 1fr; gap: 25px; }
  .cost-grid { grid-template-columns: 1fr 1fr; }
  .cost-grid article:nth-child(even) { padding-left: 28px; border-left: 1px solid var(--v4-line); }
  .brief-checklist li { grid-template-columns: 180px 1fr; }
  .sample-stages article { grid-template-columns: 60px 190px 1fr; }
  .confirm-list p { grid-template-columns: 190px 1fr; }
  .shipping-flow { grid-template-columns: 1fr 1fr; }
  .evidence-scope { grid-template-columns: 1fr 1fr; }
  .evidence-scope div:nth-child(even) { padding-left: 26px; border-left: 1px solid var(--v4-line); }
  .product-grid, .related-grid { grid-template-columns: 1fr 1fr; }
  .context-grid { grid-template-columns: repeat(3, 1fr); }
  .context-grid > div, .context-grid > div + div { padding: 12px 28px 12px 0; border-bottom: 0; }
  .context-grid > div + div { padding-left: 28px; border-left: 1px solid var(--v4-line); }
  .product-cta .button { width: auto; }
  .inquiry-panel { padding: 30px; }
  .guide-cta .container, .factory-cta .container, .catalog-foot .container { align-items: center; flex-direction: row; }
  .legal-page { padding: 132px 0 94px; }
  .legal-layout { grid-template-columns: .55fr 1.45fr; gap: 70px; }
  .legal-layout header { position: sticky; top: 110px; }
}

@media (min-width: 1024px) {
  main:not(.v4-home) h1 { font-size: 72px !important; }
  main:not(.v4-home) h2 { font-size: 50px !important; }
  .page-hero-grid { gap: 72px; }
  .page-hero-grid figure { max-height: 620px; }
  .fit-grid, .stage-layout, .ip-gates-grid, .guide-grid, .factory-profile .container, .faq-layout { grid-template-columns: .8fr 1.2fr; gap: 80px; }
  .stage-layout > div, .ip-gates-grid > div, .faq-layout aside { position: sticky; top: 110px; align-self: start; }
  .ip-modes, .quality-flow { grid-template-columns: repeat(4, 1fr); }
  .ip-modes article + article, .quality-flow div + div { padding-left: 24px; border-left: 1px solid var(--v4-line); }
  .cost-grid { grid-template-columns: repeat(3, 1fr); }
  .cost-grid article:nth-child(even) { padding-left: 0; border-left: 0; }
  .cost-grid article:nth-child(3n+2), .cost-grid article:nth-child(3n+3) { padding-left: 30px; border-left: 1px solid var(--v4-line); }
  .factory-process-grid { grid-template-columns: 1.12fr .88fr; gap: 75px; }
  .product-grid { grid-template-columns: repeat(3, 1fr); }
  .product-detail-layout { grid-template-columns: 1.05fr .95fr; gap: 72px; }
  .product-info { position: sticky; top: 110px; }
  .product-evidence { grid-template-columns: 1.15fr .85fr; gap: 72px; }
  .related-grid { grid-template-columns: repeat(3, 1fr); }
  .inquiry-grid { grid-template-columns: .8fr 1.2fr; gap: 90px; }
  .inquiry-copy { position: sticky; top: 110px; }
}
