/* Minification failed. Returning unminified contents.
(11,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(12,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(16,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(17,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(18,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(19,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(21,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(22,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(25,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(26,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(27,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(32,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(33,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(37,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(38,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(39,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(42,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(43,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(44,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(45,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(46,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(47,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(48,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(49,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(50,3): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(52,15): run-time error CSS1039: Token not allowed after unary operator: '-q-ink'
(53,21): run-time error CSS1039: Token not allowed after unary operator: '-q-font-body'
(56,20): run-time error CSS1039: Token not allowed after unary operator: '-q-paper'
(69,26): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(74,21): run-time error CSS1039: Token not allowed after unary operator: '-q-font-display'
(75,15): run-time error CSS1039: Token not allowed after unary operator: '-q-secondary'
(80,46): run-time error CSS1019: Unexpected token, found ' '
(80,46): run-time error CSS1019: Unexpected token, found ' '
(80,46): run-time error CSS1042: Expected function, found ' '
(80,46): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(81,48): run-time error CSS1019: Unexpected token, found ' '
(81,48): run-time error CSS1019: Unexpected token, found ' '
(81,48): run-time error CSS1042: Expected function, found ' '
(81,48): run-time error CSS1062: Expected semicolon or closing curly-brace, found ' '
(86,21): run-time error CSS1039: Token not allowed after unary operator: '-q-font-mono'
(90,15): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(93,42): run-time error CSS1039: Token not allowed after unary operator: '-q-ink-muted'
(94,24): run-time error CSS1039: Token not allowed after unary operator: '-q-ink-muted'
(97,80): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(98,28): run-time error CSS1039: Token not allowed after unary operator: '-q-space-9'
(99,35): run-time error CSS1039: Token not allowed after unary operator: '-q-space-7'
(100,52): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(107,33): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(109,56): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(110,71): run-time error CSS1039: Token not allowed after unary operator: '-q-font-display'
(110,139): run-time error CSS1039: Token not allowed after unary operator: '-q-secondary'
(113,63): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(114,31): run-time error CSS1039: Token not allowed after unary operator: '-q-ink'
(115,37): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(120,81): run-time error CSS1039: Token not allowed after unary operator: '-q-space-2'
(121,37): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(122,21): run-time error CSS1039: Token not allowed after unary operator: '-q-font-body'
(123,23): run-time error CSS1039: Token not allowed after unary operator: '-q-radius-md'
(129,45): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(131,67): run-time error CSS1039: Token not allowed after unary operator: '-q-secondary'
(131,101): run-time error CSS1039: Token not allowed after unary operator: '-q-secondary'
(132,53): run-time error CSS1039: Token not allowed after unary operator: '-q-secondary'
(133,63): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(133,95): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(134,51): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(135,56): run-time error CSS1039: Token not allowed after unary operator: '-q-space-3'
(139,20): run-time error CSS1039: Token not allowed after unary operator: '-q-card'
(139,53): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(140,23): run-time error CSS1039: Token not allowed after unary operator: '-q-radius-lg'
(140,52): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(143,42): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(146,105): run-time error CSS1039: Token not allowed after unary operator: '-q-space-4'
(147,42): run-time error CSS1039: Token not allowed after unary operator: '-q-font-mono'
(147,140): run-time error CSS1039: Token not allowed after unary operator: '-q-ink-muted'
(148,59): run-time error CSS1039: Token not allowed after unary operator: '-q-space-2'
(149,33): run-time error CSS1039: Token not allowed after unary operator: '-q-ink-muted'
(149,85): run-time error CSS1039: Token not allowed after unary operator: '-q-space-2'
(152,25): run-time error CSS1039: Token not allowed after unary operator: '-q-space-9'
(152,44): run-time error CSS1039: Token not allowed after unary operator: '-q-space-8'
(154,53): run-time error CSS1039: Token not allowed after unary operator: '-q-space-4'
(155,39): run-time error CSS1039: Token not allowed after unary operator: '-q-space-6'
(158,72): run-time error CSS1039: Token not allowed after unary operator: '-q-space-8'
(160,49): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(160,83): run-time error CSS1039: Token not allowed after unary operator: '-q-radius-lg'
(161,51): run-time error CSS1039: Token not allowed after unary operator: '-q-space-4'
(161,89): run-time error CSS1039: Token not allowed after unary operator: '-q-space-2'
(162,38): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(162,83): run-time error CSS1039: Token not allowed after unary operator: '-q-ink'
(163,86): run-time error CSS1039: Token not allowed after unary operator: '-q-green'
(168,26): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(168,60): run-time error CSS1039: Token not allowed after unary operator: '-q-radius-lg'
(170,15): run-time error CSS1039: Token not allowed after unary operator: '-q-ink-muted'
(170,48): run-time error CSS1039: Token not allowed after unary operator: '-q-font-mono'
(171,37): run-time error CSS1039: Token not allowed after unary operator: '-q-space-4'
(175,56): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(175,100): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(178,34): run-time error CSS1039: Token not allowed after unary operator: '-q-secondary'
(180,100): run-time error CSS1039: Token not allowed after unary operator: '-q-space-6'
(188,52): run-time error CSS1039: Token not allowed after unary operator: '-q-font-mono'
(188,150): run-time error CSS1039: Token not allowed after unary operator: '-q-green'
(188,184): run-time error CSS1039: Token not allowed after unary operator: '-q-green'
(188,253): run-time error CSS1039: Token not allowed after unary operator: '-q-space-2'
(191,61): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(193,86): run-time error CSS1039: Token not allowed after unary operator: '-q-ink-muted'
(193,140): run-time error CSS1039: Token not allowed after unary operator: '-q-radius-sm'
(194,33): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(195,37): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(198,58): run-time error CSS1039: Token not allowed after unary operator: '-q-space-3'
(199,71): run-time error CSS1039: Token not allowed after unary operator: '-q-space-2'
(199,165): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(199,199): run-time error CSS1039: Token not allowed after unary operator: '-q-radius-md'
(199,226): run-time error CSS1039: Token not allowed after unary operator: '-q-ink'
(200,43): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(200,68): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(203,117): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(203,151): run-time error CSS1039: Token not allowed after unary operator: '-q-radius-md'
(203,186): run-time error CSS1039: Token not allowed after unary operator: '-q-space-4'
(207,35): run-time error CSS1039: Token not allowed after unary operator: '-q-space-2'
(208,51): run-time error CSS1039: Token not allowed after unary operator: '-q-space-6'
(208,84): run-time error CSS1039: Token not allowed after unary operator: '-q-space-2'
(209,52): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(209,85): run-time error CSS1039: Token not allowed after unary operator: '-q-space-1'
(210,34): run-time error CSS1039: Token not allowed after unary operator: '-q-space-4'
(211,45): run-time error CSS1039: Token not allowed after unary operator: '-q-space-4'
(211,62): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(212,35): run-time error CSS1039: Token not allowed after unary operator: '-q-space-1'
(213,60): run-time error CSS1039: Token not allowed after unary operator: '-q-space-4'
(214,26): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(217,100): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(218,34): run-time error CSS1039: Token not allowed after unary operator: '-q-card'
(218,67): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(218,101): run-time error CSS1039: Token not allowed after unary operator: '-q-radius-lg'
(218,130): run-time error CSS1039: Token not allowed after unary operator: '-q-space-6'
(218,147): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(219,46): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(219,86): run-time error CSS1039: Token not allowed after unary operator: '-q-primary'
(220,41): run-time error CSS1039: Token not allowed after unary operator: '-q-font-mono'
(220,139): run-time error CSS1039: Token not allowed after unary operator: '-q-ink-muted'
(221,42): run-time error CSS1039: Token not allowed after unary operator: '-q-font-display'
(221,109): run-time error CSS1039: Token not allowed after unary operator: '-q-secondary'
(221,137): run-time error CSS1039: Token not allowed after unary operator: '-q-space-2'
(221,156): run-time error CSS1039: Token not allowed after unary operator: '-q-space-1'
(222,58): run-time error CSS1039: Token not allowed after unary operator: '-q-ink-muted'
(223,52): run-time error CSS1039: Token not allowed after unary operator: '-q-space-4'
(223,71): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(226,76): run-time error CSS1039: Token not allowed after unary operator: '-q-space-8'
(227,42): run-time error CSS1039: Token not allowed after unary operator: '-q-space-2'
(228,85): run-time error CSS1039: Token not allowed after unary operator: '-q-space-6'
(231,30): run-time error CSS1039: Token not allowed after unary operator: '-q-secondary'
(231,75): run-time error CSS1039: Token not allowed after unary operator: '-q-space-8'
(231,94): run-time error CSS1039: Token not allowed after unary operator: '-q-space-6'
(234,84): run-time error CSS1039: Token not allowed after unary operator: '-q-space-6'
(235,39): run-time error CSS1039: Token not allowed after unary operator: '-q-font-display'
(235,110): run-time error CSS1039: Token not allowed after unary operator: '-q-space-3'
(236,64): run-time error CSS1039: Token not allowed after unary operator: '-q-space-2'
(237,106): run-time error CSS1039: Token not allowed after unary operator: '-q-space-7'
(237,137): run-time error CSS1039: Token not allowed after unary operator: '-q-space-4'
(241,55): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(243,63): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(245,151): run-time error CSS1039: Token not allowed after unary operator: '-q-space-4'
(245,181): run-time error CSS1039: Token not allowed after unary operator: '-q-paper'
(245,222): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(245,250): run-time error CSS1039: Token not allowed after unary operator: '-q-space-5'
(246,102): run-time error CSS1039: Token not allowed after unary operator: '-q-hairline'
(246,136): run-time error CSS1039: Token not allowed after unary operator: '-q-radius-sm'
(246,185): run-time error CSS1039: Token not allowed after unary operator: '-q-space-3'
(250,57): run-time error CSS1039: Token not allowed after unary operator: '-q-space-3'
 */
/* =========================================================================
   Quantcha Brand System — marketing surface
   Flat, light "financial-paper" aesthetic. Borders + contrast over shadow.
   Tokens are the locked Quantcha palette (shared with Consequitur).
   Scope: everything is under .q-scope so it never bleeds into the OSE app
   chrome / Bootstrap that share the same domain.
   ========================================================================= */

.q-scope {
  /* Brand */
  --q-primary: #175fad;      /* Quantcha blue — primary CTAs, links */
  --q-secondary: #0e155b;    /* Deep navy — headings, wordmark */

  /* Accents */
  --q-cyan: #09a0db;
  --q-indigo: #3549aa;
  --q-teal-light: #51d0e5;
  --q-teal-deep: #009fc4;
  --q-yellow: #ffc010;
  --q-green: #6fad17;
  --q-red: #ce240d;
  --q-silver: #d3d3d3;

  /* Neutrals + surfaces */
  --q-hairline: #d3d3d3;
  --q-paper: #fbfaf8;
  --q-card: #ffffff;
  --q-ink: #14193a;
  --q-ink-muted: #5b6178;

  /* Typography */
  --q-font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --q-font-body: "Hanken Grotesk", ui-sans-serif, system-ui, sans-serif;
  --q-font-mono: "Space Mono", ui-monospace, "SFMono-Regular", monospace;

  /* Radii (4px base unit) */
  --q-radius-sm: 6px;
  --q-radius-md: 12px;
  --q-radius-lg: 16px;

  /* Spacing scale (multiples of 4) */
  --q-space-1: 4px;
  --q-space-2: 8px;
  --q-space-3: 12px;
  --q-space-4: 16px;
  --q-space-5: 24px;
  --q-space-6: 32px;
  --q-space-7: 48px;
  --q-space-8: 64px;
  --q-space-9: 96px;

  color: var(--q-ink);
  font-family: var(--q-font-body);
  font-size: 17px;
  line-height: 1.6;
  background: var(--q-paper);
}

/* ---- Reset within scope --------------------------------------------------- */
.q-scope *,
.q-scope *::before,
.q-scope *::after { box-sizing: border-box; }

.q-scope h1, .q-scope h2, .q-scope h3, .q-scope h4, .q-scope h5,
.q-scope p, .q-scope ul, .q-scope ol, .q-scope figure { margin: 0; }

.q-scope img { max-width: 100%; height: auto; display: block; }

.q-scope a { color: var(--q-primary); text-decoration: none; }
.q-scope a:hover { text-decoration: underline; }

/* ---- Typography ----------------------------------------------------------- */
.q-scope h1, .q-scope h2, .q-scope h3, .q-scope h4 {
  font-family: var(--q-font-display);
  color: var(--q-secondary);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.q-scope h1 { font-size: clamp(2.25rem, 4vw + 1rem, 3.5rem); }
.q-scope h2 { font-size: clamp(1.75rem, 2.5vw + 1rem, 2.5rem); }
.q-scope h3 { font-size: 1.5rem; }
.q-scope h4 { font-size: 1.2rem; }

.q-eyebrow {
  font-family: var(--q-font-mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.78rem;
  color: var(--q-primary);
  font-weight: 700;
}
.q-lead { font-size: 1.2rem; color: var(--q-ink-muted); }
.q-muted { color: var(--q-ink-muted); }

/* ---- Layout --------------------------------------------------------------- */
.q-container { width: 100%; max-width: 1160px; margin: 0 auto; padding: 0 var(--q-space-5); }
.q-section { padding: var(--q-space-9) 0; }
.q-section--tight { padding: var(--q-space-7) 0; }
.q-divider { border: 0; border-top: 1px solid var(--q-hairline); margin: 0; }

/* ---- Header / nav --------------------------------------------------------- */
.q-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(251, 250, 248, 0.9);
  backdrop-filter: saturate(180%) blur(8px);
  border-bottom: 1px solid var(--q-hairline);
}
.q-nav { display: flex; align-items: center; gap: var(--q-space-5); height: 68px; }
.q-nav__brand { display: flex; align-items: center; font-family: var(--q-font-display); font-weight: 700; font-size: 1.25rem; color: var(--q-secondary); }
.q-nav__brand:hover { text-decoration: none; }
.q-nav__brand img { height: 30px; width: auto; display: block; }
.q-nav__links { display: flex; align-items: center; gap: var(--q-space-5); margin-left: auto; list-style: none; }
.q-nav__links a { color: var(--q-ink); font-weight: 500; font-size: 0.98rem; }
.q-nav__links a:hover { color: var(--q-primary); text-decoration: none; }
.q-nav__toggle { display: none; }

/* ---- Buttons -------------------------------------------------------------- */
.q-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--q-space-2);
  min-height: 48px; padding: 0 var(--q-space-5);
  font-family: var(--q-font-body); font-weight: 600; font-size: 1rem;
  border-radius: var(--q-radius-md); border: 1px solid transparent;
  cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease;
}
/* Scoped with .q-scope so button text colours beat the generic .q-scope a rule
   (anchors used as buttons would otherwise inherit the link colour). */
.q-scope .q-btn:hover { text-decoration: none; }
.q-scope .q-btn--primary { background: var(--q-primary); color: #fff; }
.q-scope .q-btn--primary:hover { background: #12518f; color: #fff; }
.q-scope .q-btn--secondary { background: transparent; color: var(--q-secondary); border-color: var(--q-secondary); }
.q-scope .q-btn--secondary:hover { background: var(--q-secondary); color: #fff; }
.q-scope .q-btn--ghost { background: transparent; color: var(--q-primary); border-color: var(--q-hairline); }
.q-scope .q-btn--ghost:hover { border-color: var(--q-primary); }
.q-btn-row { display: flex; flex-wrap: wrap; gap: var(--q-space-3); }

/* ---- Cards ---------------------------------------------------------------- */
.q-card {
  background: var(--q-card); border: 1px solid var(--q-hairline);
  border-radius: var(--q-radius-lg); padding: var(--q-space-5);
}
.q-card--link { display: block; color: inherit; transition: border-color .15s ease, transform .15s ease; }
.q-card--link:hover { border-color: var(--q-primary); transform: translateY(-2px); text-decoration: none; }

/* Product grid (root discoverability) */
.q-product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--q-space-4); }
.q-product-card__tag { font-family: var(--q-font-mono); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--q-ink-muted); }
.q-product-card h3 { font-size: 1.15rem; margin-top: var(--q-space-2); }
.q-product-card p { color: var(--q-ink-muted); font-size: 0.95rem; margin-top: var(--q-space-2); }

/* ---- Hero ----------------------------------------------------------------- */
.q-hero { padding: var(--q-space-9) 0 var(--q-space-8); }
.q-hero h1 { max-width: 16ch; }
.q-hero .q-lead { max-width: 52ch; margin-top: var(--q-space-4); }
.q-hero .q-btn-row { margin-top: var(--q-space-6); }

/* ---- Offering section (screenshot + copy) --------------------------------- */
.q-offering { display: grid; grid-template-columns: 1fr 1fr; gap: var(--q-space-8); align-items: center; }
.q-offering--reverse .q-offering__media { order: -1; }
.q-offering__media img { border: 1px solid var(--q-hairline); border-radius: var(--q-radius-lg); }
.q-checklist { list-style: none; margin-top: var(--q-space-4); display: grid; gap: var(--q-space-2); }
.q-checklist li { padding-left: var(--q-space-5); position: relative; color: var(--q-ink); }
.q-checklist li::before { content: "\2713"; position: absolute; left: 0; color: var(--q-green); font-weight: 700; }

/* ---- Screenshot placeholder (until real assets land) --------------------- */
.q-ph {
  background: linear-gradient(135deg, #eef1f6, #e3e8f0);
  border: 1px solid var(--q-hairline); border-radius: var(--q-radius-lg);
  aspect-ratio: 16 / 10; display: flex; align-items: center; justify-content: center;
  color: var(--q-ink-muted); font-family: var(--q-font-mono); font-size: 0.8rem;
  text-align: center; padding: var(--q-space-4);
}

/* ---- Alternating band + press strip -------------------------------------- */
.q-band { background: #fff; border-top: 1px solid var(--q-hairline); border-bottom: 1px solid var(--q-hairline); }
/* Dark band — for the press strip, whose logos are light artwork from the
   legacy dark separator and disappear on a light surface. */
.q-band--dark { background: var(--q-secondary); border-color: rgba(255,255,255,0.12); }
.q-band--dark .q-eyebrow { color: #7fa8d6; }
.q-press { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--q-space-6); }
.q-press img { height: 26px; width: auto; opacity: 0.8; transition: opacity .15s ease; }
.q-press img:hover { opacity: 1; }

/* Sticky-header offset for in-page anchor jumps */
.q-scope section[id] { scroll-margin-top: 84px; }

/* Free/price chip used on offering eyebrows */
.q-chip { display: inline-block; font-family: var(--q-font-mono); font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--q-green); border: 1px solid var(--q-green); border-radius: 999px; padding: 2px 8px; margin-left: var(--q-space-2); vertical-align: middle; }

/* ---- OSE sub-nav (feature switcher on Options Suite pages) --------------- */
.q-subnav { background: #fff; border-bottom: 1px solid var(--q-hairline); position: sticky; top: 68px; z-index: 90; }
.q-subnav__inner { display: flex; gap: 2px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 8px 0; }
.q-subnav a { white-space: nowrap; font-size: 0.92rem; font-weight: 500; color: var(--q-ink-muted); padding: 8px 12px; border-radius: var(--q-radius-sm); }
.q-subnav a:hover { color: var(--q-primary); background: #f3f5f9; text-decoration: none; }
.q-subnav a.is-active { color: var(--q-primary); background: #eaf1f9; }

/* ---- Resources link row -------------------------------------------------- */
.q-resources { display: flex; flex-wrap: wrap; gap: var(--q-space-3); }
.q-resources a { display: inline-flex; align-items: center; gap: var(--q-space-2); font-weight: 500; font-size: 0.95rem; padding: 10px 14px; border: 1px solid var(--q-hairline); border-radius: var(--q-radius-md); color: var(--q-ink); }
.q-resources a:hover { border-color: var(--q-primary); color: var(--q-primary); text-decoration: none; }

/* ---- Feature thumbnail (hub cards) --------------------------------------- */
.q-thumb { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top left; border: 1px solid var(--q-hairline); border-radius: var(--q-radius-md); margin-bottom: var(--q-space-4); }

/* ---- Prose (legal / long-form text pages) -------------------------------- */
.q-prose { max-width: 800px; }
.q-prose h1 { margin-bottom: var(--q-space-2); }
.q-prose h2 { font-size: 1.4rem; margin-top: var(--q-space-6); margin-bottom: var(--q-space-2); }
.q-prose h3 { font-size: 1.15rem; margin-top: var(--q-space-5); margin-bottom: var(--q-space-1); }
.q-prose p { margin-bottom: var(--q-space-4); }
.q-prose ul, .q-prose ol { margin: 0 0 var(--q-space-4) var(--q-space-5); }
.q-prose li { margin-bottom: var(--q-space-1); }
.q-prose address { font-style: normal; margin-bottom: var(--q-space-4); line-height: 1.8; }
.q-prose a { color: var(--q-primary); }

/* ---- Pricing cards ------------------------------------------------------- */
.q-pricing { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--q-space-5); max-width: 720px; margin: 0 auto; }
.q-price-card { background: var(--q-card); border: 1px solid var(--q-hairline); border-radius: var(--q-radius-lg); padding: var(--q-space-6) var(--q-space-5); display: flex; flex-direction: column; }
.q-price-card--featured { border-color: var(--q-primary); box-shadow: 0 0 0 1px var(--q-primary); }
.q-price-card__name { font-family: var(--q-font-mono); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.75rem; color: var(--q-ink-muted); }
.q-price-card__price { font-family: var(--q-font-display); font-size: 2.5rem; font-weight: 700; color: var(--q-secondary); margin: var(--q-space-2) 0 var(--q-space-1); }
.q-price-card__price span { font-size: 1rem; color: var(--q-ink-muted); font-weight: 500; }
.q-price-card .q-checklist { flex: 1; margin: var(--q-space-4) 0 var(--q-space-5); }

/* ---- Two-column feature layout (product pages, no images) --------------- */
.q-feature-cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--q-space-8); }
.q-feature-cols h3 { margin-bottom: var(--q-space-2); }
@media (max-width: 860px) { .q-feature-cols { grid-template-columns: 1fr; gap: var(--q-space-6); } }

/* ---- Footer --------------------------------------------------------------- */
.q-footer { background: var(--q-secondary); color: #cfd6ea; padding: var(--q-space-8) 0 var(--q-space-6); }
.q-footer a { color: #cfd6ea; }
.q-footer a:hover { color: #fff; }
.q-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: var(--q-space-6); }
.q-footer__col h5 { font-family: var(--q-font-display); color: #fff; font-size: 0.95rem; margin-bottom: var(--q-space-3); }
.q-footer__col ul { list-style: none; display: grid; gap: var(--q-space-2); font-size: 0.92rem; }
.q-footer__bottom { display: flex; justify-content: space-between; align-items: center; margin-top: var(--q-space-7); padding-top: var(--q-space-4); border-top: 1px solid rgba(255,255,255,0.12); font-size: 0.85rem; color: #9aa4c2; }

/* ---- Responsive ----------------------------------------------------------- */
@media (max-width: 860px) {
  .q-offering { grid-template-columns: 1fr; gap: var(--q-space-5); }
  .q-offering--reverse .q-offering__media { order: 0; }
  .q-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--q-space-5); }
  .q-nav__links { display: none; }
  .q-nav__links.is-open { display: flex; position: absolute; top: 68px; left: 0; right: 0; flex-direction: column; align-items: flex-start; gap: var(--q-space-4); background: var(--q-paper); border-bottom: 1px solid var(--q-hairline); padding: var(--q-space-5); }
  .q-nav__toggle { display: inline-flex; margin-left: auto; background: none; border: 1px solid var(--q-hairline); border-radius: var(--q-radius-sm); min-height: 40px; padding: 0 var(--q-space-3); }
}
@media (max-width: 520px) {
  .q-footer__grid { grid-template-columns: 1fr; }
  .q-footer__bottom { flex-direction: column; gap: var(--q-space-3); align-items: flex-start; }
}

