*{box-sizing:border-box}
:root{
  --ink:#101828;
  --muted:#667085;
  --line:#d8e0ea;
  --surface:#fff;
  --wash:#f5f8fc;
  --blue:#2563eb;
  --cyan:#06b6d4;
  --green:#0f766e;
  --amber:#f59e0b;
  --violet:#635bff;
  --shadow:0 24px 60px rgba(16,24,40,.1);
}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--ink);
  background:#fff;
  letter-spacing:0;
  overflow-x:hidden;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(37,99,235,.055) 1px,transparent 1px),
    linear-gradient(0deg,rgba(15,118,110,.045) 1px,transparent 1px),
    #f8fbff;
  background-size:64px 64px;
}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid rgba(37,99,235,.3);outline-offset:4px}
.site-header{
  width:min(1180px,92%);
  min-height:66px;
  margin:16px auto 0;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  position:sticky;
  top:14px;
  z-index:50;
  border:1px solid rgba(216,224,234,.92);
  border-radius:8px;
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 44px rgba(16,24,40,.08);
  backdrop-filter:blur(18px);
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:18px;
  font-weight:950;
  white-space:nowrap;
}
.brand img{
  width:40px;
  height:40px;
  display:block;
  border-radius:8px;
  box-shadow:0 10px 24px rgba(37,99,235,.18);
}
.site-header nav{
  display:flex;
  align-items:center;
  gap:26px;
  color:#536174;
  font-size:14px;
  font-weight:850;
}
.site-header nav a{transition:color .2s ease}
.site-header nav a:hover{color:var(--blue)}
.header-cta{
  min-height:42px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:#101828;
  color:#fff;
  font-size:14px;
  font-weight:950;
  white-space:nowrap;
  box-shadow:0 12px 26px rgba(16,24,40,.18);
}
.hero{
  width:100%;
  min-height:calc(100svh - 142px);
  padding:58px 0 42px;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(115deg,rgba(255,255,255,.92) 0 46%,rgba(237,246,255,.86) 46% 72%,rgba(237,253,247,.92) 72% 100%),
    repeating-linear-gradient(135deg,rgba(37,99,235,.1) 0 1px,transparent 1px 18px);
}
.hero:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:var(--line);
}
.hero-inner{
  width:min(1180px,92%);
  margin:0 auto;
  position:relative;
  display:grid;
  gap:34px;
}
.hero-mark{
  position:absolute;
  right:3%;
  top:0;
  width:220px;
  height:220px;
  object-fit:contain;
  border-radius:32px;
  box-shadow:0 34px 82px rgba(37,99,235,.18);
  transform:rotate(4deg);
}
.hero-copy{
  width:min(760px,100%);
  padding-top:36px;
  position:relative;
  z-index:2;
}
.eyebrow{
  width:max-content;
  max-width:100%;
  min-height:36px;
  margin:0 0 18px;
  padding:0 13px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(15,118,110,.18);
  border-radius:8px;
  background:rgba(255,255,255,.76);
  color:var(--green);
  font-size:14px;
  font-weight:950;
  box-shadow:0 10px 24px rgba(16,24,40,.06);
}
.eyebrow span{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 6px rgba(34,197,94,.15);
}
h1,h2,h3,p{letter-spacing:0}
h1{
  margin:0;
  font-size:82px;
  line-height:1;
  color:#0b1220;
}
.hero-text{
  max-width:690px;
  margin:24px 0 0;
  color:var(--muted);
  font-size:19px;
  line-height:1.8;
}
.hero-actions{
  margin-top:34px;
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.btn{
  min-height:52px;
  padding:0 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  color:#fff;
  font-weight:950;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.btn:hover{transform:translateY(-2px);filter:saturate(1.05)}
.btn.primary{
  background:linear-gradient(135deg,var(--green),var(--cyan));
  box-shadow:0 18px 36px rgba(6,182,212,.24);
}
.btn.primary:hover{box-shadow:0 24px 44px rgba(6,182,212,.28)}
.btn.dark{
  background:linear-gradient(135deg,#101828,#344054);
  box-shadow:0 18px 36px rgba(16,24,40,.2);
}
.btn.dark:hover{box-shadow:0 24px 44px rgba(16,24,40,.25)}
section{
  width:min(1180px,92%);
  margin:0 auto;
}
.downloads,.steps,.features,.faq{padding:76px 0}
.section-heading,.feature-copy{
  max-width:640px;
  margin-bottom:28px;
}
.section-heading p,.feature-copy p{
  margin:0 0 10px;
  color:var(--green);
  font-size:14px;
  font-weight:950;
}
.section-heading h2,.feature-copy h2{
  margin:0;
  color:#0b1220;
  font-size:42px;
  line-height:1.16;
}
.download-grid{
  display:grid;
  grid-template-columns:minmax(0,720px);
  justify-content:center;
  gap:18px;
}
.package-card{
  min-height:380px;
  padding:28px;
  display:grid;
  align-content:start;
  gap:22px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  box-shadow:var(--shadow);
  position:relative;
  overflow:hidden;
}
.package-card:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:6px;
  background:linear-gradient(90deg,var(--green),var(--cyan));
}
.package-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#eef9f7;
}
.package-icon img{
  width:46px;
  height:46px;
  display:block;
  border-radius:10px;
}
.package-type{
  margin:0 0 8px;
  color:var(--green);
  font-size:13px;
  font-weight:950;
}
.package-card h3{
  margin:0;
  font-size:30px;
  line-height:1.15;
}
.package-card span{
  display:block;
  margin-top:10px;
  color:var(--muted);
  line-height:1.65;
}
dl{
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
dl div{
  padding:14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--wash);
}
dt{
  margin:0 0 5px;
  color:var(--muted);
  font-size:13px;
  font-weight:850;
}
dd{
  margin:0;
  color:#111827;
  font-size:18px;
  font-weight:950;
}
.package-card .btn{
  width:max-content;
  min-width:154px;
  margin-top:auto;
}
.steps{
  width:100%;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#f5f8fc;
}
.steps .section-heading,.step-list{
  width:min(1180px,92%);
  margin-left:auto;
  margin-right:auto;
}
.step-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.step-list article{
  min-height:196px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
}
.step-list span{
  display:inline-grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:8px;
  background:#e9f8ff;
  color:var(--blue);
  font-weight:950;
}
.step-list article:nth-child(2) span{background:#eafaf6;color:var(--green)}
.step-list article:nth-child(3) span{background:#fff4da;color:#8a5400}
.step-list h3{
  margin:22px 0 10px;
  font-size:21px;
}
.step-list p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}
.features{
  display:grid;
  grid-template-columns:350px 1fr;
  gap:38px;
  align-items:start;
}
.feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.feature-grid article{
  min-height:214px;
  padding:24px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 34px rgba(16,24,40,.06);
}
.feature-grid span{
  display:inline-flex;
  min-height:32px;
  padding:0 10px;
  align-items:center;
  border-radius:8px;
  background:#eef9f7;
  color:var(--green);
  font-size:13px;
  font-weight:950;
}
.feature-grid article:nth-child(2) span{background:#eef4ff;color:var(--blue)}
.feature-grid article:nth-child(3) span{background:#fff4da;color:#8a5400}
.feature-grid article:nth-child(4) span{background:#f1efff;color:var(--violet)}
.feature-grid h3{
  margin:18px 0 10px;
  font-size:22px;
}
.feature-grid p{
  margin:0;
  color:var(--muted);
  line-height:1.72;
}
.faq{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:34px;
  align-items:start;
  padding-top:42px;
}
.faq-list{
  display:grid;
  gap:12px;
}
.faq details{
  padding:20px 22px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 30px rgba(16,24,40,.05);
}
.faq summary{
  cursor:pointer;
  color:#111827;
  font-size:18px;
  font-weight:950;
}
.faq p{
  margin:12px 0 0;
  color:var(--muted);
  line-height:1.72;
}
footer{
  padding:36px 16px 44px;
  color:var(--muted);
  text-align:center;
}
@media(max-width:980px){
  .site-header nav{display:none}
  .hero{min-height:auto;padding:48px 0 38px}
  .hero-mark{right:0;top:12px;width:156px;height:156px;opacity:.55}
  h1{font-size:64px}
  .download-grid,.features,.faq{grid-template-columns:1fr}
  .feature-copy{margin-bottom:0}
  .step-list{grid-template-columns:1fr}
}
@media(max-width:640px){
  .site-header{
    width:94%;
    min-height:60px;
    top:10px;
    gap:10px;
  }
  .brand span{font-size:16px}
  .brand img{width:36px;height:36px}
  .header-cta{min-height:38px;padding:0 12px;font-size:13px}
  .hero{padding:36px 0 30px}
  .hero-copy{padding-top:22px}
  .hero-mark{
    width:104px;
    height:104px;
    border-radius:22px;
  }
  .eyebrow{
    min-height:auto;
    padding:8px 10px;
    font-size:13px;
  }
  h1{font-size:46px}
  .hero-text{font-size:16px;line-height:1.72}
  .hero-actions{gap:10px}
  .btn{width:100%;min-height:50px}
  .downloads,.steps,.features,.faq{padding:52px 0}
  .section-heading h2,.feature-copy h2{font-size:32px}
  .download-grid,.feature-grid,dl{grid-template-columns:1fr}
  .package-card{min-height:auto;padding:22px}
  .package-card .btn{width:100%}
  .faq{gap:18px}
}
