/* 元砥 · YUANDI — slf.epcok.com
   设计语言取自《元砥细胞营养膳食产品资料》：暖白纸感 + 墨黑字 + 荧光黄绿标记 + 深绿显微影像
   全部相对路径，换独立域名零改动 */

:root{
  --ivory:#F2F0E9;
  --ivory-2:#EBE9E1;
  --ink:#111614;
  --ink-2:#2A332E;
  --body:#4A544E;
  --muted:#6B7671;
  --muted-2:#8A948E;
  --lime:#D8F24B;
  --green:#0E231B;
  --green-2:#18472D;
  --line:#DFDCD3;
  --line-2:#E8E6DF;
  --wrap:1200px;
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","Source Han Sans SC",sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--ivory);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.85;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.18;letter-spacing:-.02em}
ul,ol{margin:0;padding:0;list-style:none}
::selection{background:var(--lime);color:var(--ink)}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 32px}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 32px}

/* ---------- 通用排版 ---------- */
.eyebrow{
  display:flex;align-items:center;gap:12px;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--muted);font-weight:400;line-height:1.4;
}
.eyebrow .idx{color:var(--muted-2);font-family:var(--mono);letter-spacing:.06em}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--line)}
.eyebrow.no-rule::after{display:none}

h1{font-size:clamp(34px,4.2vw,58px);line-height:1.14}
h2{font-size:clamp(26px,3vw,40px);line-height:1.2}
h3{font-size:clamp(18px,1.5vw,21px)}
h4{font-size:15px;letter-spacing:.02em}

mark{background:var(--lime);color:var(--ink);padding:0 .1em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.lead{font-size:clamp(15px,1.15vw,17.5px);color:var(--body);line-height:1.95;max-width:62ch}
.small{font-size:13px;color:var(--muted);line-height:1.75}
.tiny{font-size:11.5px;color:var(--muted-2);line-height:1.7}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--muted)}

section{position:relative}
.sec{padding:clamp(56px,7vw,104px) 0}
.sec-tight{padding:clamp(40px,5vw,64px) 0}
.sec-line{border-top:1px solid var(--line)}
.sec-dark{background:var(--green);color:#EDEFE9}
.sec-dark .lead,.sec-dark p{color:#B9C4BC}
.sec-dark .eyebrow{color:#7E9288}
.sec-dark .eyebrow::after{background:#2A3E35}
.sec-dark h2,.sec-dark h3,.sec-dark h4{color:#F4F5F0}

/* ---------- 顶栏 ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(242,240,233,.86);
  -webkit-backdrop-filter:saturate(140%) blur(12px);
  backdrop-filter:saturate(140%) blur(12px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;gap:28px;height:66px}
.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.brand img{width:26px;height:auto}
.brand .name{font-size:15px;font-weight:700;letter-spacing:.14em}
.brand .en{font-size:9.5px;letter-spacing:.2em;color:var(--muted);display:block;margin-top:-4px}
.nav-links{display:flex;gap:26px;margin-left:auto;align-items:center}
.nav-links a{
  font-size:13.5px;color:var(--ink-2);padding:6px 0;position:relative;
  border-bottom:1px solid transparent;
}
.nav-links a:hover{border-bottom-color:var(--ink)}
.nav-links a[aria-current="page"]{border-bottom-color:var(--lime);font-weight:600}
.nav-cta{
  font-size:13px;padding:9px 18px;border:1px solid var(--ink);
  background:var(--ink);color:var(--ivory)!important;border-radius:2px;
  transition:.18s ease;
}
.nav-cta:hover{background:var(--lime);color:var(--ink)!important;border-color:var(--lime)}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--line);background:none;border-radius:2px;cursor:pointer}
.menu-btn span{display:block;width:16px;height:1px;background:var(--ink);margin:4px auto}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 26px;font-size:14px;font-weight:600;letter-spacing:.02em;
  border:1px solid var(--ink);border-radius:2px;transition:.2s ease;white-space:nowrap;
}
.btn .arw{font-family:var(--sans);font-size:14px;line-height:1;transition:transform .2s ease}
.btn:hover .arw{transform:translateX(4px)}
.btn-primary{background:var(--ink);color:var(--ivory)}
.btn-primary:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--ivory)}
.sec-dark .btn-ghost{border-color:#4F6157;color:#EDEFE9}
.sec-dark .btn-ghost:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* ---------- Hero ---------- */
.hero{position:relative;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:min(74vh,620px)}
.hero-copy{padding:clamp(44px,6vw,88px) clamp(32px,5vw,72px) clamp(44px,5vw,64px) 0}
.hero-copy .eyebrow{margin-bottom:clamp(26px,4vw,44px)}
.hero-copy h1{margin-bottom:22px}
.hero-copy .lead{margin-bottom:8px}
.hero-note{font-size:12px;color:var(--muted-2);margin-top:26px;letter-spacing:.01em}
.hero-visual{position:relative;background:#08130F;overflow:hidden;min-height:320px}
.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,19,15,.15),rgba(8,19,15,.55))}
.hero-tag{
  position:absolute;left:24px;bottom:24px;z-index:2;
  background:var(--lime);color:var(--ink);font-size:11px;letter-spacing:.14em;
  padding:7px 12px;font-weight:600;
}
.hero-facts{
  position:absolute;right:24px;top:24px;z-index:2;text-align:right;
  color:#CFD8D1;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;line-height:2;
}
.hero-facts b{display:block;color:var(--ivory);font-size:22px;font-family:var(--sans);letter-spacing:0}

/* ---------- 事实条 ---------- */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.fact{padding:30px 26px 30px 0;border-right:1px solid var(--line)}
.fact:last-child{border-right:0}
.fact .k{font-size:clamp(26px,2.6vw,34px);font-weight:700;letter-spacing:-.02em;line-height:1.1}
.fact .k small{font-size:13px;font-weight:400;color:var(--muted);margin-left:4px;letter-spacing:0}
.fact .v{font-size:12.5px;color:var(--muted);margin-top:6px;letter-spacing:.02em}

/* ---------- 三栏声明 ---------- */
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px}
.tri > div{background:var(--ivory);padding:30px 28px}
.tri .tag{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);margin-bottom:14px;display:block}
.tri h4{margin-bottom:8px}
.tri p{font-size:13.5px;color:var(--body);margin:0;line-height:1.8}

/* ---------- 卡片网格 ---------- */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.cell{background:var(--ivory);padding:30px 26px 32px;transition:background .2s ease}
.cell:hover{background:#F7F5EF}
.cell .n{font-family:var(--mono);font-size:11px;color:var(--muted-2);letter-spacing:.1em;display:block;margin-bottom:16px}
.cell h4{margin-bottom:10px;font-size:16px}
.cell p{font-size:13px;color:var(--body);margin:0;line-height:1.8}
.cell .tagline{margin-top:14px}

/* ---------- 分栏（图文） ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0}
.split-media{position:relative;background:#08130F;min-height:420px;overflow:hidden}
.split-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.split-media::after{
  content:"视觉素材 · 非产品实拍";position:absolute;left:22px;bottom:18px;z-index:2;
  font-size:10px;letter-spacing:.16em;color:var(--lime);opacity:.85;
}
.split-body{padding:clamp(34px,4.5vw,64px) 0 clamp(34px,4.5vw,64px) clamp(28px,4.5vw,64px);display:flex;flex-direction:column;justify-content:center}
.split.flip .split-body{padding:clamp(34px,4.5vw,64px) clamp(28px,4.5vw,64px) clamp(34px,4.5vw,64px) 0}
.split.flip .split-media{order:2}

/* ---------- 步骤 ---------- */
.steps{counter-reset:s;margin-top:40px}
.step{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:26px 0;border-top:1px solid var(--line)}
.step:last-child{border-bottom:1px solid var(--line)}
.step .s-idx{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:5px}
.step h4{margin-bottom:6px}
.step p{margin:0;font-size:13.5px;color:var(--body);max-width:70ch}

/* ---------- 原料表 ---------- */
.herbs{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;border-top:1px solid var(--line)}
.herb{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:15px 0;border-bottom:1px solid var(--line-2)}
.herb .h-name{font-size:15.5px;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.herb .h-desc{font-size:12.5px;color:var(--muted);text-align:right}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 0}
.chip{font-size:11.5px;letter-spacing:.08em;padding:3px 9px;background:var(--lime);color:var(--ink);font-weight:600}
.chip.ghost{background:transparent;border:1px solid var(--line);color:var(--muted);font-weight:400}

/* ---------- 质量清单 ---------- */
.checklist{margin-top:34px;border-top:1px solid var(--line)}
.check{display:grid;grid-template-columns:88px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line-2);align-items:baseline}
.check .zero{font-size:26px;font-weight:700;letter-spacing:-.03em}
.check .zero span{font-size:12px;font-weight:400;color:var(--muted);margin-left:4px;letter-spacing:0}
.check p{margin:0;font-size:13.5px;color:var(--body)}

/* ---------- 表格 ---------- */
.tbl{width:100%;border-collapse:collapse;margin-top:28px;font-size:13.5px}
.tbl th,.tbl td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-size:11px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--ink)}
.tbl td:first-child{font-weight:600;white-space:nowrap;width:150px}
.tbl tr:hover td{background:#F7F5EF}

/* ---------- 引用 / 强调块 ---------- */
.quote{
  border-left:2px solid var(--lime);padding:6px 0 6px 20px;margin:32px 0;
  font-size:clamp(17px,1.6vw,21px);font-weight:600;line-height:1.6;letter-spacing:-.01em;
}
.callout{
  border:1px solid var(--line);background:#F7F5EF;padding:24px 26px;margin-top:32px;border-radius:2px;
}
.callout h4{margin-bottom:8px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.callout p{margin:0;font-size:13.5px;color:var(--body)}
.callout.lime{background:rgba(216,242,75,.16);border-color:#C9DCA0}
.sec-dark .callout{background:rgba(255,255,255,.04);border-color:#2A3E35}
.sec-dark .callout p{color:#B9C4BC}

/* ---------- 合规声明条 ---------- */
.compliance{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--ivory-2);
}
.compliance .inner{display:flex;gap:18px;align-items:flex-start;padding:20px 0;font-size:12px;color:var(--muted);line-height:1.8}
.compliance b{color:var(--ink);font-weight:600;white-space:nowrap}

/* ---------- 合作流程 ---------- */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:36px}
.flow > div{background:var(--ivory);padding:26px 22px}
.flow .n{font-family:var(--mono);font-size:11px;color:var(--muted-2);margin-bottom:12px;display:block}
.flow h4{font-size:14.5px;margin-bottom:8px}
.flow p{font-size:12.5px;color:var(--body);margin:0;line-height:1.75}

/* ---------- 表单 ---------- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-top:34px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:11.5px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.field input,.field select,.field textarea{
  font-family:var(--sans);font-size:14px;color:var(--ink);
  background:transparent;border:0;border-bottom:1px solid #C9C5B9;
  padding:9px 2px;border-radius:0;outline:none;transition:border-color .2s;
}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--ink)}
.field textarea{resize:vertical;min-height:76px}
.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:8px}

.sec-dark .field label{color:#8FA396}
.sec-dark .field input,.sec-dark .field select,.sec-dark .field textarea{
  color:#F2F4EF;border-bottom-color:#3A4D43;
}
.sec-dark .field input:focus,.sec-dark .field select:focus,.sec-dark .field textarea:focus{border-bottom-color:var(--lime)}
.sec-dark .field input::placeholder,.sec-dark .field textarea::placeholder{color:#5C6F63}
.sec-dark .field select{background:transparent}
.sec-dark .btn-primary{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.sec-dark .btn-primary:hover{background:#EDFA9B;border-color:#EDFA9B}

/* ---------- 页脚 ---------- */
.site-footer{background:var(--ink);color:#9CA8A1;padding:clamp(48px,6vw,72px) 0 28px;font-size:13px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.site-footer h5{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#6F7C75;margin:0 0 14px;font-weight:500}
.site-footer a{color:#C7D0CA}
.site-footer a:hover{color:var(--lime)}
.site-footer li{margin-bottom:8px;line-height:1.6}
.f-brand{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.f-brand img{width:22px;filter:brightness(0) invert(.92)}
.f-brand .name{color:#EDEFE9;font-size:14px;font-weight:700;letter-spacing:.14em}
.site-footer p{color:#8D9A93;font-size:12.5px;line-height:1.85;margin:0 0 10px}
.footer-bottom{
  margin-top:44px;padding-top:20px;border-top:1px solid #2A322E;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:11.5px;color:#6F7C75;
}

/* ---------- 进场动画（无 JS 时内容可见） ---------- */
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ---------- 内页页头 ---------- */
.page-head{padding:clamp(44px,6vw,80px) 0 clamp(28px,3vw,40px);border-bottom:1px solid var(--line)}
.page-head .eyebrow{margin-bottom:24px}
.page-head h1{font-size:clamp(30px,3.6vw,46px);margin-bottom:16px;max-width:22ch}
.crumb{font-size:12px;color:var(--muted-2);margin-bottom:18px;letter-spacing:.04em}
.crumb a{color:var(--muted)}
.crumb a:hover{color:var(--ink)}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding-right:0}
  .hero-visual{min-height:300px;order:-1}
  .facts{grid-template-columns:repeat(2,1fr)}
  .fact:nth-child(2){border-right:0}
  .fact:nth-child(1),.fact:nth-child(2){border-bottom:1px solid var(--line)}
  .split,.split.flip{grid-template-columns:1fr}
  .split.flip .split-media{order:0}
  .split-body,.split.flip .split-body{padding:40px 0}
  .split-media{min-height:280px}
  .grid-3,.grid-4,.flow{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .wrap,.wrap-narrow{padding:0 22px}
  .nav-links{
    position:absolute;top:66px;left:0;right:0;background:var(--ivory);
    border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;
    gap:0;padding:8px 22px 18px;display:none;
  }
  .nav-links a{padding:11px 0;width:100%;border-bottom:1px solid var(--line-2)}
  .nav-cta{margin-top:12px;text-align:center;width:100%}
  .menu-btn{display:block}
  .nav.open .nav-links{display:flex}
  .tri,.grid-2,.grid-3,.grid-4,.herbs,.form,.flow{grid-template-columns:1fr}
  .fact{padding:22px 16px 22px 0}
  .step{grid-template-columns:40px 1fr;gap:14px}
  .check{grid-template-columns:64px 1fr;gap:12px}
  .footer-grid{grid-template-columns:1fr}
  .hero-facts{display:none}
  .tbl td:first-child{width:auto;white-space:normal}
  .compliance .inner{flex-direction:column;gap:6px}
}
