:root {
  --q-canvas: #fff;
  --q-soft: #f7f9fc;
  --q-ink: #07162f;
  --q-body: #334155;
  --q-muted: #64748b;
  --q-rule: #d8e0ea;
  --q-blue: #075ce5;
  --q-blue-hover: #0049bb;
  --q-navy: #071d3b;
  --q-warning: #9a5b00;
  --q-warning-bg: #fff8e8;
  --q-shell: 1200px;
  --q-article: 760px;
  --q-radius: 9px;
  --q-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { scroll-behavior: smooth; }
body.q-site { margin: 0; background: var(--q-canvas); color: var(--q-body); font-family: var(--q-font); font-size: 17px; line-height: 1.68; -webkit-font-smoothing: antialiased; }
.q-site *, .q-site *::before, .q-site *::after { box-sizing: border-box; }
.q-site img { display: block; max-width: 100%; height: auto; }
.q-site a { color: var(--q-blue); text-decoration-thickness: 1px; text-underline-offset: .19em; }
.q-site a:hover { color: var(--q-blue-hover); }
.q-site h1, .q-site h2, .q-site h3, .q-site strong { color: var(--q-ink); }
.q-site h1, .q-site h2, .q-site h3 { margin: 0; font-weight: 760; letter-spacing: -.035em; line-height: 1.08; text-wrap: balance; }
.q-site h1 { font-size: clamp(2.75rem, 5vw, 4.25rem); }
.q-site h2 { font-size: clamp(2rem, 3.3vw, 2.75rem); }
.q-site h3 { font-size: clamp(1.3rem, 2vw, 1.65rem); }
.q-site p { margin: 0 0 1.15em; }
.q-site code, .q-site pre { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
.q-site :focus-visible { outline: 3px solid rgba(7,92,229,.32); outline-offset: 3px; }
.q-shell { width: min(calc(100% - 48px), var(--q-shell)); margin-inline: auto; }
.q-article-shell { max-width: var(--q-article); margin-inline: auto; }

.q-header { position: relative; z-index: 30; border-bottom: 1px solid var(--q-rule); background: rgba(255,255,255,.97); }
.q-header-inner { min-height: 82px; display: flex; align-items: center; gap: 36px; }
.q-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--q-ink) !important; font-size: 1.35rem; font-weight: 780; letter-spacing: -.025em; text-decoration: none; white-space: nowrap; }
.q-brand img { width: 40px; height: 40px; }
.q-nav { display: flex; align-items: center; justify-content: center; gap: clamp(20px, 3vw, 40px); margin-left: auto; }
.q-nav a { color: var(--q-ink); font-size: .95rem; font-weight: 620; text-decoration: none; }
.q-nav a:hover, .q-nav a[aria-current="page"] { color: var(--q-blue); }
.q-header .q-button { margin-left: 6px; }
.q-mobile-menu { display: none; margin-left: auto; }
.q-mobile-menu summary { cursor: pointer; color: var(--q-ink); font-weight: 700; list-style: none; }
.q-mobile-menu summary::-webkit-details-marker { display: none; }
.q-mobile-menu nav { position: absolute; inset: 82px 0 auto; display: grid; gap: 0; padding: 12px 24px 20px; border-bottom: 1px solid var(--q-rule); background: #fff; }
.q-mobile-menu nav a { padding: 11px 0; border-bottom: 1px solid var(--q-rule); color: var(--q-ink); text-decoration: none; }

.q-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border: 1px solid var(--q-blue); border-radius: 7px; background: var(--q-blue); color: #fff !important; font: 700 .96rem/1 var(--q-font); text-align: center; text-decoration: none !important; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.q-button:hover { border-color: var(--q-blue-hover); background: var(--q-blue-hover); transform: translateY(-1px); }
.q-button-small { min-height: 44px; padding: 10px 18px; font-size: .9rem; }
.q-button-quiet { border-color: var(--q-blue); background: #fff; color: var(--q-blue) !important; }
.q-button-quiet:hover { background: #eef5ff; }
.q-button-light { border-color: #fff; background: transparent; color: #fff !important; }
.q-button-light:hover { background: #fff; color: var(--q-blue) !important; }
.q-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; }

.q-home-hero { padding: 58px 0 26px; }
.q-home-hero .q-shell, .q-task-index .q-shell { width: min(calc(100% - 48px), 1440px); }
.q-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(520px,1fr); align-items: center; gap: clamp(44px, 5vw, 72px); }
.q-hero-copy h1 { max-width: 700px; font-size: clamp(2.75rem, 4.3vw, 3.75rem); }
.q-hero-copy > p:first-of-type { max-width: 620px; margin: 28px 0 34px; color: var(--q-body); font-size: clamp(1.14rem, 2vw, 1.32rem); line-height: 1.55; }
.q-platform-note { margin-top: 24px !important; color: var(--q-muted); font-size: .96rem; }
.q-hero-media { margin: 0; overflow: hidden; border-radius: 0; background: var(--q-soft); }
.q-hero-media img { width: 100%; aspect-ratio: 1.48/1; object-fit: cover; object-position: 58% center; }

.q-task-index { padding: 12px 0 0; }
.q-task-index .q-shell { padding: 42px 0 0; border-top: 1px solid var(--q-rule); }
.q-task-index h2 { margin-bottom: 24px; font-size: clamp(1.7rem, 2.5vw, 2.25rem); }
.q-task-index nav { display: grid; grid-template-columns: repeat(6, 1fr); border-bottom: 1px solid var(--q-rule); }
.q-task-index a { position: relative; padding: 15px 10px 16px; color: var(--q-ink); font-size: .9rem; font-weight: 650; text-align: center; text-decoration: none; }
.q-task-index a:first-child { color: var(--q-blue); }
.q-task-index a:first-child::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--q-blue); }

.q-section { padding: 92px 0; }
.q-section-soft { background: var(--q-soft); }
.q-section-head { max-width: 820px; margin-bottom: 48px; }
.q-section-head p { margin: 18px 0 0; color: var(--q-muted); font-size: 1.12rem; }
.q-process { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.q-process::before { content: ""; position: absolute; top: 42px; right: 0; left: 0; height: 2px; background: var(--q-blue); }
.q-process li { position: relative; padding: 0 30px 0 0; }
.q-process li:not(:first-child) { padding-left: 30px; border-left: 1px solid var(--q-rule); }
.q-process span { position: relative; z-index: 1; display: inline-grid; width: 52px; height: 52px; place-items: center; margin-bottom: 24px; border: 2px solid var(--q-blue); border-radius: 50%; background: #fff; color: var(--q-blue); font-size: 1.55rem; font-weight: 800; }
.q-process strong { display: block; min-height: 52px; font-size: 1rem; line-height: 1.35; }
.q-process p { margin: 12px 0 0; color: var(--q-muted); font-size: .93rem; line-height: 1.55; }

.q-evidence-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(340px,.8fr); align-items: center; gap: clamp(48px, 7vw, 94px); }
.q-product-media { margin: 0; }
.q-product-media img { width: 100%; border: 1px solid var(--q-rule); }
.q-product-media figcaption { margin-top: 12px; color: var(--q-muted); font-size: .82rem; }
.q-scope h2 { margin-bottom: 24px; font-size: clamp(1.85rem, 3vw, 2.45rem); }
.q-scope p { color: var(--q-body); }
.q-scope dl { margin: 34px 0 0; border-top: 1px solid var(--q-rule); }
.q-scope dl div { display: grid; grid-template-columns: 145px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--q-rule); }
.q-scope dt { color: var(--q-ink); font-weight: 750; }
.q-scope dd { margin: 0; color: var(--q-body); }

.q-compat-band { padding: 58px 0; border-top: 1px solid var(--q-rule); border-bottom: 1px solid var(--q-rule); }
.q-compat-band .q-shell { display: grid; grid-template-columns: 1.1fr 1fr auto; align-items: center; gap: 42px; }
.q-compat-band h2 { font-size: clamp(1.7rem, 2.7vw, 2.25rem); }
.q-compat-band p { margin: 0; color: var(--q-muted); }
.q-compat-band a { white-space: nowrap; font-weight: 700; }

.q-guides-layout { display: grid; grid-template-columns: 1.45fr .95fr; gap: 44px; align-items: stretch; }
.q-guide-list { border-top: 1px solid var(--q-rule); }
.q-guide-list > a { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 24px 14px; border-bottom: 1px solid var(--q-rule); color: inherit; text-decoration: none; }
.q-guide-list > a:hover { background: var(--q-soft); }
.q-guide-list strong, .q-guide-list small { display: block; }
.q-guide-list strong { font-size: 1.25rem; }
.q-guide-list small { margin-top: 4px; color: var(--q-muted); font-size: .95rem; }
.q-guide-list b { color: var(--q-blue); font-size: 1.5rem; }
.q-guide-list-compact { display: grid; grid-template-columns: 1fr 1fr; }
.q-guide-list-compact > a:nth-child(odd) { border-right: 1px solid var(--q-rule); }
.q-dark-panel { padding: 38px 38px 30px; border-radius: var(--q-radius); background: var(--q-navy); color: #dbe8fa; }
.q-dark-panel h3 { color: #fff; font-size: 1.65rem; }
.q-dark-panel ol { margin: 24px 0 0; padding: 0; list-style-position: inside; }
.q-dark-panel li { padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.23); }
.q-dark-panel li:last-child { border-bottom: 0; }

.q-download-band { padding: 66px 0; background: var(--q-blue); color: #dceaff; }
.q-download-band-grid { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 48px; }
.q-download-band h2 { color: #fff; }
.q-download-band p { max-width: 690px; margin: 16px 0 0; }
.q-download-band .q-button:first-child { border-color: #fff; background: #fff; color: var(--q-blue) !important; }

.q-method { padding: 72px 0; }
.q-method .q-shell { display: grid; grid-template-columns: .7fr 2fr; gap: 42px 70px; }
.q-method h2 { font-size: 1.45rem; }
.q-method .q-shell > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; }
.q-method p { margin: 0; padding: 0 28px; border-left: 1px solid var(--q-rule); color: var(--q-muted); font-size: .9rem; }
.q-method nav { grid-column: 2; display: flex; flex-wrap: wrap; gap: 26px; }

.q-page-hero, .q-download-hero { padding: 64px 0 58px; border-bottom: 1px solid var(--q-rule); }
.q-page-hero h1, .q-download-hero h1 { font-size: clamp(2.6rem, 5vw, 3.65rem); }
.q-page-hero p, .q-download-hero > .q-shell > p { max-width: 790px; margin: 22px 0 0; color: var(--q-body); font-size: 1.18rem; }
.q-breadcrumbs { display: flex; gap: 9px; margin: 0 0 24px; color: var(--q-muted); font-size: .82rem; }
.q-breadcrumbs a { color: var(--q-muted); }
.q-download-hero nav { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 30px; }
.q-download-hero nav a { font-weight: 680; }

.q-download-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(330px,.7fr); align-items: start; gap: 44px; }
.q-release-list { border-top: 1px solid var(--q-rule); }
.q-release-head { display: grid; grid-template-columns: .8fr 1.35fr .62fr .8fr; gap: 24px; padding: 14px 12px; border-bottom: 1px solid var(--q-rule); color: var(--q-muted); font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .035em; }
.q-release-list section { display: grid; grid-template-columns: .8fr 2.25fr; gap: 24px; padding: 22px 12px; border-bottom: 1px solid var(--q-rule); scroll-margin-top: 24px; }
.q-release-list section h2 { font-size: 1.16rem; letter-spacing: -.015em; }
.q-release-list section > div { display: grid; grid-template-columns: 1.35fr .62fr auto; align-items: center; gap: 20px; min-height: 48px; }
.q-release-list section > div + div { grid-column: 2; padding-top: 14px; border-top: 1px solid var(--q-rule); }
.q-release-list code { overflow-wrap: anywhere; color: var(--q-ink); font-size: .89rem; }
.q-release-list em { color: var(--q-muted); font-size: .86rem; font-style: normal; }
.q-release-list a:not(.q-button) { font-weight: 700; white-space: nowrap; }
.q-verify { padding: 30px; border: 1px solid var(--q-rule); border-radius: var(--q-radius); }
.q-verify h2 { font-size: 1.7rem; }
.q-verify ol { margin: 22px 0; padding-left: 24px; }
.q-verify pre { overflow-x: auto; padding: 17px; border: 1px solid var(--q-rule); border-radius: 6px; background: var(--q-soft); color: var(--q-ink); font-size: .8rem; line-height: 1.65; }
.q-verify > a { font-weight: 700; }
.q-warning { margin: 28px 0 0 !important; padding: 18px; border: 1px solid #e9b54b; border-radius: 6px; background: var(--q-warning-bg); color: var(--q-warning); font-size: .9rem; line-height: 1.55; }
.q-install-paths { padding: 58px 0 78px; border-top: 1px solid var(--q-rule); }
.q-install-paths .q-shell { display: flex; flex-wrap: wrap; align-items: baseline; gap: 18px 32px; }
.q-install-paths h2 { width: 100%; margin-bottom: 10px; font-size: 1.9rem; }
.q-editorial-steps { margin: 28px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--q-rule); }
.q-editorial-steps li { display: grid; grid-template-columns: minmax(180px,.7fr) 1.3fr; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--q-rule); }
.q-editorial-steps span { color: var(--q-muted); }

.q-footer { padding: 58px 0 24px; border-top: 1px solid var(--q-rule); background: #fff; }
.q-footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3,.7fr); gap: 48px; }
.q-footer-brand p { max-width: 430px; margin: 20px 0 0; color: var(--q-muted); font-size: .86rem; line-height: 1.55; }
.q-footer nav { display: flex; flex-direction: column; gap: 8px; }
.q-footer nav strong { margin-bottom: 5px; font-size: .93rem; }
.q-footer nav a { color: var(--q-body); font-size: .88rem; text-decoration: none; }
.q-footer nav a:hover { color: var(--q-blue); }
.q-footer-bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 48px; padding-top: 18px; border-top: 1px solid var(--q-rule); color: var(--q-muted); font-size: .78rem; }
.q-footer-bottom span:last-child { display: flex; gap: 20px; }
.q-footer-bottom a { color: var(--q-muted); }

/* Refine the retained, independently useful legacy article bodies. */
.q-legacy-content .section { padding: 78px 0; }
.q-legacy-content .section.alt { background: var(--q-soft); }
.q-legacy-content .section-kicker { color: var(--q-blue); font-size: .75rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.q-legacy-content .section-head, .q-legacy-content .narrow { max-width: var(--q-article); }
.q-legacy-content .section-head { margin-bottom: 36px; }
.q-legacy-content .section-head p, .q-legacy-content .two-column > div:first-child > p { color: var(--q-muted); }
.q-legacy-content .two-column { display: grid; grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr); gap: clamp(42px,7vw,94px); align-items: start; }
.q-legacy-content .feature-list { border-top: 1px solid var(--q-rule); }
.q-legacy-content .feature-list article { display: grid; grid-template-columns: 50px 1fr; gap: 4px 18px; padding: 20px 0; border: 0; border-bottom: 1px solid var(--q-rule); border-radius: 0; background: transparent; box-shadow: none; }
.q-legacy-content .feature-list .feature-icon { grid-row: 1 / 3; color: var(--q-blue); font-size: 1.3rem; font-weight: 800; }
.q-legacy-content .feature-list h3 { font-size: 1.16rem; }
.q-legacy-content .feature-list p { margin: 5px 0 0; color: var(--q-muted); }
.q-legacy-content .checklist { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--q-rule); }
.q-legacy-content .checklist li { position: relative; padding: 16px 8px 16px 32px; border-bottom: 1px solid var(--q-rule); }
.q-legacy-content .checklist li::before { content: ""; position: absolute; top: 24px; left: 8px; width: 8px; height: 8px; border: 2px solid var(--q-blue); border-radius: 50%; }
.q-legacy-content .table-wrap { overflow-x: auto; border: 1px solid var(--q-rule); border-radius: var(--q-radius); }
.q-legacy-content table { width: 100%; min-width: 680px; border-collapse: collapse; background: #fff; }
.q-legacy-content th, .q-legacy-content td { padding: 14px 16px; border-bottom: 1px solid var(--q-rule); text-align: left; vertical-align: top; }
.q-legacy-content th { background: var(--q-soft); color: var(--q-ink); font-size: .82rem; }
.q-legacy-content td { font-size: .9rem; }
.q-legacy-content .wide-media { margin: 36px 0 0; }
.q-legacy-content .wide-media img { width: 100%; border: 1px solid var(--q-rule); }
.q-legacy-content figcaption { margin-top: 10px; color: var(--q-muted); font-size: .8rem; }
.q-legacy-content .platform-downloads { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--q-rule); }
.q-legacy-content .platform-button { min-height: 78px; display: flex; align-items: center; padding: 16px 18px; border-right: 1px solid var(--q-rule); border-bottom: 1px solid var(--q-rule); background: #fff; color: var(--q-ink); text-decoration: none; }
.q-legacy-content .platform-button:hover { background: var(--q-soft); }
.q-legacy-content .platform-button strong, .q-legacy-content .platform-button small { display: block; }
.q-legacy-content .platform-button small { margin-top: 3px; color: var(--q-muted); }
.q-legacy-content .source-links { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.q-legacy-content .source-links a { font-size: .92rem; }
.q-legacy-content .faq-list { border-top: 1px solid var(--q-rule); }
.q-legacy-content .faq-list details { border-bottom: 1px solid var(--q-rule); }
.q-legacy-content .faq-list summary { padding: 18px 4px; color: var(--q-ink); font-weight: 700; cursor: pointer; }
.q-legacy-content .faq-list details p { padding: 0 4px 18px; color: var(--q-muted); }
.q-legacy-content .policy-layout { max-width: var(--q-article); }
.q-legacy-content .policy-layout section { padding: 28px 0; border-bottom: 1px solid var(--q-rule); }

.q-site .cookie-banner { position: fixed; z-index: 80; right: 20px; bottom: 20px; left: 20px; display: flex; align-items: center; justify-content: space-between; gap: 22px; max-width: 920px; margin: auto; padding: 18px 20px; border: 1px solid var(--q-rule); border-radius: var(--q-radius); background: #fff; box-shadow: 0 16px 45px rgba(7,22,47,.16); }
.q-site .cookie-banner[hidden] { display: none; }
.q-site .cookie-banner p { margin: 3px 0 0; color: var(--q-muted); font-size: .83rem; }
.q-site .cookie-actions { display: flex; flex: 0 0 auto; gap: 10px; }
.q-site .cookie-actions .q-button { min-height: 42px; padding: 9px 14px; border-radius: 6px; font-size: .82rem; }

@media (max-width: 1020px) {
  .q-nav, .q-header > .q-shell > .q-button { display: none; }
  .q-mobile-menu { display: block; }
  .q-hero-grid, .q-evidence-grid, .q-guides-layout, .q-download-layout { grid-template-columns: 1fr; }
  .q-hero-grid { gap: 40px; }
  .q-hero-media { max-width: 820px; }
  .q-task-index nav { grid-template-columns: repeat(3,1fr); }
  .q-process { grid-template-columns: repeat(2,1fr); gap: 34px 0; }
  .q-process::before { display: none; }
  .q-process li:nth-child(3) { padding-left: 0; border-left: 0; }
  .q-compat-band .q-shell { grid-template-columns: 1fr; gap: 18px; }
  .q-method .q-shell { grid-template-columns: 1fr; }
  .q-method nav { grid-column: 1; }
  .q-footer-grid { grid-template-columns: 1.5fr repeat(3,1fr); gap: 32px; }
}

@media (max-width: 720px) {
  .q-shell { width: min(calc(100% - 32px), var(--q-shell)); }
  .q-home-hero .q-shell, .q-task-index .q-shell { width: min(calc(100% - 32px), 1440px); }
  .q-header-inner { min-height: 70px; }
  .q-mobile-menu nav { top: 70px; }
  .q-home-hero { padding-top: 40px; }
  .q-hero-grid { grid-template-columns: 1fr; }
  .q-hero-copy h1 { font-size: clamp(2.45rem, 12vw, 3.45rem); }
  .q-hero-break { display: none; }
  .q-hero-copy > p:first-of-type { margin: 22px 0 28px; font-size: 1.06rem; }
  .q-actions { align-items: stretch; flex-direction: column; }
  .q-actions .q-button { width: 100%; }
  .q-task-index nav { grid-template-columns: 1fr 1fr; }
  .q-task-index a { text-align: left; }
  .q-section { padding: 62px 0; }
  .q-process { grid-template-columns: 1fr; }
  .q-process li, .q-process li:not(:first-child) { padding: 0; border-left: 0; }
  .q-process strong { min-height: 0; }
  .q-scope dl div { grid-template-columns: 1fr; gap: 4px; }
  .q-guides-layout { gap: 30px; }
  .q-guide-list-compact { grid-template-columns: 1fr; }
  .q-guide-list-compact > a:nth-child(odd) { border-right: 0; }
  .q-dark-panel { padding: 28px 24px 22px; }
  .q-download-band-grid { grid-template-columns: 1fr; gap: 28px; }
  .q-method .q-shell > div { grid-template-columns: 1fr; }
  .q-method p { padding: 18px 0; border-top: 1px solid var(--q-rule); border-left: 0; }
  .q-release-head { display: none; }
  .q-release-list section { grid-template-columns: 1fr; }
  .q-release-list section > div, .q-release-list section > div + div { grid-column: 1; grid-template-columns: 1fr; }
  .q-release-list a:not(.q-button) { white-space: normal; }
  .q-verify { padding: 24px 20px; }
  .q-footer-grid { grid-template-columns: 1fr 1fr; }
  .q-editorial-steps li { grid-template-columns: 1fr; gap: 4px; }
  .q-footer-brand { grid-column: 1 / -1; }
  .q-footer-bottom { flex-direction: column; }
  .q-legacy-content .two-column { grid-template-columns: 1fr; gap: 30px; }
  .q-legacy-content .platform-downloads { grid-template-columns: 1fr; }
  .q-site .cookie-banner { align-items: stretch; flex-direction: column; }
  .q-site .cookie-actions { width: 100%; }
  .q-site .cookie-actions .q-button { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .q-button { transition: none; }
}
