*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --navy: #192F7C;
  --ink: #0D1F35; --blue6: #2B5F9E; --blue1: #DDE9F5; --blue05: #afbecf;
  --line: #E4EAF0; --bg2: #F2F6FA; --fg2: #3A506B; --fg3: #5A7695;
  --green: #1C6C48; --green-bg: #E6F5EE;
  --red: #842F2C; --red-bg: #F8E3E2;
  --amber: #6E4B00; --amber-bg: #FAEFD2;
  --blue-dk: #1D4B80; --blue-bg: #E8F0F9;
  --grey: #5F5E5A; --grey-bg: #F1EFE8;
}
body { font-family: -apple-system, 'Segoe UI', sans-serif; background: #F8FAFC; color: var(--ink); }
a {text-decoration: none; color: inherit; }
.skip-link {
  position: absolute; top: -100px; left: 12px; z-index: 1000;
  background: var(--ink); color: #fff; padding: 10px 18px; border-radius: 6px;
  font-size: 14px; font-weight: 600; transition: top 150ms ease;
}
.skip-link:focus { top: 12px; }
/* ---- TOP TOOLBAR ---- */
#toolbar {
  position: sticky; top: 0; z-index: 200;
  background: var(--ink); color: #fff;
  display: flex; align-items: center; gap: 16px;
  padding: 10px 24px; font-size: 13px;
  border-bottom: 3px solid var(--blue6);
}
#toolbar .title { font-weight: 700; font-size: 14px; letter-spacing: .02em; }
#toolbar .meta { color: #9BAFC4; font-size: 12px; }
#toolbar .spacer { flex: 1; }
.toggle-btn {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 6px 14px; border-radius: 999px; font-size: 12px; font-weight: 600;
  cursor: pointer; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.1);
  color: #fff; transition: all 120ms;
}
.toggle-btn:hover { background: rgba(255,255,255,.2); }
.toggle-btn.active { background: var(--blue6); border-color: var(--blue6); }
 
/* ---- LEGEND SIDEBAR ---- */
#sidebar {
  position: fixed; right: 0; top: 47px; bottom: 0; width: 300px;
  background: #fff; border-left: 1px solid var(--line);
  overflow-y: auto; z-index: 150;
  transition: transform 300ms ease;
}
#sidebar.hidden { transform: translateX(300px); }
#sidebar-inner { padding: 16px; }
.legend-title { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--fg3); margin: 16px 0 8px; }
.legend-title:first-child { margin-top: 0; }
 
.ann-item {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 9px 10px; border-radius: 8px; margin-bottom: 4px;
  cursor: pointer; transition: background 120ms; border: 1px solid transparent;
}
.ann-item:hover { background: var(--bg2); }
.ann-item.active { background: var(--blue05); border-color: var(--blue1); }
.ann-num {
  width: 22px; height: 22px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; flex-shrink: 0; margin-top: 1px;
}
.ann-text { font-size: 12px; line-height: 1.45; }
.ann-text strong { display: block; font-size: 12px; font-weight: 700; margin-bottom: 2px; }
.ann-text span { color: var(--fg3); }
 
.s-keep  { background: var(--green-bg); color: var(--green); }
.s-add   { background: var(--red-bg);   color: var(--red); }
.s-verify { background: var(--amber-bg); color: var(--amber); }
.s-rename { background: var(--blue-bg);  color: var(--blue-dk); }
.s-drop  { background: var(--grey-bg);  color: var(--grey); }
 
/* ---- STATUS PILLS ---- */
.pill { display: inline-flex; align-items: center; gap: 4px; padding: 2px 9px; border-radius: 999px; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pill.keep   { background: var(--green-bg); color: var(--green); }
.pill.add    { background: var(--red-bg);   color: var(--red); }
.pill.verify { background: var(--amber-bg); color: var(--amber); }
.pill.rename { background: var(--blue-bg);  color: var(--blue-dk); }
.pill.drop   { background: var(--grey-bg);  color: var(--grey); }
 
/* ---- MAIN CANVAS ---- */
#canvas { margin-right: 300px; transition: margin-right 300ms ease; }
#canvas.full { margin-right: 0; }
 
/* ---- PAGE SECTIONS ---- */
.page-section {
  position: relative; border-bottom: 1px solid var(--line);
}
.section-label {
  position: absolute; top: 12px; left: 12px; z-index: 10;
  background: var(--ink); color: #fff; font-size: 11px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 4px; opacity: .7;
  pointer-events: none;
}
 
/* ---- ANNOTATION PINS ---- */
.ann-pin {
  position: absolute; z-index: 50;
  width: 26px; height: 26px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,.25);
  transition: transform 150ms, box-shadow 150ms;
  border: 2px solid #fff;
}
.ann-pin:hover { transform: scale(1.15); box-shadow: 0 4px 14px rgba(0,0,0,.3); }
.ann-pin.p-keep   { background: var(--green); color: #fff; }
.ann-pin.p-add    { background: var(--red);   color: #fff; }
.ann-pin.p-verify { background: #B07800;      color: #fff; }
.ann-pin.p-rename { background: var(--blue6); color: #fff; }
.ann-pin.p-drop   { background: var(--grey);  color: #fff; }
 
/* ---- HIGHLIGHT OVERLAYS ---- */
.ann-overlay {
  position: absolute; pointer-events: none; z-index: 20;
  border-radius: 4px; opacity: 0; transition: opacity 200ms;
}
.ann-overlay.visible { opacity: 1; }
.ov-keep   { border: 2px solid var(--green); background: rgba(28,108,72,.06); }
.ov-add    { border: 2px dashed var(--red);  background: rgba(132,47,44,.06); }
.ov-verify { border: 2px dashed #B07800;     background: rgba(176,120,0,.06); }
.ov-rename { border: 2px solid var(--blue6); background: rgba(43,95,158,.06); }
.ov-drop   { border: 2px dashed var(--grey); background: rgba(95,94,90,.06); }
 
/* ---- TOOLTIP ---- */
#tooltip {
  position: fixed; z-index: 300;
  background: var(--ink); color: #fff;
  padding: 10px 14px; border-radius: 8px; font-size: 12px; line-height: 1.5;
  max-width: 260px; pointer-events: none;
  opacity: 0; transition: opacity 150ms;
  box-shadow: 0 4px 16px rgba(0,0,0,.3);
}
#tooltip.show { opacity: 1; }
#tooltip strong { display: block; font-size: 13px; margin-bottom: 4px; }
 
/* ---- SITE RENDERING ---- */
.util-bar { background: var(--ink); color: #fff; font-size: 12px; padding: 9px 24px; display: flex; justify-content: space-between; }
.util-bar a { color: #9BAFC4; }
.site-nav { background: #fff; border-bottom: 1px solid var(--line); padding: 14px 24px; display: flex; align-items: center; gap: 6px; }
.site-nav .logo { font-size: 17px; font-weight: 700; color: var(--blue6); margin-right: 16px; display: flex; align-items: center; gap: 8px; }
.nav-link { padding: 7px 12px; font-size: 13px; font-weight: 600; color: var(--fg2); border-radius: 999px; }
.nav-link.active { background: var(--blue1); color: var(--blue-dk); }
.nav-cta { margin-left: auto; background: var(--blue6); color: #fff; padding: 9px 18px; border-radius: 999px; font-size: 13px; font-weight: 600; }
 
.hero { padding: 64px 24px 52px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; max-width: 1240px; margin: 0 auto; }
.hero h1 { font-size: 52px; font-weight: 700; line-height: 1.05; font-family: Georgia,serif; margin-bottom: 20px; }
.hero h1 span { color: var(--blue6); }
.hero p { font-size: 16px; line-height: 1.6; color: var(--fg2); max-width: 500px; margin-bottom: 28px; }
.hero-btns { display: flex; gap: 10px; margin-bottom: 32px; }
.btn-primary { background: var(--blue6); color: #fff; padding: 12px 22px; border-radius: 999px; font-size: 14px; font-weight: 600; }
.btn-secondary { background: #fff; color: var(--blue-dk); padding: 11px 18px; border-radius: 999px; font-size: 14px; font-weight: 600; border: 1px solid #7EAAD8; }
.hero-stats { display: flex; gap: 32px; }
.stat-item .big { font-size: 28px; font-weight: 700; color: var(--blue-dk); font-family: Georgia,serif; line-height: 1; }
.stat-item .lbl { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); margin-top: 3px; }

.card .big { font-size: 40px; font-weight: 800; color: var(--riq-blue); letter-spacing: -.02em; font-family: var(--riq-heading); text-align: center; }

.hero-card { background: #fff; border-radius: 12px; padding: 20px 20px 8px 20px; box-shadow: 0 8px 32px rgba(13,31,53,.13); border: 1px solid var(--line); }
.hero-img-ph { width: 100%; aspect-ratio: 4/3; background: linear-gradient(135deg,var(--blue1),#B3CEEA); border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #4F81BD; margin-bottom: 14px; }
.hero-badges { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.badge-green { background: #E6F5EE; border-radius: 8px; padding: 10px 12px; }
.badge-blue  { background: var(--blue1); border-radius: 8px; padding: 10px 12px; }
.badge-label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 3px; }
.badge-val { font-size: 13px; font-weight: 700; display: flex; align-items: center; gap: 6px; }
.dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; }
.justify-text { text-align: justify; text-justify: inter-word; }
 
.why-section { background: var(--bg2); padding: 64px 24px; }
.why-section .inner { max-width: 1240px; margin: 0 auto; }
.section-hd { margin-bottom: 40px; }
.eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: var(--sl-blue-500); margin-bottom: 10px; }
.section-hd h2 { font-size: 38px; font-weight: 700; font-family: Georgia,serif; line-height: 1.1; margin-bottom: 10px; }
.section-hd p { font-size: 16px; color: var(--fg3); max-width: 640px; }
.section-pp p { font-size: 16px; color: var(--fg3); }
.why-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.why-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 20px; }
.why-card .icon { font-size: 20px; margin-bottom: 8px; }
.why-card h3 { font-size: 15px; font-weight: 700; margin-bottom: 5px; }
.why-card p { font-size: 12px; color: var(--fg3); line-height: 1.5; }
 
.platform-section { padding: 64px 24px; }
.platform-section-blue { background: var(--blue-bg); }
.platform-section-white { background: #fff; }
.platform-section .inner { max-width: 1240px; margin: 0 auto; }
.platform-frame { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: 0 4px 16px rgba(13,31,53,.10); margin-top: 40px; }
.chrome-bar { background: #fff; border-bottom: 1px solid var(--line); padding: 10px 14px; display: flex; align-items: center; gap: 6px; }
.chrome-dot { width: 10px; height: 10px; border-radius: 50%; }
.chrome-url { flex: 1; text-align: center; font-size: 11px; color: var(--fg3); }
.dash-body { background: var(--bg2); overflow-x: auto; }
.dash-side { background: #fff; border-right: 1px solid var(--line); padding: 14px; }
.dash-nav-item { padding: 7px 9px; border-radius: 7px; font-size: 12px; font-weight: 500; color: var(--fg2); margin-bottom: 2px; display: flex; align-items: center; justify-content: space-between; }
.dash-nav-item.active { background: var(--blue1); color: var(--blue-dk); font-weight: 700; }
.dash-main { padding: 16px; }
.kpi-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-bottom: 12px; }
.kpi { background: #fff; border: 1px solid var(--line); border-radius: 7px; padding: 10px 12px; }
.kpi .kl { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--fg3); }
.kpi .kv { font-size: 20px; font-weight: 700; font-family: Georgia,serif; margin-top: 3px; }
.case-table { background: #fff; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; font-size: 12px; }
.case-hdr { display: grid; grid-template-columns: 1.3fr 1fr 1fr auto; padding: 8px 12px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--fg3); border-bottom: 1px solid var(--line); }
.case-row-item { display: grid; grid-template-columns: 1.3fr 1fr 1fr auto; padding: 9px 12px; border-bottom: 1px solid var(--line); align-items: center; }
.case-row-item:last-child { border-bottom: none; }
.claim-id { font-family: monospace; font-size: 10px; color: var(--fg3); }
.claim-name { font-weight: 600; font-size: 13px; }
.s-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; font-size: 10px; font-weight: 700; }

.platform-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.platform-card {
  background: #e6fdff;
  display: flex; flex-direction: column;
  border: 1px solid var(--sl-line);
  border-radius: var(--radius-lg); padding: 18px;
  text-decoration: none; color: inherit;
  box-shadow: var(--shadow-xs); transition: box-shadow 200ms, transform 200ms;
}
.platform-card-icon {
  width: 56px; height: 56px; 
  border-radius: 50%;
  background: var(--sl-blue-600); display: flex; align-items: center;
  justify-content: center; margin-bottom: 18px; color: #fff;
}
.platform-title {
    padding: 20px 0px 0px 20px;
    color: var(--sl-blue-700);
    font-weight: 700;
}
.platform-subtitle {
    font-size: 14px;
    font-style: italic;
    color: var(--sl-blue-400);
    font-weight: 700;
}
.platform-pill {
    background: #fff;
    width: fit-content;
    padding: 0px 8px 2px 8px;
    border-radius: 21px;
    margin-bottom: 10px;
    border: 1px solid var(--sl-line);
    color: var(--sl-blue-600);
    font-variant: all-small-caps;
    font-weight: 600;  
}

/* ---- CLIENT CONNECT PREVIEW (cc-*) ---- */
.cc-app { background: #fff; color: var(--ink); font-size: 12px; }
.cc-topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 16px; background: linear-gradient(174deg, #192F7C 3.17%, #14245E 99.58%); color: #fff; }
.cc-topbar-group { display: flex; align-items: center; gap: 12px; }
.cc-topbar-brand { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.cc-topbar-brand-mark { width: 18px; height: 18px; border-radius: 5px; background: var(--blue6); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; }
.cc-topbar-divider { width: 1px; height: 16px; background: rgba(255,255,255,.2); }
.cc-topbar-product { font-size: 13px; }
.cc-topbar-actions { display: flex; align-items: center; gap: 8px; }
.cc-topbar-btn { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.25); color: #fff; padding: 6px 12px; border-radius: 999px; font-size: 11px; cursor: pointer; }
.cc-topbar-btn:hover { background: rgba(255,255,255,.2); }
.cc-avatar { width: 26px; height: 26px; border-radius: 50%; background: rgba(255,255,255,.12); display: flex; align-items: center; justify-content: center; font-size: 12px; }

.cc-tabs { display: flex; gap: 4px; background: #fff; border-bottom: 1px solid var(--line); padding: 0 16px; }
.cc-tab { padding: 10px 14px; font-size: 12px; font-weight: 800; color: var(--fg3); border-bottom: 2px solid transparent; cursor: pointer; }
.cc-tab.active { color: var(--blue-dk); border-bottom-color: var(--blue6); }

.cc-filters { background: var(--bg2); padding: 14px 16px; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; }
.cc-filter-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; }
.cc-field-label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--fg3); margin-bottom: 4px; }
.cc-input-wrap { position: relative; }
.cc-input { width: 100%; font: inherit; font-size: 11px; padding: 7px 24px 7px 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--ink); }
.cc-input-help { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border-radius: 50%; background: var(--blue1); color: var(--blue-dk); font-size: 9px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.cc-select { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 11px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--ink); }
.cc-select.cc-placeholder { color: var(--fg3); }
.cc-caret { font-size: 10px; color: var(--fg3); }
.cc-filter-row { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.cc-filter-row-cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; flex: 1; }
.cc-field-referral { min-width: 180px; }
.cc-filter-actions { display: flex; gap: 8px; }
.cc-filter-exports { display: flex; gap: 8px; margin-left: auto; }
.cc-btn { padding: 8px 16px; border-radius: 999px; font-size: 11px; font-weight: 700; cursor: pointer; border: 1px solid transparent; }
.cc-btn-primary { background: var(--blue6); color: #fff; }
.cc-btn-outline { background: #fff; color: var(--fg2); border-color: var(--line); }

.cc-row-grid { display: grid; grid-template-columns: 24px 1.3fr .9fr 1fr 1fr 1.1fr .8fr .9fr 1.2fr 20px 1.1fr .8fr .6fr 1.4fr .8fr .7fr; gap: 6px; align-items: center; }
.cc-table-hdr { background: linear-gradient(174deg, #192F7C 3.17%, #14245E 99.58%); padding: 8px 16px; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; color: #beb9b9; border-bottom: 1px solid var(--line); }
.cc-table-row { padding: 10px 16px; font-size: 11px; border-bottom: 1px solid var(--line); color: var(--fg2); }
.cc-table-row.expanded { background: var(--blue05); }
.cc-table-hdr > div, .cc-table-row > div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-row-caret { color: var(--fg3); font-size: 12px; cursor: pointer; }
.cc-row-link { color: var(--blue6); font-weight: 600; }
.cc-row-flag { width: 16px; height: 16px; border-radius: 50%; background: var(--red-bg); color: var(--red); font-size: 10px; font-weight: 700; display: flex; align-items: center; justify-content: center; }

.cc-subtable-wrap { padding: 0 16px 14px 44px; background: var(--blue05); border-bottom: 1px solid var(--line); }
.cc-subtable-label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--fg3); padding: 8px 0 6px; }
.cc-subtable { background: #fff; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.cc-sub-grid { display: grid; grid-template-columns: repeat(9, 1fr); gap: 6px; padding: 7px 10px; font-size: 10px; }
.cc-subtable-hdr { text-transform: uppercase; letter-spacing: .04em; color: #beb9b9; font-size: 9px; border-bottom: 1px solid var(--line); background: linear-gradient(174deg, #192F7C 3.17%, #14245E 99.58%); }
.cc-subtable-row { color: var(--fg2); border-bottom: 1px solid var(--line); }
.cc-subtable-row:last-child { border-bottom: none; }
.cc-sub-grid > div { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.cc-topbar-logo { width: 100px; }
.testimonial-section { background: var(--blue-bg); padding: 56px 24px; text-align: center; }
.testimonial-section blockquote { font-family: Georgia,serif; font-size: 18px; font-weight: 600; line-height: 1.3; max-width: 800px; margin: 0 auto 20px; }
.test-attr { display: inline-flex; align-items: center; gap: 10px; }
.test-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--blue6); display: flex; align-items: center; justify-content: center; color: #fff; font-weight: 700; font-size: 13px; letter-spacing: .02em; flex-shrink: 0; }
.test-name { font-weight: 700; font-size: 14px; }
.test-role { font-size: 12px; color: var(--fg3); }
 
.cta-section { background: var(--blue6); color: #fff; padding: 56px 24px; }
.cta-inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 1.3fr 1fr; gap: 48px; align-items: center; }
.cta-inner h2 { font-family: Georgia,serif; font-size: 42px; font-weight: 700; line-height: 1.05; margin-bottom: 12px; }
.cta-inner p { font-size: 16px; line-height: 1.6; color: var(--sl-blue-100); }
.cta-card { background: #fff; color: var(--ink); border-radius: 14px; padding: 22px; }
.cta-card .row { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); }
.cta-card .row:first-child { border-top: none; }
.cta-icon { width: 32px; height: 32px; background: var(--blue1); border-radius: 7px; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--blue6); flex-shrink: 0; }
.cta-lbl { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--fg3); }
.cta-val { font-size: 13px; font-weight: 600; }
.cta-btn { margin-top: 14px; width: 100%; background: var(--ink); color: #fff; border: none; padding: 12px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; }
.cta-btn.blue { background: var(--blue6); }
.cta-btn.plump { padding: 12px; }
.cta-eyebrow { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--sl-blue-100); margin-bottom: 10px; }
.cta-card-title { font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 50px; }
.cta-card-subtext { font-size: 13px; font-weight: 400; color: var(--fg3); margin-bottom: 14px; }
.cta-card-note { margin-top: 12px; font-size: 13px; color: var(--fg-3); text-align: center; }

.site-footer { background: var(--ink); color: #9BAFC4; padding: 48px 24px 24px; }
.footer-inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
.footer-col-title { color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 12px; }
.footer-link { display: block; font-size: 13px; color: #9BAFC4; margin-bottom: 8px; }
.footer-bottom { max-width: 1240px; margin: 40px auto 0; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); display: flex; justify-content: space-between; font-size: 12px; color: var(--sl-blue-300); }

/* ---- DESIGN TOKEN EXTENSIONS (for brochure pages) ---- */
:root {
  --sl-blue-050: #F0F5FB; --sl-blue-100: #DDE9F5; --sl-blue-200: #B3CEEA;
  --sl-blue-300: #7EAAD8; --sl-blue-400: #4F81BD; --sl-blue-500: #3B74B8;
  --sl-blue-600: #2B5F9E; --sl-blue-700: #1D4B80; --sl-blue-800: #133564;
  --sl-ink: #0D1F35; --sl-line: #E4EAF0; --sl-surface: #F8FAFC;
  --sl-surface-3: #F2F6FA; --sl-ink-4: #6B84A0; --sl-danger: #842F2C;
  --fg-1: #0D1F35; --fg-2: #3A506B; --fg-3: #5A7695; --fg-4: #8FA5BF;
  --bg-2: #F2F6FA;
  --font-display: Georgia, 'Times New Roman', serif;
  --font-body: -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'Courier New', Courier, monospace;
  --radius-pill: 999px; --radius-xl: 18px; --radius-lg: 12px; --radius-md: 8px;
  --shadow-xs: 0 1px 3px rgba(13,31,53,.06); --shadow-sm: 0 2px 8px rgba(13,31,53,.08);
  --shadow-md: 0 4px 16px rgba(13,31,53,.12); --shadow-lg: 0 8px 32px rgba(13,31,53,.14);
  --ease-out: cubic-bezier(.25,.46,.45,.94);
}
html { scroll-behavior: smooth; }
.sl-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sl-blue-500); }
.sl-display { font-family: var(--font-display); font-weight: 700; line-height: 1.05; }

/* ---- BROCHURE PAGE NAV (sticky + frosted) ---- */
.brochure-nav {
  position: sticky; top: 0; z-index: 40;
  background: rgba(255,255,255,.96); backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--sl-line);
}
.brochure-nav .inner { max-width: 1240px; margin: 0 auto; padding: 16px 24px; display: flex; align-items: center; gap: 32px; }
.brochure-nav .logo-img { width: 185px; }
.brochure-nav .nav-links { display: flex; gap: 2px; }
.brochure-nav .nav-links a { padding: 8px 14px; font-size: 14px; font-weight: 600; color: var(--fg-2); border-radius: var(--radius-pill); text-decoration: none; transition: all 120ms var(--ease-out); }
.brochure-nav .nav-links a:hover, .brochure-nav .nav-links a.active { background: var(--sl-blue-100); color: var(--sl-blue-700); }
.brochure-nav .spacer { flex: 1; }
.brochure-nav .nav-cta-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--sl-blue-600); color: #fff; padding: 10px 20px; border-radius: var(--radius-pill); font-size: 14px; font-weight: 600; text-decoration: none; }
.brochure-nav .nav-cta-btn.sml { padding: 6px 12px;}
/* ---- BROCHURE SECTION HELPERS ---- */
.section-inner { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.section-pad { padding: 80px 0; }
.process-grid { display: grid; gap: 16px; }
.process-step { min-width: 0; padding: 22px; border-top: 3px solid var(--sl-blue-600); background: var(--bg-2); border-radius: 0 0 var(--radius-lg) var(--radius-lg); }
.process-step .step-num { font-family: var(--font-display); font-size: 28px; font-weight: 700; color: var(--sl-blue-700); margin-bottom: 10px; }
.process-step .step-title { font-size: 15px; font-weight: 700; color: var(--fg-1); margin-bottom: 6px; }
.process-step .step-body { font-size: 13px; color: var(--fg-3); line-height: 1.55; }
.card-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 48px; }
.card-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 48px; }
.info-card { border: 1px solid var(--sl-line); border-radius: var(--radius-lg); padding: 22px; background: linear-gradient(180deg, #F8FAFC, #F0F5FB); }
.info-card .card-title { font-size: 15px; font-weight: 700; color: var(--sl-blue-800); margin-bottom: 8px; }
.info-card .card-body { font-size: 13px; line-height: 1.5; color: var(--fg-3); }
.check-list { padding: 0; margin: 0; list-style: none; display: grid; gap: 14px; }
.check-list li { display: flex; gap: 14px; }
.check-list .check { width: 22px; height: 22px; border-radius: 50%; background: var(--sl-blue-600); color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; font-size: 13px; font-weight: 700; }
.check-list .check-text-title { font-size: 15px; font-weight: 700; color: var(--fg-1); }
.check-list .check-text-body { font-size: 14px; color: var(--fg-3); line-height: 1.5; }

/* ---- BROCHURE FORMS ---- */
.brochure-form { background: #fff; border-radius: var(--radius-xl); padding: 40px; border: 1px solid var(--sl-line); }
.form-group { margin-bottom: 28px; }
fieldset.form-group { border: 0; padding: 0; min-width: 0; }
.form-group-title { font-size: 12px; font-weight: 700; color: var(--sl-blue-800); letter-spacing: .12em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid var(--sl-line); margin-bottom: 16px; }
legend.form-group-title { width: 100%; }
.form-row { display: flex; gap: 16px; margin-bottom: 14px; }
.form-field { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.form-field label { font-size: 12px; font-weight: 700; color: var(--fg-2); letter-spacing: .04em; }
.form-field input, .form-field select, .form-field textarea { font: inherit; font-size: 14px; color: var(--fg-1); padding: 11px 14px; border: 1px solid var(--sl-line); border-radius: var(--radius-md); background: #fff; outline: none; transition: border-color 120ms; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--sl-blue-600); box-shadow: 0 0 0 3px var(--sl-blue-100); }
.form-field textarea { resize: vertical; }
.form-submit-row { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--sl-line); display: flex; justify-content: flex-end; }
.form-submit-btn { background: var(--sl-blue-600); color: #fff; border: 0; padding: 14px 32px; border-radius: var(--radius-pill); font-size: 15px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.form-status { font-size: 14px; font-weight: 500; margin-top: 12px; text-align: right; }
.form-status--success { color: var(--color-success, #1a7f37); }
.form-status--error { color: var(--color-error, #d1242f); }

/* ---- UTIL BAR ELEMENTS ---- */
.util-tagline { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #9BAFC4; font-weight: 600; }
.util-contacts { display: flex; gap: 20px; align-items: center; font-size: 14px; }
.util-contacts a { color: #9BAFC4; }
.util-contacts .util-phone { color: #fff; font-weight: 600; }

/* ---- NAV LOGO LINK ---- */
.brochure-nav .logo-link { display: flex; align-items: center; gap: 10px; font-size: 17px; font-weight: 700; color: var(--ink); text-decoration: none; }

/* ---- MOBILE HAMBURGER ---- */
.nav-hamburger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 36px; height: 36px; background: none; border: none; cursor: pointer; padding: 6px;
  border-radius: var(--radius-md); flex-shrink: 0;
}
.nav-hamburger span { display: block; width: 20px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform 200ms, opacity 200ms; }
.nav-hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
/* Mobile-only CTA links — hidden on desktop, shown in hamburger dropdown */
.nav-mobile-divider { display: none; border: none; border-top: 1px solid var(--sl-line); margin: 8px 0 8px; }
.nav-mobile-cta { display: none; }

/* ---- FOOTER BRAND / TAGLINE ---- */
.footer-brand { font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 12px; }
.footer-tagline { font-size: 13px; color: #7EAAD8; line-height: 1.6; max-width: 280px; }
.footer-social { margin-top: 14px; display: flex; gap: 10px; }
.footer-social-link { width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,.1); display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: #fff; }

/* ---- PRIVACY PAGE ---- */
.policy-section { margin-bottom: 48px; }
.policy-section h2 { font-size: 22px; font-weight: 700; color: var(--ink); margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.policy-section h3 { font-size: 16px; font-weight: 700; color: var(--ink); margin: 24px 0 10px; }
.policy-section p { font-size: 15px; line-height: 1.75; color: var(--fg2); margin-bottom: 14px; }
.policy-section ul { padding-left: 20px; margin-bottom: 14px; }
.policy-section ul li { font-size: 15px; line-height: 1.75; color: var(--fg2); margin-bottom: 6px; }
.policy-section strong { color: var(--ink); font-weight: 600; }
.policy-callout { background: var(--blue05); border: 1px solid var(--blue1); border-radius: 10px; padding: 18px 22px; margin: 24px 0; }
.policy-callout p { margin: 0; font-size: 14px; color: var(--fg2); }
.legal-header { background: linear-gradient(180deg, #F8FAFC, #F0F5FB); border-bottom: 1px solid var(--line); padding: 56px 24px 48px; }
.legal-header-inner { max-width: 800px; margin: 0 auto; }
.legal-badge { display: inline-flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--blue1); border-radius: 999px; padding: 6px 14px; margin-bottom: 20px; }
.legal-badge-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--blue6); display: inline-block; }
.legal-badge-label { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sl-blue-700); }
.legal-header h1 { font-size: 44px; font-weight: 700; line-height: 1.1; color: var(--ink); margin-bottom: 12px; }
.legal-header-date { font-size: 15px; color: var(--fg3); }
.legal-main { max-width: 800px; margin: 0 auto; padding: 56px 24px 0; }

/* ---- PAGE HERO ---- */
.page-hero { background: linear-gradient(180deg, #F8FAFC, #F0F5FB); border-bottom: 1px solid var(--sl-line); }
.page-hero-inner { max-width: 1240px; margin: 0 auto; padding: 72px 24px 64px; display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 56px; align-items: center; }
.hero-badge { display: inline-flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--sl-blue-300); border-radius: var(--radius-pill); padding: 6px 14px; margin-bottom: 22px; }
.hero-badge-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--sl-blue-600); display: inline-block; }
.hero-badge-label { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sl-blue-800); }
.page-hero h1 { font-family: var(--font-display); font-size: 62px; font-weight: 700; line-height: 1.02; margin-bottom: 24px; color: var(--fg-1); }
.page-hero h1.hero-h1-xl { font-size: 66px; }
.page-hero h1 span { color: var(--sl-blue-600); }
.hero-body { font-size: 18px; line-height: 1.6; color: var(--fg-2); max-width: 560px; margin-bottom: 32px; }
.hero-cta-group { display: flex; gap: 12px; flex-wrap: wrap; }
.btn-hero-primary { background: var(--sl-blue-600); color: #fff; padding: 14px 26px; border-radius: var(--radius-pill); font-size: 16px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; }
.btn-hero-secondary { background: #fff; color: var(--sl-blue-700); padding: 13px 22px; border-radius: var(--radius-pill); font-size: 16px; font-weight: 600; border: 1px solid var(--sl-blue-300); text-decoration: none; }
.page-hero-stats { margin-top: 40px; display: flex; gap: 44px; }
.hero-stat-value { font-family: var(--font-display); font-size: 24px; font-weight: 700; color: var(--sl-blue-800); line-height: 1; }
.hero-stat-value-lg { font-size: 34px; }
.hero-stat-value-sm { font-size: 18px; }
.hero-stat-suffix { font-size: 14px; color: var(--fg-3); margin-left: 4px; }
.hero-stat-label { font-size: 12px; color: var(--fg-3); letter-spacing: .06em; text-transform: uppercase; margin-top: 4px; font-weight: 400; }

/* ---- HERO PREVIEW CARD (right panel) ---- */
.hero-card-wrap { position: relative; }
.hero-preview-card { background: #fff; border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); border: 1px solid var(--sl-line); padding: 22px; }
.hero-chip { position: absolute; background: var(--sl-ink); color: #fff; border-radius: var(--radius-lg); padding: 14px 18px; box-shadow: var(--shadow-md); max-width: 240px; }
.hero-chip-br { bottom: -70px; right: -20px; }
.hero-chip-bl { bottom: -95px; right: -20px; }
.hero-chip-eyebrow { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #7EAAD8; font-weight: 700; margin-bottom: 4px; }
.hero-chip-text { font-size: 15px; line-height: 1.45; }

/* ---- SECTION SHELL VARIANTS ---- */
.section-white { background: #fff; padding: 80px 0; }
.section-alt { background: var(--bg-2); padding: 80px 0; border-top: 1px solid var(--sl-line); border-bottom: 1px solid var(--sl-line); }
.section-blue-tint { background: var(--sl-blue-050); padding: 80px 0; }
.sl-eyebrow { margin-bottom: 14px; }

/* ---- PROCESS GRID COLUMN VARIANTS ---- */
.process-grid { margin-top: 48px; }
.process-grid-5 { grid-template-columns: repeat(5, 1fr); }
.process-grid-6 { grid-template-columns: repeat(6, 1fr); }

/* ---- CAREERS: HERO COLLAGE ---- */
.hero-collage { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; aspect-ratio: 1/1; }
.collage-card-white { grid-column: 1/2; grid-row: 1/3; background: #fff; border-radius: var(--radius-xl); border: 1px solid var(--sl-line); padding: 22px; display: flex; flex-direction: column; justify-content: space-between; }
.collage-card-blue { background: var(--sl-blue-600); border-radius: var(--radius-xl); padding: 20px; color: #fff; display: flex; flex-direction: column; justify-content: space-between; }
.collage-card-ink { background: var(--sl-ink); border-radius: var(--radius-xl); padding: 20px; color: #fff; display: flex; flex-direction: column; justify-content: space-between; }
.collage-meta { font-size: 11px; color: var(--fg-3); text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.collage-big-num { font-family: var(--font-display); font-size: 52px; font-weight: 700; color: var(--sl-blue-700); line-height: 1; }
.collage-sub { font-size: 14px; color: var(--fg-2); margin-top: 6px; font-weight: 600; }
.collage-pill-row { display: flex; gap: 6px; flex-wrap: wrap; }
.tag-blue { font-size: 11px; padding: 4px 10px; border-radius: var(--radius-pill); background: var(--sl-blue-050); color: var(--sl-blue-800); font-weight: 600; }
.collage-promise-label { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; opacity: .8; }
.collage-promise-text { font-family: var(--font-display); font-size: 18px; font-weight: 700; line-height: 1.2; }
.collage-tenure-label { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; color: #7EAAD8; }
.collage-tenure-num { font-family: var(--font-display); font-size: 40px; font-weight: 700; line-height: 1; }
.collage-tenure-suffix { font-size: 16px; color: #7EAAD8; margin-left: 4px; }
.collage-tenure-sub { font-size: 13px; color: #B3CEEA; margin-top: 4px; }

/* ---- CAREERS: CONNECT VALUES ---- */
.connect-grid { 
  display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 48px; 
}
.connect-card { background: #fff; border-radius: var(--radius-lg); border: 1px solid var(--sl-line); padding: 24px; display: flex; gap: 12px; }
.connect-letter { width: 52px; height: 52px; border-radius: var(--radius-md); background: var(--sl-blue-600); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; font-size: 24px; }
.connect-title { font-size: 16px; font-weight: 700; padding: 4px 0 4px 0; color: var(--fg-1); }
.connect-body { font-size: 13px; color: var(--fg-3); line-height: 1.55; }

/* ---- CAREERS: ROLES TABLE ---- */
.roles-table { background: #fff; border-radius: var(--radius-xl); border: 1px solid var(--sl-line); overflow: hidden; margin-top: 40px; }
.roles-cols { display: grid; grid-template-columns: 2fr 1fr 1.4fr auto; gap: 18px; }
.roles-table-hdr { padding: 10px 26px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--fg-4); font-weight: 700; border-bottom: 1px solid var(--sl-line); }
.roles-table-row { padding: 20px 26px; border-bottom: 1px solid var(--sl-line); align-items: center; }
.roles-table-row:last-child { border-bottom: none; }
.role-title { font-size: 15px; font-weight: 700; color: var(--fg-1); }
.role-location { font-size: 13px; color: var(--fg-3); }
.tag-team { font-size: 11px; padding: 4px 10px; border-radius: var(--radius-pill); background: var(--sl-blue-050); color: var(--sl-blue-800); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.btn-apply { background: var(--sl-ink); color: #fff; padding: 9px 18px; border-radius: var(--radius-pill); font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }

/* ---- CAREERS: TESTIMONIAL CARDS ---- */
.quote-card { background: #fff; border-radius: var(--radius-xl); padding: 28px; border: 1px solid var(--sl-line); display: flex; flex-direction: column; gap: 18px; }
.quote-mark { font-family: var(--font-display); font-size: 40px; color: var(--sl-blue-300); line-height: 0.5; margin-top: 8px; }
.quote-text { font-size: 16px; line-height: 1.5; color: var(--fg-1); font-weight: 500; }
.quote-attr { margin-top: auto; display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid var(--sl-line); }
.quote-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--sl-blue-600); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; flex-shrink: 0; }
.quote-name { font-size: 14px; font-weight: 700; color: var(--fg-1); }
.quote-role-label { font-size: 12px; color: var(--fg-3); }

/* ---- CAREERS: APPLY SECTION ---- */
.apply-inner { max-width: 1040px; margin: 0 auto; padding: 0 24px; }
.apply-hd { text-align: center; margin-bottom: 48px; }
.apply-hd h2 { font-family: var(--font-display); font-size: 44px; font-weight: 700; line-height: 1.05; color: var(--fg-1); margin-bottom: 14px; }
.apply-hd p { font-size: 16px; color: var(--fg-3); max-width: 560px; margin: 0 auto; line-height: 1.6; }
.form-submit-row-split { align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.form-submit-disclaimer { font-size: 13px; color: var(--fg-3); max-width: 480px; }
.placeholder-warning { margin-top: 20px; padding: 10px 16px; background: #FFF4E5; border: 1px solid #E8B86E; border-radius: var(--radius-md); font-size: 12px; color: #8A5A0A; text-align: center; }
.form-field-file input[type="file"] { padding: 10px 14px; }
.form-field-mt { margin-top: 4px; }

/* ---- DIAGNOSTICS: REFERRAL PREVIEW CARD ---- */
.ref-hd { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.ref-hd-left { display: flex; align-items: center; gap: 10px; }
.ref-icon { width: 34px; height: 34px; border-radius: 8px; background: var(--sl-blue-100); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-weight: 700; color: var(--sl-blue-700); font-size: 13px; }
.ref-number { font-size: 12px; color: var(--fg-3); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.ref-study { font-size: 14px; color: var(--fg-1); font-weight: 600; }
.ref-row { display: flex; justify-content: space-between; padding: 12px 4px; border-bottom: 1px dashed var(--sl-line); }
.ref-row:last-child { border-bottom: none; }
.ref-row-label { font-size: 12px; color: var(--fg-3); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.ref-row-value { font-size: 14px; color: var(--fg-1); font-weight: 600; }
.badge-green { background: #E6F5EE; color: #1C6C48; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: var(--radius-pill); letter-spacing: .08em; text-transform: uppercase; }

/* ---- DIAGNOSTICS / PM: FEATURE TWO-COL ---- */
.two-col-feature { display: grid; gap: 64px; align-items: center; }
.two-col-feature-asym { grid-template-columns: 0.95fr 1.05fr; }
.two-col-feature-equal { grid-template-columns: 1fr 1fr; }
.feature-hd h2 { font-family: var(--font-display); font-size: 48px; font-weight: 700; line-height: 1.05; color: var(--fg-1); margin-bottom: 20px; }
.feature-hd p { font-size: 17px; line-height: 1.6; color: var(--fg-2); margin-bottom: 24px; }

/* ---- DIAGNOSTICS: AOI TIMELINE CARD ---- */
.aoi-card { background: #fff; border-radius: var(--radius-xl); padding: 32px; border: 1px solid var(--sl-line); box-shadow: var(--shadow-sm); }
.aoi-card-hd { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 24px; }
.aoi-card-title { font-family: var(--font-display); font-size: 20px; font-weight: 700; color: var(--fg-1); margin-top: 4px; }
.aoi-illustrative { font-size: 11px; font-weight: 700; color: var(--sl-blue-700); letter-spacing: .1em; text-transform: uppercase; }
.aoi-timeline { position: relative; padding-left: 24px; }
.aoi-track { position: absolute; left: 8px; top: 10px; bottom: 10px; width: 2px; background: var(--sl-line); }
.aoi-entry { position: relative; display: flex; gap: 20px; align-items: center; padding: 12px 0; }
.aoi-dot { position: absolute; left: -22px; width: 18px; height: 18px; border-radius: 50%; background: #fff; }
.aoi-dot-blue   { border: 3px solid var(--sl-blue-600); }
.aoi-dot-green  { border: 3px solid #2E9E6A; }
.aoi-dot-amber  { border: 3px solid #D4A341; }
.aoi-dot-navy   { border: 3px solid var(--sl-blue-800); }
.aoi-day { font-family: var(--font-display); font-size: 15px; font-weight: 700; color: var(--sl-blue-800); width: 60px; }
.aoi-body { flex: 1; border-radius: var(--radius-md); padding: 10px 14px; font-size: 14px; color: var(--fg-1); font-weight: 500; }
.aoi-body-blue  { background: var(--sl-blue-050); }
.aoi-body-green { background: #E6F5EE; }
.aoi-body-amber { background: #FBF2DC; }
.aoi-body-navy  { background: var(--sl-blue-100); }

/* ---- DIAGNOSTICS: MODALITY CARD TITLE ---- */
.card-title-display { font-family: var(--font-display); font-size: 22px; color: var(--sl-blue-700); margin-bottom: 8px; }

/* ---- PM: REHABIQ PREVIEW CARD ---- */
.rehabiq-hd { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.rehabiq-hd-label { font-size: 11px; color: var(--fg-3); text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.rehabiq-hd-title { font-size: 16px; font-weight: 700; color: var(--fg-1); margin-top: 4px; }
.rehabiq-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 18px; }
.rehabiq-stat { background: var(--bg-2); border-radius: var(--radius-md); padding: 10px 12px; }
.rehabiq-stat-label { font-size: 10px; color: var(--fg-3); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.rehabiq-stat-value { font-size: 15px; font-weight: 700; color: var(--fg-1); margin-top: 2px; }
.rehabiq-progress-label { font-size: 11px; color: var(--fg-3); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; margin-bottom: 10px; }
.progress-item { margin-bottom: 10px; }
.progress-item-hd { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 4px; }
.progress-item-name { color: var(--fg-2); font-weight: 600; }
.progress-item-pct { color: var(--sl-blue-700); font-weight: 700; }
.progress-track { height: 6px; background: var(--bg-2); border-radius: 3px; overflow: hidden; }
.progress-fill { height: 100%; background: linear-gradient(90deg, var(--sl-blue-500), var(--sl-blue-700)); }
.progress-fill--72 { width: 72%; }
.progress-fill--58 { width: 58%; }
.progress-fill--88 { width: 88%; }
.rehabiq-note { font-size: 12px; color: var(--sl-blue-700); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-top: 14px; }

/* ---- PM: RECOVERY CHART CARD ---- */
.chart-card { background: #fff; border-radius: var(--radius-xl); padding: 28px; border: 1px solid var(--sl-line); box-shadow: var(--shadow-sm); }
.chart-hd { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 18px; }
.chart-title { font-family: var(--font-display); font-size: 20px; font-weight: 700; color: var(--fg-1); margin-top: 4px; }
.chart-legend { display: flex; gap: 16px; font-size: 12px; }
.chart-svg { width: 100%; height: auto; }
.chart-legend-item { display: inline-flex; align-items: center; gap: 6px; color: var(--fg-3); font-weight: 600; }
.chart-legend-line { width: 10px; height: 3px; border-radius: 2px; display: inline-block; }
.chart-legend-line-light { background: var(--sl-blue-300); }
.chart-legend-line-dark  { background: var(--sl-blue-700); }
.chart-rtw-note { margin-top: 12px; padding: 10px 14px; background: #E6F5EE; border-radius: var(--radius-md); font-size: 13px; color: #1C6C48; font-weight: 600; }

/* ---- PM: INLINE CTA LABEL ---- */
.cta-label { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: #B3CEEA; margin-bottom: 10px; }

/* ===== Generic ===== */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.field-error {
  display: block; font-size: 12px; font-weight: 600;
  color: var(--sl-danger, #842F2C); margin-top: 6px;
}
.underline:hover { text-decoration: underline; }
.color-lnk-blue { color: var(--blue6); }
.text-center {
  text-align: center !important;
}
.hide {
  display: none !important;
}
.pl-10 {
  padding-left: 10px !important;
}
.pt-10 {
  padding-top: 10px !important;
}
.btn {
    appearance: auto;
    text-rendering: auto;
    letter-spacing: normal;
    word-spacing: normal;
    line-height: normal;
    text-transform: none;
    text-indent: 0px;
    text-shadow: none;
    display: inline-block;
    text-align: center;
    padding: 8px;
}
.display-flex {
  display: flex;
}
#tin {
  max-width: 350px;
}

.material-symbols-outlined.md-18 {
  font-size: 18px;
}
.material-symbols-outlined.md-14 {
  font-size: 14px;
}
/* ===== INDEX PAGE =====

/* Scroll margin for screen-label anchors */
[data-screen-label] { scroll-margin-top: 80px; }

/* Hero slideshow */
.hero-slide {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  opacity: 0; transition: opacity 1s ease;
}
.hero-slide.active { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .hero-slide { transition: none; }
}
.hero-img-slides {
  width: 100%; aspect-ratio: 4/3;
  border-radius: 10px; margin-bottom: 14px;
  display: block; position: relative; overflow: hidden; padding: 0;
}
.carousel-pause-btn {
  position: absolute; bottom: 10px; right: 10px; z-index: 5;
  width: 30px; height: 30px; border-radius: 50%; border: none;
  background: rgba(13,31,53,.55); color: #fff; font-size: 13px;
  display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.carousel-pause-btn:hover { background: rgba(13,31,53,.75); }
.hero-stat-states { font-size: 12px; color: var(--fg3); margin-left: 3px; }
.stat-item.pt-10 .big { font-size: 24px; }

/* Section backgrounds */
#home     { background: linear-gradient(180deg, #F8FAFC, #F0F5FB); }
#products { background: #fff; padding: 80px 0; }
#clinical { background: var(--sl-ink); color: #fff; padding: 80px 0; position: relative; overflow: hidden; }
#clinical .section-inner { position: relative; }

/* Products grid and cards */
.products-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 48px; }
.product-card {
  display: flex; flex-direction: column;
  background: #fff; border: 1px solid var(--sl-line);
  border-radius: var(--radius-lg); padding: 28px;
  text-decoration: none; color: inherit;
  box-shadow: var(--shadow-xs); transition: box-shadow 200ms, transform 200ms;
}
.product-card-icon {
  width: 56px; height: 56px; border-radius: var(--radius-md);
  background: var(--sl-blue-100); display: flex; align-items: center;
  justify-content: center; margin-bottom: 18px; font-size: 26px;
}
.product-card .sl-eyebrow { margin-bottom: 10px; }
.product-card h3 {
  font-family: var(--font-display); font-size: 24px;
  font-weight: 700; margin-bottom: 10px; color: var(--fg-1);
}
.product-card-body { color: var(--fg-3); font-size: 14px; line-height: 1.6; margin-bottom: 18px; }
.product-card-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; margin-bottom: 18px; }
.product-card-link {
  font-size: 13px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; color: var(--sl-blue-600);
}

/* Clinical value section */
.clinical-bg-gradient {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at top right, rgba(79,129,189,.15), transparent 60%);
  pointer-events: none;
}
.clinical-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 72px; align-items: center; }
.clinical-eyebrow {
  font-size: 13px; letter-spacing: .14em; text-transform: uppercase;
  font-weight: 700; color: #7EAAD8; margin-bottom: 16px;
}
.clinical-h2 {
  font-family: var(--font-display); font-size: 46px;
  font-weight: 700; line-height: 1.05; margin-bottom: 18px;
}
.clinical-lead {
  font-size: 16px; line-height: 1.65; color: #B3CEEA;
  max-width: 500px; margin-bottom: 24px;
}
.clinical-cta {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; color: var(--sl-blue-700);
  padding: 12px 22px; border-radius: var(--radius-pill);
  font-size: 14px; font-weight: 600; text-decoration: none;
}
.clinical-cards-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.clinical-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-lg); padding: 22px;
}
.clinical-card-num {
  font-family: var(--font-display); font-size: 32px; font-weight: 800;
  color: #7EAAD8; line-height: 1; margin-bottom: 10px;
}
.clinical-card-title { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
.clinical-card-body { font-size: 13px; line-height: 1.55; color: #B3CEEA; }

/* Platform mock */
.section-hd-centered { text-align: center; max-width: 680px; margin: 0 auto; }
.chrome-dot-red    { background: #F47A6C; }
.chrome-dot-yellow { background: #F4C76C; }
.chrome-dot-green-ui { background: #7BC77B; }
.dash-side-title { font-size: 13px; font-weight: 700; color: #133564; margin-bottom: 14px; }
.dash-nav-count { font-size: 10px; color: var(--fg3); }
.dash-main-hdr { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.dash-main-hdr-label {
  font-size: 11px; color: var(--fg3); font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
}
.dash-main-hdr-value { font-family: Georgia, serif; font-size: 24px; font-weight: 700; }
.case-service { font-size: 12px; color: var(--fg2); }
.case-day { font-size: 12px; color: var(--fg3); }
.s-badge-green { background: #E6F5EE; color: #1C6C48; }
.s-badge-red   { background: #F8E3E2; color: #842F2C; }
.s-badge-grey  { background: #F2F6FA; color: #3A506B; }
.s-badge-amber { background: #FAEFD2; color: #6E4B00; }

/* Testimonial */
.testimonial-quote-mark { font-family: Georgia, serif; font-size: 56px; color: #4F81BD; line-height: .8; margin-bottom: 6px; }
.test-attr-wrap { margin-top: 18px; }
.test-attr-body { text-align: left; }

/* Testimonial slider */
.testimonial-slides { display: grid; grid-template-areas: 'slide'; max-width: 800px; margin: 0 auto; }
.testimonial-slide { grid-area: slide; opacity: 0; transition: opacity 600ms ease; pointer-events: none; }
.testimonial-slide.active { opacity: 1; pointer-events: auto; }
.testimonial-dots { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 24px; }
.testimonial-dot {
  width: 8px; height: 8px; border-radius: 50%;
  border: none; background: #B3CEEA; cursor: pointer; padding: 0;
  transition: background 200ms, transform 200ms;
}
.testimonial-dot.active { background: var(--blue6); transform: scale(1.35); }
.testimonial-pause-btn {
  margin-left: 10px; width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--sl-line);
  background: #fff; color: var(--ink); font-size: 10px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.testimonial-pause-btn:hover { background: var(--blue05); }

/* ===== RESPONSIVE ===== */

/* -- 1025px-1241px: tighten nav link padding so labels stay on one line -- */
@media (max-width: 1241px) and (min-width: 1025px) {
  .brochure-nav .inner { gap: 6px; padding: 16px 22px; }
  .brochure-nav .nav-links { gap: 0; }
  .brochure-nav .nav-links a { padding: 8px 8px; }
  .brochure-nav .nav-cta-btn { padding: 8px 12px; }
  .brochure-nav .nav-cta-btn, .btn-secondary { padding: 8px 8px; }

  .ref-hd, .ref-row { display: block; }
}

/* -- 1024px: collapse nav to hamburger -- */
@media (max-width: 1024px) {
  .brochure-nav .nav-links { display: none; }
  .brochure-nav .nav-links.open {
    display: flex; flex-direction: column; gap: 4px;
    position: absolute; top: 100%; left: 0; right: 0; z-index: 100;
    background: #fff; border-bottom: 1px solid var(--sl-line);
    padding: 12px 24px 20px; box-shadow: var(--shadow-md);
  }
  .brochure-nav .nav-links.open a { padding: 10px 14px; border-radius: var(--radius-md); }
  .brochure-nav .inner { position: relative; }
  .nav-hamburger { display: flex; }
  /* Hide top-bar CTA buttons — they move into the hamburger menu */
  .brochure-nav .nav-cta-btn,
  .brochure-nav .btn-secondary { display: none; }
  /* Show mobile-only CTAs in the open dropdown */
  .brochure-nav .nav-links.open .nav-mobile-divider { display: block; }
  .brochure-nav .nav-links.open .nav-mobile-cta {
    display: flex; align-items: center;
    padding: 10px 14px; border-radius: var(--radius-md);
    font-size: 14px; font-weight: 600; text-decoration: none;
  }
  .brochure-nav .nav-links.open .nav-mobile-cta--primary { background: var(--sl-blue-600); color: #fff; }
  .brochure-nav .nav-links.open .nav-mobile-cta--secondary { color: var(--sl-blue-700); border: 1px solid #7EAAD8; }

  #tin {
    max-width: none;
  }
}

/* -- 960px: tablet layout reflow -- */
@media (max-width: 960px) {
  .hero { grid-template-columns: 1fr; gap: 32px; padding: 48px 24px 40px; }
  .hero h1 { font-size: 40px; }
  .hero-card { max-width: 480px; }

  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .card-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .card-grid-3 { grid-template-columns: repeat(2, 1fr); }

  .platform-grid { grid-template-columns: 1fr; }

  .cta-inner { grid-template-columns: 1fr; gap: 32px; }
  .cta-inner h2 { font-size: 32px; }

  .footer-inner { grid-template-columns: repeat(2, 1fr); gap: 32px; }

  .section-hd h2 { font-size: 30px; }
  .brochure-form { padding: 28px 24px; }

  .page-hero-inner { grid-template-columns: 1fr; gap: 40px; padding: 48px 24px 40px; }
  .page-hero h1 { font-size: 42px; }
  .page-hero h1.hero-h1-xl { font-size: 44px; }
  .hero-collage { aspect-ratio: auto; grid-template-rows: auto; }
  .collage-card-white { grid-column: auto; grid-row: auto; }
  .two-col-feature { grid-template-columns: 1fr !important; gap: 40px; }
  .roles-cols { grid-template-columns: 1fr 1fr; }
  .feature-hd h2 { font-size: 36px; }
  .process-grid-5, .process-grid-6 { grid-template-columns: repeat(3, 1fr); }

  .clinical-grid { grid-template-columns: 1fr; gap: 40px; }
  .clinical-h2 { font-size: 36px; }
}

/* -- 915px: hide tagline before it wraps -- */
@media (max-width: 915px) {
  .util-tagline { display: none; }
}

/* -- 640px: mobile -- */
@media (max-width: 640px) {
  .brochure-nav .inner { padding: 12px 16px; gap: 12px; }

  .hero { padding: 36px 16px 32px; }
  .hero h1 { font-size: 30px; }
  .hero p { font-size: 15px; }
  .hero-stats { flex-wrap: wrap; gap: 20px; }
  .hero-btns { flex-direction: column; align-items: flex-start; }
  .hero-badges { grid-template-columns: 1fr 1fr; }

  .why-grid { grid-template-columns: 1fr; }
  .card-grid-4 { grid-template-columns: 1fr; }
  .card-grid-3 { grid-template-columns: 1fr; }

  .footer-inner { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { flex-direction: column; gap: 6px; text-align: center; }

  .section-hd h2 { font-size: 24px; }
  .section-inner { padding: 0 16px; }
  .section-pad { padding: 56px 0; }

  .form-row { flex-direction: column; }

  .testimonial-section blockquote { font-size: 20px; }
  .cta-inner h2 { font-size: 26px; }

  .page-hero h1 { font-size: 30px; }
  .page-hero h1.hero-h1-xl { font-size: 32px; }
  .hero-body { font-size: 16px; }
  .page-hero-stats { flex-wrap: wrap; gap: 24px; }
  .hero-cta-group { flex-direction: column; align-items: flex-start; }
  .roles-cols { grid-template-columns: 1fr; }
  .roles-table-hdr { display: none; }
  .process-grid-5, .process-grid-6 { grid-template-columns: repeat(2, 1fr); }
  .apply-hd h2 { font-size: 32px; }
  .clinical-h2 { font-size: 28px; }
  .clinical-cards-grid { grid-template-columns: 1fr; }
  .products-grid { grid-template-columns: 1fr; }
  .feature-hd h2 { font-size: 28px; }
}

/* ==================================================================
   REHABIQ TRACKER PAGE — all rules scoped under .rehabiq
   ================================================================== */
.rehabiq {
  --riq-navy:#192F7C; --riq-blue:#5e8ac7; --riq-blue-soft:#EAF0F8; --riq-grey:#9EA2A2; --riq-lightgrey:#E5E1E6;
  --riq-ink:#333333; --riq-good:#2F9E68; --riq-good-soft:#E8F5EE; --riq-good-text:#1d6b46; --riq-caution:#C7930B; --riq-caution-soft:#FBF5DE; --riq-caution-text:#7a6210;
  --riq-alert:#C0392B; --riq-alert-soft:#FBEAE7; --riq-alert-text:#8e2a1f; --riq-discharge:#5e8ac7; --riq-discharge-soft:#EAF0F8; --riq-discharge-text:#3a5f96; --riq-future:#C7CCD6;
  --riq-radius:14px; --riq-shadow:0 10px 30px rgba(25,47,124,.10);
  --riq-heading:"Montserrat", Arial, sans-serif; --riq-body:"Open Sans", Arial, sans-serif;
  font-family: var(--riq-body); color: var(--riq-ink); line-height: 1.6; font-size: 16px;
}
.rehabiq h1, .rehabiq h2, .rehabiq h3, .rehabiq h4 { font-family: var(--riq-heading); color: var(--riq-navy); line-height: 1.2; }
.rehabiq img { max-width: 100%; }
.rehabiq a { color: var(--riq-blue); }
.rehabiq .wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }

#how, #demo {
  background: var(--bg-2);
}
#statuses {
  background: #ffffff;
}
/* Buttons */
.btn-riq { display:inline-block;background:var(--riq-blue);color:#fff !important;padding:10px 22px;border-radius:999px;font-weight:700;font-size:14.5px;text-decoration:none;transition:background .18s ease, transform .18s ease; }
.btn-riq:hover { background:#4c78b8; transform: translateY(-1px); }
.btn-riq.btn-riq-ghost { background:transparent; color: var(--riq-navy) !important; border: 2px solid var(--riq-blue); }
.btn-riq.btn-riq-ghost:hover { background: var(--riq-blue-soft); }

/* Hero */
.rehabiq .hero { display:block; grid-template-columns:none; max-width:none; margin:0; background: linear-gradient(180deg,#F7F9FC 0%,#fff 100%); padding: 72px 0 40px; }
.rehabiq .hero-grid { display:grid;grid-template-columns:1fr;gap:40px;align-items:start; }
@media(min-width:1024px) {
  .rehabiq .hero-grid { grid-template-columns:0.85fr 1.15fr;gap:48px;align-items:start; }
  .rehabiq .tracker { margin-top:0; }
  .rehabiq .hero-copy { position:sticky; top:100px; }
}
.rehabiq .eyebrow { display:inline-block;font-family:var(--riq-heading);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--riq-blue);background:var(--riq-blue-soft);padding:6px 14px;border-radius:999px;margin-bottom:18px; }
.rehabiq .hero h1 { font-size:clamp(32px,4.6vw,52px);font-weight:800;letter-spacing:-.02em;max-width:14em; }
.rehabiq .hero h1 em { font-style:normal;color:var(--riq-blue); }
.rehabiq .hero p.lede { margin:18px 0 28px;font-size:18px;color:#4a5160;max-width:38em; }
.rehabiq .hero-ctas { display:flex;gap:14px;flex-wrap:wrap;margin-bottom:12px; }
.rehabiq .hero-note { font-size:13px;color:var(--riq-grey); }

/* Tracker card (signature) */
.rehabiq .tracker { background:#fff;border:1px solid var(--riq-lightgrey);border-radius:var(--riq-radius);box-shadow:var(--riq-shadow);overflow:hidden;margin-top:44px; }
.rehabiq .tracker-head { display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:22px 28px;background:var(--riq-navy);color:#fff; }
.rehabiq .tracker-head h3 { color:#fff;font-size:17px;font-weight:700; }
.rehabiq .tracker-head .sub { font-size:13px;color:#b9c4e6;margin-top:2px; }
.rehabiq .head-stats { display:flex;gap:28px;flex-wrap:wrap; }
.rehabiq .head-stat .k { font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#93a3d6;font-weight:700; }
.rehabiq .head-stat .v { font-family:var(--riq-heading);font-weight:700;font-size:16px; }
.rehabiq .tracker-body { padding:30px 28px 26px; }

/* Checkpoint rail */
.rehabiq .rail { position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:6px 0 28px; }
.rehabiq .rail::before { content:"";position:absolute;top:17px;left:6%;right:6%;height:4px;border-radius:2px;
  background:linear-gradient(90deg,var(--riq-good) 0%,var(--riq-good) 34%,var(--riq-caution) 42%,var(--riq-caution) 66%,var(--riq-future) 74%,var(--riq-future) 100%); }
.rehabiq .stop { position:relative;text-align:center;padding-top:46px; }
.rehabiq .stop .dot { position:absolute;top:4px;left:50%;transform:translateX(-50%);width:30px;height:30px;border-radius:50%;background:#fff;border:4px solid var(--riq-future);display:flex;align-items:center;justify-content:center;font-weight:800;font-family:var(--riq-heading);font-size:13px;color:var(--riq-future); }
.rehabiq .stop.good .dot { border-color:var(--riq-good);color:var(--riq-good-text); }
.rehabiq .stop.caution .dot { border-color:var(--riq-caution);color:var(--riq-caution-text); }
.rehabiq .stop .cp { font-family:var(--riq-heading);font-weight:700;font-size:14px;color:var(--riq-navy); }
.rehabiq .stop .visits { font-size:12.5px;color:var(--riq-grey); }
.rehabiq .badge { display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-family:var(--riq-heading);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;border-radius:999px; }
.rehabiq .badge.good { background:var(--riq-good-soft);color:var(--riq-good-text); }
.rehabiq .badge.caution { background:var(--riq-caution-soft);color:var(--riq-caution-text); }
.rehabiq .badge.alert { background:var(--riq-alert-soft);color:var(--riq-alert-text); }
.rehabiq .badge.discharge { background:var(--riq-discharge-soft);color:var(--riq-discharge-text); }
.rehabiq .badge.future { background:#F1F2F5;color:var(--riq-grey); }
.rehabiq .badge .b-dot { width:8px;height:8px;border-radius:50%;background:currentColor; }
.rehabiq .badge.caution .b-dot { animation: riq-pulse 1.8s ease-in-out infinite; }
@keyframes riq-pulse { 0%,100% { opacity:1; } 50% { opacity:.35; } }
@media (prefers-reduced-motion: reduce) {
  .rehabiq .badge.caution .b-dot { animation:none; }
  .btn-riq:hover { transform:none; }
}

/* Detail panels */
.rehabiq .panels { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
@media(max-width:880px) { .rehabiq .panels{grid-template-columns:1fr} .rehabiq .rail{grid-template-columns:repeat(3,1fr)} }
.rehabiq .panel { border:1px solid var(--riq-lightgrey);border-radius:12px;padding:20px 22px;background:#fff; }
.rehabiq .panel.good { border-top:4px solid var(--riq-good); }
.rehabiq .panel.caution { border-top:4px solid var(--riq-caution);background:linear-gradient(180deg,#FFFDF9 0%,#fff 60%); }
.rehabiq .panel h4 { font-size:15px;margin-bottom:2px; }
.rehabiq .panel .range { font-size:12.5px;color:var(--riq-grey);margin-bottom:14px; }
.rehabiq .metric-row { display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;border-bottom:1px dashed var(--riq-lightgrey);font-size:14px; }
.rehabiq .metric-row:last-of-type { border-bottom:none; }
.rehabiq .metric-row .m-label { color:#4a5160; }
.rehabiq .metric-row .m-val { font-family:var(--riq-heading);font-weight:700;color:var(--riq-navy); text-align:right; }
.rehabiq .metric-row .m-val.good { color:var(--riq-good-text); }
.rehabiq .metric-row .m-val.caution { color:var(--riq-caution-text); }
.rehabiq .chips { display:flex;gap:8px;flex-wrap:wrap;margin-top:14px; }
.rehabiq .chip { display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#7a6210;background:var(--riq-caution-soft);border:1px solid #EBDCA8;border-radius:999px;padding:6px 13px; }
.rehabiq .chip svg { flex:none; }
.rehabiq .chip-label { font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--riq-caution-text);margin-top:16px;margin-bottom:2px;font-family:var(--riq-heading); }

/* Charts */
.rehabiq .charts { display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px; }
@media(max-width:880px) { .rehabiq .charts{grid-template-columns:1fr} }
.rehabiq .chart-card { border:1px solid var(--riq-lightgrey);border-radius:12px;padding:18px 20px 12px;background:#fff; }
.rehabiq .chart-card h4 { font-size:14px; }
.rehabiq .chart-card .c-sub { font-size:12px;color:var(--riq-grey);margin-bottom:10px; }
.rehabiq .chart-card svg { width:100%;height:auto;display:block; }
.rehabiq .legend { display:flex;gap:18px;font-size:12px;color:#4a5160;margin-top:6px;flex-wrap:wrap; }
.rehabiq .legend i { display:inline-block;width:18px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle; }

/* Footer strip of tracker card */
.rehabiq .tracker-foot { display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid var(--riq-lightgrey);padding:16px 28px;background:#FAFBFD;font-size:13px;color:#4a5160; }
.rehabiq .tracker-foot b { color:var(--riq-navy); }

/* Sections */
.rehabiq section { padding:76px 0; }
.rehabiq section.tint { background:#F7F9FC; }
.rehabiq .sec-head { max-width:44em;margin-bottom:44px; }
.rehabiq .sec-head h2 { font-size:clamp(26px,3.2vw,36px);font-weight:800;letter-spacing:-.015em;margin-bottom:12px; }
.rehabiq .sec-head p { color:#4a5160;font-size:17px; }
.rehabiq .cards3 { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
@media(max-width:880px) { .rehabiq .cards3{grid-template-columns:1fr} }
.rehabiq .card { background:#fff;border:1px solid var(--riq-lightgrey);border-radius:var(--riq-radius);padding:28px 26px; }
.rehabiq .card .num { font-family:var(--riq-heading);font-weight:800;font-size:13px;color:var(--riq-blue);letter-spacing:.1em;margin-bottom:12px; }
.rehabiq .card h3 { font-size:18px;margin-bottom:10px; }
.rehabiq .card p { font-size:14.5px;color:#4a5160; }

.rehabiq .status-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:22px; }
@media(max-width:1000px) { .rehabiq .status-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:640px) { .rehabiq .status-grid{grid-template-columns:1fr} }
.rehabiq .status-card { border-radius:var(--riq-radius);padding:26px;border:1px solid var(--riq-lightgrey);background:#fff; }
.rehabiq .status-card.good { border-top:5px solid var(--riq-good); }
.rehabiq .status-card.caution { border-top:5px solid var(--riq-caution); }
.rehabiq .status-card.alert { border-top:5px solid var(--riq-alert); }
.rehabiq .status-card.discharge { border-top:5px solid var(--riq-discharge); }
.rehabiq .status-card h3 { font-size:16px;display:flex;align-items:center;gap:10px; }
.rehabiq .status-card p { font-size:14.5px;color:#4a5160;margin-top:10px; }
.rehabiq .s-dot { width:12px;height:12px;border-radius:50%; }
.rehabiq .s-dot.g { background:var(--riq-good); }
.rehabiq .s-dot.c { background:var(--riq-caution); }
.rehabiq .s-dot.r { background:var(--riq-alert); }
.rehabiq .s-dot.b { background:var(--riq-discharge); }

/* CTA band */
.rehabiq .cta-band { background:var(--riq-navy);color:#fff;border-radius:var(--riq-radius);padding:52px 48px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:26px; }
.rehabiq .cta-band h2 { color:#fff;font-size:clamp(24px,3vw,32px);max-width:18em;letter-spacing:-.015em; }
.rehabiq .cta-band p { color:#b9c4e6;margin-top:8px;max-width:34em;font-size:15.5px; }

/* Rehab Tracker */
.trust { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 8px; }
.trust div {
    font-size: 12.5px;
    font-weight: 600;
    color: #4a5160;
    background: #fff;
    padding: 7px 15px;
    background: #fff;
    border: 1px solid var(--riq-lightgrey);
    border-radius: var(--riq-radius);
    margin-right: 8px;
    margin-top: 8px;
    width: fit-content;
}
@media(max-width:640px) { .trust div{ width:100%; } }

/* ==================================================================
   REHABIQ SUMMARY CARD — Physical Medicine hero carousel
   all rules scoped under .riq-summary-card
   ================================================================== */
.riq-summary-card {
  --rsc-navy:#192F7C; --rsc-blue:#5e8ac7; --rsc-grey:#9EA2A2; --rsc-lightgrey:#E5E1E6; --rsc-ink:#333333;
  --rsc-good:#2F9E68;      --rsc-good-soft:#E8F5EE;      --rsc-good-border:#BFE3D0;      --rsc-good-text:#1d6b46;
  --rsc-caution:#C7930B;   --rsc-caution-soft:#FBF5DE;   --rsc-caution-border:#EBDCA8;   --rsc-caution-text:#7a6210;
  --rsc-alert:#C0392B;     --rsc-alert-soft:#FBEAE7;     --rsc-alert-border:#F0C4BD;     --rsc-alert-text:#8e2a1f;
  --rsc-discharge:#5e8ac7; --rsc-discharge-soft:#EAF0F8; --rsc-discharge-border:#C6D5EC; --rsc-discharge-text:#3a5f96;
  --rsc-future:#C7CCD6;
  --rsc-heading:"Montserrat", Arial, sans-serif; --rsc-body:"Open Sans", Arial, sans-serif;
  font-family: var(--rsc-body); color: var(--rsc-ink);
}
.riq-summary-card .card { width:100%;background:#fff;border:1px solid var(--rsc-lightgrey);border-radius:14px;box-shadow:0 8px 24px rgba(25,47,124,.10);overflow:hidden;display:flex;flex-direction:column; }
.riq-summary-card .card-head { display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--rsc-lightgrey); }
.riq-summary-card .card-head .who h3 { font-family:var(--rsc-heading);font-size:14.5px;color:var(--rsc-navy);font-weight:700;letter-spacing:-.01em; }
.riq-summary-card .card-head .who .sub { font-size:11.5px;color:var(--rsc-grey);margin-top:2px; }
.riq-summary-card .badge { display:inline-flex;align-items:center;gap:6px;font-family:var(--rsc-heading);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px;white-space:nowrap;flex:none; }
.riq-summary-card .badge .dot { width:7px;height:7px;border-radius:50%;background:currentColor; }
.riq-summary-card .badge.b-good { background:var(--rsc-good-soft);color:var(--rsc-good-text); }
.riq-summary-card .badge.b-caution { background:var(--rsc-caution-soft);color:var(--rsc-caution-text); }
.riq-summary-card .badge.b-alert { background:var(--rsc-alert-soft);color:var(--rsc-alert-text); }
.riq-summary-card .badge.b-discharge { background:var(--rsc-discharge-soft);color:var(--rsc-discharge-text); }
.riq-summary-card .badge.b-caution .dot { animation:riq-card-pulse 1.8s ease-in-out infinite; }
.riq-summary-card .badge.b-alert .dot { animation:riq-card-pulse 1.1s ease-in-out infinite; }

#riqSummaryCardProcessing { min-height: 453px;}
@keyframes riq-card-pulse { 0%,100% { opacity:1; } 50% { opacity:.3; } }
@media (prefers-reduced-motion: reduce) { .riq-summary-card .badge .dot { animation:none !important; } }

.riq-summary-card .rail { padding:16px 18px 4px; }
.riq-summary-card .rail-track { position:relative;height:4px;border-radius:2px;background:var(--rsc-future);margin:0 10px;overflow:hidden; }
.riq-summary-card .seg { position:absolute;top:0;bottom:0; }
.riq-summary-card .rail-stops { display:flex;justify-content:space-between;margin-top:-11px;position:relative; }
.riq-summary-card .stop { width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--rsc-future);font-family:var(--rsc-heading);font-weight:800;font-size:9px;display:flex;align-items:center;justify-content:center;color:var(--rsc-future); }
.riq-summary-card .stop.s-good { border-color:var(--rsc-good);color:var(--rsc-good-text); }
.riq-summary-card .stop.s-caution { border-color:var(--rsc-caution);color:var(--rsc-caution-text); }
.riq-summary-card .stop.s-alert { border-color:var(--rsc-alert);color:var(--rsc-alert-text); }
.riq-summary-card .stop.s-discharge { border-color:var(--rsc-discharge);color:var(--rsc-discharge-text); }
.riq-summary-card .rail-labels { display:flex;justify-content:space-between;margin-top:6px;font-size:9.5px;color:var(--rsc-grey); }
.riq-summary-card .rail-labels span { width:33%;text-align:center; }
.riq-summary-card .rail-labels span:first-child { text-align:left; }
.riq-summary-card .rail-labels span:last-child { text-align:right; }
.riq-summary-card .rail-labels b { display:block;font-family:var(--rsc-heading);font-size:10px;color:var(--rsc-navy);font-weight:700;text-transform:uppercase;letter-spacing:.04em; }

.riq-summary-card .signals { border-top:1px solid var(--rsc-lightgrey);border-bottom:1px solid var(--rsc-lightgrey);margin-top:14px;padding:6px 18px; }
.riq-summary-card .sig-row { display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--rsc-lightgrey);font-size:12.5px; }
.riq-summary-card .sig-row:last-child { border-bottom:none; }
.riq-summary-card .sig-row .s-label { color:#4a5160; }
.riq-summary-card .sig-row .s-val { font-family:var(--rsc-heading);font-weight:700;font-size:12px;display:inline-flex;align-items:center;gap:6px; }
.riq-summary-card .s-val.v-good { color:var(--rsc-good-text); }
.riq-summary-card .s-val.v-caution { color:var(--rsc-caution-text); }
.riq-summary-card .s-val.v-alert { color:var(--rsc-alert-text); }
.riq-summary-card .s-val.v-discharge { color:var(--rsc-discharge-text); }
.riq-summary-card .s-val.v-navy { color:var(--rsc-navy); }

.riq-summary-card .factors { padding:13px 18px 4px; }
.riq-summary-card .f-label { font-family:var(--rsc-heading);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px; }
.riq-summary-card .f-good { color:var(--rsc-good-text); }
.riq-summary-card .f-caution { color:var(--rsc-caution-text); }
.riq-summary-card .f-alert { color:var(--rsc-alert-text); }
.riq-summary-card .f-discharge { color:var(--rsc-discharge-text); }
.riq-summary-card .chips { display:flex;gap:7px;flex-wrap:wrap; }
.riq-summary-card .chip { display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;border-radius:999px;padding:4px 11px;border:1px solid; }
.riq-summary-card .chip.c-good { color:var(--rsc-good-text);background:var(--rsc-good-soft);border-color:var(--rsc-good-border); }
.riq-summary-card .chip.c-caution { color:var(--rsc-caution-text);background:var(--rsc-caution-soft);border-color:var(--rsc-caution-border); }
.riq-summary-card .chip.c-alert { color:var(--rsc-alert-text);background:var(--rsc-alert-soft);border-color:var(--rsc-alert-border); }
.riq-summary-card .chip.c-discharge { color:var(--rsc-discharge-text);background:var(--rsc-discharge-soft);border-color:var(--rsc-discharge-border); }

.riq-summary-card .summary { padding:12px 18px 0;font-size:12.5px;color:#4a5160;line-height:1.55;flex:1; }
.riq-summary-card .summary b { color:var(--rsc-navy); }
.riq-summary-card .card-foot { display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px 16px; }
.riq-summary-card .card-foot .next { font-size:11px;color:var(--rsc-grey); }
.riq-summary-card .card-foot .next b { display:block;font-family:var(--rsc-heading);font-size:12px;color:var(--rsc-navy); }
.riq-summary-card .btn { font-family:var(--rsc-heading);background:var(--rsc-blue);color:#fff;border:none;padding:9px 18px;border-radius:999px;font-weight:700;font-size:12px;transition:background .18s;white-space:nowrap; }
.riq-summary-card .btn:hover { background:#4c78b8; }
.riq-summary-card .btn.urgent { background:var(--rsc-alert); }
.riq-summary-card .btn.urgent:hover { background:#a53024; }

/* Carousel: stacks the four status-card partials and fades between them */
.riq-card-slides { position:relative; display:grid; overflow:hidden; }
.riq-card-slides > .riq-card-slide { grid-area: 1 / 1; opacity:0; pointer-events:none; transition:opacity .6s ease; }
.riq-card-slides > .riq-card-slide.active { opacity:1; pointer-events:auto; }


#riq_sample_overlay {
    position: absolute;
    height: calc(100% - 29px);
    width: 100%;
    opacity: .85;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: clamp(28px, 6vw, 46px);
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: rgba(25, 47, 124, .16);
    transform: rotate(-45deg);
    white-space: nowrap;
    text-align: center;
    user-select: none;
    pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .riq-card-slides > .riq-card-slide { transition:none; }
}

/* Caption + pause control shown below the card carousel */
.riq-card-caption { margin: 3px 15px 0px 15px; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:11.5px; color:var(--fg3); }
.riq-card-pause-btn {
  flex:none; width:26px; height:26px; border-radius:50%; border:1px solid var(--sl-line);
  background:#fff; color:var(--fg3); font-size:12px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s ease, border-color .15s ease;
}
.riq-card-pause-btn:hover { background:var(--bg2); border-color:var(--blue1); }