:root{
  --bg:#F0F3F1;
  --panel:#FFFFFF;
  --tint:#E5EDEA;
  --dark:#123F3C;
  --dark2:#0B2C2A;
  --acc:#D9744B;
  --acc-d:#C1623A;
  --ink:#16211F;
  --ink2:#4A5A54;
  --line:#DBE4E0;
  --radius:14px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  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.75;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--dark);text-decoration:none;}
p{margin:0;}
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.3;}
figure,figcaption,blockquote,dl,dd{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
table{border-collapse:collapse;width:100%;}

@keyframes sweep{
  from{opacity:0;clip-path:inset(0 0 0 62%);}
  to{opacity:1;clip-path:inset(0 0 0 0);}
}
.sweep{animation:sweep .6s cubic-bezier(.22,.72,.26,1) both;}
.sweep.d1{animation-delay:.08s;}
.sweep.d2{animation-delay:.16s;}
.sweep.d3{animation-delay:.24s;}
@media (prefers-reduced-motion:reduce){
  .sweep{animation:none;opacity:1;clip-path:none;}
  html{scroll-behavior:auto;}
}

.top{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(240,243,241,.94);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .2s ease;
}
.top.is-scrolled{box-shadow:0 10px 26px -22px rgba(11,44,42,.7);}
.top__in{
  max-width:1120px;
  margin:0 auto;
  padding:12px 22px;
  display:flex;
  align-items:center;
  gap:18px;
}
.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.brand img{width:36px;height:36px;border-radius:9px;}
.brand b{display:block;font-size:16px;letter-spacing:.02em;color:var(--ink);line-height:1.25;}
.brand span{display:block;font-size:11px;color:#7A8A84;letter-spacing:.08em;line-height:1.3;}
.top__dl{margin-left:2px;}

.nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.nav a{
  display:inline-block;
  padding:7px 12px;
  font-size:14.5px;
  color:var(--ink2);
  border-bottom:2px solid transparent;
  border-radius:6px;
}
.nav a:hover{color:var(--dark);background:var(--tint);}
.nav a[aria-current="page"]{
  color:var(--dark);
  font-weight:700;
  border-bottom-color:var(--acc);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 22px;
  border-radius:8px;
  border:1px solid transparent;
  font-size:15px;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
  text-decoration:none;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.btn.btn-primary{background:var(--acc);color:#FFFFFF;border-color:var(--acc);display:inline-flex;}
.btn.btn-primary:hover{background:var(--acc-d);color:#FFFFFF;border-color:var(--acc-d);transform:translateY(-1px);display:inline-flex;}
.btn.btn-ghost{background:transparent;color:#E8F1EE;border-color:rgba(232,241,238,.5);display:inline-flex;}
.btn.btn-ghost:hover{background:rgba(232,241,238,.12);color:#FFFFFF;border-color:#FFFFFF;display:inline-flex;padding:12px 22px;white-space:nowrap;}
.btn.btn-line{background:#FFFFFF;color:var(--dark);border-color:var(--line);display:inline-flex;}
.btn.btn-line:hover{background:var(--tint);color:var(--dark);border-color:#BECFC9;display:inline-flex;}
.btn.btn-sm{padding:9px 16px;font-size:13.5px;}

.hero{
  position:relative;
  overflow:hidden;
  background:var(--dark);
  padding:62px 0 108px;
  color:#EDF5F2;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(680px 320px at 88% -10%,rgba(217,116,75,.26),transparent 70%),
    radial-gradient(520px 260px at 6% 108%,rgba(217,116,75,.12),transparent 72%);
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  background:var(--acc);
}
.hero__in{
  position:relative;
  z-index:1;
  max-width:1120px;
  margin:0 auto;
  padding:0 22px;
  display:grid;
  grid-template-columns:1fr 336px;
  gap:54px;
  align-items:center;
}
.kicker{
  display:inline-block;
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#A8C4BE;
  border-left:2px solid var(--acc);
  padding-left:10px;
  margin-bottom:18px;
}
.hero h1{
  font-size:43px;
  line-height:1.18;
  letter-spacing:-.6px;
  color:#FFFFFF;
  font-weight:700;
}
.lead{
  margin-top:20px;
  font-size:16.5px;
  line-height:1.85;
  color:#C6D8D3;
  max-width:590px;
}
.hero__act{
  margin-top:30px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.cta-note{
  margin-top:16px;
  font-size:13px;
  color:#9FB9B3;
  letter-spacing:.01em;
}
.hero__shot{
  justify-self:center;
}
.hero__shot img{
  width:100%;
  height:auto;
  max-width:300px;
  margin:0 auto;
  border-radius:16px;
  box-shadow:0 0 0 1px rgba(255,255,255,.2),0 30px 54px -26px rgba(0,0,0,.72);
}
.hero__shot figcaption{
  margin-top:14px;
  font-size:12.5px;
  color:#95B0AA;
  text-align:center;
  line-height:1.6;
}

.facts{
  position:relative;
  z-index:2;
  max-width:1120px;
  margin:-70px auto 0;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:16px;
  padding:26px 30px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  box-shadow:0 22px 46px -34px rgba(11,44,42,.6);
}
.facts div{border-left:2px solid var(--tint);padding-left:16px;}
.facts div:first-child{border-left:2px solid var(--acc);}
.facts b{display:block;font-size:22px;line-height:1.3;color:var(--dark);letter-spacing:-.3px;}
.facts span{display:block;font-size:13px;color:#7B8B85;margin-top:4px;}

.sec{padding:76px 0;}
.sec--tint{background:var(--tint);}
.sec__in{
  max-width:1120px;
  margin:0 auto;
  padding:0 22px;
}
.head{
  border-top:2px solid var(--dark);
  padding-top:16px;
  margin-bottom:32px;
  display:flex;
  align-items:baseline;
  gap:14px;
  flex-wrap:wrap;
}
.head__n{
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  color:var(--acc);
}
.head h2{
  font-size:27px;
  letter-spacing:-.3px;
  color:var(--ink);
}
.sub{
  margin-top:8px;
  font-size:15px;
  color:var(--ink2);
  max-width:760px;
}

.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

.card{
  background:var(--panel);
  border:1px solid var(--line);
  border-left:3px solid var(--dark);
  border-radius:var(--radius);
  padding:24px 24px 22px;
  transition:border-left-color .2s ease,transform .2s ease;
}
.card:hover{border-left-color:var(--acc);transform:translateY(-2px);}
.card h3{font-size:17.5px;margin-bottom:10px;color:var(--ink);}
.card p{font-size:14.8px;color:var(--ink2);line-height:1.8;}
.card ul{margin-top:12px;display:grid;gap:7px;}
.card li{
  position:relative;
  padding-left:16px;
  font-size:14px;
  color:#5B6B65;
  line-height:1.7;
}
.card li::before{
  content:"";
  position:absolute;
  left:0;top:9px;
  width:6px;height:6px;
  background:var(--acc);
  border-radius:1px;
}

.shots{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.shots figure{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.shots img{width:100%;height:auto;display:block;}
.shots figcaption{
  padding:11px 13px 13px;
  font-size:12.8px;
  line-height:1.65;
  color:#6C7C76;
}

.steps{display:grid;gap:0;}
.step{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:18px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.step:last-child{border-bottom:0;}
.step__n{
  font-size:13px;
  font-weight:700;
  color:var(--acc);
  letter-spacing:.1em;
  padding-top:3px;
}
.step h3{font-size:17px;margin-bottom:6px;}
.step p{font-size:14.8px;color:var(--ink2);line-height:1.8;}

.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.quote{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px 24px;
}
.quote p{font-size:15px;color:#374740;line-height:1.85;}
.quote footer{
  margin-top:14px;
  font-size:13px;
  color:#7E8E88;
  display:flex;
  align-items:center;
  gap:10px;
}
.quote footer b{color:var(--dark);font-size:13.5px;}
.score{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:12.5px;
  color:#8A6A22;
  background:#FBF1DD;
  border-radius:4px;
  padding:2px 7px;
  letter-spacing:.02em;
}

.qa{display:grid;gap:12px;}
.qa details{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:10px;
  padding:0 20px;
}
.qa summary{
  cursor:pointer;
  list-style:none;
  padding:16px 0;
  font-size:15.5px;
  font-weight:600;
  color:var(--ink);
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
}
.qa summary::-webkit-details-marker{display:none;}
.qa summary::after{
  content:"+";
  color:var(--acc);
  font-size:19px;
  font-weight:700;
  line-height:1;
}
.qa details[open] summary::after{content:"\2013";}
.qa details p{
  padding:0 0 18px;
  font-size:14.8px;
  color:var(--ink2);
  line-height:1.85;
  border-top:1px dashed var(--line);
  padding-top:14px;
}

.cta{
  background:var(--dark);
  color:#E4EFEC;
  padding:64px 0;
}
.cta__in{
  max-width:1120px;
  margin:0 auto;
  padding:0 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  flex-wrap:wrap;
}
.cta h2{font-size:26px;color:#FFFFFF;letter-spacing:-.3px;}
.cta p{margin-top:10px;font-size:14.8px;color:#AEC6C0;max-width:560px;}

.prose{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:16px;
  padding:34px 36px;
}
.sub + .prose{margin-top:24px;}
.prose h2{font-size:22px;margin:30px 0 12px;color:var(--ink);}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:17px;margin:24px 0 10px;color:var(--dark);}
.prose p{font-size:15.2px;color:#3B4B44;line-height:1.9;margin-bottom:14px;}
.prose ul{margin:0 0 16px;display:grid;gap:8px;}
.prose li{
  position:relative;
  padding-left:18px;
  font-size:15px;
  color:#3B4B44;
  line-height:1.85;
}
.prose li::before{
  content:"";
  position:absolute;
  left:0;top:10px;
  width:6px;height:6px;
  background:var(--acc);
  border-radius:1px;
}
.prose blockquote{
  border-left:3px solid var(--acc);
  background:#FAF6F2;
  padding:14px 20px;
  margin:18px 0;
  font-size:15px;
  color:#5A4638;
  line-height:1.85;
  border-radius:0 8px 8px 0;
}
.prose table{margin:16px 0 20px;font-size:14.5px;}
.prose th,.prose td{
  border-bottom:1px solid var(--line);
  padding:10px 12px;
  text-align:left;
  color:#3B4B44;
}
.prose th{color:var(--dark);font-weight:700;background:#F6F9F8;}

.page-hero{
  background:var(--dark);
  color:#E8F2EF;
  padding:52px 0 56px;
}
.page-hero__in{max-width:1120px;margin:0 auto;padding:0 22px;}
.page-hero h1{font-size:36px;color:#FFFFFF;letter-spacing:-.4px;line-height:1.22;}
.page-hero .lead{color:#C0D4CF;margin-top:16px;font-size:16px;}
.crumb{
  font-size:13px;
  color:#9CB8B2;
  margin-bottom:16px;
}
.crumb a{color:#C8DCD6;}
.crumb a:hover{color:#FFFFFF;}

.wide-fig{
  max-width:344px;
  margin:34px auto 0;
  padding:20px 20px 16px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--radius);
  text-align:center;
}
.wide-fig img{
  width:auto;
  max-width:min(400px,100%);
  height:auto;
  margin:0 auto;
  border-radius:14px;
  border:1px solid var(--line);
}
.wide-fig figcaption{
  margin-top:12px;
  font-size:13px;
  color:#6C7C76;
  text-align:center;
}

.foot{
  background:var(--dark2);
  color:#9FB6B0;
  padding:48px 0 32px;
  font-size:14px;
}
.foot__in{
  max-width:1120px;
  margin:0 auto;
  padding:0 22px;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:32px;
}
.foot h4{font-size:14px;color:#E4EFEC;letter-spacing:.06em;margin-bottom:12px;}
.foot p{line-height:1.85;color:#9FB6B0;}
.foot ul{display:grid;gap:8px;}
.foot a{color:#C4D8D2;}
.foot a:hover{color:#FFFFFF;}
.foot__brand{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.foot__brand img{width:30px;height:30px;border-radius:8px;}
.foot__brand b{color:#FFFFFF;font-size:15px;}
.disclaim{
  max-width:1120px;
  margin:34px auto 0;
  padding:18px 22px 0;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:12.8px;
  line-height:1.8;
  color:#8CA49E;
}

@media (max-width:980px){
  .hero{padding:48px 0 96px;}
  .hero__in{grid-template-columns:1fr;gap:38px;}
  .hero__shot img{max-width:262px;}
  .hero h1{font-size:36px;}
  .facts{grid-template-columns:repeat(2,1fr);padding:22px 24px;}
  .sec{padding:58px 0;}
  .head h2{font-size:24px;}
  .grid3{grid-template-columns:repeat(2,1fr);}
  .shots{grid-template-columns:repeat(2,1fr);}
  .quotes{grid-template-columns:1fr;}
  .foot__in{grid-template-columns:1fr 1fr;}
  .page-hero h1{font-size:30px;}
  .prose{padding:26px 24px;}
}

@media (max-width:620px){
  .top__in{flex-wrap:wrap;gap:10px;padding:10px 16px;}
  .brand{order:1;}
  .top__dl{order:2;margin-left:auto;padding:9px 15px;font-size:13.5px;}
  .nav{order:3;flex:1 0 100%;justify-content:center;flex-wrap:wrap;gap:2px;}
  .nav a{padding:6px 9px;font-size:14px;}
  .hero{padding:36px 0 92px;}
  .hero h1{font-size:29px;letter-spacing:-.3px;}
  .lead{font-size:15.4px;}
  .hero__shot img{max-width:228px;}
  .facts{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:-64px;padding:20px 18px;}
  .facts b{font-size:19px;}
  .facts span{font-size:12px;}
  .sec{padding:44px 0;}
  .sec__in,.hero__in,.facts,.cta__in,.page-hero__in,.foot__in,.disclaim{padding-left:16px;padding-right:16px;}
  .head{gap:10px;margin-bottom:24px;}
  .head h2{font-size:21px;}
  .grid2,.grid3,.shots{grid-template-columns:1fr;}
  .card{padding:20px;}
  .step{grid-template-columns:40px 1fr;gap:12px;}
  .prose{padding:22px 18px;border-radius:12px;}
  .cta__in{display:block;}
  .cta .btn{margin-top:18px;}
  .foot__in{grid-template-columns:1fr;}
  .qa summary{font-size:15px;}
  .page-hero{padding:36px 0 40px;}
}
