/* AI Citation Index pages (/ai-index/*) and the shared pieces /data reuses.
   Tokens from ujeebu-v3.css; corners are square site-wide (v3-tweaks.css), so the
   only radii here are data ends and dots, set with !important to beat that rule.
   Mobile first, checked at 360 and 390 px.

   Colour jobs
     --aix-focus   #EA580C  the focus series (bars, the brand line, hero figures)
     --aix-rest    #A3ACB9  every other series (neutral)
     --aix-action  #C2410C  primary buttons: white text at 5.2:1 (the site's
                            #F97316 is 2.8:1, below AA)
     --aix-link    #9A3412  links and small orange text
     up / down     #15803D / #B91C1C, always with a sign and a triangle

   Type: Inter for words, Geist Mono for figures and small labels (the site's stat
   strips do the same). Section rhythm: 56 px mobile, 88 px desktop. */

.aix, .aix-cta, .aix-embed-page, .ujd-page {
  --aix-focus: #EA580C;
  --aix-rest: #A3ACB9;
  --aix-rail: #F1F2F4;
  --aix-action: #C2410C;
  --aix-action-hover: #9A3412;
  --aix-link: #9A3412;
  --aix-up: #15803D;
  --aix-down: #B91C1C;
  --aix-body: #374151;
  --aix-muted: #4B5563;
  --aix-faint: #6B7280;
  --aix-desk: #EDEDE8;
}
.aix { color: var(--uj-ink); font-size: 16px; line-height: 1.55; }
.aix-wrap { max-width: var(--uj-maxw, 1280px); margin: 0 auto; padding: 0 20px; }
.aix-wrap--narrow { max-width: 816px; }
.aix-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.aix p { margin: 0; }
.aix h1, .aix h2, .aix h3 { margin: 0; text-wrap: balance; }
.aix-num { font-family: var(--uj-mono); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }

/* Links inside copy: quiet underline that firms up on hover */
.aix a:not(.uj-btn):not(.aix-plain) {
  color: var(--aix-link); text-decoration: underline; text-decoration-thickness: 1px;
  text-underline-offset: 3px; text-decoration-color: rgba(154, 52, 18, 0.35);
  transition: text-decoration-color .15s, color .15s;
}
.aix a:not(.uj-btn):not(.aix-plain):hover { text-decoration-color: currentColor; }
.aix a.aix-plain { color: inherit; text-decoration: none; }
.aix :focus-visible { outline: 2px solid var(--uj-ink); outline-offset: 2px; }

/* Buttons: the site's .uj-btn, with an AA primary and wrapping labels */
.aix .uj-btn { white-space: normal; text-align: center; height: auto; min-height: 44px; line-height: 1.25; font-weight: 500; }
.aix .uj-btn--lg { min-height: 48px; padding: 12px 22px; font-size: 15px; }
.aix .uj-btn--md { padding: 10px 16px; }
.aix .uj-btn .uj-icon { flex: none; transition: transform .15s ease; }
.aix .uj-btn:hover .uj-icon--go { transform: translateX(2px); }
.uj-v3 .aix .uj-btn--primary, .uj-v3 .aix-cta .uj-btn--primary {
  background: var(--aix-action, #C2410C); border-color: var(--aix-action, #C2410C); color: #fff;
}
.uj-v3 .aix .uj-btn--primary:hover, .uj-v3 .aix-cta .uj-btn--primary:hover {
  background: var(--aix-action-hover, #9A3412); border-color: var(--aix-action-hover, #9A3412); color: #fff;
}
.aix .uj-btn--ghost { background: #fff; }
.aix-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
@media (max-width: 639px) { .aix-actions > .uj-btn, .aix-form__foot .aix-submit { flex: 1 1 100%; } .aix-actions > .uj-btn--bare { display: none; } }

/* Off-prod banner: mock data / preview */
.aix-banner { background: #FEF3C7; color: #78350F; border-bottom: 1px solid #FCD34D; font-size: 13px; line-height: 1.4; }
.aix-banner .aix-wrap { display: flex; gap: 10px; align-items: center; padding-top: 7px; padding-bottom: 7px; }
.aix-banner__tag { flex: none; font: 600 10.5px/1 var(--uj-mono); text-transform: uppercase; letter-spacing: .08em;
  background: #78350F; color: #FEF3C7; padding: 4px 6px; }
.aix-banner a { color: #78350F !important; font-weight: 600; }

/* ---------------------------------------------------------------- page head */
.aix-head { padding-top: 32px; padding-bottom: 8px; }
.aix-crumbs { font-size: 13px; color: var(--aix-faint); margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 4px 8px; }
.aix-crumbs a { color: var(--aix-muted) !important; text-decoration: none !important; }
.aix-crumbs a:hover { color: var(--uj-ink) !important; text-decoration: underline !important; }
.aix-crumbs span[aria-hidden] { color: #D1D5DB; }
.aix-eyebrow { display: inline-flex; align-items: center; gap: 8px; font: 500 12px/1 var(--uj-mono); letter-spacing: .1em;
  text-transform: uppercase; color: var(--aix-link); margin-bottom: 16px; }
.aix-eyebrow::before { content: ""; width: 6px; height: 6px; background: var(--aix-focus); flex: none; }
.aix-h1 { font-size: clamp(34px, 5vw, 56px); line-height: 1.04; font-weight: 600; letter-spacing: -0.035em; max-width: 20ch; }
.aix-dek { font-size: 18px; line-height: 1.55; color: var(--aix-body); margin-top: 18px !important; max-width: 640px; }
.aix-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin-top: 22px !important;
  font: 400 12.5px/1.4 var(--uj-mono); color: var(--aix-muted); letter-spacing: .01em; }
.aix-meta strong { color: var(--uj-ink); font-weight: 500; }

/* Week selector: a tab strip, scrolls sideways inside itself on phones */
.aix-weeks { position: relative; margin-top: 28px; border-bottom: 1px solid var(--uj-line); }
.aix-weeks ul { display: flex; gap: 0; margin: 0 0 -1px; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none;
  scroll-snap-type: x proximity; }
.aix-weeks ul::-webkit-scrollbar { display: none; }
.aix-weeks li { flex: none; scroll-snap-align: start; }
.aix-weeks a { display: grid; gap: 2px; padding: 10px 16px 11px; border-bottom: 2px solid transparent;
  color: var(--aix-muted) !important; text-decoration: none !important; transition: color .15s, border-color .15s; }
.aix-weeks a strong { font: 600 13px/1.2 var(--uj-mono); color: inherit; }
.aix-weeks a span { font-size: 12px; color: var(--aix-faint); white-space: nowrap; }
.aix-weeks a:hover { color: var(--uj-ink) !important; border-bottom-color: #D1D5DB; }
.aix-weeks a[aria-current="page"] { color: var(--uj-ink) !important; border-bottom-color: var(--aix-focus); }
.aix-weeks a[aria-current="page"] span { color: var(--aix-muted); }
.aix-weeks::after { content: ""; position: absolute; right: 0; top: 0; bottom: 1px; width: 32px; pointer-events: none;
  background: linear-gradient(90deg, rgba(255,255,255,0), #fff); }

/* ---------------------------------------------------------------- sections */
.aix-sec { padding: 56px 0; }
.aix-sec--tight { padding-top: 28px; }
.aix-sec--paper { background: var(--uj-paper); border-top: 1px solid var(--uj-line); border-bottom: 1px solid var(--uj-line); }
.aix-sec--paper + .aix-sec--paper { border-top: 0; }
.aix-sec + .aix-sec:not(.aix-sec--paper) { padding-top: 0; }
.aix-sec--paper + .aix-sec { padding-top: 56px !important; }
.aix-sh { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 32px; margin-bottom: 28px; }
.aix-sh > div { max-width: 680px; }
.aix-h2 { font-size: clamp(26px, 2.8vw, 36px); line-height: 1.1; font-weight: 600; letter-spacing: -0.028em; }
.aix-h3 { font-size: 17px; line-height: 1.3; font-weight: 600; letter-spacing: -0.01em; }
.aix-sub { font-size: 16px; line-height: 1.55; color: var(--aix-muted); margin-top: 10px !important; max-width: 680px; }
.aix-note { font-size: 14px; color: var(--aix-muted); line-height: 1.55; }
.aix-fine { font-size: 13px; color: var(--aix-faint); line-height: 1.5; }
.aix-prose p, .aix-prose li { font-size: 17px; line-height: 1.7; color: var(--aix-body); }
.aix-prose p { margin: 0 0 18px; }
.aix-prose strong { color: var(--uj-ink); }
.aix-list { margin: 0; padding-left: 20px; }
.aix-list li { margin-bottom: 10px; font-size: 16px; line-height: 1.6; color: var(--aix-body); }
.aix-list li::marker { color: var(--aix-faint); }

/* ---------------------------------------------------------------- stat strip */
.aix-stats { display: grid; margin-top: 36px; border-top: 1px solid var(--uj-line); border-bottom: 1px solid var(--uj-line); }
.aix-stat { padding: 20px 0; min-width: 0; }
.aix-stat + .aix-stat { border-top: 1px solid var(--uj-line); }
.aix-stat__k { display: flex; align-items: center; gap: 8px; font: 500 11.5px/1.3 var(--uj-mono); letter-spacing: .08em;
  text-transform: uppercase; color: var(--aix-muted); }
.aix-stat__k .uj-icon { color: var(--aix-focus); }
.aix-stat__v { margin-top: 10px !important; font-size: 28px; line-height: 1.1; font-weight: 600; letter-spacing: -0.025em; overflow-wrap: anywhere; }
.aix-stat__v .aix-num { font-weight: 500; letter-spacing: -0.03em; }
.aix-stat__v small { font: 500 15px var(--uj-mono); letter-spacing: 0; margin-left: 6px; }
.aix-stat__d { margin-top: 6px !important; font-size: 14px; color: var(--aix-muted); line-height: 1.45; }

/* ---------------------------------------------------------------- ranked bars */
.aix-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.aix-bar { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; grid-template-areas: "rank name val" ". track track";
  column-gap: 10px; row-gap: 6px; align-items: center; padding: 7px 0; }
.aix-bar__rank { grid-area: rank; font: 400 12px/1 var(--uj-mono); color: var(--aix-faint); font-variant-numeric: tabular-nums; }
.aix-bar__name { grid-area: name; font-size: 15px; font-weight: 500; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aix-bar__name a { color: var(--uj-ink) !important; text-decoration: none !important; }
.aix-bar__name a:hover { color: var(--aix-link) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.aix-bar__tag { margin-left: 8px; font: 400 11px var(--uj-mono); color: var(--aix-faint); letter-spacing: .02em; }
.aix-bar__val { grid-area: val; display: flex; align-items: baseline; justify-content: flex-end; gap: 10px; white-space: nowrap;
  font: 500 14px/1 var(--uj-mono); font-variant-numeric: tabular-nums; }
.aix-bar__track { grid-area: track; position: relative; height: 10px; background: var(--aix-rail); }
.uj-v3 .aix-bar__fill { position: absolute; left: 0; top: 0; bottom: 0; min-width: 2px; background: var(--aix-focus, #EA580C);
  border-radius: 0 4px 4px 0 !important; transition: filter .15s; }
.aix-bar--muted .aix-bar__fill { background: var(--aix-rest, #A3ACB9); }
.aix-bar--focus .aix-bar__name { font-weight: 600; }
.aix-bar:hover .aix-bar__fill { filter: brightness(.92); }
.aix-bar__ci { position: absolute; top: 50%; height: 0; border-top: 1px solid rgba(11, 15, 25, .62); }
.aix-bar__ci::before, .aix-bar__ci::after { content: ""; position: absolute; top: -5px; width: 1px; height: 9px; background: rgba(11, 15, 25, .62); }
.aix-bar__ci::before { left: 0; }
.aix-bar__ci::after { right: 0; }
.aix-wow { display: inline-block; min-width: 44px; text-align: right; font: 500 12px/1 var(--uj-mono); }
.aix-wow__g { font-size: 9px; vertical-align: 1px; margin-right: 3px; }
.aix-mv__delta .aix-wow__g { font-size: 10px; }
.aix-up { color: var(--aix-up, #15803D); }
.aix-down { color: var(--aix-down, #B91C1C); }
.aix-flat { color: var(--aix-faint, #6B7280); }
.aix-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; font: 400 12px/1.4 var(--uj-mono); color: var(--aix-muted); align-items: center; }
.aix-legend > span { display: inline-flex; align-items: center; gap: 7px; }
.uj-v3 .aix-legend__fill { display: inline-block; width: 16px; height: 8px; background: var(--aix-focus, #EA580C); border-radius: 0 3px 3px 0 !important; }
.uj-v3 .aix-legend__fill--rest { background: var(--aix-rest, #A3ACB9); }
.aix-legend__ci { display: inline-block; position: relative; width: 20px; height: 9px; }
.aix-legend__ci::before { content: ""; position: absolute; left: 0; right: 0; top: 4px; border-top: 1px solid rgba(11,15,25,.62); }
.aix-legend__ci::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 9px; border-left: 1px solid rgba(11,15,25,.62); border-right: 1px solid rgba(11,15,25,.62); }

/* ---------------------------------------------------------------- panels */
.aix-panel { background: #fff; border: 1px solid var(--uj-line); padding: 20px 18px 16px; min-width: 0; }
.aix-panel__head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.aix-panel__meta { margin: 6px 0 14px !important; font: 400 12px/1.5 var(--uj-mono); color: var(--aix-muted); }
.aix-panel__foot { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--uj-line2); }
.aix-panel__foot > .aix-details[open] { flex-basis: 100%; order: 2; }
.uj-v3 .aix-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50% !important; flex: none; }
.aix-tag { display: inline-flex; align-items: center; padding: 3px 7px; font: 500 10.5px/1.2 var(--uj-mono); letter-spacing: .04em;
  text-transform: uppercase; color: var(--aix-muted); background: var(--uj-line2); }
.aix-tag--orange { color: var(--aix-link); background: var(--uj-accent-soft); }
.aix-tag--green { color: #166534; background: var(--uj-green-soft); }
.aix-engines { display: grid; gap: 16px; }

/* Gap engine: an honest empty state, same footprint as its neighbours */
.aix-panel--gap { display: flex; flex-direction: column; background-color: #FCFCFA;
  background-image: repeating-linear-gradient(135deg, rgba(11,15,25,.028) 0 1px, transparent 1px 9px); border-style: dashed; border-color: #D1D5DB; }
.aix-gap { flex: 1; display: grid; align-content: center; gap: 10px; padding: 20px 4px 8px; max-width: 420px; }
.aix-gap__icon { width: 36px; height: 36px; display: grid; place-items: center; background: #fff; border: 1px solid var(--uj-line); color: var(--aix-muted); }
.aix-gap h4 { margin: 4px 0 0; font-size: 16px; font-weight: 600; letter-spacing: -0.01em; }
.aix-gap p { font-size: 14.5px; line-height: 1.55; color: var(--aix-body); }

/* Disclosures: full table, embed */
.aix-details > summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 0 12px;
  border: 1px solid var(--uj-line); background: #fff; font-size: 13px; font-weight: 500; color: var(--uj-ink); user-select: none; transition: border-color .15s, background .15s; }
.aix-details > summary::-webkit-details-marker { display: none; }
.aix-details > summary::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px); transition: transform .15s; margin-left: 2px; }
.aix-details[open] > summary::after { transform: rotate(225deg) translateY(-1px); }
.aix-details > summary:hover { border-color: #D1D5DB; background: var(--uj-paper); }
.aix-details__body { margin-top: 12px; }
.aix-code { display: block; background: var(--uj-ink); color: #E5E7EB; padding: 14px 16px; margin: 0;
  font: 12.5px/1.6 var(--uj-mono); white-space: pre-wrap; word-break: normal; overflow-wrap: anywhere; }
.aix-copy { display: inline-flex; align-items: center; gap: 6px; font: 500 13px var(--uj-sans); min-height: 34px; padding: 0 12px;
  border: 1px solid var(--uj-line); background: #fff; color: var(--uj-ink); cursor: pointer; margin-top: 8px; }
.aix-copy:hover { border-color: #D1D5DB; background: var(--uj-paper); }

/* ---------------------------------------------------------------- tables */
.aix-table-wrap { overflow-x: auto; border: 1px solid var(--uj-line); background: #fff; }
.aix-table-wrap--scroll { max-height: 70vh; overflow: auto; }
.aix-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.aix-table th, .aix-table td { padding: 11px 14px; text-align: left; border-top: 1px solid var(--uj-line2); white-space: nowrap; vertical-align: middle; }
.aix-table thead th { position: sticky; top: 0; z-index: 1; background: #FAFAF8; border-top: 0; border-bottom: 1px solid var(--uj-line);
  font: 500 11px/1.3 var(--uj-mono); letter-spacing: .07em; text-transform: uppercase; color: var(--aix-muted); }
.aix-table tbody tr:first-child > * { border-top: 0; }
.aix-table tbody th { font-weight: 500; }
.aix-table tbody tr { transition: background .12s; }
.aix-table tbody tr:hover { background: #FAFAF8; }
.aix-table .is-num { text-align: right; font-family: var(--uj-mono); font-variant-numeric: tabular-nums; font-size: 13.5px; }
.aix-table thead .is-num { font-size: 11px; }
.aix-table .is-wrap { white-space: normal; }
.aix-table tr.is-focus { background: var(--uj-accent-soft); }
.aix-table tr.is-focus > * { font-weight: 600; }
.aix-table caption { caption-side: top; text-align: left; font: 400 12px var(--uj-mono); color: var(--aix-muted); padding: 10px 14px; border-bottom: 1px solid var(--uj-line2); }
.aix-yes { color: var(--aix-up); font-weight: 500; }
.aix-no { color: var(--aix-down); font-weight: 500; }
.aix-mark { display: inline-flex; align-items: center; gap: 6px; }
.uj-v3 .aix-mark::before { content: ""; width: 7px; height: 7px; border-radius: 50% !important; background: currentColor; }
.uj-v3 .aix-mark--off::before { background: transparent; box-shadow: inset 0 0 0 1.5px currentColor; }

/* ---------------------------------------------------------------- movers */
.aix-movers { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--uj-line); }
.aix-mv { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "who delta" "plot plot" "detail detail";
  gap: 8px 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--uj-line); }
.aix-mv__who { grid-area: who; font-size: 15px; font-weight: 600; min-width: 0; }
.aix-mv__who a { color: var(--uj-ink) !important; text-decoration: none !important; }
.aix-mv__who a:hover { color: var(--aix-link) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.aix-mv__engine { font-weight: 400; color: var(--aix-muted); }
.aix-mv__delta { grid-area: delta; font: 500 15px/1 var(--uj-mono); white-space: nowrap; text-align: right; }
.aix-mv__plot { grid-area: plot; position: relative; height: 14px; }
.aix-mv__plot::before { content: ""; position: absolute; left: 0; right: 0; top: 6px; height: 2px; background: var(--aix-rail); }
.aix-mv__span { position: absolute; top: 6px; height: 2px; background: currentColor; opacity: .55; }
.uj-v3 .aix-mv__from, .uj-v3 .aix-mv__to { position: absolute; top: 2px; width: 10px; height: 10px; margin-left: -5px; border-radius: 50% !important; }
.aix-mv__from { background: #fff; box-shadow: inset 0 0 0 2px var(--aix-faint); }
.aix-mv__to { background: currentColor; box-shadow: 0 0 0 2px #fff; }
.aix-mv__detail { grid-area: detail; font-size: 13px; color: var(--aix-muted); }
.aix-mv__detail .aix-num { font-size: 12.5px; color: var(--aix-body); }
.aix-movers--compact .aix-mv { padding: 13px 0; }

/* ---------------------------------------------------------------- hub */
.aix-hero { padding-top: 44px; padding-bottom: 56px; display: grid; gap: 40px; align-items: center; }
.aix-hero__h { font-size: clamp(40px, 6.2vw, 72px); line-height: 1.02; font-weight: 600; letter-spacing: -0.04em; max-width: 13ch; }
.aix-hero__lede { font-size: 18px; line-height: 1.6; color: var(--aix-body); margin-top: 22px !important; max-width: 560px; }
.aix-hero__fine { margin-top: 16px !important; font-size: 13px; color: var(--aix-faint); }
.aix-answer { background: #fff; border: 1px solid var(--uj-line); box-shadow: 0 24px 60px -24px rgba(234, 88, 12, .22), 0 2px 8px rgba(15, 23, 42, .05); }
.aix-answer__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid var(--uj-line);
  font: 400 12px/1.3 var(--uj-mono); color: var(--aix-muted); background: #FCFCFA; }
.aix-answer__body { padding: 18px 18px 12px; }
.aix-answer__q { font-size: 15px; line-height: 1.45; color: var(--aix-body); margin-bottom: 12px !important; }
.aix-answer__q strong { color: var(--uj-ink); font-weight: 600; }
.aix-answer__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 18px 16px; }
.aix-pillars { display: grid; border-top: 1px solid var(--uj-line); }
.aix-pillar { padding: 24px 0; border-bottom: 1px solid var(--uj-line); }
.aix-pillar .uj-icon { color: var(--aix-focus); }
.aix-pillar h3 { margin-top: 14px; }
.aix-pillar p { margin-top: 8px !important; font-size: 15px; line-height: 1.55; color: var(--aix-muted); }
.aix-pillar em { display: block; margin-top: 10px; font: normal 400 12.5px/1.4 var(--uj-mono); color: var(--aix-link); }
.aix-feature { display: grid; gap: 32px; }
.aix-quote { padding: 24px; background: #fff; border: 1px solid var(--uj-line); border-left: 3px solid var(--aix-focus); }
.aix-quote h3 { font-size: 20px; line-height: 1.3; letter-spacing: -0.015em; margin-top: 4px; }
.aix-quote p { margin-top: 10px !important; font-size: 15px; line-height: 1.6; color: var(--aix-body); }
.aix-quote .aix-more { display: inline-block; margin-top: 14px; font-weight: 500; }
.aix-verticals { display: grid; gap: 12px; }
.aix-vcard { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 20px; border: 1px solid var(--uj-line); background: #fff;
  color: var(--uj-ink) !important; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
a.aix-vcard:hover { border-color: #FDBA74; box-shadow: 0 10px 28px -12px rgba(15, 23, 42, .14); }
a.aix-vcard .aix-vcard__go { margin-top: auto; padding-top: 6px; font-size: 14px; font-weight: 500; color: var(--aix-link); display: inline-flex; align-items: center; gap: 6px; }
.aix-vcard--soon { background: transparent; border-style: dashed; border-color: #D1D5DB; }
.aix-vgroup { margin: 24px 0 10px; }
.aix-vgroup:first-child { margin-top: 0; }
.aix-vcard__top { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.aix-vcard strong { font-size: 16px; font-weight: 600; letter-spacing: -0.01em; }
.aix-vcard p { font-size: 14px; line-height: 1.5; color: var(--aix-muted); }
.aix-vcard--soon strong { color: var(--aix-body); }

/* Offer ladder: three tiers, the snapshot carries the dark card */
.aix-ladder { display: grid; gap: 12px; }
.aix-rung { display: flex; flex-direction: column; padding: 26px 24px; border: 1px solid var(--uj-line); background: #fff; }
.aix-rung__k { font: 500 11.5px/1.3 var(--uj-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--aix-muted); }
.aix-rung__price { margin-top: 14px !important; font: 500 38px/1 var(--uj-mono); letter-spacing: -0.04em; }
.aix-rung__price small { font: 400 14px var(--uj-sans); letter-spacing: 0; color: var(--aix-muted); margin-left: 4px; }
.aix-rung p:not(.aix-rung__price) { margin: 16px 0 24px !important; font-size: 15px; line-height: 1.55; color: var(--aix-body); flex: 1; }
.aix-rung--hi { background: var(--uj-ink); border-color: var(--uj-ink); color: #fff; }
.aix-rung--hi .aix-rung__k { color: #FDBA74; }
.aix-rung--hi .aix-rung__price small, .aix-rung--hi p:not(.aix-rung__price) { color: #D1D5DB; }

/* ---------------------------------------------------------------- brand page */
.aix-brandhead { display: grid; gap: 28px; align-items: end; }
.aix-figure { padding: 22px 0 0; border-top: 1px solid var(--uj-line); }
.aix-figure__v { font: 500 clamp(56px, 8vw, 88px)/0.95 var(--uj-mono); letter-spacing: -0.06em; color: var(--aix-focus); }
.aix-figure__k { margin-top: 12px !important; font-size: 16px; color: var(--uj-ink); font-weight: 500; }
.aix-figure__d { margin-top: 6px !important; font-size: 14px; color: var(--aix-muted); }
.aix-score { display: grid; gap: 0; border-top: 1px solid var(--uj-line); }
.aix-score__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "eng val" "plot plot" "meta meta";
  gap: 8px 14px; padding: 16px 0; border-bottom: 1px solid var(--uj-line); align-items: center; }
.aix-score__eng { grid-area: eng; display: flex; align-items: center; gap: 9px; font-weight: 600; font-size: 15px; min-width: 0; flex-wrap: wrap; }
.aix-score__val { grid-area: val; display: flex; gap: 12px; align-items: baseline; font: 500 15px/1 var(--uj-mono); white-space: nowrap; }
.aix-score__plot { grid-area: plot; position: relative; height: 10px; background: var(--aix-rail); }
.aix-score__meta { grid-area: meta; display: flex; flex-wrap: wrap; gap: 4px 18px; font: 400 12px/1.4 var(--uj-mono); color: var(--aix-muted); }
.aix-score__row--gap .aix-score__meta { font-family: var(--uj-sans); font-size: 13.5px; }

/* Trend chart: two inline SVGs (desktop, phone), no script */
.aix-trend { padding: 20px 18px 14px; background: #fff; border: 1px solid var(--uj-line); }
.aix-trend__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 20px; margin-bottom: 14px; }
.aix-trend svg { display: block; width: 100%; height: auto; overflow: visible; }
.aix-trend__svg--wide { display: none !important; }
.aix-trend text { font: 400 11px var(--uj-mono); fill: var(--aix-faint); }
.aix-trend .aix-tl__label { font-family: var(--uj-sans); font-size: 12px; fill: var(--aix-body); }
.aix-trend .aix-tl--focus .aix-tl__label { font-weight: 600; fill: var(--uj-ink); }
.aix-tl polyline { transition: stroke .15s, stroke-width .15s; }
.aix-tl:not(.aix-tl--focus):hover polyline { stroke: var(--c); stroke-width: 2.5; }
.aix-tl:not(.aix-tl--focus):hover circle { fill: var(--c); }
.aix-tl:not(.aix-tl--focus):hover .aix-tl__label { fill: var(--uj-ink); font-weight: 600; }
.aix-tl circle { transition: fill .15s; }
.uj-v3 .aix-swatch { display: inline-block; width: 16px; height: 3px; vertical-align: middle; }

/* Gated teaser */
.aix-locked { position: relative; border: 1px solid var(--uj-line); overflow: hidden; background: #fff; }
.aix-locked__rows { padding: 8px 20px; filter: blur(3.5px); user-select: none; pointer-events: none; }
.aix-locked__rows div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--uj-line2); font-size: 14px; }
.aix-locked__rows div:first-child { border-top: 0; }
.aix-locked__over { position: absolute; inset: 0; display: grid; place-items: center; padding: 20px; text-align: center;
  background: linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.94) 55%); }
.aix-locked__over p { margin: 0 auto 16px !important; font-size: 15px; line-height: 1.55; max-width: 400px; color: var(--aix-body); }
.aix-locked__over strong { display: block; font-size: 18px; color: var(--uj-ink); letter-spacing: -0.01em; margin-bottom: 4px; }

/* ---------------------------------------------------------------- facts (about the data) */
.aix-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--uj-line); }
.aix-facts > div { padding: 14px 16px 14px 0; border-bottom: 1px solid var(--uj-line); min-width: 0; }
.aix-facts dt { font: 500 11px/1.3 var(--uj-mono); letter-spacing: .07em; text-transform: uppercase; color: var(--aix-muted); }
.aix-facts dd { margin: 6px 0 0; font-size: 14.5px; line-height: 1.45; color: var(--uj-ink); overflow-wrap: anywhere; }

/* ---------------------------------------------------------------- check form (v3/ai-check-cta) */
.aix-cta { margin: 0; padding: 32px 22px; background: var(--uj-ink); color: #fff; display: grid; gap: 24px; }
.aix-cta__h { font-size: clamp(26px, 3vw, 34px); line-height: 1.1; font-weight: 600; letter-spacing: -0.028em; color: #fff; }
.aix-cta__p { margin-top: 12px !important; font-size: 16px; line-height: 1.55; color: #D1D5DB; max-width: 460px; }
.aix-cta .uj-label { color: #E5E7EB; }
.aix-cta .aix-consent { color: #D1D5DB; }
.aix-cta .aix-consent input { accent-color: #F97316; }
.aix-cta .aix-form__fine { color: #9CA3AF; }
.aix-cta .aix-form__fine a, .aix-cta a:not(.uj-btn) { color: #FDBA74 !important; text-decoration-color: rgba(253, 186, 116, .45) !important; }
.aix-cta .aix-err { color: #FCA5A5; }
.aix-cta .uj-field { border-color: #fff; }
.aix-cta .uj-field:focus { border-color: #F97316; box-shadow: 0 0 0 3px rgba(249, 115, 22, .35); }
.aix-cta :focus-visible { outline-color: #fff; }
.aix-cta--page { padding: 24px 20px; background: #fff; color: var(--uj-ink); border: 1px solid var(--uj-line); box-shadow: 0 24px 60px -30px rgba(15, 23, 42, .18); }
.aix-cta--page .uj-label { color: var(--uj-ink2); }
.aix-cta--page .aix-consent { color: var(--aix-body); }
.aix-cta--page .aix-consent input { accent-color: var(--uj-ink); }
.aix-cta--page .aix-form__fine { color: var(--aix-faint); }
.aix-cta--page .aix-form__fine a { color: var(--aix-link) !important; }
.aix-cta--page .uj-field { border-color: #D1D5DB; }
.aix-cta--page .uj-field:focus { border-color: var(--aix-focus); box-shadow: 0 0 0 3px rgba(234, 88, 12, .14); }
.aix-cta--page :focus-visible { outline-color: var(--uj-ink); }
.aix-cta--page .aix-err { color: var(--aix-down); }
.aix-form { display: grid; gap: 16px; min-width: 0; }
.aix-form__row { display: grid; gap: 14px; }
.aix-field { display: grid; gap: 7px; min-width: 0; }
.aix-field .uj-label { font-size: 13px; font-weight: 500; }
.aix-field .uj-field { font-size: 16px; min-height: 48px; }
.aix-field.has-error .uj-field { border-color: #EF4444; box-shadow: 0 0 0 1px #EF4444; }
.aix-err { font-size: 13px; }
.aix-form__err { padding: 11px 14px; background: var(--uj-red-soft); color: #991B1B; font-size: 14px; border-left: 3px solid #DC2626; }
.aix-form__note { padding: 11px 14px; background: var(--uj-accent-soft); border-left: 3px solid var(--aix-focus, #EA580C); color: #7C2D12; font-size: 14px; }
.aix-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; cursor: pointer; }
.aix-consent input { width: 18px; height: 18px; margin: 1px 0 0; flex: none; cursor: pointer; }
.aix-form__foot { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; }
.aix-form__fine { font-size: 13px; line-height: 1.45; }
.aix-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.aix .aix-submit, .aix-cta .aix-submit { min-height: 50px; min-width: 200px; padding: 0 24px; font-size: 16px; font-weight: 600; }
.uj-v3 .aix-submit .aix-spin { display: none; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,0.35); border-top-color: #fff;
  border-radius: 50% !important; animation: aix-spin .7s linear infinite; }
.aix-submit.is-loading { cursor: progress; }
.aix-submit.is-loading .aix-submit__label { opacity: .7; }
.aix-submit.is-loading .aix-spin { display: inline-block; }
.aix-submit[disabled] { opacity: 1; }
@keyframes aix-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .uj-v3 .aix-submit .aix-spin { animation-duration: 2s; } }

/* ---------------------------------------------------------------- offer pages */
.aix-offer { display: grid; gap: 36px; align-items: start; padding-top: 40px; padding-bottom: 56px; }
.aix-offer .aix-hero__h { font-size: clamp(36px, 5vw, 60px); max-width: 16ch; }
.aix-price { position: relative; padding: 26px 22px 22px; border: 1px solid var(--uj-line); background: #fff;
  box-shadow: 0 24px 60px -28px rgba(15, 23, 42, .22), 0 1px 2px rgba(15, 23, 42, .04); }
.aix-price::before { content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 3px; background: var(--aix-focus); }
.aix-price__k { font: 500 11.5px/1.3 var(--uj-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--aix-muted); }
.aix-price__amt { margin-top: 14px !important; font: 500 48px/1 var(--uj-mono); letter-spacing: -0.045em; }
.aix-price__amt small { font: 400 15px var(--uj-sans); letter-spacing: 0; color: var(--aix-muted); margin-left: 4px; }
.aix-price__terms { margin-top: 10px !important; font-size: 14px; color: var(--aix-muted); line-height: 1.5; }
.aix-price ul { list-style: none; margin: 20px 0 22px; padding: 18px 0 0; border-top: 1px solid var(--uj-line2); display: grid; gap: 11px; }
.aix-price li { display: flex; gap: 10px; font-size: 15px; line-height: 1.45; color: var(--aix-body); }
.aix-price li .uj-icon { flex: none; margin-top: 2px; color: var(--aix-focus); }
.aix-price .uj-btn { width: 100%; }
.aix-price__fine { font-size: 13px; color: var(--aix-faint); margin-top: 12px !important; text-align: center; line-height: 1.45; }

/* What is in the PDF: one row per report section, a miniature page on the right */
.aix-sections { border-top: 1px solid var(--uj-line); }
.aix-secprev { display: grid; gap: 18px; padding: 28px 0; border-bottom: 1px solid var(--uj-line); align-items: center; }
.aix-secprev__n { font: 500 12px/1 var(--uj-mono); color: var(--aix-link); letter-spacing: .04em; }
.aix-secprev h3 { margin-top: 10px; font-size: 20px; letter-spacing: -0.015em; }
.aix-secprev p { margin-top: 8px !important; font-size: 15px; line-height: 1.55; color: var(--aix-muted); max-width: 460px; }
.aix-thumb { background: #fff; border: 1px solid var(--uj-line); padding: 16px 18px; font-size: 12.5px; color: var(--aix-body);
  box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 12px 32px -18px rgba(15,23,42,.18); }
.aix-thumb__bar { display: flex; justify-content: space-between; padding-bottom: 8px; margin-bottom: 12px; border-bottom: 1.5px solid var(--uj-ink);
  font: 400 9.5px/1 var(--uj-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--aix-faint); }
.aix-thumb__big { font: 500 30px/1 var(--uj-mono); letter-spacing: -0.04em; color: var(--aix-focus); }
.aix-thumb__big small { font: 400 12px var(--uj-sans); letter-spacing: 0; color: var(--aix-muted); margin-left: 6px; }
.aix-thumb table { width: 100%; border-collapse: collapse; }
.aix-thumb td, .aix-thumb th { padding: 6px 4px; border-top: 1px solid var(--uj-line2); text-align: left; font-size: 12px; }
.aix-thumb th { font: 500 9.5px var(--uj-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--aix-faint); border-top: 0; }
.aix-thumb .is-num { text-align: right; font-family: var(--uj-mono); }
.aix-thumb ol:not(.aix-bars) { margin: 0; padding-left: 0; list-style: none; display: grid; gap: 8px; counter-reset: fx; }
.aix-thumb ol:not(.aix-bars) li { display: grid; grid-template-columns: 20px 1fr; gap: 8px; align-items: start; line-height: 1.4; counter-increment: fx; }
.aix-thumb ol:not(.aix-bars) li::before { content: counter(fx); display: grid; place-items: center; width: 20px; height: 20px; background: var(--uj-ink); color: #fff; font: 500 11px var(--uj-mono); }
.aix-thumb .aix-bars { gap: 0; margin-top: 12px; }
.aix-thumb .aix-bar { padding: 4px 0; row-gap: 4px; }
.aix-thumb .aix-bar__name, .aix-thumb .aix-bar__val { font-size: 12px; }
.aix-thumb .aix-bar__track { height: 7px; }
.aix-thumb__fact { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-top: 1px solid var(--uj-line2); }
.aix-thumb__fact:first-of-type { border-top: 0; }
.aix-thumb__fact span:last-child { font-family: var(--uj-mono); color: var(--uj-ink); }

/* Steps: a real sequence, so numbered */
.aix-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; counter-reset: st; border-top: 1px solid var(--uj-line); }
.aix-steps li { position: relative; padding: 20px 0 20px 52px; border-bottom: 1px solid var(--uj-line); font-size: 15.5px; line-height: 1.55; color: var(--aix-body); }
.aix-steps li strong { display: block; color: var(--uj-ink); font-size: 16px; margin-bottom: 4px; letter-spacing: -0.005em; }
.aix-steps code { font: 13px var(--uj-mono); background: var(--uj-line2); padding: 1px 5px; overflow-wrap: anywhere; }
.aix-steps li::before { counter-increment: st; content: counter(st, decimal-leading-zero); position: absolute; left: 0; top: 21px;
  font: 500 13px/1 var(--uj-mono); color: var(--aix-link); }

/* FAQ: hairline accordion, like /pricing */
.aix-faq { border-top: 1px solid var(--uj-line); }
.aix-faq details { border-bottom: 1px solid var(--uj-line); }
.aix-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0;
  font-size: 16px; font-weight: 500; letter-spacing: -0.005em; transition: color .15s; }
.aix-faq summary:hover { color: var(--aix-link); }
.aix-faq summary::-webkit-details-marker { display: none; }
.aix-faq summary::after { content: ""; flex: none; width: 8px; height: 8px; border-right: 1.5px solid var(--aix-faint); border-bottom: 1.5px solid var(--aix-faint);
  transform: rotate(45deg) translate(-2px, -2px); transition: transform .2s ease; }
.aix-faq details[open] summary::after { transform: rotate(225deg) translate(-2px, -2px); }
.aix-faq p { margin: -4px 0 20px !important; font-size: 15.5px; line-height: 1.65; color: var(--aix-body); max-width: 700px; }

/* Dark band: one secondary offer at the end of an offer page */
.aix-band { padding: 32px 22px; background: var(--uj-ink); color: #fff; display: grid; gap: 22px; align-items: center; }
.aix-band h2 { color: #fff; }
.aix-band p { color: #D1D5DB; font-size: 16px; line-height: 1.55; margin-top: 12px !important; max-width: 620px; }
.aix-band .aix-actions { margin-top: 0; }
.uj-v3 .aix-band .uj-btn--ghost { background: transparent; color: #fff; border-color: #4B5563; }
.uj-v3 .aix-band .uj-btn--ghost:hover { background: #1F2937; color: #fff; border-color: #6B7280; }
.aix-band :focus-visible { outline-color: #fff; }
.aix-band--light { background: var(--uj-paper); color: var(--uj-ink); border: 1px solid var(--uj-line); }
.aix-band--light h2 { color: var(--uj-ink); }
.aix-band--light p { color: var(--aix-muted); }
.uj-v3 .aix-band--light .uj-btn--ghost { background: #fff; color: var(--uj-ink); border-color: var(--uj-line); }
.uj-v3 .aix-band--light .uj-btn--ghost:hover { background: var(--uj-accent-soft); color: var(--uj-ink); border-color: var(--aix-focus); }
.aix-band--light :focus-visible { outline-color: var(--uj-ink); }

/* Two-column reading block: heading left, list right (data access files, agency reasons) */
.aix-split { display: grid; gap: 20px 48px; }
.aix-uses { display: grid; border-top: 1px solid var(--uj-line); }
.aix-uses > div { padding: 20px 0; border-bottom: 1px solid var(--uj-line); }
.aix-uses h3 { font-size: 16px; }
.aix-uses p { margin-top: 6px !important; font-size: 15px; line-height: 1.55; color: var(--aix-muted); }

/* ---------------------------------------------------------------- report pages (sample snapshot, white label) */
.aix-toolbar { position: sticky; top: var(--aix-hdr, 64px); z-index: 40; background: rgba(255,255,255,.94); backdrop-filter: saturate(1.4) blur(8px);
  -webkit-backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--uj-line); }
.aix-toolbar .aix-wrap { display: flex; align-items: center; gap: 12px; min-height: 56px; }
.aix-toolbar nav { flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; display: flex; gap: 2px;
  -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
.aix-toolbar nav::-webkit-scrollbar { display: none; }
.aix-toolbar nav a { flex: none; padding: 8px 10px; font-size: 13px; color: var(--aix-muted) !important; text-decoration: none !important; white-space: nowrap; }
.aix-toolbar nav a:hover { color: var(--uj-ink) !important; background: var(--uj-line2); }
.aix-toolbar .uj-btn { flex: none; min-height: 38px; padding: 8px 14px; font-size: 14px; }
.aix-report { background: var(--aix-desk); padding: 16px 10px; }
.aix-rpage { position: relative; background: #fff; max-width: 820px; margin: 0 auto 20px; padding: 24px 20px 18px; scroll-margin-top: calc(var(--aix-hdr, 64px) + 72px);
  box-shadow: 0 1px 2px rgba(15,23,42,.06), 0 18px 40px -20px rgba(15,23,42,.22); }
.aix-rpage:last-child { margin-bottom: 0; }
.aix-rpage__top { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding-bottom: 12px; margin-bottom: 26px;
  border-bottom: 1.5px solid var(--uj-ink); font: 400 10.5px/1.3 var(--uj-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--aix-faint); }
.aix-rpage__brand { display: inline-flex; align-items: center; gap: 8px; font: 600 13px/1 var(--uj-sans); color: var(--uj-ink); letter-spacing: -0.01em; text-transform: none; }
.aix-rpage__brand img { width: 16px; height: 16px; }
.aix-rpage__foot { display: flex; justify-content: space-between; gap: 12px; margin-top: 32px; padding-top: 10px; border-top: 1px solid var(--uj-line);
  font: 400 10.5px/1.4 var(--uj-mono); color: var(--aix-faint); letter-spacing: .02em; }
.aix-rpage h2 { font-size: 24px; line-height: 1.2; letter-spacing: -0.022em; font-weight: 600; }
.aix-rpage h2 + p { margin-top: 10px !important; }
.aix-rpage h3 { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; margin: 28px 0 10px; letter-spacing: -0.005em; }
.aix-rpage p, .aix-rpage li { font-size: 14.5px; line-height: 1.65; color: var(--aix-body); }
.aix-rpage .aix-table { font-size: 13.5px; }
.aix-rpage .aix-table th, .aix-rpage .aix-table td { padding: 9px 12px; }
.aix-rpage .aix-list li { font-size: 14.5px; }
.aix-cover { padding: 4px 0 8px; }
.aix-cover__eyebrow { font: 500 11px/1.3 var(--uj-mono); color: var(--aix-link); text-transform: uppercase; letter-spacing: .1em; }
.aix-rpage .aix-cover__h { font-size: clamp(26px, 4.4vw, 38px); line-height: 1.08; letter-spacing: -0.035em; margin: 14px 0 14px; max-width: 22ch; }
.aix-cover__stat { display: grid; gap: 14px; align-items: end; margin: 28px 0 30px; padding: 22px 0; border-top: 1px solid var(--uj-line); border-bottom: 1px solid var(--uj-line); }
.aix-rpage .aix-cover__big, .aix-cover__big { font: 500 clamp(64px, 12vw, 104px)/.9 var(--uj-mono); letter-spacing: -0.06em; color: var(--aix-focus); }
.aix-rpage .aix-cover__stat p:not(.aix-cover__big) { font-size: 15px; line-height: 1.55; }
.aix-cover__stat strong { color: var(--uj-ink); }
.aix-fix { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 4px 16px; padding: 18px 0; border-top: 1px solid var(--uj-line2); }
.aix-fix:first-of-type { border-top: 1px solid var(--uj-line); }
.aix-fix__n { grid-row: span 2; width: 30px; height: 30px; display: grid; place-items: center; background: var(--uj-ink); color: #fff; font: 500 13px/1 var(--uj-mono); }
.aix-rpage .aix-fix h3 { margin: 4px 0 2px; font-size: 15.5px; }
.aix-fix__ev { display: inline-block; margin-top: 8px !important; font: 400 12px/1.4 var(--uj-mono) !important; color: var(--aix-link) !important; }
.aix-wl-logo { display: inline-flex; align-items: center; gap: 8px; font: 700 15px/1 var(--uj-sans); letter-spacing: -0.02em; color: #1E3A8A; text-transform: none; }
.aix-wl-logo span { width: 20px; height: 20px; background: linear-gradient(135deg, #1E3A8A, #3B82F6); display: inline-block; }

/* ---------------------------------------------------------------- email preview, mocks index, embeds */
.aix-inbox { border: 1px solid var(--uj-line); overflow: hidden; background: #fff; box-shadow: 0 24px 60px -30px rgba(15,23,42,.2); }
.aix-inbox__meta { padding: 16px 20px; border-bottom: 1px solid var(--uj-line); font-size: 14px; display: grid; gap: 6px; background: #FCFCFA; }
.aix-inbox__meta div { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 10px; }
.aix-inbox__meta span { font: 400 11.5px/1.6 var(--uj-mono); color: var(--aix-faint); text-transform: uppercase; letter-spacing: .06em; }
.aix-inbox iframe { display: block; width: 100%; border: 0; height: 1200px; background: #FFFBF5; }
.aix-inbox code, .aix-dek code { font: 0.9em var(--uj-mono); background: var(--uj-line2); padding: 1px 5px; }
.aix-mocks { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--uj-line); }
.aix-mocks a { display: grid; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--uj-line); color: var(--uj-ink) !important; text-decoration: none !important; transition: background .12s; }
.aix-mocks a:hover strong { color: var(--aix-link); }
.aix-mocks strong { font-size: 16px; font-weight: 600; transition: color .12s; }
.aix-mocks code { font: 12px var(--uj-mono); color: var(--aix-link); }
.aix-mocks span { font-size: 14px; color: var(--aix-muted); line-height: 1.5; }
.aix-mocks__date { font: 400 12px var(--uj-mono) !important; color: var(--aix-faint) !important; }
.aix-mocks--notes a { padding: 22px 0; gap: 6px; }
.aix-mocks--notes strong { font-size: 19px; letter-spacing: -0.015em; line-height: 1.3; }
.aix-devnote { margin-top: 20px !important; padding: 12px 14px; border: 1px dashed #FCD34D; background: #FFFBEB; font-size: 14px; color: #78350F; }
.aix-embed-page { margin: 0; padding: 16px 18px 14px; color: var(--uj-ink); background: #fff; font-family: var(--uj-sans); }
/* Title and footer stay in view at any iframe height; only the bars scroll. */
.aix-embed-page { box-sizing: border-box; height: 100vh; display: flex; flex-direction: column; }
.aix-embed-page > * { flex: none; }
.aix-embed-page > .aix-embed__mock { align-self: flex-start; }
.aix-embed-page > .aix-embed__chart { flex: 1 1 auto; min-height: 0; overflow: auto; }
.aix-embed-page .aix-embed__mock { display: inline-block; margin-bottom: 10px; padding: 3px 7px; font: 500 10.5px/1.2 var(--uj-mono); letter-spacing: .06em;
  text-transform: uppercase; color: #78350F; background: #FEF3C7; }
.aix-embed__title { font-size: 16px; line-height: 1.3; font-weight: 600; letter-spacing: -0.01em; }
.aix-embed__sub { margin: 4px 0 12px; font: 400 11.5px/1.45 var(--uj-mono); color: var(--aix-muted); }
.aix-embed__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--uj-line2);
  font-size: 12px; color: var(--aix-muted); }
.aix-embed__foot a { color: var(--aix-link); text-decoration: underline; text-underline-offset: 2px; }
.aix-embed__foot { align-items: center; gap: 8px 16px; }
.aix-embed__foot p { flex: 1 1 240px; }

/* "Powered by Ujeebu" lockup under every chart (v3/powered-by element): emblem + wordmark, one link.
   Scoped .uj-v3 a.* so the underlined link styles of the chart footers never reach it. */
.uj-v3 a.uj-powered { display: inline-flex; align-items: center; gap: 7px; flex: none; color: #6B7280; font: 400 12.5px/1 var(--uj-sans);
  text-decoration: none; white-space: nowrap; }
.uj-v3 .uj-powered__mark { width: 16px; height: 17px; flex: none; color: var(--uj-ink); }
.uj-v3 .uj-powered strong { font-weight: 600; color: var(--uj-ink); transition: color .15s; }
.uj-v3 a.uj-powered:hover strong, .uj-v3 a.uj-powered:focus-visible strong { color: #C2410C; }
.uj-v3 a.uj-powered:focus-visible { outline: 2px solid var(--uj-ink); outline-offset: 3px; }

/* ---------------------------------------------------------------- breakpoints */
@media (min-width: 640px) {
  .aix-wrap { padding: 0 28px; }
  .aix-head { padding-top: 44px; }
  .aix-sec { padding: 72px 0; }
  .aix-sec--paper + .aix-sec { padding-top: 72px !important; }
  .aix-sec--tight { padding-top: 36px; }
  .aix-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aix-stat { padding: 22px 24px; }
  .aix-stat:first-child { padding-left: 0; }
  .aix-stat + .aix-stat { border-top: 0; border-left: 1px solid var(--uj-line); }
  .aix-panel { padding: 22px 24px 18px; }
  .aix-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
  .aix-verticals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aix-form__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aix-cta { padding: 44px 40px; }
  .aix-cta--page { padding: 32px 32px 28px; }
  .aix-band { padding: 44px 40px; }
  .aix-report { padding: 36px 24px; }
  .aix-rpage { padding: 44px 56px 24px; }
  .aix-cover__stat { grid-template-columns: auto minmax(0, 1fr); gap: 28px; }
  .aix-mv { grid-template-columns: minmax(0, 1fr) minmax(160px, 34%) 84px; grid-template-areas: "who plot delta" "detail detail detail"; }
  .aix-score__row { grid-template-columns: minmax(200px, 290px) minmax(0, 1fr) 120px; grid-template-areas: "eng plot val" ". meta meta"; }
  .aix-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .aix-trend { padding: 24px 24px 16px; }
  .aix-trend__svg--narrow { display: none !important; }
  .aix-trend__svg--wide { display: block !important; }
  .aix-secprev { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
  .aix-uses { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
}
@media (min-width: 900px) {
  .aix-hero { grid-template-columns: minmax(0, 1.08fr) minmax(380px, 0.92fr); gap: 56px; padding-top: 64px; padding-bottom: 64px; }
  .aix-sec { padding: 88px 0; }
  .aix-sec--paper + .aix-sec { padding-top: 88px !important; }
  .aix-engines { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aix-bars--wide .aix-bar { grid-template-columns: 22px minmax(170px, 290px) minmax(0, 1fr) minmax(64px, auto); grid-template-areas: "rank name track val"; column-gap: 16px; padding: 6px 0; }
  .aix-pillars { grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 0; column-gap: 0; }
  .aix-pillar { border-bottom: 0; border-left: 1px solid var(--uj-line); padding: 4px 28px 4px; }
  .aix-pillar:first-child { border-left: 0; padding-left: 0; }
  .aix-verticals { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .aix-ladder { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .aix-feature { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; }
  .aix-offer { grid-template-columns: minmax(0, 1.35fr) minmax(340px, 1fr); gap: 72px; padding-top: 64px; padding-bottom: 80px; }
  .aix-brandhead { grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr); gap: 56px; }
  .aix-figure { border-top: 0; border-left: 1px solid var(--uj-line); padding: 6px 0 4px 32px; }
  .aix-cta { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px; padding: 56px 52px; align-items: start; }
  .aix-cta--page { grid-template-columns: 1fr; }
  .aix-band { grid-template-columns: minmax(0, 1fr) auto; padding: 48px 52px; gap: 40px; }
  .aix-split { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
  .aix-cta .aix-form__row { grid-template-columns: 1fr 1fr; }
  .aix-cta .aix-form__row .aix-field:last-child { grid-column: 1 / -1; }
  .aix-cta--page .aix-form__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aix-cta--page .aix-form__row .aix-field:last-child { grid-column: auto; }
}
@media (min-width: 900px) {
  .aix-wrap--narrow .aix-cta { grid-template-columns: 1fr; gap: 28px; padding: 44px 40px; }
  .aix-wrap--narrow .aix-cta .aix-form__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aix-wrap--narrow .aix-cta .aix-form__row .aix-field:last-child { grid-column: auto; }
}
@media (min-width: 1100px) {
  .aix-cta .aix-form__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aix-cta .aix-form__row .aix-field:last-child { grid-column: auto; }
  .aix-cta { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); }
  .aix-wrap--narrow .aix-cta { grid-template-columns: 1fr; }
}
/* Hub explainer (STATUS-O): definition rows, key in mono on the left */
.aix-def { margin: 0; border-top: 1px solid var(--uj-line); }
.aix-def > div { display: grid; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--uj-line); }
.aix-def dt { font: 500 12px/1.4 var(--uj-mono); color: var(--aix-link); }
.aix-def dd { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--aix-body); max-width: 640px; }
.aix-def dd a { color: var(--aix-link); text-decoration: underline; text-underline-offset: 2px; }
/* FAQ questions are h3 for the outline; they read like the summary text */
.uj-v3 .aix-faq__q { margin: 0; font: inherit; letter-spacing: inherit; color: inherit; }
/* Guides: ruled rows, title then one line */
.aix-reads { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--uj-line); }
.aix-reads li { border-bottom: 1px solid var(--uj-line); }
.uj-v3 .aix-reads a { display: grid; gap: 6px; padding: 18px 0; text-decoration: none; color: var(--uj-ink); }
.aix-reads strong { font-size: 17px; font-weight: 600; letter-spacing: -0.01em; transition: color .15s; }
.aix-reads span { font-size: 14.5px; line-height: 1.55; color: var(--aix-muted); max-width: 720px; }
.uj-v3 .aix-reads a:hover strong, .uj-v3 .aix-reads a:focus-visible strong { color: var(--aix-link); }
@media (min-width: 900px) {
  .aix-def > div { grid-template-columns: 180px minmax(0, 1fr); gap: 24px; }
  .aix-reads { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; border-top: 0; }
  .aix-reads li:nth-child(-n+2) { border-top: 1px solid var(--uj-line); }
}
@media (prefers-reduced-motion: reduce) {
  .aix *, .aix *::before, .aix *::after { transition: none !important; }
}
