/* Shared shell rules for every page except Home. Home loads hero/hero.css (312 KB) instead.
   Extracted from hero.css: Playwright kept each rule whose selector (pseudo-classes stripped) matched an element on /pricing, /score,
   /players, /compare, /customers or /sample-questdash, copied verbatim, plus the keyframes those rules use.
   Rules are copied, not generated: when a header, footer, mobile-menu or base-page rule is added or changed in hero.css, copy it here too.
   scripts/build-site.mjs fails if a rule here is not found verbatim in hero.css (whitespace aside). */
.qwh, [data-theme="light"] .qwh{
  --btn-bg: linear-gradient(99deg, #3079AE, #7ABDED);
  --btn-ink: #FFFFFF;
  --btn2-bg: transparent;
  --btn2-ink: #296590;
  --btn2-line: #CFDDEA;
  --shadow: 0 2px 16px rgba(41,101,144,.08);
  --shadow-lg: 0 18px 50px rgba(30,78,112,.16);
  --grad: linear-gradient(117deg, #3079AE 24%, #7ABDED);
  --grad-text: linear-gradient(97deg, #3079AE, #7ABDED);
  --glass: rgba(255,255,255,.6);
  --logo-filter: grayscale(1) brightness(.35) opacity(.75);
  color-scheme: light;
}
.qwh *{ box-sizing: border-box; }
.qwh{ margin: 0; font-family: "League Spartan", system-ui, sans-serif; color: var(--ink); background: var(--bg-alt); font-size: 17px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
.qwh img{ max-width: 100%; display: block; }
.qwh a{ color: var(--core); text-decoration: none; }
.qwh h1, .qwh h2, .qwh h3, .qwh h4{ margin: 0; font-weight: 400; color: var(--head); letter-spacing: -0.015em; text-wrap: balance; }
.qwh p{ margin: 0; }
.qwh .qm-eyebrow{ font-size: 12px; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; color: var(--core); }
.qwh .qm-h2{ font-size: 40px; line-height: 1.1; font-weight: 400; letter-spacing: -0.02em; }
.qwh .qm-lead{ font-size: 20px; line-height: 1.5; color: var(--ink-2); }
.qwh .qm-small{ font-size: 14px; color: var(--ink-3); }
.qwh .qm-btn{ display: inline-flex; align-items: center; gap: 8px; font: inherit; font-size: 16px; font-weight: 400; padding: 13px 22px; border-radius: 10px; background: var(--btn-bg); color: var(--btn-ink); border: 1px solid transparent; cursor: pointer; white-space: nowrap; }
.qwh .qm-btn.sm{ font-size: 14px; padding: 9px 14px; }
.qwh .qm-link{ color: var(--core); font-weight: 400; }
.qwh .qm-link::after{ content: " →"; }
.qwh .qm-micro{ font-size: 14px; color: var(--ink-3); }
.qwh .qm-card{ background: var(--surface); border: 1px solid var(--line); border-radius: 16px; }
.qwh .qm-soon{ display: inline-block; font-size: 11px; font-weight: 400; letter-spacing: .06em; text-transform: uppercase; color: var(--core-ink); background: var(--alice); border-radius: 999px; padding: 3px 9px; }
.qwh .bar{ height: 6px; background: var(--surface-2); border-radius: 999px; overflow: hidden; }
.qwh .qm-header{ display: flex; align-items: center; gap: 28px; height: 68px; padding: 0 32px; border-bottom: 1px solid var(--line); background: var(--bg); }
.qwh .qm-header .logo{ height: 28px; width: auto; }
.qwh .qm-header nav{ display: flex; gap: 22px; flex: 1; font-size: 15px; color: var(--ink-2); }
.qwh .qm-header nav span::after{ content: ""; display: inline-block; width: 6px; height: 6px; border-right: 1.2px solid currentColor; border-bottom: 1.2px solid currentColor; transform: rotate(45deg); margin: 0 0 3px 7px; }
.qwh .qm-header .right{ display: flex; align-items: center; gap: 16px; font-size: 15px; color: var(--ink-2); }
.qwh .qm-crumbs{ display: flex; gap: 8px; font-size: 14px; color: var(--ink-3); padding: 22px 32px; }
.qwh .qm-footer{ padding: 48px 32px 28px; background: var(--bg-alt); }
.qwh .qm-footer .cols{ display: grid; grid-template-columns: 1.4fr repeat(5, 1fr); gap: 24px; font-size: 14px; }
.qwh .qm-footer a{ display: block; color: var(--ink-2); margin: 6px 0; }
.qwh .qm-footer .legal{ display: flex; justify-content: space-between; margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 13px; color: var(--ink-3); }
.qwh .qm-cred{ display: grid; grid-template-columns: 64px 1fr auto; gap: 16px; align-items: center; padding: 20px 22px; max-width: 520px; }
.qwh .qm-cred .seal{ width: 64px; height: 64px; border-radius: 50%; background: var(--grad); display: grid; place-items: center; color: #fff; font-size: 13px; letter-spacing: .06em; }
.qwh .qm-cred h3{ font-size: 20px; }
.qwh .qm-cred p{ font-size: 14px; color: var(--ink-3); }
.qwh .qm-band{ padding: 80px 56px; text-align: center; background: var(--grad); color: #fff; }
.qwh .qm-band h2{ color: #fff; font-size: 44px; }
.qwh .qm-band p{ color: rgba(255,255,255,.9); margin: 12px 0 26px; font-size: 19px; }
.qwh .qm-band .qm-btn{ background: #fff; color: #1E4E70; }
.qwh .qm-band .qm-micro{ color: rgba(255,255,255,.8); margin-top: 14px; }
.qwh .qm-band.plain{ background: var(--wash); color: var(--ink); }
.qwh .qm-band.plain h2{ color: var(--head); }
.qwh .qm-band.plain p{ color: var(--ink-2); }
@media (max-width: 960px){
.qwh .qm-h2{ font-size: 30px; }
.qwh .qm-hero-center, .qwh .qm-statement, .qwh .qm-quote-big, .qwh .qm-band, .qwh .qm-404{ padding: 56px 20px; }
.qwh .qm-header nav{ display: none; }
.qwh .qm-footer .cols{ grid-template-columns: 1fr 1fr; }
}
.qwh b, .qwh strong{ font-weight: inherit; }
.qwh .qm-em, .qwh .qm-statement em, .qwh .qm-eyebrow, .qwh .qm-link, .qwh .qm-stats b, .qwh .qm-market b, .qwh .qm-score .num b, .qwh .qm-pricing .price, .qwh .qm-ring-num, .qwh .qm-steps .n, .qwh .qm-props .n, .qwh .qm-loop .k, .qwh .qm-tabs span.on, .qwh .qm-404 .code{
  background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.qwh .qm-btn{ background: var(--btn-bg); color: var(--btn-ink); box-shadow: 0 4px 14px rgba(48, 121, 174,.25); }
.qwh .qm-btn:hover{ background: linear-gradient(99deg, #1F7FC7, #6BAFE0); }
.qwh .ht2{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.qwh .ht2 .c{ background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 24px; }
.qwh .ht2 .g{ width: 64px; height: 64px; margin-bottom: 18px; }
.qwh .ht2 h3{ font-size: 24px; }
.qwh .ht2 dl{ margin: 16px 0 0; font-size: 15px; }
.qwh .ht2 dt{ color: var(--ink-3); font-size: 13px; margin-top: 10px; }
.qwh .ht2 dd{ margin: 2px 0 0; color: var(--ink); }
.qwh .mm2{ border-radius: 20px; overflow: hidden; border: 1px solid var(--line); background: var(--surface); }
.qwh .mm2 .hd{ display: grid; grid-template-columns: 1fr 1fr; }
.qwh .mm2 .hd div{ padding: 22px 26px; display: flex; align-items: center; gap: 12px; font-size: 22px; color: var(--head); }
.qwh .mm2 .hd div.y{ background: linear-gradient(120deg, rgba(48, 121, 174,.10), rgba(122,189,237,.06)); }
.qwh .mm2 .hd svg{ width: 26px; height: 26px; }
.qwh .mm2 .rw{ display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.qwh .mm2 .rw div{ padding: 16px 26px; color: var(--ink); display: flex; gap: 12px; }
.qwh .mm2 .rw div + div, .qwh .mm2 .hd div + div{ border-left: 1px solid var(--line); }
.qwh .mm2 .rw div.n{ color: var(--ink-2); }
.qwh .mm2 .rw svg{ width: 18px; height: 18px; flex: none; margin-top: 3px; }
.qwh .mm2 .ft{ border-top: 1px solid var(--line); padding: 16px 26px; text-align: center; color: var(--ink-3); font-size: 15px; }
@media (max-width: 960px){
.qwh .qa2, .qwh .qr, .qwh .ss, .qwh .vp2, .qwh .st2 .track, .qwh .st2 .tiles, .qwh .dict, .qwh .tp, .qwh .ht2, .qwh .ht2-key, .qwh .cm2, .qwh .mm2 .hd, .qwh .mm2 .rw, .qwh .pr2 .grid, .qwh .pr2 .feat, .qwh .ic2, .qwh .ck2, .qwh .au .pane, .qwh .nx2, .qwh .sp, .qwh .tl2 .cards{ grid-template-columns: 1fr; }
}
.qwh .qm-em{ -webkit-box-decoration-break: slice; box-decoration-break: slice; }
.qwh .qm-band:not(.plain) .qm-em{ background: none; color: #fff; }
.qwh .ph1{ padding-bottom: 32px; border-bottom: 1px solid var(--line); }
.qwh .ph1 h1{ margin: 16px 0 12px; }
.qwh .ph1 .qm-lead{ max-width: 36em; }
.qwh .fq1{ max-width: 780px; margin: 0 auto; border-top: 1px solid var(--line); }
.qwh .fq1 details{ border-bottom: 1px solid var(--line); }
.qwh .fq1 summary{ list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 0; font-size: 19px; color: var(--head); }
.qwh .fq1 summary::-webkit-details-marker{ display: none; }
.qwh .fq1 summary i{ position: relative; width: 14px; height: 14px; flex: none; }
.qwh .fq1 summary i::before, .qwh .fq1 summary i::after{ content: ""; position: absolute; left: 0; right: 0; top: 6px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #3079AE, #7ABDED); transition: transform .2s; }
.qwh .fq1 summary i::after{ transform: rotate(90deg); }
.qwh .fq1 details[open] summary i::after{ transform: rotate(0); }
.qwh .fq1 details p{ padding: 0 40px 22px 0; color: var(--ink-2); }
.qwh{
  --bar-label: 120px;
  --bar-val: 40px;
  --bar-h: 8px;
  --bar-gap: 14px;
}
@media (max-width: 960px){
.qwh{
  --bar-label: 92px;
  --bar-val: 36px;
}
}
.qwh, [data-theme="light"] .qwh, [data-theme="swap"] .qwh{
  --shadow: none;
  --shadow-lg: none;
}
.qwh .qm-btn, .qwh .qm-btn:hover{ box-shadow: none; }
.qwh .mm2 .rw svg, .qwh .pr2 .feat svg{ margin-top: calc(0.5lh - 9px); }
.qwh .ht2 .g{ width: 48px; height: 48px; }
@media (max-width: 960px){
.qwh .qm-header .right{ flex-wrap: wrap; justify-content: flex-end; }
}
.qwh .band-num{ background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; }
.qwh .band-num.strained{ color: var(--strained-ink) !important; }
.qwh .band-num.forming{ color: var(--forming-ink) !important; }
.qwh .band-num.developing{ color: var(--developing-ink) !important; }
.qwh .band-num.performing{ color: var(--performing-ink) !important; }
.qwh .band-num.thriving{ color: var(--thriving-ink) !important; }
.qwh .hcard, .qwh .ht2 .c{ position: relative; overflow: hidden; }
.qwh .hcard > :not(.echo), .qwh .ht2 .c > :not(.echo){ position: relative; }
.qwh .gi-narr{ display: flex; gap: 18px; align-items: center; max-width: 760px; padding: 16px 20px; border: 2px solid #3079AE; border-radius: 12px; background: var(--surface); }
.qwh .gi-narr .av{ position: relative; width: 64px; height: 64px; flex: none; }
.qwh .gi-narr .av > svg{ width: 64px; height: 64px; }
.qwh .gi-narr .av i{ position: absolute; inset: 8px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #3079AE, #7ABDED); }
.qwh .gi-narr .ring{ transition: stroke-dasharray .25s linear; }
.qwh .gi-narr .who, .qwh .gi-hint .k, .qwh .gi-prompt .k{ font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.qwh .gi-narr .line{ font-size: 20px; line-height: 1.4; color: var(--ink); margin-top: 2px; min-height: 1.4em; }
.qwh .gi-hint{ max-width: 400px; padding: 12px 16px; border-radius: 8px; border: 1px solid var(--line); border-left: 4px solid #3079AE; background: var(--surface); margin-top: 14px; }
.qwh .gi-hint p{ color: var(--ink); margin-top: 2px; }
@media (max-width: 960px){
.qwh .gi-narr{ align-items: flex-start; }
.qwh .gi-narr .line{ font-size: 17px; }
}
.qwh .qi-head{ max-width: 640px; margin-bottom: 32px; }
.qwh .qi-head .qm-h2{ margin-top: 10px; }
.qwh .qi-head .qm-lead{ margin-top: 14px; }
.qwh .qm-eyebrow::before, .qwh .qp-ey::before{ content: ""; display: inline-block; width: 18px; height: 2px; margin-right: 8px; vertical-align: middle; position: relative; top: -2px; border-radius: 1px; background: linear-gradient(90deg, #7ABDED, #3079AE); }
.qwh{ --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace; --ink-ground: #0F2236; }
.qwh{
  --glass-light: rgba(255, 255, 255, 0.62);
  --glass-light-strong: rgba(255, 255, 255, 0.78);
  --glass-light-line: rgba(255, 255, 255, 0.7);
  --glass-dark: rgba(14, 33, 54, 0.38);
  --glass-dark-line: rgba(255, 255, 255, 0.24);
  --glass-blur: blur(18px) saturate(170%);
}
.qwh .qw-camrow{position:absolute;display:flex;gap:6px;z-index:2}
.qwh .qw-cam{position:relative;display:block}
.qwh .qw-cam img{display:block;width:64px;height:48px;object-fit:cover;border-radius:10px;border:2px solid #fff;box-sizing:border-box}
.qwh .qm-band.qm-band{display:flex;flex-direction:column;align-items:center;text-align:center;padding:96px 56px}
.qwh .qm-band.qm-band > *{margin-top:0;margin-bottom:0}
.qwh .qm-band.qm-band > h2{margin:0}
.qwh .qm-band.qm-band > p:not(.qm-micro){margin-top:16px;max-width:40em}
.qwh .qm-band.qm-band > .qm-btn{margin-top:32px}
.qwh .qm-band.qm-band > .qm-micro{margin-top:16px;font-size:14px}
@media (max-width:860px){
.qwh .qm-band.qm-band{padding:64px 20px}
.qwh .qm-band.qm-band > .qm-btn{margin-top:28px}
}
.qwh{ margin: 0; background: #fff; }
.qwh .qw-head{ position: sticky; top: 0; z-index: 40; }
.qwh .qw-head .qm-header{ max-width: none; padding: 0 max(32px, calc((100% - 1240px) / 2 + 56px)); height: 60px; }
.qwh .qw-head .qm-header > a{ display: block; flex: none; }
.qwh .qw-head .qm-header nav{ align-items: center; gap: 4px; }
.qwh .qw-head .qm-header nav button, .qwh .qw-head .qm-header nav a{ all: unset; display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 10px; font-size: 15px; color: var(--ink-2); cursor: pointer; box-sizing: border-box; }
.qwh .qw-head .qm-header nav button::after{ content: ""; display: inline-block; width: 6px; height: 6px; border-right: 1.2px solid currentColor; border-bottom: 1.2px solid currentColor; transform: rotate(45deg); margin: -4px 0 0 8px; }
.qwh .qw-head .qm-header nav button:hover, .qwh .qw-head .qm-header nav a:hover, .qwh .qw-head .qm-header nav button.on{ color: var(--head); background: var(--alice); }
.qwh .qw-head .right .qm-btn{ min-height: 44px; box-sizing: border-box; }
.qwh .qw-burger{ all: unset; display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--line-2); border-radius: 10px; cursor: pointer; color: var(--head); }
.qwh .qw-camrow{ position: absolute; right: 12px; top: 12px; display: flex; gap: 6px; z-index: 2; }
.qwh .qw-cam{ position: relative; display: block; }
.qwh .qw-cam img{ display: block; width: 92px; height: 68px; object-fit: cover; border-radius: 10px; border: 2px solid #fff; box-sizing: border-box; }
.qwh .qw-camrow .qw-cam img{ width: 64px; height: 48px; }
@media (max-width: 1100px){
.qwh .qw-head .qm-header nav button, .qwh .qw-head .qm-header nav a{ padding: 0 8px; font-size: 14px; }
}
@media (max-width: 960px){
.qwh .qw-cam img{ width: 62px; height: 46px; }
.qwh .qw-head .qm-header{ padding: 0 20px; gap: 12px; }
.qwh .qw-head .right a.qw-in, .qwh .qw-head .right .qm-btn{ display: none; }
.qwh .qw-burger{ display: inline-flex; }
}
.qwh, [data-theme="light"] .qwh{ --thriving: #1F7FC7; --thriving-ink: #176BBA; }
.qwh .qd-word.thriving, .qwh .qd-s .v b.thriving, .qwh .qh-dial .v b.thriving, .qwh .band-num.thriving{ color: var(--thriving-ink) !important; }
.qwh .gi-hint{ border-left-color: var(--core) !important; }
.qwh{ --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace; --ink-ground: #0F2236; }
.qwh{
  --glass-light: rgba(255, 255, 255, 0.62);
  --glass-light-strong: rgba(255, 255, 255, 0.78);
  --glass-light-line: rgba(255, 255, 255, 0.7);
  --glass-dark: rgba(14, 33, 54, 0.38);
  --glass-dark-line: rgba(255, 255, 255, 0.24);
  --glass-blur: blur(18px) saturate(170%);
}
.qwh .qw-head .qm-header{ background: rgba(255,255,255,.72); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); border-bottom-color: rgba(226,235,244,.7); }
.qwh .qw-head .qm-header .logo{ height: 34px; width: auto; display: block; }
.qwh .qm-band.qm-band{display:flex;flex-direction:column;align-items:center;text-align:center;padding:96px 56px}
.qwh .qm-band.qm-band > *{margin-top:0;margin-bottom:0}
.qwh .qm-band.qm-band > h2{margin:0}
.qwh .qm-band.qm-band > p:not(.qm-micro){margin-top:16px;max-width:40em}
.qwh .qm-band.qm-band > .qm-btn{margin-top:32px}
.qwh .qm-band.qm-band > .qm-micro{margin-top:16px;font-size:14px}
@media (max-width:860px){
.qwh .qm-band.qm-band{padding:64px 20px}
.qwh .qm-band.qm-band > .qm-btn{margin-top:28px}
}
