:root {
  color-scheme: light;
  --paper: #f8f9f7;
  --surface: #ffffff;
  --mist: #e5e8e2;
  --ink: #1e2421;
  --muted: #5e6661;
  --purple: #673089;
  --purple-dark: #4b2364;
  --green: #5e7466;
  --forest: #222a26;
  --plum: #382a41;
  --line: #cfd5cf;
  --radius: 6px;
  --content: 1180px;
  --header-height: 72px;
  font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
  font-synthesis: none;
  letter-spacing: 0;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; color: var(--ink); background: var(--paper); line-height: 1.7; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
button, input, textarea { font: inherit; letter-spacing: 0; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #c08de1; outline-offset: 3px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.18; font-weight: 700; letter-spacing: 0; }
h1 { font-size: 3.4rem; }
h2 { font-size: 2.25rem; }
h3 { font-size: 1.2rem; }
p { margin-bottom: 1.1rem; }

.skip-link { position: fixed; top: 8px; left: 8px; z-index: 1000; transform: translateY(-160%); padding: 10px 14px; background: var(--ink); color: white; border-radius: 4px; }
.skip-link:focus { transform: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.section-inner { width: min(calc(100% - 48px), var(--content)); margin-inline: auto; }
.section-kicker, .eyebrow { margin-bottom: 16px; color: var(--purple); font-size: .82rem; font-weight: 700; text-transform: uppercase; }
.section-copy p { max-width: 62ch; color: var(--muted); font-size: 1.05rem; }
.section-copy--light p { color: #dfe4df; }

.site-header { position: sticky; top: 0; z-index: 100; min-height: var(--header-height); border-bottom: 1px solid rgba(30, 36, 33, .12); background: rgba(248, 249, 247, .96); backdrop-filter: blur(14px); }
.header-inner { width: min(calc(100% - 48px), 1320px); min-height: var(--header-height); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand-mark { display: inline-flex; align-items: center; text-decoration: none; }
.brand-mark__logo { width: 118px; height: auto; }
.site-nav { display: flex; align-items: center; gap: 28px; }
.site-nav a { position: relative; padding-block: 24px; color: #39423d; font-size: .92rem; text-decoration: none; white-space: nowrap; }
.site-nav a::after { content: ""; position: absolute; right: 0; bottom: 16px; left: 0; height: 2px; background: var(--purple); transform: scaleX(0); transform-origin: left; transition: transform .18s ease; }
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.nav-toggle { display: none; }
.icon-button { width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--ink); cursor: pointer; }
.icon-button svg, .button svg, .text-link svg, .pending-list svg, .report-pages svg { width: 18px; height: 18px; flex: none; }

.button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 10px 18px; border: 1px solid transparent; border-radius: 5px; font-weight: 700; line-height: 1.2; text-decoration: none; transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease; }
.button:hover { transform: translateY(-1px); }
.button--primary { background: var(--purple); color: white; }
.button--primary:hover { background: var(--purple-dark); }
.button--secondary { border-color: #9ea7a1; background: rgba(255,255,255,.5); color: var(--ink); }
.button--secondary:hover { border-color: var(--purple); color: var(--purple); }
.button--light { border-color: rgba(255,255,255,.55); color: white; }
.button--light:hover { background: white; color: var(--forest); }
.text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--purple); font-weight: 700; text-decoration: none; }
.text-link:hover { text-decoration: underline; }

.home-hero { width: 100%; height: min(850px, calc(100svh + 104px)); overflow: hidden; background: #f8f3fb; }
.home-hero > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.scene-note { position: absolute; right: 28px; bottom: 18px; z-index: 2; margin: 0; padding: 6px 9px; background: rgba(248,249,247,.84); color: #555e59; font-size: .72rem; }
.scene-note--dark { background: rgba(25, 24, 22, .7); color: #eef1ee; }

.origin-profile { padding: 88px 0; background: var(--surface); }
.origin-profile__intro { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: center; gap: 64px; }
.origin-profile__copy h2 { max-width: 540px; margin-bottom: 24px; }
.origin-profile__copy > p:last-child { max-width: 58ch; margin-bottom: 0; color: var(--muted); font-size: 1.06rem; }
.origin-profile__media { min-height: 420px; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 10px; overflow: hidden; }
.origin-profile__media figure { min-width: 0; margin: 0; overflow: hidden; background: #ead8ed; }
.origin-profile__media img { width: 100%; height: 100%; object-fit: cover; }
.origin-profile__facts { margin-top: 48px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.origin-profile__facts article { min-width: 0; padding: 30px 28px 32px 0; }
.origin-profile__facts article + article { padding-left: 28px; border-left: 1px solid var(--line); }
.origin-profile__facts span { display: block; margin-bottom: 20px; color: var(--green); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; }
.origin-profile__facts h3 { margin-bottom: 12px; font-size: 1.3rem; }
.origin-profile__facts p { margin-bottom: 0; color: var(--muted); }

.why-choose { padding: 88px 0; background: var(--surface); }
.why-choose__heading { margin-bottom: 42px; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: end; gap: 64px; }
.why-choose__heading h2 { max-width: 620px; margin-bottom: 0; }
.why-choose__heading > p { max-width: 570px; margin-bottom: 3px; color: var(--muted); font-size: 1.05rem; }
.why-choose__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.why-choose__item { min-width: 0; }
.why-choose__media { margin: 0 0 24px; aspect-ratio: 1; overflow: hidden; background: var(--mist); }
.why-choose__media img { width: 100%; height: 100%; object-fit: cover; }
.why-choose__meta { margin-bottom: 15px; display: flex; align-items: center; gap: 12px; color: var(--green); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; }
.why-choose__meta i { height: 1px; flex: 1; background: var(--line); }
.why-choose__item h3 { margin-bottom: 12px; font-size: 1.4rem; }
.why-choose__item > p { margin-bottom: 0; color: var(--muted); }
.evidence-index { display: block; margin-bottom: 28px; color: var(--green); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; }

.pasture-environment { padding: 72px 0; background: var(--forest); color: white; }
.pasture-environment__intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); align-items: center; gap: 56px; }
.pasture-environment__copy { max-width: 690px; }
.pasture-environment__copy .section-kicker { color: #c9a4de; }
.pasture-environment__copy h2 { max-width: 660px; margin-bottom: 24px; }
.pasture-environment__copy > p:last-child { max-width: 62ch; margin-bottom: 0; color: #cbd3ce; font-size: 1.08rem; }
.pasture-environment__media { width: min(100%, 430px); margin: 0 0 0 auto; aspect-ratio: 4 / 3; overflow: hidden; background: #181e1b; }
.pasture-environment__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.pasture-environment__features { margin-top: 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.pasture-environment__feature { min-width: 0; padding: 32px 30px 34px 0; }
.pasture-environment__feature + .pasture-environment__feature { padding-left: 30px; border-left: 1px solid rgba(255,255,255,.2); }
.pasture-environment__meta { margin-bottom: 22px; display: flex; align-items: center; gap: 12px; color: #aebcb3; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; }
.pasture-environment__meta i { height: 1px; flex: 1; background: rgba(255,255,255,.2); }
.pasture-environment__label { margin-bottom: 7px; color: #c9a4de; font-size: .86rem; font-weight: 700; }
.pasture-environment__feature h3 { margin-bottom: 14px; font-size: 1.35rem; }
.pasture-environment__feature > p:last-child { margin-bottom: 0; color: #cbd3ce; }

.product-focus { padding: 80px 0; }
.product-focus .section-kicker { color: var(--purple); }
.split-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: 64px; }
.product-visual { position: relative; min-height: 400px; display: grid; place-items: center; background: var(--mist); overflow: hidden; }
.product-visual::before { content: ""; position: absolute; inset: 34px; border: 1px solid rgba(103, 48, 137, .18); }
.product-visual img { position: relative; width: min(84%, 520px); height: min(84%, 520px); object-fit: contain; }
.product-visual--scene { min-height: 0; aspect-ratio: 904 / 794; background: #eceeea; }
.product-visual--scene::before { display: none; }
.product-visual--scene img { width: 100%; height: 100%; object-fit: cover; }
.product-visual--large { min-height: 500px; background: transparent; }
.product-visual--large::before { background: var(--mist); }
.section-copy blockquote { margin: 32px 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--purple); color: var(--ink); font-size: 1.35rem; font-weight: 600; }

.brand-pillars, .story-pillars { padding: 80px 0; background: var(--surface); }
.brand-pillars__heading { max-width: 720px; margin-bottom: 36px; }
.brand-pillar-list { margin: 36px 0 28px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.brand-pillar { min-width: 0; padding: 32px 30px 34px 0; }
.brand-pillar + .brand-pillar { padding-left: 30px; border-left: 1px solid var(--line); }
.brand-pillar__index { display: block; margin-bottom: 24px; color: var(--green); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; }
.brand-pillar__name { margin-bottom: 7px; color: var(--purple) !important; font-weight: 700; }
.brand-pillar h3 { margin-bottom: 14px; font-size: 1.35rem; }
.brand-pillar p { color: var(--muted); }

.home-brand-intro { padding: 80px 0; background: #edf0ed; }
.home-brand-intro__grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); align-items: start; gap: 64px; }
.home-brand-intro h2 { margin-bottom: 0; }
.home-brand-intro__copy p { max-width: 68ch; margin-bottom: 24px; color: #424a45; font-size: 1.1rem; }

.quality-preview { padding: 80px 0; background: var(--forest); color: white; }
.quality-preview__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: 56px; }
.quality-preview img { width: 100%; aspect-ratio: 3 / 2; object-fit: contain; }
.quality-preview .section-kicker, .quality-intro .section-kicker, .report-section .section-kicker { color: #c9a4de; }

.latest-articles, .article-list-section { padding: 80px 0; background: var(--surface); }
.section-heading-row { margin-bottom: 42px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.section-heading-row h2 { margin-bottom: 0; }
.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.article-card { min-height: 220px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.article-card h2, .article-card h3 { margin-bottom: 14px; }
.article-card h2 { font-size: 1.4rem; }
.article-card h3 a, .article-card h2 a { text-decoration: none; }
.article-card h3 a:hover, .article-card h2 a:hover { color: var(--purple); }
.article-card p { color: var(--muted); }
.article-date { color: var(--green) !important; font-size: .78rem; }
.brand-update-list { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.brand-update { display: grid; grid-template-columns: 150px minmax(0, 1fr) 32px; align-items: start; gap: 28px; padding: 28px 0; }
.brand-update + .brand-update { border-top: 1px solid var(--line); }
.brand-update h3 { margin-bottom: 10px; font-size: 1.35rem; }
.brand-update h3 a { text-decoration: none; }
.brand-update h3 a:hover { color: var(--purple); }
.brand-update p { max-width: 70ch; margin-bottom: 0; color: var(--muted); }
.brand-update > .text-link { justify-self: end; }

.site-footer { padding: 56px max(24px, calc((100% - var(--content)) / 2)) 28px; background: #171d1a; color: #d7dcd8; }
.footer-main { display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; padding-bottom: 36px; border-bottom: 1px solid #39403c; }
.footer-brand { color: white; font-family: "STKaiti", "KaiTi", serif; font-size: 2.5rem; }
.footer-slogan { color: #aeb7b1; }
.footer-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px 24px; }
.footer-links a { color: #d7dcd8; text-decoration: none; }
.footer-links a:hover { color: white; text-decoration: underline; }
.footer-legal { padding-top: 28px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 14px 30px; color: #929d96; font-size: .78rem; }
.footer-legal p { margin: 0; }
.footer-disclaimer { max-width: 820px; }
.footer-copyright, .footer-record { white-space: nowrap; }
.footer-record { text-align: right; }
.footer-record a { color: #b8c0bb; text-decoration: none; }
.footer-record a:hover { color: white; text-decoration: underline; }

.page-intro { padding: 72px 0 76px; }
.page-intro h1 { max-width: 900px; margin-bottom: 26px; }
.page-lead { max-width: 780px; color: var(--muted); font-size: 1.1rem; }
.breadcrumb { margin-bottom: 28px; display: flex; flex-wrap: wrap; gap: 8px; color: var(--muted); font-size: .8rem; }
.breadcrumb a { text-decoration: none; }
.breadcrumb a:hover { color: var(--purple); }
.breadcrumb--light { color: #c4cec8; }
.breadcrumb--light a:hover { color: white; }
.product-intro { padding-bottom: 72px; }
.product-intro .section-copy { align-self: center; }

.fact-section { padding: 72px 0; background: var(--surface); }
.fact-section h2 { margin-bottom: 36px; }
.product-highlight-grid { margin: 0; padding: 28px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 20px; background: var(--paper); }
.product-highlight-grid > div { min-width: 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
.product-highlight-grid dt { order: 2; color: var(--muted); font-size: .82rem; }
.product-highlight-grid dd { order: 1; margin: 0 0 4px; font-size: 1.08rem; font-weight: 700; overflow-wrap: anywhere; }
.product-detail-title { margin: 48px 0 16px; }
.fact-list { margin: 0; border-top: 1px solid var(--line); }
.fact-list > div { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 28px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.fact-list dt { color: var(--muted); }
.fact-list dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.fact-list--compact > div { grid-template-columns: 130px minmax(0,1fr); }
.fact-list--columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; }
.fact-list--columns > div { grid-template-columns: 120px minmax(0, 1fr); }
.editorial-image-band { padding: 72px 0; }
.editorial-image-band img { width: 100%; aspect-ratio: 3 / 2; object-fit: contain; }
.image-caption { margin-top: 12px; color: var(--muted); font-size: .78rem; }
.pending-section { padding: 72px 0; border-top: 1px solid var(--line); }
.pending-list { margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; list-style: none; }
.pending-list li { display: flex; align-items: center; gap: 10px; color: #49514d; }
.pending-list svg { color: var(--green); }
.boundary-note { margin: 28px 0 0; padding: 18px 20px; border-left: 3px solid var(--green); background: #edf0ed; color: #414a45; font-size: .88rem; }
.boundary-note--dark { border-left-color: #c9a4de; background: rgba(255,255,255,.08); color: #d9dedb; }

.product-notices { margin-top: 44px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-notices > div { min-width: 0; padding: 24px 28px 24px 0; }
.product-notices > div + div { padding-left: 28px; border-left: 1px solid var(--line); }
.product-notices p { margin-bottom: 4px; color: var(--muted); font-size: .8rem; }
.product-notices strong { display: block; font-size: .96rem; line-height: 1.65; }

.product-nutrition { padding: 88px 0; background: #edf0ed; }
.product-section-heading { margin-bottom: 42px; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: end; gap: 64px; }
.product-section-heading h2 { max-width: 660px; margin-bottom: 0; }
.product-section-heading > p { max-width: 620px; margin: 0 0 3px; color: var(--muted); }
.product-nutrition__overview { margin-bottom: 52px; display: grid; grid-template-columns: 235px minmax(0, 1fr); min-height: 510px; background: var(--surface); }
.product-nutrition__overview figure { margin: 0; overflow: hidden; background: #fff9ed; }
.product-nutrition__overview figure img { width: 100%; height: 100%; object-fit: cover; }
.nutrition-highlights { margin: 0; padding: 42px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: center; gap: 0; }
.nutrition-highlights > div { min-width: 0; padding: 30px; border-top: 1px solid var(--line); }
.nutrition-highlights > div:nth-child(odd) { border-right: 1px solid var(--line); }
.nutrition-highlights > div:nth-child(-n+2) { border-top: 0; }
.nutrition-highlights dt { color: var(--purple); font-weight: 700; }
.nutrition-highlights dd { margin: 4px 0; font-size: 1.8rem; font-weight: 700; overflow-wrap: anywhere; }
.nutrition-highlights span { color: var(--muted); font-size: .76rem; }
.nutrition-tables { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 56px; }
.nutrition-tables h3 { margin-bottom: 18px; font-size: 1.35rem; }
.nutrition-tables table { width: 100%; border-collapse: collapse; background: var(--surface); font-size: .9rem; }
.nutrition-tables th, .nutrition-tables td { padding: 12px 16px; border-bottom: 1px solid var(--line); text-align: left; }
.nutrition-tables thead th { background: var(--forest); color: white; font-size: .78rem; }
.nutrition-tables tbody th { font-weight: 600; }
.nutrition-tables tbody td { color: #46504a; }

.product-process { padding: 88px 0; background: var(--surface); }
.product-process__layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 72px; }
.process-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.process-gallery figure { margin: 0; aspect-ratio: 1; overflow: hidden; background: var(--mist); }
.process-gallery figure:nth-child(2) { margin-top: 80px; }
.process-gallery img { width: 100%; height: 100%; object-fit: cover; }
.product-process h2 { max-width: 640px; margin-bottom: 36px; }
.process-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.process-list li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.process-list li > span, .brewing-steps li > span, .audience-list li > span { color: var(--green); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; }
.process-list h3 { margin-bottom: 6px; font-size: 1.12rem; }
.process-list p { margin: 0; color: var(--muted); }

.product-brewing { padding: 88px 0; background: var(--plum); color: white; }
.product-brewing .section-kicker { color: #c9a4de; }
.product-brewing .product-section-heading > p { color: #d8d1dc; }
.brewing-steps { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.brewing-steps li { min-width: 0; padding: 30px 28px 32px 0; }
.brewing-steps li + li { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.2); }
.brewing-steps li > span { display: block; margin-bottom: 28px; color: #c9a4de; }
.brewing-steps h3 { margin-bottom: 10px; font-size: 1.2rem; }
.brewing-steps p { margin: 0; color: #d8d1dc; }

.product-audience { padding: 88px 0; background: var(--paper); }
.audience-scenes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.audience-scenes img { width: 100%; height: 100%; aspect-ratio: 1200 / 342; object-fit: cover; background: var(--mist); }
.audience-list { margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; border-top: 1px solid var(--line); }
.audience-list li { min-width: 0; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 14px; padding: 26px 26px 26px 0; border-bottom: 1px solid var(--line); }
.audience-list li:not(:nth-child(3n+1)) { padding-left: 26px; border-left: 1px solid var(--line); }
.audience-list h3 { margin-bottom: 6px; font-size: 1.1rem; }
.audience-list p { margin: 0; color: var(--muted); font-size: .9rem; }

.product-quality-link { padding: 72px 0; background: var(--forest); color: white; }
.product-quality-link__inner { display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.product-quality-link .section-kicker { color: #c9a4de; }
.product-quality-link h2 { max-width: 680px; margin-bottom: 0; }

.quality-intro { padding: 76px 0; background: var(--forest); color: white; }
.quality-intro h1 { max-width: 920px; }
.quality-intro .page-lead { color: #c6cec9; }
.certificate-section { padding: 80px 0; background: var(--surface); }
.certificate-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: start; gap: 52px; }
.certificate-layout > img { position: sticky; top: 100px; width: 100%; aspect-ratio: 3 / 2; object-fit: contain; background: var(--forest); }
.certificate-data article { padding: 0 0 42px; }
.certificate-data article + article { padding-top: 42px; border-top: 1px solid var(--line); }
.certificate-data dl { margin: 24px 0; }
.certificate-data dl > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 9px 0; }
.certificate-data dt { color: var(--muted); }
.certificate-data dd { margin: 0; overflow-wrap: anywhere; }
.certificate-data p { color: var(--muted); }
.report-section { padding: 80px 0; background: var(--plum); color: white; }
.report-heading { margin-bottom: 40px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: 52px; }
.report-heading > * { min-width: 0; }
.report-heading h2 { overflow-wrap: anywhere; }
.report-heading p { max-width: 720px; color: #d8d1dc; }
.report-meta { margin: 0; }
.report-meta > div { padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.report-meta dt { color: #b6aabd; font-size: .78rem; }
.report-meta dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.report-overview { width: 100%; aspect-ratio: 3 / 2; object-fit: contain; }
.report-pages { margin-top: 32px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.report-pages a { padding: 8px; border: 1px solid rgba(255,255,255,.18); color: white; text-decoration: none; }
.report-pages img { width: 100%; aspect-ratio: 3 / 4; object-fit: contain; background: white; }
.report-pages span { margin-top: 8px; display: flex; align-items: center; justify-content: space-between; font-size: .76rem; }

.story-hero { position: relative; min-height: min(640px, calc(100svh - 100px)); overflow: hidden; background: #261f1d; color: white; }
.story-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.story-hero__copy { position: relative; z-index: 1; width: min(calc(100% - 48px), var(--content)); min-height: min(640px, calc(100svh - 100px)); margin-inline: auto; padding-block: 60px 90px; display: flex; flex-direction: column; justify-content: center; }
.story-hero h1 { max-width: 560px; font-size: 3.2rem; }
.story-hero .button { align-self: flex-start; }
.story-body { padding: 80px 0; }
.story-body__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; }
.prose-large p { max-width: 68ch; color: #424a45; font-size: 1.14rem; }
.prose-large p + p { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--line); }
.story-pillars { border-top: 1px solid var(--line); }
.story-pillars h2 { max-width: 720px; }
.brand-value { padding: 80px 0; background: var(--plum); color: white; }
.brand-value__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: start; gap: 64px; }
.brand-value .section-kicker { color: #c9a4de; }
.brand-value h2 { max-width: 560px; margin-bottom: 0; }
.brand-value__text { max-width: 650px; color: #ddd6e1; font-size: 1.12rem; }
.alternate-slogan { margin: 34px 0 0; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.2); color: white; font-size: 1.45rem; font-weight: 700; }
.brand-promise { padding: 80px 0; }
.brand-promise__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: start; gap: 64px; }
.brand-promise h2 { max-width: 560px; }
.promise-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.promise-list li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.promise-list span { color: var(--green); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; }
.promise-list p { margin: 0; font-size: 1.05rem; font-weight: 600; }
.trademark-section { padding: 80px 0; background: var(--surface); }
.trademark-layout { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 64px; }
.trademark-image { min-height: 480px; display: grid; place-items: center; background: var(--mist); overflow: hidden; }
.trademark-image img { width: 82%; max-height: 440px; object-fit: contain; }
.trademark-cta { margin-top: 28px; }

.faq-intro { background: #edf0ed; }
.faq-list-section { padding: 76px 0; background: var(--surface); }
.faq-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); align-items: start; gap: 60px; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-item summary { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; font-weight: 700; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary svg { width: 18px; height: 18px; flex: none; transition: transform .18s ease; }
.faq-item[open] summary svg { transform: rotate(45deg); }
.faq-item > div { padding: 0 44px 24px 0; color: var(--muted); }
.faq-aside { position: sticky; top: 110px; padding-left: 36px; border-left: 3px solid var(--purple); }
.faq-aside h2 { font-size: 1.7rem; }

.articles-intro { background: #edf0ed; }
.article-grid--list { grid-template-columns: 1fr; }
.article-grid--list .article-card { min-height: 0; }
.article-list-section { padding-block: 64px; }
.empty-state { min-height: 220px; padding: 36px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.empty-state > svg { width: 42px; height: 42px; margin-bottom: 20px; color: var(--green); }
.empty-state p { max-width: 520px; color: var(--muted); }
.article-detail { padding-bottom: 72px; background: var(--surface); }
.article-header { max-width: 820px; padding-top: 64px; padding-bottom: 36px; }
.article-header h1 { margin-bottom: 24px; }
.article-byline { display: flex; flex-wrap: wrap; gap: 8px 22px; color: var(--green); font-size: .8rem; }
.article-prose { max-width: 820px; padding-top: 36px; border-top: 1px solid var(--line); font-size: 1.05rem; }
.article-prose h2 { margin: 2.6em 0 .8em; font-size: 1.8rem; }
.article-prose h3 { margin: 2.2em 0 .7em; font-size: 1.4rem; }
.article-prose h4 { margin: 1.8em 0 .6em; font-size: 1.15rem; }
.article-prose a { color: var(--purple); }
.article-prose blockquote { margin: 2em 0; padding: 8px 0 8px 24px; border-left: 3px solid var(--green); color: #4a534e; }
.article-prose figure { margin: 2.4em 0; }
.article-prose figure img { width: 100%; max-height: 720px; object-fit: contain; background: #edf0ed; }
.article-prose figcaption { margin-top: 8px; color: var(--muted); font-size: .78rem; text-align: center; }
.article-prose table { width: 100%; margin: 2em 0; border-collapse: collapse; font-size: .92rem; }
.article-prose th, .article-prose td { padding: 10px 12px; border: 1px solid var(--line); text-align: left; vertical-align: top; }
.article-prose th { background: #edf0ed; }
.related-articles { padding: 72px 0; border-top: 1px solid var(--line); }
.not-found { padding-block: 72px; text-align: center; }
.not-found h1 { font-size: 2.5rem; }
.error-code { margin-bottom: 8px; color: var(--purple); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 4rem; font-weight: 700; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media (max-width: 980px) {
  h1 { font-size: 2.7rem; }
  h2 { font-size: 1.9rem; }
  .nav-toggle { display: inline-flex; }
  .site-nav { position: fixed; top: var(--header-height); right: 0; left: 0; padding: 10px 24px 24px; display: none; flex-direction: column; align-items: stretch; gap: 0; border-bottom: 1px solid var(--line); background: var(--paper); }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: 14px 0; border-bottom: 1px solid var(--line); }
  .site-nav a::after { display: none; }
  .home-hero { height: calc(42.0946vw + 200px); }
  .home-hero > img { object-position: 20% center; }
  .origin-profile__intro, .home-brand-intro__grid { grid-template-columns: 1fr; gap: 40px; }
  .origin-profile__media { min-height: 380px; }
  .split-layout, .quality-preview__grid, .certificate-layout, .report-heading, .story-body__grid, .brand-value__grid, .brand-promise__grid, .trademark-layout, .faq-layout { grid-template-columns: 1fr; gap: 48px; }
  .pasture-environment__intro { grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr); gap: 40px; }
  .product-visual--scene { width: min(100%, 760px); margin-inline: auto; }
  .brand-pillar-list { grid-template-columns: 1fr; }
  .brand-pillar { padding: 28px 0; }
  .brand-pillar + .brand-pillar { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .certificate-layout > img, .faq-aside { position: static; }
  .report-pages { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-main { grid-template-columns: 1fr; }
  .product-section-heading, .product-process__layout { grid-template-columns: 1fr; gap: 28px; }
  .nutrition-tables { gap: 28px; }
  .brewing-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brewing-steps li:nth-child(3) { border-left: 0; }
  .brewing-steps li:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.2); }
  .audience-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audience-list li:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; }
  .audience-list li:nth-child(even) { padding-left: 26px; border-left: 1px solid var(--line); }
}

@media (max-width: 700px) {
  :root { --header-height: 64px; }
  h1 { font-size: 2.25rem; }
  h2 { font-size: 1.65rem; }
  .section-inner, .header-inner, .story-hero__copy { width: min(calc(100% - 32px), var(--content)); }
  .brand-mark__logo { width: 102px; }
  .home-hero { min-height: 0; }
  .scene-note { right: 8px; bottom: 8px; left: 8px; font-size: .64rem; text-align: center; }
  .button { width: 100%; }
  .origin-profile, .why-choose, .pasture-environment, .product-focus, .brand-pillars, .home-brand-intro, .quality-preview, .latest-articles, .page-intro, .fact-section, .editorial-image-band, .pending-section, .certificate-section, .report-section, .story-body, .story-pillars, .brand-value, .brand-promise, .trademark-section, .faq-list-section, .article-list-section { padding-block: 52px; }
  .origin-profile__intro { gap: 30px; }
  .origin-profile__media { min-height: 0; aspect-ratio: 5 / 4; }
  .origin-profile__facts { margin-top: 34px; grid-template-columns: 1fr; }
  .origin-profile__facts article { padding: 24px 0; }
  .origin-profile__facts article + article { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .origin-profile__facts span { margin-bottom: 12px; }
  .why-choose__heading { margin-bottom: 26px; grid-template-columns: 1fr; gap: 12px; }
  .why-choose__heading > p { margin-bottom: 0; font-size: .92rem; }
  .why-choose__grid { grid-template-columns: 1fr; gap: 0; border-bottom: 1px solid var(--line); }
  .why-choose__item { padding-block: 22px; display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 18px; border-top: 1px solid var(--line); }
  .why-choose__media { grid-row: 1 / span 3; margin: 0; aspect-ratio: 4 / 5; }
  .why-choose__meta { margin-bottom: 7px; }
  .why-choose__item h3 { margin-bottom: 8px; font-size: 1.12rem; }
  .why-choose__item > p { font-size: .88rem; line-height: 1.65; }
  .pasture-environment__intro { grid-template-columns: 1fr; gap: 32px; }
  .pasture-environment__media { width: 100%; margin: 0; aspect-ratio: 16 / 10; }
  .pasture-environment__features { margin-top: 32px; grid-template-columns: 1fr; }
  .pasture-environment__feature { padding: 26px 0; }
  .pasture-environment__feature + .pasture-environment__feature { padding-left: 0; border-top: 1px solid rgba(255,255,255,.2); border-left: 0; }
  .pasture-environment__meta { margin-bottom: 16px; }
  .product-visual, .product-visual--large { min-height: 340px; }
  .product-visual::before { inset: 20px; }
  .product-visual img { width: 88%; height: 88%; }
  .product-visual--scene { width: 100%; min-height: 0; }
  .product-visual--scene img { width: 100%; height: 100%; }
  .quality-preview__grid { gap: 36px; }
  .section-heading-row { align-items: flex-start; flex-direction: column; }
  .brand-update { grid-template-columns: 1fr 28px; gap: 10px 18px; }
  .brand-update .article-date { grid-column: 1 / -1; }
  .article-grid, .article-grid--list { grid-template-columns: 1fr; }
  .footer-links { grid-template-columns: repeat(2, 1fr); }
  .fact-list > div, .fact-list--compact > div { grid-template-columns: 1fr; gap: 5px; }
  .product-highlight-grid { padding: 24px 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fact-list--columns { grid-template-columns: 1fr; }
  .pending-list { grid-template-columns: 1fr; }
  .quality-intro h1 { font-size: 2.15rem; }
  .certificate-layout { gap: 34px; }
  .certificate-data dl > div { grid-template-columns: 1fr; gap: 2px; }
  .report-pages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .story-hero, .story-hero__copy { min-height: min(580px, calc(100svh - 88px)); }
  .story-hero > img { object-position: 42% center; }
  .story-hero h1 { font-size: 2.25rem; }
  .alternate-slogan { font-size: 1.2rem; }
  .trademark-image { min-height: 320px; }
  .faq-aside { padding: 28px 0 0; border-top: 3px solid var(--purple); border-left: 0; }
  .article-header { padding-top: 56px; }
  .article-prose { overflow-x: auto; }
  .site-footer { padding-inline: 16px; }
  .footer-legal { grid-template-columns: auto auto; justify-content: center; }
  .footer-disclaimer { grid-column: 1 / -1; max-width: 62ch; text-align: center; }
  .footer-copyright { text-align: right; }
  .footer-record { text-align: left; }
  .product-notices, .nutrition-tables, .audience-scenes, .audience-list { grid-template-columns: 1fr; }
  .product-notices > div + div { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .product-nutrition, .product-process, .product-brewing, .product-audience { padding-block: 58px; }
  .product-nutrition__overview { grid-template-columns: 112px minmax(0, 1fr); min-height: 330px; }
  .nutrition-highlights { padding: 16px; }
  .nutrition-highlights > div { padding: 18px 12px; }
  .nutrition-highlights dd { font-size: 1.18rem; }
  .nutrition-tables th, .nutrition-tables td { padding: 10px 12px; }
  .process-gallery figure:nth-child(2) { margin-top: 38px; }
  .brewing-steps { grid-template-columns: 1fr; }
  .brewing-steps li, .brewing-steps li + li { padding: 24px 0; border-top: 1px solid rgba(255,255,255,.2); border-left: 0; }
  .brewing-steps li:first-child { border-top: 0; }
  .brewing-steps li > span { margin-bottom: 12px; }
  .audience-list li, .audience-list li:nth-child(even) { padding: 22px 0; border-left: 0; }
  .product-quality-link__inner { align-items: flex-start; flex-direction: column; gap: 28px; }
}

@media (max-width: 360px) {
  .button { font-size: .9rem; }
  .why-choose__item { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; }
}
