/* Isolation layer for the home v3 design inside the Elementor page.
 * Emitted BEFORE the scoped design CSS so every design rule wins ties.
 * 1. Neutralise Twenty Twenty / Elementor kit element styles (buttons, links,
 *    headings, lists, inputs) inside #qsh. SVG trees are excluded because
 *    `all: revert` would also cancel SVG presentation attributes (fill, stroke). */
#qsh :where(:not(svg, svg *)) { all: revert; }
#qsh {
  all: revert; display: block; position: relative; isolation: isolate;
  letter-spacing: normal; word-spacing: normal; text-transform: none; text-align: start;
  text-indent: 0; font-style: normal; font-weight: 400; white-space: normal;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
/* SVG is excluded above; undo Twenty Twenty's `svg{display:block;max-width:100%}`
 * (design rules that set these come later and still win). */
#qsh svg { display: inline; max-width: none; font-family: inherit; }
/* 2. The Elementor wrappers around the widget must not add spacing. */
.elementor-widget-html:has(> .elementor-widget-container > #qsh),
.elementor-widget-html:has(> #qsh) { margin: 0 !important; padding: 0 !important; }

/* 3. Design-review notes (".todo" / ".todo-flag") are visible only in review
 *    mode (?review=1). swap.ts refuses to go live while any remain. */
#qsh:not(.qsh-review) .todo:not(.todo-copy), #qsh:not(.qsh-review) .todo-flag { display: none !important; }

/* 4. Scroll reveals only hide content once our script is running, so the page
 *    is complete if WP Rocket delays or blocks JS. */
#qsh:not(.qsh-js) [data-r] { opacity: 1 !important; transform: none !important; }

#qsh :where(:not(svg, svg *)) { background-color: revert !important; margin-bottom: revert !important; margin-top: revert !important; }
#qsh :where(article) { box-shadow: revert !important; }
#qsh {
  --ground: #eef0f3;
  --paper: #f6f7f9;
  --surface: #eceef2;
  --surface-raised: #ffffff;
  --glass: rgba(255,255,255,0.82);
  --line: #e6e8ec;
  --divider: #dfe2e7;
  --ink: #061d4f;
  --text: #111317;
  --body: #50545c;
  --muted: #6c717a;
  --subtle: #8f949d;
  --cobalt: #1e4389;
  --accent: #2563d8;
  --sky: #3d8bf2;
  --sky-light: #8cc4ff;
  --accent-100: #eaf1ff;
  --accent-300: #b6cdf6;
  --accent-700: #1e4389;
  --accent-800: #032669;
  --deep-navy: #032669;
  --teal: #2f7fe0;
  --night: #021a4a;
  --midnight: #0d3074;
  --deep-teal: #1e4389;
  --cta: #2563d8;
  --cta-hover: #1e4389;
  --on-cta: #ffffff;
  --emerald: #10b981;
  --mint: #34d399;
  --mint-soft: #6ee7b7;
  --mint-pale: #a7f3d0;
  --success-ink: #047857;
  --success-tint: rgba(16,185,129,0.14);
  --warning: #f59e0b;
  --warning-ink: #b45309;
  --warning-tint: rgba(245,158,11,0.12);
  --error: #ef4444;
  --error-ink: #b91c1c;
  --error-tint: rgba(239,68,68,0.10);
  --focus: #2563d8;
  --tint-blush: #fff9f8;
  --tint-cream: #fffdf7;
  --tint-mist: #fafbff;
  --tint-rose: #fff7fb;
  --tint-butter: #fffded;
  --tint-ice: #f2fbff;
  --tint-aqua: #e9fdff;
  --tint-sky: #9dd1ff;
  --tint-periwinkle: #e0e9ff;
  --step-active-border: rgba(30,67,137,0.55);
  --text-heading: var(--ink);
  --text-strong: var(--text);
  --text-body: var(--body);
  --text-muted: var(--muted);
  --text-subtle: var(--subtle);
  --text-link: var(--cobalt);
  --surface-page: var(--ground);
  --surface-card: var(--surface-raised);
  --surface-bento: var(--surface);
  --border-default: var(--line);
  --action-primary: var(--cta);
  --action-primary-hover: var(--cta-hover);
  --action-primary-text: var(--on-cta);
}
#qsh [data-theme="night"] {
  --ground: #021a4a;
  --paper: #032669;
  --surface: rgba(255,255,255,0.07);
  --surface-raised: rgba(255,255,255,0.12);
  --glass: rgba(255,255,255,0.07);
  --line: rgba(255,255,255,0.12);
  --divider: rgba(255,255,255,0.12);
  --ink: #ffffff;
  --text: #f7f8fa;
  --body: rgba(255,255,255,0.65);
  --muted: rgba(255,255,255,0.62);
  --subtle: rgba(255,255,255,0.45);
  --cobalt: #b6cdf6;
  --accent: #3d8bf2;
  --sky: #3d8bf2;
  --sky-light: #8cc4ff;
  --accent-100: rgba(37,99,216,0.18);
  --accent-300: #b6cdf6;
  --accent-700: #b6cdf6;
  --accent-800: #b6cdf6;
  --deep-navy: #032669;
  --teal: #2f7fe0;
  --night: #021a4a;
  --midnight: #0d3074;
  --deep-teal: #1e4389;
  --cta: #2563d8;
  --cta-hover: #1e4389;
  --on-cta: #ffffff;
  --emerald: #10b981;
  --mint: #34d399;
  --mint-soft: #6ee7b7;
  --mint-pale: #a7f3d0;
  --success-ink: #6ee7b7;
  --success-tint: rgba(52,211,153,0.10);
  --warning: #f59e0b;
  --warning-ink: #fcd34d;
  --warning-tint: rgba(245,158,11,0.16);
  --error: #ef4444;
  --error-ink: #fca5a5;
  --error-tint: rgba(239,68,68,0.16);
  --focus: #8cc4ff;
}
#qsh {
  --font-sans: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: var(--font-sans);
  --type-display-size: 80px;
  --type-display-lh: 1;
  --type-display-weight: 500;
  --type-display-tracking: -0.045em;
  --type-section-size: 52px;
  --type-section-lh: 1.05;
  --type-section-weight: 500;
  --type-section-tracking: -0.04em;
  --type-subsection-size: 36px;
  --type-subsection-lh: 1.36;
  --type-subsection-weight: 400;
  --type-subsection-tracking: -0.025em;
  --type-card-size: 24px;
  --type-card-lh: 1.2;
  --type-card-weight: 500;
  --type-card-tracking: -0.03em;
  --type-body-lg-size: 16px;
  --type-body-lg-lh: 1.6;
  --type-body-lg-weight: 400;
  --type-body-size: 15px;
  --type-body-lh: 1.6;
  --type-body-weight: 400;
  --type-label-size: 14px;
  --type-label-lh: 1.3;
  --type-label-weight: 500;
  --type-small-size: 13.5px;
  --type-small-lh: 1.4;
  --type-small-weight: 400;
  --type-caption-size: 12.5px;
  --type-caption-lh: 1.4;
  --type-caption-weight: 400;
  --type-kicker-size: 11px;
  --type-kicker-lh: 1.4;
  --type-kicker-weight: 400;
  --type-kicker-tracking: 0.14em;
  --type-data-size: 13px;
  --type-data-lh: 1.4;
  --type-data-weight: 500;
  --type-mono-sm-size: 12px;
  --type-mono-sm-lh: 1.4;
  --type-mono-sm-weight: 400;
  --type-display-fluid: clamp(44px, 6vw, 80px);
}
#qsh {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 40px;
  --space-8: 44px;
}
#qsh {
  --layout-max: 1760px;
  --layout-gutter: clamp(16px, 3vw, 120px);
  --blur-glass: 14px;
}
#qsh {
  --radius-xs: 6px;
  --radius-sm: 10px;
  --radius-tile: 14px;
  --radius-card: 18px;
  --radius-card-lg: 24px;
  --radius-bento: 26px;
  --radius-feature: 28px;
  --radius-panel: 32px;
  --radius-pill: 999px;
}
#qsh {
  --shadow-pill: 0 8px 18px -14px rgba(11,27,58,0.5);
  --shadow-card: 0 18px 40px -26px rgba(11,27,58,0.22);
  --shadow-frame: 0 1px 2px 0 rgba(11,27,58,0.05), 0 40px 80px -30px rgba(11,27,58,0.35);
  --shadow-cta: inset 0 1px 0 0 rgba(255,255,255,0.25), 0 12px 28px -10px rgba(10,36,102,0.45);
  --shadow-inset: inset 0 1px 0 0 rgba(255,255,255,0.8);
}
#qsh {
  --gradient-signature: linear-gradient(120deg, #032669, #1e4389 50%, #3d8bf2);
  --gradient-night: linear-gradient(160deg, #021a4a, #032669 55%, #1e4389);
  --gradient-paper: linear-gradient(180deg, #f6f7f9, #eef0f3);
  --gradient-step-1: linear-gradient(180deg, #fff9f8, #fffdf7);
  --gradient-step-2: linear-gradient(180deg, #fafbff, #fff7fb);
  --gradient-step-3: linear-gradient(180deg, #fffded, #f2fbff);
  --gradient-step-4: linear-gradient(180deg, #e9fdff, #9dd1ff);
  --gradient-step-5: linear-gradient(180deg, #fafbff, #e0e9ff);
  --gradient-spotlight: radial-gradient(380px at 50% 0%, rgba(37,99,216,0.11), rgba(0,0,0,0) 45%);
  --pattern-ongoing: repeating-linear-gradient(90deg, #2563d8 0px, #2563d8 6px, rgba(0,0,0,0) 6px, rgba(0,0,0,0) 12px);
}
#qsh{-webkit-font-smoothing:antialiased}
#qsh{margin:0 !important;font-family:var(--font-sans);font-size:var(--type-body-size);line-height:var(--type-body-lh);color:var(--body);background:var(--ground) !important}
#qsh a{color:var(--cobalt);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
#qsh a:hover{color:var(--accent-700)}
#qsh :focus-visible{outline:2px solid var(--focus);outline-offset:2px}
#qsh *{box-sizing:border-box}
#qsh{scroll-behavior:smooth;scroll-padding-top:96px}
#qsh{background:var(--gradient-paper) !important;background-attachment:fixed !important;overflow-x:hidden}
#qsh a{color:var(--cobalt)}#qsh a:hover{color:var(--accent-700)}
#qsh .wrap{max-width:1280px;margin:0 auto !important;padding:0 clamp(16px,3vw,48px)}
#qsh section{position:relative}
#qsh .sec{padding:120px 0 0}
#qsh .k{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:10px}
#qsh .k::before{content:"";width:6px;height:6px;border-radius:6px;background:var(--gradient-signature) !important}
#qsh [data-theme="night"] .k{color:var(--sky-light)}#qsh [data-theme="night"] .k::before{background:var(--sky-light) !important}
#qsh .h2{font-size:clamp(34px,4.4vw,56px);line-height:1.04;font-weight:500;letter-spacing:-.04em;color:var(--ink);margin:0 !important;text-wrap:balance}
#qsh .lead{font-size:17px;line-height:1.6;color:var(--body);margin:0 !important;text-wrap:pretty;max-width:520px}
#qsh .split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:48px !important}
#qsh .split>div{display:grid;gap:18px}
#qsh .gt{background:var(--gradient-signature) !important;-webkit-background-clip:text !important;background-clip:text !important;color:transparent}
#qsh [data-theme="night"] .gt{background:linear-gradient(120deg,#7dd3fc,#b4ccff 50%,#6ee7b7) !important}
#qsh .btn{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;font:500 15px/1 var(--font-sans);text-decoration:none;border:0;cursor:pointer;transition:background .16s,box-shadow .16s,transform .16s,color .16s;white-space:nowrap}
#qsh .btn svg{width:16px;height:16px;transition:transform .16s}
#qsh .btn:hover svg{transform:translateX(2px)}#qsh .btn:active{transform:translateY(1px)}
#qsh .btn-cta{background:var(--cta) !important;color:var(--on-cta);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 12px 26px -12px rgba(11,27,58,.55) !important}
#qsh .btn-cta:hover{background:var(--cta-hover) !important;color:var(--on-cta)}
#qsh .btn-navy{background:var(--ink) !important;color:#fff}#qsh .btn-navy:hover{background:var(--deep-navy) !important;color:#fff}
#qsh .btn-ghost{background:rgba(255,255,255,.6) !important;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line) !important}#qsh .btn-ghost:hover{background:#fff !important;color:var(--ink)}
#qsh .hero{min-height:100vh;padding:150px 0 40px;display:flex;flex-direction:column}
#qsh .hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:center;flex:1}
#qsh .hero-copy{display:grid;gap:26px;align-content:center}
#qsh .hero h1{font-size:clamp(48px,7.2vw,104px);line-height:.96;font-weight:500;letter-spacing:-.055em;color:var(--ink);margin:0 !important}
#qsh .hero h1 .ln{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.1em !important}
#qsh .hero h1 .ln>span{display:inline-block;transform:translateY(105%);animation:qsh-rise 1s cubic-bezier(.2, .8, .2, 1) forwards}
#qsh .hero h1 .ln:nth-child(2)>span{animation-delay:.12s}
#qsh .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
#qsh .fade{opacity:0;transform:translateY(14px);animation:qsh-fadeup .9s cubic-bezier(.2, .8, .2, 1) forwards}
@keyframes qsh-rise{to{transform:none}}
@keyframes qsh-fadeup{to{opacity:1;transform:none}}
#qsh .stage{position:relative;height:620px;display:grid;place-items:center}
#qsh .beam{position:absolute;left:-20%;right:-30%;height:2px;background:linear-gradient(90deg,transparent,rgba(59,118,246,.0) 10%,#fff 50%,rgba(125,211,252,.0) 90%,transparent) !important;box-shadow:0 0 18px 4px rgba(125,211,252,.55) !important;transform:rotate(-24deg);opacity:.9}
#qsh .beam.b1{top:78%}#qsh .beam.b2{top:88%;opacity:.5}
#qsh .beam::after{content:"";position:absolute;top:-3px;left:0;width:120px;height:8px;border-radius:8px;background:#fff !important;filter:blur(3px);animation:qsh-run 3.6s linear infinite}
#qsh .beam.b2::after{animation-delay:1.6s}
@keyframes qsh-run{from{left:0}to{left:100%}}
#qsh .iso{position:relative;width:326px;height:580px;transition:transform .6s cubic-bezier(.2,.8,.2,1);--D:326px;--h:189px;--T:54px}
#qsh .layer{position:absolute;left:0;bottom:var(--z);width:var(--D);height:calc(var(--h) + var(--T));animation:qsh-bob 5s ease-in-out infinite;transition:bottom .6s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 24px 24px rgba(11,27,58,.18))}
#qsh .stage:hover .layer{bottom:calc(var(--z) + var(--i) * 26px)}
#qsh .layer .s1,#qsh .layer .s2{position:absolute;inset:0}
#qsh .layer .s1{background:var(--c2) !important;clip-path:polygon(1% calc(var(--h)/2),50% var(--h),50% 100%,1% calc(var(--h)/2 + var(--T)))}
#qsh .layer .s2{background:var(--c3) !important;clip-path:polygon(50% var(--h),99% calc(var(--h)/2),99% calc(var(--h)/2 + var(--T)),50% 100%)}
#qsh .layer .top{position:absolute;left:calc((var(--D) - 230px)/2);top:calc((var(--h) - 230px)/2);width:230px;height:230px;transform:scaleY(.58) rotate(45deg);border-radius:20px;background:var(--c1) !important;box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 0 0 1px rgba(255,255,255,.2) !important;display:flex;flex-direction:column;justify-content:space-between;padding:22px;color:#fff;overflow:hidden}
#qsh .layer .top::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 20% 0%,rgba(255,255,255,.35),transparent 55%) !important}
#qsh .layer .lbl{position:relative;font-size:22px;line-height:1.08;font-weight:600;letter-spacing:-.03em}
#qsh .layer .n{position:relative;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;opacity:.8}
#qsh .layer .ic{position:relative;align-self:flex-end;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.18) !important;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3) !important}
#qsh .layer .ic svg{width:24px;height:24px}
#qsh .L1{--z:0px;--i:0;--c1:linear-gradient(135deg,#3b76f6,#1a47c9);--c2:#1c45b8;--c3:#17368c;animation-delay:0s}
#qsh .L2{--z:80px;--i:1;--c1:linear-gradient(135deg,#1b3570,#08122b);--c2:#0a1838;--c3:#060e22;animation-delay:-.6s}
#qsh .L3{--z:160px;--i:2;--c1:linear-gradient(135deg,#fbbf24,#f59e0b);--c2:#d98706;--c3:#b46f04;animation-delay:-1.2s}
#qsh .L3 .top{color:#3a2600}
#qsh .L4{--z:240px;--i:3;--c1:linear-gradient(135deg,#14877e,#0a4552);--c2:#0b5a54;--c3:#073f3b;animation-delay:-1.8s}
#qsh .L5{--z:320px;--i:4;--c1:linear-gradient(135deg,#6ee7b7,#00bb5c);--c2:#00a050;--c3:#047857;animation-delay:-2.4s}
#qsh .L5 .top{color:#05301e}
#qsh .layer .fl{position:absolute;left:0;top:calc(var(--h)/2);width:calc(var(--D)/2);height:var(--T);transform-origin:top left;transform:skewY(30deg);display:flex;align-items:center;gap:10px;padding-left:22px;font-size:14.5px;font-weight:600;letter-spacing:-.01em;color:#fff;white-space:nowrap}
#qsh .layer .fl b{font-family:var(--font-mono);font-weight:400;font-size:10.5px;opacity:.7}
#qsh .L3 .fl{color:#3a2600}#qsh .L5 .fl{color:#05301e}
#qsh .layer:not(.L5) .top>*{opacity:0}#qsh .L5 .top{justify-content:center;align-items:center}#qsh .L5 .top .lbl,#qsh .L5 .top .n{display:none}#qsh .L5 .top .ic{align-self:center;width:72px;height:72px;border-radius:20px;transform:rotate(-45deg)}#qsh .L5 .top .ic svg{width:34px;height:34px;color:#05301e}
@keyframes qsh-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
#qsh .chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:var(--glass) !important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 0 0 1px rgba(11,27,58,.06),0 18px 40px -20px rgba(11,27,58,.35) !important;font-size:13px;color:var(--text);animation:qsh-float 6s ease-in-out infinite}
#qsh .chip b{font-weight:600;color:var(--ink)}
#qsh .chip .d{width:8px;height:8px;border-radius:8px;background:var(--emerald) !important;box-shadow:0 0 0 4px var(--success-tint) !important}
#qsh .chip .d.w{background:var(--warning) !important;box-shadow:0 0 0 4px var(--warning-tint) !important}
#qsh .chip .mono{font-family:var(--font-mono);font-size:11.5px;color:var(--muted)}
#qsh .chip.c1{top:14%;left:2%}#qsh .chip.c2{top:46%;right:-2%;animation-delay:-2s}#qsh .chip.c3{bottom:12%;left:8%;animation-delay:-4s}
@keyframes qsh-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes qsh-marq{to{transform:translateX(-50%)}}
#qsh .statement{font-size:clamp(28px,3.4vw,46px);line-height:1.22;letter-spacing:-.035em;color:var(--ink);font-weight:400;margin:0 !important;max-width:1100px;text-wrap:pretty}
#qsh .statement .w{opacity:.14;transition:opacity .25s}#qsh .statement .w.on{opacity:1}
#qsh [data-r]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
#qsh [data-r].in{opacity:1;transform:none}
#qsh .night{border-radius:32px;background:var(--gradient-night) !important;box-shadow:0 40px 80px -40px rgba(8,18,43,.6) !important;position:relative;overflow:hidden;color:var(--body)}
#qsh .night .dots{position:absolute;inset:0;background-image:radial-gradient(rgba(180,204,255,.22) 1px,transparent 1px);background-size:22px 22px;mask:radial-gradient(70% 60% at 70% 30%,#000,transparent);-webkit-mask:radial-gradient(70% 60% at 70% 30%,#000,transparent);pointer-events:none}
#qsh .hex{position:absolute;pointer-events:none;filter:drop-shadow(0 0 10px rgba(59,118,246,.9)) drop-shadow(0 0 24px rgba(125,211,252,.5));animation:qsh-hexd 14s ease-in-out infinite}
#qsh .hex polygon{fill:rgba(35,88,224,.05);stroke:#7dd3fc;stroke-width:2.2}
@keyframes qsh-hexd{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(6deg)}}
#qsh .frame{border-radius:28px;background:var(--gradient-night) !important;box-shadow:0 50px 90px -40px rgba(8,18,43,.65),0 0 0 1px rgba(11,27,58,.1) !important;overflow:hidden;color:var(--body)}
#qsh .f-bar{display:flex;align-items:center;gap:8px;padding:14px 20px;border-bottom:1px solid var(--line)}
#qsh .f-bar .tl{width:9px;height:9px;border-radius:9px;background:rgba(255,255,255,.18) !important}
#qsh .f-tabs{display:flex;gap:6px;margin-left:16px}
#qsh .f-tabs span{font-size:12.5px;padding:6px 12px;border-radius:999px;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line) !important}
#qsh .f-tabs span.on{background:#fff !important;color:#0b1b3a;box-shadow:none !important;font-weight:500}
#qsh .live{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint-soft);padding:6px 12px;border-radius:999px;background:var(--success-tint) !important}
#qsh .live i{width:7px;height:7px;border-radius:7px;background:var(--mint) !important;animation:qsh-pulse 1.6s infinite}
@keyframes qsh-pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.6)}100%{box-shadow:0 0 0 10px rgba(52,211,153,0)}}
#qsh .f-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 20px 0}
#qsh .kpi{border-radius:16px;background:var(--glass) !important;box-shadow:inset 0 0 0 1px var(--line) !important;padding:14px 16px;display:grid;gap:4px}
#qsh .kpi .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;color:#fff;letter-spacing:-.02em}
#qsh .kpi .l{font-size:12.5px;color:var(--muted)}
#qsh .f-body{display:grid;grid-template-columns:minmax(0,.9fr) 120px minmax(0,1.3fr);gap:0;padding:18px 20px 20px;align-items:stretch}
#qsh .pane{border-radius:18px;background:var(--glass) !important;box-shadow:inset 0 0 0 1px var(--line) !important;padding:18px;display:grid;gap:12px;align-content:start}
#qsh .pane h4{margin:0 !important;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sky-light);font-weight:400}
#qsh .remit{display:grid;gap:10px}
#qsh .remit .row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}
#qsh .remit .row b{font-family:var(--font-mono);font-weight:500;color:#fff;font-size:12.5px;text-align:right}
#qsh .file{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.06) !important;font-size:13px;color:#fff}
#qsh .file svg{width:18px;height:18px;color:var(--sky-light)}
#qsh .scan{position:relative;height:4px;border-radius:4px;background:rgba(255,255,255,.08) !important;overflow:hidden}
#qsh .scan i{position:absolute;inset:0;width:0;background:linear-gradient(90deg,#3b76f6,#7dd3fc) !important;transition:width .9s ease}
#qsh .engine{display:grid;place-items:center;position:relative}
#qsh .engine .core{width:72px;height:72px;border-radius:22px;background:var(--gradient-signature) !important;display:grid;place-items:center;color:#fff;box-shadow:0 0 0 8px rgba(59,118,246,.12),0 0 40px rgba(59,118,246,.5) !important;position:relative;z-index:2}
#qsh .engine .core.spin svg{animation:qsh-spin 1.2s linear infinite}
@keyframes qsh-spin{to{transform:rotate(360deg)}}
#qsh .engine::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--pattern-ongoing) !important;opacity:.35}
#qsh .packet{position:absolute;top:calc(50% - 4px);left:0;width:8px;height:8px;border-radius:8px;background:#7dd3fc !important;box-shadow:0 0 12px #7dd3fc !important;opacity:0}
#qsh .packet.go{animation:qsh-pk .8s ease-in forwards}
@keyframes qsh-pk{0%{left:0;opacity:1}100%{left:calc(100% - 8px);opacity:0}}
#qsh .inv{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.04) !important;box-shadow:inset 0 0 0 1px transparent !important;transition:background .4s,box-shadow .4s}
#qsh .inv .id{font-family:var(--font-mono);font-size:12px;color:#fff}
#qsh .inv .amt{font-family:var(--font-mono);font-size:12.5px;color:rgba(255,255,255,.8);text-align:right;font-variant-numeric:tabular-nums}
#qsh .inv .st{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#qsh .inv .st i{flex:none;width:7px;height:7px;border-radius:7px;background:rgba(255,255,255,.25) !important;transition:background .3s}
#qsh .inv.ok{background:var(--success-tint) !important;box-shadow:inset 0 0 0 1px rgba(52,211,153,.3) !important}
#qsh .inv.ok .st{color:var(--mint-soft)}#qsh .inv.ok .st i{background:var(--mint) !important}
#qsh .inv.ex{background:var(--warning-tint) !important;box-shadow:inset 0 0 0 1px rgba(245,158,11,.35) !important}
#qsh .inv.ex .st{color:var(--warning-ink)}#qsh .inv.ex .st i{background:var(--warning) !important}
#qsh .post{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(0,187,92,.14) !important;color:var(--mint-soft);font-size:13px;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}
#qsh .post.on{opacity:1;transform:none}
#qsh .post svg{width:16px;height:16px}
#qsh .disclaim{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle);padding:0 20px 16px}
#qsh .tabs{display:inline-flex;gap:4px;padding:5px;border-radius:999px;background:#fff !important;box-shadow:0 0 0 1px var(--line),0 18px 40px -26px rgba(11,27,58,.22) !important;flex-wrap:wrap}
#qsh .tab{border:0;background:none !important;font:500 14px/1 var(--font-sans);color:var(--body);padding:12px 18px;border-radius:999px;cursor:pointer;transition:background .2s,color .2s}
#qsh .tab:hover{color:var(--ink)}#qsh .tab.on{background:var(--ink) !important;color:#fff}
#qsh .card{background:#fff !important;border-radius:24px;box-shadow:0 0 0 1px var(--line),0 18px 40px -26px rgba(11,27,58,.22) !important;padding:28px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
#qsh .card::before{content:"";position:absolute;inset:0;background:radial-gradient(380px at var(--mx,50%) var(--my,0%),rgba(35,88,224,.11),transparent 45%) !important;opacity:0;transition:opacity .3s;pointer-events:none}
#qsh .card:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--step-active-border),0 30px 50px -28px rgba(11,27,58,.35) !important}
#qsh .card:hover::before{opacity:1}
#qsh .card h3{font-size:22px;line-height:1.2;letter-spacing:-.03em;font-weight:500;color:var(--ink);margin:0 !important}
#qsh .card p{margin:0 !important;font-size:15px;line-height:1.6;color:var(--body);text-wrap:pretty}
#qsh .ladder{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;position:relative}
#qsh .track{position:absolute;left:0;right:0;top:34px;height:2px;background:var(--divider) !important;border-radius:2px;overflow:hidden}
#qsh .track i{position:absolute;inset:0;width:var(--p,0%);background:var(--gradient-signature) !important;transition:width .1s linear}
#qsh .step{border-radius:26px;padding:24px 24px 28px;display:grid;gap:14px;align-content:start;box-shadow:0 0 0 1px var(--line) !important;position:relative;min-height:300px;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
#qsh .step:hover{transform:translateY(-6px);box-shadow:0 0 0 1px var(--step-active-border),0 30px 50px -28px rgba(11,27,58,.3) !important}
#qsh .step:nth-child(2){background:var(--gradient-step-1) !important}#qsh .step:nth-child(3){background:var(--gradient-step-2) !important}#qsh .step:nth-child(4){background:var(--gradient-step-3) !important}#qsh .step:nth-child(5){background:var(--gradient-step-4) !important}
#qsh .step .num{width:22px;height:22px;border-radius:22px;background:var(--ink) !important;color:#fff;display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;position:relative;z-index:2;box-shadow:0 0 0 6px var(--paper) !important}
#qsh .step .dur{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--cobalt)}
#qsh .step h3{font-size:22px;letter-spacing:-.03em;font-weight:500;line-height:1.2;color:var(--ink);margin:0 !important}
#qsh .step p{margin:0 !important;font-size:14.5px;line-height:1.6;color:var(--body)}
#qsh .step .price{margin-top:auto !important;display:inline-flex;align-self:flex-start;font-size:12.5px;font-weight:500;color:var(--ink);padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.7) !important;box-shadow:inset 0 0 0 1px var(--line) !important}
#qsh .dl-wrap{padding:72px clamp(24px,5vw,64px)}
#qsh .dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;position:relative;z-index:2}
#qsh .dl-c{border-radius:22px;padding:22px;display:grid;gap:10px;background:rgba(255,255,255,.06) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12) !important}
#qsh .dl-c .mk{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--sky-light)}
#qsh .dl-c .big{font-family:var(--font-mono);font-size:42px;font-weight:500;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums;line-height:1}
#qsh .dl-c .big small{font-size:13px;color:var(--muted);letter-spacing:.06em;margin-left:6px}
#qsh .dl-c h4{margin:0 !important;font-size:17px;font-weight:500;color:#fff;letter-spacing:-.02em}
#qsh .dl-c p{margin:0 !important;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.65)}
#qsh .dl-c .bar{height:4px;border-radius:4px;background:rgba(255,255,255,.1) !important;overflow:hidden}
#qsh .dl-c .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7dd3fc,#34d399) !important;transition:width 1.6s cubic-bezier(.2,.8,.2,1)}
#qsh .erp-list{display:flex;flex-wrap:wrap;gap:8px}
#qsh .erp{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:#fff !important;box-shadow:0 0 0 1px var(--line) !important;font-size:14.5px;font-weight:500;color:var(--ink);transition:transform .2s,box-shadow .2s}
#qsh .erp:hover{transform:translateY(-2px);box-shadow:0 0 0 1px var(--step-active-border),0 10px 20px -12px rgba(11,27,58,.3) !important}
#qsh .erp i{width:7px;height:7px;border-radius:7px;background:var(--cobalt) !important}
#qsh .erp.t2 i{background:var(--sky) !important}
#qsh .per-btn{text-align:left;border:0;background:transparent !important;border-radius:18px;padding:16px 18px;cursor:pointer;display:grid;gap:4px;transition:background .2s,box-shadow .2s;font-family:var(--font-sans)}
#qsh .per-btn b{font-size:16px;font-weight:500;color:var(--ink);letter-spacing:-.02em}
#qsh .per-btn span{font-size:12.5px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
#qsh .per-btn:hover{background:rgba(255,255,255,.6) !important}
#qsh .per-btn.on{background:#fff !important;box-shadow:0 0 0 1px var(--step-active-border),0 18px 40px -26px rgba(11,27,58,.3) !important}
#qsh .pc{border-radius:18px;padding:18px 20px;background:rgba(255,255,255,.06) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1) !important;display:grid;gap:8px}
#qsh .pc .k{font-size:10.5px}
#qsh .pc p{margin:0 !important;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.8)}
#qsh footer{margin-top:24px !important;padding:56px 0 40px}
@media (max-width:1080px){#qsh .hero-grid,#qsh .split{grid-template-columns:minmax(0,1fr)}#qsh .stage{height:520px}#qsh .ladder{grid-template-columns:repeat(2,minmax(0,1fr))}#qsh .track{display:none}#qsh .f-body{grid-template-columns:minmax(0,1fr)}#qsh .engine{height:90px}#qsh .engine::before{left:50%;right:auto;top:0;bottom:0;width:2px;height:auto}#qsh .packet{display:none}#qsh .f-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){#qsh .ladder{grid-template-columns:minmax(0,1fr)}#qsh .stage{height:440px}#qsh .iso{transform:scale(.72)}#qsh .chip.c2{right:0}#qsh .f-tabs{display:none}}
@media (prefers-reduced-motion:reduce){#qsh *,#qsh *::before,#qsh *::after{animation:none!important;transition:none!important}#qsh [data-r]{opacity:1;transform:none}#qsh .hero h1 .ln>span{transform:none}#qsh .fade{opacity:1;transform:none}}
#qsh{--ms-red:#f25022;--ms-green:#7fba00;--ms-blue:#00a4ef;--ms-yellow:#ffb900;--ms-azure:#0078d4;--accent:#0078d4;--accent-700:#106ebe;--sky:#00a4ef;--cta:#0078d4;--cta-hover:#106ebe;--focus:#0078d4;--text-link:#0063b1;--gradient-signature:linear-gradient(120deg,#032669,#0078d4 55%,#00a4ef);--gradient-night:linear-gradient(160deg,#021a4a,#032669 55%,#0a4fa8)}
#qsh [data-theme="night"]{--cta:#0078d4;--cta-hover:#106ebe;--accent:#3aa0f3;--sky:#50b6f5;--focus:#50b6f5}
#qsh [data-theme="night"] .gt{background:linear-gradient(120deg,#8cc4ff,#b6cdf6 55%,#ffffff) !important;-webkit-background-clip:text !important;background-clip:text !important;color:transparent}
#qsh .btn-cta{box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 12px 26px -12px rgba(3,38,105,.6) !important}
#qsh .L1{--c1:linear-gradient(135deg,#3d8bf2,#2563d8);--c2:#1f55bd;--c3:#1a4597}
#qsh .L2{--c1:linear-gradient(135deg,#1e4389,#032669);--c2:#04225c;--c3:#021a4a}
#qsh .L4{--c1:linear-gradient(135deg,#5aa2f7,#1e4389);--c2:#1a3c7c;--c3:#122e63}
#qsh .L5{--c1:linear-gradient(135deg,#b6dcff,#3d8bf2);--c2:#2f78dd;--c3:#2563d8}
#qsh .L5 .top,#qsh .L5 .fl{color:#032669}#qsh .L5 .top .ic svg{color:#032669}
#qsh .hero h1.k{font-size:11px;line-height:1.5;font-weight:400;letter-spacing:.14em;margin:0 !important}
#qsh .hero .disp{font-size:clamp(48px,7.2vw,104px);line-height:.96;font-weight:500;letter-spacing:-.055em;color:var(--ink);margin:0 !important}
#qsh .hero .disp .ln{display:block;overflow:hidden;padding-bottom:.16em;margin-bottom:-.1em !important}
#qsh .hero .disp .ln>span{display:inline-block;transform:translateY(105%);animation:qsh-rise 1s cubic-bezier(.2, .8, .2, 1) forwards}
#qsh .hero .disp .ln:nth-child(2)>span{animation-delay:.12s}
#qsh .micro{margin:-10px 0 0 !important;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
#qsh .trust{margin-top:28px !important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:20px 0;border-top:1px solid var(--divider)}
#qsh .trust>div{display:flex;gap:10px;align-items:center;font-size:14.5px;line-height:1.35;color:var(--ink);font-weight:500}
#qsh .trust svg{flex:none;width:18px;height:18px;color:var(--cobalt)}
#qsh .more{margin-top:auto !important;padding-top:6px;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--cobalt);text-decoration:none}#qsh .more svg{width:15px;height:15px;transition:transform .16s}#qsh .more:hover svg{transform:translateX(3px)}
#qsh .faq{display:grid;gap:10px;max-width:960px}
#qsh .faq details{background:#fff !important;border-radius:18px;box-shadow:0 0 0 1px var(--line) !important;transition:box-shadow .2s}
#qsh .faq details[open]{box-shadow:0 0 0 1px var(--step-active-border),0 18px 40px -26px rgba(11,27,58,.3) !important}
#qsh .faq summary{list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 24px;font-size:17px;font-weight:500;letter-spacing:-.02em;color:var(--ink);cursor:pointer}
#qsh .faq summary::-webkit-details-marker{display:none}
#qsh .faq summary svg{flex:none;width:18px;height:18px;color:var(--cobalt);transition:transform .25s}#qsh .faq details[open] summary svg{transform:rotate(45deg)}
#qsh .faq details p{margin:0 !important;padding:0 24px 22px;font-size:15.5px;line-height:1.6;color:var(--body);max-width:760px}
@media (max-width:1080px){#qsh .trust{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){#qsh .trust{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){#qsh .hero .disp .ln>span{transform:none}}
#qsh .ai-pill{align-self:flex-start;justify-self:start;width:fit-content;display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 10px;border-radius:999px;background:#fff !important;box-shadow:0 0 0 1px var(--line),0 8px 20px -14px rgba(3,38,105,.4) !important;font-size:13px;font-weight:500;color:var(--ink);margin-bottom:6px !important}
#qsh .msq{display:grid;grid-template-columns:7px 7px;gap:1.5px}#qsh .msq i{width:7px;height:7px}#qsh .msq i:nth-child(1){background:var(--ms-red) !important}#qsh .msq i:nth-child(2){background:var(--ms-green) !important}#qsh .msq i:nth-child(3){background:var(--ms-blue) !important}#qsh .msq i:nth-child(4){background:var(--ms-yellow) !important}
#qsh .trust img.tl{flex:none;width:18px;height:18px}
#qsh .pb{display:inline-flex;align-items:center;gap:12px;padding:10px 18px 10px 12px;border-radius:14px;background:#fff !important;box-shadow:0 0 0 1px var(--line) !important;line-height:1.15}
#qsh .pb img{width:30px;height:30px;flex:none}#qsh .pb small{display:block;font-size:11px;color:var(--muted);letter-spacing:.02em}#qsh .pb b{display:block;font-size:14.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
#qsh .ai-n{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;font-family:var(--font-mono);font-size:14px;font-weight:600;color:#fff}
#qsh .erp-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center}
#qsh .erp-copy{display:grid;gap:20px;align-content:center}#qsh .erp-copy .erp-list{margin-top:8px !important}
#qsh .mq{position:relative;height:560px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent)}
#qsh .mq-col{overflow:hidden}#qsh .mq-track{display:flex;flex-direction:column;gap:14px;animation:qsh-mqUp 26s linear infinite}
#qsh .mq-col.rev .mq-track{animation-name:qsh-mqDown;animation-duration:30s}#qsh .mq-col:nth-child(3) .mq-track{animation-duration:34s}
#qsh .mq:hover .mq-track{animation-play-state:paused}
@keyframes qsh-mqUp{from{transform:translateY(0)}to{transform:translateY(calc(-50% - 7px))}}
@keyframes qsh-mqDown{from{transform:translateY(calc(-50% - 7px))}to{transform:translateY(0)}}
#qsh .lg{display:grid;gap:14px;justify-items:center;padding:26px 16px 18px;border-radius:20px;background:#fff !important;box-shadow:0 0 0 1px var(--line),0 14px 30px -24px rgba(3,38,105,.35) !important;text-decoration:none;transition:box-shadow .2s,transform .2s}
#qsh .lg:hover{box-shadow:0 0 0 1px var(--ms-azure),0 18px 36px -22px rgba(0,120,212,.45) !important}
#qsh .lg-img{height:56px;width:100%;display:grid;place-items:center}#qsh .lg-img img{max-height:56px;max-width:78%;width:auto;height:auto;object-fit:contain}
#qsh .lg-n{font-size:13px;font-weight:500;color:var(--ink);text-align:center;line-height:1.3}
@media (max-width:1080px){#qsh .erp-hero{grid-template-columns:minmax(0,1fr);gap:36px}#qsh .mq{height:440px}}
@media (max-width:680px){#qsh .mq{grid-template-columns:repeat(2,minmax(0,1fr));height:400px}#qsh .mq-col:nth-child(3){display:none}}
@media (prefers-reduced-motion:reduce){#qsh .mq-track{animation:none!important}}
#qsh .tm-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
#qsh .tm{display:grid;grid-template-rows:auto 1fr;border-radius:24px;overflow:hidden;background:#fff !important;box-shadow:0 0 0 1px var(--line) !important;text-decoration:none}
#qsh .tm-ph{position:relative;aspect-ratio:1/1;background:linear-gradient(160deg,#eaf1ff,#cfe3fb) !important;overflow:hidden}
#qsh .tm-ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1)}#qsh .tm:hover .tm-ph img{transform:scale(1.04)}
#qsh .tm-t{padding:18px 20px 20px;display:grid;gap:4px;align-content:start}#qsh .tm-t b{font-size:17px;font-weight:500;letter-spacing:-.02em;color:var(--ink)}#qsh .tm-t span{font-size:13.5px;color:var(--ms-azure)}#qsh .tm-t p{margin:6px 0 0 !important;font-size:14px;line-height:1.5;color:var(--body)}
#qsh .tm-more{background:var(--gradient-night) !important;padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:none !important}#qsh .tm-more .k{color:var(--sky-light,#8cc4ff)}#qsh .tm-more b{font-size:20px;line-height:1.3;font-weight:500;letter-spacing:-.02em;color:#fff}
@media (max-width:1080px){#qsh .tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){#qsh .tm-grid{grid-template-columns:minmax(0,1fr)}}
#qsh .ib{margin-top:40px !important;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:stretch;padding:32px;border-radius:28px;background:linear-gradient(180deg,#f9fbff,#eef5fd) !important;box-shadow:0 0 0 1px var(--line) !important;overflow:hidden}
#qsh .ib-l{display:flex;flex-direction:column;justify-content:space-around;gap:40px}
#qsh .ib-lab{display:grid;gap:10px;max-width:240px}#qsh .ib-lab p{margin:0 !important;font-size:15px;line-height:1.5;color:var(--ink)}
#qsh .ib-tag{justify-self:start;padding:8px 16px;border-radius:999px;background:#fff !important;box-shadow:0 8px 20px -14px rgba(3,38,105,.5) !important;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
#qsh .ib-tag.see{color:var(--ms-azure)}#qsh .ib-tag.hid{color:#c2410c}
#qsh .ib-c{display:grid;place-items:center}#qsh .ice{width:100%;max-width:440px;height:auto;display:block}
#qsh .ib-r{list-style:none;margin:0 !important;padding:0 0 0 24px;border-left:1px solid rgba(3,38,105,.12);display:grid;gap:18px;align-content:center}
#qsh .ib-r li{display:flex;gap:14px;align-items:flex-start}#qsh .ib-r b{display:block;font-size:15.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em}#qsh .ib-r span{font-size:14px;line-height:1.45;color:var(--body)}
#qsh .ib-ic{flex:none;width:40px;height:40px;border-radius:50%;background:#fff !important;display:grid;place-items:center;box-shadow:0 6px 16px -10px rgba(3,38,105,.5) !important}#qsh .ib-ic svg{width:18px;height:18px;color:#c2410c}
#qsh .ib-fix{margin-top:16px !important;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr);gap:24px;align-items:center;padding:28px 32px;border-radius:24px;background:#fffaf0 !important;box-shadow:0 0 0 1px #f6e3b4 !important}
#qsh .ib-fix-h{display:flex;gap:18px;align-items:center}#qsh .ib-fix h3{margin:0 0 6px !important;font-size:22px;font-weight:500;letter-spacing:-.03em;color:var(--ink)}#qsh .ib-fix p{margin:0 !important;font-size:15px;line-height:1.5;color:var(--body)}
#qsh .ib-target{flex:none;width:56px;height:56px;border-radius:50%;background:var(--ms-yellow) !important;display:grid;place-items:center}#qsh .ib-target svg{width:26px;height:26px;color:var(--ink)}
#qsh .ib-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}#qsh .ib-steps>div{display:grid;gap:10px;justify-items:center;text-align:center;padding:0 14px;font-size:14.5px;color:var(--ink);font-weight:500}#qsh .ib-steps>div+div{border-left:1px solid #f0dcaa}#qsh .ib-steps svg{width:26px;height:26px;color:var(--ms-azure)}
@media (max-width:1080px){#qsh .ib{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}#qsh .ib-r{grid-column:1/-1;border-left:0;padding:24px 0 0;border-top:1px solid rgba(3,38,105,.12);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}#qsh .ib-fix{grid-template-columns:minmax(0,1fr)}}
@media (max-width:680px){#qsh .ib{grid-template-columns:minmax(0,1fr);padding:22px}#qsh .ib-c{order:-1}#qsh .ib-l{flex-direction:row;gap:16px}#qsh .ib-lab{flex:1}#qsh .ib-steps{grid-template-columns:minmax(0,1fr);gap:16px}#qsh .ib-steps>div+div{border-left:0}}
@keyframes qsh-orbSpin{to{transform:rotate(360deg)}}@keyframes qsh-orbCounter{from{rotate:0deg}to{rotate:-360deg}}
#qsh .svc{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:18px 22px;border-radius:20px;cursor:pointer;transition:background .25s,box-shadow .25s;outline:none}
#qsh .svc:hover,#qsh .svc:focus-visible{background:var(--surface) !important}
#qsh .svc.on{background:#fff !important;box-shadow:0 0 0 1px var(--line),0 24px 48px -30px rgba(3,38,105,.45) !important}
#qsh .svc h3{margin:0 !important;display:flex;align-items:center;gap:10px;font-size:20px;font-weight:500;letter-spacing:-.025em;color:var(--ink)}#qsh .svc h3 svg{width:20px;height:20px;color:var(--ms-azure)}
#qsh .cv-head{display:grid;justify-items:center;text-align:center;gap:16px;max-width:860px;margin:0 auto !important}#qsh .cv-head .lead{margin:0 !important;max-width:720px}
#qsh .cv{margin:52px auto 0 !important;display:flex;justify-content:center;align-items:center;gap:14px;perspective:1100px;perspective-origin:50% 50%;max-width:1180px}
#qsh .cv-card{--ap:max(var(--p),calc(-1*var(--p)));position:relative;flex:1 1 0;min-width:0;height:calc(260px + var(--ap)*64px);border:0;border-radius:26px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;cursor:pointer;overflow:hidden;transform:rotateY(calc(var(--p)*-16deg)) scale(calc(1 - var(--ap)*.0));transform-origin:center;box-shadow:0 30px 60px -34px rgba(3,38,105,.6) !important;transition:box-shadow .3s,filter .3s;font:inherit}
#qsh .cv-card:hover{filter:brightness(1.06)}
#qsh .cv-card.on{box-shadow:0 0 0 3px #fff,0 0 0 6px var(--ms-azure),0 34px 70px -30px rgba(0,120,212,.6) !important}
#qsh .cv-ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.18) !important;display:grid;place-items:center}#qsh .cv-ic svg{width:22px;height:22px}
#qsh .cv-big{position:absolute;right:-18%;top:22%;opacity:.12;pointer-events:none}#qsh .cv-big svg{width:180px;height:180px;stroke-width:1.2}
#qsh .cv-t{position:relative;display:grid;gap:6px}#qsh .cv-t b{font-size:clamp(17px,1.5vw,22px);font-weight:500;letter-spacing:-.025em;line-height:1.15}#qsh .cv-t small{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.82}
#qsh .cv-ghost{flex:0 0 46px;height:430px;border-radius:26px;background:linear-gradient(160deg,#dbe8f8,#eef4fc) !important;opacity:.8}#qsh .cv-ghost.l{transform:rotateY(40deg);margin-right:-4px}#qsh .cv-ghost.r{transform:rotateY(-40deg);margin-left:-4px}
#qsh .cv-labs{margin:26px auto 0 !important;max-width:1080px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:0 60px}
#qsh .cv-lab{border:0;background:none !important;font:inherit;font-size:13.5px;color:var(--body);display:grid;gap:4px;justify-items:center;text-align:center;cursor:pointer;padding:6px}#qsh .cv-lab span{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--ms-azure)}#qsh .cv-lab.on{color:var(--ink);font-weight:600}
#qsh .cv-dets{margin:28px auto 0 !important;max-width:820px}#qsh .cv-det{display:none;gap:12px;justify-items:center;text-align:center;padding:28px 32px;border-radius:24px;background:var(--surface) !important}#qsh .cv-det.on{display:grid;animation:qsh-fadeup .5s cubic-bezier(.2, .8, .2, 1)}#qsh .cv-det p{margin:0 !important;font-size:16px;line-height:1.65;color:var(--body);text-wrap:pretty}
@media (max-width:1080px){#qsh .cv{overflow-x:auto;justify-content:flex-start;scroll-snap-type:x mandatory;padding:20px 4px;perspective:none}#qsh .cv-ghost{display:none}#qsh .cv-card{flex:0 0 240px;height:300px;transform:none;scroll-snap-align:center}#qsh .cv-labs{display:none}}
#qsh .ai-sec{position:relative;overflow:hidden;background:#020b24 !important;color:#fff;padding:120px 0 120px;margin:40px 0 !important}
#qsh .ai-sec .anchor{position:absolute;top:0}
#qsh .ai-glow{position:absolute;left:50%;top:0;width:1400px;height:820px;transform:translateX(-50%);background:radial-gradient(60% 55% at 50% 72%,rgba(140,200,255,.85),rgba(0,120,212,.55) 35%,rgba(3,38,105,.35) 60%,transparent 78%) !important;pointer-events:none}
#qsh .ai-pix{position:absolute;inset:0 0 auto;height:820px;background-image:radial-gradient(rgba(170,210,255,.55) 1.2px,transparent 1.6px);background-size:14px 14px;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,transparent 30%,#000 70%,transparent 95%);mask-image:radial-gradient(70% 60% at 50% 40%,transparent 30%,#000 70%,transparent 95%);opacity:.5;pointer-events:none}
#qsh .ai-in{position:relative;z-index:2}
#qsh .ai-hero{display:grid;justify-items:center;text-align:center;gap:26px;padding:20px 0 120px}
#qsh .ai-chip{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:8px;background:rgba(255,255,255,.08) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14) !important;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#d6e8ff}
#qsh .ai-h{margin:0 !important;max-width:980px;font-size:clamp(40px,5.6vw,78px);line-height:1.02;letter-spacing:-.045em;font-weight:500;color:#cfe5ff;text-wrap:balance}
#qsh .ai-h em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.02em;color:#fff}
#qsh .ai-acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
#qsh .ai-btn-l{background:#fff !important;color:#021a4a;border-radius:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}#qsh .ai-btn-l:hover{background:#eaf3ff !important}
#qsh .ai-btn-d{background:#0b1430 !important;color:#fff;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2) !important;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}#qsh .ai-btn-d:hover{background:#131f45 !important}
#qsh .ai-stmt{margin:0 auto !important;max-width:900px;text-align:center;font-size:clamp(28px,3.4vw,46px);line-height:1.12;letter-spacing:-.035em;color:#fff}#qsh .ai-stmt span{color:rgba(255,255,255,.5)}
#qsh .ai-core{display:grid;justify-items:center;margin-top:56px !important}
#qsh .ai-key{width:92px;height:92px;border-radius:22px;background:linear-gradient(160deg,#1b2342,#05091a) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 0 1px rgba(255,255,255,.08),0 20px 50px -10px rgba(0,120,212,.6) !important;display:grid;place-items:center}#qsh .ai-key img{width:58%;height:auto}
#qsh .ai-beam{width:2px;height:110px;background:linear-gradient(180deg,rgba(140,200,255,.9),rgba(0,120,212,0)) !important}
#qsh .ai-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid rgba(140,200,255,.35);box-shadow:0 -1px 30px -6px rgba(0,120,212,.6) !important}
#qsh .ai-col{padding:44px 40px;display:grid;gap:22px;align-content:start}#qsh .ai-col+.ai-col{border-left:1px solid rgba(255,255,255,.1);background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:16px 16px}
#qsh .ai-tag{justify-self:start;padding:5px 10px;border-radius:6px;background:rgba(255,255,255,.08) !important;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#d6e8ff}
#qsh .ai-lead{margin:0 !important;font-size:clamp(24px,2.4vw,32px);line-height:1.2;letter-spacing:-.03em;font-weight:500;color:#fff}#qsh .ai-lead span{color:rgba(255,255,255,.5)}
#qsh .ai-steps{list-style:none;margin:0 !important;padding:0;display:grid;gap:4px}
#qsh .ai-steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:16px 0;border-top:1px solid rgba(255,255,255,.08)}
#qsh .ai-n{font-family:var(--font-mono);font-size:12.5px;color:#8cc4ff;padding-top:3px}
#qsh .ai-steps b,#qsh .ai-tile b{display:block;font-size:17px;font-weight:500;letter-spacing:-.02em;color:#fff}#qsh .ai-steps p,#qsh .ai-tile p{margin:6px 0 0 !important;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.66)}
#qsh .ai-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#qsh .ai-tile{display:grid;gap:14px;padding:20px;border-radius:18px;background:linear-gradient(160deg,#121a36,#070d22) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 0 1px rgba(255,255,255,.08) !important}
#qsh .ai-ti{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#fff}#qsh .ai-ti svg{width:20px;height:20px}
#qsh .ai-badges{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
#qsh .ai-badges .pb{background:rgba(255,255,255,.06) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14) !important}#qsh .ai-badges .pb small{color:rgba(255,255,255,.6)}#qsh .ai-badges .pb b{color:#fff}
@media (max-width:1080px){#qsh .ai-grid{grid-template-columns:minmax(0,1fr)}#qsh .ai-col+.ai-col{border-left:0;border-top:1px solid rgba(255,255,255,.1)}#qsh .ai-hero{padding-bottom:80px}}
@media (max-width:680px){#qsh .ai-sec{padding:80px 0}#qsh .ai-col{padding:32px 4px}#qsh .ai-stack{grid-template-columns:minmax(0,1fr)}}
#qsh .ind-sec{position:relative;background:radial-gradient(80% 60% at 50% 30%,#1c2a4d,#0a1226 70%) !important;color:#fff;padding:90px 0 80px;margin:40px 0 !important;overflow:hidden}
#qsh .ind-stage{position:relative;min-height:640px;display:grid;place-items:center}
#qsh .ind-word{position:absolute;left:0;right:0;top:10px;text-align:center;font-family:'Oswald',var(--font-sans);font-weight:600;font-size:clamp(90px,17vw,250px);line-height:.9;letter-spacing:-.01em;background:linear-gradient(180deg,#f2f5fa 0%,#a9b6cc 55%,rgba(120,140,175,.35) 100%) !important;-webkit-background-clip:text !important;background-clip:text !important;color:transparent;pointer-events:none;user-select:none}
#qsh .ind-photo{position:relative;z-index:2;width:min(620px,70%);aspect-ratio:16/10;margin-top:120px !important;box-shadow:0 50px 90px -30px rgba(0,0,0,.8) !important;border-radius:22px}
#qsh .ind-badge{position:absolute;z-index:3;left:17%;top:200px;padding:14px 18px;border-radius:6px;background:rgba(40,54,88,.75) !important;backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14) !important;display:grid;gap:2px}#qsh .ind-badge small{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.7)}#qsh .ind-badge b{font-size:22px;font-weight:600;letter-spacing:-.02em}
#qsh .ind-cta{position:absolute;z-index:3;left:0;bottom:30px;width:340px;padding:28px;border-radius:6px;background:rgba(18,28,54,.78) !important;backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12) !important;display:grid;gap:18px}
#qsh .ind-cta h2{margin:0 !important;font-size:26px;line-height:1.2;font-weight:400;letter-spacing:-.02em;color:#fff}#qsh .ind-cta .btn{justify-content:center;border-radius:4px}
#qsh .ind-spec{position:absolute;z-index:3;right:4%;bottom:90px;width:200px;padding:16px;border-radius:6px;background:rgba(40,54,88,.75) !important;backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14) !important;display:grid;gap:12px}
#qsh .ind-spec-ic{width:44px;height:44px;border-radius:10px;background:var(--ms-yellow) !important;color:#061d4f;display:grid;place-items:center}#qsh .ind-spec-ic svg{width:22px;height:22px}
#qsh .ind-spec ul{margin:0 !important;padding-left:16px;display:grid;gap:4px;font-size:13.5px;color:rgba(255,255,255,.85)}
#qsh .ind-bot{margin-top:56px !important;padding-top:44px;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:40px}
#qsh .ind-why{display:grid;gap:16px;align-content:start}#qsh .ind-why h3{margin:0 !important;font-size:clamp(24px,2.3vw,30px);line-height:1.2;font-weight:400;letter-spacing:-.02em;color:#fff}#qsh .ind-why p{margin:0 !important;font-size:15px;line-height:1.6;color:rgba(255,255,255,.65)}
#qsh .ind-tag{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8)}#qsh .ind-tag svg{width:16px;height:16px;color:#3aa0f3}
#qsh .ind-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#qsh .ind-c{display:grid;gap:10px;align-content:start;padding:20px;border-radius:6px;background:rgba(20,30,58,.7) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1) !important;text-decoration:none;color:#fff;transition:background .2s,box-shadow .2s}
#qsh .ind-c:hover{background:rgba(30,48,90,.8) !important;box-shadow:inset 0 0 0 1px rgba(58,160,243,.5) !important}
#qsh .ind-c-top{display:flex;justify-content:space-between;align-items:center}#qsh .ind-c-ic{width:38px;height:38px;border-radius:9px;background:rgba(0,120,212,.2) !important;display:grid;place-items:center;color:#8cc4ff}#qsh .ind-c-ic svg{width:18px;height:18px}#qsh .ind-go{width:16px;height:16px;color:rgba(255,255,255,.6)}
#qsh .ind-c b{font-size:16px;font-weight:500;letter-spacing:-.01em}#qsh .ind-c>span:last-child{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.65)}
@media (max-width:1080px){#qsh .ind-stage{min-height:0;display:grid;gap:16px;justify-items:stretch}#qsh .ind-word{position:relative;top:0}#qsh .ind-photo{width:100%;margin-top:-40px !important}#qsh .ind-badge,#qsh .ind-cta,#qsh .ind-spec{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto}#qsh .ind-bot{grid-template-columns:minmax(0,1fr)}#qsh .ind-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){#qsh .ind-cards{grid-template-columns:minmax(0,1fr)}}
#qsh .ind-c{padding:0;overflow:hidden}#qsh .ind-c>*:not(.ind-c-img){margin:0 20px !important}#qsh .ind-c>span:last-child{margin-bottom:20px !important}
#qsh .ind-c-img{display:block;aspect-ratio:16/9;overflow:hidden;margin-bottom:6px !important}#qsh .ind-c-img img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) brightness(.85);transition:transform .5s,filter .3s}#qsh .ind-c:hover .ind-c-img img{transform:scale(1.05);filter:none}
#qsh .ind-cred{margin:28px 0 0 !important;font-size:11.5px;line-height:1.5;color:rgba(255,255,255,.45)}
#qsh .ctl{position:relative;border-radius:36px;padding:56px;background:radial-gradient(60% 70% at 72% 50%,#3a4458 0%,#1f2735 55%,#171d29 100%) !important;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 40px 80px -40px rgba(3,10,30,.7) !important;color:#fff;overflow:hidden}
#qsh .ctl-head{display:grid;gap:16px;margin-bottom:44px !important}#qsh .ctl-head .k{color:#8cc4ff}
#qsh .ctl-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:center}
#qsh .ctl-spec{position:relative;display:grid;gap:4px;padding-left:0}
#qsh .ctl-track{position:absolute;left:180px;top:0;bottom:0;width:1px;background:rgba(255,255,255,.35) !important}#qsh .ctl-track::before,#qsh .ctl-track::after{content:"";position:absolute;left:-2px;width:5px;height:5px;border-radius:50%;background:#fff !important}#qsh .ctl-track::before{top:-2px}#qsh .ctl-track::after{bottom:-2px}
#qsh .ctl-track i{position:absolute;left:-4px;width:9px;border-radius:9px;background:#fff !important;box-shadow:0 0 18px rgba(140,196,255,.7) !important;transition:top .4s cubic-bezier(.2,.8,.2,1),height .4s cubic-bezier(.2,.8,.2,1);height:40px;top:0}
#qsh .ctl-row{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:start;border:0;background:none !important;padding:16px 0;text-align:left;font:inherit;cursor:pointer;color:inherit}
#qsh .ctl-l{padding-right:28px;text-align:right;font-size:14px;color:rgba(255,255,255,.45);transition:color .25s,font-weight .25s;padding-top:2px}
#qsh .ctl-d{padding-left:32px;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.4);transition:color .25s;text-wrap:pretty}
#qsh .ctl-row.on .ctl-l{color:#fff;font-weight:600}#qsh .ctl-row.on .ctl-d{color:rgba(255,255,255,.9)}#qsh .ctl-row:hover .ctl-d{color:rgba(255,255,255,.75)}
#qsh .ctl-vis{position:relative;display:flex;align-items:center;justify-content:center;gap:36px}
#qsh .ctl-rec{position:relative;width:100%;max-width:340px;border-radius:44px;padding:30px 26px 24px;background:linear-gradient(170deg,#3b4457,#1a202c 70%) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 0 0 1px rgba(255,255,255,.1),0 40px 70px -24px rgba(0,0,0,.7) !important;display:grid;gap:8px}
#qsh .ctl-rec-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px !important;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}
#qsh .ctl-live{display:inline-flex;align-items:center;gap:7px;color:#9be37a}#qsh .ctl-live i{width:7px;height:7px;border-radius:50%;background:#7fba00 !important;box-shadow:0 0 0 4px rgba(127,186,0,.2) !important}
#qsh .ctl-f{position:relative;display:grid;gap:2px;padding:12px 14px 12px 40px;border-radius:16px;background:rgba(0,0,0,.18) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06) !important;transition:background .3s,box-shadow .3s}
#qsh .ctl-f small{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45)}#qsh .ctl-f b{font-size:13.5px;font-weight:500;color:rgba(255,255,255,.85);font-family:var(--font-mono)}
#qsh .ctl-plus{position:absolute;left:12px;top:50%;width:18px;height:18px;margin-top:-9px !important;border-radius:50%;background:#fff !important;color:#1f2735;display:grid;place-items:center;font-size:13px;font-weight:700;line-height:1;opacity:.35;transition:opacity .3s,transform .3s}
#qsh .ctl-f.on{background:rgba(0,120,212,.22) !important;box-shadow:inset 0 0 0 1px rgba(140,196,255,.55) !important}#qsh .ctl-f.on .ctl-plus{opacity:1;transform:scale(1.15);box-shadow:0 0 0 5px rgba(140,196,255,.25) !important}
#qsh .ctl-rec-f{margin-top:8px !important;display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(255,255,255,.7)}#qsh .ctl-rec-f svg{width:15px;height:15px;color:#9be37a}
#qsh .ctl-pager{display:grid;gap:14px}#qsh .ctl-pager button{width:8px;height:8px;border:0;padding:0;border-radius:50%;background:rgba(255,255,255,.7) !important;cursor:pointer;transition:box-shadow .25s}#qsh .ctl-pager button.on{background:#fff !important;box-shadow:0 0 0 5px rgba(255,255,255,.12),0 0 0 6px rgba(255,255,255,.5) !important}
#qsh .ctl-foot{margin-top:40px !important;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45)}
@media (max-width:1080px){#qsh .ctl{padding:40px 28px}#qsh .ctl-body{grid-template-columns:minmax(0,1fr)}#qsh .ctl-vis{order:-1}}
@media (max-width:640px){#qsh .ctl-track{left:0}#qsh .ctl-row{grid-template-columns:minmax(0,1fr);gap:6px;padding-left:22px}#qsh .ctl-l,#qsh .ctl-d{text-align:left;padding:0}#qsh .ctl-pager{display:none}}
#qsh{background:#f3f6fb !important}
#qsh div:where(.qsh-main),#qsh footer{max-width:1280px;margin:0 auto !important;background:#fff !important;border-left:1px solid #e1e7f0;border-right:1px solid #e1e7f0;overflow-x:clip}
#qsh div:where(.qsh-main)>section{border-top:1px solid #e1e7f0}#qsh div:where(.qsh-main)>section:first-child{border-top:0}
#qsh div:where(.qsh-main) .sec{padding:110px 0}
#qsh .ai-sec,#qsh .ind-sec{margin:0!important}
#qsh footer{margin-top:0 !important;padding:24px 24px 32px;border-top:1px solid #e1e7f0}
#qsh footer .wrap{padding:0}
#qsh .hero .trust{border-top:1px solid #e1e7f0}
#qsh .fa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
#qsh .fa-faq{display:grid;gap:20px;align-content:start}#qsh .fa-faq .faq{max-width:none;margin-top:8px !important}
#qsh .fa-form-wrap{position:sticky;top:110px}
#qsh .fa-form{position:relative;overflow:hidden;border-radius:28px;background:var(--gradient-night) !important;padding:36px;color:#fff;display:grid;gap:26px;box-shadow:0 40px 80px -40px rgba(3,38,105,.7) !important}
#qsh .fa-form-h{position:relative;z-index:2;display:grid;gap:12px}#qsh .fa-form-h h3{margin:0 !important;font-size:clamp(26px,2.4vw,34px);line-height:1.1;letter-spacing:-.035em;font-weight:500;color:#fff}#qsh .fa-form-h p{margin:0 !important;font-size:15px;line-height:1.6;color:rgba(255,255,255,.75)}
#qsh .fa-get{list-style:none;margin:4px 0 0 !important;padding:0;display:grid;gap:8px}#qsh .fa-get li{display:flex;gap:10px;align-items:center;font-size:14.5px;color:#fff}#qsh .fa-get svg{width:16px;height:16px;color:#7fba00}
#qsh .fa-f{position:relative;z-index:2;display:grid;gap:14px;padding:24px;border-radius:20px;background:#fff !important;color:var(--ink)}
#qsh .fa-fine{margin:0 !important;font-size:12.5px;color:var(--muted);text-align:center}#qsh .fa-fine a{color:#0063b1}
@media (max-width:1080px){#qsh .fa{grid-template-columns:minmax(0,1fr)}#qsh .fa-form-wrap{position:static}}
@media (max-width:560px){#qsh .fa-form{padding:22px}#qsh .fa-f{padding:18px}}
#qsh .bl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px}
#qsh .bl-feat{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;justify-content:flex-end;min-height:440px;padding:36px;border-radius:28px;background:var(--gradient-night) !important;color:#fff;text-decoration:none;box-shadow:0 40px 80px -40px rgba(3,38,105,.7) !important}
#qsh .bl-feat:hover{color:#fff}#qsh .bl-feat h3{position:relative;margin:0 !important;font-size:clamp(26px,2.4vw,34px);line-height:1.12;letter-spacing:-.035em;font-weight:500}#qsh .bl-feat p{position:relative;margin:0 !important;font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.75);max-width:440px}
#qsh .bl-art{position:absolute;right:-30px;top:-30px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(0,164,239,.35),transparent 70%) !important;display:grid;place-items:center;color:rgba(255,255,255,.85)}#qsh .bl-art svg{width:72px;height:72px;stroke-width:1.3}
#qsh .bl-meta{position:relative;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}#qsh .bl-feat .bl-meta{color:rgba(255,255,255,.65)}
#qsh .bl-cat{padding:4px 8px;border-radius:6px;background:#eaf3ff !important;color:#0063b1}#qsh .bl-feat .bl-cat{background:rgba(255,255,255,.12) !important;color:#fff}
#qsh .bl-go{position:relative;display:inline-flex;align-items:center;gap:8px;margin-top:6px !important;font-size:14.5px;font-weight:500;color:#8cc4ff}#qsh .bl-go svg{width:16px;height:16px;transition:transform .2s}#qsh .bl-feat:hover .bl-go svg{transform:translate(2px,-2px)}
#qsh .bl-list{display:grid;gap:12px}
#qsh .bl-item{display:grid;grid-template-columns:52px minmax(0,1fr) 20px;gap:18px;align-items:start;padding:24px;border-radius:22px;background:#fff !important;box-shadow:0 0 0 1px var(--line) !important;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s}
#qsh .bl-item:hover{box-shadow:0 0 0 1px #0078d4,0 20px 40px -26px rgba(0,120,212,.5) !important;transform:translateY(-2px);color:inherit}
#qsh .bl-ic{width:52px;height:52px;border-radius:14px;background:var(--gradient-signature) !important;display:grid;place-items:center;color:#fff}#qsh .bl-ic svg{width:22px;height:22px}
#qsh .bl-b{display:grid;gap:8px}#qsh .bl-b h4{margin:0 !important;font-size:18px;line-height:1.3;font-weight:500;letter-spacing:-.02em;color:var(--ink)}#qsh .bl-b p{margin:0 !important;font-size:14.5px;line-height:1.55;color:var(--body)}
#qsh .bl-arr{width:18px;height:18px;color:var(--muted);transition:color .2s,transform .2s}#qsh .bl-item:hover .bl-arr{color:#0078d4;transform:translate(2px,-2px)}
@media (max-width:1080px){#qsh .bl{grid-template-columns:minmax(0,1fr)}#qsh .bl-feat{min-height:340px}}
@media (max-width:560px){#qsh .bl-item{grid-template-columns:44px minmax(0,1fr);padding:18px}#qsh .bl-arr{display:none}#qsh .bl-ic{width:44px;height:44px}}
#qsh .sd{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:24px;align-items:start}
#qsh .sd-tabs{display:grid;gap:8px;position:sticky;top:110px}
#qsh .sd-tab{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center;padding:14px 16px;border:0;border-radius:18px;background:transparent !important;text-align:left;font:inherit;cursor:pointer;color:var(--ink);transition:background .2s,box-shadow .2s}
#qsh .sd-tab:hover{background:var(--surface) !important}#qsh .sd-tab.on{background:#fff !important;box-shadow:0 0 0 1px var(--line),0 18px 40px -26px rgba(3,38,105,.45) !important}
#qsh .sd-ti{width:44px;height:44px;border-radius:12px;background:#eef4fc !important;display:grid;place-items:center;color:#0078d4;transition:background .2s,color .2s}#qsh .sd-ti svg{width:20px;height:20px}#qsh .sd-tab.on .sd-ti{background:var(--gradient-signature) !important;color:#fff}
#qsh .sd-tab b{display:block;font-size:15.5px;font-weight:500;letter-spacing:-.01em}#qsh .sd-tab small{display:block;margin-top:2px !important;font-size:12px;color:var(--muted)}
#qsh .sd-cta{margin-top:10px !important;display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:18px 20px;border-radius:18px;background:var(--gradient-night) !important;color:#fff;text-decoration:none}#qsh .sd-cta:hover{color:#fff}#qsh .sd-cta span{grid-column:1;font-size:12px;color:rgba(255,255,255,.65)}#qsh .sd-cta b{grid-column:1;font-size:15px;font-weight:500}#qsh .sd-cta svg{grid-column:2;grid-row:1/3;width:18px;height:18px}
#qsh .sd-panel{display:none;padding:32px;border-radius:28px;background:var(--surface) !important;gap:24px}#qsh .sd-panel.on{display:grid;animation:qsh-fadeup .45s cubic-bezier(.2, .8, .2, 1)}
#qsh .sd-ph{display:grid;gap:8px}#qsh .sd-tag{justify-self:start;padding:4px 10px;border-radius:999px;background:#eaf3ff !important;color:#0063b1;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}#qsh .sd-ph h3{margin:0 !important;font-size:28px;font-weight:500;letter-spacing:-.03em;color:var(--ink)}#qsh .sd-ph p{margin:0 !important;font-size:15.5px;color:var(--body)}
@media (max-width:1080px){#qsh .sd{grid-template-columns:minmax(0,1fr)}#qsh .sd-tabs{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}#qsh .sd-cta{grid-column:1/-1}}
@media (max-width:640px){#qsh .sd-tabs{grid-template-columns:minmax(0,1fr)}#qsh .sd-panel{padding:20px}}
#qsh{--dark-grad:radial-gradient(90% 70% at 50% 0%,#0f4396 0%,#032669 48%,#021a4a 100%);--dark-tile:linear-gradient(160deg,rgba(30,67,137,.55),rgba(2,26,74,.75));--light-band:linear-gradient(180deg,#f5f8fd 0%,#ebf2fb 100%)}
#qsh .ai-sec,#qsh .ind-sec{background:var(--dark-grad)!important}
#qsh .ai-tile{background:var(--dark-tile) !important}
#qsh .ai-key{background:linear-gradient(160deg,#1e4389,#021a4a) !important}
#qsh .ctl{background:radial-gradient(70% 80% at 75% 45%,#0f4396 0%,#032669 50%,#021a4a 100%) !important}
#qsh .ctl-rec{background:linear-gradient(170deg,#1e4389,#021a4a 72%) !important}
#qsh .ind-badge,#qsh .ind-spec{background:rgba(30,67,137,.6) !important}#qsh .ind-cta{background:rgba(2,26,74,.78) !important}#qsh .ind-c{background:rgba(3,38,105,.55) !important}#qsh .ind-c:hover{background:rgba(15,67,150,.65) !important}
#qsh .ind-word{background:linear-gradient(180deg,#ffffff 0%,#b6cdf6 55%,rgba(140,196,255,.25) 100%) !important;-webkit-background-clip:text !important;background-clip:text !important}
#qsh #erp,#qsh #team,#qsh #insights{background:var(--light-band) !important}
#qsh #erp,#qsh #team,#qsh #insights{border-top:1px solid #e3ebf6;border-bottom:1px solid #e3ebf6}
#qsh .hero .trust{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:680px){#qsh .hero .trust{grid-template-columns:minmax(0,1fr)}}
#qsh{--r-panel:32px;--r-card:20px;--r-ctl:12px;--panel-inset:clamp(12px,1.6vw,20px)}
#qsh .ai-sec,#qsh .ind-sec,#qsh #erp,#qsh #team,#qsh #insights{margin:24px var(--panel-inset)!important;border-radius:var(--r-panel);overflow:hidden;border:0!important}
#qsh #erp,#qsh #team,#qsh #insights{box-shadow:inset 0 0 0 1px #e3ebf6 !important}
#qsh .ctl{border-radius:var(--r-panel)}
#qsh footer{padding-left:var(--panel-inset)!important;padding-right:var(--panel-inset)!important}
#qsh .ib{border-radius:24px}
#qsh .ind-sec{padding:72px 0 48px}
#qsh .ind-stage{display:block;min-height:0;position:relative}
#qsh .ind-word{position:relative;top:0;text-align:center;margin:0 0 -0.32em !important;font-size:clamp(72px,13.5vw,190px);z-index:1}
#qsh .ind-photo{position:relative;z-index:2;width:100%;aspect-ratio:auto;height:clamp(380px,42vw,520px);margin:0 !important;border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.65),0 0 0 1px rgba(140,196,255,.18) !important}
#qsh .ind-photo img.qsh-slot{position:absolute;inset:0;width:100%;height:100%}
#qsh .ind-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,26,74,.85) 0%,rgba(2,26,74,.35) 45%,rgba(2,26,74,0) 70%),linear-gradient(0deg,rgba(2,26,74,.55),transparent 45%) !important;pointer-events:none;z-index:1}
#qsh .ind-ov{position:absolute;inset:0;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:32px;pointer-events:none}
#qsh .ind-ov>*{pointer-events:auto}
#qsh .ind-cta,#qsh .ind-badge,#qsh .ind-spec{position:static!important;width:auto;border-radius:var(--r-card)}
#qsh .ind-cta{max-width:400px;padding:28px;background:rgba(2,26,74,.72) !important;backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(140,196,255,.2) !important}
#qsh .ind-cta h2{font-size:clamp(22px,2.2vw,28px)}#qsh .ind-cta .btn{border-radius:var(--r-ctl)}
#qsh .ind-side{display:grid;gap:12px;width:230px}
#qsh .ind-badge,#qsh .ind-spec{background:rgba(3,38,105,.68) !important;backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(140,196,255,.2) !important;padding:16px 18px}
#qsh .ind-spec-ic{border-radius:var(--r-ctl)}
#qsh .ind-bot{margin-top:48px !important;padding-top:40px;gap:32px}
#qsh .ind-cards{gap:16px}
#qsh .ind-c{border-radius:var(--r-card);padding:0 0 20px;overflow:hidden;background:rgba(3,38,105,.5) !important;box-shadow:inset 0 0 0 1px rgba(140,196,255,.16) !important}
#qsh .ind-c>*:not(.ind-c-img){margin:0 20px !important}
#qsh .ind-c-img{display:block;aspect-ratio:16/9;overflow:hidden;margin:0 0 4px!important}#qsh .ind-c-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}#qsh .ind-c:hover .ind-c-img img{transform:scale(1.05)}
#qsh .ind-c-ic{border-radius:10px}
@media (max-width:1080px){#qsh .ind-photo{height:auto;aspect-ratio:16/10}#qsh .ind-photo::after{background:linear-gradient(0deg,rgba(2,26,74,.6),transparent 60%) !important}#qsh .ind-ov{position:relative;inset:auto;flex-direction:column;align-items:stretch;padding:16px 0 0;margin-top:0 !important}#qsh .ind-photo{overflow:visible;box-shadow:none !important}#qsh .ind-photo img.qsh-slot{position:relative;display:block;aspect-ratio:16/10;height:auto;border-radius:24px;overflow:hidden}#qsh .ind-photo::after{display:none}#qsh .ind-cta{max-width:none}#qsh .ind-side{width:auto;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){#qsh .ind-side{grid-template-columns:minmax(0,1fr)}#qsh .ai-sec,#qsh .ind-sec,#qsh #erp,#qsh #team,#qsh #insights{border-radius:24px}}
#qsh #controls>.wrap{max-width:none;padding:0 var(--panel-inset)}
#qsh .ctl{box-shadow:0 40px 80px -40px rgba(3,10,30,.6) !important}
#qsh .ind-side{align-items:start}#qsh .ind-badge{align-content:start}
#qsh .tst-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:40px !important}
#qsh .rp-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:28px !important}
#qsh .rp{display:grid;gap:8px;padding:18px;border-radius:var(--r-card);background:#fff !important;box-shadow:0 0 0 1px var(--line),0 10px 24px -20px rgba(3,38,105,.4) !important;text-decoration:none;color:var(--ink);transition:box-shadow .2s,transform .2s}
#qsh .rp:hover{box-shadow:0 0 0 1.5px var(--ms-azure),0 16px 30px -20px rgba(0,120,212,.5) !important;transform:translateY(-2px)}
#qsh .rp-h{display:flex;align-items:center;gap:8px;font-size:14px}#qsh .rp-h img{width:20px;height:20px}
#qsh .rp-s{display:flex;align-items:baseline;gap:8px}#qsh .rp-s strong{font-size:30px;font-weight:600;letter-spacing:-.03em;color:#032669}
#qsh .rp-st,#qsh .tst-stars{color:#f5a524;letter-spacing:2px;font-size:14px}
#qsh .rp small{font-size:12.5px;color:var(--muted)}
#qsh .tst-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#qsh .tst{margin:0 !important;display:grid;grid-template-rows:auto 1fr auto;gap:16px;padding:26px;border-radius:var(--r-card);background:#fff !important;box-shadow:0 0 0 1px var(--line),0 14px 30px -26px rgba(3,38,105,.45) !important}
#qsh .tst:nth-child(1),#qsh .tst:nth-child(5){background:var(--dark-grad) !important;color:#fff;box-shadow:none !important}
#qsh .tst blockquote{margin:0 !important;font-size:16.5px;line-height:1.55;letter-spacing:-.01em;text-wrap:pretty}
#qsh .tst figcaption{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
#qsh .tst:nth-child(1) figcaption,#qsh .tst:nth-child(5) figcaption{border-color:rgba(255,255,255,.14)}
#qsh .tst figcaption img,#qsh .tst-av{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:none}
#qsh .tst-av{display:grid;place-items:center;background:#e6f0ff !important;color:#032669;font-weight:600;font-size:14px}
#qsh .tst figcaption>span{display:grid;gap:2px;min-width:0;flex:1}#qsh .tst figcaption b{font-size:14.5px;font-weight:600}#qsh .tst figcaption small{font-size:12.5px;color:var(--muted)}
#qsh .tst:nth-child(1) small,#qsh .tst:nth-child(5) small{color:rgba(255,255,255,.65)}
#qsh .tst-src{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ms-azure);text-decoration:none;white-space:nowrap}#qsh .tst-src svg{width:12px;height:12px}
#qsh .tst:nth-child(1) .tst-src,#qsh .tst:nth-child(5) .tst-src{color:#8cc4ff}
@media (max-width:1080px){#qsh .rp-row{grid-template-columns:repeat(3,minmax(0,1fr))}#qsh .tst-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#qsh .tst-head{grid-template-columns:minmax(0,1fr)}}
@media (max-width:620px){#qsh .rp-row{grid-template-columns:repeat(2,minmax(0,1fr))}#qsh .tst-grid{grid-template-columns:minmax(0,1fr)}}
#qsh .tst-wrap{display:grid;gap:18px}
#qsh .tst-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 32px)/3);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 8px}
#qsh .tst-grid::-webkit-scrollbar{display:none}#qsh .tst{scroll-snap-align:start}
#qsh .tst-nav{display:flex;align-items:center;gap:10px}
#qsh .tst-btn{width:44px;height:44px;border-radius:var(--r-ctl);border:0;background:#fff !important;box-shadow:0 0 0 1px var(--line) !important;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s}#qsh .tst-btn:hover{background:#0078d4 !important;color:#fff;box-shadow:none !important}#qsh .tst-btn svg{width:18px;height:18px}
#qsh .tst-all{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:#0063b1}#qsh .tst-all svg{width:15px;height:15px}
#qsh .rp-wm{font-weight:700;font-size:16px;letter-spacing:-.02em;line-height:20px}#qsh .rp-wm.gf{color:#1a2b49}#qsh .rp-wm.gf em{font-style:normal;color:#f58025}#qsh .rp-wm.cl{color:#17313b;display:inline-flex;align-items:center;gap:2px}#qsh .rp-wm.cl i{width:6px;height:6px;border-radius:50%;background:#ef4335 !important;margin-top:6px !important}
@media (max-width:1080px){#qsh .tst-grid{grid-auto-columns:calc((100% - 16px)/2);grid-template-columns:none}}
@media (max-width:620px){#qsh .tst-grid{grid-auto-columns:88%}}
#qsh,#qsh [data-theme],#qsh [data-theme="night"]{--cta:#107c10;--cta-hover:#0b5f0b;--on-cta:#fff}
#qsh .btn-cta{background:#107c10 !important;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 26px -12px rgba(16,124,16,.55) !important}
#qsh .btn-cta:hover{background:#0b5f0b !important;color:#fff}
#qsh #around-your-erp{margin:24px var(--panel-inset)!important;border-radius:var(--r-panel);overflow:hidden;border:0!important;box-shadow:inset 0 0 0 1px #dbe7f7 !important;position:relative}
#qsh #around-your-erp{background:radial-gradient(55% 50% at 50% 100%,rgba(0,120,212,.18),transparent 70%),radial-gradient(40% 50% at 100% 0%,rgba(127,186,0,.10),transparent 70%),linear-gradient(180deg,#f4f8ff 0%,#e4eefc 100%)!important}
@media (max-width:620px){#qsh #around-your-erp{border-radius:24px}}
#qsh .cv-sub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;text-align:left}#qsh .cv-sub>div{background:#fff !important;border-radius:18px;padding:22px;display:grid;gap:10px;align-content:start;box-shadow:0 0 0 1px var(--line) !important}#qsh .cv-sub b{font-size:16.5px;font-weight:600;color:var(--ink);letter-spacing:-.01em}#qsh .cv-sub p{margin:0 !important;font-size:14.5px;line-height:1.6}#qsh .cv-det>p{margin:0 !important}
#qsh .rw{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;margin-top:8px !important}#qsh .rw-c{padding:36px;display:grid;gap:16px;align-content:start}#qsh .rw-c h3{margin:0 !important;font-size:clamp(24px,2.4vw,32px);line-height:1.15;letter-spacing:-.03em;font-weight:500;color:var(--ink);text-wrap:balance}#qsh .rw-c p{margin:0 !important;font-size:15.5px;line-height:1.6;color:var(--body)}#qsh .rw-c .btn{justify-self:start;margin-top:8px !important}#qsh .rw-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}#qsh .rw-stats>div{padding:14px 0;display:grid;gap:2px}#qsh .rw-stats>div+div{padding-left:16px;border-left:1px solid var(--line)}#qsh .rw-stats b{font-family:var(--font-mono);font-size:32px;font-weight:500;letter-spacing:-.03em;color:var(--ink)}#qsh .rw-stats small{font-size:13px;color:var(--muted)}#qsh .rw-tags{display:flex;flex-wrap:wrap;gap:8px}#qsh .rw-tags span{padding:8px 12px;border-radius:999px;background:var(--surface) !important;font-size:13.5px;color:var(--ink)}#qsh .rw-num{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--surface) !important}#qsh .rw-num .big{font-family:var(--font-mono);font-size:28px;color:var(--ink)}
#qsh .pf{display:grid;gap:18px;margin-top:6px !important}#qsh .pf-g{display:grid;gap:10px}#qsh .pf-l{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}#qsh .pf-n{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:8px}#qsh .pf-n i{width:7px;height:7px;border-radius:7px;background:var(--sky) !important;flex:none}#qsh .erp.sm{padding:8px 13px;font-size:13.5px}
#qsh #industries .ind-bot{grid-template-columns:minmax(0,1fr)}#qsh #industries .ind-cards{grid-template-columns:repeat(4,minmax(0,1fr))}#qsh #industries .ind-c-img img.qsh-slot{min-height:140px}
@media (max-width:1080px){#qsh .rw{grid-template-columns:minmax(0,1fr)}}
@media (max-width:680px){#qsh .cv-sub{grid-template-columns:minmax(0,1fr)}#qsh .rw-c{padding:24px}}
@media (max-width:620px){#qsh #industries .ind-cards{grid-template-columns:minmax(0,1fr)}}
#qsh .dp{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;align-items:start}#qsh .dg{display:grid;gap:12px}#qsh .dg-b{background:#fff !important;border-radius:18px;padding:20px;box-shadow:0 0 0 1px var(--line) !important;display:grid;gap:12px}#qsh .dg-b>b{font-size:15.5px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#qsh .dul{margin:0 !important;padding:0;list-style:none;display:grid;gap:9px}#qsh .dul li{position:relative;padding-left:20px;font-size:14.5px;line-height:1.55;color:var(--body)}#qsh .dul li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:2px;background:var(--ms-azure) !important}#qsh .dul a,#qsh .dp-p a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(0,120,212,.45);text-underline-offset:3px}#qsh .dul a:hover{color:var(--ms-azure)}
#qsh .dq{border-radius:20px;background:linear-gradient(170deg,#1e4389,#021a4a 72%) !important;padding:20px;display:grid;gap:10px;color:#fff;position:sticky;top:120px}#qsh .dq-h{display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8cc4ff}#qsh .dq-h .live{margin:0 !important}
#qsh .dq-r{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border-radius:14px;background:rgba(255,255,255,.06) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1) !important}#qsh .dq-i{width:34px;height:34px;border-radius:10px;background:rgba(140,196,255,.14) !important;display:grid;place-items:center;color:#8cc4ff}#qsh .dq-i svg{width:16px;height:16px}#qsh .dq-r b{display:block;font-size:13.5px;font-weight:500;color:#fff;line-height:1.35}#qsh .dq-r small{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;color:rgba(255,255,255,.72);margin-top:4px !important}#qsh .dq-r small i{width:6px;height:6px;border-radius:6px;background:#ffc83d !important;flex:none}#qsh .dq-r small i.ok{background:#34d399 !important}
#qsh .dq-f{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#9be37a;padding-top:4px}#qsh .dq-f svg{width:15px;height:15px}#qsh .dq-n{font-family:var(--font-mono);font-size:10.5px;color:rgba(255,255,255,.5)}
#qsh .dlinks{display:flex;flex-wrap:wrap;gap:8px 20px}#qsh .dnote{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;background:#fff !important;box-shadow:0 0 0 1px var(--line) !important;font-size:14px;color:var(--ink)}#qsh .dnote svg{flex:none;width:16px;height:16px;color:var(--ms-azure)}#qsh .dp-p{margin:0 !important;font-size:15.5px;line-height:1.6;color:var(--body)}
#qsh .rw-next{grid-column:1/-1;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 24px;border-radius:20px;border:1.5px dashed #c6d3e6}#qsh .rw-next-ic{width:48px;height:48px;border-radius:14px;background:var(--surface) !important;display:grid;place-items:center;color:var(--ms-azure)}#qsh .rw-next-ic svg{width:20px;height:20px}#qsh .rw-next b{display:block;margin-top:6px !important;font-size:18px;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
#qsh #industries .ind-cards{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1080px){#qsh .dp{grid-template-columns:minmax(0,1fr)}#qsh .dq{position:static}}
@media (max-width:680px){#qsh .rw-next{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1180px){#qsh #industries .ind-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:820px){#qsh #industries .ind-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Deliberate changes to the design, emitted AFTER the scoped design CSS so they
 * win ties on source order. Keep this list short: each entry is a visible
 * difference from the approved design file.
 *
 * 1. Hero offset. The design's `.hero{padding:150px 0 40px;min-height:100vh}`
 *    reserved 80px for its own fixed pill nav (top:16px + height:64px). The live
 *    Elementor header sits in normal flow above #qsh, so the hero keeps the same
 *    70px gap below the header and fills the rest of the first screen. */
#qsh .hero { min-height: calc(100vh - var(--qsh-header, 150px)); padding-top: 70px; }

/* 1b. Full width (requested 2026-10-19). The design boxed <main> in a 1280px white
 *     column with side borders on a grey page. Now the page runs edge to edge; the
 *     dark/tinted panels keep their small --panel-inset gutter and text content
 *     stays centred in .wrap (max 1280px). !important: border is one of the
 *     countered site properties, so the design's border declarations are !important. */
#qsh div:where(.qsh-main) { max-width: none !important; border-left: 0 !important; border-right: 0 !important; }

/* 1c. Team grid with one person removed (config.json "remove": Akanksha). The
 *     design had 7 people + the "team behind them" tile = 8 cells. With 7 cells the
 *     dark tile spans two columns wherever the grid has ≥ 2 columns (>520px), so
 *     no row is left with a hole. Drop this rule if the grid is back to 8 cells. */
@media (min-width: 521px) { #qsh .tm-grid > .tm-more { grid-column: span 2; } }

/* 1d. Review flags that wrap real sentence text (build.ts marks them .todo-copy):
 *     outside ?review=1 the words stay, as plain text, so sentences remain whole.
 *     Pure flag labels ("verify", "photo") are hidden by overrides.css. */
#qsh:not(.qsh-review) .todo.todo-copy {
  display: inline !important; background: none !important; border: 0 !important; box-shadow: none !important;
  padding: 0 !important; margin: 0 !important; color: inherit !important; font: inherit !important;
  letter-spacing: inherit !important; text-transform: none !important; border-radius: 0 !important;
}
#qsh:not(.qsh-review) .todo.todo-copy::before, #qsh:not(.qsh-review) .todo.todo-copy::after { content: none !important; display: none !important; }

/* 1e. Design bug at <=1080px (also in the design file): the single-column hero's
 *     isometric stack overhangs its box and covers the trust strip by ~32px. */
@media (max-width: 1080px) { #qsh .hero .stage { margin-bottom: 56px !important; } } /* !important: margin-bottom is a countered site property */

/* 1f. Assessment card embeds the site's GoHighLevel form (config.json replaceHtml) in the
 *     design's white panel. The form brings its own padding, so the panel has none; the
 *     column no longer sticks because the card is now taller than the viewport. */
#qsh .fa-form-wrap { position: static; }
#qsh .fa-f.fa-ghl { padding: 0 0 18px; overflow: hidden; gap: 0; }
#qsh .fa-ghl iframe { display: block; width: 100%; min-height: 600px; }
#qsh .fa-ghl .fa-fine { padding: 0 18px; }

/* 1g. AI section key shows the full QServices logo (config.json setHtml), not the Q mark:
 *     the square key becomes a wide tile with the same glow. */
#qsh .ai-key { width: auto; height: auto; padding: 22px 30px; border-radius: 22px !important; }
#qsh .ai-key img { width: 210px; max-width: 60vw; height: auto; display: block; }

/* 1h. Platforms marquee carries 9 logos per column instead of 4 (config.json insertHtml,
 *     2026-10-21: CRM, service desk, AI and the other ERPs added). The loop moves half the
 *     track per cycle, so durations scale by 9/4 to keep the design's scroll speed. Non-ERP
 *     cards are <span class="lg"> (no page to link to yet), so they get no hover lift. */
#qsh .mq-track { animation-duration: 58s; }
#qsh .mq-col.rev .mq-track { animation-duration: 68s; }
#qsh .mq-col:nth-child(3) .mq-track { animation-duration: 76s; }
#qsh span.lg { cursor: default; }

/* 2. <image-slot> (design-tool placeholder) ships as a plain <img>. */
#qsh img.qsh-slot { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 3. In-page anchors land below the site header. */
#qsh [id] { scroll-margin-top: 24px; }

/* 2. Hero carousel (2026-10-23 user): four services share the hero. Slides stack in one
 *    grid cell so the hero keeps the height of the tallest slide and nothing jumps.
 *    Markup: config.json replaceHtml ".hero-copy p.disp"; behaviour: qs-home.js. */
#qsh .hc { display: grid; gap: 30px; }
#qsh .hc-slides { display: grid; }
#qsh .hc-slide { grid-area: 1 / 1; display: grid; gap: 24px; align-content: start; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .45s ease, transform .45s ease, visibility 0s linear .45s; }
#qsh .hc-slide.on { opacity: 1; visibility: visible; transform: none; transition: opacity .55s ease .08s, transform .55s cubic-bezier(.2, .8, .2, 1) .08s, visibility 0s; }
#qsh .hc-slide .micro { margin: -8px 0 0 !important; }
#qsh .hero .hc .disp { font-size: clamp(36px, 4.2vw, 62px); }
#qsh .hero .hc .disp .ln:nth-child(3) > span { animation-delay: .24s; }
#qsh .hc-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; max-width: 640px; }
#qsh .hc-tab { position: relative; display: grid; gap: 3px; align-content: start; padding: 14px 0 0 !important; margin: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; text-align: left; cursor: pointer; font: inherit; font-size: 13px; font-weight: 500; line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--muted) !important; transition: color .2s; }
#qsh .hc-tab b { font-size: 11px; font-weight: 600; letter-spacing: .1em; color: var(--subtle) !important; }
#qsh .hc-tab:hover, #qsh .hc-tab.on { color: var(--ink) !important; }
#qsh .hc-tab.on b { color: var(--accent) !important; }
#qsh .hc-tab:focus-visible { outline: 2px solid var(--focus) !important; outline-offset: 4px; }
#qsh .hc-bar { position: absolute; top: 0; left: 0; right: 0; height: 2px; border-radius: 2px; background: var(--line) !important; overflow: hidden; }
#qsh .hc-bar i { position: absolute; inset: 0 auto 0 0; width: 0; background: var(--accent) !important; }
@media (max-width: 600px) { #qsh .hc-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 14px; } }
@media (prefers-reduced-motion: reduce) { #qsh .hc-slide { transform: none; } }
#qsh .hc-nav { display: flex; align-items: flex-start; gap: 14px; max-width: 740px; }
#qsh .hc-nav .hc-tabs { flex: 1; }
#qsh .hc-pp { flex: none; display: grid; place-items: center; width: 34px; height: 34px; margin: 8px 0 0 !important; padding: 0 !important; border-radius: 999px !important; border: 0 !important; background: #fff !important; box-shadow: inset 0 0 0 1px var(--line) !important; color: var(--ink) !important; cursor: pointer; }
#qsh .hc-pp svg { width: 15px; height: 15px; }
#qsh .hc-pp svg + svg, #qsh .hc.paused .hc-pp svg:first-child { display: none; }
#qsh .hc.paused .hc-pp svg + svg { display: block; }
#qsh .hc-pp:focus-visible { outline: 2px solid var(--focus) !important; outline-offset: 3px; }
/* text that changes with the slide: pill, kicker, layer side labels, chips */
#qsh .hc-sw, #qsh .layer .fl, #qsh #stage .chip > div { transition: opacity .22s ease; }
#qsh .hc-out, #qsh .layer .fl.hc-out, #qsh #stage .chip.hc-out > div { opacity: 0; }
#qsh #stage .chip.hc-out { opacity: 1; }
/* the layer that matches the slide takes the design's amber accent (normally fixed on 03) */
#qsh .iso .layer.L3:not(.hc-hl) { --c1: linear-gradient(135deg, #3d8bf2, #1e4389); --c2: #1f55bd; --c3: #1a4597; }
#qsh .iso .layer.L3:not(.hc-hl) .fl, #qsh .iso .layer.L3:not(.hc-hl) .top { color: #fff !important; }
#qsh .iso .layer.hc-hl { --c1: linear-gradient(135deg, #fbbf24, #f59e0b); --c2: #d98706; --c3: #b46f04; }
#qsh .iso .layer.hc-hl .fl, #qsh .iso .layer.hc-hl .top { color: #3a2600 !important; }

/* 3. Per-slide hero diagrams (2026-10-23, Sahil's feedback). Slide 1 keeps the iso stack;
 *    slides 2-4 swap in .hv-erp / .hv-d365 / .hv-data (config insertHtml "hero-visuals").
 *    qs-home.js sets #stage[data-v] to the slide index. */
#qsh #stage .iso, #qsh #stage > .chip { transition: opacity .45s ease, visibility 0s; }
#qsh #stage[data-v="1"] .iso, #qsh #stage[data-v="2"] .iso, #qsh #stage[data-v="3"] .iso,
#qsh #stage[data-v="1"] > .chip, #qsh #stage[data-v="2"] > .chip, #qsh #stage[data-v="3"] > .chip { opacity: 0 !important; visibility: hidden; transition: opacity .3s ease, visibility 0s linear .3s; }
#qsh .chip.c3 { left: auto; right: 0; bottom: 6%; }
#qsh .hv { position: absolute; inset: 0; display: grid; place-items: center; opacity: 0; visibility: hidden; transform: translateY(14px) scale(.98); transition: opacity .3s ease, transform .3s ease, visibility 0s linear .3s; pointer-events: none; }
#qsh #stage[data-v="1"] .hv-erp, #qsh #stage[data-v="2"] .hv-d365, #qsh #stage[data-v="3"] .hv-data { opacity: 1; visibility: visible; transform: none; transition: opacity .5s ease .15s, transform .6s cubic-bezier(.2, .8, .2, 1) .15s, visibility 0s; }
#qsh .hv-in { position: absolute; left: 50%; top: 50%; width: 480px; display: grid; gap: 18px; transform: translate(-50%, -50%); }
#qsh .hv-card { background: #fff !important; border-radius: 18px; padding: 18px 20px; box-shadow: 0 0 0 1px rgba(11, 27, 58, .07), 0 28px 56px -28px rgba(3, 38, 105, .38) !important; }
#qsh .hv-k { display: block; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted) !important; }
#qsh .hv-t { display: block; font-size: 17px; font-weight: 600; letter-spacing: -.02em; color: var(--ink) !important; margin: 2px 0 0 !important; }
#qsh .hb-sub { display: block; font-size: 12.5px; color: var(--muted) !important; margin-top: 2px; }
#qsh .hv-note { justify-self: end; font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--subtle) !important; }
#qsh .hv svg { flex: none; }
/* ERP modernization (v2, 2026-10-26, Sahil's "Death of the Monolith" reference): isometric SVG.
 * A stone "Legacy ERP" block cracks, its front falls away as rubble, and module cubes inside light up and connect. */
#qsh .hv-erp .hv-in.erpx-in-w { width: 470px; display: block; }
#qsh .hv svg.erpx, #qsh .hv svg.dstk { display: block; width: 100%; height: auto; overflow: visible; }
#qsh .erpx text, #qsh .dstk text { font-family: var(--font-sans); }
#qsh .erpx-lb { font-size: 9.5px; font-weight: 700; letter-spacing: .06em; fill: #fff; }
#qsh .erpx-eng { font-size: 30px; font-weight: 800; letter-spacing: 4px; fill: rgba(200, 222, 255, .55); }
#qsh .erpx-eng-hi { fill: rgba(2, 12, 40, .55); }
#qsh .erpx-ck2 { fill: none; stroke: rgba(2, 10, 34, .6); stroke-width: 1.3; stroke-linejoin: round; }
#qsh .erpx-ck polyline { fill: none; stroke: #020b24; stroke-width: 2; stroke-linejoin: round; stroke-dasharray: 320; stroke-dashoffset: 320; }
#qsh .erpx-sh { stroke: #0b1f4d; stroke-width: 2.2; stroke-linejoin: round; paint-order: stroke; transform-box: fill-box; transform-origin: center; }
#qsh .erpx-in, #qsh .erpx-rim, #qsh .erpx-ln, #qsh .erpx-cube, #qsh .erpx-rb, #qsh .erpx-rbs circle { opacity: 0; }
#qsh .erpx-rim { fill: none; stroke: #67e8f9; stroke-width: 2.4; stroke-linejoin: round; }
#qsh .erpx-ln line { stroke: #8fd3ff; stroke-width: 1.6; stroke-dasharray: 5 5; }
#qsh .erpx-ln circle { fill: #c9ecff; }
#qsh .erpx-cube { transform-box: fill-box; transform-origin: center; filter: drop-shadow(0 0 6px rgba(80, 170, 255, .65)); }
#qsh .erpx-rb { transform-box: fill-box; transform-origin: center; }
#qsh #stage[data-v="1"] .erpx-ck polyline { animation: qsh-erpxCrack .5s ease-out .15s forwards; }
#qsh #stage[data-v="1"] .erpx-ck { animation: qsh-erpxOut .2s ease .75s forwards; }
#qsh #stage[data-v="1"] .erpx-sh { animation: qsh-erpxFall .65s cubic-bezier(.55, 0, .9, .45) calc(.6s + var(--i) * .06s) forwards; }
#qsh #stage[data-v="1"] .erpx-in { animation: qsh-erpxIn .5s ease .7s forwards; }
#qsh #stage[data-v="1"] .erpx-rim { animation: qsh-erpxIn .4s ease .9s forwards, qsh-erpxPulse 2.4s ease-in-out 1.4s infinite; }
#qsh #stage[data-v="1"] .erpx-cube { animation: qsh-erpxPop .5s cubic-bezier(.2, .8, .2, 1) calc(.85s + var(--i) * .08s) forwards; }
#qsh #stage[data-v="1"] .erpx-ln { animation: qsh-erpxIn .4s ease 1.4s forwards; }
#qsh #stage[data-v="1"] .erpx-ln line { animation: qsh-erpxDash 1.2s linear infinite; }
#qsh #stage[data-v="1"] .erpx-rb { animation: qsh-erpxLand .45s cubic-bezier(.3, 1.4, .5, 1) calc(1s + var(--i) * .04s) forwards; }
#qsh #stage[data-v="1"] .erpx-rbs circle { animation: qsh-erpxIn .4s ease 1.2s forwards; }
@keyframes qsh-erpxCrack { to { stroke-dashoffset: 0; } }
@keyframes qsh-erpxOut { to { opacity: 0; } }
@keyframes qsh-erpxIn { to { opacity: 1; } }
@keyframes qsh-erpxFall { 75% { opacity: 1; } to { transform: translate(var(--x), var(--y)) rotate(var(--r)) scale(.3); opacity: 0; } }
@keyframes qsh-erpxPop { from { opacity: 0; transform: scale(.82); } to { opacity: 1; transform: none; } }
@keyframes qsh-erpxLand { from { opacity: 0; transform: translateY(-16px); } to { opacity: 1; transform: none; } }
@keyframes qsh-erpxPulse { 50% { opacity: .5; } }
@keyframes qsh-erpxDash { to { stroke-dashoffset: -20; } }

/* Dynamics 365: the Dynamics logo in the centre, Microsoft apps orbiting on a soft glow. */
#qsh .hv-d365 .hv-in.oy { width: 440px; height: 440px; display: block; }
#qsh .oy-glow { position: absolute; inset: 50px; border-radius: 50%; background: radial-gradient(circle, rgba(61, 139, 242, .34), rgba(61, 139, 242, .1) 55%, transparent 70%) !important; animation: qsh-oyBreath 4s ease-in-out infinite; }
#qsh .oy-track { position: absolute; left: 50%; top: 50%; border-radius: 50%; border: 1px dashed rgba(37, 99, 216, .28); transform: translate(-50%, -50%); }
#qsh .oy-track.oy-t1 { width: 340px; height: 340px; }
#qsh .oy-track.oy-t2 { width: 220px; height: 220px; border-style: solid; border-color: rgba(37, 99, 216, .12); }
#qsh .oy-ring { position: absolute; inset: 0; animation: qsh-oySpin 70s linear infinite; }
#qsh .oy-app { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform: rotate(var(--a)) translate(170px) rotate(calc(-1 * var(--a))); opacity: 0; scale: .5; }
#qsh .oy-tile { position: absolute; left: -40px; top: -34px; width: 80px; display: grid; justify-items: center; gap: 6px; animation: qsh-oySpin 70s linear infinite reverse; }
#qsh .oy-tile img, #qsh .oy-ic { width: 52px; height: 52px; border-radius: 15px; box-shadow: 0 0 0 1px rgba(11, 27, 58, .06), 0 14px 28px -14px rgba(3, 38, 105, .45) !important; }
#qsh .oy-tile img { padding: 10px; object-fit: contain; background: #fff !important; }
#qsh .oy-ic { display: grid; place-items: center; color: #fff !important; background: var(--c) !important; }
#qsh .oy-ic svg { width: 24px; height: 24px; }
#qsh .oy-tile small { font-size: 11px; font-weight: 600; color: var(--ink) !important; white-space: nowrap; }
#qsh .oy-core { position: absolute; left: 50%; top: 50%; width: 156px; height: 156px; translate: -50% -50%; border-radius: 50%; display: grid; place-items: center; align-content: center; gap: 4px; text-align: center; background: #fff !important; box-shadow: 0 0 0 10px rgba(255, 255, 255, .55), 0 0 0 11px rgba(37, 99, 216, .2), 0 30px 60px -20px rgba(37, 99, 216, .6) !important; scale: .6; opacity: 0; }
#qsh .oy-core img { width: 54px; height: auto; }
#qsh .oy-core b { font-size: 15px; font-weight: 600; color: var(--ink) !important; }
#qsh .oy-core small { max-width: 120px; font-size: 10px; line-height: 1.35; color: var(--muted) !important; }
#qsh .oy-chip { position: absolute; left: 50%; bottom: -44px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 600; color: var(--success-ink) !important; background: #fff !important; box-shadow: 0 0 0 1px rgba(16, 185, 129, .3), 0 10px 24px -14px rgba(3, 38, 105, .4) !important; opacity: 0; }
#qsh .oy-chip i { width: 7px; height: 7px; border-radius: 7px; background: var(--emerald) !important; }
#qsh #stage[data-v="2"] .oy-core { animation: qsh-oyPop .6s cubic-bezier(.2, .8, .2, 1) .2s forwards; }
#qsh #stage[data-v="2"] .oy-app { animation: qsh-oyPop .5s cubic-bezier(.2, .8, .2, 1) calc(.45s + var(--i) * .08s) forwards; }
#qsh #stage[data-v="2"] .oy-chip { animation: qsh-mnShow .4s ease 1.3s forwards; }
@keyframes qsh-oySpin { to { rotate: 360deg; } }
@keyframes qsh-oyPop { to { opacity: 1; scale: 1; } }
@keyframes qsh-oyBreath { 50% { opacity: .65; scale: 1.06; } }

/* Data modernization (v2, 2026-10-26, Sahil's layered-stack reference): isometric SVG.
 * An exploded stack of glass layers, one per step, on an AI chip; sources drip in at the top; steps on leader lines. */
#qsh .hv-data .hv-in.dstk-in-w { width: 510px; display: block; }
#qsh .dstk-num { font-size: 16px; font-weight: 700; dominant-baseline: middle; }
#qsh .dstk-t { font-size: 14.5px; font-weight: 600; fill: #0b1b3a; dominant-baseline: middle; }
#qsh .dstk-s { font-size: 12px; fill: #5b6475; dominant-baseline: middle; }
#qsh .dstk-sl { font-size: 10px; font-weight: 600; fill: #5b6475; }
#qsh .dstk-flow { stroke: #3b82f6; stroke-width: 1.6; stroke-dasharray: 3 4; }
#qsh .dstk-drip { stroke: #60a5fa; stroke-width: 1.4; stroke-dasharray: 2 5; }
#qsh .dstk-trace { fill: none; stroke: #4aa8ff; stroke-width: 1.6; stroke-linejoin: round; }
#qsh .dstk-pl, #qsh .dstk-lb, #qsh .dstk-src, #qsh .dstk-hl { opacity: 0; }
#qsh .dstk-pl { transform: translateY(-18px); }
#qsh .dstk-lb { transform: translateX(-10px); }
#qsh .dstk-src { transform-box: fill-box; transform-origin: center; }
#qsh .dstk-bar { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0); }
#qsh #stage[data-v="3"] .dstk-pl { animation: qsh-dstkIn .55s cubic-bezier(.2, .8, .2, 1) calc(.1s + var(--i) * .12s) forwards; }
#qsh #stage[data-v="3"] .dstk-lb { animation: qsh-dstkIn .45s ease calc(.35s + var(--i) * .12s) forwards; }
#qsh #stage[data-v="3"] .dstk-src { animation: qsh-erpxPop .45s cubic-bezier(.2, .8, .2, 1) calc(.7s + var(--i) * .06s) forwards; }
#qsh #stage[data-v="3"] .dstk-bar { animation: qsh-dstkGrow .6s cubic-bezier(.2, .8, .2, 1) calc(1s + var(--i) * .08s) forwards; }
#qsh #stage[data-v="3"] .dstk-flow, #qsh #stage[data-v="3"] .dstk-drip { animation: qsh-erpxDash 1s linear infinite; }
#qsh #stage[data-v="3"] .dstk-sweep { animation: qsh-dstkSweep 2.4s ease-in-out 1s infinite; }
#qsh #stage[data-v="3"] .dstk-bad { animation: qsh-dstkBad 2.4s ease-in-out 1s infinite; }
#qsh #stage[data-v="3"] .dstk-core { animation: qsh-erpxPulse 2s ease-in-out infinite; }
#qsh #stage[data-v="3"] .dstk-hl { animation: qsh-dstkStep 3s linear calc(1.4s + var(--i) * .6s) infinite; }
@keyframes qsh-dstkIn { to { opacity: 1; transform: none; } }
@keyframes qsh-dstkGrow { to { transform: none; } }
@keyframes qsh-dstkSweep { from { transform: translateX(0); } to { transform: translateX(114px); } }
@keyframes qsh-dstkBad { 0%, 30% { fill: #f87171; } 55%, 88% { fill: rgba(255, 255, 255, .95); } 100% { fill: #f87171; } }
@keyframes qsh-dstkStep { 0% { opacity: 0; } 6%, 18% { opacity: .85; } 30%, 100% { opacity: 0; } }
@media (max-width: 1100px) { #qsh .hv-in { transform: translate(-50%, -50%) scale(.88); } }
@media (max-width: 640px) { #qsh .hv-in { transform: translate(-50%, -50%) scale(.68); } }

/* 4. Client logo strip after the hero (2026-10-28, Sahil: "The Brands We've Proudly Worked With" was missing;
 *    user: "make it look more good, add some animations"). An endless, slow marquee of white logo tiles that fades
 *    out at both edges and pauses on hover; tiles lift and the logo turns to colour on hover. The section fades up
 *    as it enters (data-r, the design's own reveal). */
#qsh .qsb { position: relative; padding: 46px 0 50px; overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #ffffff 0%, var(--paper) 100%) !important; }
#qsh .qsb::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(640px 180px at 50% 0%, rgba(37, 99, 216, .09), transparent 70%) !important; }
#qsh .qsb-in { position: relative; display: grid; justify-items: center; }
#qsh .qsb-head { display: flex; align-items: center; gap: 16px; }
#qsh .qsb-line { width: 72px; height: 1px; background: linear-gradient(90deg, transparent, var(--accent)) !important; }
#qsh .qsb-line.r { transform: scaleX(-1); }
#qsh .qsb-k { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--muted) !important; margin: 0 !important; }
#qsh .qsb-mq { position: relative; margin-top: 26px !important; padding: 10px 0 14px; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
#qsh .qsb-track { display: flex; width: max-content; animation: qsh-qsbScroll 42s linear infinite; }
#qsh .qsb-mq:hover .qsb-track { animation-play-state: paused; }
#qsh .qsb-set { display: flex; gap: 22px; padding: 0 22px 0 0; margin: 0 !important; list-style: none; }
#qsh .qsb-lg { display: grid; place-items: center; width: 200px; height: 86px; border-radius: 18px; background: #fff !important; box-shadow: 0 0 0 1px var(--line), 0 12px 26px -22px rgba(3, 38, 105, .4) !important; transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease; }
#qsh .qsb-lg img { display: block; height: 30px; width: auto; max-width: 146px; object-fit: contain; filter: grayscale(1) contrast(.9); opacity: .6; transition: filter .35s ease, opacity .35s ease, transform .35s ease; }
#qsh .qsb-lg.tall img { height: 48px; }
#qsh .qsb-lg:hover { transform: translateY(-5px); box-shadow: 0 0 0 1px rgba(37, 99, 216, .35), 0 20px 36px -20px rgba(37, 99, 216, .5) !important; }
#qsh .qsb-lg:hover img { filter: none; opacity: 1; transform: scale(1.05); }
@keyframes qsh-qsbScroll { to { transform: translateX(-50%); } }
@media (max-width: 640px) {
  #qsh .qsb { padding: 34px 0 36px; }
  #qsh .qsb-line { width: 28px; }
  #qsh .qsb-k { font-size: 11px; letter-spacing: .1em; }
  #qsh .qsb-set { gap: 14px; padding-right: 14px; }
  #qsh .qsb-lg { width: 148px; height: 68px; border-radius: 14px; }
  #qsh .qsb-lg img { height: 22px; max-width: 108px; }
  #qsh .qsb-lg.tall img { height: 36px; }
}

/* Testimonial initials avatars stay round (they stretched into ovals next to long names), 2026-10-28.
 * Nicholas Hoare's card used a generic "V" letter avatar: replaced with his initials (config replaceHtml tst-avatar-nh). */
#qsh .tst figcaption .tst-av { flex: 0 0 42px !important; width: 42px !important; height: 42px !important; border-radius: 50% !important; }

/* 5. Testimonials motion (2026-10-28, user). qs-home.js adds .tst-fx to #testimonials (so nothing hides without
 *    the script), then .tst-on when the rating cards come into view, and .tst-done once the entrance has played.
 *    Rating cards and review cards slide up one after another; scores count up (script); stars fill in gold;
 *    review cards carry a large soft quote mark and lift on hover; the dark cards' gradient drifts slowly;
 *    the carousel advances on its own with a progress line beside the arrows (script). */
#qsh .tst-fx .rp, #qsh .tst-fx .tst { opacity: 0; transform: translateY(24px); transition: opacity .7s cubic-bezier(.2, .8, .2, 1), transform .7s cubic-bezier(.2, .8, .2, 1), box-shadow .3s ease; transition-delay: calc(var(--i, 0) * 90ms); }
#qsh .tst-fx.tst-on .rp, #qsh .tst-fx.tst-on .tst { opacity: 1; transform: none; }
#qsh .tst-fx.tst-done .rp, #qsh .tst-fx.tst-done .tst { transition-delay: 0s; }
#qsh .tst-fx.tst-on .rp:hover { transform: translateY(-4px); }
#qsh .tst-fx .rp-st { background-color: transparent !important; background-image: linear-gradient(90deg, #f5a524 50%, #d9dde4 50%) !important; background-repeat: no-repeat !important; background-size: 200% 100% !important; background-position: 100% 0 !important; -webkit-background-clip: text !important; background-clip: text !important; -webkit-text-fill-color: transparent; color: transparent !important; transition: background-position 1.2s cubic-bezier(.2, .8, .2, 1) calc(.3s + var(--i, 0) * 90ms); }
#qsh .tst-fx.tst-on .rp-st { background-position: 0 0 !important; }
#qsh .tst { position: relative; overflow: hidden; }
#qsh .tst > * { position: relative; }
#qsh .tst::before { content: '\201C'; position: absolute; top: -18px; right: 18px; font: 600 150px/1 Georgia, 'Times New Roman', serif; color: rgba(37, 99, 216, .08) !important; pointer-events: none; transition: transform .5s cubic-bezier(.2, .8, .2, 1), color .5s ease; }
#qsh .tst:nth-child(1)::before, #qsh .tst:nth-child(5)::before { color: rgba(255, 255, 255, .09) !important; }
#qsh .tst-fx.tst-on .tst:hover { transform: translateY(-6px); box-shadow: 0 0 0 1px rgba(37, 99, 216, .3), 0 26px 44px -26px rgba(3, 38, 105, .55) !important; }
#qsh .tst:hover::before { transform: translateY(6px) rotate(-6deg); color: rgba(37, 99, 216, .14) !important; }
#qsh .tst:nth-child(1):hover::before, #qsh .tst:nth-child(5):hover::before { color: rgba(255, 255, 255, .16) !important; }
#qsh .tst:nth-child(1), #qsh .tst:nth-child(5) { background-size: 180% 180% !important; animation: qsh-tstDrift 9s ease-in-out infinite alternate; }
@keyframes qsh-tstDrift { from { background-position: 0% 0%; } to { background-position: 100% 100%; } }
#qsh .tst-grid { padding-top: 10px !important; }
#qsh .tst-prog { flex: 0 1 220px; height: 3px; margin-left: 8px !important; border-radius: 3px; overflow: hidden; background: var(--line) !important; }
#qsh .tst-prog i { display: block; height: 100%; transform-origin: left center; transform: scaleX(0); background: linear-gradient(90deg, #0078d4, #3d8bf2) !important; }
@media (max-width: 640px) { #qsh .tst-prog { flex-basis: 90px; } }
/* Reviews from our own site (2026-10-28): "Client review" is a label, not a link. */
#qsh .tst-src.tst-own { color: var(--muted) !important; cursor: default; }
#qsh .tst:nth-child(1) .tst-src.tst-own, #qsh .tst:nth-child(5) .tst-src.tst-own { color: rgba(255, 255, 255, .6) !important; }

/* §6 Performance (2026-10-30, Lighthouse on the live site: 4,500 elements, 3.2 s of style and layout on a phone).
   Sections below the first screen are skipped by the browser until they come near the viewport.
   contain-intrinsic-size "auto" remembers each section's real height once seen, so anchors (#assess) and the
   scrollbar stay right. Applies to the home (sections 4-14) and the inner pages (from their 3rd section). */
#qsh .qsh-main > section:nth-of-type(n+4) { content-visibility: auto; contain-intrinsic-size: auto 900px; }
#qsh .qsh-main.pg-main > section:nth-of-type(3) { content-visibility: auto; contain-intrinsic-size: auto 900px; }

/* §7 Accessibility (2026-10-30, Lighthouse).
   - Hero tab numbers: #6b7280 on white is 4.8:1 (was 3.0:1).
   - Deadline cards: the h4 became h3.dl-h (heading order); same look as before.
   - Statement words: full strength until the reveal is armed just before the paragraph scrolls into view (qs-home.js),
     so the text is readable on load and the scroll effect is unchanged. */
#qsh .hc-tab b { color: #6b7280 !important; }
#qsh .hc-tab.on b { color: var(--accent) !important; }
#qsh .dl-c h3.dl-h { margin: 0 !important; font-size: 17px; font-weight: 500; line-height: 1.3; color: #fff !important; letter-spacing: -.02em; }
#qsh .statement:not(.st-armed) .w { opacity: 1; }
#qsh .sd-tl { display: contents; }
/* Lighthouse pass 2 (2026-10-30): two small grey labels darkened (#4b5563, 6.5:1+); carousel dots spaced 26px centre to
   centre so each has a 24px tap area (the dots themselves stay 8px). */
#qsh .chip .mono, #qsh .cv-det .k { color: #4b5563 !important; }
#qsh .ctl-pager { gap: 18px; }
