/* ══════════════════════════════════════════════════════════════════════
   Maverick Labs · v2 layer (2026-10-17, from WEBSITE_AUDIT_20261017)
   Loaded after labs_components.css on every page. Delete this file's
   <link> to fall back to the previous look (except self-hosted fonts).
   - Self-hosted fonts (no Google Fonts request)
   - Type-size tokens; calmer motion; honest reduced-motion
   - Compact mobile header, nav CTA, footer columns
   - Components for the offer ladder, FAQ, sample report, guides,
     boundary diagram, Lab bridge cards and the contact fallback
   ══════════════════════════════════════════════════════════════════════ */

@font-face {
  font-family: "Space Grotesk";
  src: url("fonts/space-grotesk-latin-wght-normal.woff2") format("woff2-variations"),
       url("fonts/space-grotesk-latin-wght-normal.woff2") format("woff2");
  font-weight: 300 700; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "JetBrains Mono";
  src: url("fonts/jetbrains-mono-latin-wght-normal.woff2") format("woff2-variations"),
       url("fonts/jetbrains-mono-latin-wght-normal.woff2") format("woff2");
  font-weight: 100 800; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

[data-product="maverick-labs"] {
  color-scheme: dark;
  /* Type scale tokens (use these for new work) */
  --ml-fs-2xs: 11px;
  --ml-fs-xs: 12px;
  --ml-fs-sm: 13px;
  --ml-fs-base: 16px;
  --ml-fs-md: 18px;
  --ml-fs-lg: 22px;
  --ml-fs-xl: 28px;
  --ml-fs-2xl: clamp(30px, 4vw, 40px);
  --ml-fs-display: clamp(40px, 6.4vw, 66px);
}

/* ── Calmer motion: nothing loops forever ─────────────────────────────── */
[data-product="maverick-labs"] .ml-app::before { animation: none; }
[data-product="maverick-labs"] .ml-topbar::after { animation: none; background-position: 50% 0; }
[data-product="maverick-labs"] .ml-gradient-text { animation: none; background-position: 0 0; }
[data-product="maverick-labs"] .ml-home-section,
[data-product="maverick-labs"] .ml-content-section { animation: none !important; opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-product="maverick-labs"] *,
  [data-product="maverick-labs"] *::before,
  [data-product="maverick-labs"] *::after {
    animation: none !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  [data-product="maverick-labs"] .ml-inview { opacity: 1; transform: none; }
}

/* ── Readable small text ─────────────────────────────────────────────── */
[data-product="maverick-labs"] .ml-brand-tag { font-size: 10px; }
[data-product="maverick-labs"] .ml-form-note { font-size: var(--ml-fs-xs); letter-spacing: .03em; }
[data-product="maverick-labs"] .ml-panel { border-color: var(--ml-line-strong); }

/* ── Header: nav CTA + compact mobile header ─────────────────────────── */
[data-product="maverick-labs"] .ml-nav { align-items: center; }
[data-product="maverick-labs"] a.ml-nav-cta {
  display: inline-flex; align-items: center; flex: 0 0 auto; padding: 9px 16px; border: 1px solid var(--ml-primary); border-radius: var(--ml-radius-md);
  color: var(--ml-primary); text-decoration: none; font: 500 13px/1 var(--ml-font-brand); letter-spacing: .06em;
}
[data-product="maverick-labs"] a.ml-nav-cta:hover, [data-product="maverick-labs"] a.ml-nav-cta[aria-current="page"] { background: var(--ml-primary-dim); color: var(--ml-text); }
[data-product="maverick-labs"] .ml-brand-mark { display: block; }
@media (max-width: 1100px) { [data-product="maverick-labs"] .ml-brand-tag { display: none; } }
@media (max-width: 767px) {
  [data-product="maverick-labs"] .ml-topbar { position: relative; padding: 8px 16px 0; row-gap: 2px; }
  [data-product="maverick-labs"] .ml-brand-mark-wrap { width: 38px; height: 38px; }
  [data-product="maverick-labs"] .ml-brand-mark-wrap .ml-brand-mark { width: 34px; height: 34px; }
  [data-product="maverick-labs"] .ml-nav {
    flex-wrap: nowrap; overflow-x: auto; width: 100%; gap: 0 18px; padding-bottom: 6px;
    scrollbar-width: none; -webkit-mask: linear-gradient(90deg, #000 88%, transparent); mask: linear-gradient(90deg, #000 88%, transparent);
  }
  [data-product="maverick-labs"] .ml-nav::-webkit-scrollbar { display: none; }
  [data-product="maverick-labs"] .ml-nav a { height: 40px; flex: 0 0 auto; }
  [data-product="maverick-labs"] a.ml-nav-cta { position: absolute; top: 12px; right: 16px; padding: 8px 12px; background: var(--ml-canvas); }
}

/* ── Footer ──────────────────────────────────────────────────────────── */
[data-product="maverick-labs"] .ml-footer { padding: var(--ml-space-6) var(--ml-space-4) var(--ml-space-4); }
[data-product="maverick-labs"] .ml-footer-grid {
  width: min(1180px, calc(100vw - 2 * var(--ml-space-4))); margin: 0 auto;
  display: grid; grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); gap: var(--ml-space-5);
}
[data-product="maverick-labs"] .ml-footer-grid p { margin: 0 0 var(--ml-space-2); }
[data-product="maverick-labs"] .ml-footer-brand strong { color: var(--ml-text); font-size: var(--ml-fs-base); }
[data-product="maverick-labs"] .ml-footer-head {
  font-family: var(--ml-font-brand); font-size: var(--ml-fs-2xs); font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: var(--ml-text-muted);
}
[data-product="maverick-labs"] .ml-footer-col a { display: block; padding: 4px 0; color: var(--ml-text-subtle); text-decoration: none; }
[data-product="maverick-labs"] .ml-footer-col a:hover { color: var(--ml-primary); }
[data-product="maverick-labs"] .ml-footer-base {
  width: min(1180px, calc(100vw - 2 * var(--ml-space-4))); margin: var(--ml-space-5) auto 0; padding-top: var(--ml-space-3);
  border-top: 1px solid var(--ml-line); display: flex; flex-wrap: wrap; gap: var(--ml-space-2) var(--ml-space-4); justify-content: space-between;
}
@media (max-width: 900px) { [data-product="maverick-labs"] .ml-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { [data-product="maverick-labs"] .ml-footer-grid { grid-template-columns: 1fr; gap: var(--ml-space-4); } }

/* ── Shared building blocks ──────────────────────────────────────────── */
[data-product="maverick-labs"] .ml-cta-row { display: flex; flex-wrap: wrap; gap: var(--ml-space-2) var(--ml-space-3); align-items: center; margin-top: var(--ml-space-4); }
[data-product="maverick-labs"] .ml-card-link { margin-top: auto; padding-top: var(--ml-space-3); font-family: var(--ml-font-brand); font-size: var(--ml-fs-sm); font-weight: 600; color: var(--ml-primary); text-decoration: none; }
[data-product="maverick-labs"] .ml-card-link:hover { text-decoration: underline; }
[data-product="maverick-labs"] .ml-service-card { display: flex; flex-direction: column; }
[data-product="maverick-labs"] .ml-h3 { font-family: var(--ml-font-brand); font-size: var(--ml-fs-md); line-height: 1.3; font-weight: 700; color: var(--ml-text); margin: 0; }

/* Offer ladder */
[data-product="maverick-labs"] .ml-ladder { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ml-space-3); counter-reset: ladder; }
[data-product="maverick-labs"] .ml-ladder-step { position: relative; display: flex; flex-direction: column; gap: var(--ml-space-2); padding: var(--ml-space-4); border: 1px solid var(--ml-line-strong); border-radius: var(--ml-radius-lg); background: var(--ml-panel-cine, var(--ml-surface-1)); }
[data-product="maverick-labs"] .ml-ladder-step.is-entry { border-color: var(--ml-primary); box-shadow: 0 0 0 1px var(--ml-primary-dim) inset; }
[data-product="maverick-labs"] .ml-ladder-num { font-family: var(--ml-font-data); font-size: var(--ml-fs-xs); letter-spacing: .14em; color: var(--ml-primary); text-transform: uppercase; }
[data-product="maverick-labs"] .ml-ladder-step ul { margin: 0; padding-left: 18px; color: var(--ml-text-muted); font-size: var(--ml-fs-sm); line-height: 1.6; }
[data-product="maverick-labs"] .ml-ladder-step .ml-btn { margin-top: auto; align-self: flex-start; }
@media (max-width: 900px) { [data-product="maverick-labs"] .ml-ladder { grid-template-columns: 1fr; } }

/* Fact list (deliverables / timeline) */
[data-product="maverick-labs"] .ml-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ml-space-3); }
[data-product="maverick-labs"] .ml-fact { padding: var(--ml-space-3) var(--ml-space-4); border-left: 2px solid var(--ml-primary); background: var(--ml-surface-1); border-radius: 0 var(--ml-radius-md) var(--ml-radius-md) 0; }
[data-product="maverick-labs"] .ml-fact b { display: block; color: var(--ml-text); margin-bottom: 4px; }
[data-product="maverick-labs"] .ml-fact span { color: var(--ml-text-muted); font-size: var(--ml-fs-sm); line-height: 1.6; }
@media (max-width: 767px) { [data-product="maverick-labs"] .ml-facts { grid-template-columns: 1fr; } }

/* Timeline */
[data-product="maverick-labs"] .ml-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--ml-space-3); }
[data-product="maverick-labs"] .ml-timeline li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--ml-space-3); padding: var(--ml-space-3) 0; border-top: 1px solid var(--ml-line); }
[data-product="maverick-labs"] .ml-timeline .ml-when { font-family: var(--ml-font-data); font-size: var(--ml-fs-xs); color: var(--ml-primary); letter-spacing: .08em; text-transform: uppercase; padding-top: 3px; }
[data-product="maverick-labs"] .ml-timeline b { color: var(--ml-text); }
[data-product="maverick-labs"] .ml-timeline p { margin: 4px 0 0; color: var(--ml-text-muted); font-size: var(--ml-fs-sm); line-height: 1.6; }
@media (max-width: 600px) { [data-product="maverick-labs"] .ml-timeline li { grid-template-columns: 1fr; gap: 4px; } }

/* FAQ */
[data-product="maverick-labs"] .ml-faq { display: grid; gap: var(--ml-space-2); }
[data-product="maverick-labs"] .ml-faq details { border: 1px solid var(--ml-line-strong); border-radius: var(--ml-radius-md); background: var(--ml-surface-1); }
[data-product="maverick-labs"] .ml-faq summary { cursor: pointer; list-style: none; padding: var(--ml-space-3) var(--ml-space-4); font-family: var(--ml-font-brand); font-weight: 600; color: var(--ml-text); display: flex; justify-content: space-between; gap: var(--ml-space-3); }
[data-product="maverick-labs"] .ml-faq summary::-webkit-details-marker { display: none; }
[data-product="maverick-labs"] .ml-faq summary::after { content: "+"; color: var(--ml-primary); font-family: var(--ml-font-data); }
[data-product="maverick-labs"] .ml-faq details[open] summary::after { content: "−"; }
[data-product="maverick-labs"] .ml-faq summary:focus-visible { outline: 2px solid var(--ml-primary); outline-offset: 2px; }
[data-product="maverick-labs"] .ml-faq .ml-faq-a { padding: 0 var(--ml-space-4) var(--ml-space-3); color: var(--ml-text-muted); line-height: 1.7; }
[data-product="maverick-labs"] .ml-faq .ml-faq-a p { margin: 0 0 var(--ml-space-2); }

/* Long-form (guides, privacy, sample report) */
[data-product="maverick-labs"] .ml-article { max-width: 72ch; color: var(--ml-text-muted); font-size: 16px; line-height: 1.75; }
[data-product="maverick-labs"] .ml-article h2 { font-family: var(--ml-font-brand); color: var(--ml-text); font-size: var(--ml-fs-lg); line-height: 1.3; margin: var(--ml-space-6) 0 var(--ml-space-2); }
[data-product="maverick-labs"] .ml-article h3 { font-family: var(--ml-font-brand); color: var(--ml-text); font-size: var(--ml-fs-md); margin: var(--ml-space-4) 0 var(--ml-space-2); }
[data-product="maverick-labs"] .ml-article p, [data-product="maverick-labs"] .ml-article ul, [data-product="maverick-labs"] .ml-article ol { margin: 0 0 var(--ml-space-3); }
[data-product="maverick-labs"] .ml-article li { margin-bottom: 6px; }
[data-product="maverick-labs"] .ml-article strong { color: var(--ml-text); }
[data-product="maverick-labs"] .ml-article a { color: var(--ml-primary); }
[data-product="maverick-labs"] .ml-callout { margin: var(--ml-space-4) 0; padding: var(--ml-space-3) var(--ml-space-4); border: 1px solid var(--ml-line-strong); border-left: 3px solid var(--ml-marker); border-radius: var(--ml-radius-md); background: var(--ml-surface-1); color: var(--ml-text-muted); font-size: var(--ml-fs-sm); line-height: 1.65; }
[data-product="maverick-labs"] .ml-callout b { color: var(--ml-text); }
[data-product="maverick-labs"] .ml-table-wrap { overflow-x: auto; margin: 0 0 var(--ml-space-3); border: 1px solid var(--ml-line-strong); border-radius: var(--ml-radius-md); }
[data-product="maverick-labs"] .ml-simple-table { width: 100%; border-collapse: collapse; font-size: var(--ml-fs-sm); }
[data-product="maverick-labs"] .ml-simple-table th, [data-product="maverick-labs"] .ml-simple-table td { padding: 10px 12px; border-bottom: 1px solid var(--ml-line); text-align: left; vertical-align: top; color: var(--ml-text-muted); }
[data-product="maverick-labs"] .ml-simple-table th { color: var(--ml-text); font-family: var(--ml-font-brand); font-weight: 600; background: var(--ml-surface-2); white-space: nowrap; }
[data-product="maverick-labs"] .ml-simple-table tr:last-child td { border-bottom: 0; }
[data-product="maverick-labs"] .ml-tag { display: inline-block; padding: 2px 8px; border-radius: var(--ml-radius-pill); font-family: var(--ml-font-data); font-size: var(--ml-fs-2xs); letter-spacing: .06em; border: 1px solid currentColor; white-space: nowrap; }
[data-product="maverick-labs"] .ml-tag--obs { color: var(--ml-accent); }
[data-product="maverick-labs"] .ml-tag--inf { color: var(--ml-primary); }
[data-product="maverick-labs"] .ml-tag--unk { color: var(--ml-warning); }

/* Guides index */
[data-product="maverick-labs"] .ml-guide-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--ml-space-3); }
[data-product="maverick-labs"] .ml-guide-card { display: flex; flex-direction: column; gap: var(--ml-space-2); padding: var(--ml-space-4); border: 1px solid var(--ml-line-strong); border-radius: var(--ml-radius-lg); background: var(--ml-surface-1); text-decoration: none; color: var(--ml-text-muted); }
[data-product="maverick-labs"] .ml-guide-card:hover { border-color: var(--ml-primary); }
[data-product="maverick-labs"] .ml-guide-card .ml-h3 { color: var(--ml-text); }

/* Boundary diagram */
[data-product="maverick-labs"] .ml-diagram { margin: 0; padding: var(--ml-space-4); border: 1px solid var(--ml-line-strong); border-radius: var(--ml-radius-lg); background: var(--ml-surface-1); }
[data-product="maverick-labs"] .ml-diagram svg { display: block; width: 100%; height: auto; }
[data-product="maverick-labs"] .ml-diagram figcaption { margin-top: var(--ml-space-2); color: var(--ml-text-subtle); font-size: var(--ml-fs-xs); }
[data-product="maverick-labs"] .ml-diagram .d-box { fill: var(--ml-surface-2); stroke: var(--ml-line-strong); }
[data-product="maverick-labs"] .ml-diagram .d-boundary { fill: none; stroke: var(--ml-primary); stroke-width: 1.5; stroke-dasharray: 6 5; }
[data-product="maverick-labs"] .ml-diagram .d-gate { fill: var(--ml-marker); }
[data-product="maverick-labs"] .ml-diagram .d-person { fill: none; stroke: var(--ml-accent); stroke-width: 1.8; }
[data-product="maverick-labs"] .ml-diagram .d-flow { fill: none; stroke: var(--ml-secondary); stroke-width: 1.5; marker-end: url(#d-arrow); }
[data-product="maverick-labs"] .ml-diagram .d-blocked { fill: none; stroke: var(--ml-danger); stroke-width: 1.5; stroke-dasharray: 3 4; }
[data-product="maverick-labs"] .ml-diagram text { font-family: var(--ml-font-brand); font-size: 13px; fill: var(--ml-text); }
[data-product="maverick-labs"] .ml-diagram text.d-sub { font-size: 11px; fill: var(--ml-text-muted); }
[data-product="maverick-labs"] .ml-diagram text.d-label { font-family: var(--ml-font-data); font-size: 11px; letter-spacing: .12em; fill: var(--ml-primary); }

/* Contact: confirmation + copy fallback */
[data-product="maverick-labs"] .ml-sent { padding: var(--ml-space-4); border: 1px solid var(--ml-accent); border-radius: var(--ml-radius-lg); background: var(--ml-accent-dim); }
[data-product="maverick-labs"] .ml-sent h3 { margin: 0 0 var(--ml-space-2); color: var(--ml-text); font-family: var(--ml-font-brand); font-size: var(--ml-fs-md); }
[data-product="maverick-labs"] .ml-sent p { color: var(--ml-text-muted); margin: 0 0 var(--ml-space-2); line-height: 1.6; }
[data-product="maverick-labs"] .ml-copy-box { width: 100%; min-height: 180px; margin: var(--ml-space-2) 0; padding: 12px; border: 1px solid var(--ml-line-strong); border-radius: var(--ml-radius-md); background: var(--ml-canvas); color: var(--ml-text); font-family: var(--ml-font-data); font-size: var(--ml-fs-xs); line-height: 1.6; resize: vertical; }
[data-product="maverick-labs"] .ml-collection-note { color: var(--ml-text-subtle); font-size: var(--ml-fs-xs); line-height: 1.6; margin: 0; }
[data-product="maverick-labs"] .ml-collection-note a { color: var(--ml-primary); }

/* Lab: headings, bridge card, card thumbnails */
[data-product="maverick-labs"] .lab-shell h2, [data-product="maverick-labs"] .lab-shell h3 { font-family: var(--ml-font-brand); color: var(--ml-text); line-height: 1.3; margin: 0; }
[data-product="maverick-labs"] .lab-shell h3, [data-product="maverick-labs"] .lab-shell h2:not([class]) { font-size: var(--ml-fs-md); }
[data-product="maverick-labs"] .lab-bridge { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--ml-space-3); align-items: center; padding: var(--ml-space-4); border: 1px solid var(--ml-primary); border-radius: var(--ml-radius-lg); background: var(--ml-primary-dim); }
[data-product="maverick-labs"] .lab-bridge p { margin: 4px 0 0; color: var(--ml-text-muted); line-height: 1.6; }
[data-product="maverick-labs"] .lab-bridge .lab-meta { margin: 0; }
[data-product="maverick-labs"] .lab-bridge b { color: var(--ml-text); font-family: var(--ml-font-brand); font-size: var(--ml-fs-md); }
@media (max-width: 640px) { [data-product="maverick-labs"] .lab-bridge { grid-template-columns: 1fr; } }
[data-product="maverick-labs"] .lab-thumb { display: block; width: 100%; height: 72px; border-radius: var(--ml-radius-md); background: var(--ml-canvas); border: 1px solid var(--ml-line); }
[data-product="maverick-labs"] .lab-thumb path, [data-product="maverick-labs"] .lab-thumb circle, [data-product="maverick-labs"] .lab-thumb rect, [data-product="maverick-labs"] .lab-thumb line { vector-effect: non-scaling-stroke; }

/* 404 */
[data-product="maverick-labs"] .ml-notfound { min-height: 50vh; display: grid; align-content: center; gap: var(--ml-space-3); }

/* Print: readable reports and guides */
@media print {
  [data-product="maverick-labs"] .ml-topbar, [data-product="maverick-labs"] .ml-footer, [data-product="maverick-labs"] .ml-site-signal, [data-product="maverick-labs"] .ml-skip-link { display: none !important; }
  [data-product="maverick-labs"] .ml-app::before, [data-product="maverick-labs"] .ml-app::after { display: none !important; }
  html[data-product="maverick-labs"], [data-product="maverick-labs"] body { background: #fff !important; color: #111 !important; }
  [data-product="maverick-labs"] .ml-article, [data-product="maverick-labs"] .ml-article strong, [data-product="maverick-labs"] .ml-simple-table td, [data-product="maverick-labs"] .ml-simple-table th { color: #111 !important; background: #fff !important; }
}

/* The hidden attribute always wins over component display rules */
[data-product="maverick-labs"] [hidden] { display: none !important; }
/* Anchors and scrolled-to panels clear the sticky header */
html[data-product="maverick-labs"] { scroll-padding-top: 92px; }
@media (max-width: 767px) { html[data-product="maverick-labs"] { scroll-padding-top: 12px; } }
