/* roulang page: index */
:root{
  --c-brand:#14705B;
  --c-brand-deep:#0C3F34;
  --c-accent:#FF6B3D;
  --c-lime:#C9F24D;
  --c-bg:#F7F5F0;
  --c-surface:#FFFFFF;
  --c-line:#E3DFD6;
  --c-ink:#10231E;
  --c-muted:#6B7A74;
  --c-dark-ink:#EDF5F1;
  --c-dark-muted:#A9C2BA;
  --c-ring:#FF6B3D;
  --r-card:14px;
  --r-img:12px;
  --r-btn:10px;
  --r-badge:6px;
  --r-pop:16px;
  --sh-sm:0 1px 2px rgba(16,35,30,.06);
  --sh-card:0 6px 20px -8px rgba(16,35,30,.18);
  --sh-pop:0 24px 48px -20px rgba(12,63,52,.35);
  --font-cn:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-cn);
  font-size:16px;
  line-height:1.85;
  color:var(--c-ink);
  background-color:var(--c-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;border-style:none;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
button{background:none;border:0;cursor:pointer;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4,p{margin:0;}
h1,h2,h3,h4{letter-spacing:0;line-height:1.3;}
.num{font-variant-numeric:tabular-nums;}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
  outline:2px solid var(--c-ring);
  outline-offset:2px;
  border-radius:6px;
}

.container-xl{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding-left:20px;
  padding-right:20px;
}
@media (min-width:768px){.container-xl{padding-left:32px;padding-right:32px;}}
@media (min-width:1024px){.container-xl{padding-left:40px;padding-right:40px;}}

.section{padding-top:48px;padding-bottom:48px;}
@media (min-width:768px){.section{padding-top:72px;padding-bottom:72px;}}
@media (min-width:1024px){.section{padding-top:96px;padding-bottom:96px;}}
.section-tight{padding-top:44px;padding-bottom:44px;}
@media (min-width:768px){.section-tight{padding-top:60px;padding-bottom:60px;}}

.h1{font-size:28px;line-height:1.3;font-weight:800;}
@media (min-width:1024px){.h1{font-size:44px;line-height:1.22;}}
.h2{font-size:24px;line-height:1.35;font-weight:700;}
@media (min-width:1024px){.h2{font-size:30px;line-height:1.35;}}
.h3{font-size:18px;line-height:1.4;font-weight:600;}
@media (min-width:1024px){.h3{font-size:20px;line-height:1.35;}}

.site-header{
  position:sticky;
  top:0;
  z-index:70;
  background:rgba(247,245,240,.92);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid transparent;
  transition:background-color 180ms ease-out,border-color 180ms ease-out,box-shadow 180ms ease-out;
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.96);
  border-bottom-color:var(--c-line);
  box-shadow:0 1px 2px rgba(16,35,30,.06);
}

.brand{display:flex;align-items:center;gap:10px;}
.brand-main{font-size:19px;font-weight:800;color:var(--c-ink);letter-spacing:.01em;}
.brand-divider{width:1px;height:18px;background:var(--c-line);display:inline-block;}
.brand-sub{font-size:13px;color:var(--c-muted);font-weight:500;}
@media (min-width:1024px){.brand-main{font-size:21px;}}

.nav-list{display:flex;align-items:center;gap:6px;}
.nav-link{
  display:inline-flex;
  align-items:center;
  height:38px;
  padding:0 14px;
  border-radius:8px;
  font-size:15px;
  font-weight:500;
  color:var(--c-ink);
  transition:background-color 160ms ease-out,color 160ms ease-out;
}
.nav-link:hover{background:rgba(20,112,91,.08);color:var(--c-brand);}
.nav-link.is-active{color:var(--c-brand);font-weight:700;background:rgba(20,112,91,.09);}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:44px;
  padding:0 20px;
  border-radius:var(--r-btn);
  font-size:15px;
  font-weight:600;
  white-space:nowrap;
  transition:transform 180ms ease-out,background-color 180ms ease-out,box-shadow 180ms ease-out,color 180ms ease-out,border-color 180ms ease-out;
}
.btn-primary{background:var(--c-accent);color:#fff;box-shadow:var(--sh-sm);}
.btn-primary:hover{filter:brightness(.94);transform:translateY(-1px);box-shadow:var(--sh-card);}
.btn-primary:active{transform:translateY(1px);}
.btn-outline{background:transparent;color:var(--c-brand);border:1px solid var(--c-brand);}
.btn-outline:hover{background:rgba(20,112,91,.08);transform:translateY(-1px);}
.btn-outline:active{transform:translateY(1px);}
.btn-light{background:#fff;color:var(--c-brand-deep);border:1px solid rgba(255,255,255,.6);}
.btn-light:hover{transform:translateY(-1px);box-shadow:var(--sh-card);}
.btn-more{
  height:44px;
  padding:0 16px;
  border-radius:var(--r-btn);
  border:1px solid var(--c-line);
  background:#fff;
  color:var(--c-ink);
  font-size:15px;
  font-weight:600;
}
.btn-more:hover{border-color:rgba(20,112,91,.45);color:var(--c-brand);}
.btn[disabled],.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;}

.btn-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--c-brand);
  font-size:15px;
  font-weight:600;
}
.btn-link .arrow{transition:transform 180ms ease-out;}
.btn-link:hover{color:var(--c-accent);}
.btn-link:hover .arrow{transform:translateX(4px);}

.mega{position:relative;}
.mega-panel{
  position:absolute;
  top:100%;
  right:0;
  width:820px;
  max-width:calc(100vw - 80px);
  background:#fff;
  border:1px solid var(--c-line);
  border-top:1px solid rgba(20,112,91,.4);
  border-radius:var(--r-pop);
  box-shadow:var(--sh-pop);
  padding:24px;
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity 170ms ease-out,transform 170ms ease-out,visibility 170ms;
}
.mega:hover .mega-panel,
.mega:focus-within .mega-panel,
.mega.is-open .mega-panel{opacity:1;visibility:visible;transform:translateY(0);}
.mega-col-title{font-size:13px;letter-spacing:.08em;color:var(--c-muted);font-weight:600;margin-bottom:12px;}
.mega-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border-radius:8px;
  font-size:14px;
  color:var(--c-ink);
  transition:background-color 160ms ease-out,color 160ms ease-out;
}
.mega-link:hover{background:var(--c-bg);color:var(--c-brand);}
.mega-entry{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px;
  border:1px solid var(--c-line);
  border-radius:12px;
  transition:border-color 180ms ease-out,transform 180ms ease-out,box-shadow 180ms ease-out;
}
.mega-entry:hover{border-color:rgba(20,112,91,.3);transform:translateY(-2px);box-shadow:var(--sh-card);}
.mega-entry img{width:64px;height:48px;object-fit:cover;border-radius:8px;flex:0 0 auto;}

.mobile-nav{
  max-height:0;
  overflow:hidden;
  background:#fff;
  border-bottom:1px solid var(--c-line);
  transition:max-height 280ms ease-out;
}
.mobile-nav.is-open{max-height:640px;overflow-y:auto;}
.mobile-nav-inner{padding:12px 20px 20px;}
.mobile-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:48px;
  padding:0 4px;
  border-bottom:1px solid var(--c-line);
  font-size:16px;
  font-weight:500;
}
.mobile-link.is-active{color:var(--c-brand);font-weight:700;}
.mobile-group-title{
  font-size:13px;
  letter-spacing:.08em;
  color:var(--c-muted);
  font-weight:600;
  padding:18px 4px 6px;
}
.mobile-cta-wrap{padding-top:18px;}

.card{
  background:var(--c-surface);
  border:1px solid var(--c-line);
  border-radius:var(--r-card);
  box-shadow:var(--sh-sm);
  transition:transform 180ms ease-out,border-color 180ms ease-out,box-shadow 180ms ease-out;
}
.card:hover{transform:translateY(-2px);border-color:rgba(20,112,91,.3);box-shadow:var(--sh-card);}

.badge{
  display:inline-flex;
  align-items:center;
  height:24px;
  padding:0 8px;
  border-radius:var(--r-badge);
  background:#EFEBE2;
  color:var(--c-muted);
  font-size:12px;
  font-weight:500;
  line-height:1.4;
}
.badge-brand{background:rgba(20,112,91,.1);color:var(--c-brand);}
.badge-lime{background:rgba(201,242,77,.16);color:var(--c-lime);}

.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

.list-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:52px;
  padding:12px 14px;
  border-bottom:1px solid var(--c-line);
  transition:background-color 160ms ease-out;
}
.list-row:last-child{border-bottom:0;}
.list-row:hover{background:var(--c-bg);}

.dot-lime{
  width:8px;height:8px;border-radius:2px;background:var(--c-lime);
  flex:0 0 auto;margin-top:9px;
}
.dot-brand{
  width:8px;height:8px;border-radius:50%;background:var(--c-brand);
  flex:0 0 auto;margin-top:9px;
}

.hero-shell{
  position:relative;
  overflow:hidden;
  background-color:var(--c-bg);
  background-image:radial-gradient(rgba(16,35,30,.035) 1px, transparent 1px);
  background-size:18px 18px;
  padding-top:36px;
  padding-bottom:44px;
}
@media (min-width:1024px){.hero-shell{padding-top:64px;padding-bottom:88px;}}
.hero-media{
  position:relative;
  aspect-ratio:3/2;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--c-line);
  box-shadow:var(--sh-card);
  background:#EFEBE2;
}
.hero-media::after{
  content:"";
  position:absolute;
  right:-46px;
  bottom:-46px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:rgba(20,112,91,.14);
  pointer-events:none;
}
.hero-frame{
  position:absolute;
  left:-14px;
  top:-14px;
  width:70px;
  height:70px;
  border-left:2px solid rgba(20,112,91,.35);
  border-top:2px solid rgba(20,112,91,.35);
  border-top-left-radius:14px;
  pointer-events:none;
}
.trust-item{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--c-muted);}
.trust-icon{
  width:26px;height:26px;border-radius:8px;
  background:rgba(20,112,91,.1);
  color:var(--c-brand);
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 auto;
}

.stat-num{
  font-size:40px;
  line-height:1.05;
  font-weight:800;
  color:var(--c-lime);
  font-variant-numeric:tabular-nums;
}
@media (min-width:1024px){.stat-num{font-size:48px;}}
.stat-item{border-left:1px solid rgba(255,255,255,.16);padding-left:20px;}
@media (max-width:767px){.stat-item{border-left:0;padding-left:0;}}

.faq-item{border-bottom:1px solid var(--c-line);}
.faq-item summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 0;
  font-size:16px;
  font-weight:600;
  cursor:pointer;
  list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .chev{color:var(--c-brand);flex:0 0 auto;transition:transform 200ms ease-out;}
.faq-item[open] summary .chev{transform:rotate(180deg);}
.faq-body{
  padding:0 0 22px;
  font-size:15px;
  line-height:1.8;
  color:var(--c-muted);
  max-width:820px;
}

.field-label{display:block;font-size:14px;color:var(--c-muted);margin-bottom:8px;}
.field{
  width:100%;
  height:46px;
  border:1px solid var(--c-line);
  border-radius:var(--r-btn);
  background:#fff;
  padding:0 14px;
  font-size:15px;
  color:var(--c-ink);
  transition:border-color 160ms ease-out,box-shadow 160ms ease-out;
}
.field::placeholder{color:#A7B2AC;}
.field:focus{outline:none;border-color:var(--c-brand);box-shadow:0 0 0 3px rgba(20,112,91,.15);}
textarea.field{height:auto;padding:12px 14px;line-height:1.75;resize:vertical;}

.foot-link{
  display:inline-block;
  color:var(--c-dark-muted);
  font-size:14px;
  line-height:1.7;
  transition:color 160ms ease-out,transform 160ms ease-out;
}
.foot-link:hover{color:var(--c-lime);transform:translateX(-2px);}

.empty-state{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:220px;
  border:1px dashed var(--c-line);
  border-radius:var(--r-card);
  background:#fff;
  text-align:center;
  padding:32px 20px;
}

::selection{background:rgba(20,112,91,.18);}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:var(--c-bg);}
::-webkit-scrollbar-thumb{background:#CFC9BE;border-radius:8px;border:2px solid var(--c-bg);}
::-webkit-scrollbar-thumb:hover{background:var(--c-brand);}

/* roulang page: article */
:root{
    --c-brand:#14705B;
    --c-brand-deep:#0C3F34;
    --c-accent:#FF6B3D;
    --c-lime:#C9F24D;
    --c-bg:#F7F5F0;
    --c-surface:#FFFFFF;
    --c-line:#E3DFD6;
    --c-ink:#10231E;
    --c-muted:#6B7A74;
    --c-dark-ink:#EDF5F1;
    --c-dark-muted:#A9C2BA;
    --c-ring:#FF6B3D;
    --shadow-sm:0 1px 2px rgba(16,35,30,.06);
    --shadow-card:0 6px 20px -8px rgba(16,35,30,.18);
    --shadow-pop:0 24px 48px -20px rgba(12,63,52,.35);
    --r-card:14px;
    --r-img:12px;
    --r-btn:10px;
    --r-badge:6px;
    --r-pop:16px;
  }
  *,*::before,*::after{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  body{
    margin:0;
    background:var(--c-bg);
    color:var(--c-ink);
    font-family:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
    font-size:16px;
    line-height:1.85;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit}
  input,select,textarea{font-family:inherit;font-size:15px}
  .num{font-variant-numeric:tabular-nums}
  ::selection{background:rgba(201,242,77,.55);color:var(--c-ink)}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-track{background:#EFEBE2}
  ::-webkit-scrollbar-thumb{background:#C8C2B4;border-radius:8px;border:2px solid #EFEBE2}
  ::-webkit-scrollbar-thumb:hover{background:var(--c-brand)}

  .container-xl{width:100%;max-width:1180px;margin:0 auto;padding-left:20px;padding-right:20px}
  @media (min-width:768px){.container-xl{padding-left:32px;padding-right:32px}}
  @media (min-width:1024px){.container-xl{padding-left:40px;padding-right:40px}}

  .skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--c-brand);color:#fff;padding:10px 16px;border-radius:0 0 10px 0}
  .skip-link:focus{left:0}

  .site-header{position:sticky;top:0;z-index:80;background:rgba(247,245,240,.94);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:background .2s ease-out,border-color .2s ease-out,box-shadow .2s ease-out}
  .site-header.is-scrolled{background:#fff;border-bottom-color:var(--c-line);box-shadow:0 1px 2px rgba(16,35,30,.06)}

  .brand-main{font-size:19px;font-weight:800;letter-spacing:0;color:var(--c-ink)}
  .brand-sub{font-size:13px;color:var(--c-muted)}
  .brand-divider{display:inline-block;width:1px;height:18px;background:var(--c-line)}

  .nav-list{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
  .nav-link{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:var(--r-btn);font-size:15px;color:var(--c-ink);background:transparent;border:0;cursor:pointer;transition:background .18s ease-out,color .18s ease-out}
  .nav-link:hover{background:rgba(20,112,91,.08);color:var(--c-brand)}
  .nav-link.is-active{color:var(--c-brand);font-weight:700;background:rgba(20,112,91,.08)}
  .nav-link:focus-visible,.btn:focus-visible,.foot-link:focus-visible,.tag:focus-visible,.rel-card:focus-visible,.bc-link:focus-visible{outline:2px solid var(--c-ring);outline-offset:2px;border-radius:8px}

  .mega-wrap{position:relative}
  .mega-panel{position:absolute;right:0;top:100%;width:min(820px,calc(100vw - 60px));padding-top:10px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s ease-out,transform .18s ease-out,visibility .18s;z-index:90}
  .mega-wrap:hover .mega-panel,.mega-wrap:focus-within .mega-panel{opacity:1;visibility:visible;transform:translateY(0)}
  .mega-card{background:#fff;border:1px solid rgba(20,112,91,.22);border-radius:var(--r-pop);box-shadow:var(--shadow-pop);padding:24px}
  .mega-col-title{font-size:13px;letter-spacing:.08em;font-weight:600;color:var(--c-muted);margin:0 0 14px}
  .mega-link{display:block;font-size:14px;color:var(--c-ink);padding:6px 8px;margin-left:-8px;border-radius:8px;transition:background .18s,color .18s}
  .mega-link:hover{background:var(--c-bg);color:var(--c-brand)}
  .mega-time{font-size:12px;color:var(--c-muted)}
  .mega-mini{display:flex;gap:12px;align-items:center;border:1px solid var(--c-line);border-radius:var(--r-card);padding:12px;transition:border-color .18s,box-shadow .18s,transform .18s}
  .mega-mini:hover{border-color:rgba(20,112,91,.4);box-shadow:var(--shadow-card);transform:translateY(-2px)}
  .caret{width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-left:6px;margin-top:-3px}

  .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 20px;border-radius:var(--r-btn);font-size:15px;font-weight:600;border:1px solid transparent;cursor:pointer;transition:transform .18s ease-out,filter .18s ease-out,background .18s ease-out,border-color .18s,color .18s}
  .btn-primary{background:var(--c-accent);color:#fff}
  .btn-primary:hover{filter:brightness(.94);transform:translateY(-1px)}
  .btn-primary:active{transform:translateY(0)}
  .btn-ghost{background:transparent;border-color:var(--c-brand);color:var(--c-brand)}
  .btn-ghost:hover{background:rgba(20,112,91,.08)}
  .btn-lime{background:var(--c-lime);color:#0C3F34}
  .btn-lime:hover{filter:brightness(.96);transform:translateY(-1px)}
  .btn-sm{height:38px;padding:0 16px;font-size:14px}

  .drawer{position:fixed;inset:0;z-index:120;display:none}
  .drawer.is-open{display:block}
  .drawer-mask{position:absolute;inset:0;background:rgba(12,63,52,.5)}
  .drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(360px,88vw);background:#fff;display:flex;flex-direction:column;box-shadow:var(--shadow-pop)}
  .drawer-body{flex:1;overflow-y:auto;padding:20px}
  .drawer-foot{padding:16px 20px;border-top:1px solid var(--c-line);background:#fff}
  .acc-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-size:15px;font-weight:600;background:transparent;border:0;border-bottom:1px solid var(--c-line);cursor:pointer;color:var(--c-ink)}
  .acc-body{display:none;padding:6px 0 10px}
  .acc-body.is-open{display:block}

  .bc-list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;list-style:none;margin:0;padding:0;font-size:13px;color:var(--c-muted)}
  .bc-link{color:var(--c-muted);transition:color .18s}
  .bc-link:hover{color:var(--c-brand)}
  .bc-current{color:var(--c-muted);max-width:52ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  .badge{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--r-badge);font-size:13px;line-height:1.4;background:#F0ECE2;color:var(--c-muted)}
  .badge-brand{background:rgba(20,112,91,.1);color:var(--c-brand)}

  .article-head{max-width:820px}
  .article-head h1{font-size:28px;line-height:1.35;font-weight:800;letter-spacing:0;margin:16px 0 0;color:var(--c-ink)}
  @media (min-width:1024px){.article-head h1{font-size:36px}}
  .meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;line-height:1.7;color:var(--c-muted);margin-top:16px}
  .meta-dot{color:#C7C1B3}

  .article-body{max-width:720px;margin:0 auto;font-size:17px;line-height:1.9;color:var(--c-ink);overflow-wrap:break-word}
  .article-body p{margin:0 0 1.2em}
  .article-body h2{position:relative;font-size:24px;line-height:1.5;font-weight:700;letter-spacing:0;margin:2.2em 0 .9em;padding-left:14px}
  .article-body h2::before{content:"";position:absolute;left:0;top:.3em;bottom:.3em;width:4px;border-radius:2px;background:var(--c-brand)}
  .article-body h3{font-size:20px;line-height:1.5;font-weight:600;margin:1.8em 0 .7em}
  .article-body h4{font-size:17px;font-weight:600;margin:1.5em 0 .6em}
  .article-body a{color:var(--c-brand);text-decoration:underline;text-underline-offset:3px}
  .article-body a:hover{color:var(--c-accent)}
  .article-body strong{font-weight:700}
  .article-body blockquote{margin:1.6em 0;padding:16px 20px;background:rgba(20,112,91,.06);border-left:3px solid var(--c-brand);border-radius:0 12px 12px 0;color:var(--c-muted)}
  .article-body blockquote p:last-child{margin-bottom:0}
  .article-body ul{list-style:none;margin:0 0 1.2em;padding:0}
  .article-body ul li{position:relative;padding-left:22px;line-height:1.85;margin-bottom:.5em}
  .article-body ul li::before{content:"";position:absolute;left:0;top:.66em;width:8px;height:8px;border-radius:2px;background:var(--c-lime);box-shadow:0 0 0 1px rgba(16,35,30,.14)}
  .article-body ol{margin:0 0 1.2em;padding-left:1.4em}
  .article-body ol li{margin-bottom:.5em;line-height:1.85}
  .article-body img{border-radius:var(--r-img);margin:1.6em 0}
  .article-body figure{margin:1.6em 0}
  .article-body figcaption{font-size:13px;text-align:center;color:var(--c-muted);margin-top:8px}
  .article-body hr{border:0;border-top:1px solid var(--c-line);margin:2em 0}
  .article-body code{background:#F0ECE2;border-radius:6px;padding:2px 6px;font-size:15px}
  .article-body table{width:100%;border-collapse:collapse;margin:1.6em 0;border-top:2px solid var(--c-brand);font-size:15px}
  .article-body th,.article-body td{border-bottom:1px solid var(--c-line);padding:10px 12px;text-align:left}
  .article-body thead th{background:#F0ECE2;font-weight:600}
  .article-body tbody tr:nth-child(even){background:rgba(247,245,240,.7)}

  .tag{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:var(--r-badge);font-size:12px;line-height:1.4;background:#F0ECE2;color:var(--c-muted);transition:background .18s,color .18s}
  .tag:hover{background:rgba(20,112,91,.1);color:var(--c-brand)}

  .rel-card{display:block;background:#fff;border:1px solid var(--c-line);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .18s ease-out,border-color .18s,box-shadow .18s}
  .rel-card:hover{transform:translateY(-2px);border-color:rgba(20,112,91,.3);box-shadow:var(--shadow-card)}
  .rel-card img{width:100%;height:100%;object-fit:cover}

  .empty-state{max-width:720px;margin:0 auto;padding:56px 24px;text-align:center;border:1px dashed var(--c-line);border-radius:var(--r-card);background:#fff;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
  .empty-state svg{width:48px;height:48px;stroke:var(--c-muted)}

  .foot-link{display:inline-block;font-size:14px;color:var(--c-dark-muted);transition:color .18s ease-out,transform .18s ease-out}
  .foot-link:hover{color:var(--c-lime);transform:translateX(-2px)}

  .lead-form{background:#fff;border:1px solid var(--c-line);border-radius:var(--r-card);padding:24px;box-shadow:var(--shadow-sm)}
  .form-label{display:block;font-size:14px;color:var(--c-muted);margin-bottom:6px}
  .form-input{width:100%;height:46px;padding:0 14px;border:1px solid var(--c-line);border-radius:10px;background:#fff;color:var(--c-ink);transition:border-color .18s,box-shadow .18s}
  .form-input:focus{outline:none;border-color:var(--c-brand);box-shadow:0 0 0 3px rgba(20,112,91,.15)}
  textarea.form-input{height:auto;padding:12px 14px;line-height:1.7}

  @media (max-width:640px){
    .article-body table{display:block;overflow-x:auto;white-space:nowrap}
    .article-head h1{font-size:26px}
    .btn-mobile-full{width:100%}
  }

/* roulang page: category1 */
:root{
  --c-brand:#14705B;
  --c-brand-deep:#0C3F34;
  --c-accent:#FF6B3D;
  --c-lime:#C9F24D;
  --c-bg:#F7F5F0;
  --c-surface:#FFFFFF;
  --c-line:#E3DFD6;
  --c-ink:#10231E;
  --c-muted:#6B7A74;
  --c-dark-ink:#EDF5F1;
  --c-dark-muted:#A9C2BA;
  --c-ring:#FF6B3D;

  --r-card:14px;
  --r-img:12px;
  --r-btn:10px;
  --r-badge:6px;
  --r-pop:16px;

  --sh-sm:0 1px 2px rgba(16,35,30,.06);
  --sh-card:0 6px 20px -8px rgba(16,35,30,.18);
  --sh-pop:0 24px 48px -20px rgba(12,63,52,.35);

  --ease:180ms ease-out;
  --nav-h:72px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:100px;}
body{
  margin:0;
  background:var(--c-bg);
  color:var(--c-ink);
  font-family:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  font-size:16px;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
h1,h2,h3,h4,p,ul,ol,figure{margin:0;}
ul,ol{padding:0;list-style:none;}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:#EDEAE3;}
::-webkit-scrollbar-thumb{background:#C4CFC9;border-radius:8px;}
::-webkit-scrollbar-thumb:hover{background:var(--c-brand);}
:focus-visible{outline:2px solid var(--c-ring);outline-offset:2px;border-radius:4px;}
.num{font-variant-numeric:tabular-nums;}

.container-xl{max-width:1180px;margin:0 auto;padding-left:20px;padding-right:20px;}
@media (min-width:768px){.container-xl{padding-left:32px;padding-right:32px;}}
@media (min-width:1024px){.container-xl{padding-left:40px;padding-right:40px;}}

/* ---------- 基础排版 ---------- */
.h1{font-size:28px;line-height:1.2;font-weight:800;letter-spacing:0;}
.h2{font-size:24px;line-height:1.32;font-weight:700;letter-spacing:0;}
.h3{font-size:20px;line-height:1.5;font-weight:600;letter-spacing:0;}
.lead{font-size:16px;line-height:1.85;color:var(--c-muted);}
@media (min-width:1024px){
  .h1{font-size:48px;}
  .h2{font-size:30px;}
}
.tone-muted{color:var(--c-muted);}

/* ---------- 站点头部 ---------- */
.site-header{
  position:sticky;top:0;z-index:80;
  background:rgba(247,245,240,.92);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid transparent;
  transition:background var(--ease),border-color var(--ease),box-shadow var(--ease);
}
.site-header.is-scrolled{
  background:#FFFFFF;
  border-bottom-color:var(--c-line);
  box-shadow:var(--sh-sm);
}
.header-inner{height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
@media (min-width:1024px){.header-inner{height:var(--nav-h);gap:24px;}}

.logo-block{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;}
.logo-main{font-size:18px;font-weight:800;color:var(--c-ink);letter-spacing:0;}
.logo-sep{display:inline-block;width:1px;height:18px;background:var(--c-line);}
.logo-sub{font-size:13px;color:var(--c-muted);}

.nav-list{display:flex;align-items:center;gap:4px;}
.nav-link{
  display:inline-block;padding:8px 14px;border-radius:8px;
  font-size:15px;font-weight:500;color:var(--c-ink);
  transition:background var(--ease),color var(--ease);
  position:relative;
}
.nav-link:hover{background:rgba(20,112,91,.08);color:var(--c-brand);}
.nav-link.is-active{color:var(--c-brand);font-weight:700;}
.nav-link.is-active::after{
  content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;
  border-radius:2px;background:var(--c-brand);
}

.header-actions{display:flex;align-items:center;gap:10px;}

.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 20px;border-radius:var(--r-btn);border:1px solid transparent;
  background:var(--c-accent);color:#FFFFFF;font-size:15px;font-weight:600;
  transition:filter var(--ease),transform var(--ease),box-shadow var(--ease);
  cursor:pointer;
}
.btn-primary:hover{filter:brightness(.94);transform:translateY(-1px);box-shadow:var(--sh-card);}
.btn-primary:active{transform:translateY(1px);}
.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 20px;border-radius:var(--r-btn);
  background:transparent;border:1px solid var(--c-brand);color:var(--c-brand);
  font-size:15px;font-weight:600;
  transition:background var(--ease),color var(--ease),transform var(--ease);
}
.btn-ghost:hover{background:rgba(20,112,91,.08);transform:translateY(-1px);}
.btn-ghost:active{transform:translateY(1px);}

.text-link{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--c-brand);font-size:14px;font-weight:600;
  transition:color var(--ease);
}
.text-link i{transition:transform var(--ease);}
.text-link:hover{color:var(--c-accent);}
.text-link:hover i{transform:translateX(4px);}

/* ---------- Mega 面板 ---------- */
.mega-wrap{position:relative;padding-bottom:16px;margin-bottom:-16px;}
.mega-trigger{
  display:inline-flex;align-items:center;gap:6px;
  height:40px;padding:0 14px;border-radius:8px;
  background:transparent;border:1px solid var(--c-line);
  font-size:15px;font-weight:600;color:var(--c-ink);
  transition:border-color var(--ease),color var(--ease),background var(--ease);
  cursor:pointer;
}
.mega-wrap:hover .mega-trigger,
.mega-wrap:focus-within .mega-trigger{color:var(--c-brand);border-color:rgba(20,112,91,.4);background:rgba(20,112,91,.05);}
.mega-panel{
  position:absolute;right:0;top:100%;width:820px;max-width:min(820px,92vw);
  background:#FFFFFF;border-radius:var(--r-pop);
  border:1px solid var(--c-line);
  border-top:1px solid rgba(20,112,91,.35);
  box-shadow:var(--sh-pop);
  padding:24px;
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(8px);
  transition:opacity var(--ease),transform var(--ease),visibility var(--ease);
}
.mega-wrap:hover .mega-panel,
.mega-wrap:focus-within .mega-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.mega-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:24px;}
.mega-col-title{
  font-size:13px;font-weight:600;letter-spacing:.08em;
  color:var(--c-muted);margin:0;
}
.mega-link{
  display:block;padding:6px 8px;margin-left:-8px;border-radius:6px;
  font-size:14px;color:var(--c-ink);
  transition:background var(--ease),color var(--ease),transform var(--ease);
}
.mega-link:hover{background:rgba(20,112,91,.08);color:var(--c-brand);transform:translateX(2px);}
.mega-news{display:block;padding:6px 8px;margin-left:-8px;border-radius:6px;transition:background var(--ease);}
.mega-news:hover{background:var(--c-bg);}
.mega-news-t{display:block;font-size:14px;line-height:1.55;color:var(--c-ink);}
.mega-news-d{display:block;margin-top:2px;font-size:12px;color:var(--c-muted);font-variant-numeric:tabular-nums;}
.mega-card{
  display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;
  border:1px solid var(--c-line);background:var(--c-surface);
  transition:border-color var(--ease),box-shadow var(--ease),transform var(--ease);
}
.mega-card:hover{border-color:rgba(20,112,91,.3);box-shadow:var(--sh-card);transform:translateY(-2px);}
.mega-card-img{width:56px;height:56px;object-fit:cover;border-radius:10px;flex-shrink:0;}

/* ---------- 移动端抽屉 ---------- */
.drawer-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:10px;
  border:1px solid var(--c-line);background:#FFFFFF;color:var(--c-ink);
  cursor:pointer;transition:border-color var(--ease),color var(--ease);
}
.drawer-btn:hover{border-color:rgba(20,112,91,.4);color:var(--c-brand);}
.mobile-drawer{
  position:fixed;top:60px;right:0;bottom:0;width:86%;max-width:360px;
  background:#FFFFFF;border-left:1px solid var(--c-line);
  padding:20px 20px 110px;overflow-y:auto;z-index:75;
  transform:translateX(102%);
  transition:transform 240ms ease-out;
}
.drawer-mask{
  position:fixed;inset:60px 0 0 0;background:rgba(12,63,52,.48);
  opacity:0;visibility:hidden;z-index:70;
  transition:opacity 200ms ease-out,visibility 200ms ease-out;
}
#mobileDrawer:checked ~ .mobile-drawer{transform:translateX(0);}
#mobileDrawer:checked ~ .drawer-mask{opacity:1;visibility:visible;}
.drawer-link{
  display:block;padding:11px 12px;border-radius:10px;font-size:15px;font-weight:500;
  transition:background var(--ease),color var(--ease);
}
.drawer-link:hover{background:var(--c-bg);}
.drawer-link.is-active{background:rgba(20,112,91,.08);color:var(--c-brand);font-weight:700;}
.drawer-group{border-top:1px solid var(--c-line);margin-top:12px;padding-top:12px;}
.drawer-group-sum{
  display:flex;align-items:center;justify-content:space-between;
  font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--c-muted);
  cursor:pointer;list-style:none;padding:6px 4px;
}
.drawer-group-sum::-webkit-details-marker{display:none;}
.drawer-group[open] .drawer-group-sum i{transform:rotate(180deg);}
.drawer-group-sum i{transition:transform var(--ease);}
.drawer-sub{padding:6px 0 4px;}
.drawer-sub a{display:block;padding:8px 12px;border-radius:8px;font-size:14px;color:var(--c-ink);}
.drawer-sub a:hover{background:var(--c-bg);color:var(--c-brand);}
.drawer-cta{
  position:fixed;left:0;right:0;bottom:0;
  padding:12px 20px 18px;background:#FFFFFF;
  border-top:1px solid var(--c-line);
}
@media (min-width:1024px){
  .mobile-drawer,.drawer-mask,.drawer-cta{display:none;}
}

/* ---------- 分类 Hero ---------- */
.hero-cat{
  background:linear-gradient(180deg,rgba(20,112,91,.075) 0%,rgba(247,245,240,0) 100%);
  padding-top:32px;padding-bottom:48px;
}
@media (min-width:1024px){.hero-cat{padding-top:44px;padding-bottom:72px;}}
.crumb{font-size:13px;color:var(--c-muted);display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.crumb a{color:var(--c-muted);transition:color var(--ease);}
.crumb a:hover{color:var(--c-brand);}
.crumb .sep{color:#C7CFCB;}
.crumb .cur{color:var(--c-ink);font-weight:600;}
.hero-h1{font-size:30px;line-height:1.18;font-weight:800;color:var(--c-ink);}
@media (min-width:1024px){.hero-h1{font-size:48px;}}
.hero-brand{
  display:inline-block;font-size:.58em;vertical-align:.16em;
  color:var(--c-brand);margin-right:.1em;font-weight:800;
}
.hero-note{
  margin-top:22px;display:flex;flex-wrap:wrap;gap:10px 20px;
  font-size:13px;color:var(--c-muted);
}
.hero-note span{display:inline-flex;align-items:center;gap:7px;}
.hero-note i{color:var(--c-brand);}

/* ---------- 区块节奏 ---------- */
.section{padding-top:48px;padding-bottom:48px;}
.section-tight{padding-top:36px;padding-bottom:36px;}
@media (min-width:768px){
  .section{padding-top:72px;padding-bottom:72px;}
  .section-tight{padding-top:52px;padding-bottom:52px;}
}
@media (min-width:1024px){
  .section{padding-top:96px;padding-bottom:96px;}
  .section-tight{padding-top:64px;padding-bottom:64px;}
}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.sec-sub{margin-top:12px;font-size:15px;line-height:1.85;color:var(--c-muted);max-width:720px;}

/* ---------- 卡片通用 ---------- */
.card{
  background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-card);
  box-shadow:var(--sh-sm);
  transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease);
}
.card:hover{transform:translateY(-2px);border-color:rgba(20,112,91,.3);box-shadow:var(--sh-card);}
.badge{
  display:inline-flex;align-items:center;
  padding:3px 9px;border-radius:var(--r-badge);
  background:var(--c-bg);color:var(--c-muted);
  font-size:12px;line-height:1.4;font-weight:500;
}
.badge-brand{
  background:rgba(20,112,91,.1);color:var(--c-brand);font-weight:600;
}

/* ---------- 核心看点 ---------- */
.point-card{padding:22px 22px 24px;height:100%;display:flex;flex-direction:column;}
.point-ico{
  width:42px;height:42px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(20,112,91,.1);color:var(--c-brand);font-size:17px;
  margin-bottom:16px;
}
.point-t{font-size:17px;font-weight:700;line-height:1.5;}
.point-d{margin-top:8px;font-size:14px;line-height:1.8;color:var(--c-muted);}

/* ---------- 目录 + 内容流 ---------- */
.toc-wrap{display:none;}
@media (min-width:1024px){
  .toc-wrap{display:block;position:sticky;top:96px;}
}
.toc-title{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--c-muted);margin-bottom:12px;}
.toc-link{
  display:block;padding:9px 0 9px 14px;
  border-left:3px solid transparent;
  font-size:14px;color:var(--c-muted);
  transition:color var(--ease),border-color var(--ease),padding-left var(--ease);
}
.toc-link:hover{color:var(--c-brand);padding-left:18px;}
.toc-link.is-active{border-left-color:var(--c-brand);color:var(--c-ink);font-weight:600;}
.toc-side{margin-top:22px;padding:16px;border:1px solid var(--c-line);border-radius:12px;background:#FFFFFF;}
.toc-side-t{font-size:13px;font-weight:600;color:var(--c-ink);}
.toc-side-d{margin-top:6px;font-size:13px;line-height:1.75;color:var(--c-muted);}

.news-block{
  display:grid;grid-template-columns:1fr;gap:18px;
  padding:22px 0 26px;border-bottom:1px solid var(--c-line);
}
.news-block:first-child{padding-top:0;}
.news-block:last-child{border-bottom:none;padding-bottom:0;}
@media (min-width:640px){
  .news-block{grid-template-columns:236px 1fr;gap:24px;align-items:start;}
}
.news-cover{
  display:block;border-radius:var(--r-img);overflow:hidden;
  border:1px solid var(--c-line);background:#EFEEEA;
}
.news-cover img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-img);transition:transform 260ms ease-out;}
.news-cover:hover img{transform:scale(1.03);}
.news-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.news-time{font-size:13px;color:var(--c-muted);font-variant-numeric:tabular-nums;}
.news-title{margin-top:10px;font-size:19px;line-height:1.5;font-weight:700;}
.news-title a{transition:color var(--ease);}
.news-title a:hover{color:var(--c-brand);}
.news-sum{
  margin-top:10px;font-size:15px;line-height:1.85;color:var(--c-muted);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.news-tags{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;}

/* ---------- 数据区 ---------- */
.stats{background:var(--c-brand-deep);color:var(--c-dark-ink);}
.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.16);border-radius:12px;overflow:hidden;}
@media (min-width:1024px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
.stats-cell{background:var(--c-brand-deep);padding:26px 20px;}
.stats-num{
  font-size:34px;line-height:1.1;font-weight:800;color:var(--c-lime);
  font-variant-numeric:tabular-nums;
}
@media (min-width:1024px){.stats-num{font-size:44px;}}
.stats-label{margin-top:10px;font-size:14px;color:var(--c-dark-muted);}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--c-line);}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 0;font-size:16px;font-weight:600;color:var(--c-ink);
  cursor:pointer;list-style:none;
}
.faq-q::-webkit-details-marker{display:none;}
.faq-arrow{color:var(--c-muted);font-size:12px;transition:transform var(--ease);flex-shrink:0;}
.faq-item[open] .faq-arrow{transform:rotate(180deg);color:var(--c-brand);}
.faq-a{padding:0 0 22px;font-size:15px;line-height:1.85;color:var(--c-muted);max-width:820px;}

/* ---------- CTA / 表单 ---------- */
.cta-band{background:var(--c-brand-deep);color:var(--c-dark-ink);}
.form-card{
  background:#FFFFFF;border:1px solid var(--c-line);border-radius:var(--r-pop);
  box-shadow:var(--sh-card);padding:24px;
}
@media (min-width:1024px){.form-card{padding:32px;}}
.field-label{display:block;font-size:14px;color:var(--c-muted);margin-bottom:7px;}
.field{
  width:100%;height:46px;padding:0 14px;border-radius:var(--r-btn);
  border:1px solid var(--c-line);background:#FFFFFF;color:var(--c-ink);
  font-size:15px;transition:border-color var(--ease),box-shadow var(--ease);
}
textarea.field{height:auto;padding:12px 14px;line-height:1.75;resize:vertical;}
select.field{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#6B7A74 50%),linear-gradient(135deg,#6B7A74 50%,transparent 50%);background-position:calc(100% - 20px) 20px,calc(100% - 14px) 20px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;}
.field:focus{outline:none;border-color:var(--c-brand);box-shadow:0 0 0 3px rgba(20,112,91,.15);}
.check-row{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.7;color:var(--c-muted);}
.check-row input{margin-top:4px;width:16px;height:16px;accent-color:var(--c-brand);flex-shrink:0;}
.check-row a{color:var(--c-brand);text-decoration:underline;text-underline-offset:3px;}

/* ---------- 页脚 ---------- */
.foot-link{
  display:inline-block;font-size:14px;color:var(--c-dark-muted);
  transition:color var(--ease),transform var(--ease);
}
.foot-link:hover{color:var(--c-lime);transform:translateX(-2px);}

/* ---------- 滚动条与动效偏好 ---------- */
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;}
  html{scroll-behavior:auto;}
}

/* roulang page: category2 */
:root{
  --c-brand:#14705B;
  --c-brand-deep:#0C3F34;
  --c-accent:#FF6B3D;
  --c-lime:#C9F24D;
  --c-bg:#F7F5F0;
  --c-surface:#FFFFFF;
  --c-line:#E3DFD6;
  --c-ink:#10231E;
  --c-muted:#6B7A74;
  --c-dark-ink:#EDF5F1;
  --c-dark-muted:#A9C2BA;
  --c-ring:#FF6B3D;
  --r-card:14px;
  --r-img:12px;
  --r-btn:10px;
  --r-badge:6px;
  --r-modal:16px;
  --shadow-sm:0 1px 2px rgba(16,35,30,.06);
  --shadow-card:0 6px 20px -8px rgba(16,35,30,.18);
  --shadow-pop:0 24px 48px -20px rgba(12,63,52,.35);
  --gutter-m:20px;
  --gutter-t:32px;
  --gutter-d:40px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  background:var(--c-bg);
  color:var(--c-ink);
  font-size:16px;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none;transition:color .18s ease-out}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:0;line-height:1.35}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--c-ring);outline-offset:2px;border-radius:4px}
.num{font-variant-numeric:tabular-nums}
.container-xl{max-width:1180px;margin:0 auto;padding-left:var(--gutter-m);padding-right:var(--gutter-m)}
@media (min-width:768px){.container-xl{padding-left:var(--gutter-t);padding-right:var(--gutter-t)}}
@media (min-width:1024px){.container-xl{padding-left:var(--gutter-d);padding-right:var(--gutter-d)}}

/* ============ Header ============ */
.site-header{
  position:sticky;top:0;z-index:70;
  background:rgba(247,245,240,.94);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid transparent;
  transition:background .2s ease-out,border-color .2s ease-out,box-shadow .2s ease-out;
}
.site-header.is-scrolled{
  background:#fff;
  border-bottom:1px solid var(--c-line);
  box-shadow:0 4px 18px -12px rgba(16,35,30,.32);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}
@media (min-width:1024px){.header-inner{height:72px;gap:28px}}
.logo-mark{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo-main{font-size:18px;font-weight:800;color:var(--c-ink);letter-spacing:0}
@media (min-width:1024px){.logo-main{font-size:19px}}
.logo-sep{display:inline-block;width:1px;height:18px;background:var(--c-line)}
.logo-sub{font-size:12.5px;color:var(--c-muted);white-space:nowrap}

.nav-list{display:flex;align-items:center;gap:2px}
.nav-link{
  display:inline-flex;align-items:center;height:40px;padding:0 14px;
  border-radius:var(--r-btn);font-size:15px;color:var(--c-ink);
  transition:background .18s ease-out,color .18s ease-out;
}
.nav-link:hover{background:rgba(20,112,91,.08);color:var(--c-brand)}
.nav-link.is-active{color:var(--c-brand);font-weight:600;background:rgba(20,112,91,.10)}

/* Mega */
.mega-wrap{position:relative}
.mega-trigger{
  display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;
  border-radius:var(--r-btn);font-size:15px;background:transparent;border:1px solid transparent;
  cursor:pointer;transition:background .18s ease-out,color .18s ease-out;
}
.mega-trigger:hover,.mega-trigger:focus-visible{background:rgba(20,112,91,.08);color:var(--c-brand)}
.mega-trigger .caret{transition:transform .2s ease-out}
.mega-wrap:hover .mega-trigger .caret,.mega-wrap:focus-within .mega-trigger .caret{transform:rotate(180deg)}
.mega-panel{
  position:absolute;top:100%;right:0;width:820px;max-width:calc(100vw - 40px);
  padding-top:14px;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .2s ease-out,transform .2s ease-out,visibility .2s;z-index:80;
}
.mega-wrap:hover .mega-panel,.mega-wrap:focus-within .mega-panel{opacity:1;visibility:visible;transform:translateY(0)}
.mega-inner{
  background:#fff;border:1px solid var(--c-line);border-top:1px solid rgba(20,112,91,.38);
  border-radius:16px;box-shadow:var(--shadow-pop);padding:24px;
  display:grid;grid-template-columns:1fr 1fr .95fr;gap:24px;
}
.mega-col-title{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--c-muted);margin-bottom:12px}
.mega-link{display:block;font-size:14px;color:var(--c-ink);padding:6px 0;border-radius:6px;transition:color .18s ease-out,padding-left .18s ease-out}
.mega-link:hover{color:var(--c-brand);padding-left:4px}
.mega-news-item{padding:9px 0;border-bottom:1px solid var(--c-line)}
.mega-news-item:last-child{border-bottom:0}
.mega-news-item a{font-size:14px;line-height:1.6;color:var(--c-ink);display:block}
.mega-news-item a:hover{color:var(--c-brand)}
.mega-news-meta{font-size:12px;color:var(--c-muted);margin-top:3px}
.mega-card{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--c-line);border-radius:12px;transition:border-color .18s ease-out,transform .18s ease-out,box-shadow .18s ease-out}
.mega-card+.mega-card{margin-top:12px}
.mega-card:hover{border-color:rgba(20,112,91,.3);transform:translateY(-2px);box-shadow:var(--shadow-card)}
.mega-card img{width:76px;height:56px;object-fit:cover;border-radius:8px;flex-shrink:0}
.mega-card p{font-size:13.5px;line-height:1.55}
.mega-card span{font-size:12px;color:var(--c-muted)}

/* Mobile drawer */
.menu-toggle{
  display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border:1px solid var(--c-line);border-radius:var(--r-btn);background:#fff;cursor:pointer;
}
.mobile-drawer{
  position:fixed;left:0;right:0;top:60px;bottom:0;background:#fff;z-index:65;
  transform:translateX(-102%);transition:transform .26s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;padding:16px 20px 0;overflow-y:auto;
}
.mobile-drawer.is-open{transform:translateX(0)}
.drawer-link{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;font-size:16px;border-bottom:1px solid var(--c-line)}
.drawer-link.is-active{color:var(--c-brand);font-weight:600}
.drawer-group-title{font-size:13px;letter-spacing:.08em;color:var(--c-muted);margin:18px 0 6px}
.drawer-foot{margin-top:auto;padding:18px 0 24px;position:sticky;bottom:0;background:#fff}

/* ============ Buttons ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 20px;border-radius:var(--r-btn);border:1px solid transparent;
  font-size:15px;font-weight:600;cursor:pointer;
  transition:transform .18s ease-out,filter .18s ease-out,background .18s ease-out,color .18s ease-out,border-color .18s ease-out;
}
.btn-primary{background:var(--c-accent);color:#fff}
.btn-primary:hover{filter:brightness(.94);transform:translateY(-1px)}
.btn-primary:active{transform:translateY(1px)}
.btn-outline{border-color:var(--c-brand);color:var(--c-brand);background:transparent}
.btn-outline:hover{background:rgba(20,112,91,.08)}
.btn-outline:active{transform:translateY(1px)}
.btn-dark{background:var(--c-brand-deep);color:#fff}
.btn-dark:hover{filter:brightness(1.12);transform:translateY(-1px)}
.btn[disabled],.btn.is-disabled{opacity:.4;cursor:not-allowed;transform:none}
.btn-sm{height:38px;padding:0 16px;font-size:14px}
.link-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--c-brand);font-size:15px;font-weight:600}
.link-arrow svg{transition:transform .18s ease-out}
.link-arrow:hover{color:var(--c-accent)}
.link-arrow:hover svg{transform:translateX(4px)}

/* ============ Badges / cards / lists ============ */
.badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:var(--r-badge);font-size:12.5px;line-height:1.4;background:#F1EEE7;color:var(--c-muted)}
.badge-brand{background:rgba(20,112,91,.10);color:var(--c-brand)}
.badge-lime{background:rgba(201,242,77,.18);color:var(--c-lime)}
.card{
  background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-card);
  padding:24px;transition:transform .18s ease-out,border-color .18s ease-out,box-shadow .18s ease-out;
}
.card:hover{transform:translateY(-2px);border-color:rgba(20,112,91,.30);box-shadow:var(--shadow-card)}
.card-title{font-size:19px;font-weight:600;line-height:1.45}
.card-text{font-size:15px;line-height:1.8;color:var(--c-muted)}
.list-row{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-top:1px solid var(--c-line)}
.list-row:first-child{border-top:0}
.dot-lime{width:8px;height:8px;border-radius:2px;background:var(--c-lime);flex-shrink:0;margin-top:10px}
.dot-brand{width:8px;height:8px;border-radius:50%;background:var(--c-brand);flex-shrink:0;margin-top:10px}

/* ============ Section rhythm ============ */
.section{padding-top:48px;padding-bottom:48px}
@media (min-width:768px){.section{padding-top:72px;padding-bottom:72px}}
@media (min-width:1024px){.section{padding-top:96px;padding-bottom:96px}}
.section-tight{padding-top:40px;padding-bottom:40px}
@media (min-width:768px){.section-tight{padding-top:56px;padding-bottom:56px}}
@media (min-width:1024px){.section-tight{padding-top:64px;padding-bottom:64px}}
.section-head{font-size:24px;font-weight:700;line-height:1.4}
@media (min-width:1024px){.section-head{font-size:30px}}
.section-sub{margin-top:12px;font-size:15.5px;color:var(--c-muted);max-width:760px}
.h1-hero{font-size:28px;font-weight:800;line-height:1.32}
@media (min-width:768px){.h1-hero{font-size:36px}}
@media (min-width:1024px){.h1-hero{font-size:44px;line-height:1.24}}
.text-body{font-size:16.5px;line-height:1.85;color:var(--c-ink)}
.text-muted{color:var(--c-muted)}

/* ============ Breadcrumb ============ */
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--c-muted)}
.breadcrumb a{color:var(--c-muted)}
.breadcrumb a:hover{color:var(--c-brand)}
.breadcrumb .sep{color:#C6C0B4}
.breadcrumb .current{color:var(--c-muted)}

/* ============ Hero (category) ============ */
.cat-hero{background:rgba(20,112,91,.05);border-bottom:1px solid var(--c-line)}
.hero-media{position:relative;border-radius:var(--r-img);overflow:hidden;border:1px solid var(--c-line)}
.hero-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-media::after{content:"";position:absolute;right:-18px;bottom:-18px;width:96px;height:96px;border-radius:50%;background:rgba(20,112,91,.10)}
.trust-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.trust-item{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--c-muted);background:#fff;border:1px solid var(--c-line);border-radius:999px;padding:7px 14px}
.trust-item svg{flex-shrink:0}

/* ============ Compare ============ */
.cmp-col{border:1px solid var(--c-line);border-radius:var(--r-card);background:#fff;overflow:hidden;display:flex;flex-direction:column}
.cmp-col.is-feature{background:var(--c-brand-deep);border-color:var(--c-brand-deep);box-shadow:var(--shadow-card)}
.cmp-head{padding:22px 22px 18px;border-bottom:1px solid var(--c-line)}
.cmp-col.is-feature .cmp-head{border-bottom:1px solid rgba(255,255,255,.14)}
.cmp-name{font-size:18px;font-weight:700}
.cmp-col.is-feature .cmp-name{color:var(--c-dark-ink)}
.cmp-desc{margin-top:6px;font-size:13.5px;color:var(--c-muted)}
.cmp-col.is-feature .cmp-desc{color:var(--c-dark-muted)}
.cmp-row{display:flex;align-items:flex-start;gap:10px;padding:14px 22px;min-height:64px;border-bottom:1px solid var(--c-line);font-size:14.5px;line-height:1.7}
.cmp-col.is-feature .cmp-row{border-bottom:1px solid rgba(255,255,255,.12);color:var(--c-dark-ink)}
.cmp-row:last-child{border-bottom:0}
.cmp-key{color:var(--c-muted);flex-shrink:0;width:76px;font-size:13.5px}
.cmp-col.is-feature .cmp-key{color:var(--c-dark-muted)}

/* ============ Steps ============ */
.steps{display:grid;grid-template-columns:1fr;gap:26px}
@media (min-width:768px){.steps{grid-template-columns:repeat(4,1fr);gap:24px}}
.step{position:relative;padding-left:58px}
@media (min-width:768px){.step{padding-left:0;padding-top:52px}}
.step::before{content:"";position:absolute;top:19px;left:0;right:0;height:1px;background:var(--c-line)}
.step:first-child::before{left:20px}
@media (max-width:767px){.step::before{display:none}}
.step-dot{
  position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border:1px solid var(--c-line);font-size:13px;font-weight:700;color:var(--c-muted);
}
.step.is-active .step-dot{background:var(--c-brand);border-color:var(--c-brand);color:#fff}
.step-title{font-size:17px;font-weight:600;margin-top:14px}
@media (min-width:768px){.step-title{margin-top:0}}
.step-text{margin-top:8px;font-size:14.5px;line-height:1.75;color:var(--c-muted)}

/* ============ Scene image block ============ */
.scene-media{border-radius:var(--r-img);overflow:hidden;border:1px solid var(--c-line)}
.scene-media img{width:100%;aspect-ratio:3/2;object-fit:cover}

/* ============ FAQ ============ */
.faq-item{border-bottom:1px solid var(--c-line)}
.faq-item:first-child{border-top:1px solid var(--c-line)}
.faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 2px;font-size:16px;font-weight:600;transition:color .18s ease-out;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--c-brand)}
.faq-icon{flex-shrink:0;transition:transform .22s ease-out;color:var(--c-muted)}
.faq-item[open] .faq-icon{transform:rotate(180deg);color:var(--c-brand)}
.faq-body{padding:0 2px 22px;font-size:15px;line-height:1.85;color:var(--c-muted);max-width:820px}

/* ============ Form ============ */
.form-card{background:#fff;border:1px solid var(--c-line);border-radius:var(--r-card);padding:24px}
@media (min-width:1024px){.form-card{padding:32px}}
.field{margin-bottom:18px}
.field label{display:block;font-size:14px;color:var(--c-muted);margin-bottom:8px}
.field .req{color:var(--c-accent)}
.input,.select,.textarea{
  width:100%;border:1px solid var(--c-line);border-radius:var(--r-btn);background:#fff;
  padding:0 14px;height:46px;font-size:15px;transition:border-color .18s ease-out,box-shadow .18s ease-out;
}
.textarea{height:auto;padding:12px 14px;line-height:1.7;resize:vertical;min-height:110px}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--c-brand);box-shadow:0 0 0 3px rgba(20,112,91,.15)}
.input::placeholder,.textarea::placeholder{color:#A9B2AD}
.form-note{font-size:12.5px;line-height:1.7;color:var(--c-muted);margin-top:14px}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.7;color:var(--c-muted);margin-bottom:14px}
.consent input{width:16px;height:16px;margin-top:2px;accent-color:var(--c-brand);flex-shrink:0}
.consent a{color:var(--c-brand)}
.consent a:hover{color:var(--c-accent)}

/* ============ CTA band ============ */
.cta-band{background:var(--c-brand-deep);color:var(--c-dark-ink)}
.cta-band .cta-title{font-size:22px;font-weight:700;line-height:1.45}
@media (min-width:1024px){.cta-band .cta-title{font-size:26px}}
.cta-band .cta-sub{margin-top:10px;font-size:15px;color:var(--c-dark-muted)}

/* ============ Footer ============ */
.foot-link{display:inline-block;font-size:14px;color:var(--c-dark-muted);transition:color .18s ease-out,transform .18s ease-out}
.foot-link:hover{color:var(--c-lime);transform:translateX(-2px)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:44px;padding-top:22px;display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between;font-size:13px;color:var(--c-dark-muted)}
.foot-bottom a{color:var(--c-dark-muted)}
.foot-bottom a:hover{color:var(--c-lime)}

/* ============ Utils ============ */
.divider{height:1px;background:var(--c-line);border:0;margin:0}
.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.stat-num{font-variant-numeric:tabular-nums;font-weight:800;color:var(--c-lime);font-size:40px;line-height:1.1}
@media (min-width:1024px){.stat-num{font-size:46px}}
.texture-dots{background-image:radial-gradient(rgba(16,35,30,.055) 1px,transparent 1px);background-size:14px 14px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#CFC9BC;border-radius:999px;border:3px solid var(--c-bg)}
::-webkit-scrollbar-thumb:hover{background:#B9B2A3}

/* roulang page: category3 */
:root{
  --c-brand:#14705B;
  --c-brand-deep:#0C3F34;
  --c-accent:#FF6B3D;
  --c-lime:#C9F24D;
  --c-bg:#F7F5F0;
  --c-surface:#FFFFFF;
  --c-line:#E3DFD6;
  --c-ink:#10231E;
  --c-muted:#6B7A74;
  --c-dark-ink:#EDF5F1;
  --c-dark-muted:#A9C2BA;
  --c-ring:#FF6B3D;
  --r-card:14px;
  --r-img:12px;
  --r-btn:10px;
  --r-badge:6px;
  --r-pop:16px;
  --shadow-sm:0 1px 2px rgba(16,35,30,.06);
  --shadow-card:0 6px 20px -8px rgba(16,35,30,.18);
  --shadow-pop:0 24px 48px -20px rgba(12,63,52,.35);
  --ease:180ms ease-out;
  --font-sans:"Noto Sans SC","PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--c-bg);
  color:var(--c-ink);
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
.num{font-variant-numeric:tabular-nums}
[id]{scroll-margin-top:96px}
:focus-visible{outline:2px solid var(--c-ring);outline-offset:2px;border-radius:6px}
::selection{background:rgba(20,112,91,.16)}

/* 容器 */
.container-xl{width:100%;max-width:1180px;margin:0 auto;padding-left:20px;padding-right:20px}
@media (min-width:768px){.container-xl{padding-left:32px;padding-right:32px}}
@media (min-width:1024px){.container-xl{padding-left:40px;padding-right:40px}}

/* 头部与导航 */
.site-header{
  position:sticky;top:0;z-index:80;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(160%) blur(8px);
  border-bottom:1px solid var(--c-line);
}
.nav-list{display:flex;align-items:center;gap:6px}
.nav-link{
  position:relative;display:inline-flex;align-items:center;gap:6px;
  height:38px;padding:0 14px;border-radius:10px;
  font-size:15px;font-weight:500;color:var(--c-ink);
  background:none;border:0;cursor:pointer;
  transition:var(--ease);white-space:nowrap;
}
.nav-link:hover{background:rgba(20,112,91,.08);color:var(--c-brand)}
.nav-link.is-active{color:var(--c-brand);font-weight:600}
.nav-link.is-active::after{
  content:"";position:absolute;left:14px;right:14px;bottom:-1px;
  height:2px;border-radius:2px;background:var(--c-brand);
}
.mega-wrap{position:relative}
.mega-panel{
  position:absolute;right:0;top:calc(100% - 4px);padding-top:16px;
  width:840px;max-width:calc(100vw - 40px);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s ease-out,transform .18s ease-out,visibility .18s;
  z-index:70;
}
.mega-wrap:hover .mega-panel,
.mega-wrap:focus-within .mega-panel{opacity:1;visibility:visible;transform:translateY(0)}
.mega-inner{
  display:grid;grid-template-columns:1fr 1.35fr 1.1fr;gap:24px;
  background:#fff;border:1px solid var(--c-line);border-top:2px solid rgba(20,112,91,.45);
  border-radius:var(--r-pop);box-shadow:var(--shadow-pop);padding:24px;
}
.mega-col-title{
  font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--c-muted);
  margin:0 0 12px;
}
.mega-link{display:block;font-size:14px;padding:7px 0;color:var(--c-ink);transition:var(--ease)}
.mega-link:hover{color:var(--c-brand);transform:translateX(2px)}

/* 移动抽屉 */
.nav-drawer{max-height:0;overflow:hidden;transition:max-height .28s ease-out;border-top:1px solid transparent}
.nav-drawer-input:checked ~ .nav-drawer{max-height:640px;border-top:1px solid var(--c-line)}
.drawer-link{display:block;padding:11px 12px;border-radius:10px;font-size:15px;font-weight:500;transition:var(--ease)}
.drawer-link:hover{background:rgba(20,112,91,.08)}
.drawer-link.is-active{color:var(--c-brand);background:rgba(20,112,91,.08);font-weight:600}
.drawer-group summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  padding:11px 12px;border-radius:10px;font-size:15px;font-weight:500;transition:var(--ease);
}
.drawer-group summary::-webkit-details-marker{display:none}
.drawer-group summary:hover{background:rgba(20,112,91,.08)}
.drawer-group[open] summary{color:var(--c-brand)}
.drawer-group .drawer-sub{padding:2px 12px 8px}

/* 按钮 */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 22px;border-radius:var(--r-btn);
  font-size:15px;font-weight:600;border:1px solid transparent;
  cursor:pointer;white-space:nowrap;transition:var(--ease);
}
.btn-primary{background:var(--c-accent);color:#fff}
.btn-primary:hover{filter:brightness(.94);transform:translateY(-1px)}
.btn-primary:active{transform:translateY(1px)}
.btn-ghost{background:transparent;border-color:var(--c-brand);color:var(--c-brand)}
.btn-ghost:hover{background:rgba(20,112,91,.08)}
.btn-light{background:#fff;color:var(--c-brand-deep)}
.btn-light:hover{transform:translateY(-1px);box-shadow:var(--shadow-card)}
.btn-line-light{background:transparent;border-color:rgba(237,245,241,.42);color:var(--c-dark-ink)}
.btn-line-light:hover{background:rgba(255,255,255,.10)}
.btn:disabled{opacity:.4;cursor:not-allowed}

/* 卡片与徽章 */
.card{
  background:var(--c-surface);border:1px solid var(--c-line);
  border-radius:var(--r-card);box-shadow:var(--shadow-sm);transition:var(--ease);
}
.card-hover:hover{
  transform:translateY(-2px);
  border-color:rgba(20,112,91,.30);
  box-shadow:var(--shadow-card);
}
.badge{
  display:inline-flex;align-items:center;height:24px;padding:0 10px;
  border-radius:var(--r-badge);font-size:12px;line-height:1.4;
  background:#F1EEE7;color:var(--c-muted);
}
.badge-brand{background:rgba(20,112,91,.10);color:var(--c-brand);font-weight:600}
.badge-lime{background:rgba(201,242,77,.14);color:var(--c-lime);font-weight:600}
.tile{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:10px;
  background:rgba(20,112,91,.10);color:var(--c-brand);
}
.link-arrow{
  display:inline-flex;align-items:center;gap:6px;
  font-size:14px;font-weight:600;color:var(--c-brand);transition:var(--ease);
}
.link-arrow svg{transition:var(--ease)}
.link-arrow:hover{color:var(--c-accent)}
.link-arrow:hover svg{transform:translateX(4px)}

/* 表单 */
.field-label{display:block;font-size:14px;color:var(--c-muted);margin-bottom:6px}
.field{
  width:100%;height:46px;padding:0 14px;background:#fff;
  border:1px solid var(--c-line);border-radius:10px;transition:var(--ease);
}
select.field{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--c-muted) 50%),linear-gradient(135deg,var(--c-muted) 50%,transparent 50%);background-position:calc(100% - 20px) 20px,calc(100% - 15px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:40px}
textarea.field{height:auto;padding:12px 14px;line-height:1.75;resize:vertical}
.field:focus{outline:none;border-color:var(--c-brand);box-shadow:0 0 0 3px rgba(20,112,91,.15)}
.field::placeholder{color:#9BA8A2}

/* 首屏深色区 */
.hero-dark{
  position:relative;color:var(--c-dark-ink);
  background-color:var(--c-brand-deep);
  background-image:
    linear-gradient(180deg,rgba(12,63,52,.95) 0%,rgba(12,63,52,.90) 55%,rgba(12,63,52,.97) 100%),
    url('/assets/images/backpic/back-2.png');
  background-size:cover,cover;
  background-position:center,center;
  background-repeat:no-repeat,no-repeat;
}
.crumbs a{color:var(--c-dark-muted);transition:var(--ease)}
.crumbs a:hover{color:var(--c-lime)}

/* 时间线 */
.timeline{position:relative;padding-left:28px}
.timeline::before{
  content:"";position:absolute;left:5px;top:10px;bottom:10px;
  width:2px;background:var(--c-line);
}
.timeline-item{position:relative;padding-bottom:32px}
.timeline-item:last-child{padding-bottom:0}
.timeline-item::before{
  content:"";position:absolute;left:-28px;top:9px;
  width:12px;height:12px;border-radius:50%;
  background:#fff;border:2px solid var(--c-brand);
}
.timeline-item.is-now::before{background:var(--c-lime);border-color:var(--c-brand)}
.timeline-year{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--c-brand)}

/* FAQ */
.faq-item{border-bottom:1px solid var(--c-line)}
.faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 0;font-size:16px;font-weight:600;transition:var(--ease);
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--c-brand)}
.faq-arrow{flex:none;transition:transform .18s ease-out;color:var(--c-muted)}
.faq-item[open] .faq-arrow{transform:rotate(180deg);color:var(--c-brand)}
.faq-body{padding:0 0 20px;font-size:15px;line-height:1.85;color:var(--c-muted);max-width:820px}

/* 页脚 */
.foot-link{display:inline-block;font-size:14px;color:var(--c-dark-muted);transition:var(--ease)}
.foot-link:hover{color:var(--c-lime);transform:translateX(-2px)}

/* 内容排版 */
.prose-cn p+p{margin-top:1.15em}
.lead{max-width:760px}
