/* s9 — Claim Desk (lane C, claims portal). Graphite, white and electric indigo on a cool gray canvas.
   Manrope for type, JetBrains Mono for codes, numerals and status labels. Panels with hairline borders
   and 14-18px radii, tiny uppercase mono labels, segmented controls, progress. No photography, no icon
   cards, no centered dark band: the page reads as a claims product, not a brochure. */
:root {
  --s9-graphite: #161a26; --s9-graphite-2: #1f2433; --s9-canvas: #f3f4f9; --s9-line: #e2e5ef; --s9-line-2: #ccd2e4;
  --s9-ink: #141726; --s9-muted: #545c73; --s9-indigo: #4338ca; --s9-indigo-2: #6f75f0; --s9-tint: #eef0fe;
  --rx-bg: #ffffff; --rx-surface: #f3f4f9; --rx-surface-2: #e4e7f3; --rx-ink: #141726; --rx-muted: #545c73; --rx-line: #e2e5ef;
  --rx-brand: #161a26; --rx-brand-ink: #ffffff; --rx-accent: #4338ca; --rx-accent-ink: #ffffff; --rx-link: #3730a3; --rx-ok: #15803d;
  --rx-radius: 10px; --rx-radius-lg: 16px; --rx-shadow: 0 6px 20px rgba(24,28,48,.07); --rx-shadow-lg: 0 26px 70px rgba(16,20,38,.30);
  --rx-font-display: 'Manrope', system-ui, sans-serif; --rx-font-body: 'Manrope', system-ui, sans-serif;
  --rx-font-mono: 'JetBrains Mono', ui-monospace, Consolas, monospace;
  --rx-max: 1240px; --rx-header-h: 68px; --sr-ident-bg: #e6e9f5; --sr-ident-ink: #141726;
  --rx-footer-bg: #101320; --rx-footer-ink: #b6bed4; --rx-header-bg: #161a26; --rx-header-ink: #eef0f7;
}
body.rx { background: var(--s9-canvas); font-size: 17px; letter-spacing: -.004em; }
h1, h2, h3 { font-weight: 800; letter-spacing: -.025em; }
h1 { font-size: clamp(2.25rem, 3.7vw, 3.3rem); line-height: 1.06; }
h2 { font-size: clamp(1.32rem, 1.7vw, 1.62rem); } h3 { font-size: 1.04rem; }
.rx-kicker, .s9-lab { font-family: var(--rx-font-mono); font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--s9-muted); margin: 0 0 9px; }
.rx-mono, .rx-facts__src { font-family: var(--rx-font-mono); }
.rx-more { color: var(--s9-indigo); } .rx-prose a:not(.rx-btn), .fy-faq__a a { color: var(--s9-indigo); }

/* ---------- buttons ---------- */
.rx-btn { border-radius: 10px; font-weight: 700; letter-spacing: -.01em; }
.rx-btn--solid { box-shadow: 0 2px 0 rgba(20,23,38,.16); } .rx-btn--solid:hover { background: #372dab; }
.rx-btn--line { color: var(--s9-ink); border-color: var(--s9-line-2); background: #fff; } .rx-btn--line:hover { border-color: var(--s9-indigo); color: var(--s9-indigo); }
.rx-btn--ghost { color: var(--s9-muted); }

/* ---------- identification strip ---------- */
.sr-ident { border-bottom: 1px solid #d5daec; } .sr-ident__col svg { color: var(--s9-indigo); }
.sr-ident__btn { color: var(--s9-indigo); }

/* ---------- header: graphite app bar + mono status line ---------- */
.rx-header--app { box-shadow: 0 1px 0 rgba(255,255,255,.08); }
.rx-appbar { background: var(--s9-graphite); } .rx-appbar .rx-wrap { min-height: 68px; }
.rx-logo { color: #fff; } .rx-logo__mark { width: 38px; height: 38px; color: var(--s9-indigo-2); }
.rx-logo__word { font-size: 1.1rem; font-weight: 800; letter-spacing: -.02em; } .rx-logo__word span { color: #b9bdf6; }
.rx-appbar .rx-phone { font-size: .95rem; color: #dfe3f2; } .rx-appbar .rx-phone svg { color: var(--s9-indigo-2); }
.rx-header--app .rx-header__actions { gap: 12px; }
.rx-header--app .rx-btn--solid { padding: 10px 18px; font-size: .94rem; background: var(--s9-indigo); }
.rx-status { background: var(--s9-graphite-2); color: #aab2cc; font-family: var(--rx-font-mono); font-size: .73rem; letter-spacing: .04em; text-transform: uppercase; border-top: 1px solid rgba(255,255,255,.07); }
.rx-status .rx-wrap { min-height: 34px; } .rx-status__dot { background: #34d399; box-shadow: 0 0 0 3px rgba(52,211,153,.18); }
.rx-status__sep { color: #4b5470; } .rx-status__links a { color: #c3cadf; } .rx-status__links { gap: 16px; }
@media (min-width: 1280px) {
  .rx-appbar .fy-nav__item > a { color: #c2c9de; font-size: .93rem; font-weight: 600; padding: 10px 13px; border-radius: 8px; }
  .rx-appbar .fy-nav__item > a:hover { color: #fff; background: rgba(255,255,255,.08); }
  .rx-appbar .fy-nav__item > a[aria-current] { color: #fff; box-shadow: inset 0 -2px 0 var(--s9-indigo-2); border-radius: 8px 8px 0 0; }
  .rx-appbar .fy-nav__toggle { color: #8d96b2; }
  .fy-nav__sub { border-radius: 12px; border-color: var(--s9-line); box-shadow: 0 20px 48px rgba(16,20,38,.20); padding: 7px; }
  .fy-nav__sub a { border-radius: 7px; } .fy-nav__sub a:hover { background: var(--s9-tint); color: var(--s9-indigo); }
}
@media (max-width: 1279px) {
  .rx-header--app .rx-burger { color: #fff; }
  .rx-header--app .fy-nav { background: var(--s9-graphite); color: #fff; }
  .rx-header--app .fy-nav__item { border-bottom-color: rgba(255,255,255,.10); }
  .rx-header--app .fy-nav__item > a, .rx-header--app .fy-nav__toggle { color: #eef0f7; }
  .rx-header--app .fy-nav__sub a { color: #b9c1d8; }
  .rx-header--app .rx-nav__secondary a { color: #b9c1d8; border-bottom-color: rgba(255,255,255,.10); }
  .rx-header--app .rx-nav__extra .rx-btn--line { color: #fff; background: transparent; border-color: rgba(255,255,255,.35); }
}

/* ---------- section + panel system ---------- */
.s9-sec { padding: clamp(22px, 2.6vw, 34px) 0; } .s9-sec:first-of-type { padding-top: 0; }
.s9-bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 20px; align-items: start; }
.s9-panel { grid-column: span 12; background: #fff; border: 1px solid var(--s9-line); border-radius: 18px; padding: clamp(20px, 2.1vw, 28px); box-shadow: var(--rx-shadow); }
.s9-panel--4 { grid-column: span 4; } .s9-panel--5 { grid-column: span 5; } .s9-panel--6 { grid-column: span 6; }
.s9-panel--7 { grid-column: span 7; } .s9-panel--8 { grid-column: span 8; }
.s9-head { margin-bottom: 18px; max-width: 70ch; } .s9-head h2 { margin: 0; } .s9-head__sub { color: var(--s9-muted); font-size: .98rem; margin: 7px 0 0; max-width: 62ch; }
.s9-head--panel { margin-bottom: 16px; } .s9-head--dark h2 { color: #fff; } .s9-head--dark .s9-lab { color: #9aa3c2; } .s9-head--dark .s9-head__sub { color: #b9c1d8; }

/* ---------- 1. hero: the tool ---------- */
.s9-desk { background: linear-gradient(180deg, #eceefa 0, var(--s9-canvas) 320px); padding: clamp(26px, 3.4vw, 46px) 0 clamp(20px, 2.4vw, 30px); border-bottom: 1px solid var(--s9-line); }
.s9-desk__grid { display: grid; grid-template-columns: minmax(0, 1fr) 442px; grid-template-areas: "copy panel" "meta panel"; column-gap: clamp(26px, 3.4vw, 52px); align-content: start; }
.s9-desk__copy { grid-area: copy; } .s9-desk__panel { grid-area: panel; } .s9-desk__meta { grid-area: meta; align-self: end; padding-top: 26px; }
.s9-chip { display: inline-block; font-family: var(--rx-font-mono); font-size: .71rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--s9-indigo); background: #fff; border: 1px solid #d3d7f7; border-radius: 999px; padding: 6px 13px; margin: 0 0 18px; }
.s9-desk h1 { margin: 0 0 16px; max-width: 16ch; }
.s9-desk__sub { font-size: 1.07rem; line-height: 1.55; color: #3a4159; max-width: 54ch; margin: 0; }
.s9-reads { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 22px; }
.s9-reads li { border-top: 2px solid var(--s9-ink); padding: 11px 0 0; display: grid; align-content: start; gap: 5px; }
.s9-read__k { font-family: var(--rx-font-mono); font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--s9-muted); }
.s9-read__v { font-size: .98rem; font-weight: 700; line-height: 1.3; letter-spacing: -.015em; }
.s9-read__v--num { font-family: var(--rx-font-mono); font-size: 1.5rem; line-height: 1; color: var(--s9-indigo); }
.s9-desk__act { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin-top: 22px; }
.s9-desk__act .rx-btn { padding: 11px 18px; }
.s9-desk__jump { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; font-size: .95rem; color: var(--s9-indigo); border-bottom: 1px solid rgba(67,56,202,.32); }
.s9-desk__jump:hover { border-bottom-color: var(--s9-indigo); }

/* ---------- form card + wizard step indicator ---------- */
.rx-formcard { border-radius: 18px; border-color: var(--s9-line); padding: 26px; }
.s9-desk__panel .rx-formcard { box-shadow: 0 20px 54px rgba(20,25,52,.14); border-top: 3px solid var(--s9-indigo); }
.rx-formcard__h { font-size: 1.24rem; margin-bottom: 5px; } .rx-formcard__sub { font-size: .98rem; margin-bottom: 18px; }
.rx-wizard__dots { counter-reset: s9w; gap: 10px; margin-bottom: 20px; }
.rx-wizard__dots .fy-wizard__dot { height: auto; background: none; border-radius: 0; display: grid; gap: 6px; }
.rx-wizard__dots .fy-wizard__dot::before { counter-increment: s9w; content: "0" counter(s9w); font-family: var(--rx-font-mono); font-size: .69rem; font-weight: 600; letter-spacing: .1em; color: #8d96b2; }
.rx-wizard__dots .fy-wizard__dot::after { content: ""; display: block; height: 4px; border-radius: 2px; background: var(--s9-line); }
.rx-wizard__dots .fy-wizard__dot.is-done::before { color: var(--s9-indigo); } .rx-wizard__dots .fy-wizard__dot.is-done::after { background: #a5a8f0; }
.rx-wizard__dots .fy-wizard__dot.is-active::before { color: var(--s9-indigo); } .rx-wizard__dots .fy-wizard__dot.is-active::after { background: var(--s9-indigo); }
.rx-wizard__q { font-size: 1rem; letter-spacing: -.015em; }
.rx-tiles { gap: 9px; } .rx-tile { border-radius: 12px; border-color: var(--s9-line); font-size: .88rem; padding: 14px 10px; }
.rx-tile svg { color: var(--s9-muted); } .rx-tile:has(input:checked) svg, .rx-tile.is-selected svg { color: var(--s9-indigo); }
.rx-tile:hover { border-color: var(--s9-line-2); background: #fbfbff; }
.rx-field label { font-size: .8rem; letter-spacing: .01em; } .rx-field input, .rx-field select, .rx-field textarea { border-radius: 10px; border-color: var(--s9-line-2); }
.rx-form__fine { font-size: .98rem; } .rx-consent { font-size: .82rem; }
.rx-wizard__nav { align-items: center; }

/* ---------- 2. the five stage pipeline ---------- */
.s9-pipe-sec { padding-top: clamp(28px, 3.2vw, 44px); }
.s9-pipe { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 18px; }
.s9-stage { position: relative; padding: 26px 0 0; }
.s9-stage::before { content: ""; position: absolute; top: 7px; left: 0; right: -18px; height: 2px; background: var(--s9-line-2); }
.s9-stage:last-child::before { right: 0; }
.s9-stage::after { content: ""; position: absolute; top: 2px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 2px solid var(--s9-line-2); }
.s9-stage.is-live::after { background: var(--s9-indigo); border-color: var(--s9-indigo); box-shadow: 0 0 0 4px rgba(67,56,202,.16); }
.s9-stage__n { font-family: var(--rx-font-mono); font-size: .8rem; font-weight: 600; letter-spacing: .1em; color: #8d96b2; display: block; margin-bottom: 8px; }
.s9-stage.is-live .s9-stage__n { color: var(--s9-indigo); }
.s9-stage h3 { margin: 0 0 6px; font-size: 1.01rem; } .s9-stage p { margin: 0; color: var(--s9-muted); font-size: .98rem; }

/* ---------- 3. bento panels ---------- */
.s9-panel h2 { font-size: 1.24rem; }
.rx-tablist { gap: 7px; margin-bottom: 14px; } .rx-tab { border-radius: 999px; border-color: var(--s9-line); font-size: .8rem; padding: 8px 14px; color: var(--s9-muted); }
.rx-tab:hover { border-color: var(--s9-line-2); color: var(--s9-ink); }
.rx-tab[aria-selected=true] { background: var(--s9-ink); border-color: var(--s9-ink); color: #fff; }
.rx-tabpanel { background: var(--s9-canvas); border: 1px solid var(--s9-line); border-radius: 14px; padding: 18px 20px; }
.rx-tabpanel h3 { margin-bottom: 4px; } .rx-tabpanel .rx-muted { font-family: var(--rx-font-mono); font-size: .71rem; letter-spacing: .1em; text-transform: uppercase; color: var(--s9-indigo) !important; margin-bottom: 8px; }
.s9-ladder { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.s9-tier { width: var(--w); display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 13px 15px; border: 1px solid var(--s9-line); border-left: 3px solid var(--s9-line-2); border-radius: 12px; background: var(--s9-canvas); }
.s9-tier__n { font-family: var(--rx-font-mono); font-size: .78rem; font-weight: 600; color: #8d96b2; padding-top: 2px; }
.s9-tier h3 { margin: 0 0 3px; font-size: .98rem; } .s9-tier p { margin: 0; color: var(--s9-muted); font-size: .98rem; }
.s9-tier.is-you { background: var(--s9-tint); border-color: #c9ccf8; border-left-color: var(--s9-indigo); }
.s9-tier.is-you .s9-tier__n { color: var(--s9-indigo); }
.s9-check .rx-check__count { font-family: var(--rx-font-mono); font-size: .74rem; letter-spacing: .06em; text-transform: uppercase; color: var(--s9-muted); }
.s9-check .rx-check__count span { color: var(--s9-indigo); font-weight: 700; }
.rx-check__meter { height: 6px; border-radius: 3px; background: var(--s9-line); margin-bottom: 14px; } .rx-check__meter i { background: var(--s9-indigo); }
.rx-check { gap: 7px; } .rx-check label { border-radius: 11px; border-color: var(--s9-line); font-size: .95rem; padding: 11px 13px; }
.rx-check label:has(input:checked) { background: var(--s9-tint); border-color: #c9ccf8; }
.rx-worklist { gap: 2px 26px; } .rx-worklist li { padding: 9px 0; border-bottom: 1px solid var(--s9-line); }
.rx-worklist svg { color: var(--s9-indigo); } .rx-worklist b { font-size: .97rem; } .rx-worklist span { font-size: .94rem; }

/* ---------- 4. services as a module table ---------- */
.s9-mods { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--s9-line); }
.s9-mods a { display: grid; grid-template-columns: 58px minmax(150px, 250px) minmax(0, 1fr) 34px; gap: 8px 20px; align-items: center; padding: 15px 14px 15px 10px; border-bottom: 1px solid var(--s9-line); border-radius: 12px; }
.s9-mods a:hover { background: var(--s9-tint); } .s9-mods a:hover .s9-mod__c { color: var(--s9-indigo); }
.s9-mod__c { font-family: var(--rx-font-mono); font-size: .76rem; font-weight: 600; letter-spacing: .06em; color: #8d96b2; }
.s9-mod__t { font-size: 1.02rem; font-weight: 700; letter-spacing: -.015em; line-height: 1.25; }
.s9-mod__d { color: var(--s9-muted); font-size: .95rem; line-height: 1.45; }
.s9-mod__go { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--s9-canvas); color: var(--s9-muted); }
.s9-mods a:hover .s9-mod__go, .s9-tasks a:hover .s9-mod__go, .s9-tasks button:hover .s9-mod__go { background: var(--s9-indigo); color: #fff; }

/* ---------- 5. actions + reading index ---------- */
.s9-tasks { list-style: none; margin: 0; padding: 0; }
.s9-tasks a, .s9-tasks button { width: 100%; display: grid; grid-template-columns: 30px minmax(0, 1fr) 30px; gap: 12px; align-items: start; text-align: left; padding: 13px 8px; border-bottom: 1px solid var(--s9-line); border-radius: 10px; }
.s9-tasks .s9-task__n { padding-top: 3px; } .s9-tasks .s9-mod__go { align-self: center; }
.s9-tasks li:last-child a, .s9-tasks li:last-child button { border-bottom: 0; }
.s9-tasks a:hover, .s9-tasks button:hover { background: var(--s9-tint); }
.s9-task__n { font-family: var(--rx-font-mono); font-size: .76rem; font-weight: 600; color: #8d96b2; }
.s9-task__t b { display: block; font-size: .99rem; letter-spacing: -.01em; } .s9-task__t span { display: block; color: var(--s9-muted); font-size: .93rem; font-weight: 400; }
.s9-tasks .s9-mod__go { width: 30px; height: 30px; }
.s9-learn { border-top: 1px solid var(--s9-line); } .s9-learn li { border-bottom-color: var(--s9-line); }
.s9-learn a { padding: 13px 8px; border-radius: 10px; } .s9-learn a:hover { background: var(--s9-tint); }
.s9-learn b { color: var(--s9-ink); font-size: 1rem; } .s9-learn a:hover b { color: var(--s9-indigo); } .s9-learn svg { color: var(--s9-muted); }

/* ---------- 6. the offer: stat tiles + segmented comparison ---------- */
.s9-proms { list-style: none; margin: 0 0 20px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.s9-proms li { background: #fff; border: 1px solid var(--s9-line); border-radius: 16px; padding: 20px; box-shadow: var(--rx-shadow); }
.s9-prom__n { font-family: var(--rx-font-mono); font-size: .74rem; font-weight: 600; letter-spacing: .08em; color: var(--s9-indigo); display: block; margin-bottom: 12px; }
.s9-proms h3 { margin: 0 0 7px; font-size: 1.03rem; line-height: 1.25; } .s9-proms p { margin: 0; color: var(--s9-muted); font-size: .98rem; }
.s9-cmp .rx-table { border: 0; border-radius: 0; margin: 0; }
.s9-cmp table { border-collapse: separate; border-spacing: 0; font-size: 1rem; }
.s9-cmp .rx-compare thead th { background: var(--s9-canvas); color: var(--s9-muted); font-family: var(--rx-font-mono); font-size: .71rem; letter-spacing: .08em; border: 1px solid var(--s9-line); border-width: 1px 1px 1px 0; padding: 11px 14px; }
.s9-cmp .rx-compare thead th:first-of-type { background: var(--s9-ink); color: #fff; border-color: var(--s9-ink); border-radius: 10px 0 0 10px; border-left-width: 1px; }
.s9-cmp .rx-compare thead th:last-child { border-radius: 0 10px 10px 0; }
.s9-cmp tbody th { width: 26%; font-weight: 700; font-size: .98rem; color: var(--s9-ink); }
.s9-cmp tbody td, .s9-cmp tbody th { border-bottom: 1px solid var(--s9-line); padding: 13px 14px; }
.s9-cmp .rx-compare__a { background: var(--s9-tint); font-weight: 600; color: #2b2670; }

/* ---------- 7. state rules command bar ---------- */
.s9-cmd { background: var(--s9-graphite); border-radius: 20px; padding: clamp(26px, 3vw, 40px) clamp(22px, 2.6vw, 38px); color: #eef0f7; }
.s9-cmd .s9-head { margin-bottom: 20px; }
.s9-cmd__bar .rx-lookup { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) auto; gap: 14px; }
.s9-cmd__bar label { font-family: var(--rx-font-mono); font-size: .69rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #9aa3c2; margin-bottom: 8px; }
.s9-cmd__bar select { background: #0e1220; color: #eef0f7; border: 1.5px solid #333c57; border-radius: 11px; padding: 15px 13px; font-size: 1rem; }
.s9-cmd__bar select:focus { border-color: var(--s9-indigo-2); box-shadow: 0 0 0 3px rgba(111,117,240,.28); outline: none; }
.s9-cmd__bar option { background: #fff; color: var(--s9-ink); }
.s9-cmd__bar .rx-btn--solid { background: var(--s9-indigo); box-shadow: none; padding: 15px 24px; }
.s9-cmd__bar .rx-btn--solid:hover { background: #5b52e0; }
.s9-cmd__link { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; margin: 20px 0 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); }
.s9-cmd__link a { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #fff; border-bottom: 1px solid rgba(255,255,255,.35); }
.s9-cmd__link a:hover { border-bottom-color: #fff; } .s9-cmd__link span { color: #a8b0c9; font-size: .93rem; }

/* ---------- 8. reading panel + glossary ---------- */
.s9-read .rx-prose { max-width: 66ch; } .s9-read .rx-prose h2 { font-size: 1.3rem; margin-top: 1.9em; }
.s9-read .rx-prose > p:first-child { font-size: 1.08rem; color: #333a52; }
.rx-callout { border-radius: 14px; background: var(--s9-graphite); border-left: 4px solid var(--s9-indigo-2); }
.rx-callout .rx-btn { background: #fff; color: var(--s9-indigo); border-radius: 9px; }
.rx-prose blockquote { border-left-color: var(--s9-indigo); background: var(--s9-canvas); border-radius: 0 10px 10px 0; }
.s9-gloss { position: sticky; top: 124px; align-self: start; }   /* the terms follow the long read down */
.s9-gloss .rx-glossary { grid-template-columns: minmax(0, 1fr); gap: 0; }
.s9-gloss .rx-glossary > div { padding: 13px 0; border-top: 1px solid var(--s9-line); }
.s9-gloss dt { font-family: var(--rx-font-mono); font-size: .76rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--s9-indigo); margin-bottom: 5px; }
.s9-gloss dd { font-size: .98rem; }

/* ---------- 9. questions + who we are ---------- */
.s9-qs { border-top: 1px solid var(--s9-line); }
.s9-q { border-bottom: 1px solid var(--s9-line); }
.s9-q > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 4px; cursor: pointer; list-style: none; }
.s9-q > summary::-webkit-details-marker { display: none; }
.s9-q > summary:hover h3, .s9-q[open] > summary h3 { color: var(--s9-indigo); }
.s9-q > summary h3 { margin: 0; font-size: 1rem; font-weight: 700; letter-spacing: -.01em; }
.s9-q > summary svg { flex: none; color: var(--s9-indigo); transition: transform .2s; }
.s9-q[open] > summary svg { transform: rotate(45deg); }
.s9-q > p { margin: 0; padding: 0 30px 16px 4px; color: var(--s9-muted); font-size: .98rem; }
.s9-q > summary:focus-visible { outline-offset: -2px; }
@media (prefers-reduced-motion: reduce) { .s9-q > summary svg { transition: none; } }
.s9-id__row { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-top: 1px solid var(--s9-line); }
.s9-id__row:first-child { border-top: 0; padding-top: 0; }
.s9-id__n { font-family: var(--rx-font-mono); font-size: .76rem; font-weight: 600; color: var(--s9-indigo); padding-top: 3px; }
.s9-id h3 { margin: 0 0 4px; font-size: .99rem; } .s9-id p { margin: 0; color: var(--s9-muted); font-size: .98rem; }

/* ---------- closing panel (not a full-bleed band) ---------- */
.rx-cta { background: none; text-align: left; padding-bottom: clamp(34px, 4vw, 62px); }
.rx-cta .rx-wrap { width: min(100% - 40px, var(--rx-max)); background: var(--s9-indigo); color: #fff; border-radius: 22px; padding: clamp(30px, 3.6vw, 50px) clamp(24px, 3vw, 46px);
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); column-gap: clamp(28px, 3.4vw, 56px); align-items: center; }
.rx-cta h2 { grid-area: 1 / 1; margin: 0 0 12px; max-width: 22ch; font-size: clamp(1.5rem, 2.3vw, 2.05rem); }
.rx-cta p:not(.rx-cta__fine) { grid-area: 2 / 1; margin: 0; max-width: 56ch; color: #dcdcfb; font-size: 1.01rem; }
.rx-cta .rx-actions { grid-area: 1 / 2 / 4 / 3; flex-direction: column; align-items: stretch; justify-content: center; margin: 0; }
.rx-cta .rx-actions .rx-btn { width: 100%; }
.rx-cta p.rx-cta__fine { grid-area: 3 / 1 / 4 / 3; margin-top: 26px !important; }
.rx-cta .rx-btn--solid { background: #fff; color: var(--s9-indigo); box-shadow: none; } .rx-cta .rx-btn--solid:hover { background: #ecedff; }
.rx-cta .rx-btn--line { color: #fff; border-color: rgba(255,255,255,.45); background: none; } .rx-cta .rx-btn--line:hover { border-color: #fff; color: #fff; }
.rx-cta__fine { font-size: .98rem; color: #c7c7f5; margin: 22px 0 0 !important; max-width: 78ch; opacity: 1; }

/* ---------- interior: workspace frame ---------- */
.rx-pagehead { background: var(--s9-graphite); color: #eef0f7; }
.rx-pagehead .rx-kicker { color: #9aa3c2; } .rx-pagehead h1 { color: #fff; font-size: clamp(1.9rem, 3vw, 2.6rem); }
.rx-pagehead__sub { color: #c3cadf; } .rx-crumbs { color: #a8b0c9; } .rx-pagehead .rx-crumbs a:hover { color: #fff; }
.rx-pagehead .rx-crumbs { margin-bottom: 16px; font-family: var(--rx-font-mono); font-size: .76rem; }
.rx-pagehead__meta { color: #9aa3c2; font-family: var(--rx-font-mono); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.rx-pagehead .rx-btn--line { background: none; color: #fff; border-color: rgba(255,255,255,.4); }
.rx-pagehead__media img { height: clamp(160px, 22vw, 280px); }
.rx-sec--body { padding: clamp(26px, 3vw, 44px) 0 clamp(30px, 4vw, 54px); }
.rx-work__main { background: #fff; border: 1px solid var(--s9-line); border-radius: 18px; padding: clamp(22px, 2.4vw, 34px); box-shadow: var(--rx-shadow); }
.rx-work__main:only-child { grid-column: 1 / -1; }          /* contact and legal pages carry no action panel */
.rx-work__main .rx-formcard, .rx-work__main .rx-contactbox { background: var(--s9-canvas); box-shadow: none; }
.rx-work__panel { top: 128px; }
.rx-ministeps { border-radius: 16px; border-color: var(--s9-line); background: #fff; }
.rx-ministeps li::before { background: var(--s9-indigo); font-family: var(--rx-font-mono); }
.rx-refs { border-radius: 16px; background: #fff; border-color: var(--s9-line); }
.rx-cards { gap: 16px; } .rx-card { border-radius: 16px; border-color: var(--s9-line); box-shadow: var(--rx-shadow); } .rx-card p { font-size: .98rem; }
.rx-card__icon { color: var(--s9-indigo); } .rx-card h3 a:hover { color: var(--s9-indigo); }
.rx-linklist a:hover b { color: var(--s9-indigo); } .rx-chips li { border-radius: 8px; background: #fff; font-size: .98rem; }
.rx-ministeps li { font-size: .98rem; } .rx-byline { font-size: .98rem; } .rx-refs__note { font-size: .98rem; }
.rx-table { border-radius: 14px; border-color: var(--s9-line); background: #fff; } .rx-table table { font-size: .99rem; }
.rx-table thead th { background: var(--s9-graphite); color: #fff; font-family: var(--rx-font-mono); font-size: .71rem; letter-spacing: .07em; }
.rx-facts tbody th { color: var(--s9-ink); font-size: .95rem; } .rx-facts__text { font-size: 1rem; }
.rx-facts__src { font-size: .98rem; line-height: 1.45; color: var(--s9-muted); } .rx-facts summary { color: var(--s9-indigo); font-size: .95rem; }
.rx-facts q { border-left: 2px solid var(--s9-line-2); padding-left: 12px; }
.rx-notice { border-radius: 14px; border-left-color: var(--s9-indigo); background: #fff; } .rx-notice > svg { color: var(--s9-indigo); }
.rx-notice--warn { border-left-color: #b45309; } .rx-notice--warn > svg { color: #b45309; }
.rx-stategrid { border-top: 1px solid var(--s9-line); padding-top: 6px; }
.rx-stategrid a { border-radius: 8px; border-bottom-color: var(--s9-line); } .rx-stategrid a:hover { background: var(--s9-tint); color: var(--s9-indigo); }
.rx-stategrid small { font-family: var(--rx-font-mono); font-size: .68rem; letter-spacing: .04em; text-transform: uppercase; }
.rx-statejump select { border-radius: 10px; border-color: var(--s9-line-2); } .rx-statejump .rx-kicker { margin-bottom: 7px; }
.rx-identity { border-radius: 18px; border-color: var(--s9-line); background: #fff; } .rx-identity svg { color: var(--s9-indigo); }
.rx-contactbox, .rx-creds > div { background: #fff; border: 1px solid var(--s9-line); border-radius: 16px; padding: 22px; }
.rx-contact__phone { font-family: var(--rx-font-mono); font-weight: 700; letter-spacing: -.03em; }
.rx-related a { border-radius: 999px; border-color: var(--s9-line); background: #fff; } .rx-related a:hover { border-color: var(--s9-indigo); color: var(--s9-indigo); }
.rx-byline { border-top-color: var(--s9-line); } .rx-verified { color: var(--rx-ok); }
.rx-guidesteps .rx-steps--rail > li { border-left-color: var(--s9-line); } .rx-steps > li::before { font-family: var(--rx-font-mono); color: var(--s9-indigo); }
.rx-steps--rail > li::before { border-color: var(--s9-indigo); background: #fff; }
.rx-pagefaq .fy-faq__item, .rx-faqgroup .fy-faq__item { border-color: var(--s9-line); border-radius: 12px; }
.fy-faq__q svg { color: var(--s9-indigo); } .fy-toc a.is-active, .fy-toc a:hover { border-left-color: var(--s9-indigo); }

/* ---------- pop-in (wizard) + sticky dock + footer ---------- */
.fy-popin__panel { border-radius: 20px; } .fy-popin[data-popin="wizard"] .fy-popin__panel { border-top: 4px solid var(--s9-indigo); padding: 26px 28px 30px; }
.fy-popin__head h3 { font-size: 1.3rem; letter-spacing: -.02em; } .fy-popin__close { border-radius: 11px; background: var(--s9-canvas); }
.fy-popin__phone a { color: var(--s9-indigo); }
.fy-sticky { background: var(--s9-line); border-top: 1px solid var(--s9-line-2); }
.fy-sticky__btn { font-size: .76rem; letter-spacing: .02em; } .fy-sticky__btn--primary { background: var(--s9-indigo); }
.rx-footer { background: var(--rx-footer-bg); } .rx-footer__h { font-family: var(--rx-font-mono); font-size: .71rem; letter-spacing: .1em; color: #8d96b2; opacity: 1; }
.rx-footer a:hover { color: #fff; } .rx-footer .rx-logo__mark { color: var(--s9-indigo-2); }
.sr-footer-ident { background: rgba(111,117,240,.12); border-bottom-color: rgba(255,255,255,.10); } .sr-footer-ident svg { color: var(--s9-indigo-2); }

/* ---------- responsive ---------- */
@media (min-width: 1280px) and (max-width: 1439px) {     /* the app bar puts logo, nav and actions on ONE row here */
  .rx-appbar .fy-nav__item > a { padding: 10px 8px; font-size: .89rem; }
  .rx-appbar .rx-phone { font-size: .88rem; } .rx-logo__word { font-size: 1.02rem; } .rx-logo__mark { width: 34px; height: 34px; }
  .rx-header--app .rx-btn--solid { padding: 10px 14px; font-size: .9rem; } .rx-header--app .rx-header__actions { gap: 9px; }
}
@media (max-width: 1180px) {
  .s9-desk__grid { grid-template-columns: minmax(0, 1fr) 396px; }
  .s9-panel--4, .s9-panel--5, .s9-panel--7, .s9-panel--8 { grid-column: span 12; }
  .s9-gloss { position: static; }
  .s9-gloss .rx-glossary { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 0 32px; }
  .s9-proms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
  .s9-desk__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "panel" "meta"; }
  .s9-desk__panel { margin-top: 26px; } .s9-desk__meta { padding-top: 24px; align-self: start; }
  .s9-desk h1 { max-width: 20ch; }
  .s9-pipe { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .s9-stage { padding: 0 0 22px 34px; }
  .s9-stage::before { top: 6px; bottom: -6px; left: 5px; right: auto; width: 2px; height: auto; }
  .s9-stage:last-child::before { display: none; } .s9-stage::after { top: 3px; }
  .s9-panel--6 { grid-column: span 12; }
}
@media (max-width: 860px) {   /* the comparison stops being a table and becomes one card per question */
  .s9-cmd__bar .rx-lookup { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .s9-cmd__bar .rx-btn--solid { width: 100%; }
  .rx-cta .rx-wrap { grid-template-columns: minmax(0, 1fr); row-gap: 22px; }
  .rx-cta h2, .rx-cta p, .rx-cta p:not(.rx-cta__fine), .rx-cta .rx-actions, .rx-cta p.rx-cta__fine { grid-area: auto; }
  .rx-cta .rx-actions { flex-direction: row; flex-wrap: wrap; } .rx-cta .rx-actions .rx-btn { width: auto; flex: 1 1 200px; }
  .s9-cmp .rx-table { overflow: visible; } .s9-cmp table { min-width: 0; border-spacing: 0; }
  .s9-cmp thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .s9-cmp table, .s9-cmp tbody, .s9-cmp tr, .s9-cmp th, .s9-cmp td { display: block; width: auto !important; }
  .s9-cmp tbody tr { border: 1px solid var(--s9-line); border-radius: 14px; margin-bottom: 12px; overflow: hidden; }
  .s9-cmp tbody th { background: var(--s9-canvas); border-bottom: 1px solid var(--s9-line); padding: 12px 16px; }
  .s9-cmp tbody td { border-bottom: 1px solid var(--s9-line); padding: 12px 16px; }
  .s9-cmp tbody tr td:last-child { border-bottom: 0; }
  .s9-cmp tbody td::before { display: block; font-family: var(--rx-font-mono); font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--s9-muted); margin-bottom: 5px; }
  .s9-cmp .rx-compare__a::before { content: "With our specialists"; color: var(--s9-indigo); }
  .s9-cmp .rx-compare__b::before { content: "Going it alone"; }
}
@media (max-width: 767px) {
  .rx-status .rx-wrap { flex-wrap: wrap; gap: 3px 10px; padding-top: 7px; padding-bottom: 7px; }
  .rx-status__sep { display: none; } .rx-status span { line-height: 1.35; }
}
@media (max-width: 720px) {
  .s9-reads { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .s9-reads li { border-top-width: 1px; padding: 10px 0; grid-template-columns: 96px minmax(0, 1fr); align-items: baseline; gap: 4px 14px; }
  .s9-reads li:first-child { border-top-width: 2px; }
  .s9-read__v--num { font-size: 1.2rem; }
  .s9-tier { width: auto; } .s9-proms { grid-template-columns: minmax(0, 1fr); }
  .s9-mods a { grid-template-columns: minmax(0, 1fr) 34px; gap: 10px; padding: 14px 10px; }
  .s9-mod__c { grid-column: 1; font-size: .72rem; margin-bottom: -4px; } .s9-mods .s9-mod__t { grid-column: 1; } .s9-mods .s9-mod__go { grid-row: 1 / 3; grid-column: 2; }
  .s9-cmd { border-radius: 16px; } .rx-cta .rx-wrap { border-radius: 16px; }
  .s9-desk { padding-top: 22px; } .s9-desk__act { gap: 12px; } .s9-desk__act .rx-btn { flex: 1 1 auto; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .rx-btn, .s9-mods a, .s9-tasks a { transition: none !important; } }
