:root{
  --ink:#17241f;
  --muted:#51615a;
  --bg:#f4f0e7;
  --paper:#fffdf9;
  --green:#063b33;
  --green-2:#0c4f44;
  --gold:#9a7340;
  --line:#e3dacb;
  --soft:#e7f4ee;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:"Noto Sans SC","PingFang SC","Source Han Sans SC",sans-serif;
  font-size:17px;
  line-height:1.85;
}
a{color:var(--green-2);text-decoration-thickness:1px;text-underline-offset:3px}
img{max-width:100%;display:block}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px}
.v39-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.skip:focus{left:8px;z-index:20}
.top{
  position:sticky;top:0;z-index:30;
  background:var(--green);color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.top-in,.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.brand{color:#fff;text-decoration:none;font-weight:700;letter-spacing:.02em}
.brand small{display:block;font-weight:500;opacity:.65;font-size:11px;letter-spacing:.14em}
.top nav{display:flex;gap:18px;align-items:center;font-size:14px}
.top nav a{color:rgba(255,255,255,.82);text-decoration:none}
.top .go{
  border:0;background:#d9a441;color:#04251f;font-weight:800;
  padding:10px 14px;border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;
}
.hero{background:var(--green);color:#fff;padding:34px 0 28px}
.kicker{margin:0 0 8px;color:#e9c883;font-size:12px;letter-spacing:.16em;font-weight:700}
.hero h1{
  margin:0 0 12px;
  font-family:"Noto Serif SC",serif;
  font-size:clamp(28px,4vw,40px);
  line-height:1.35;
  font-weight:650;
  max-width:18em;
}
.lede{margin:0;max-width:40em;color:rgba(255,255,255,.84);font-size:17px}
.meta{margin-top:14px;color:rgba(255,255,255,.55);font-size:13px}
.layout{display:grid;grid-template-columns:minmax(0,740px) 280px;gap:36px;padding:28px 0 48px}
.prose h2{
  margin:1.6em 0 .6em;
  font-family:"Noto Serif SC",serif;
  font-size:26px;
  line-height:1.4;
  font-weight:650;
}
.prose p{margin:0 0 1em}
.prose .answer{
  background:var(--soft);
  border-left:3px solid #16b886;
  padding:14px 16px;
  margin:0 0 1.2em;
}
figure{margin:1.2em 0 1.6em}
figure img{width:100%;border-radius:12px;background:#ddd}
figcaption{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.6}
.toc{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px 16px;
  margin:0 0 8px;
}
.toc b{display:block;font-size:13px;margin-bottom:8px}
.toc a{display:block;font-size:14px;line-height:1.55;margin:4px 0}
.side{position:sticky;top:84px;align-self:start;display:flex;flex-direction:column;gap:12px}
.card{
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:12px;
  padding:16px;
}
.card h2{margin:0 0 8px;font-size:18px;font-family:"Noto Serif SC",serif}
.card p,.card li{font-size:14px;color:var(--muted);line-height:1.7}
.card ul{margin:8px 0 0;padding-left:18px}
.card .go,.lead-panel .go{
  display:inline-block;margin-top:8px;border:0;background:#d9a441;color:#04251f;
  font-weight:800;padding:12px 16px;border-radius:8px;cursor:pointer;font-family:inherit;font-size:15px;
}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 0}
.facts div{background:#f7f4ee;border-radius:8px;padding:8px 10px;font-size:13px}
.facts b{display:block;color:var(--ink);font-size:14px}
.related{display:grid;gap:8px;margin-top:8px}
.related a{
  display:block;padding:10px 12px;border-radius:8px;background:#f7f4ee;text-decoration:none;color:var(--ink);
}
.lead-panel{
  margin-top:28px;background:var(--green);color:#fff;border-radius:16px;padding:22px;
}
.lead-panel h2{margin:0 0 8px;font-family:"Noto Serif SC",serif;font-size:26px}
.lead-panel p{color:rgba(255,255,255,.78)}
.contacts{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:12px 0;font-size:15px}
.contacts a{color:#d8ffe8}
.crumbs{font-size:13px;color:var(--muted);margin:0 0 12px}
.crumbs a{color:var(--muted)}
.dir-hero{padding:36px 0 10px}
.dir-hero h1{font-family:"Noto Serif SC",serif;font-size:36px;line-height:1.3;margin:0 0 8px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.filters button{
  border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;
  font-family:inherit;cursor:pointer;color:var(--ink);
}
.filters button.on{background:var(--green);color:#fff;border-color:var(--green)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:40px}
.item{
  display:block;background:var(--paper);border:1px solid var(--line);border-radius:12px;
  padding:14px 16px;text-decoration:none;color:inherit;
}
.item b{display:block;font-size:16px;line-height:1.45;margin-bottom:4px}
.item span{color:var(--muted);font-size:13px}
.sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:40;
  background:rgba(6,59,51,.96);color:#fff;
  transform:translateY(110%);transition:.2s;padding:10px 0 calc(10px + env(safe-area-inset-bottom));
}
.sticky.on{transform:none}
.sticky .top-in{min-height:0}
.sticky span{font-size:13px;color:rgba(255,255,255,.7)}
.foot{padding:28px 0 90px;color:var(--muted);font-size:13px}
@media(max-width:900px){
  .layout,.grid,.contacts,.facts{grid-template-columns:1fr}
  .side{position:static}
  .top nav{display:none}
}
