:root {
  color-scheme: light;
  font: 100%/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  color: #14213d;
  background: #f7f9fc;
  font-synthesis: none;
  --ink: #14213d;
  --muted: #65718a;
  --blue: #2169f5;
  --blue-deep: #0d50d7;
  --line: rgba(32, 57, 101, 0.11);
  --shadow: 0 28px 70px rgba(27, 58, 112, 0.13);
  --radius: 28px;
}

* { box-sizing: border-box; }
html { overflow-x:clip; scroll-behavior:smooth; scroll-padding-top:6.5rem; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: clip;
  background: radial-gradient(circle at 76% 5%, rgba(123,181,255,.22), transparent 28rem), linear-gradient(180deg,#f8fbff 0,#f7f9fc 38rem,#fff 100%);
}
img, svg { max-width:100%; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
.skip-link { position: fixed; z-index: 100; top: .75rem; left: .75rem; padding: .7rem 1rem; border-radius: .75rem; color:#fff; background:var(--blue-deep); transform:translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.page-glow { position:absolute; z-index:-1; border-radius:999px; pointer-events:none; }
.page-glow--one { top:7rem; right:-8rem; width:23rem; height:23rem; background:rgba(49,126,255,.09); }
.page-glow--two { top:34rem; left:-9rem; width:20rem; height:20rem; background:rgba(74,194,255,.08); }

.site-header { position:sticky; z-index:20; top:0; padding:1rem clamp(1rem,4vw,3rem) 0; }
.header-inner { display:flex; align-items:center; justify-content:space-between; max-width:72rem; margin:0 auto; padding:.72rem .8rem .72rem .9rem; border:1px solid rgba(255,255,255,.75); border-radius:1.2rem; background:rgba(255,255,255,.72); box-shadow:0 10px 30px rgba(40,70,120,.07); backdrop-filter:blur(22px) saturate(160%); }
.brand { display:inline-flex; align-items:center; gap:.65rem; color:var(--ink); font-size:.98rem; font-weight:760; text-decoration:none; }
.brand-mark { display:grid; width:2.15rem; height:2.15rem; place-items:center; border-radius:.75rem; color:#fff; background:linear-gradient(145deg,#4f91ff,#1457e3); box-shadow:0 7px 16px rgba(33,105,245,.25); }
.brand-mark svg { width:1.35rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.header-contact { padding:.58rem .9rem; border-radius:.8rem; color:var(--blue-deep); font-size:.88rem; font-weight:700; text-decoration:none; background:rgba(33,105,245,.08); }

main, .site-footer { width:min(72rem,calc(100% - 2rem)); margin-inline:auto; }
.hero { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(20rem,.72fr); gap:clamp(2rem,7vw,6.5rem); align-items:center; min-height:42rem; padding:6.7rem 1rem 5.5rem; }
.eyebrow { display:flex; align-items:center; gap:.55rem; margin:0 0 1.15rem; color:var(--blue-deep); font-size:.78rem; font-weight:780; letter-spacing:.09em; text-transform:uppercase; }
.eyebrow span { display:inline-block; width:1.55rem; height:2px; border-radius:99px; background:currentColor; }
h1,h2,h3,p { text-wrap:pretty; }
h1 { max-width:12ch; margin:0; color:#101c35; font-size:clamp(3rem,6.5vw,5.65rem); font-weight:790; line-height:1.02; letter-spacing:-.055em; }
h1 em { color:var(--blue); font-style:normal; }
.hero-description { max-width:36rem; margin:1.75rem 0 0; color:var(--muted); font-size:clamp(1rem,1.5vw,1.14rem); line-height:1.8; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2.15rem; }
.button { display:inline-flex; min-height:3.15rem; align-items:center; justify-content:center; gap:.58rem; padding:.82rem 1.15rem; border:0; border-radius:1rem; font:inherit; font-size:.92rem; font-weight:740; line-height:1.2; text-align:center; text-decoration:none; cursor:pointer; transition:transform 160ms ease,box-shadow 160ms ease,background-color 160ms ease; }
.button:active { transform:scale(.97); transition-duration:80ms; }
.button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid rgba(33,105,245,.28); outline-offset:3px; }
.button svg { width:1.25rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.button--primary { color:#fff; background:linear-gradient(135deg,#337cff,#0d50d7); box-shadow:0 12px 26px rgba(33,105,245,.27); }
.button--primary:hover { box-shadow:0 15px 30px rgba(33,105,245,.33); transform:translateY(-1px); }
.button--secondary { color:#243557; background:rgba(255,255,255,.88); box-shadow:inset 0 0 0 1px var(--line),0 8px 25px rgba(40,70,120,.05); }
.download-hint { margin:.8rem 0 0 .2rem; color:#7a859a; font-size:.79rem; }

.download-card { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.9); border-radius:var(--radius); background:rgba(255,255,255,.8); box-shadow:var(--shadow); backdrop-filter:blur(24px) saturate(150%); }
.download-card::before { position:absolute; inset:0 0 auto; height:9rem; background:linear-gradient(135deg,rgba(44,119,250,.13),rgba(74,194,255,.05)); content:""; pointer-events:none; }
.download-card__top,.download-card__body,.download-card__footer { position:relative; }
.download-card__top { display:flex; align-items:center; justify-content:space-between; padding:1.5rem 1.5rem 0; }
.windows-icon { display:grid; width:3.5rem; height:3.5rem; place-items:center; border-radius:1.15rem; color:#fff; background:linear-gradient(145deg,#3881ff,#0e55df); box-shadow:0 12px 24px rgba(33,105,245,.24); }
.windows-icon svg { width:1.8rem; fill:currentColor; }
.status-pill { display:inline-flex; align-items:center; gap:.4rem; padding:.45rem .72rem; border-radius:99px; color:#167344; font-size:.75rem; font-weight:750; background:rgba(32,173,103,.1); }
.status-pill i { width:.43rem; height:.43rem; border-radius:50%; background:#20ad67; box-shadow:0 0 0 4px rgba(32,173,103,.1); }
.download-card__body { padding:1.8rem 1.5rem 1.45rem; }
.card-label { margin:0; color:var(--muted); font-size:.8rem; font-weight:650; }
.download-card h2 { margin:.35rem 0 1.8rem; font-size:clamp(1.55rem,3vw,2.05rem); letter-spacing:-.035em; }
.file-meta { display:grid; grid-template-columns:repeat(3,1fr); margin:0; padding-top:1.2rem; border-top:1px solid var(--line); }
.file-meta div { display:grid; gap:.32rem; }
.file-meta dt { color:#8490a4; font-size:.69rem; }
.file-meta dd { margin:0; color:#263653; font-size:.84rem; font-weight:720; }
.download-card__footer { display:flex; gap:.7rem; align-items:center; padding:1rem 1.5rem; color:#536078; font-size:.76rem; line-height:1.45; background:rgba(244,248,255,.76); }
.download-card__footer svg { flex:0 0 1.3rem; width:1.3rem; fill:none; stroke:var(--blue); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.section { margin-bottom:7rem; }
.section-heading { max-width:40rem; margin-bottom:2.2rem; }
.section h2 { margin:0; color:#13203a; font-size:clamp(2rem,4vw,3.25rem); line-height:1.1; letter-spacing:-.04em; }
.section-heading>p:last-child,.service-copy>p:last-child { margin:1rem 0 0; color:var(--muted); line-height:1.8; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.85rem; margin:0; padding:0; list-style:none; }
.process-grid li { min-height:14.5rem; padding:1.4rem; border:1px solid var(--line); border-radius:1.5rem; background:rgba(255,255,255,.82); box-shadow:0 12px 34px rgba(33,58,100,.055); }
.step-number { display:inline-grid; width:2.55rem; height:2.55rem; place-items:center; border-radius:.85rem; color:var(--blue-deep); font-size:.72rem; font-weight:800; background:rgba(33,105,245,.085); }
.process-grid h3 { margin:2.25rem 0 .65rem; font-size:1.06rem; }
.process-grid p { margin:0; color:var(--muted); font-size:.86rem; line-height:1.7; }

.service-section { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,7vw,6rem); align-items:center; padding:clamp(2rem,5vw,4.4rem); border-radius:var(--radius); background:#101e38; box-shadow:0 30px 70px rgba(12,31,63,.2); }
.service-section h2,.service-section .eyebrow { color:#fff; }
.service-section .service-copy>p:last-child { color:#aebbd1; }
.service-list { display:grid; grid-template-columns:repeat(2,1fr); gap:.8rem; margin:0; padding:0; list-style:none; }
.service-list li { display:flex; min-height:5rem; align-items:center; gap:.75rem; padding:1rem; border:1px solid rgba(255,255,255,.09); border-radius:1rem; color:#eaf0fa; font-size:.88rem; background:rgba(255,255,255,.055); }
.service-list span { display:grid; flex:0 0 1.6rem; width:1.6rem; height:1.6rem; place-items:center; border-radius:50%; color:#84b0ff; background:rgba(70,137,255,.14); }

.safety-section { display:grid; grid-template-columns:auto 1fr; gap:1.65rem; align-items:start; max-width:58rem; margin-inline:auto; padding:2.2rem; border:1px solid rgba(33,105,245,.12); border-radius:var(--radius); background:rgba(239,246,255,.78); }
.safety-icon { display:grid; width:4.2rem; height:4.2rem; place-items:center; border-radius:1.35rem; color:var(--blue); background:#fff; box-shadow:0 13px 30px rgba(33,105,245,.12); }
.safety-icon svg { width:2.25rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.safety-section h2 { font-size:clamp(1.65rem,3vw,2.45rem); }
.safety-section p:not(.eyebrow) { margin:1rem 0; color:#5c6980; line-height:1.8; }
details { margin-top:1.25rem; }
summary { width:fit-content; color:var(--blue-deep); font-size:.82rem; font-weight:720; cursor:pointer; }
details code { display:block; overflow-wrap:anywhere; margin-top:.8rem; padding:.85rem 1rem; border-radius:.85rem; color:#34425d; font-size:.72rem; line-height:1.7; background:rgba(255,255,255,.86); }

.contact-section { display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; padding:clamp(2rem,5vw,4.25rem); border-radius:var(--radius); color:#fff; background:radial-gradient(circle at 86% -25%,rgba(103,169,255,.62),transparent 19rem),linear-gradient(135deg,#195fd8,#0d48bd); box-shadow:0 30px 70px rgba(19,78,178,.25); }
.eyebrow--light { color:#cfe0ff; }
.contact-section h2 { max-width:15ch; color:#fff; }
.contact-section p:not(.eyebrow) { margin:1rem 0 0; color:#d9e7ff; }
.contact-actions { display:grid; grid-template-columns:repeat(2,minmax(8.6rem,1fr)); gap:.65rem; width:min(100%,19.5rem); }
.qq-number { grid-column:1/-1; display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:1rem 1.1rem; border:1px solid rgba(255,255,255,.14); border-radius:1rem; background:rgba(255,255,255,.09); }
.qq-number small { color:#cfe0ff; font-size:.74rem; }
.qq-number strong { font-size:1.16rem; letter-spacing:.025em; }
.button--light { color:#1557ce; background:#fff; }
.button--outline-light { color:#fff; box-shadow:inset 0 0 0 1px rgba(255,255,255,.33); background:rgba(255,255,255,.06); }

.site-footer { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:0 0 2.5rem; color:#7a8598; font-size:.76rem; }
.site-footer>div:first-child { display:grid; gap:.2rem; }
.site-footer strong { color:#33425d; font-size:.84rem; }
.footer-links { display:flex; flex-wrap:wrap; gap:.8rem 1.25rem; justify-content:flex-end; }
.footer-links a { text-decoration:none; }
.footer-links a:hover { color:var(--blue-deep); text-decoration:underline; }
.error-page { display:grid; min-height:100vh; align-content:center; justify-items:start; width:min(42rem,calc(100% - 2rem)); margin-inline:auto; padding-block:4rem; }
.error-page h1 { max-width:none; margin-bottom:.5rem; }
.error-page .button { margin-top:1.5rem; }

@media (max-width:850px) {
  .hero { grid-template-columns:1fr; min-height:auto; padding-top:5.4rem; }
  .download-card { width:min(100%,31rem); }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .service-section,.contact-section { grid-template-columns:1fr; }
  .contact-actions { margin-top:.5rem; }
}
@media (max-width:560px) {
  :root { --radius:22px; }
  .site-header { padding-inline:.65rem; }
  .header-inner { border-radius:1rem; }
  main,.site-footer { width:min(72rem,calc(100% - 1.25rem)); }
  .hero { gap:3.5rem; padding:4.4rem 0 4.8rem; }
  h1 { max-width:100%; font-size:clamp(2.4rem,12vw,3.35rem); letter-spacing:-.045em; }
  .header-contact { padding:.55rem .7rem; font-size:.8rem; }
  .brand { font-size:.9rem; }
  .hero-actions,.hero-actions .button { width:100%; }
  .file-meta { gap:.45rem; }
  .file-meta dd { font-size:.78rem; }
  .process-grid,.service-list { grid-template-columns:1fr; }
  .process-grid li { min-height:12rem; }
  .section { margin-bottom:5rem; }
  .service-section { padding:2rem 1.3rem; }
  .safety-section { grid-template-columns:1fr; padding:1.4rem; }
  .contact-section { padding:2rem 1.4rem; }
  .contact-actions { width:100%; }
  .site-footer { align-items:flex-start; flex-direction:column; }
  .footer-links { justify-content:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; }
}
@media (prefers-reduced-transparency:reduce) {
  .header-inner,.download-card { background:#fff; backdrop-filter:none; }
}
@media (prefers-contrast:more) {
  .header-inner,.download-card,.process-grid li,.safety-section { border:2px solid #44526b; background:#fff; }
}
