:root {
  --primary: #2563eb;
  --primary-dark: #1d4ed8;
  --primary-soft: #dbeafe;
  --navy: #0b1735;
  --navy-2: #132f66;
  --text: #172033;
  --muted: #667085;
  --soft: #f4f7fb;
  --border: #e5eaf1;
  --white: #fff;
  --radius-sm: .75rem;
  --radius: 1.125rem;
  --radius-lg: 1.5rem;
  --shadow-sm: 0 .5rem 1.75rem rgba(16, 24, 40, .07);
  --shadow: 0 1.25rem 4rem rgba(16, 24, 40, .13);
  --content-max: 88rem;
  --reading-max: 52rem;
  --gutter: clamp(1rem, 3.3vw, 3.5rem);
  --section-space: clamp(3.75rem, 7vw, 6.5rem);
  --header-height: clamp(4.25rem, 5.2vw, 4.875rem);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
html, body { max-width: 100%; overflow-x: clip; }
@supports not (overflow: clip) { html, body { overflow-x: hidden; } }
body {
  margin: 0;
  min-width: 20rem;
  color: var(--text);
  background: var(--white);
  overflow-wrap: anywhere;
}
main { min-width: 0; }
a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: none; }
img, svg, video { display: block; max-width: 100%; height: auto; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: .2rem solid rgba(37, 99, 235, .5); outline-offset: .18rem; }

.container {
  width: min(var(--content-max), calc(100% - (var(--gutter) * 2)));
  margin-inline: auto;
  min-width: 0;
}
.narrow { width: min(100%, var(--reading-max)); }

/* Header and navigation */
.site-header {
  min-height: var(--header-height);
  background: rgba(11, 23, 53, .97);
  position: sticky;
  top: 0;
  z-index: 80;
  box-shadow: 0 .125rem .75rem rgba(0, 0, 0, .08);
  backdrop-filter: saturate(150%) blur(.75rem);
}
.nav-wrap {
  min-height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1rem, 2vw, 2rem);
}
.brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: .625rem;
  color: var(--white);
  white-space: nowrap;
}
.brand-logo {
  display: block;
  width: clamp(9.8rem, 12.5vw, 12.5rem);
  height: auto;
  flex: 0 0 auto;
}
.footer-brand .brand-logo {
  width: clamp(10.8rem, 14vw, 13.75rem);
}
.brand-mark {
  width: clamp(2.1rem, 2.4vw, 2.4rem);
  aspect-ratio: 1;
  border-radius: .72rem;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(135deg, #60a5fa, #2563eb);
  color: var(--white);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14);
}
.main-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(.7rem, 1.15vw, 1.5rem);
  min-width: 0;
  white-space: nowrap;
}
.main-nav a {
  color: #cbd5e1;
}
.main-nav a:hover, .main-nav a.active { color: var(--white); }
.main-nav .nav-download {
  color: var(--navy);
  background: var(--white);
  padding: .65rem 1rem;
  border-radius: .65rem;
}
.nav-toggle {
  display: none;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: .7rem;
  color: var(--white);
  background: transparent;
  cursor: pointer;
}

/* Shared buttons */
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.85rem;
  max-width: 100%;
  padding: .72rem 1.25rem;
  border: 1px solid transparent;
  border-radius: .7rem;
  text-align: center;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.button:hover { transform: translateY(-.1rem); }
.button.light { color: var(--navy); background: var(--white); box-shadow: 0 .75rem 2rem rgba(0,0,0,.1); }
.button.primary { color: var(--white); background: var(--primary); }
.button.primary:hover { background: var(--primary-dark); }
.button.outline-light { color: var(--white); border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.03); }
.button.outline { color: var(--primary); border-color: var(--primary); background: var(--white); }
.button.full { width: 100%; }
.button.big { min-height: 3.35rem; padding: .9rem 1.35rem; }

/* Home hero */
.hero {
  color: var(--white);
  background:
    radial-gradient(circle at 88% 15%, rgba(59, 130, 246, .38), transparent min(38rem, 44vw)),
    linear-gradient(135deg, #09152e, #173c7a);
}
.hero-home {
  overflow: clip;
  min-height: calc(100svh - var(--header-height));
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-content: stretch;
  padding-block: clamp(1.35rem, 3.2vh, 2.75rem) clamp(1.15rem, 2.5vh, 2.1rem);
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, .95fr);
  gap: clamp(2rem, 4.5vw, 5rem);
  align-items: center;
  min-height: 0;
}
.hero-copy { min-width: 0; }
.eyebrow, .kicker {
  display: inline-block;
  color: #93c5fd;
  text-transform: uppercase;
}
.hero h1 {
  max-width: 18ch;
  margin: clamp(.75rem, 1.4vw, 1.1rem) 0 clamp(1rem, 2vw, 1.5rem);
}
.hero-copy > p {
  max-width: 39rem;
  margin: 0;
  color: #cbd5e1;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin: clamp(1.5rem, 2.7vw, 2.25rem) 0;
}
.trust {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem clamp(.8rem, 1.5vw, 1.4rem);
  color: #b8c6dd;
}
.hero-media-stage {
  position: relative;
  width: min(100%, 42rem, 55svh);
  justify-self: end;
  isolation: isolate;
  min-width: 0;
}
.hero-media-frame {
  position: relative;
  z-index: 2;
  width: 100%;
  aspect-ratio: 775 / 736;
  display: grid;
  place-items: center;
  filter: drop-shadow(0 2rem 3.6rem rgba(4, 13, 34, .34));
}
.hero-media-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  user-select: none;
  -webkit-user-drag: none;
}
.hero-media-glow {
  position: absolute;
  z-index: 0;
  inset: 15% 5% 3%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(71, 151, 255, .5), rgba(71,151,255,0) 68%);
  filter: blur(clamp(1rem, 2.8vw, 2.75rem));
  opacity: .85;
}
.hero-media-sheen {
  position: absolute;
  z-index: 3;
  inset: 3% 5%;
  overflow: hidden;
  border-radius: clamp(1.2rem, 2vw, 2rem);
  pointer-events: none;
}
.hero-media-sheen::after {
  content: "";
  position: absolute;
  top: -25%;
  bottom: -25%;
  left: -60%;
  width: 25%;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.24), transparent);
}
.hero-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.5rem), 1fr));
  gap: clamp(.65rem, 1.3vw, 1.1rem);
  margin-top: clamp(.85rem, 2.2vh, 1.6rem);
}
.hero-stats > div {
  min-width: 0;
  padding: clamp(.75rem, 1.3vh, 1.15rem) clamp(.9rem, 1.4vw, 1.35rem);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: clamp(.8rem, 1.1vw, 1rem);
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.hero-stats strong, .hero-stats span { display: block; }
.hero-stats strong {
  color: var(--white);
  white-space: nowrap;
}
.hero-stats span { color: #cbd5e1; }

/* Home sections */
.promo-strip { border-bottom: 1px solid var(--border); background: var(--white); }
.promo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}
.promo-grid > div {
  min-width: 0;
  padding: clamp(1.15rem, 2vw, 1.65rem) clamp(0rem, 1.4vw, 1.5rem);
  border-right: 1px solid var(--border);
}
.promo-grid > div:last-child { border-right: 0; }
.promo-grid b, .promo-grid span { display: block; }
.promo-grid b { color: var(--text); }
.promo-grid span { margin-top: .2rem; color: var(--muted); }
.section { padding-block: var(--section-space); }
.soft { background: var(--soft); }
.section-head { max-width: 45rem; margin: 0 0 clamp(2rem, 4vw, 3rem); }
.section-head.center { margin-inline: auto; text-align: center; }
.section-head span, .kicker { color: var(--primary); }
.section-head h2, .section-row h2, .split h2, .page-hero h1 {
  margin: .6rem 0;
}
.section-head p, .page-hero p { color: var(--muted); }
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16.5rem), 1fr));
  gap: clamp(1rem, 1.8vw, 1.45rem);
}
.cards article {
  min-width: 0;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow-sm);
}
.cards article > b { color: #c7d7f5; }
.cards h3 { margin: .6rem 0; }
.cards p { margin: 0; color: var(--muted); }
.split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.section-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: clamp(1.7rem, 3vw, 2.5rem);
}
.check-list { margin: 1.5rem 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding: 0 0 1rem 2rem; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--primary); }
.check-list b, .check-list span { display: block; }
.check-list span { color: var(--muted); }

.metric-bars { display: grid; gap: 1rem; margin: 1.75rem 0; }
.metric-bars > div { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .6rem; padding-bottom: .75rem; }
.metric-bars span { color: var(--muted); }
.metric-bars b { color: var(--primary); }
.metric-bars i { position: absolute; left: 0; bottom: 0; width: 100%; height: .42rem; border-radius: 99rem; background: #e5eaf1; overflow: hidden; }
.metric-bars i::after { content: ""; display: block; width: var(--w); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #60a5fa, #2563eb); }
.network-card { min-width: 0; padding: clamp(1.5rem, 3vw, 2.4rem); border-radius: var(--radius-lg); color: var(--white); background: linear-gradient(145deg, #10234b, #1e4b91); box-shadow: var(--shadow); }
.network-card p, .network-card li { color: #cbd5e1; }
.network-orbit { position: relative; width: min(100%, 16rem); aspect-ratio: 1; display: grid; place-items: center; margin: 0 auto 1.5rem; }
.network-orbit::before, .network-orbit::after, .network-orbit i { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.network-orbit::before { inset: 7%; }
.network-orbit::after { inset: 24%; }
.network-orbit i:nth-of-type(1) { width: .85rem; height: .85rem; top: 10%; left: 47%; background: #60a5fa; }
.network-orbit i:nth-of-type(2) { width: .7rem; height: .7rem; right: 12%; top: 52%; background: #34d399; }
.network-orbit i:nth-of-type(3) { width: .65rem; height: .65rem; left: 16%; bottom: 20%; background: #f59e0b; }
.network-orbit span { position: relative; z-index: 2; display: grid; place-items: center; width: 5.5rem; aspect-ratio: 1; border-radius: 50%; background: var(--primary); }

/* Reviews carousel */
.review-carousel { position: relative; width: min(100%, 61rem); margin-inline: auto; }
.review-viewport { max-width: 100%; overflow: hidden; touch-action: pan-y; border-radius: var(--radius-lg); contain: layout paint; box-shadow: 0 1rem 2.8rem rgba(16,24,40,.08); }
.review-track { display: flex; will-change: transform; }
.review-slide {
  flex: 0 0 100%;
  min-width: 0;
  max-width: 100%;
  padding: clamp(1.5rem, 4vw, 3rem) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--white);
  box-shadow: none !important;
}
.review-slide[aria-hidden="true"] { visibility: hidden; }
.review-slide .quote-mark { margin-bottom: .5rem; color: #dbeafe; font: 4.8rem/.65 Georgia, serif; }
.review-slide > p { max-width: 48rem; color: var(--text); }
.review .stars, .stars { color: #f59e0b; }
.reviewer { display: flex; align-items: center; gap: .8rem; margin-top: 1.4rem; }
.reviewer > span { width: 2.65rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: var(--primary); background: #e8f1ff; }
.reviewer small, .reviewer b { display: block; }
.reviewer small { color: var(--muted); }
.carousel-controls { display: flex; align-items: center; justify-content: center; gap: clamp(.7rem, 2vw, 1.15rem); margin-top: 1.4rem; }
.carousel-dots { display: flex; align-items: center; gap: .5rem; }
.carousel-dot { width: .58rem; height: .58rem; padding: 0; border: 0; border-radius: 99rem; background: #cbd5e1; cursor: pointer; transition: width .2s ease, background .2s ease; }
.carousel-dot.active { width: 1.65rem; background: var(--primary); }

/* Pricing */
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
}
.price-card { position: relative; min-width: 0; padding: clamp(1.4rem, 2.4vw, 2rem); border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-sm); }
.price-card.featured { border-color: var(--primary); box-shadow: 0 1.5rem 4rem rgba(37,99,235,.16); }
.price-card h3 { margin-top: 0; }
.price { display: flex; align-items: baseline; gap: .35rem; margin: .8rem 0; }
.price span, .price-card small { color: var(--muted); }
.price-card ul { min-height: 9.5rem; padding-left: 1.2rem; color: var(--muted); }
.popular { position: absolute; top: 0; right: 1rem; transform: translateY(-50%); padding: .3rem .7rem; border-radius: 99rem; color: var(--white); background: var(--primary); }

/* FAQ, article cards and shared content */
.faq-list details { margin-bottom: .75rem; overflow: hidden; border: 1px solid var(--border); border-radius: .8rem; background: var(--white); }
.faq-list summary { padding: 1rem 1.2rem; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; float: right; color: var(--primary); }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 1.2rem 1.15rem; color: var(--muted); }
.article-card time, .article-list time { color: var(--muted); }
.article-card h3 a, .article-list h2 a { color: var(--text); }
.article-card h3 a:hover, .article-list h2 a:hover { color: var(--primary); }
.seo-copy .narrow { margin-inline: auto; text-align: center; }

/* Secondary pages */
.page-hero, .article-hero { padding-block: clamp(3.5rem, 7vw, 5.5rem); color: var(--white); background: linear-gradient(135deg, #0b1735, #173b78); }
.page-hero p, .article-hero p { color: #cbd5e1; }
.article-hero h1 { margin: 1rem 0; }
.content-layout, .download-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15.5rem, 20rem);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}
.prose { min-width: 0; max-width: 100%; }
.prose h2 { margin: 2.2rem 0 .75rem; }
.prose p, .prose li { color: #475467; }
.prose img { width: auto; max-width: 100%; border-radius: .9rem; }
.prose pre, .prose code { max-width: 100%; overflow-wrap: anywhere; }
.prose pre, .prose table { display: block; max-width: 100%; overflow-x: auto; }
.prose table { border-collapse: collapse; }
.prose th, .prose td { padding: .65rem; border: 1px solid var(--border); white-space: nowrap; }
.side-card { min-width: 0; padding: clamp(1.25rem, 2vw, 1.6rem); border: 1px solid var(--border); border-radius: var(--radius); background: var(--white); }
.side-card h2 { margin: 0 0 .8rem; }
.side-card a { display: block; padding: .62rem 0; border-bottom: 1px solid var(--border); }
.side-card a:last-child { border: 0; }
.sticky { position: sticky; top: calc(var(--header-height) + 1.25rem); }
.download-panel { min-width: 0; padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: var(--radius-lg); color: var(--text); background: var(--white); box-shadow: var(--shadow); }
.download-main { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.download-main h2 { margin: 0; }
.download-main small { color: var(--muted); }
.windows-icon { width: 3.4rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: .85rem; color: var(--primary); background: #e8f1ff; }
.windows-icon.large { width: 4.25rem; }
.facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.facts div { min-width: 0; display: flex; flex-direction: column; }
.facts span { color: var(--muted); }
.large-facts { margin-block: 1.75rem; }
.detected-file { color: var(--muted); text-align: center; }
.checksum { display: block; max-width: 100%; margin-top: .8rem; padding: .65rem; overflow-x: auto; text-align: center; background: #f8fafc; }
.article-list article { margin-bottom: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--border); }
.article-list h2 { margin: .45rem 0; }
.article-list p { color: var(--muted); }
.breadcrumb { display: flex; flex-wrap: wrap; gap: .45rem; color: #9fb2cf; }
.breadcrumb a { color: #dbeafe; }
.article-body { min-height: 25rem; }
.related { display: grid; gap: .75rem; }
.related a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border: 1px solid var(--border); border-radius: .75rem; color: var(--text); background: var(--white); }
.pagination { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2rem; }
.pagination a, .pagination span { min-width: 2.5rem; min-height: 2.5rem; display: inline-grid; place-items: center; padding: .35rem .65rem; border: 1px solid var(--border); border-radius: .6rem; }
.pagination .active { color: var(--white); border-color: var(--primary); background: var(--primary); }

/* Footer */
.cta { padding-block: clamp(3rem, 5vw, 4.25rem); color: var(--white); text-align: center; background: var(--primary); }
.cta h2 { margin: 0; }
.cta p { color: #dbeafe; }
.cta-detail { display: block; margin-top: .9rem; color: #dbeafe; }
.site-footer { padding: clamp(3.2rem, 5vw, 4rem) 0 1.5rem; color: #aab8cf; background: #081126; }
.footer-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) repeat(2, minmax(10rem, .7fr)); gap: clamp(2rem, 5vw, 4rem); }
.footer-grid h3 { color: var(--white); }
.footer-grid a { display: block; padding: .3rem 0; color: #aab8cf; }
.footer-brand { margin-bottom: 1rem; }
.copyright { display: flex; flex-wrap: wrap; align-items: baseline; margin-top: 2.25rem; padding-top: 1.25rem; border-top: 1px solid #26334c; }

/* Progressive reveal: visible by default when JavaScript is unavailable. */
.motion-ready [data-reveal] { opacity: 0; transform: translate3d(0, clamp(.8rem, 2vw, 1.5rem), 0); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.8,.2,1); }
.motion-ready [data-reveal="left"] { transform: translate3d(clamp(-2rem, -3vw, -1rem), 0, 0); }
.motion-ready [data-reveal="right"] { transform: translate3d(clamp(1rem, 3vw, 2rem), 0, 0); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: none; }
.stagger-group [data-reveal]:nth-child(2) { transition-delay: .06s; }
.stagger-group [data-reveal]:nth-child(3) { transition-delay: .12s; }
.stagger-group [data-reveal]:nth-child(4) { transition-delay: .18s; }
.stagger-group [data-reveal]:nth-child(5) { transition-delay: .24s; }
.stagger-group [data-reveal]:nth-child(6) { transition-delay: .3s; }

/* Standards-based Hero motion: transform + opacity for crisp, GPU-friendly rendering. */
:root {
  --hero-enter-ease: cubic-bezier(.22, 1, .36, 1);
  --hero-left-duration: 1.55s;
  --hero-right-duration: 1.68s;
  --hero-stat-duration: .86s;
}
.hero-copy,
.hero-media-stage-v8,
.hero-stats > div {
  backface-visibility: hidden;
  transform-style: preserve-3d;
}
.hero-motion .hero-copy {
  animation: hero-enter-left var(--hero-left-duration) var(--hero-enter-ease) .1s both;
  will-change: transform, opacity;
}
.hero-motion .hero-media-stage-v8 {
  animation: hero-enter-right var(--hero-right-duration) var(--hero-enter-ease) .18s both;
  will-change: transform, opacity;
}
.hero-motion .hero-stats > div {
  animation: hero-stat-up var(--hero-stat-duration) var(--hero-enter-ease) both;
  will-change: transform, opacity;
}
.hero-motion .hero-stats > div:nth-child(1) { animation-delay: 1.02s; }
.hero-motion .hero-stats > div:nth-child(2) { animation-delay: 1.12s; }
.hero-motion .hero-stats > div:nth-child(3) { animation-delay: 1.22s; }
.hero-motion .hero-stats > div:nth-child(4) { animation-delay: 1.32s; }
.hero-motion .hero-media-stage-v8 .hero-media-frame {
  animation: hero-float 7.5s ease-in-out 1.95s infinite;
}
.hero-motion .hero-media-stage-v8 .hero-media-sheen::after {
  animation: hero-sheen 5.8s ease-in-out 2.1s infinite;
}
@keyframes hero-enter-left {
  0% {
    opacity: 0;
    transform: translate3d(clamp(-5rem, -5vw, -2.5rem), 0, 0);
  }
  55% { opacity: .88; }
  100% {
    opacity: 1;
    transform: translate3d(0,0,0);
  }
}
@keyframes hero-enter-right {
  0% {
    opacity: 0;
    transform: translate3d(clamp(2.5rem, 5vw, 5rem), 0, 0) scale(.988);
  }
  55% { opacity: .86; }
  100% {
    opacity: 1;
    transform: translate3d(0,0,0) scale(1);
  }
}
@keyframes hero-stat-up {
  from { opacity: 0; transform: translate3d(0, 1rem, 0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes hero-float {
  0%,100% { transform: translate3d(0,0,0); }
  50% { transform: translate3d(0, clamp(-.65rem, -1vw, -.35rem), 0); }
}
@keyframes hero-sheen {
  0%,25% { left: -60%; opacity: 0; }
  38% { opacity: 1; }
  58%,100% { left: 140%; opacity: 0; }
}

/* Content-driven layout switches. These are not tied to monitor inches. */
@media (max-width: 68rem) {
  .nav-toggle { display: inline-grid; place-items: center; }
  .main-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    max-height: calc(100dvh - var(--header-height));
    overflow-y: auto;
    padding: 1rem var(--gutter) 1.35rem;
    flex-direction: column;
    align-items: stretch;
    gap: .2rem;
    white-space: normal;
    background: #0b1735;
    box-shadow: 0 1.15rem 2rem rgba(0,0,0,.22);
  }
  .main-nav.open { display: flex; }
  .main-nav a { padding: .7rem .35rem; }
  .main-nav .nav-download { margin-top: .45rem; text-align: center; }
}

@media (max-width: 61rem) {
  .hero-home { min-height: 0; display: block; }
  .hero-grid { grid-template-columns: 1fr; text-align: center; }
  .hero-copy { width: min(100%, 48rem); margin-inline: auto; }
  .hero h1, .hero-copy > p { margin-inline: auto; }
  .hero-actions, .trust { justify-content: center; }
  .hero-media-stage { width: min(100%, 38rem); justify-self: center; }
  .split, .content-layout, .download-layout { grid-template-columns: 1fr; }
  .sticky { position: static; }
  .side-card { width: min(100%, 40rem); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 45rem) {
  :root { --gutter: clamp(.875rem, 4.5vw, 1.5rem); --section-space: clamp(3.25rem, 11vw, 4.5rem); }
  .hero-home { padding-top: clamp(2.7rem, 9vw, 4rem); }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .button { width: 100%; }
  .hero-media-stage { width: min(100%, 32rem); }
  .hero-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .promo-grid { grid-template-columns: 1fr; }
  .promo-grid > div { border-right: 0; border-bottom: 1px solid var(--border); }
  .promo-grid > div:last-child { border-bottom: 0; }
  .section-row { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > :first-child { grid-column: auto; }
  .price-card ul { min-height: 0; }
}

@media (max-width: 30rem) {
  body { min-width: 0; }
  .hero h1 { max-width: none; }
  .hero-stats { grid-template-columns: 1fr; }
  .trust { flex-direction: column; align-items: center; }
  .review-slide { padding: 1.25rem !important; }
  .carousel-arrow { width: 2.45rem; }
  .download-main { align-items: flex-start; }
}

@media (min-width: 61.01rem) and (max-height: 50rem) {
  .hero-home {
    padding-block: clamp(.95rem, 2.4vh, 1.45rem) clamp(1.1rem, 2.4vh, 1.5rem);
  }
  .hero-grid { gap: clamp(1.5rem, 3.8vw, 4rem); }
  .hero h1 {
    margin-block: .55rem .85rem;
  }
  .hero-actions { margin: .95rem 0; }
  .hero-actions .button { min-height: 2.65rem; padding-block: .6rem; }
  .hero-media-stage { width: min(100%, 42rem, 52svh); }
  .hero-stats { margin-top: clamp(.65rem, 1.6vh, 1rem); }
  .hero-stats > div { padding-block: clamp(.62rem, 1.05vh, .82rem); }
}

@media (min-width: 61.01rem) and (max-height: 43.75rem) {
  .hero-home { padding-block: .75rem .65rem; }
  .hero-grid { gap: clamp(1.25rem, 3vw, 3rem); }
  .hero h1 {
    margin-block: .4rem .65rem;
  }
  .hero-actions { margin: .72rem 0; }
  .trust { gap: .35rem .75rem; }
  .hero-media-stage { width: min(100%, 38rem, 48svh); }
  .hero-stats { margin-top: .55rem; gap: .6rem; }
  .hero-stats > div { padding: .55rem .85rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .motion-ready [data-reveal] { opacity: 1; transform: none; }
}

@media (forced-colors: active) {
  .button, .side-card, .cards article, .price-card, .faq-list details { border: 1px solid CanvasText; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-motion .hero-copy,
  .hero-motion .hero-media-stage-v8,
  .hero-motion .hero-stats > div,
  .hero-motion .hero-media-stage-v8 .hero-media-frame,
  .hero-motion .hero-media-stage-v8 .hero-media-sheen::after {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
.copyright a { color: inherit; text-decoration: none; }
.copyright a:hover { color: #fff; text-decoration: underline; text-underline-offset: .18em; }


body.page-download {
  background: #0a2a5d;
}
.page-download .site-header {
  box-shadow: 0 1px 0 rgba(255,255,255,.05), 0 .32rem 1rem rgba(2, 12, 30, .12);
}
.page-download main {
  background: transparent;
}

/* Download button base */
.button.hero-download {
  position: relative;
  z-index: 2;
  overflow: hidden;
  gap: .62rem;
  min-width: clamp(10.7rem, 13vw, 12.2rem);
  min-height: 3.2rem;
  padding: .9rem 1.7rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(90deg, #2f6fff 0%, #2f7dff 58%, #24a7ff 100%);
  box-shadow: 0 .72rem 1.8rem rgba(37,99,235,.24), inset 0 1px 0 rgba(255,255,255,.22);
}
.button.hero-download span {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: .62rem;
}
.direction-icon {
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .28s ease;
}
.link-with-icon { display: inline-flex; align-items: center; gap: .38em; }
.button.hero-download:hover,
.button.hero-download:focus-visible {
  transform: translateY(-.08rem);
  color: #fff;
  box-shadow: 0 .72rem 1.8rem rgba(37,99,235,.22), inset 0 1px 0 rgba(255,255,255,.24);
}
.button.hero-download:hover .direction-icon,
.button.hero-download:focus-visible .direction-icon,
.link-with-icon:hover .direction-icon,
.link-with-icon:focus-visible .direction-icon { transform: translateX(.18rem); }
.button.hero-download:active .direction-icon,
.link-with-icon:active .direction-icon { transform: none; }
.button.hero-download:active { transform: translateY(0); }

.avatar-badge {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--avatar-bg, #e8f1ff);
  color: var(--avatar-fg, #2563eb);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
}

.review-carousel.review-carousel-multi { width: 100%; }
.review-carousel.review-carousel-multi .review-viewport {
  border-radius: 1.85rem;
  background: transparent;
  box-shadow: 0 1.2rem 3rem rgba(16,24,40,.08);
}
.review-slide.review-slide-triple {
  flex: 0 0 100%;
  min-width: 0;
  padding: 0 !important;
  background: transparent;
}
.review-slide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}
.review-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.35rem, 2.4vw, 2rem);
  border-radius: 1.5rem;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, .16);
  box-shadow: 0 1rem 2.3rem rgba(16,24,40,.07);
}
.review-card .quote-mark { margin-bottom: .35rem; color: #dbeafe; font: 4.2rem/.7 Georgia, serif; }
.review-card > p {
  margin: .6rem 0 0;
  color: var(--text);
  flex: 1;
}
.review-card .reviewer { margin-top: 1.2rem; }
.review-card-page .quote-mark { margin-bottom: .35rem; }
.review-card-page > p { margin-top: .5rem; }

@media (max-width: 72rem) {
  .review-slide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 46rem) {
  .button.hero-download { width: 100%; }
  .review-slide-grid { grid-template-columns: 1fr; }
  .review-carousel.review-carousel-multi { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .direction-icon { transition: none; transform: none !important; }
}


/* V17 production refinements */
.faq-home { align-items: start; }
.faq-home > :first-child { align-self: start; }
@media (min-width: 61.01rem) {
  .faq-home > :first-child {
    position: sticky;
    top: calc(var(--header-height) + 1.5rem);
  }
}

/* Homepage reviews: use the same container edges as adjacent homepage modules. */
.review-carousel.review-carousel-multi { width: 100%; }
.review-carousel.review-carousel-multi .review-viewport { overflow: hidden; padding: 0; background: transparent; }
.review-carousel.review-carousel-multi .review-track {
  --review-gap: 1.1rem;
  --review-per-view: 4;
  display: flex;
  align-items: stretch;
  gap: var(--review-gap);
  will-change: transform;
}
.review-carousel.review-carousel-multi .review-slide {
  flex: 0 0 calc((100% - (var(--review-gap) * (var(--review-per-view) - 1))) / var(--review-per-view));
  min-width: 0;
  max-width: none;
  visibility: visible !important;
}
.review-carousel.review-carousel-multi .review-card {
  height: auto;
  align-self: stretch;
  min-height: 18.5rem;
  padding: clamp(1.3rem, 2.2vw, 1.85rem) !important;
  border-radius: 1.4rem !important;
}
.review-carousel.review-carousel-multi .review-card > p { flex: 0 0 auto; }
.review-carousel.review-carousel-multi .review-card .reviewer {
  margin-top: auto;
  padding-top: 1.2rem;
}
.review-carousel.review-carousel-multi .carousel-dots {
  max-width: min(46vw, 20rem);
  overflow: hidden;
  padding-block: .25rem;
}

/* Secondary and tertiary page mobile layout — keep text readable, not desktop squeezed. */
.content-layout > *, .download-layout > * { min-width: 0; }
.prose { word-break: normal; overflow-wrap: break-word; }

@media (max-width: 1279px) {
  .review-carousel.review-carousel-multi .review-track { --review-per-view: 3; }
}

@media (max-width: 1023px) {
  .review-carousel.review-carousel-multi .review-track { --review-per-view: 2; }
}

@media (max-width: 61rem) {
  .content-layout, .download-layout { gap: 1.5rem; }
  .content-layout .side-card, .download-layout .side-card { width: 100%; max-width: none; }
  .faq-home > :first-child { position: static; }
  .page-hero, .article-hero { padding-block: clamp(2.75rem, 7vw, 4rem); }
  .article-body { min-height: 0; }
}

@media (max-width: 47.99rem) {
  :root { --reading-max: 100%; }

  .page-hero, .article-hero {
    padding-block: 2.35rem 2.6rem;
    text-align: left;
  }
  .page-hero h1, .article-hero h1 {
    margin-block: .65rem .8rem;
    word-break: normal;
  }
  .page-hero p, .article-hero p {
    margin: 0;
  }
  .article-hero time { display: block; margin-top: .8rem; color: #b8c6dd; }
  .breadcrumb { gap: .32rem; }

  .section { padding-block: clamp(2.65rem, 11vw, 3.6rem); }
  .content-layout, .download-layout { gap: 1.25rem; }
  .prose h2 { margin: 1.85rem 0 .65rem; }
  .prose h3 { margin-top: 1.55rem; }
  .prose p, .prose li { color: #3f4b5f; }
  .prose ul, .prose ol { padding-left: 1.25rem; }
  .prose pre { margin-inline: 0; padding: .85rem; border-radius: .7rem; }
  .prose th, .prose td { padding: .55rem; }

  .side-card { padding: 1.1rem; border-radius: .9rem; }
  .side-card a { padding: .72rem 0; }

  .article-list article { margin-bottom: 1.45rem; padding-bottom: 1.45rem; }
  .article-list p { margin-block: .55rem .75rem; }
  .read-more { display: inline-flex; min-height: 2.65rem; align-items: center; }

  .download-panel { padding: 1.2rem; border-radius: 1.1rem; }
  .download-main { gap: .8rem; margin-bottom: 1.15rem; }
  .windows-icon.large { width: 3.5rem; }
  .facts { grid-template-columns: repeat(2, minmax(0,1fr)); gap: .85rem; margin-bottom: 1.2rem; }
  .facts div { padding: .75rem; border-radius: .7rem; background: #f8fafc; }
  .download-panel .button.big { min-height: 3rem; }
  .detected-file { overflow-wrap: anywhere; }

  .related a { align-items: flex-start; padding: .9rem; }
  .related a span { flex: 0 0 auto; }
  .pagination { gap: .4rem; }
  .pagination a, .pagination span { min-width: 2.35rem; min-height: 2.35rem; }

  .faq-list summary { padding: .95rem 1rem; }
  .faq-list details p { padding: 0 1rem 1rem; }
}

@media (max-width: 767px) {
  .review-carousel.review-carousel-multi .review-track { --review-per-view: 1; --review-gap: .8rem; }
  .review-carousel.review-carousel-multi .review-card { min-height: 17rem; padding: 1.25rem !important; }
  .review-carousel.review-carousel-multi .carousel-dots { max-width: 8rem; }
}

@media (max-width: 28rem) {
  .facts { grid-template-columns: 1fr; }
  .review-carousel.review-carousel-multi .review-card { min-height: 18rem; }
}


@media (max-width: 767px) {
  .review-carousel.review-carousel-multi .carousel-dots { display: none; }
  .review-carousel.review-carousel-multi .carousel-controls { gap: 1.1rem; }
}


/* V24 visual reference layer: typography, colors, radii, borders and lighting only.
   Existing layout, widths, heights, spacing, ordering and responsive rules remain unchanged. */
:root {
  --primary: #2f7cff;
  --primary-dark: #2169ea;
  --primary-soft: #eaf2ff;
  --navy: #071831;
  --navy-2: #0d326d;
  --text: #151c2f;
  --muted: #6b7487;
  --soft: #f6f8fc;
  --border: #e6ebf3;
  --shadow-sm: 0 .55rem 1.7rem rgba(15, 31, 61, .065);
  --shadow: 0 1.25rem 3.75rem rgba(15, 31, 61, .12);
}
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
body {
  color: var(--text);
}
h1, h2, h3, h4, h5, h6,
.hero h1, .page-hero h1, .article-hero h1,
.section-head h2, .section-row h2, .split h2 {
  color: var(--text);
}
.site-header {
  background: rgba(7, 24, 49, .965);
  border-bottom: 1px solid rgba(255,255,255,.055);
  box-shadow: 0 .25rem 1.25rem rgba(2, 12, 30, .12);
}
.main-nav a {
  color: rgba(229, 238, 251, .78);
}
.main-nav a:hover,
.main-nav a.active { color: #ffffff; }
.main-nav .nav-download {
  color: #ffffff;
  border: 1px solid rgba(118, 205, 255, .36);
  border-radius: 999px;
  background: linear-gradient(90deg, #2e73ff 0%, #2688ff 58%, #22b6f3 100%);
  box-shadow: 0 .7rem 1.7rem rgba(32, 111, 245, .22), inset 0 1px 0 rgba(255,255,255,.19);
}
.hero {
  background:
    radial-gradient(circle at 88% 16%, rgba(47, 124, 255, .42), transparent min(38rem, 44vw)),
    linear-gradient(135deg, #06152f 0%, #0b2b61 58%, #17498f 100%);
}
.hero h1,
.page-hero h1,
.article-hero h1 { color: #ffffff; }
.hero-copy > p,
.page-hero p,
.article-hero p { color: rgba(224, 234, 248, .84); }
.eyebrow, .kicker {
  color: #74c8ff;
}
.trust { color: rgba(219, 230, 247, .76); }
.page-hero,
.article-hero {
  background:
    radial-gradient(circle at 85% 15%, rgba(47,124,255,.28), transparent 42%),
    linear-gradient(135deg, #071831 0%, #10336c 100%);
}
.button {
  border-radius: 999px;
}
.button.primary {
  background: linear-gradient(90deg, #2f73ff 0%, #2687ff 62%, #20b4f3 100%);
  box-shadow: 0 .65rem 1.55rem rgba(38, 117, 243, .22), inset 0 1px 0 rgba(255,255,255,.18);
}
.button.primary:hover {
  background: linear-gradient(90deg, #286bed 0%, #1f7af0 62%, #16a7e8 100%);
}
.button.outline {
  color: #2877f6;
  border-color: rgba(47,124,255,.7);
  background: #ffffff;
}
.button.light {
  color: #0b2148;
  background: #ffffff;
  box-shadow: 0 .75rem 1.9rem rgba(2,17,44,.12);
}
.button.hero-download {
  color: #ffffff;
  border-color: rgba(126, 224, 255, .44);
  border-radius: 999px;
  background: linear-gradient(90deg, #2d72ff 0%, #2786ff 60%, #20b8f3 100%);
  box-shadow: 0 .75rem 1.8rem rgba(36, 119, 246, .26), 0 0 .75rem rgba(34, 211, 238, .07), inset 0 1px 0 rgba(255,255,255,.23);
}
.button.hero-download .direction-icon {
  position: relative;
  z-index: 4;
  color: rgba(255,255,255,.96);
}
.cards article,
.price-card,
.review-card,
.download-panel,
.side-card,
.faq-list details {
  border-color: #e7ecf4;
  box-shadow: 0 .7rem 2.2rem rgba(16, 36, 72, .055);
}
.cards article,
.side-card,
.faq-list details { border-radius: 1rem; }
.price-card,
.review-card,
.download-panel { border-radius: 1.35rem; }
.cards article p,
.article-card p,
.faq-list details p,
.reviewer small,
.price-card li,
.side-card p { color: var(--muted); }
.windows-icon {
  color: #2f7cff;
  background: #edf4ff;
  border-radius: 1rem;
  box-shadow: inset 0 0 0 1px rgba(47,124,255,.06);
}
.cta {
  background: linear-gradient(135deg, #071831 0%, #0c326f 100%);
}
.cta p,
.cta-detail { color: rgba(225,236,252,.78); }
.site-footer {
  background: #061326;
  color: rgba(197, 213, 236, .72);
}
.site-footer h3,
.site-footer .brand { color: #ffffff; }
.site-footer a { color: rgba(222, 232, 247, .78); }
.site-footer a:hover { color: #ffffff; }
.carousel-dot { background: #d2dbea; }
.carousel-dot.active { background: #2f7cff; }
.faq-list summary::after { color: #2f7cff; }
input, textarea, select {
  border-radius: .9rem;
  border-color: #e3e9f2;
}


/* V25 download-center first screen: visual-only product presentation. */
.download-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 78% 42%, rgba(41, 125, 255, .38), transparent 31rem),
    radial-gradient(circle at 18% 12%, rgba(36, 202, 244, .08), transparent 22rem),
    linear-gradient(135deg, #06152f 0%, #0b2c62 62%, #15488d 100%);
}
.download-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .32;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.78) 0 1px, transparent 1.35px),
    radial-gradient(circle, rgba(99,205,255,.72) 0 1px, transparent 1.4px);
  background-size: 7rem 7rem, 10rem 10rem;
  background-position: 1.5rem 1rem, 4rem 3rem;
  animation: downloadStarfieldTwinkle 10s ease-in-out infinite alternate;
}
.download-hero::after {
  content: "";
  position: absolute;
  inset: -8% -6%;
  pointer-events: none;
  opacity: .28;
  background:
    radial-gradient(circle at 75% 28%, rgba(84, 197, 255, .26), transparent 22rem),
    radial-gradient(circle at 18% 75%, rgba(66, 147, 255, .16), transparent 18rem);
  filter: blur(3rem);
  animation: downloadAtmosphereDrift 14s ease-in-out infinite;
}
.download-hero-grid {
  position: relative;
  z-index: 1;
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(18rem, .72fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 6rem);
  padding-block: clamp(1.75rem, 4vh, 3rem) clamp(1.25rem, 2.5vh, 2rem);
}
.download-hero-copy {
  min-width: 0;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}
.download-hero-copy h1 {
  max-width: 42rem;
  margin: .75rem 0 1rem;
  color: #fff;
}
.download-hero-copy > p:not(.download-hero-support) {
  max-width: 39rem;
  margin: 0;
  color: rgba(226, 236, 250, .84);
}
.download-hero-actions { margin-top: clamp(1.55rem, 2.8vw, 2.25rem); }
.download-hero-support {
  margin: .75rem 0 0;
  color: rgba(210, 225, 246, .72);
}
.download-hero-visual {
  position: relative;
  width: min(100%, 30rem);
  margin: 0;
  justify-self: center;
  isolation: isolate;
  backface-visibility: hidden;
  transform-style: preserve-3d;
  will-change: transform, opacity;
}
.download-visual-fade {
  position: relative;
  isolation: isolate;
  transform-origin: 50% 55%;
  will-change: transform, opacity;
}
.download-visual-fade::after {
  content: "";
  position: absolute;
  inset: 12% 10% 16%;
  z-index: 1;
  border-radius: 2rem;
  background: linear-gradient(115deg, transparent 8%, rgba(255,255,255,.15) 40%, transparent 72%);
  opacity: .18;
  filter: blur(.35rem);
  transform: translateX(-16%);
  pointer-events: none;
}
.download-hero-visual img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 1.35rem 2.4rem rgba(0, 12, 42, .34));
}
.download-hero-glow {
  position: absolute;
  z-index: 0;
  inset: 14% 4% 6%;
  border-radius: 48%;
  background: radial-gradient(circle, rgba(41, 121, 255, .28), rgba(20, 184, 255, .08) 50%, transparent 72%);
  filter: blur(1.05rem);
}
@keyframes downloadHeroCopyFadeIn {
  from { opacity: 0; transform: translate3d(-3rem, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes downloadHeroVisualFadeIn {
  from { opacity: 0; transform: translate3d(2.5rem, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes downloadVisualFadeFloat {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -.42rem, 0); }
}
@keyframes downloadVisualSheen {
  0%, 18% { opacity: 0; transform: translateX(-18%); }
  42% { opacity: .34; }
  66%, 100% { opacity: 0; transform: translateX(16%); }
}
@keyframes downloadGlowFade {
  0%, 100% { opacity: .5; transform: scale(.985); }
  50% { opacity: .9; transform: scale(1.035); }
}
@keyframes downloadStarfieldTwinkle {
  0% { opacity: .24; transform: translate3d(0,0,0); }
  50% { opacity: .34; }
  100% { opacity: .4; transform: translate3d(.2rem, -.12rem, 0); }
}
@keyframes downloadAtmosphereDrift {
  0%, 100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(-1.2rem, .5rem, 0) scale(1.03); }
}
.hero-motion .download-hero-copy {
  animation: downloadHeroCopyFadeIn 1.15s cubic-bezier(.22,1,.36,1) .08s both;
  will-change: transform, opacity;
}
.hero-motion .download-hero-visual {
  animation: downloadHeroVisualFadeIn 1.28s cubic-bezier(.22,1,.36,1) .16s both;
}
.hero-motion .download-visual-fade {
  animation: downloadVisualFadeFloat 7.2s ease-in-out 1.45s infinite;
}
.hero-motion .download-visual-fade::after {
  animation: downloadVisualSheen 7.6s ease-in-out 1.65s infinite;
}
.hero-motion .download-hero-glow {
  animation: downloadGlowFade 5.8s ease-in-out 1.45s infinite;
}

/* Reference-matched capsule light: a two-second clockwise conic sweep with a
   long fading tail. It is limited to the two wrappers carrying data-download-halo. */
@property --download-halo-angle {
  syntax: "<angle>";
  inherits: true;
  initial-value: 158deg;
}
@keyframes downloadHaloOrbit {
  from { --download-halo-angle: 158deg; }
  to { --download-halo-angle: 518deg; }
}
.download-halo {
  --download-halo-angle: 158deg;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: 100%;
  padding: 0;
  border-radius: 999px;
  overflow: visible;
  isolation: isolate;
}
.download-halo[data-download-halo]::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  box-sizing: border-box;
  border-radius: inherit;
  padding: 1.5px;
  pointer-events: none;
  background: conic-gradient(
    from var(--download-halo-angle) at 50% 50%,
    rgba(24, 196, 255, 0) 0deg,
    rgba(24, 196, 255, .08) 15deg,
    rgba(24, 196, 255, .15) 30deg,
    rgba(24, 196, 255, .22) 45deg,
    rgba(24, 196, 255, .29) 60deg,
    rgba(24, 196, 255, .35) 75deg,
    rgba(24, 196, 255, .41) 90deg,
    rgba(24, 196, 255, .47) 105deg,
    rgba(24, 196, 255, .51) 120deg,
    rgba(24, 196, 255, .59) 135deg,
    rgba(24, 196, 255, .75) 150deg,
    rgba(24, 196, 255, .84) 160deg,
    rgba(24, 196, 255, .88) 170deg,
    rgba(24, 196, 255, 1) 180deg,
    rgba(24, 196, 255, .95) 185deg,
    rgba(24, 196, 255, .86) 190deg,
    rgba(24, 196, 255, .59) 195deg,
    rgba(24, 196, 255, .26) 200deg,
    rgba(24, 196, 255, 0) 210deg,
    rgba(24, 196, 255, 0) 360deg
  );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask-composite: exclude;
  filter:
    drop-shadow(0 0 1px rgba(24, 196, 255, .86))
    drop-shadow(0 0 3px rgba(24, 196, 255, .42));
}
.download-halo.uses-css-orbit[data-download-halo]::before {
  animation: downloadHaloOrbit 2s linear infinite;
}
.download-border-flow {
  display: none;
}
.download-halo.is-ready .download-border-flow { opacity: 1; }
.download-flow-track {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}
.download-flow-glow {
  stroke: rgba(46, 235, 255, .42);
  stroke-width: 5.4px;
  filter: url(#downloadBorderGlow);
  opacity: .92;
}
.download-flow-tail {
  stroke: rgba(23, 219, 245, .28);
  stroke-width: 1.7px;
}
.download-flow-head {
  stroke: rgba(221, 255, 255, 1);
  stroke-width: 2.1px;
  filter: drop-shadow(0 0 1.4px rgba(255,255,255,.95)) drop-shadow(0 0 4px rgba(44,235,255,.85));
}
.button.hero-download {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border: 1px solid rgba(8, 57, 111, .78);
  box-shadow:
    0 0 0 1px rgba(1, 21, 50, .42),
    0 .52rem 1.35rem rgba(0, 17, 48, .16),
    inset 0 1px 0 rgba(255,255,255,.16);
}
.button.hero-download::before,
.button.hero-download::after { content: none; }
.button.hero-download > span { position: relative; z-index: 4; }
.download-hero-button { min-width: clamp(11.5rem, 15vw, 13.25rem); }
.cta-detail { cursor: default; }

@media (max-width: 61rem) {
  .download-hero-grid {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, .72fr);
    gap: 1.75rem;
  }
}
@media (max-width: 47.99rem) {
  .download-hero-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding-block: 2.25rem 1.5rem;
  }
  .download-hero-copy { text-align: left; }
  .download-hero-copy h1 {
    margin-top: .65rem;
  }
  .download-hero-actions { margin-top: 1.35rem; }
  .download-hero-visual {
    width: min(78vw, 22rem);
    justify-self: center;
  }
  .download-halo {
    width: 100%;
    justify-content: flex-start;
  }
  .download-halo .button.hero-download { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .download-hero::before,
  .download-hero::after,
  .download-hero-copy,
  .download-hero-visual,
  .download-visual-fade,
  .download-visual-fade::after,
  .download-hero-glow { animation: none !important; }
  .download-border-flow { opacity: .75; }
  .download-halo[data-download-halo]::before { animation: none !important; }
  .download-hero-copy,
  .download-hero-visual,
  .download-visual-fade { transform: none !important; opacity: 1 !important; }
}


/* V27 page-background continuity and download-page simplification.
   Layout, module ordering and component positions stay unchanged. */
body { background: #f5f8fd; }

/* Homepage: use one continuous light-blue family after the dark hero instead
   of hard blue/white/blue cuts between full-width sections. */
.promo-strip {
  border-bottom: 0;
  background: linear-gradient(180deg, #eaf3ff 0%, #f5f8fd 100%);
}
.promo-grid > div { border-color: rgba(126, 154, 198, .18); }
.hero-home + .promo-strip { box-shadow: inset 0 1px 0 rgba(255,255,255,.55); }

main > .section.soft,
.reviews-section {
  background: #f5f8fd;
}
.network-section {
  position: relative;
  color: var(--text);
  background: linear-gradient(180deg, #f5f8fd 0%, #edf4fe 52%, #f5f8fd 100%);
}
.network-section::before,
.network-section::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: clamp(2rem, 5vw, 4.5rem);
  pointer-events: none;
}
.network-section::before {
  top: 0;
  background: linear-gradient(180deg, rgba(245,248,253,.96), rgba(245,248,253,0));
}
.network-section::after {
  bottom: 0;
  background: linear-gradient(0deg, rgba(245,248,253,.96), rgba(245,248,253,0));
}
.network-section > .container { position: relative; z-index: 1; }
.network-section .kicker { color: var(--primary); }
.network-section h2 { color: var(--text); }
.network-section > .container > div:first-child > p,
.network-section .metric-bars span { color: var(--muted); }
.network-section .metric-bars b { color: var(--primary); }
.network-section .metric-bars i { background: #dce6f4; }
.network-section .metric-bars i::after { background: linear-gradient(90deg, #60a5fa, #2563eb); }
.network-section .network-card {
  color: #fff;
  background: linear-gradient(145deg, #10234b, #1e4b91);
}
.network-section .network-card h3 { color: #fff; }
.network-section .network-card p,
.network-section .network-card li { color: #cbd5e1; }

.pricing-section {
  background: linear-gradient(180deg, #f5f8fd 0%, #fff 18%, #fff 82%, #f5f8fd 100%);
}
.pricing-section + .section.soft { background: #f5f8fd; }
.pricing-section + .section.soft + .section { background: #f5f8fd; }
.seo-copy { background: linear-gradient(180deg, #f5f8fd 0%, #eaf2fc 100%); }

/* Clean section-to-footer transition: no long dark shadow band. */
.cta {
  position: relative;
  margin-top: 0;
  border-top: 1px solid rgba(95, 155, 230, .18);
  background: linear-gradient(135deg, #0a2349 0%, #0c326f 58%, #071831 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
.cta::before {
  content: none;
}
.cta > .container { position: relative; z-index: 1; }

/* Download center: the entire first viewport is one complete blue hero. */
.download-hero {
  min-height: min(calc(100svh - var(--header-height) - 2px), 56rem);
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: stretch;
  background:
    radial-gradient(circle at 78% 42%, rgba(41,125,255,.38), transparent 31rem),
    radial-gradient(circle at 18% 12%, rgba(36,202,244,.08), transparent 22rem),
    linear-gradient(135deg, #06152f 0%, #0b2c62 62%, #15488d 100%);
}
.download-hero-grid {
  min-height: 0;
}

/* Download hero-to-content transition: compact and polished, without a large blur strip. */
.download-guide-section {
  position: relative;
  padding-top: clamp(4rem, 6vw, 6rem);
  background: #f5f8fd;
  border-top: 1px solid rgba(120, 165, 220, .16);
}
.download-guide-section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: clamp(1.25rem, 2.5vw, 2.25rem);
  pointer-events: none;
  background: linear-gradient(180deg, rgba(18, 68, 132, .13), rgba(245,248,253,0));
}
.download-guide-section .content-layout {
  position: relative;
  z-index: 1;
  align-items: start;
}
.download-guide-section .prose,
.download-help-card {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(214,225,241,.9);
  box-shadow: 0 1.2rem 3rem rgba(15,42,82,.08);
}
.download-guide-section .prose {
  padding: clamp(1.4rem, 3vw, 2.4rem);
  border-radius: 1.35rem;
}
.download-help-card a {
  display: block;
  padding: .72rem 0;
  border-bottom: 1px solid var(--border);
}
.download-help-card a:last-of-type { margin-bottom: 1.25rem; }
.download-guide-section + * { margin-top: 0; }

@media (max-width: 47.99rem) {
  .download-hero { min-height: calc(100svh - var(--header-height) - 2px); }
  .download-hero-grid { min-height: 0; }
  .download-guide-section {
    padding-top: 3.75rem;
    background: #f5f8fd;
  }
  .download-guide-section .prose { padding: 1.2rem; }
}


/* V35 FAQ component: source typography and chevron, original light background retained. */
.faq-reference-list {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: #172033;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.faq-reference-item {
  position: relative;
  display: grid;
  width: 100%;
  margin: 0 0 .75rem;
  padding: 0;
  overflow: hidden;
  color: #172033;
  background: #ffffff;
  border: 1px solid #e3e9f2;
  border-radius: 1rem;
  box-shadow: 0 .7rem 2.2rem rgba(16, 36, 72, .055);
}
.faq-reference-item:last-child { margin-bottom: 0; }
.faq-reference-item summary {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 16px 48px 16px 16px;
  color: #172033;
  background: transparent;
  border: 0;
  border-radius: 0;
  list-style: none;
  cursor: pointer;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.faq-reference-item summary::-webkit-details-marker { display: none; }
.faq-reference-item summary::marker { content: ""; }
.faq-reference-item summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 22.4px;
  width: 8px;
  height: 8px;
  color: #172033;
  background: transparent;
  box-shadow: 2px 2px 0 0 currentColor;
  pointer-events: none;
  transform: translateY(-100%) rotate(45deg);
  transform-origin: 75% 75%;
  transition: transform .2s cubic-bezier(.4, 0, .2, 1), color .2s ease;
}
.faq-reference-item[open] summary::after {
  color: #2f7cff;
  transform: translateY(-50%) rotate(225deg);
}
.faq-reference-answer {
  display: grid;
  grid-template-rows: 0fr;
  color: #667085;
  background: transparent;
  transition: grid-template-rows .2s cubic-bezier(.4, 0, .2, 1);
}
.faq-reference-item[open] .faq-reference-answer { grid-template-rows: 1fr; }
.faq-reference-answer > div {
  min-height: 0;
  overflow: hidden;
}
.faq-reference-answer p {
  width: calc(100% - 32px);
  margin: 0 auto;
  padding: 0 0 16px;
  color: #667085;
  background: transparent;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.faq-reference-answer a { color: var(--primary, #2f7cff); }
.faq-reference-item summary:focus-visible {
  outline: 2px solid rgba(47,124,255,.42);
  outline-offset: -2px;
}
.faq-page-section {
  background: var(--soft);
}
.faq-page-shell {
  width: min(100%, 58rem);
  margin-inline: auto;
}
.faq-page-list {
  width: 100%;
  margin-inline: auto;
}
.page-faq .faq-reference-item {
  margin-bottom: .8rem;
}
.page-faq .faq-reference-item summary {
  padding: 1.08rem 3.25rem 1.08rem 1.25rem;
}
.page-faq .faq-reference-answer p {
  width: calc(100% - 2.5rem);
  padding-bottom: 1.1rem;
}
@media (max-width: 47.99rem) {
  .faq-reference-item { margin-bottom: .65rem; }
  .faq-reference-item summary {
    padding: 1rem 3rem 1rem 1rem;
  }
  .faq-reference-answer p {
    width: calc(100% - 2rem);
    padding-bottom: .85rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .faq-reference-item summary::after,
  .faq-reference-answer { transition: none; }
}

/* V33 source-brand assets */
.brand:has(.brand-logo) {
  gap: 0;
}
.site-header .brand-logo {
  filter: drop-shadow(0 .16rem .45rem rgba(0, 0, 0, .08));
}
.site-footer .footer-brand {
  display: inline-flex;
  margin-bottom: 1rem;
}
@media (max-width: 45rem) {
  .brand-logo { width: clamp(8.8rem, 42vw, 10.6rem); }
  .footer-brand .brand-logo { width: clamp(10rem, 48vw, 12rem); }
}


/* V39 FAQ spacing cleanup: remove leftover blank bands after reducing the
   homepage FAQ list to five items, while preserving the existing layout. */
.faq-home-section {
  padding-block: clamp(3rem, 5vw, 4.5rem);
}
.faq-home-section .faq-home {
  align-items: start;
}
.faq-home-section + .section {
  padding-top: clamp(3rem, 5vw, 4.5rem);
}
.faq-page-section {
  padding-block: clamp(2.75rem, 4.5vw, 4rem);
}
.faq-page-section .faq-page-shell,
.faq-page-section .faq-page-list {
  margin-block: 0;
}
.faq-page-section .faq-reference-item:last-child {
  margin-bottom: 0;
}
@media (max-width: 47.99rem) {
  .faq-home-section {
    padding-block: 2.5rem;
  }
  .faq-home-section + .section {
    padding-top: 2.5rem;
  }
  .faq-page-section {
    padding-block: 2.25rem 2.5rem;
  }
}

.button.hero-download > span { position: relative; z-index: 5; }

.page-hero,
.article-hero { position: relative; }
.page-hero::after,
.article-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1.25rem;
  transform: translateY(100%);
  pointer-events: none;
  background: linear-gradient(180deg, rgba(23,59,120,.12), rgba(245,248,253,0));
  z-index: 1;
}
.page-hero + .section,
.article-hero + .section { padding-top: calc(var(--section-space) + .75rem); }

/* V40 FAQ: original page layout; source package typography and chevron only. */
.page-faq .faq-page-section {
  background: #f5f8fd;
  padding-block: clamp(3rem, 5vw, 4.75rem);
}
.page-faq .faq-list.faq-source-style {
  width: min(100%, var(--reading-max));
  margin-inline: auto;
}
.page-faq .faq-list.faq-source-style details {
  margin: 0 0 .75rem;
  overflow: hidden;
  color: #172033;
  background: #fff;
  border: 1px solid #e3e9f2;
  border-radius: 1rem;
  box-shadow: 0 .7rem 2.2rem rgba(16,36,72,.055);
}
.page-faq .faq-list.faq-source-style details:last-child { margin-bottom: 0; }
.page-faq .faq-list.faq-source-style summary {
  position: relative;
  display: block;
  margin: 0;
  padding: 1rem 3rem 1rem 1rem;
  color: #172033;
  list-style: none;
  cursor: pointer;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.page-faq .faq-list.faq-source-style summary::-webkit-details-marker { display: none; }
.page-faq .faq-list.faq-source-style summary::marker { content: ""; }
.page-faq .faq-list.faq-source-style summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.4rem;
  width: .5rem;
  height: .5rem;
  color: #172033;
  box-shadow: 2px 2px 0 0 currentColor;
  transform: translateY(-100%) rotate(45deg);
  transform-origin: 75% 75%;
  transition: transform .2s cubic-bezier(.4,0,.2,1), color .2s ease;
}
.page-faq .faq-list.faq-source-style details[open] summary::after {
  color: #2f7cff;
  transform: translateY(-50%) rotate(225deg);
}
.page-faq .faq-list.faq-source-style details > p {
  width: calc(100% - 2rem);
  margin: 0 auto;
  padding: 0 0 1rem;
  color: #667085;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (max-width: 47.99rem) {
  .page-faq .faq-page-section { padding-block: 2.5rem 3rem; }
  .page-faq .faq-list.faq-source-style summary { padding: 1rem 3rem 1rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .page-faq .faq-list.faq-source-style summary::after { transition: none; }
}

/* Rich-text content classes generated by the CMS visual editor. */
.prose .align-left { text-align: left; }
.prose .align-center { text-align: center; }
.prose .align-right { text-align: right; }
.prose figure { margin: 1.5rem 0; }
.prose figure img, .prose .content-image { display: block; max-width: 100%; height: auto; margin-inline: auto; border-radius: .75rem; }
.prose figcaption { margin-top: .55rem; color: var(--muted); text-align: center; }
.prose table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; }
.prose th, .prose td { border: 1px solid var(--border); padding: .75rem; text-align: left; }
.prose th { background: #f7f9fc; }

/* V54 download-first UI, article UX and search-engine-neutral technical SEO support */
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:9999;padding:.7rem 1rem;color:#081a36;background:#fff;border-radius:.6rem;box-shadow:0 10px 30px rgba(0,0,0,.18);transform:translateY(-180%);transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}
.download-hero-v54{position:relative;overflow:hidden;isolation:isolate;padding:0;background:radial-gradient(circle at 78% 42%,rgba(45,136,255,.32),transparent 31%),radial-gradient(circle at 23% 12%,rgba(36,211,255,.18),transparent 28%),linear-gradient(135deg,#03142d 0%,#062f67 52%,#0856ac 100%)}
.download-hero-v54:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.24;background-image:radial-gradient(circle at 20% 30%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 65% 15%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 78% 62%,#fff 0 1px,transparent 1.5px);background-size:140px 140px,190px 190px,220px 220px}
.download-hero-grid-v54{align-items:center;gap:clamp(2rem,5vw,6rem)}
.download-hero-v54 .download-hero-copy{width:min(100%,42.5rem);max-width:680px;justify-self:center;color:#fff}.download-hero-v54 .eyebrow{color:#7be7ff;background:rgba(36,211,255,.09);border:1px solid rgba(123,231,255,.22);padding:.42rem .72rem;border-radius:999px}.download-hero-v54 h1{max-width:760px;margin:.95rem 0 1rem}.download-hero-v54 .download-hero-copy>p{max-width:650px;color:rgba(238,247,255,.8)}
.download-actions-v54{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem}.download-secondary-button{color:#fff!important;border:1px solid rgba(255,255,255,.26)!important;background:rgba(255,255,255,.07)!important;box-shadow:none!important}.download-secondary-button:hover{background:rgba(255,255,255,.13)!important}
.download-trust-line{display:flex;flex-wrap:wrap;gap:.55rem 1.15rem;margin-top:1.2rem;color:rgba(232,246,255,.76)}
.download-visual-badge{position:absolute;right:-1.2rem;bottom:2rem;display:grid;grid-template-columns:auto 1fr;column-gap:.55rem;align-items:center;min-width:210px;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.17);border-radius:1rem;background:rgba(3,20,45,.72);box-shadow:0 20px 60px rgba(0,0,0,.28);backdrop-filter:blur(18px);color:#fff}.download-visual-badge .status-dot{grid-row:1/3;width:.68rem;height:.68rem;border-radius:50%;background:#3df29d;box-shadow:0 0 0 5px rgba(61,242,157,.13),0 0 22px rgba(61,242,157,.7)}.download-visual-badge small{color:rgba(255,255,255,.64)}
.download-proof-strip{width:100%;align-self:end;border-top:1px solid rgba(255,255,255,.16);background:rgba(2,18,46,.24);backdrop-filter:blur(8px)}.download-proof-grid{display:grid;grid-template-columns:repeat(3,1fr)}.download-proof-grid>div{display:grid;gap:.22rem;padding:1.25rem 2rem;border-right:1px solid rgba(255,255,255,.14)}.download-proof-grid>div:first-child{border-left:1px solid rgba(255,255,255,.14)}.download-proof-grid b{color:#fff}.download-proof-grid span{color:rgba(232,246,255,.76)}
.download-overview-v54{background:linear-gradient(180deg,#f7faff 0%,#fff 100%)}.download-overview-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.7fr);gap:1.35rem;align-items:stretch}.download-system-card,.download-safety-card{border:1px solid #dde7f4;border-radius:1.4rem;background:#fff;box-shadow:0 18px 60px rgba(34,74,130,.08)}.download-system-card{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:clamp(1.25rem,3vw,2.1rem)}.download-system-icon{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:.9rem;color:#fff;background:linear-gradient(135deg,#0b5cff,#1ab6ff);box-shadow:0 14px 30px rgba(11,92,255,.25)}.download-system-card>div:nth-child(2)>span{color:#0b5cff;text-transform:uppercase}.download-system-card h2{margin:.25rem 0 .45rem}.download-system-card p{margin:0;color:#647087}.download-system-card dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0 0;border:1px solid #e6edf6;border-radius:1rem;overflow:hidden}.download-system-card dl>div{display:grid;gap:.2rem;padding:1rem;border-right:1px solid #e6edf6}.download-system-card dl>div:last-child{border-right:0}.download-system-card dt{color:#8390a5}.download-system-card dd{margin:0;color:#16213a}.checksum-box{grid-column:1/-1;display:grid;gap:.45rem;padding:1rem;border-radius:.9rem;background:#f5f8fd}.checksum-box code{overflow:auto;color:#3e4b62;white-space:nowrap}.download-safety-card{padding:clamp(1.25rem,3vw,2rem)}.download-safety-card h2{margin:.35rem 0 .8rem}.download-safety-card ul{display:grid;gap:.7rem;margin:1.15rem 0 1.35rem;padding:0;list-style:none}.download-safety-card li{position:relative;padding-left:1.5rem;color:#59677e}.download-safety-card li:before{content:"✓";position:absolute;left:0;color:#0ba36f}
.install-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0 0;padding:0;list-style:none}.install-step-grid li{position:relative;display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.45rem;border:1px solid #dfe7f3;border-radius:1.15rem;background:#fff;box-shadow:0 12px 34px rgba(32,69,117,.06)}.install-step-grid>li>span{display:grid;place-items:center;width:2.55rem;height:2.55rem;border-radius:.8rem;color:#0b5cff;background:#edf4ff}.install-step-grid h3{margin:.05rem 0 .35rem}.install-step-grid p{margin:0;color:#68758c}
.download-sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:.65rem 0;border-top:1px solid rgba(210,224,242,.9);background:rgba(255,255,255,.92);box-shadow:0 -16px 45px rgba(25,54,94,.12);backdrop-filter:blur(18px);transform:translateY(120%);transition:transform .25s ease}.download-sticky-bar.is-visible{transform:translateY(0)}.download-sticky-bar>.container{display:flex;align-items:center;justify-content:space-between;gap:1rem}.download-sticky-bar>.container>div{display:grid}.download-sticky-bar span{color:#778399}
.article-hero-v54{padding:4.5rem 0 3.4rem;background:radial-gradient(circle at 75% 35%,rgba(37,151,255,.18),transparent 30%),linear-gradient(150deg,#061a38,#0a3977);color:#fff}.article-hero-inner{max-width:980px}.article-hero-v54 .breadcrumb{color:rgba(255,255,255,.66)}.article-hero-v54 .breadcrumb a{color:rgba(255,255,255,.78)}.article-kicker{margin-top:1.2rem;color:#65e4ff;text-transform:uppercase}.article-hero-v54 h1{max-width:900px;margin:.6rem 0 .9rem}.article-lead{max-width:780px;margin:0;color:rgba(237,246,255,.77)}.article-meta{display:flex;flex-wrap:wrap;gap:.55rem 1.2rem;margin-top:1.35rem;color:rgba(232,244,255,.65)}
.article-layout-v54{display:grid;grid-template-columns:minmax(0,780px) minmax(250px,320px);gap:clamp(1.5rem,4vw,4rem);align-items:start}.article-content-v54{max-width:none}.article-content-v54 h2,.article-content-v54 h3{scroll-margin-top:110px}.article-content-v54 h2{margin-top:2.3rem;padding-top:.2rem}.article-content-v54 h3{margin-top:1.7rem}.article-sidebar-v54{display:grid;gap:1rem}.article-toc ol,.article-toc-mobile ol{display:grid;gap:.55rem;margin:.8rem 0 0;padding:0;list-style:none}.article-toc .toc-level-3,.article-toc-mobile .toc-level-3{padding-left:1rem}.article-toc a{color:#4e5d74}.article-toc a:hover{color:#0b5cff}.article-toc-mobile{display:none;margin:0 0 1.4rem;padding:1rem;border:1px solid #dfe8f5;border-radius:1rem;background:#f8fbff}.article-toc-mobile summary{cursor:pointer}.article-side-download{background:linear-gradient(155deg,#071f44,#0c56ad);color:#fff}.article-side-download>span{color:#70e7ff}.article-side-download h2{color:#fff;margin:.35rem 0}.article-side-download p{color:rgba(255,255,255,.72)}.article-download-card{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;margin:2.4rem 0 1.3rem;padding:1.35rem 1.5rem;border:1px solid #cfe0f6;border-radius:1.15rem;background:linear-gradient(135deg,#f2f7ff,#fff)}.article-download-card span{color:#0b5cff}.article-download-card h2{margin:.25rem 0!important;padding:0!important}.article-download-card p{margin:0;color:#617087}.related-v54{grid-template-columns:repeat(4,minmax(0,1fr))}.error-page{min-height:66vh;display:grid;place-items:center;text-align:center;background:linear-gradient(180deg,#f6f9fe,#fff)}.error-page span{display:block;color:#0b5cff}.error-page h1{margin:.6rem 0}.error-page p{color:#6c788d}.error-page div div{display:flex;justify-content:center;gap:.7rem;margin-top:1.2rem}
@media(max-width:1000px){.download-overview-grid,.article-layout-v54{grid-template-columns:1fr}.download-system-card dl{grid-template-columns:repeat(2,1fr)}.download-system-card dl>div:nth-child(2){border-right:0}.download-system-card dl>div:nth-child(-n+2){border-bottom:1px solid #e6edf6}.install-step-grid,.download-proof-grid,.related-v54{grid-template-columns:1fr 1fr}.download-proof-grid>div:nth-child(3){grid-column:1/-1;border-left:1px solid rgba(255,255,255,.14)}.article-sidebar-v54{display:none}.article-toc-mobile{display:block}}
@media(max-width:720px){.download-actions-v54{align-items:stretch;flex-direction:column}.download-actions-v54>*{width:100%}.download-trust-line{display:grid;gap:.35rem}.download-visual-badge{right:.25rem;bottom:.5rem}.download-proof-grid,.install-step-grid,.related-v54{grid-template-columns:1fr}.download-proof-grid>div,.download-proof-grid>div:first-child,.download-proof-grid>div:nth-child(3){grid-column:auto;border-left:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding:1rem 0}.download-system-card{grid-template-columns:1fr}.download-system-card dl{grid-template-columns:1fr}.download-system-card dl>div{border-right:0;border-bottom:1px solid #e6edf6!important}.download-system-card dl>div:last-child{border-bottom:0!important}.article-hero-v54{padding:3.6rem 0 2.6rem}.article-download-card{align-items:flex-start;flex-direction:column}.article-download-card .button{width:100%}.download-sticky-bar>.container>div{display:none}.download-sticky-bar .button{width:100%}}
@media(min-width:48rem) and (max-height:50rem){.download-hero-grid{padding-block:clamp(1rem,2.2vh,1.75rem)}.download-hero-visual{width:min(100%,30rem,57svh)}}
@media(prefers-reduced-motion:reduce){.download-sticky-bar,.skip-link{transition:none}}

/* V56 visual polish only: typography and asset rendering; layout geometry is unchanged. */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-synthesis: none;
}
.brand-logo { object-fit: contain; object-position: left center; }
.prose { font-variant-numeric: proportional-nums; }

/* V57 production corrections: managed colors, refined carousel controls and stable download copy. */
.carousel-arrow {
  display: inline-grid;
  place-items: center;
  width: 2.75rem;
  min-width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 1px solid #dfe8f4;
  border-radius: 50%;
  color: #173b70;
  background: rgba(255,255,255,.94);
  box-shadow: 0 .45rem 1.3rem rgba(25,61,105,.09), inset 0 1px 0 rgba(255,255,255,.95);
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
  transition: transform .18s ease, color .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.carousel-arrow svg { width: 1.2rem; height: 1.2rem; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; }
.carousel-arrow:hover { color: var(--primary); border-color: #b8d5ff; background: #edf5ff; transform: translateY(-2px); box-shadow: 0 .75rem 1.7rem rgba(23,105,224,.16); }
.carousel-arrow:active { transform: translateY(0) scale(.97); }
.carousel-arrow:focus { outline: none; }
.carousel-arrow:focus-visible { outline: 3px solid rgba(23,105,224,.22); outline-offset: 3px; }
.carousel-dot { background: #d5dfec; }
.carousel-dot.active { background: var(--primary); }
.review-disclosure { display:block; margin-top:.7rem; color:#7b8799; }
.download-proof-grid span,.download-system-card p,.download-system-card dd { text-wrap:pretty; }
@media (max-width: 47.99rem) {
  .carousel-arrow { width: 2.5rem; min-width: 2.5rem; height: 2.5rem; }
  .carousel-arrow svg { width: 1.05rem; height: 1.05rem; }
}

.footer-links{display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap;padding-top:18px;padding-bottom:24px;border-top:1px solid rgba(255,255,255,.1)}.footer-links span{color:rgba(255,255,255,.55)}.footer-links a{color:rgba(255,255,255,.78)}.footer-links a:hover{color:#fff}

/* V59 CMS-driven banner, tags and static search modules. */
.managed-banners{padding:1rem 0;background:#f5f8fd;border-bottom:1px solid #e3ebf5}.managed-banner-grid{display:grid;gap:1rem}.managed-banner-card{display:grid;grid-template-columns:minmax(0,220px) 1fr;align-items:center;gap:1.25rem;padding:1rem;border:1px solid #dce7f4;border-radius:1rem;background:#fff;box-shadow:0 12px 36px rgba(35,75,126,.06)}.managed-banner-card img{width:100%;height:auto;max-height:130px;object-fit:cover;border-radius:.75rem}.managed-banner-card h2{margin:0 0 .35rem}.managed-banner-card p{margin:0 0 .6rem;color:#66748b}.tag-cloud{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem}.tag-cloud a{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:1rem 1.1rem;border:1px solid #dce6f3;border-radius:.9rem;background:#fff;box-shadow:0 9px 28px rgba(31,70,120,.05)}.tag-cloud small{color:#7a879a}.article-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin:1.6rem 0}.article-tags a{padding:.42rem .72rem;border:1px solid #d7e5f6;border-radius:999px;background:#f5f9ff}.search-page{min-height:30rem}.search-form label{display:block;margin-bottom:.6rem}.search-form>div{display:grid;grid-template-columns:1fr auto;gap:.7rem}.search-form input{min-width:0;padding:.85rem 1rem;border:1px solid #cfdcec;border-radius:.75rem;background:#fff;font:inherit}.search-form input:focus{outline:3px solid rgba(23,105,224,.14);border-color:var(--primary)}.search-status{margin:1.2rem 0;color:#68758b}.search-results{display:grid;gap:.9rem}.search-results article{padding:1.2rem 1.3rem;border:1px solid #dfe7f2;border-radius:1rem;background:#fff}.search-results time,.search-results small{color:#7b8799}.search-results h2{margin:.25rem 0 .45rem}.search-results p{margin:0;color:#647188}.empty-state-front{padding:2rem;border:1px dashed #cdd9e8;border-radius:1rem;color:#6d7a90;text-align:center}
@media(max-width:720px){.managed-banner-card{grid-template-columns:1fr}.search-form>div{grid-template-columns:1fr}.search-form .button{width:100%}}

/* V60 content-to-template compatibility: all rules are scoped to article/list content. */
.article-hero-v54 .breadcrumb,
.article-hero-v54 h1,
.article-hero-v54 .article-lead,
.article-list article,
.article-list h2,
.article-card,
.article-card h3,
.related-v54 article { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.article-content-v54 { min-width:0; max-width:100%; overflow-wrap:break-word; word-break:normal; }
.article-content-v54 > *,
.article-content-v54 figure,
.article-content-v54 img,
.article-content-v54 video,
.article-content-v54 iframe,
.article-content-v54 table,
.article-content-v54 pre { max-width:100%; box-sizing:border-box; }
.article-content-v54 a { overflow-wrap:anywhere; word-break:break-word; }
.article-content-v54 img { display:block; width:auto; height:auto; object-fit:contain; margin-inline:auto; }
.article-content-v54 .article-cover { margin:0 0 2rem; }
.article-content-v54 .article-cover img { width:100%; max-height:620px; object-fit:contain; border-radius:1rem; background:#f5f8fc; }
.article-content-v54 figure { margin-left:0; margin-right:0; }
.article-content-v54 figcaption { overflow-wrap:anywhere; }
.article-content-v54 table { display:block; width:max-content; min-width:100%; overflow-x:auto; border-collapse:collapse; -webkit-overflow-scrolling:touch; }
.article-content-v54 th,
.article-content-v54 td { min-width:7rem; vertical-align:top; white-space:normal; overflow-wrap:anywhere; }
.article-content-v54 pre { overflow:auto; -webkit-overflow-scrolling:touch; white-space:pre; }
.article-content-v54 code { overflow-wrap:anywhere; }
.article-content-v54 pre code { overflow-wrap:normal; word-break:normal; }
.article-content-v54 blockquote { margin:1.5rem 0; padding:1rem 1.2rem; border-left:4px solid var(--primary); background:#f5f8fd; color:#4d5c73; }
.article-content-v54 ul,
.article-content-v54 ol { padding-left:1.4rem; }
.article-content-v54 video { width:100%; height:auto; }
.article-content-v54 iframe { display:block; width:100%; aspect-ratio:16/9; height:auto; min-height:220px; border:0; }
.article-pager { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; margin:2rem 0; }
.article-pager a { display:grid; min-width:0; gap:.25rem; padding:1rem 1.1rem; border:1px solid #dce7f4; border-radius:.9rem; background:#fff; box-shadow:0 9px 28px rgba(31,70,120,.05); }
.article-pager a:last-child { text-align:right; }
.article-pager small { color:#7a879a; }
.article-pager span { color:#17243b; overflow-wrap:anywhere; }
.article-download-card > div { min-width:0; }
.article-download-card .button { flex:0 0 auto; }
@media(max-width:720px){
  .article-pager{grid-template-columns:1fr}.article-pager a:last-child{text-align:left}
  .article-content-v54 iframe{min-height:180px}
}

/* Managed rich text on fixed pages and the download guide shares the same safe overflow behavior. */
.managed-rich-content{min-width:0;max-width:100%;overflow-wrap:break-word;word-break:normal}
.managed-rich-content>*,.managed-rich-content figure,.managed-rich-content img,.managed-rich-content video,.managed-rich-content iframe,.managed-rich-content table,.managed-rich-content pre{max-width:100%;box-sizing:border-box}
.managed-rich-content a{overflow-wrap:anywhere;word-break:break-word}
.managed-rich-content img{width:auto;height:auto;object-fit:contain}
.managed-rich-content table{display:block;width:max-content;min-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.managed-rich-content th,.managed-rich-content td{min-width:7rem;white-space:normal;overflow-wrap:anywhere}
.managed-rich-content pre{overflow:auto;white-space:pre;-webkit-overflow-scrolling:touch}
.managed-rich-content video{width:100%;height:auto}
.managed-rich-content iframe{display:block;width:100%;max-width:100%;aspect-ratio:16/9;height:auto;min-height:220px;border:0}
@media(max-width:720px){.managed-rich-content iframe{min-height:180px}}

/* Review identity badge; experience-display portraits are local synthetic images. */
.reviewer > .reviewer-initial {
  width: 3.25rem;
  height: 3.25rem;
  flex: 0 0 3.25rem;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #e8f1ff;
  color: var(--primary);
  box-shadow: 0 .35rem .9rem rgba(15,23,42,.13);
}
.reviewer > .review-avatar {
  width: 3.25rem;
  height: 3.25rem;
  flex: 0 0 3.25rem;
  display: block;
  object-fit: cover;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 .35rem .9rem rgba(15,23,42,.13);
}
.reviewer time { display: block; color: var(--muted); }


/* V63: safe unavailable-download state without changing the confirmed layout. */
.button.is-disabled,.nav-download.is-disabled{cursor:not-allowed;opacity:1;filter:none;user-select:none;pointer-events:none}
.main-nav .nav-download.is-disabled{display:inline-flex;align-items:center;justify-content:center}
.download-halo.is-disabled{display:inline-flex}
.download-halo.is-disabled .button{pointer-events:none}
.side-link-disabled{display:block;color:#8290a5;cursor:not-allowed}


/* v68: unavailable downloads remain visually consistent with the brand instead of appearing broken. */
.download-halo.is-disabled .button.hero-download,
.button.primary.is-disabled,
.nav-download.is-disabled{
  color:#fff;
  background:linear-gradient(135deg,#2d6fca,#3b93bd);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 .7rem 1.8rem rgba(6,44,98,.2);
}
.download-halo.is-disabled .button.hero-download .direction-icon{opacity:.8}
.button.light.is-disabled{color:var(--navy);background:#fff;box-shadow:0 .75rem 2rem rgba(0,0,0,.1)}
/* ==========================================================================
   Typography Baseline
   Single semantic front-end type system for all generated and future pages.
   ========================================================================== */
:root {
  --font-family-base: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
  --font-size-body: 1rem;
  --font-size-home-h1: clamp(1.875rem, calc(.875rem + 5vw), 2rem);
  --font-size-page-h1: clamp(1.75rem, calc(.75rem + 5vw), 1.875rem);
  --font-size-article-h1: clamp(1.75rem, calc(.75rem + 5vw), 1.875rem);
  --font-size-section-h2: clamp(1.5rem, calc(.5rem + 5vw), 1.625rem);
  --font-size-secondary-h2: 1.5rem;
  --font-size-prose-h2: 1.5rem;
  --font-size-prose-h3: 1.25rem;
  --font-size-module-h3: clamp(1.25rem, calc(.75rem + 2.5vw), 1.3125rem);
  --font-size-card-title: clamp(1.0625rem, calc(.5625rem + 2.5vw), 1.125rem);
  --font-size-cta-title: 1.5rem;
  --font-size-description: 1rem;
  --font-size-card-body: clamp(.9375rem, calc(.8482rem + .2232vw), 1rem);
  --font-size-faq-question: 1rem;
  --font-size-breadcrumb: .75rem;
  --font-size-button: clamp(.9375rem, calc(.8929rem + .2232vw), 1rem);
  --font-size-button-large: 1rem;
  --font-size-nav: .9375rem;
  --font-size-aux: .875rem;
  --font-size-meta: .8125rem;
  --font-size-label: .75rem;
}
@media (min-width: 22.5rem) {
  :root {
    --font-size-home-h1: 2rem;
    --font-size-page-h1: 1.875rem;
    --font-size-article-h1: 1.875rem;
    --font-size-section-h2: 1.625rem;
    --font-size-module-h3: 1.3125rem;
    --font-size-card-title: 1.125rem;
  }
}
@media (min-width: 26.875rem) {
  :root {
    --font-size-home-h1: clamp(2rem, calc(1.3639rem + 2.3669vw), 2.5rem);
    --font-size-page-h1: clamp(1.875rem, calc(1.3979rem + 1.7751vw), 2.25rem);
    --font-size-article-h1: clamp(1.875rem, calc(1.557rem + 1.1834vw), 2.125rem);
    --font-size-section-h2: clamp(1.625rem, calc(1.307rem + 1.1834vw), 1.875rem);
    --font-size-secondary-h2: clamp(1.5rem, calc(1.341rem + .5917vw), 1.625rem);
    --font-size-prose-h2: clamp(1.5rem, calc(1.341rem + .5917vw), 1.625rem);
    --font-size-prose-h3: clamp(1.25rem, calc(1.1705rem + .2959vw), 1.3125rem);
    --font-size-module-h3: clamp(1.3125rem, calc(1.233rem + .2959vw), 1.375rem);
    --font-size-card-title: 1.125rem;
    --font-size-cta-title: clamp(1.5rem, calc(1.182rem + 1.1834vw), 1.75rem);
    --font-size-description: clamp(1rem, calc(.9205rem + .2959vw), 1.0625rem);
  }
}
@media (min-width: 48rem) {
  :root {
    --font-size-home-h1: clamp(2.5rem, calc(1.8579rem + 1.3378vw), 3rem);
    --font-size-page-h1: clamp(2.25rem, calc(1.7684rem + 1.0033vw), 2.625rem);
    --font-size-article-h1: clamp(2.125rem, calc(1.6434rem + 1.0033vw), 2.5rem);
    --font-size-section-h2: clamp(1.875rem, calc(1.5539rem + .6689vw), 2.125rem);
    --font-size-secondary-h2: clamp(1.625rem, calc(1.4645rem + .3344vw), 1.75rem);
    --font-size-prose-h2: clamp(1.625rem, calc(1.4645rem + .3344vw), 1.75rem);
    --font-size-prose-h3: clamp(1.3125rem, calc(1.2322rem + .1672vw), 1.375rem);
    --font-size-module-h3: clamp(1.375rem, calc(1.2145rem + .3344vw), 1.5rem);
    --font-size-card-title: clamp(1.125rem, calc(1.0447rem + .1672vw), 1.1875rem);
    --font-size-cta-title: clamp(1.75rem, calc(1.4289rem + .6689vw), 2rem);
    --font-size-description: clamp(1.0625rem, calc(.9822rem + .1672vw), 1.125rem);
    --font-size-faq-question: 1.0625rem;
    --font-size-breadcrumb: .8125rem;
  }
}
@media (min-width: 85.375rem) {
  :root {
    --font-size-home-h1: 3rem;
    --font-size-page-h1: 2.625rem;
    --font-size-article-h1: 2.5rem;
    --font-size-section-h2: 2.125rem;
    --font-size-secondary-h2: 1.75rem;
    --font-size-prose-h2: 1.75rem;
    --font-size-prose-h3: 1.375rem;
    --font-size-module-h3: 1.5rem;
    --font-size-card-title: 1.1875rem;
    --font-size-cta-title: 2rem;
    --font-size-description: 1.125rem;
  }
}
body {
  font-family: var(--font-family-base);
  font-size: var(--font-size-body);
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: 0;
}
p, li, dd { text-wrap: pretty; }
strong, b { font-weight: 700; }
.brand { font-size: 1.25rem; font-weight: 700; line-height: 1; }
.brand:has(.brand-logo) { font-size: 0; line-height: 1; }
.main-nav a, .main-nav .nav-download { font-size: var(--font-size-nav); font-weight: 500; line-height: 1.4; letter-spacing: 0; }
.main-nav .nav-download { font-weight: 600; }
.nav-toggle { font-size: 1.35rem; line-height: 1; }
.button {
  font-size: var(--font-size-button);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
}
.button.big, .button.hero-download, .download-panel .button.big {
  font-size: var(--font-size-button-large);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
}
.button.hero-download .direction-icon { width: 1.1em; height: 1.1em; }
.eyebrow, .kicker, .article-kicker {
  font-size: var(--font-size-label);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .08em;
}
.hero-home h1, .download-hero-copy h1, .page-hero h1, .error-page h1, .article-hero h1 {
  text-wrap: balance;
  overflow-wrap: break-word;
  word-break: normal;
}
.hero-home h1 {
  font-size: var(--font-size-home-h1);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.015em;
}
.download-hero-copy h1, .page-hero h1, .error-page h1 {
  font-size: var(--font-size-page-h1);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.01em;
}
.article-hero h1 {
  font-size: var(--font-size-article-h1);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.01em;
}
.hero-copy > p, .download-hero-copy > p:not(.download-hero-support), .page-hero p, .article-lead, .article-hero p {
  font-size: var(--font-size-description);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
}
.trust, .download-hero-support, .download-trust-line, .download-proof-grid span {
  font-size: var(--font-size-aux);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0;
}
.hero-stats strong {
  font-size: var(--font-size-card-title);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
}
.hero-stats span, .promo-grid span {
  font-size: var(--font-size-aux);
  font-weight: 400;
  line-height: 1.55;
}
.hero-stat-nowrap { white-space: nowrap; }
.section-head h2, .section-row h2, .network-split > div:first-child > h2,
.faq-home > div:first-child > h2, .seo-copy h2 {
  font-size: var(--font-size-section-h2);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
}
.download-main h2, .download-overview-v54 > .container > h2 {
  font-size: var(--font-size-secondary-h2);
  font-weight: 700;
  line-height: 1.3;
}
.download-system-card h2, .download-safety-card h2, .managed-banner-card h2,
.network-card h3, .side-card h2, .sidebar-title,
.article-download-card .cta-card-title, .article-toc-mobile summary {
  font-size: var(--font-size-module-h3);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0;
}
.prose, .managed-rich-content, .article-content-v54 {
  font-size: var(--font-size-body);
  font-weight: 400;
  line-height: 1.78;
  letter-spacing: 0;
  overflow-wrap: break-word;
  word-break: normal;
}
.prose h2:not(.cta-card-title), .article-content-v54 h2:not(.cta-card-title) {
  font-size: var(--font-size-prose-h2);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
}
.prose h3, .article-content-v54 h3 {
  font-size: var(--font-size-prose-h3);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
}
.prose h4, .article-content-v54 h4 {
  font-size: var(--font-size-body);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0;
}
.cards h3, .price-card h3, .article-card h3, .install-step-grid h3,
.article-list h2, .search-results h2 {
  font-size: var(--font-size-card-title);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
}
.cards p, .article-card p, .article-list p, .price-card li, .network-card p, .network-card li,
.download-system-card p, .download-safety-card li, .install-step-grid p,
.article-download-card p, .article-side-download p, .download-help-card p,
.managed-banner-card p, .search-results p {
  font-size: var(--font-size-card-body);
  font-weight: 400;
  line-height: 1.65;
}
.cta h2 {
  font-size: var(--font-size-cta-title);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
}
.cta p { font-size: var(--font-size-body); line-height: 1.65; }
.cta-detail { font-size: var(--font-size-aux); font-weight: 400; line-height: 1.55; }
.faq-list, .faq-reference-list, .page-faq .faq-list.faq-source-style { font-family: var(--font-family-base); }
.faq-list summary, .faq-reference-item summary, .page-faq .faq-list.faq-source-style summary {
  font-family: inherit;
  font-size: var(--font-size-faq-question);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}
.faq-list details p, .faq-reference-answer p, .page-faq .faq-list.faq-source-style details > p {
  font-family: inherit;
  font-size: var(--font-size-body);
  font-weight: 400;
  line-height: 1.72;
  letter-spacing: 0;
}
.review-card > p, .review-slide > p, .review-carousel.review-carousel-multi .review-card > p {
  font-size: var(--font-size-body);
  font-weight: 400;
  line-height: 1.7;
}
.review .stars, .stars { font-size: var(--font-size-aux); letter-spacing: .08em; }
.reviewer b { font-size: 1rem; font-weight: 600; line-height: 1.4; }
.reviewer small, .reviewer time, .review-disclosure { font-size: var(--font-size-meta); font-weight: 400; line-height: 1.5; }
.reviewer > span, .reviewer > .reviewer-initial, .avatar-badge { font-weight: 700; letter-spacing: 0; }
.article-meta, .article-hero time, .article-card time, .article-list time,
.search-results time, .search-results small, .copyright, .footer-links {
  font-size: var(--font-size-meta);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
.breadcrumb {
  font-size: var(--font-size-breadcrumb);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}
.article-side-download > span, .article-download-card span,
.download-system-card > div:nth-child(2) > span, .download-system-card dt {
  font-size: var(--font-size-label);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .08em;
}
.article-content-v54 > p:first-of-type { font-size: var(--font-size-body); line-height: 1.78; }
.article-toc li, .article-toc-mobile li, .related a { font-size: var(--font-size-aux); line-height: 1.55; }
.article-toc .toc-level-3, .article-toc-mobile .toc-level-3 { font-size: var(--font-size-meta); }
.article-pager span, .tag-cloud a,
.managed-banner-card a, .search-form label { font-weight: 600; }
.read-more, .pagination a, .pagination span { font-size: var(--font-size-button); font-weight: 600; line-height: 1.3; }
.article-tags a { font-size: var(--font-size-meta); font-weight: 600; }
.article-pager small, .tag-cloud small, .download-visual-badge small { font-size: var(--font-size-meta); font-weight: 400; line-height: 1.5; }
.price-card small, .download-main small { font-size: var(--font-size-aux); line-height: 1.55; }
.prose figcaption { font-size: var(--font-size-aux); line-height: 1.55; }
.prose pre, .prose table, .article-content-v54 table, .managed-rich-content table { font-size: var(--font-size-aux); }
.footer-grid h3 { font-size: 1rem; font-weight: 600; line-height: 1.45; }
.footer-grid a { font-size: .9375rem; font-weight: 400; line-height: 1.6; }
.footer-grid p { font-size: .9375rem; line-height: 1.65; }
.footer-grid small, .copyright a, .footer-links a, .footer-links span { font-size: var(--font-size-meta); line-height: 1.55; }
.download-proof-grid b { font-size: 1rem; font-weight: 600; line-height: 1.45; }
.cards article > b { font-size: 1.5rem; font-weight: 700; line-height: 1.2; }
.price strong { font-size: clamp(2rem, calc(1.5rem + 1vw), 3rem); font-weight: 700; line-height: 1; }
.popular { font-size: var(--font-size-label); font-weight: 600; line-height: 1.5; }
.network-orbit span, .check-list li::before, .download-safety-card li::before,
.install-step-grid > li > span { font-weight: 700; }
.windows-icon { font-size: 1.9rem; line-height: 1; }
.windows-icon.large { font-size: 2.35rem; line-height: 1; }
.download-system-icon { font-size: 1.8rem; line-height: 1; }
.download-system-card dd { font-size: .9375rem; font-weight: 600; line-height: 1.5; }
.facts span, .download-sticky-bar span { font-size: var(--font-size-label); line-height: 1.5; }
.facts strong { font-size: .9375rem; font-weight: 600; line-height: 1.45; }
.detected-file, .checksum-box code { font-size: var(--font-size-meta); line-height: 1.55; }
.error-page span { font-size: clamp(4rem, 12vw, 8rem); font-weight: 900; line-height: 1; }

/* Homepage slogan: keep the complete desktop phrase on one line. */
@media (min-width: 61.01rem) {
  .hero-home .hero-copy h1 {
    width: max-content;
    max-width: none;
    white-space: nowrap;
    text-wrap: nowrap;
  }
}
