@import url('https://fonts.googleapis.com/css2?family=Anton&family=Epilogue:wght@400;500;600;700&display=swap');

*,*::before,*::after{box-sizing:border-box}
:root{
  --mint:#b4fde1;
  --blue:#add8e6;
  --ink:#172620;
  --deep:#1f5340;
  --tint:#e6fdf4;
  --sh:inset -2px -2px 8px rgba(23,38,32,.10), 6px 6px 16px rgba(23,38,32,.14);
  --sh-nav:inset -2px -2px 6px rgba(255,255,255,.85), 4px 4px 10px rgba(23,38,32,.16);
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;overflow-x:hidden;
  font-family:Epilogue,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:17px;line-height:1.75;color:var(--ink);
  background:radial-gradient(120% 80% at 0% 0%, #eafff8 0%, #e2f6fd 48%, #f4fffb 100%) fixed;
}
a{color:var(--deep)}
h1,h2,h3{
  font-family:Anton,Epilogue,"PingFang SC","Microsoft YaHei",sans-serif;
  font-weight:400;line-height:1.14;letter-spacing:.02em;margin:0;
}
hr{border:0;height:5px;border-radius:6px;opacity:.5;
  background:repeating-linear-gradient(90deg,var(--ink) 0 13px, transparent 13px 23px)}

/* ————— 左侧固定竖栏 ————— */
.rail{
  position:fixed;inset:0 auto 0 0;width:236px;z-index:40;
  display:flex;flex-direction:column;gap:16px;padding:20px 16px 26px;
  background:linear-gradient(180deg,var(--mint),var(--blue));
  border-right:4px solid var(--ink);
  box-shadow:inset -3px 0 0 rgba(255,255,255,.7), 10px 0 22px rgba(23,38,32,.12);
  overflow-y:auto;
}
.brand{
  display:flex;align-items:center;gap:9px;
  font-family:Anton,Epilogue,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:20px;line-height:1.2;color:var(--ink);text-decoration:none;
  padding:10px 12px;border:3px solid var(--ink);border-radius:18px;background:#fff;
  box-shadow:var(--sh-nav);
}
.brand .dot{width:13px;height:13px;border-radius:50%;background:var(--ink);flex:none}
.menu>summary{display:none;list-style:none}
.menu>summary::-webkit-details-marker{display:none}
.menu>nav{display:flex;flex-direction:column;gap:8px}
.menu>nav a{
  display:flex;align-items:center;min-height:44px;padding:8px 12px;
  border:3px solid transparent;border-radius:16px;
  color:var(--ink);text-decoration:none;font-weight:600;font-size:16px;
  transition:transform .2s cubic-bezier(.34,1.56,.64,1), background .2s ease-out,
             border-color .2s ease-out, box-shadow .2s ease-out;
}
.menu>nav a:hover,.menu>nav a:focus-visible{
  background:#fff;border-color:var(--ink);box-shadow:var(--sh-nav);transform:translate(2px,-2px);
}

main{padding-left:236px}
.wrap{
  max-width:1180px;margin:0 auto;padding:24px 20px 0;
  display:grid;grid-template-columns:224px minmax(0,1fr);gap:24px;align-items:start;
}

/* ————— 左侧小卡 ————— */
.side{position:sticky;top:22px;display:flex;flex-direction:column;gap:12px}
.chip{
  background:linear-gradient(150deg,#fff,var(--tint));border:3px solid var(--ink);
  border-radius:18px;padding:11px 14px;box-shadow:var(--sh-nav);font-size:16px;
}
.chip strong{font-family:Anton,Epilogue,"PingFang SC",sans-serif;font-size:18px}
.side-nav{display:flex;flex-direction:column;gap:6px}
.side-nav a{
  display:flex;align-items:center;min-height:42px;padding:6px 12px;
  border:3px solid transparent;border-radius:14px;background:rgba(255,255,255,.72);
  color:var(--ink);text-decoration:none;font-size:16px;
  transition:background .18s ease-out,border-color .18s ease-out;
}
.side-nav a:hover,.side-nav a:focus-visible{background:#fff;border-color:var(--ink)}

/* ————— 正文 ————— */
.board{min-width:0}
.hero{
  position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:18px;align-items:center;min-height:45vh;padding:26px 24px;
  border:4px solid var(--ink);border-radius:30px;text-align:center;overflow:hidden;
  background:linear-gradient(140deg,var(--mint),var(--blue) 92%);
  box-shadow:var(--sh);
}
.hero::after{
  content:"";position:absolute;width:220px;height:220px;right:-70px;bottom:-90px;
  border-radius:50%;background:rgba(255,255,255,.4);pointer-events:none;
}
.hero-txt{position:relative;z-index:2}
.hero-txt:only-child{grid-column:1 / -1}
.hero h1{font-size:clamp(30px,4.6vw,54px);margin-bottom:12px;text-shadow:2px 3px 0 rgba(255,255,255,.72)}
.lead{max-width:34ch;margin:0 auto 16px;font-size:17px;color:#1c3a2e}
.badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.badge{
  display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;
  border:3px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);
  text-decoration:none;font-weight:600;font-size:16px;box-shadow:var(--sh-nav);
  transform:rotate(-1.5deg);transition:transform .2s cubic-bezier(.34,1.56,.64,1);
}
.badge:nth-child(even){transform:rotate(1.5deg)}
.badge:hover{transform:translateY(-3px) rotate(0)}
.hero-art{
  margin:0;border:4px solid var(--ink);border-radius:24px;overflow:hidden;background:#fff;
  box-shadow:inset -2px -2px 10px rgba(23,38,32,.16), 5px 5px 0 rgba(23,38,32,.18);
}
.hero-art img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}

.doc>section{
  margin-top:20px;padding:24px 22px;border-radius:28px;background:#fff;
  box-shadow:var(--sh);scroll-margin-top:100px;
}
.doc>section[class]{background:#fff}
.doc>section:nth-of-type(even){background:linear-gradient(160deg,#f0fff9,#e2f6fd)}
.doc h2{font-size:clamp(22px,3vw,30px);margin:0 0 10px}
.doc h2+hr,.cta hr{margin:0 0 14px}
.doc h3{font-size:19px;margin:18px 0 6px}
.doc p{margin:0 0 14px}
.doc ul,.doc ol{margin:0 0 14px;padding-left:22px}
.doc li{margin:0 0 8px}
.doc a{color:var(--deep);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.doc strong{color:#12211b}
.doc img{max-width:100%;height:auto;border-radius:20px}

/* ————— 页脚 ————— */
.foot{
  margin-top:44px;padding:26px 20px 22px;
  border-top:4px solid var(--ink);
  background:linear-gradient(180deg,var(--blue),var(--mint));
  box-shadow:inset 0 4px 0 rgba(255,255,255,.6);
}
.cta{
  max-width:1180px;margin:0 auto 20px;padding:22px;text-align:center;
  border:4px solid var(--ink);border-radius:28px;
  background:linear-gradient(140deg,#fff,var(--tint));box-shadow:var(--sh);
}
.cta h2{font-size:clamp(24px,4vw,38px);margin:0 0 12px}
.back{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;
  margin-top:14px;padding:10px 24px;border:4px solid var(--ink);border-radius:999px;
  background:var(--mint);color:var(--ink);text-decoration:none;font-weight:700;font-size:16px;
  box-shadow:var(--sh-nav);transition:transform .2s cubic-bezier(.34,1.56,.64,1);
}
.back:hover{transform:translateY(-3px)}
.foot-grid{
  max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;
  gap:22px 40px;align-items:start;justify-content:space-between;
}
.foot-nav dl{display:grid;grid-template-columns:auto auto;gap:6px 14px;margin:0;align-items:center}
.foot-nav dt{margin:0;font-weight:600;font-size:16px;opacity:.78}
.foot-nav dd{margin:0}
.foot-nav dd a,.foot-links a{
  display:inline-flex;align-items:center;min-height:40px;padding:4px 12px;border-radius:12px;
  background:rgba(255,255,255,.6);color:var(--ink);text-decoration:none;font-weight:600;font-size:16px;
  transition:background .18s ease-out, box-shadow .18s ease-out;
}
.foot-nav dd a:hover,.foot-links a:hover{background:#fff;box-shadow:var(--sh-nav)}
.foot-links{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.foot address{
  font-style:normal;font-weight:700;font-size:16px;background:#fff;
  border:3px solid var(--ink);border-radius:16px;padding:8px 14px;box-shadow:var(--sh-nav);
}
.copy{max-width:1180px;margin:18px auto 0;text-align:center;font-size:16px;opacity:.72}

/* ————— 滚动显现 ————— */
.js .rv{opacity:0;transform:translateY(20px)}
.js .rv.in{
  opacity:1;transform:none;
  transition:opacity .5s ease-out, transform .55s cubic-bezier(.34,1.56,.64,1);
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv{opacity:1;transform:none;transition:none}
  .badge,.back,.menu>nav a{transition:none}
}

/* ————— 窄屏 ————— */
@media (max-width:899px){
  .rail{
    position:sticky;top:0;inset:auto;width:auto;overflow:visible;
    flex-direction:row;align-items:center;justify-content:space-between;
    gap:10px;padding:10px 14px;border-right:0;border-bottom:4px solid var(--ink);
  }
  .brand{font-size:18px;padding:8px 11px}
  .menu{position:relative;margin-left:auto}
  .menu>summary{
    display:inline-flex;align-items:center;justify-content:center;min-height:44px;
    padding:8px 16px;border:3px solid var(--ink);border-radius:16px;background:#fff;
    font-weight:700;font-size:16px;cursor:pointer;box-shadow:var(--sh-nav);
  }
  .menu>nav{
    position:absolute;right:0;top:calc(100% + 10px);width:min(78vw,300px);max-height:72vh;
    overflow:auto;padding:12px;border:4px solid var(--ink);border-radius:20px;
    background:linear-gradient(160deg,#fff,var(--tint));box-shadow:var(--sh);
  }
  main{padding-left:0}
  .wrap{grid-template-columns:1fr;gap:16px;padding:16px 14px 0}
  .side{position:static;gap:10px}
  .chip{display:none}
  .side-nav{flex-direction:row;flex-wrap:wrap;gap:8px}
  .side-nav a{background:#fff;border:3px solid var(--ink);min-height:40px;padding:6px 12px}
  .hero{grid-template-columns:1fr;min-height:45vh;padding:22px 18px}
  .hero-art{max-width:100%}
  .doc>section{padding:20px 16px;scroll-margin-top:84px}
  .foot-grid{gap:18px 22px}
}

button[aria-expanded]{min-width:44px;min-height:44px}
