@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;700;900&family=Noto+Serif+SC:wght@500;600;700&display=swap');

/* ==========================================================================
   培元农业 · 内页样式（阳光 premium）
   与首页一致：暖奶油底 + 叶绿 + 柠檬绿 + 暖金 + 深绿点缀
   ========================================================================== */

:root {
  --font-body: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif;
  --font-heading: 'Manrope', 'Noto Sans SC', system-ui, sans-serif;
  --font-size-base: 16px;
  --heading-scale: 1;
  --line-height-base: 1.7;
  --color-text: #1d2918;
  --color-muted: #687064;
  --color-accent: #4f7a32;
  --color-accent-secondary: #c9994a;
  --page-bg: #f7f4ec;
  --card-bg: #ffffff;
  --button-text: #1d2918;
  --button-bg: #8fbf3f;
  --section-spacing: clamp(72px, 9vw, 120px);
  --card-radius: 24px;
  --button-radius: 999px;
  --animation-duration: 700ms;
  --animation-intensity: 26px;
  --bg: var(--page-bg);
  --bg-2: #efe9da;
  --card: var(--card-bg);
  --green: var(--color-accent);
  --green-bright: var(--button-bg);
  --green-deep: #2e4a2a;
  --gold: var(--color-accent-secondary);
  --soil: #c9a06a;
  --text: var(--color-text);
  --muted: var(--color-muted);
  --line: rgba(29,41,24,0.10);
  --line-soft: rgba(29,41,24,0.06);
  --shadow: 0 28px 60px -30px rgba(29,41,24,0.22);
  --shadow-sm: 0 14px 34px -18px rgba(29,41,24,0.16);
  --radius: var(--card-radius);
  --radius-sm: 14px;
  --radius-lg: 32px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --font: var(--font-body);
  --font-cn: var(--font-body);
  --serif: 'Noto Serif SC', 'Instrument Serif', Georgia, serif;
  --container: 1240px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body);
  font-size: var(--font-size-base); line-height: var(--line-height-base);
  color: var(--text); background: var(--bg);
  overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-heading); line-height: 1.12; font-weight: 900; letter-spacing: -0.02em; color: var(--text); }
p { margin: 0; }
::selection { background: var(--green); color: #fff; }
.serif { font-family: var(--serif); font-weight: 600; }

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 clamp(20px, 4vw, 44px); }
.section { padding: var(--section-spacing) 0; border-bottom: 1px solid var(--line-soft); }
.section--tint { background: var(--bg-2); }
.section--green { background: var(--bg-2); }

/* ---------- 通用文字 ---------- */
.eyebrow { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font); font-size: 12px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); }
.eyebrow::before { content: ""; width: 24px; height: 2px; background: var(--gold); }
.h2 { font-size: clamp(28px, 3.6vw, 42px); letter-spacing: -0.03em; margin-top: 18px; font-weight: 900; }
.lead { color: var(--muted); font-size: 17px; max-width: 720px; margin-top: 18px; line-height: 1.8; }
.sec-head { margin-bottom: 48px; }
.sec-head.center { text-align: center; }
.sec-head.center .lead { margin-left: auto; margin-right: auto; }
.sec-head.center .eyebrow { justify-content: center; }

/* ---------- 按钮 ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 14px 28px; border-radius: var(--button-radius); font-weight: 700; font-size: 15px; letter-spacing: 0.01em; border: 1.5px solid transparent; cursor: pointer; white-space: nowrap; transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease; }
.btn--primary { background: var(--green); color: #fff; }
.btn--primary:hover { background: var(--green-deep); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.btn--accent { background: var(--button-bg); color: var(--button-text); }
.btn--accent:hover { background: #7daa32; transform: translateY(-2px); box-shadow: 0 14px 34px -14px rgba(79,122,50,0.5); }
.btn--ghost { background: transparent; color: var(--green); border-color: rgba(29,41,24,0.35); }
.btn--ghost:hover { background: rgba(79,122,50,0.08); border-color: var(--green); transform: translateY(-2px); }
.btn--light { background: #fff; color: var(--green); border-color: var(--line); }
.btn--light:hover { background: var(--bg-2); transform: translateY(-2px); }
.btn--lg { padding: 17px 34px; font-size: 16px; }

/* ---------- 顶部导航 ---------- */
.header { position: sticky; top: 0; z-index: 80; background: rgba(247,244,236,0.9); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line-soft); }
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 74px; gap: 18px; }
.brand { display: flex; align-items: center; gap: 11px; }
.brand img { width: 40px; height: 40px; object-fit: contain; }
.brand-name { font-size: 19px; font-weight: 900; color: var(--green-deep); letter-spacing: 0.01em; }
.brand-sub { display: block; font-family: var(--font); font-size: 9px; font-weight: 700; letter-spacing: 0.2em; color: var(--gold); text-transform: uppercase; margin-top: 2px; }
.header .brand img { width: 46px; height: 46px; }
.header .brand-name { font-size: 22px; }
.header .brand-sub { font-size: 10px; }
.nav { display: flex; align-items: center; gap: 4px; }
.nav a { padding: 9px 15px; border-radius: 999px; font-size: 15px; font-weight: 600; color: var(--muted); transition: 0.16s ease; }
.nav a:hover { color: var(--green); background: rgba(79,122,50,0.08); }
.nav a.active { color: var(--green); background: rgba(79,122,50,0.12); }
.header-actions { display: flex; align-items: center; gap: 12px; }
.lang { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; font-size: 12px; font-family: var(--font); }
.lang span { padding: 5px 12px; cursor: pointer; color: var(--muted); }
.lang span.on { background: var(--green); color: #fff; }
.has-dropdown { position: relative; }
.dropdown { position: absolute; top: calc(100% + 10px); left: 0; min-width: 180px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); padding: 6px; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity 0.2s var(--ease), transform 0.2s var(--ease), visibility 0s; z-index: 90; }
.has-dropdown:hover .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown a { display: block; padding: 10px 14px; border-radius: 10px; font-size: 14.5px; color: var(--text); white-space: nowrap; }
.dropdown a:hover { background: rgba(79,122,50,0.08); color: var(--green); }

/* ---------- 内页头部 ---------- */
    .page-hero { background: #e3ecd4; color: var(--text); padding: 88px 0 66px; border-bottom: 1px solid rgba(79,122,50,0.16); }
    .page-hero .container { position: relative; z-index: 2; }
    .page-hero .crumbs { font-family: var(--font); font-size: 13px; color: var(--gold); margin-bottom: 8px; letter-spacing: 0.02em; }
    .page-hero h1 { font-size: clamp(40px, 6vw, 68px); letter-spacing: -0.03em; margin-top: 16px; font-weight: 900; background: linear-gradient(105deg, var(--green-deep) 0%, var(--green) 58%, var(--gold) 118%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.page-hero .lead { color: var(--muted); font-size: 19px; }

/* ---------- 简介分栏 ---------- */
.about-split { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 60px; align-items: center; }
.about-copy p { color: var(--muted); margin-top: 20px; font-size: 16.5px; }
.about-media { position: relative; }
.about-media .main { border-radius: var(--radius); box-shadow: var(--shadow); }
.about-media .sub { position: absolute; right: -22px; bottom: -30px; width: 46%; border-radius: var(--radius); border: 6px solid var(--bg); box-shadow: var(--shadow); }
.points { margin-top: 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.point { display: flex; gap: 12px; align-items: flex-start; }
.point .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green-bright); margin-top: 9px; flex: none; }
.point b { display: block; color: var(--text); }
.point span { color: var(--muted); font-size: 14.5px; }

/* ---------- 数据卡带 ---------- */
.stat-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 40px; }
    .stat-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 26px 28px; background: #fff; transition: 0.24s var(--ease); }
    .stat-card:hover { background: var(--green-deep); border-color: var(--green-deep); transform: translateY(-4px); box-shadow: var(--shadow); }
    .stat-card--dark { background: #fff; color: var(--text); border-color: var(--line); }
    .stat-card-label { font-family: var(--font); font-size: 12px; letter-spacing: 0.08em; color: var(--muted); text-transform: uppercase; }
    .stat-card-value { font-family: var(--font); font-size: 38px; font-weight: 800; letter-spacing: -0.03em; color: var(--green); line-height: 1; margin-top: 12px; }
    .stat-card-value .unit { font-size: 0.45em; font-weight: 700; color: var(--gold); margin-left: 3px; }
    .stat-card:hover .stat-card-label { color: rgba(255,255,255,0.66); }
    .stat-card:hover .stat-card-value { color: #fff; }
    .stat-card:hover .stat-card-value .unit { color: var(--green-bright); }

/* ---------- 规格网格 ---------- */
.spec-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 40px; }
.spec-cell { display: flex; flex-direction: column; justify-content: space-between; min-height: 180px; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 26px; background: #fff; transition: 0.24s var(--ease); }
.spec-cell:hover { background: var(--green-deep); color: #fff; transform: translateY(-3px); box-shadow: var(--shadow); }
.spec-cell--dark { background: var(--green-deep); color: #fff; border-color: var(--green-deep); }
.spec-cell--accent { background: var(--bg-2); }
.spec-id { font-family: var(--font); font-size: 11px; font-weight: 700; letter-spacing: 0.14em; color: var(--gold); text-transform: uppercase; }
.spec-label { font-size: 12px; letter-spacing: 0.06em; color: var(--muted); margin-top: 10px; text-transform: uppercase; }
.spec-value { font-family: var(--font); font-size: 30px; font-weight: 800; letter-spacing: -0.03em; color: var(--green); line-height: 1; margin-top: 12px; }
.spec-value .unit { font-size: 0.5em; font-weight: 700; color: var(--gold); margin-left: 3px; }
.spec-note { color: var(--muted); font-size: 13px; line-height: 1.6; margin-top: 12px; }
.spec-cell:hover .spec-value, .spec-cell--dark .spec-value { color: #fff; }
.spec-cell:hover .spec-label, .spec-cell:hover .spec-note, .spec-cell--dark .spec-label, .spec-cell--dark .spec-note { color: rgba(255,255,255,0.74); }
.spec-cell:hover .spec-id, .spec-cell--dark .spec-id { color: var(--green-bright); }

/* ---------- 规格卡片 / 表格 ---------- */
.spec-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 26px; }
.spec-card { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; }
.spec-head { background: var(--green-deep); color: #fff; padding: 12px 20px; font-weight: 700; font-size: 15px; }
.spec-card ul { padding: 6px 20px 14px; }
.spec-card li { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px dashed var(--line); font-size: 14.5px; }
.spec-card li:last-child { border-bottom: 0; }
.spec-card li span { color: var(--muted); }
.spec-card li b { color: var(--green); font-weight: 700; text-align: right; white-space: nowrap; }
.key-attrs { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; margin-top: 24px; background: var(--bg-2); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); padding: 15px 22px; }
.key-attr { display: inline-flex; align-items: center; gap: 9px; color: var(--green); font-weight: 700; font-size: 16px; }
.key-attr::before { content: "✓"; color: var(--green-bright); font-weight: 900; }
.spec-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 24px; }
.spec-box { background: #fff; border-radius: var(--radius); padding: 30px 32px; border: 1px solid var(--line); }
.spec-box h3 { font-size: 1.25rem; font-weight: 800; letter-spacing: -0.01em; }
.spec-box .tag { display: inline-block; margin-top: 12px; padding: 5px 12px; border-radius: 100px; background: var(--bg-2); color: var(--green); font-size: 0.78rem; font-weight: 700; }
.spec-box ul { list-style: none; margin-top: 18px; }
.spec-box li { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px dashed var(--line); font-size: 0.94rem; }
.spec-box li:last-child { border-bottom: 0; }
.spec-box li span { color: var(--muted); }
.spec-box li b { color: var(--text); font-weight: 700; text-align: right; }
.spawn-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 24px; }
.spawn-card { background: #fff; border-radius: var(--radius); padding: 28px 26px; border: 1px solid var(--line); transition: 0.24s var(--ease); }
.spawn-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.spawn-card .n { font-family: var(--font); font-size: 0.78rem; letter-spacing: 0.14em; color: var(--green); font-weight: 700; text-transform: uppercase; }
.spawn-card h4 { font-size: 1.18rem; font-weight: 800; margin-top: 12px; }
.spawn-card p { color: var(--muted); font-size: 0.92rem; line-height: 1.6; margin-top: 9px; }
.spec-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); }
.spec-table th, .spec-table td { padding: 15px 20px; text-align: left; border-bottom: 1px solid var(--line); font-size: 15px; }
.spec-table th { background: var(--green-deep); color: #fff; font-weight: 700; letter-spacing: 0.01em; }
.spec-table td:first-child { font-weight: 700; color: var(--green); width: 32%; background: var(--bg-2); }
.spec-table tr:last-child td { border-bottom: 0; }
.note-band { background: var(--bg-2); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); padding: 17px 21px; color: var(--muted); font-size: 14.5px; margin-top: 18px; }
.note-band b { color: var(--green-deep); }

/* ---------- 菌种 ---------- */
.strain-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.strain-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; display: flex; flex-direction: column; transition: 0.24s var(--ease); }
.strain-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.strain-card .sc-head { display: flex; align-items: baseline; gap: 12px; }
.strain-card .sc-num { font-family: var(--font); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; color: var(--gold); }
.strain-card h3 { font-size: 22px; font-weight: 900; }
.strain-card .sc-tag { display: inline-block; margin-top: 13px; padding: 6px 12px; border-radius: 999px; background: var(--bg-2); color: var(--green); font-size: 12.5px; font-weight: 700; align-self: flex-start; }
.strain-card > p { color: var(--muted); font-size: 14px; margin-top: 15px; }
.sc-meta { margin-top: 16px; border-top: 1px solid var(--line); }
.sc-meta li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px dashed var(--line); font-size: 14px; }
.sc-meta li:last-child { border-bottom: 0; }
.sc-meta li span { color: var(--muted); }
.sc-meta li b { color: var(--green); font-weight: 700; text-align: right; }
.strain-card .more { margin-top: auto; padding-top: 15px; color: var(--gold); font-weight: 700; font-size: 14px; }
.compare-wrap { overflow-x: auto; border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.compare-table { width: 100%; min-width: 880px; border-collapse: collapse; background: #fff; }
.compare-table th, .compare-table td { padding: 15px 18px; text-align: left; border-bottom: 1px solid var(--line); font-size: 14px; vertical-align: top; }
.compare-table thead th { background: var(--green-deep); color: #fff; font-weight: 700; }
.compare-table tbody th { width: 140px; font-weight: 700; color: var(--green); background: var(--bg-2); position: sticky; left: 0; }
.compare-table tr:last-child td { border-bottom: 0; }
.strain-ph { position: relative; border-radius: var(--radius); overflow: hidden; min-height: 380px; display: grid; place-items: center; background: linear-gradient(135deg, var(--green), var(--green-deep) 60%, var(--gold)); color: #fff; }
.strain-ph .num { font-family: var(--font); font-size: 96px; font-weight: 800; letter-spacing: 0.02em; opacity: 0.16; position: absolute; right: 24px; top: 8px; line-height: 1; }
.strain-ph .inner { position: relative; z-index: 2; text-align: center; padding: 34px; }
.strain-ph h2 { color: #fff; font-size: 32px; font-weight: 900; margin-top: 12px; }
.strain-ph p { color: rgba(255,255,255,0.82); margin-top: 12px; max-width: 460px; margin-left: auto; margin-right: auto; }
.strain-ph .eyebrow { color: var(--green-bright); }
.strain-ph .eyebrow::before { background: var(--green-bright); }

/* ---------- 步骤卡片 ---------- */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 40px; }
.steps-4 { grid-template-columns: repeat(4, 1fr); }
.step { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px 24px; transition: 0.24s var(--ease); }
.step:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.step .num { font-family: var(--font); font-size: 12px; font-weight: 700; letter-spacing: 0.18em; color: var(--gold); }
.step h4 { font-size: 18px; font-weight: 900; color: var(--green-deep); margin-top: 12px; }
.step p { color: var(--muted); font-size: 13.5px; margin-top: 7px; }

/* ---------- 信任 / 清单 ---------- */
.trust-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.trust-item { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 30px 28px; transition: 0.24s var(--ease); }
.trust-item:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.trust-item .ic { width: 48px; height: 48px; border-radius: 14px; background: var(--bg-2); display: grid; place-items: center; color: var(--green); font-size: 21px; margin-bottom: 16px; }
.trust-item h3 { font-size: 20px; font-weight: 900; }
.trust-item p { color: var(--muted); font-size: 15px; margin-top: 9px; }
.check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 48px; }
.check-item { display: flex; gap: 16px; align-items: flex-start; padding: 20px 0; border-bottom: 1px solid var(--line); }
.check-item .tick { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--bg-2); color: var(--green); display: grid; place-items: center; font-weight: 900; font-size: 14px; margin-top: 2px; }
.check-item b { display: block; color: var(--text); font-size: 17px; font-weight: 900; }
.check-item span { color: var(--muted); font-size: 14.5px; }

/* ---------- 证书 / 荣誉 ---------- */
.certs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.certs.certs-4 { grid-template-columns: repeat(4, 1fr); }
.cert { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 16px 14px; text-align: center; transition: 0.24s var(--ease); }
.cert:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.cert img { height: 108px; object-fit: contain; margin: 0 auto; }
.cert span { display: block; font-size: 12px; color: var(--muted); margin-top: 11px; }
.honor-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; justify-content: center; }
.honor-chip { background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 8px 17px; font-size: 13.5px; color: var(--green); }

/* ---------- 专家 / 文化 ---------- */
.expert-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; transition: 0.24s var(--ease); }
.expert-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.expert-card .avatar { width: 62px; height: 62px; border-radius: 50%; background: linear-gradient(135deg, var(--green-bright), var(--green)); color: #1d2918; display: grid; place-items: center; font-weight: 900; font-size: 24px; margin-bottom: 16px; }
.expert-card .etitle { color: var(--gold); font-size: 13px; font-weight: 700; letter-spacing: 0.02em; }
.expert-card h3 { font-size: 22px; font-weight: 900; margin: 7px 0 11px; }
.expert-card p { color: var(--muted); font-size: 15px; }
.expert-card .more { display: inline-block; margin-top: 15px; color: var(--gold); font-weight: 700; font-size: 14px; }
.culture-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 38px 26px; text-align: center; transition: 0.24s var(--ease); }
.culture-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.culture-card .cv { display: grid; place-items: center; width: 82px; height: 82px; margin: 0 auto 20px; border-radius: 50%; background: var(--bg-2); }
.culture-card h3 { font-size: 20px; font-weight: 900; }
.culture-card .en { display: block; font-family: var(--font); font-size: 12px; letter-spacing: 0.16em; color: var(--gold); text-transform: uppercase; margin-top: 6px; }
.culture-card p { color: var(--muted); font-size: 14.5px; margin-top: 13px; }
.idea-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px 22px; text-align: center; transition: 0.24s var(--ease); }
.idea-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.idea-card h3 { font-size: 19px; font-weight: 900; }
.idea-card .en { display: block; color: var(--gold); font-size: 14px; font-weight: 700; margin-top: 8px; }
.idea-card p { color: var(--muted); font-size: 14px; margin-top: 10px; }
.statement { max-width: 960px; margin: 0 auto; text-align: center; }
.statement .quote { font-size: clamp(22px, 3vw, 36px); line-height: 1.5; font-weight: 500; color: var(--text); }
.statement .quote b { color: var(--green-deep); font-weight: 900; }
.statement .attr { margin-top: 28px; font-size: 15px; letter-spacing: 0.03em; color: var(--gold); font-weight: 700; }
.techrow { display: grid; grid-template-columns: 1fr 1fr; gap: 0 60px; }
.techrow .titem { display: flex; gap: 20px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.techrow .tnum { font-family: var(--font); font-size: 13px; font-weight: 700; color: var(--gold); letter-spacing: 0.14em; padding-top: 4px; }
.techrow h3 { font-size: 20px; font-weight: 900; }
.techrow p { color: var(--muted); font-size: 15px; margin-top: 6px; }
.fullband { position: relative; min-height: 540px; display: flex; align-items: flex-end; color: #fff; overflow: hidden; border-radius: var(--radius); }
.fullband .bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.fullband .bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,32,16,0.86) 0%, rgba(20,32,16,0.18) 62%); }
.fullband .inner { position: relative; z-index: 2; width: 100%; padding-bottom: 66px; }
.fullband h2 { color: #fff; font-size: clamp(30px, 4.4vw, 52px); font-weight: 900; }
.fullband p { color: rgba(255,255,255,0.88); max-width: 660px; margin-top: 14px; font-size: 17px; }

/* ---------- 新闻 / 文章 ---------- */
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.news-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
.post { display: flex; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.post:last-child { border-bottom: 0; }
.post .date { font-family: var(--font); font-size: 12px; color: var(--gold); font-weight: 700; letter-spacing: 0.06em; white-space: nowrap; }
.post .t { font-weight: 700; color: var(--text); font-size: 17px; transition: color 0.16s ease; }
.post .t:hover { color: var(--green); }
.article-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; transition: 0.24s var(--ease); }
.article-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-sm); }
.article-card .cat { font-size: 12px; color: var(--gold); font-weight: 700; letter-spacing: 0.05em; }
.article-card h3 { font-size: 20px; font-weight: 900; margin: 11px 0; }
.article-card p { color: var(--muted); font-size: 15px; }
.article-layout { display: grid; grid-template-columns: 1fr 320px; gap: 60px; align-items: start; }
.article-meta { display: flex; gap: 18px; align-items: center; margin: 20px 0 6px; font-size: 13.5px; color: var(--muted); }
.article-body { font-size: 16.5px; }
.article-body h2 { margin: 40px 0 16px; font-size: 26px; font-weight: 900; }
.article-body h3 { margin: 28px 0 12px; font-size: 20px; font-weight: 900; }
.article-body p { color: var(--text); margin: 14px 0; }
.article-body ul { list-style: disc; padding-left: 24px; color: var(--text); margin: 14px 0; }
.article-body li { margin: 8px 0; }
.article-sidebar { position: sticky; top: 96px; }
.side-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; margin-bottom: 18px; }
.side-card h4 { font-size: 15px; margin-bottom: 13px; color: var(--green-deep); font-weight: 900; }
.side-card a { display: block; padding: 8px 0; color: var(--muted); font-size: 14.5px; border-bottom: 1px dashed var(--line); }
.side-card a:last-child { border-bottom: 0; }
.side-card a:hover { color: var(--green); }
.tag-row { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 30px; }
.tag { padding: 8px 16px; border-radius: 999px; border: 1px solid var(--line); font-size: 13.5px; color: var(--muted); cursor: pointer; background: #fff; transition: 0.16s ease; }
.tag.on { background: var(--green); color: #fff; border-color: var(--green); }

/* ---------- CTA 横幅 ---------- */
.cta-band { background: linear-gradient(120deg, var(--green-deep), #233a1c); color: #fff; border-radius: 32px; padding: 58px 62px; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; box-shadow: var(--shadow); }
.cta-band h2 { color: #fff; font-size: clamp(25px, 3.2vw, 38px); font-weight: 900; }
.cta-band p { color: rgba(255,255,255,0.82); margin-top: 12px; max-width: 600px; font-size: 16.5px; }

/* ---------- 追溯日志 ---------- */
    .log-band { background: #fff; color: var(--text); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; margin-top: 46px; box-shadow: var(--shadow-sm); }
    .log-band-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 26px; border-bottom: 1px solid var(--line); }
    .log-band-title { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--green); }
.log-band-title::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--green-bright); animation: pulse 2s ease-in-out infinite; }
    .log-band-status { font-family: var(--font); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.log-track { display: flex; width: max-content; animation: logScroll 46s linear infinite; padding: 18px 0; }
.log-entry { display: inline-flex; align-items: center; gap: 12px; white-space: nowrap; padding: 0 26px; font-size: 13px; }
    .log-entry-time { font-family: var(--font); color: var(--muted); }
.log-entry-tag { font-family: var(--font); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; padding: 3px 8px; border: 1px solid; border-radius: 4px; }
    .log-ok { color: var(--green); border-color: rgba(79,122,50,0.35); }
    .log-warn { color: var(--gold); border-color: rgba(201,153,74,0.45); }
    .log-sys { color: #a97e2f; border-color: rgba(169,126,47,0.4); }
    .log-entry-msg { color: var(--muted); }
@keyframes logScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.4; } }

/* ---------- 表单 ---------- */
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field { display: flex; flex-direction: column; gap: 8px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: 14px; font-weight: 700; color: var(--text); }
.field input, .field select, .field textarea { padding: 13px 15px; border: 1px solid var(--line); border-radius: var(--radius-sm); font: inherit; color: var(--text); background: #fff; width: 100%; transition: border-color 0.18s ease, box-shadow 0.18s ease; }
.field textarea { min-height: 128px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--green-bright); box-shadow: 0 0 0 4px rgba(143,191,63,0.18); }
.field[hidden] { display: none; }

/* ---------- 联系 ---------- */
.contact-list { display: grid; }
.contact-row { display: flex; gap: 18px; align-items: flex-start; padding: 21px 0; border-bottom: 1px solid var(--line); }
.contact-row .ic { flex: none; width: 50px; height: 50px; border-radius: 14px; background: var(--bg-2); color: var(--green); display: grid; place-items: center; font-size: 20px; }
.contact-row b { display: block; color: var(--text); font-size: 16px; font-weight: 900; }
.contact-row p { color: var(--muted); font-size: 15px; margin-top: 4px; }
.map-ph { position: relative; min-height: 320px; border-radius: var(--radius); overflow: hidden; display: grid; place-items: center; background: linear-gradient(135deg, var(--bg-2), var(--bg)); border: 1px solid var(--line); }
.map-ph .pin { position: relative; width: 44px; height: 44px; border-radius: 50% 50% 50% 0; background: var(--gold); transform: rotate(-45deg); margin: 0 auto 18px; }
.map-ph .pin::after { content: ""; position: absolute; left: 15px; top: 15px; width: 14px; height: 14px; border-radius: 50%; background: #fff; }
.map-ph .cap { color: var(--text); font-weight: 700; text-align: center; }
.map-ph .sub { color: var(--muted); font-size: 13px; text-align: center; margin-top: 6px; }

/* ---------- 关于我们 · 全球布局地图（勿动） ---------- */
.map-stage { position: relative; max-width: 1120px; margin: 0 auto; }
.reach-map { width: 100%; }
.reach-map svg { width: 100%; height: auto; display: block; }
.map-note { margin: 16px 0 0; text-align: center; font-size: 12.5px; color: var(--muted); }
.map-stage .dot { fill: #CEC7B8; }
.map-stage .dot.china { fill: #CEC7B8; transition: fill 0.5s ease; }
.map-stage.in .dot.china { fill: #2E6B52; }
.map-stage .bound-line { fill: none; stroke: #A6AFA7; stroke-width: 0.8; opacity: 0.5; }
.map-stage .dash-line { fill: none; stroke: #2E6B52; stroke-width: 1.5; opacity: 0.65; }
.map-stage .map-label { font-family: var(--font-cn); font-size: 17px; font-weight: 700; fill: #28332D; paint-order: stroke; stroke: #FCFAF5; stroke-width: 3px; stroke-linejoin: round; }
.map-stage .map-label.small { font-size: 13px; font-weight: 600; }
.map-stage .map-label.export { fill: #2E6B52; }
.map-stage .map-label.pingshan { fill: #C0392B; }
.ping-dot { fill: #C0392B; }
.ping-halo { fill: none; stroke: #C0392B; stroke-width: 1.6; transform-box: fill-box; transform-origin: center; }
.map-stage.in .ping-halo { animation: pingPulse 1.8s ease-out infinite; }
.reach-arrow .arrow-line { fill: none; stroke: #C0392B; stroke-width: 3; stroke-linecap: round; }
.reach-arrow .arrow-head { fill: #C0392B; opacity: 0; }
.map-stage.in .reach-arrow .arrow-head { opacity: 1; }
@keyframes pingPulse { 0% { transform: scale(0.55); opacity: 0.85; } 80%, 100% { transform: scale(2.3); opacity: 0; } }

/* ---------- 页脚 ---------- */
.footer { background: var(--green-deep); color: rgba(255,255,255,0.82); padding: 76px 0 32px; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 44px; }
.footer h4 { color: var(--green-bright); font-size: 13px; margin-bottom: 18px; letter-spacing: 0.14em; text-transform: uppercase; font-family: var(--font); font-weight: 700; }
.footer a { display: block; padding: 6px 0; color: rgba(255,255,255,0.66); font-size: 15px; transition: color 0.16s ease; }
.footer a:hover { color: var(--green-bright); }
.footer .brand-name { color: #fff; }
.footer-bottom { margin-top: 48px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.14); display: flex; justify-content: space-between; gap: 20px; font-size: 13px; color: rgba(255,255,255,0.5); flex-wrap: wrap; }

/* ---------- 交互动效 ---------- */
.reveal { opacity: 0; transform: translateY(26px); transition: opacity 0.7s var(--ease), transform 0.7s var(--ease); }
.reveal.in { opacity: 1; transform: none; }

/* ---------- 响应式 ---------- */
@media (max-width: 1024px) {
  .spec-grid, .stat-card-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .nav { display: none; }
  .about-split, .techrow, .article-layout { grid-template-columns: 1fr; }
  .grid-3, .trust-grid, .news-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .strain-grid { grid-template-columns: 1fr 1fr; }
  .article-sidebar { position: static; }
  .certs, .certs-4 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  .grid-3 { grid-template-columns: 1fr; }
  .spec-cards, .spec-cols, .spec-grid, .stat-card-grid, .spawn-row { grid-template-columns: 1fr; }
  .steps, .steps-4 { grid-template-columns: 1fr 1fr; }
  .check-grid { grid-template-columns: 1fr; }
  .cta-band { padding: 44px 28px; }
}
@media (max-width: 620px) {
  .form-grid { grid-template-columns: 1fr; }
  .steps, .steps-4 { grid-template-columns: 1fr; }
  .certs, .certs-4 { grid-template-columns: repeat(2, 1fr); }
  .strain-grid { grid-template-columns: 1fr; }
  .container { padding: 0 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .log-track { animation: none; }
  .map-stage .dot.china { transition: none; fill: var(--green); }
  .map-stage.in .ping-halo { animation: none; opacity: 0; }
  .reach-arrow .arrow-head { opacity: 1; }
  .reach-arrow .arrow-line { transition: none; }
}


/* Django/Wagtail integration */
.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}
.skip-link{position:fixed;left:16px;top:-80px;z-index:200;background:#fff;color:var(--green-deep);padding:10px 16px;border-radius:8px;box-shadow:var(--shadow)}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.narrow,.narrow-layout{max-width:860px}
.site-shell{width:100%;max-width:var(--container);margin:0 auto;padding:0 clamp(20px,4vw,44px)}
.header{transition:background .25s ease,box-shadow .25s ease}
.header-inner{position:relative}
.lang a{padding:5px 11px;color:var(--muted)}
.lang a.on{background:var(--green);color:#fff}
.nav-disabled{padding:9px 15px;border-radius:999px;font-size:15px;font-weight:600;color:var(--muted);cursor:not-allowed;opacity:.55}
.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.9);padding:11px;cursor:pointer}
.menu-toggle span:not(.sr-only){display:block;height:2px;background:var(--green-deep);margin:4px 0}
.template-homepage .header,.template-aboutpage .header{position:fixed;left:0;right:0;background:transparent;border-color:transparent;backdrop-filter:none}
.template-homepage .header:not(.scrolled) .brand-name,.template-aboutpage .header:not(.scrolled) .brand-name{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.3)}
.template-homepage .header:not(.scrolled) .nav a,.template-homepage .header:not(.scrolled) .nav-disabled,.template-aboutpage .header:not(.scrolled) .nav a,.template-aboutpage .header:not(.scrolled) .nav-disabled{color:rgba(255,255,255,.9);text-shadow:0 1px 12px rgba(0,0,0,.28)}
.template-homepage .header:not(.scrolled) .lang,.template-aboutpage .header:not(.scrolled) .lang{border-color:rgba(255,255,255,.45)}
.template-homepage .header:not(.scrolled) .lang a,.template-aboutpage .header:not(.scrolled) .lang a{color:#fff}
.header.scrolled{background:rgba(247,244,236,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);box-shadow:0 14px 34px -24px rgba(29,41,24,.35)}
.hero{position:sticky;top:0;height:100svh;min-height:620px;display:flex;align-items:flex-start;padding-top:clamp(120px,18vh,190px);overflow:hidden}
.hero-img,.hero-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{background:linear-gradient(180deg,rgba(20,32,16,.68) 0%,rgba(20,32,16,.44) 24%,rgba(20,32,16,.16) 50%,rgba(20,32,16,0) 68%);z-index:1}.hero-mist{position:absolute;left:0;right:0;bottom:0;height:360px;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(239,233,218,0),rgba(239,233,218,.4))}
.hero-inner{position:relative;z-index:2}
.hero h1{max-width:980px;color:#fff;font-size:clamp(2.7rem,6.5vw,5.5rem);line-height:1.02;text-shadow:0 4px 32px rgba(0,0,0,.3)}
.hero .eyebrow{color:#eccb8f}.hero .eyebrow:before{background:#eccb8f}
.hero-lead{max-width:760px;color:rgba(255,255,255,.92);font-size:clamp(1.05rem,2vw,1.35rem);margin-top:22px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.btn--glass{color:var(--green-deep);border-color:rgba(255,255,255,.9);background:#fff;box-shadow:0 10px 30px -12px rgba(0,0,0,.4)}.btn--glass:hover{color:var(--green-deep);background:#f1ecdf;border-color:#fff;transform:translateY(-3px)}
.home-content{position:relative;z-index:2;background:var(--bg)}
.card-media{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;margin-bottom:22px}
.card-index{display:block;color:var(--gold);font:700 12px var(--font);letter-spacing:.14em;margin-bottom:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.culture-card,.idea-card,.check-item,.cert,.post,.article-card,.card,.list-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.culture-card,.idea-card{padding:30px;transition:.25s var(--ease)}
.culture-card:hover,.idea-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.culture-card h3,.idea-card h3{font-size:1.28rem;margin-top:12px}
.culture-card p,.idea-card p,.post p,.article-card p{color:var(--muted);margin-top:12px}
.culture-card .en,.idea-card .en{display:block;color:var(--green);font-size:.78rem;margin-top:6px}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.check-item{display:flex;gap:16px;padding:24px}.check-item>span{color:var(--green);font-size:1.3rem}.check-item p{color:var(--muted);margin-top:8px}
.process{padding:clamp(78px,9vw,120px) 0;background:var(--bg-2)}
.process-head{text-align:center;margin-bottom:58px}.process-head h2{font-size:clamp(2rem,4vw,3.2rem);margin-top:16px}
.process-flow{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;position:relative}.process-step{text-align:center}.step-node{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fff;border:2px solid rgba(79,122,50,.22);color:var(--green);font-weight:800;margin:0 auto}.process-step h3{font-size:1.05rem;margin-top:18px}.process-step p{color:var(--muted);font-size:.88rem;margin-top:8px}
.article-card{overflow:hidden}.article-card-media{display:block;min-height:220px;background:var(--bg-2)}.article-card-media img{width:100%;aspect-ratio:16/11;object-fit:cover}.article-card-body,.post-body{padding:26px}.article-card h2,.article-card h3,.post h2,.post h3{font-size:1.35rem;margin-top:12px}.text-link{display:inline-block;color:var(--green);font-weight:700;margin-top:16px}.media-placeholder{min-height:220px;display:grid;place-items:center;color:var(--muted)}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.post{overflow:hidden;padding:28px}.post>img{width:calc(100% + 56px);max-width:none;margin:-28px -28px 22px;aspect-ratio:16/10;object-fit:cover}
.meta{color:var(--muted);font-size:.85rem}
.certs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cert{padding:26px;text-align:center}.cert-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;margin:0 auto 16px;background:var(--bg-2);color:var(--green);font-size:1.25rem}.cert p{color:var(--muted);margin-top:8px}
.expert-portrait{width:100%;aspect-ratio:5/6;object-fit:cover;border-radius:18px;margin-bottom:20px}.expert-hero{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:center}.expert-hero img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}
.footer-summary{margin-top:18px;max-width:34ch;color:rgba(255,255,255,.62)}
.page-hero{padding-top:clamp(105px,12vw,145px)}.page-hero .rich-text p{margin-top:0}.wide-banner{max-height:520px;overflow:hidden}.wide-banner img{width:100%;height:min(32vw,520px);min-height:260px;object-fit:cover}
.rich-text p+ p,.rich-text ul,.rich-text ol,.rich-text h2,.rich-text h3{margin-top:1.15em}.rich-text ul{list-style:disc;padding-left:1.4em}.rich-text ol{padding-left:1.4em}.rich-text a{color:var(--green);text-decoration:underline}.rich-text img{height:auto;border-radius:16px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-card figcaption{padding:13px 16px;color:var(--muted)}
.about-hero{position:sticky;top:0;height:100svh;min-height:620px;display:flex;align-items:flex-end;overflow:hidden}.about-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.about-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,32,16,.55),rgba(20,32,16,.12) 50%,rgba(20,32,16,.82))}.about-hero-inner{position:relative;z-index:2;padding-bottom:74px}.about-hero h1{color:#fff;font-size:clamp(2.7rem,7vw,5rem);margin-top:14px}.about-hero-lead{color:rgba(255,255,255,.92);max-width:720px;font-size:1.1rem;margin-top:18px}.about-hero-lead p{color:inherit}
.statement{text-align:center;max-width:980px;margin:auto}.statement .quote{font:600 clamp(1.5rem,3vw,2.25rem)/1.65 var(--serif)}.statement .attr{color:var(--gold);margin-top:22px}
.fullband{position:relative;min-height:500px;display:flex;align-items:center;overflow:hidden;color:#fff}.bg-img,.fullband-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.fullband-overlay{background:linear-gradient(90deg,rgba(25,39,20,.9),rgba(25,39,20,.35))}.fullband .inner{position:relative;z-index:2}.fullband h2{color:#fff;font-size:clamp(2rem,4vw,3.3rem);margin-top:16px}.fullband .rich-text{max-width:720px;margin-top:20px}
.map-stage{min-height:400px}.market-data{display:none}
.spec-table-wrap{overflow-x:auto;border-radius:var(--radius)}.spec-table small{display:block;color:var(--muted);margin-top:4px}.status{display:inline-block;padding:4px 9px;border-radius:999px;background:var(--bg-2);font-size:.78rem}.status--verified{color:var(--green-deep);background:rgba(143,191,63,.2)}.status--needs_verification{color:#8b5e1a;background:#f7ead0}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.step{padding:24px;border-top:2px solid var(--green);background:#fff}.step>span{color:var(--gold);font-weight:800}.step h3{margin-top:12px}.step p{color:var(--muted);margin-top:8px}
.note-band p{margin-top:6px}
.article-cover{margin-top:42px}.article-cover img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}.article-body{font-size:1.08rem;line-height:1.9}.profile-section+.profile-section{border-top:1px solid var(--line);margin-top:48px;padding-top:48px}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,7vw,90px)}.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(26px,4vw,48px);box-shadow:var(--shadow)}.form-errors{color:#a23328;font-size:.88rem}.form-errors ul{list-style:none}.field small{color:var(--muted)}.field.is-conditional-hidden{display:none}.map-action{margin:24px 0}.map-embed iframe{max-width:100%;border:0;border-radius:var(--radius)}
.cta-band{margin:0}.empty-state{padding:36px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted)}
.page-section{padding:clamp(100px,12vw,150px) 0 80px}.content-section{padding:72px 0}.content-section--muted{background:var(--bg-2)}.two-column-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card,.list-card{padding:26px}.section-heading{margin-bottom:32px}.section-heading h1,.section-heading h2{font-size:clamp(2rem,4vw,3.2rem);margin-top:12px}.page-intro,.section-copy{color:var(--muted);font-size:1.08rem;margin-top:16px}.page-cover{width:100%;border-radius:var(--radius);margin-top:28px}.section-block{margin-top:42px}.bullet-list{list-style:disc;padding-left:1.4em}.spec-table-wrapper{overflow-x:auto}.product-detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.product-detail-hero h1{font-size:clamp(2.5rem,5vw,4.5rem);margin-top:16px}.gallery-grid--products{grid-template-columns:repeat(3,1fr)}.product-gallery__featured img{width:100%;aspect-ratio:16/8;object-fit:cover}.document-list,.stack-list{display:grid;gap:18px}
@media(max-width:1024px){.process-flow{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.menu-toggle{display:block;order:3}.header-actions{margin-left:auto}.header-quote{display:none}.nav{position:absolute;display:none;left:20px;right:20px;top:68px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.is-open{display:flex}.nav a,.nav-disabled{display:block;color:var(--text)!important;text-shadow:none!important}.has-dropdown{display:block}.dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:var(--bg-2);margin:5px 0}.grid-3,.news-grid,.certs,.gallery-grid,.card-grid{grid-template-columns:repeat(2,1fr)}.contact-layout,.expert-hero,.product-detail-hero,.two-column-layout{grid-template-columns:1fr}.expert-hero img{max-width:360px}.about-split{grid-template-columns:1fr}}
@media(max-width:620px){.brand-sub{display:none}.brand-name{font-size:17px!important}.header .brand img{width:40px;height:40px}.lang a{padding:5px 8px}.grid-3,.news-grid,.certs,.gallery-grid,.card-grid,.check-grid{grid-template-columns:1fr}.process-flow,.steps{grid-template-columns:1fr}.hero{min-height:560px}.hero h1{font-size:2.7rem}.section{padding:70px 0}.form-card{padding:24px}.footer-grid{grid-template-columns:1fr 1fr}.cta-band{padding:36px 24px}.spec-table th,.spec-table td{padding:12px}.gallery-grid--products{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero,.about-hero{position:relative}.about-hero-video{animation:none}.reveal{opacity:1;transform:none}}

.template-aboutpage .about-hero~.section,.template-aboutpage .about-hero~.fullband,.template-aboutpage .about-hero~.footer{position:relative;z-index:2}
.template-aboutpage .about-hero~.section{background:var(--bg)}
.template-aboutpage .about-hero~.section.section--tint{background:var(--bg-2)}


/* Phase 4B revised design */
.metrics-section .sec-head h2{max-width:none;font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.12}
.technology-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,333px) minmax(0,1fr);gap:10px;align-items:center;margin-top:56px}
.technology-column{display:grid;gap:12px}
.technology-card{min-height:130px;padding:18px 28px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;transition:transform .24s var(--ease),box-shadow .24s var(--ease),border-color .24s var(--ease)}
.technology-column--left .technology-card{padding-right:54px;border-radius:18px 72px 72px 18px}
.technology-column--right .technology-card{padding-left:54px;border-radius:72px 18px 18px 72px}
.technology-card:nth-child(2){transform:translateX(26px)}
.technology-column--right .technology-card:nth-child(2){transform:translateX(-26px)}
.technology-card:hover{border-color:rgba(79,122,50,.35);box-shadow:0 18px 40px -22px rgba(29,41,24,.2)}
.technology-column--left .technology-card:hover{transform:translate(-4px,-3px)}
.technology-column--left .technology-card:nth-child(2):hover{transform:translate(22px,-3px)}
.technology-column--right .technology-card:hover{transform:translate(4px,-3px)}
.technology-column--right .technology-card:nth-child(2):hover{transform:translate(-22px,-3px)}
.technology-card h3{font-size:1.12rem;font-weight:800}.technology-card p{color:var(--muted);font-size:.88rem;line-height:1.6;margin-top:7px}
.technology-mushroom{position:relative;z-index:2;margin:0}.technology-mushroom img{display:block;width:100%;height:auto}

.scroll-hint{position:absolute;left:50%;bottom:24px;z-index:3;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--color-accent-secondary,var(--gold));font-size:clamp(1rem,2vw,1.35rem);font-weight:900;letter-spacing:.04em;text-shadow:0 2px 14px rgba(0,0,0,.45);pointer-events:none}
.scroll-hint__arrow{width:15px;height:15px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg);animation:scrollHint 1.5s ease-in-out infinite}
@keyframes scrollHint{0%,100%{translate:0 0}50%{translate:0 8px}}

.culture-philosophy{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:start}
.culture-philosophy__list{display:grid;gap:16px}
.culture-philosophy__card{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:center;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:.24s var(--ease)}
.culture-philosophy__card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.culture-philosophy__icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--bg-2);color:var(--green);font-weight:800}
.culture-philosophy__card h3{font-size:1.16rem}.culture-philosophy__card .en{display:block;color:var(--gold);font-size:.72rem;letter-spacing:.12em;margin-top:4px}.culture-philosophy__card p{color:var(--muted);font-size:.9rem;margin-top:7px}

.inquiry-component{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);gap:28px;align-items:start}
.inquiry-component--contact{display:block}
.inquiry-info{position:sticky;top:96px;padding:20px 22px;background:#fff3bf;border:1px solid #e6c34c;border-radius:16px;box-shadow:var(--shadow-sm);color:#b3261e}
.inquiry-component--contact .inquiry-info{position:relative;top:auto;margin-bottom:22px}
.inquiry-info__tag{display:block;color:#c62828;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800}
.inquiry-info h3{color:#c62828;font-size:1.15rem;margin-top:6px}.inquiry-info p{color:#b3261e;font-size:.92rem;line-height:1.6;margin-top:8px}
.inquiry-form-card{padding:clamp(24px,3vw,38px)}
.inquiry-picker{position:relative}
.inquiry-picker__button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius-sm);font:inherit;color:var(--text);background:#fff;cursor:pointer;text-align:left;transition:border-color .18s ease,box-shadow .18s ease}
.inquiry-picker__button:hover{border-color:var(--green)}
.inquiry-picker__button[aria-expanded=true]{border-color:var(--green-bright);box-shadow:0 0 0 4px rgba(143,191,63,.18)}
.inquiry-picker__caret{width:0;height:0;flex:none;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #6b7280;transition:transform .18s ease}
.inquiry-picker__button[aria-expanded=true] .inquiry-picker__caret{transform:rotate(180deg)}
.inquiry-picker__menu{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px -18px rgba(29,41,24,.35);z-index:60;padding:5px}
.inquiry-picker__option{display:block;width:100%;padding:11px 12px;border:0;border-radius:8px;background:#fff;text-align:left;font:inherit;color:var(--text);cursor:pointer}
.inquiry-picker__option:hover,.inquiry-picker__option:focus-visible,.inquiry-picker__option[aria-selected=true]{background:rgba(79,122,50,.1);color:var(--green-deep)}
.picker-native-enhanced{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.inquiry-success{padding:24px;border-radius:14px;background:rgba(143,191,63,.14);border:1px solid rgba(79,122,50,.25)}.inquiry-success h3{color:var(--green-deep)}.inquiry-success .rich-text{margin-top:12px}
.product-inquiry-section{background:var(--bg)}

@media(max-width:900px){.technology-layout{grid-template-columns:1fr;gap:28px}.technology-mushroom{order:-1;width:min(260px,70vw);margin:0 auto}.technology-card,.technology-column--left .technology-card,.technology-column--right .technology-card{transform:none!important;padding:22px 26px;border-radius:18px}.culture-philosophy,.inquiry-component{grid-template-columns:1fr}.inquiry-info{position:relative;top:auto}}
@media(max-width:620px){.culture-philosophy__card{grid-template-columns:52px 1fr;padding:20px}.culture-philosophy__icon{width:48px;height:48px}.inquiry-form-card{padding:22px}}
@media(prefers-reduced-motion:reduce){.scroll-hint__arrow{animation:none}.technology-card,.culture-philosophy__card{transition:none}}

/* Phase 6A controlled design system and accessible navigation */
.footer-heading{color:var(--green-bright);font-size:13px;margin-bottom:18px;letter-spacing:.14em;text-transform:uppercase;font-family:var(--font-heading);font-weight:700}
.nav-group{position:relative}.nav-parent{display:flex;align-items:center}.nav-group-label{padding:9px 5px 9px 15px;font-size:15px;font-weight:600;color:var(--muted)}
.nav-group-toggle{display:grid;place-items:center;width:30px;height:30px;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:50%}
.nav-group-toggle>span:last-child{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .18s ease}
.nav-group-toggle[aria-expanded=true]>span:last-child{transform:rotate(225deg) translate(-1px,-1px)}
.nav-group.active>.nav-parent,.nav-group:focus-within>.nav-parent{background:rgba(79,122,50,.08);border-radius:999px}.nav-group.active .nav-link,.nav-group.active .nav-group-label{color:var(--green)}
.nav-group.is-open>.dropdown{opacity:1;visibility:visible;transform:translateY(0)}.dropdown a.active{color:var(--green);background:rgba(79,122,50,.1)}
.nav-group.is-dismissed>.dropdown{opacity:0!important;visibility:hidden!important;transform:translateY(8px)!important}
.design-title-align--center .page-hero,.design-title-align--center .article-hero{text-align:center}.design-title-align--center .page-hero .lead,.design-title-align--center .article-hero .lead{margin-left:auto;margin-right:auto}
.design-title-align--right .page-hero,.design-title-align--right .article-hero{text-align:right}.design-title-align--right .page-hero .lead,.design-title-align--right .article-hero .lead{margin-left:auto}
.design-title--large .page-hero h1{font-size:calc(clamp(40px,6vw,68px) * 1.1)}.design-title--display .page-hero h1{font-size:calc(clamp(40px,6vw,68px) * 1.22)}
.h2,.section-heading h1,.section-heading h2{font-size:calc(clamp(32px,4.8vw,56px) * var(--heading-scale))}
.page-hero h1,.about-hero h1{font-size:calc(clamp(40px,6vw,68px) * var(--heading-scale))}
.hero h1{font-size:calc(clamp(48px,7vw,84px) * var(--heading-scale))}
.rt-display{font-family:var(--font-heading);font-size:clamp(1.8rem,4vw,3.3rem);font-weight:900;line-height:1.15}.rt-subheading{font-size:1.22rem;font-weight:650;line-height:1.6}.rt-small{font-size:.82em}.rt-highlight{background:rgba(143,191,63,.22);padding:.08em .2em;border-radius:.2em}.rt-muted{color:var(--muted)}
.section-width--narrow>.container,.section-width--narrow>.site-shell{max-width:860px}.section-width--normal>.container,.section-width--normal>.site-shell{max-width:1080px}.section-width--wide>.container,.section-width--wide>.site-shell{max-width:1240px}.section-width--full>.container,.section-width--full>.site-shell{max-width:none}
.section-align--center{text-align:center}.section-align--center .lead{margin-left:auto;margin-right:auto}.section-align--right{text-align:right}.section-align--right .lead{margin-left:auto}
.section-bg--light{background:#fff}.section-bg--tinted{background:var(--bg-2)}.section-bg--dark{background:var(--green-deep);color:#fff}.section-bg--dark h2,.section-bg--dark h3{color:#fff}.section-spacing--compact{padding-top:clamp(48px,6vw,72px);padding-bottom:clamp(48px,6vw,72px)}.section-spacing--spacious{padding-top:clamp(96px,12vw,156px);padding-bottom:clamp(96px,12vw,156px)}
.reveal{transition-duration:var(--animation-duration);transform:translateY(var(--animation-intensity))}body[data-page-animation=none] .reveal{opacity:1;transform:none;transition:none}body[data-page-animation=fade] .reveal,.section-animation--fade .reveal{transform:none}body[data-page-animation=slide_left] .reveal,.section-animation--slide_left .reveal{transform:translateX(calc(-1 * var(--animation-intensity)))}body[data-page-animation=slide_right] .reveal,.section-animation--slide_right .reveal{transform:translateX(var(--animation-intensity))}body[data-page-animation=zoom] .reveal,.section-animation--zoom .reveal{transform:scale(.96)}
.section-animation--none .reveal{opacity:1;transform:none;transition:none}.section-animation--fade_up .reveal{transform:translateY(var(--animation-intensity))}
.section-animation--fade .reveal,.section-animation--fade_up .reveal,.section-animation--slide_left .reveal,.section-animation--slide_right .reveal,.section-animation--zoom .reveal{transition-duration:var(--section-animation-duration,var(--animation-duration));transition-delay:var(--section-animation-delay,0ms)}
.cert-mark svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){
  .nav-parent{justify-content:space-between}.nav-group-label{color:var(--text)}.nav-group-toggle{width:42px;height:42px}
  .nav .dropdown{display:block}.js .nav .nav-group>.dropdown{display:none}.js .nav .nav-group.is-open>.dropdown{display:block}
}
@media(prefers-reduced-motion:reduce){.reveal,[class*=section-animation--] .reveal{opacity:1!important;transform:none!important;transition:none!important}.nav-group-toggle>span:last-child{transition:none}}
.hero-scroll-shell{position:relative;height:100svh;min-height:620px}
.hero-scroll-shell>.hero,.hero-scroll-shell>.about-hero{height:100%;min-height:inherit}
.hero-scroll-shell>.scroll-hint{pointer-events:auto;text-decoration:none}
.hero-scroll-shell>.scroll-hint:hover{color:#fff}.hero-scroll-shell>.scroll-hint:focus-visible{outline:3px solid currentColor;outline-offset:7px;border-radius:6px}
.scroll-anchor{display:block;position:relative;top:-1px;scroll-margin-top:90px}
