*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,p,ul,ol,li,figure,figcaption,blockquote,dl,dt,dd{margin:0;padding:0}
ul,ol{list-style:none}
img{max-width:100%;height:auto;display:block;border:0}
a{text-decoration:none;color:inherit}
cite{font-style:normal}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}

:root{
--bg:#EEF2EF;
--paper:#FFFFFF;
--panel:#F5F8F6;
--line:#D8E2DD;
--line2:#E7EDEA;
--ink:#12201E;
--ink2:#46554F;
--ink3:#7C8A84;
--brand:#1F6F6B;
--brand2:#3E9A93;
--accent:#B4453C;
--gold:#E0A93F;
--dark:#152524;
--grad:linear-gradient(135deg,#1F6F6B,#3E9A93 44%,#B4453C);
--rad:14px;
--sh:0 18px 40px -30px rgba(18,32,30,.5);
}

body{
background:var(--bg);
color:var(--ink);
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Hiragino Sans GB','Microsoft YaHei','WenQuanYi Micro Hei',Arial,sans-serif;
font-size:16px;
line-height:1.78;
-webkit-font-smoothing:antialiased;
}

@keyframes fadeLift{
from{opacity:0;clip-path:inset(16% 0 0 0)}
to{opacity:1;clip-path:inset(0 0 0 0)}
}
.rise{animation:fadeLift .62s cubic-bezier(.22,.72,.24,1) both}
.rise.d1{animation-delay:.07s}
.rise.d2{animation-delay:.14s}
.rise.d3{animation-delay:.21s}
.rise.d4{animation-delay:.28s}
.rise.d5{animation-delay:.35s}
@media (prefers-reduced-motion:reduce){
.rise{animation:none;opacity:1;clip-path:none}
}

.kicker{
display:inline-block;
font-size:12px;
letter-spacing:.22em;
text-transform:uppercase;
color:var(--brand);
font-weight:700;
padding-left:20px;
position:relative;
}
.kicker::before{content:"";position:absolute;left:0;top:.62em;width:13px;height:3px;background:var(--gold);border-radius:2px}

.top{
position:sticky;
top:0;
z-index:30;
background:rgba(255,255,255,.94);
backdrop-filter:blur(10px);
border-bottom:1px solid var(--line);
}
.top__in{
max-width:1180px;
margin:0 auto;
padding:12px 22px;
display:flex;
align-items:center;
gap:16px;
}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand img{width:44px;height:44px;border-radius:12px;flex:none}
.brand__txt{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.brand__txt b{font-size:18px;font-weight:800;letter-spacing:.02em;color:var(--ink)}
.brand__txt .sub{font-size:11px;letter-spacing:.16em;color:var(--ink3);text-transform:uppercase}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto;flex-wrap:wrap}
.nav a{
display:block;
padding:8px 13px;
border-radius:999px;
font-size:15px;
color:var(--ink2);
transition:background .2s ease,color .2s ease;
}
.nav a:hover{background:var(--panel);color:var(--brand)}
.nav a[aria-current="page"]{background:var(--brand);color:#fff;font-weight:700}

.btn{
display:inline-block;
padding:11px 22px;
border-radius:11px;
font-size:15px;
font-weight:700;
line-height:1.3;
text-align:center;
white-space:nowrap;
cursor:pointer;
transition:filter .2s ease,transform .2s ease,background .2s ease,color .2s ease;
}
.btn.btn-primary{
background:var(--grad);
color:#fff;
display:inline-block;
padding:11px 22px;
white-space:nowrap;
box-shadow:var(--sh);
}
.btn.btn-primary:hover{
background:linear-gradient(135deg,#175955,#2F8A84 44%,#9E3A32);
color:#fff;
display:inline-block;
padding:11px 22px;
white-space:nowrap;
transform:translateY(-2px);
}
.btn.btn-ghost{
background:var(--paper);
color:var(--brand);
border:1px dashed rgba(31,111,107,.5);
display:inline-block;
padding:11px 22px;
white-space:nowrap;
}
.btn.btn-ghost:hover{
background:var(--panel);
color:var(--brand);
border-color:var(--brand);
display:inline-block;
padding:11px 22px;
white-space:nowrap;
}

.hero{background:linear-gradient(165deg,#FFFFFF 0%,#EDF3F0 58%,#E7EFEC 100%);border-bottom:1px solid var(--line)}
.hero__in{
max-width:1180px;
margin:0 auto;
padding:58px 22px 62px;
display:grid;
grid-template-columns:minmax(0,1fr) 336px;
gap:48px;
align-items:center;
}
.hero__in>*{min-width:0}
.hero__txt h1{
font-size:clamp(30px,4.6vw,46px);
font-weight:800;
line-height:1.22;
letter-spacing:.01em;
margin:14px 0 0;
}
.lead{
margin-top:16px;
font-size:16.5px;
color:var(--ink2);
max-width:640px;
}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero__tags{margin-top:18px;font-size:13px;color:var(--ink3);letter-spacing:.04em}
.shot--hero img{
width:100%;
max-width:322px;
height:auto;
margin:0 auto;
border-radius:20px;
box-shadow:0 0 0 4px #fff,0 26px 54px -34px rgba(18,32,30,.62);
}

.stats{background:var(--dark)}
.stats__in{
max-width:1180px;
margin:0 auto;
padding:26px 22px;
display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:14px;
}
.stat{text-align:center;padding:8px 6px;border-left:1px dashed rgba(255,255,255,.22)}
.stat:first-child{border-left:0}
.stat b{display:block;font-size:26px;font-weight:800;color:#fff;letter-spacing:.02em}
.stat span{display:block;margin-top:4px;font-size:13px;color:rgba(255,255,255,.72)}

.section{padding:0}
.section--alt{background:var(--panel);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.section__in{max-width:1180px;margin:0 auto;padding:62px 22px}
.sec-head{max-width:760px;margin-bottom:30px}
.sec-head h2{
font-size:clamp(22px,3vw,30px);
font-weight:800;
line-height:1.3;
margin:10px 0 0;
}
.sec-head p{margin-top:12px;color:var(--ink2);font-size:15.5px}

.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{
position:relative;
background:var(--paper);
border:1px dashed rgba(31,111,107,.45);
border-radius:var(--rad);
padding:40px 22px 24px;
transition:border-color .22s ease,transform .22s ease;
}
.card:hover{border-color:var(--brand);transform:translateY(-3px)}
.card::before{
content:"";
position:absolute;
left:21px;
top:15px;
width:56px;
height:24px;
background:
linear-gradient(var(--gold),var(--gold)) 0 0/56px 3px no-repeat,
linear-gradient(var(--gold),var(--gold)) 0 10px/34px 3px no-repeat,
linear-gradient(var(--gold),var(--gold)) 0 20px/18px 3px no-repeat;
}
.card__no{
position:absolute;
right:20px;
top:15px;
font-size:12px;
font-weight:800;
letter-spacing:.14em;
color:var(--brand);
}
.card h3{font-size:17.5px;font-weight:800;margin-bottom:9px}
.card p{font-size:14.6px;color:var(--ink2)}

.shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.shot{min-width:0}
.shots .shot{
background:var(--paper);
border:1px solid var(--line);
border-radius:var(--rad);
padding:14px 14px 16px;
height:auto;
transition:border-color .22s ease,transform .22s ease;
}
.shots .shot:hover{border-color:var(--brand2);transform:translateY(-2px)}
.shots .shot img{width:100%;height:auto;border-radius:9px}
.shot figcaption{
margin-top:11px;
font-size:13.4px;
line-height:1.68;
color:var(--ink2);
}

.split{
display:grid;
grid-template-columns:minmax(0,1fr) 300px;
gap:44px;
align-items:center;
}
.split>*{min-width:0}
.split--rev{grid-template-columns:minmax(0,1fr) 300px}
.split__txt h2{
font-size:clamp(21px,2.8vw,27px);
font-weight:800;
line-height:1.34;
margin:0 0 14px;
}
.split__txt p{margin-bottom:13px;color:var(--ink2);font-size:15.4px}
.split .shot img{width:100%;height:auto;border-radius:18px;box-shadow:0 0 0 4px #fff,var(--sh)}

.ticks{margin-top:6px}
.ticks li{
position:relative;
padding-left:22px;
margin-top:9px;
font-size:14.8px;
color:var(--ink2);
}
.ticks li::before{content:"";position:absolute;left:0;top:.7em;width:9px;height:9px;background:var(--gold);border-radius:2px}

.quotes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.quote{
background:var(--paper);
border:1px dashed rgba(31,111,107,.4);
border-radius:var(--rad);
padding:24px 20px;
}
.quote p{font-size:14.8px;color:var(--ink)}
.quote cite{display:block;margin-top:14px;font-size:12.6px;color:var(--ink3);letter-spacing:.03em}

.qa{display:grid;gap:12px}
.qa details{
background:var(--paper);
border:1px solid var(--line);
border-radius:12px;
padding:0 20px;
}
.qa summary{
font-size:16px;
font-weight:700;
padding:16px 30px 16px 0;
position:relative;
color:var(--ink);
}
.qa summary::after{
content:"+";
position:absolute;
right:0;
top:14px;
width:22px;
height:22px;
line-height:20px;
text-align:center;
font-size:17px;
font-weight:700;
color:var(--brand);
border:1px dashed rgba(31,111,107,.5);
border-radius:6px;
}
.qa details[open] summary::after{content:"-"}
.qa p{padding:0 0 17px;font-size:14.8px;color:var(--ink2);border-top:1px dashed var(--line2);margin-top:0;padding-top:13px}

.entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.entry{
display:block;
background:var(--paper);
border:1px dashed rgba(31,111,107,.45);
border-radius:var(--rad);
padding:26px 22px;
transition:border-color .22s ease,transform .22s ease;
}
.entry:hover{border-color:var(--brand);transform:translateY(-3px)}
.entry h3{font-size:17px;font-weight:800;color:var(--brand);margin-bottom:8px}
.entry p{font-size:14.4px;color:var(--ink2)}

.cta{padding:0 22px 66px}
.cta__box{
max-width:1180px;
margin:0 auto;
background:var(--dark);
border-radius:20px;
padding:44px 34px;
text-align:center;
}
.cta__box h2{font-size:clamp(21px,3vw,28px);font-weight:800;color:#fff}
.cta__box p{margin:12px auto 24px;max-width:620px;font-size:15.2px;color:rgba(255,255,255,.76)}
.cta--in{padding:34px 0 0}
.cta--in .cta__box{max-width:none}
.cta--in .cta__box h2{border-left:0;padding-left:0;margin:0}
.cta--in .cta__box p{margin:12px auto 24px}

.page-hero{background:linear-gradient(180deg,#FFFFFF,#EEF2EF);border-bottom:1px solid var(--line)}
.page-hero__in{max-width:1180px;margin:0 auto;padding:52px 22px 42px}
.page-hero h1{
font-size:clamp(27px,4vw,38px);
font-weight:800;
line-height:1.26;
margin:12px 0 0;
}
.page-hero .lead{max-width:800px}

.prose__in{max-width:840px;margin:0 auto;padding:14px 22px 70px}
.prose h2{
font-size:clamp(20px,2.6vw,25px);
font-weight:800;
line-height:1.36;
margin:44px 0 0;
padding-left:16px;
border-left:4px solid var(--gold);
}
.sec-body{margin-top:14px}
.sec-body p{margin-bottom:13px;color:var(--ink2)}
.sec-body p a{color:var(--brand);border-bottom:1px dashed rgba(31,111,107,.6)}
.prose .cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}
.prose .cards .card{border-style:dashed}
.prose .shot{margin:30px auto 26px;max-width:340px}
.prose .shot img{
width:auto;
max-width:min(330px,100%);
height:auto;
margin:0 auto;
border-radius:18px;
box-shadow:0 0 0 4px #fff,var(--sh);
}
.prose .shot figcaption{text-align:center}

.steps{counter-reset:st;margin-top:20px}
.steps li{
position:relative;
padding:0 0 0 58px;
margin-bottom:18px;
counter-increment:st;
}
.steps li::before{
content:counter(st,decimal-leading-zero);
position:absolute;
left:0;
top:2px;
width:40px;
height:40px;
line-height:38px;
text-align:center;
font-size:14px;
font-weight:800;
color:var(--brand);
background:var(--paper);
border:1px dashed rgba(31,111,107,.55);
border-radius:11px;
}
.steps li b{display:block;font-size:16.5px;font-weight:800}
.steps li span{display:block;font-size:14.6px;color:var(--ink2);margin-top:3px}

.rows{margin-top:6px}
.rows dt{font-size:15.8px;font-weight:800;margin-top:16px}
.rows dt::before{content:"";display:inline-block;width:9px;height:9px;margin-right:9px;background:var(--gold);border-radius:2px}
.rows dd{font-size:14.8px;color:var(--ink2);margin-top:5px;padding-left:18px}

.foot{background:var(--dark);padding:44px 22px 40px}
.foot__in{max-width:1180px;margin:0 auto;text-align:center}
.foot__brand{color:#fff;font-size:15.4px}
.foot__brand b{font-weight:800;letter-spacing:.03em}
.foot__note{margin:12px auto 0;max-width:660px;font-size:13px;line-height:1.7;color:rgba(255,255,255,.62)}
.foot__nav{margin:18px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px}
.foot__nav a{font-size:13.6px;color:rgba(255,255,255,.8)}
.foot__nav a:hover{color:#fff}
.foot__cr{margin-top:16px;font-size:12.4px;color:rgba(255,255,255,.45);letter-spacing:.03em}

@media (max-width:980px){
.hero__in{grid-template-columns:minmax(0,1fr);gap:34px;padding:46px 22px 50px}
.shot--hero img{max-width:300px;height:auto}
.stats__in{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.stat{border-left:0;border-top:1px dashed rgba(255,255,255,.18);padding-top:14px}
.stat:nth-child(-n+3){border-top:0;padding-top:8px}
.cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.shots{grid-template-columns:repeat(2,minmax(0,1fr))}
.quotes{grid-template-columns:repeat(2,minmax(0,1fr))}
.entries{grid-template-columns:minmax(0,1fr)}
.split{grid-template-columns:minmax(0,1fr);gap:28px}
.split--rev{grid-template-columns:minmax(0,1fr)}
.split .shot{max-width:320px;margin:0 auto}
.split .shot img{max-width:300px;height:auto;margin:0 auto}
.section__in{padding:50px 22px}
.cta__box{padding:36px 24px}
.prose .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:620px){
.top__in{flex-wrap:wrap;gap:10px 12px}
.brand{order:1}
.top__in>.btn{order:2;margin-left:auto;padding:9px 16px;font-size:14px}
.top__in>.btn.btn-primary{padding:9px 16px}
.nav{
order:3;
flex:1 0 100%;
margin-left:0;
justify-content:center;
gap:0 2px;
}
.nav a{padding:7px 11px;font-size:14px}
.brand__txt .sub{display:none}
.hero__in{padding:36px 18px 40px}
.shot--hero img{max-width:270px;height:auto}
.lead{font-size:15.6px}
.stats__in{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 18px}
.stat{border-top:1px dashed rgba(255,255,255,.18);padding-top:14px}
.stat:nth-child(-n+2){border-top:0;padding-top:8px}
.stat b{font-size:22px}
.cards{grid-template-columns:minmax(0,1fr)}
.shots{grid-template-columns:minmax(0,1fr)}
.quotes{grid-template-columns:minmax(0,1fr)}
.sec-head h2{font-size:22px}
.section__in{padding:40px 18px}
.split__txt h2{font-size:21px}
.split .shot img{max-width:260px;height:auto}
.cta{padding:0 18px 48px}
.cta__box{padding:30px 20px;border-radius:16px}
.page-hero__in{padding:36px 18px 30px}
.prose__in{padding:10px 18px 54px}
.prose h2{margin-top:34px;padding-left:12px}
.prose .cards{grid-template-columns:minmax(0,1fr)}
.prose .shot{max-width:300px}
.prose .shot img{max-width:min(280px,100%);height:auto}
.steps li{padding-left:50px}
.steps li::before{width:34px;height:34px;line-height:32px;font-size:13px}
.foot{padding:34px 18px 30px}
}
