:root { --ink:#202722; --text:#69716c; --green:#237d59; --mint:#e8f4ed; --cream:#fbfaf4; --line:#dfe5e0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); }
a { color:inherit; text-decoration:none; }
.header { position:sticky; top:0; z-index:100; height:88px; display:flex; align-items:center; justify-content:center; padding:0 6vw; background:rgba(251,250,244,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.navigation { display:flex; align-items:center; gap:68px; height:100%; }
.navigation a { position:relative; height:100%; display:flex; align-items:center; font-size:14px; }
.navigation a::after { content:""; position:absolute; left:50%; right:50%; bottom:-1px; height:3px; background:var(--green); transition:.2s; }
.navigation a:hover::after,.navigation a.active::after { left:0; right:0; }
.navigation a.active { color:var(--green); font-weight:600; }
.menu-button { display:none; }
main { width:min(1200px,calc(100% - 48px)); margin:0 auto; }
.content { padding:50px 0 100px; }
.content section { display:grid; grid-template-columns:270px 1fr; gap:50px; padding:76px 0; border-bottom:1px solid var(--line); }
.content h2 { margin:0; font-size:21px; font-weight:600; }
.content h2 span { display:block; margin-bottom:13px; color:var(--green); font-size:11px; letter-spacing:.15em; }
.section-body p { margin:0 0 19px; color:var(--text); font-size:17px; line-height:2.05; text-indent:2em; }
.section-body p:last-child { margin-bottom:0; }
.section-body strong { color:var(--ink); }
.feature-list { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.feature-list p { min-height:118px; margin:0; padding:24px; color:#4e5952; background:#fff; border:1px solid var(--line); line-height:1.8; }
.feature-list i { display:block; margin-bottom:13px; color:var(--green); font-size:11px; font-style:normal; font-weight:700; }
.content .mission { align-items:center; background:var(--mint); border:0; margin-top:76px; padding:60px; }
.mission p { margin:0; color:var(--green); font-size:clamp(27px,3vw,42px); font-weight:700; letter-spacing:-.03em; }
footer { padding:0 max(6vw,24px) 34px; color:var(--text); background:#fff; border-top:1px solid var(--line); }
.page { width:min(1000px,calc(100% - 48px)); margin:0 auto; padding:72px 0 110px; }
.page-header { margin-bottom:55px; padding-bottom:28px; border-bottom:1px solid var(--line); }
.page-header small { color:var(--green); font-size:11px; font-weight:700; letter-spacing:.18em; }
.page-header h1 { margin:10px 0 0; font-size:44px; }
.article-block { margin-bottom:42px; }
.article-block h2 { margin:0 0 15px; font-size:21px; }
.article-block h3 { margin:30px 0 12px; font-size:17px; }
.article-block p { margin:0 0 12px; color:var(--text); font-size:17px; line-height:2; }
.article-block a { color:var(--green); font-weight:600; }
.article-block .contact { display:inline-flex; align-items:center; margin-top:6px; padding:10px 16px; color:var(--green); background:var(--mint); }
.legal h2 { margin-top:42px; }
.health { width:min(1200px,100%); margin:0 auto; padding:20px 0; border-bottom:1px solid var(--line); font-size:14px; text-align:center; }
.footer-content { width:min(1200px,100%); margin:0 auto; padding-top:36px; display:grid; grid-template-columns:1fr 2fr; gap:80px; }
.footer-content strong { color:var(--ink); font-size:18px; }
.footer-content>div>p { font-size:14px; }
.company-info { font-size:15px; }
.company-info p { margin:0 0 10px; line-height:1.8; }
.company-info span { display:inline-block; width:74px; color:var(--ink); font-weight:600; }
.company-info a { color:var(--green); }
.beian-icon { width:18px; height:18px; margin-right:5px; vertical-align:-4px; object-fit:contain; }
@media(max-width:760px) {
  .header { height:68px; justify-content:flex-end; }
  .menu-button { position:relative; z-index:2; display:grid; gap:7px; border:0; padding:10px; background:none; }
  .menu-button span { width:25px; height:2px; background:var(--ink); transition:.2s; }
  .menu-button.open span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-button.open span:last-child { transform:translateY(-5px) rotate(-45deg); }
  .navigation { position:fixed; z-index:1; inset:0; flex-direction:column; justify-content:center; gap:34px; background:var(--cream); transform:translateY(-100%); transition:.3s; }
  .navigation.open { transform:none; }
  .navigation a { height:auto; font-size:20px; }
  .content section { grid-template-columns:1fr; gap:28px; padding:52px 0; }
  .feature-list { grid-template-columns:1fr; }
  .content .mission { margin-top:50px; padding:36px 26px; }
  .footer-content { grid-template-columns:1fr; gap:24px; }
  .company-info span { display:block; width:auto; margin-bottom:2px; }
}
