*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,sans-serif;
  background:#EAEFEC;
  color:#14201C;
  font-size:16px;
  line-height:1.7;
}
:root{
  --bg:#EAEFEC;
  --paper:#FFFFFF;
  --panel:#F5F8F6;
  --ink:#14201C;
  --txt:#2E3B36;
  --mut:#6E7E78;
  --line:#DCE5E1;
  --main:#1F7A4D;
  --aux:#123B5E;
  --dot:#F2703C;
  --grad:linear-gradient(100deg,#1F7A4D 0%,#123B5E 100%);
  --r:20px;
  --sh:0 20px 44px -32px rgba(20,32,28,.6);
}
img{max-width:100%;height:auto;display:block}
figure,figcaption,blockquote,dl,dd,table{margin:0}
h1,h2,h3,h4,p,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
a{color:var(--main)}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.sec{padding:66px 0 0}
h2{font-size:27px;line-height:1.35;letter-spacing:-.3px}
h3{font-size:18.5px;line-height:1.45}
.sub{margin:11px 0 0;font-size:15.3px;color:var(--mut);max-width:720px}

.top{background:var(--paper);border-bottom:1px solid var(--line)}
.top__in{display:flex;align-items:center;gap:16px;max-width:1120px;margin:0 auto;padding:14px 22px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand__ic{width:42px;height:42px;border-radius:12px;flex:none}
.brand__tx{font-size:19px;font-weight:700;color:var(--ink);letter-spacing:.5px;white-space:nowrap}
.nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto}
.nav a{padding:9px 14px;border-radius:999px;font-size:15px;color:var(--txt);text-decoration:none;white-space:nowrap}
.nav a:hover{color:var(--main);background:rgba(31,122,77,.09)}
.nav a[aria-current="page"]{background:var(--main);color:#fff}
.top .btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 19px;border-radius:999px;background:var(--grad);color:#fff;font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap;flex:none;box-shadow:0 12px 24px -16px rgba(18,59,94,.9)}
.top .btn:hover{color:#fff}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 27px;border-radius:999px;background:var(--grad);color:#fff;font-size:16px;font-weight:700;text-decoration:none;white-space:nowrap;border:0;box-shadow:0 16px 32px -20px rgba(18,59,94,.95)}
.btn:hover{color:#fff;filter:brightness(1.07)}
.btn--ghost{background:var(--paper);color:var(--txt);box-shadow:0 12px 26px -22px rgba(20,32,28,.85)}
.btn--ghost:hover{color:var(--main)}

.hero{padding:52px 0 0}
.hero__in{display:grid;grid-template-columns:1.06fr .94fr;gap:46px;align-items:center}
.kicker{font-size:12.5px;font-weight:700;letter-spacing:2px;color:var(--main);text-transform:uppercase}
.kicker::before{content:"";display:inline-block;width:9px;height:9px;border-radius:2px;background:var(--dot);margin-right:9px;vertical-align:1px}
h1{margin:13px 0 0;font-size:42px;line-height:1.2;letter-spacing:-.8px}
.lead{margin:19px 0 0;font-size:16.6px;line-height:1.88;color:var(--txt);max-width:610px}
.hero__act{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px}
.hero__fig{max-width:300px;margin:0 auto;width:100%}
.hero__fig img{width:100%;height:auto;border-radius:24px;box-shadow:0 30px 60px -34px rgba(18,59,94,.85),0 0 0 6px #fff}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{background:var(--paper);border-radius:var(--r);padding:24px 20px;box-shadow:var(--sh)}
.stat b{display:block;font-size:27px;line-height:1.2;color:var(--main);letter-spacing:-.5px}
.stat span{display:block;margin-top:7px;font-size:14.2px;color:var(--mut)}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:20px;margin-top:30px}
.card{position:relative;overflow:hidden;background:var(--paper);border-radius:var(--r);padding:32px 24px 28px;box-shadow:var(--sh)}
.card::before{content:"";position:absolute;left:0;top:0;width:48px;height:4px;background:var(--grad);border-radius:0 4px 4px 0;transition:width .38s ease}
.card:hover::before{width:100%;border-radius:0}
.card__ic{width:46px;height:46px;border-radius:13px;background:rgba(31,122,77,.10);display:flex;align-items:center;justify-content:center;color:var(--main)}
.card h3{margin-top:17px}
.card p{margin-top:9px;font-size:14.7px;line-height:1.82;color:var(--mut)}

.zig{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;margin-top:38px}
.zig__fig{width:100%;max-width:266px;margin:0 auto}
.zig__fig img{width:100%;height:auto;border-radius:20px;box-shadow:0 24px 48px -30px rgba(18,59,94,.85),0 0 0 5px #fff}
.zig--rev .zig__tx{order:2}
.zig--rev .zig__fig{order:1}
.zig h3{font-size:21px}
.zig p{margin-top:12px;font-size:15.8px;line-height:1.92;color:var(--txt)}
.zig ul{margin-top:14px}
.zig li{position:relative;padding-left:20px;margin-top:8px;font-size:15.2px;line-height:1.8;color:var(--mut)}
.zig li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;border-radius:2px;background:var(--dot)}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:30px 20px;margin-top:30px}
.gallery figure{width:100%;max-width:268px;margin:0 auto;text-align:center}
.gallery img{width:100%;height:auto;border-radius:19px;box-shadow:0 20px 42px -28px rgba(18,59,94,.85),0 0 0 5px #fff}
.gallery figcaption{margin-top:12px;font-size:13.6px;line-height:1.62;color:var(--mut)}

.entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;margin-top:30px}
.entry{display:block;position:relative;overflow:hidden;background:var(--paper);border-radius:var(--r);padding:30px 24px 28px;box-shadow:var(--sh);text-decoration:none}
.entry::before{content:"";position:absolute;left:0;top:0;width:48px;height:4px;background:var(--grad);border-radius:0 4px 4px 0;transition:width .38s ease}
.entry:hover::before{width:100%;border-radius:0}
.entry h3{color:var(--ink)}
.entry p{margin-top:10px;font-size:14.7px;line-height:1.82;color:var(--mut)}
.entry__more{display:inline-block;margin-top:16px;font-size:14.4px;font-weight:700;color:var(--main)}

.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:20px;margin-top:30px}
.quote{background:var(--paper);border-radius:var(--r);padding:28px 24px;box-shadow:var(--sh)}
.quote p{font-size:15.1px;line-height:1.88;color:var(--txt)}
.quote footer{margin-top:15px;font-size:13.6px;color:var(--mut)}

.faq{margin-top:28px}
.faq details{background:var(--paper);border-radius:16px;padding:0 22px;box-shadow:var(--sh);margin-bottom:14px}
.faq summary{cursor:pointer;padding:19px 0;font-size:16.2px;font-weight:700;color:var(--ink);list-style:none;display:flex;gap:12px;align-items:flex-start}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"";flex:none;width:9px;height:9px;margin-top:8px;border-radius:2px;background:var(--dot)}
.faq details p{margin:0 0 22px 21px;font-size:14.9px;line-height:1.92;color:var(--mut)}
.faq details p a{color:var(--main)}

.cta{padding:70px 0 0}
.cta__box{position:relative;overflow:hidden;background:linear-gradient(118deg,#123B5E 0%,#1F7A4D 100%);border-radius:28px;padding:50px 34px;text-align:center}
.cta h2{color:#fff}
.cta p{margin:14px auto 0;max-width:640px;font-size:15.6px;line-height:1.88;color:rgba(255,255,255,.88)}
.cta .btn{margin-top:26px;background:#fff;color:#123B5E}
.cta .btn:hover{color:#123B5E;filter:none;background:#F1F6F3}
.cta .btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.62)}
.cta .btn--ghost:hover{color:#fff;background:rgba(255,255,255,.12)}

.foot{margin-top:76px;background:#123B5E;color:rgba(255,255,255,.8);padding:54px 0 28px}
.foot__cols{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px}
.foot h3{color:#fff;font-size:16px;margin-bottom:15px}
.foot p{font-size:14.4px;line-height:1.9;color:rgba(255,255,255,.78)}
.foot a{display:block;padding:5px 0;font-size:14.4px;color:rgba(255,255,255,.78);text-decoration:none}
.foot a:hover{color:#fff}
.foot .btn{display:inline-flex;padding:11px 20px;margin-top:16px;background:#fff;color:#123B5E;border-radius:999px;font-size:14.6px;font-weight:700}
.foot .btn:hover{color:#123B5E}
.foot__copy{margin-top:36px;padding-top:22px;border-top:1px solid rgba(255,255,255,.17);font-size:13.4px;line-height:1.85}

.prose{max-width:830px}
.prose h2{margin-top:52px}
.prose h3{margin-top:30px;font-size:18.5px}
.prose p{margin-top:15px;font-size:16.1px;line-height:1.96;color:var(--txt)}
.prose ul,.prose ol{margin-top:15px}
.prose li{position:relative;padding-left:22px;margin-top:9px;font-size:15.7px;line-height:1.9;color:var(--txt)}
.prose li::before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;border-radius:2px;background:var(--dot)}
.prose a{color:var(--main);text-decoration:underline;text-decoration-color:rgba(242,112,60,.62);text-underline-offset:3px}
.prose strong{color:var(--ink)}
.note{margin-top:22px;background:var(--panel);border-radius:16px;padding:22px 22px;font-size:15.2px;line-height:1.88;color:var(--txt)}
.note b{color:var(--ink)}

.rise{animation:flipUp .6s cubic-bezier(.2,.7,.3,1) both}
.rise.d1{animation-delay:.07s}
.rise.d2{animation-delay:.14s}
.rise.d3{animation-delay:.21s}
@keyframes flipUp{
  from{opacity:0;transform:perspective(700px) rotateX(9deg) translateY(20px)}
  to{opacity:1;transform:perspective(700px) rotateX(0) translateY(0)}
}
@media (prefers-reduced-motion:reduce){
  .rise{animation:none;opacity:1;transform:none}
}

@media (max-width:980px){
  .hero{padding:38px 0 0}
  .hero__in{grid-template-columns:1fr;gap:34px}
  h1{font-size:34px}
  .hero__fig{max-width:266px}
  .stats{grid-template-columns:1fr 1fr}
  .zig{grid-template-columns:1fr;gap:26px}
  .zig--rev .zig__tx,.zig--rev .zig__fig{order:0}
  .zig__fig{max-width:266px}
  .foot__cols{grid-template-columns:1fr 1fr}
  .sec{padding:54px 0 0}
  h2{font-size:24px}
}
@media (max-width:620px){
  .top__in{flex-wrap:wrap;gap:12px;padding:13px 18px}
  .brand{order:1}
  .top .btn{order:2;margin-left:auto}
  .nav{order:3;flex:1 0 100%;margin-left:0;justify-content:center}
  .nav a{padding:8px 15px;font-size:14.4px}
  .wrap{padding:0 18px}
  h1{font-size:29px;letter-spacing:-.4px}
  h2{font-size:22px}
  .lead{font-size:15.8px}
  .hero__fig{max-width:248px}
  .zig__fig{max-width:248px}
  .gallery{grid-template-columns:repeat(auto-fill,minmax(146px,1fr));gap:24px 14px}
  .gallery figure{max-width:210px}
  .stats{grid-template-columns:1fr 1fr;gap:12px}
  .cta__box{padding:38px 20px;border-radius:22px}
  .foot__cols{grid-template-columns:1fr;gap:26px}
  .foot{padding:44px 0 24px}
}
