/* OmniRx visual system v2 — clinical / professional / modern.
   Shipped 2026-05-08. Reference: petmaxxing-overhaul.css (sibling site, different aesthetic). */

:root{
  --bg:#ffffff;
  --bg-alt:#f8fafc;
  --bg-deep:#f1f5f9;
  --slate-900:#0f172a;
  --slate-800:#1e293b;
  --slate-700:#334155;
  --slate-600:#475569;
  --slate-500:#64748b;
  --slate-400:#94a3b8;
  --slate-300:#cbd5e1;
  --slate-200:#e2e8f0;
  --slate-100:#f1f5f9;
  --action:#0066cc;
  --action-deep:#004999;
  --action-tint:#e8f1fb;
  --severity-major:#dc2626;
  --severity-major-tint:#fef2f2;
  --severity-mod:#d97706;
  --severity-mod-tint:#fef7e6;
  --severity-minor:#0891b2;
  --severity-minor-tint:#ecfeff;
  --severity-none:#10b981;
  --severity-none-tint:#ecfdf5;
  --display:'IBM Plex Sans',system-ui,sans-serif;
  --body:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SF Mono',monospace;
  --sidebar:240px;
  --max-content:1040px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-family:var(--body);color:var(--slate-700);background:var(--bg);font-size:14.5px;line-height:1.55;min-height:100vh}
a{color:var(--action);text-decoration:none}
a:hover{color:var(--action-deep)}
img{max-width:100%;height:auto}
button{font-family:var(--body);cursor:pointer}

/* STATUS BAR — terminal-style */
.statusbar{background:var(--slate-900);color:var(--slate-300);font-family:var(--mono);font-size:11px;padding:6px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--slate-800)}
.statusbar .status-item{display:flex;align-items:center;gap:6px}
.statusbar .dot{width:6px;height:6px;border-radius:100px;display:inline-block}
.statusbar .dot.live{background:#22c55e;animation:pulse 2s ease-in-out infinite}
.statusbar .dot.stale{background:#f59e0b}
@keyframes pulse{0%,100%{opacity:.6}50%{opacity:1}}
.statusbar strong{color:#fff;font-weight:500}
.statusbar .sep{color:var(--slate-700)}

/* SHELL */
.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:calc(100vh - 32px)}
@media(max-width:980px){.shell{grid-template-columns:1fr}}

aside.side{background:var(--bg);border-right:1px solid var(--slate-200);padding:24px 16px;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto}
@media(max-width:980px){aside.side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--slate-200)}}
.brand{padding:0 8px;margin-bottom:24px;display:flex;align-items:center;gap:8px}
.brand-logo{width:28px;height:28px;background:var(--action);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:-.02em;flex-shrink:0}
.brand-mark{font-family:var(--display);font-weight:600;font-size:18px;color:var(--slate-900);letter-spacing:-.015em;text-decoration:none;line-height:1;display:block}
.brand-mark span{color:var(--action);font-weight:500}
.brand-tag{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--slate-400);margin-top:2px}
.nav-section{margin-bottom:18px}
.nav-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--slate-400);margin-bottom:6px;padding:0 8px;font-weight:600}
.nav-list{list-style:none}
.nav-list a{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:5px;color:var(--slate-700);font-size:13px;font-weight:500;transition:background .12s,color .12s;text-decoration:none}
.nav-list a:hover{background:var(--slate-100);color:var(--slate-900)}
.nav-list a.active{background:var(--action-tint);color:var(--action-deep)}
.nav-list a .ic{width:14px;height:14px;flex-shrink:0;color:var(--slate-400)}
.nav-list a:hover .ic{color:var(--slate-700)}
.nav-list a.active .ic{color:var(--action)}
.nav-list a .badge{margin-left:auto;background:var(--slate-100);color:var(--slate-600);font-family:var(--mono);font-size:9.5px;font-weight:600;padding:1px 6px;border-radius:100px}
.nav-list a.active .badge{background:var(--action);color:#fff}
.nav-list a.tool-item{font-size:12px;color:var(--slate-600);padding:5px 8px;font-family:var(--mono)}
.nav-list a.tool-item:hover{color:var(--slate-900)}

/* LIVE FEED */
.live-feed{margin-top:20px;border:1px solid var(--slate-200);border-radius:6px;overflow:hidden;background:var(--bg)}
.live-feed-head{padding:8px 12px;background:var(--slate-100);border-bottom:1px solid var(--slate-200);display:flex;align-items:center;justify-content:space-between}
.live-feed-title{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--slate-600);font-weight:600}
.live-feed-pill{background:#22c55e;color:#fff;font-family:var(--mono);font-size:8.5px;font-weight:700;padding:1px 6px;border-radius:100px;text-transform:uppercase;letter-spacing:.04em}
.feed-row{padding:7px 12px;border-bottom:1px solid var(--slate-100);font-family:var(--mono);font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.feed-row:last-child{border-bottom:0}
.feed-row .name{color:var(--slate-900);font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.feed-row .tag{font-size:9.5px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}
.feed-row .tag.major{background:var(--severity-major-tint);color:var(--severity-major);border:1px solid #fecaca}
.feed-row .tag.mod{background:var(--severity-mod-tint);color:var(--severity-mod);border:1px solid #fed7aa}
.feed-row .tag.minor{background:var(--severity-minor-tint);color:var(--severity-minor);border:1px solid #a5f3fc}
.feed-row .tag.ok{background:var(--severity-none-tint);color:var(--severity-none);border:1px solid #a7f3d0}

main.body{min-width:0;background:var(--bg)}

/* Default content typography for converted inner pages.
   Descendant selectors so that nested article wrappers and content divs all get clean typography.
   Excludes specific shell/widget classes via :not() rules. */
main.body{padding-bottom:48px}
main.body h1{font-family:var(--display);font-size:clamp(28px,4.2vw,38px);font-weight:600;line-height:1.12;letter-spacing:-.022em;color:var(--slate-900);margin:18px auto 14px;max-width:820px;padding:0 48px}
main.body h2:not(.region-title):not(.network h3):not(.newsletter h3){font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:-.018em;color:var(--slate-900);margin:32px auto 12px;line-height:1.25;padding-top:14px;padding-left:48px;padding-right:48px;border-top:1px solid var(--slate-100);max-width:820px}
main.body h3{font-family:var(--display);font-size:17px;font-weight:600;color:var(--slate-900);margin:22px auto 8px;max-width:820px;padding:0 48px}
main.body p:not(.page-sub):not(.article-intro):not(.network p):not(.newsletter p):not(.foot-disc):not(.foot-note):not(.cred-cell .meta):not(.tool p):not(.coverage-desc):not(.article-card p){margin:0 auto 14px;font-size:15px;line-height:1.7;color:var(--slate-700);max-width:820px;padding:0 48px}
main.body ul:not(.nav-list):not(.foot-links),main.body ol{margin:0 auto 14px;padding-left:70px;padding-right:48px;max-width:820px;font-size:15px;line-height:1.65;color:var(--slate-700)}
main.body li{margin-bottom:6px}
main.body table:not(.ix-table):not(.source-table):not(.data-table){width:auto;max-width:820px;border-collapse:collapse;margin:18px auto;font-size:13.5px}
main.body table:not(.ix-table):not(.source-table):not(.data-table) th{text-align:left;padding:10px 14px;background:var(--slate-100);border-bottom:1px solid var(--slate-200);font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--slate-600)}
main.body table:not(.ix-table):not(.source-table):not(.data-table) td{padding:10px 14px;border-bottom:1px solid var(--slate-100);color:var(--slate-800);vertical-align:top;font-size:13.5px}
main.body p a,main.body li a{color:var(--action);text-decoration:underline;text-underline-offset:3px}
main.body p a:hover,main.body li a:hover{color:var(--action-deep)}
main.body strong{color:var(--slate-900);font-weight:600}
@media(max-width:680px){main.body h1,main.body h2,main.body h3,main.body p,main.body ul,main.body ol{padding-left:24px;padding-right:24px}main.body ul,main.body ol{padding-left:46px}}

/* PAGE HEADER */
.page-header{padding:48px 48px 0;max-width:var(--max-content);margin:0 auto;width:100%}
@media(max-width:680px){.page-header{padding:32px 24px 0}}
.page-eyebrow{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--slate-500);margin-bottom:14px;font-weight:600;display:flex;align-items:center;gap:10px}
.page-eyebrow .div{width:24px;height:1px;background:var(--slate-300)}
.page-title{font-family:var(--display);font-size:clamp(34px,5vw,52px);font-weight:600;line-height:1.05;letter-spacing:-.025em;color:var(--slate-900);margin-bottom:14px;max-width:780px}
.page-title span.action{color:var(--action)}
.page-sub{font-size:16px;line-height:1.55;color:var(--slate-600);max-width:560px;margin-bottom:32px}
.page-sub strong{color:var(--slate-900);font-weight:600}

/* HERO TOOL */
.hero-tool{background:var(--bg);border:1px solid var(--slate-200);border-radius:10px;padding:24px;margin-top:8px;max-width:var(--max-content);box-shadow:0 1px 2px rgba(15,23,42,.04),0 6px 24px rgba(15,23,42,.04)}
.hero-tool-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--slate-200);flex-wrap:wrap;gap:10px}
.hero-tool-title{display:flex;align-items:center;gap:10px}
.hero-tool-title h3{font-family:var(--display);font-size:15px;font-weight:600;color:var(--slate-900)}
.hero-tool-title .ic-box{width:28px;height:28px;background:var(--action-tint);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--action);flex-shrink:0}
.hero-tool-meta{font-family:var(--mono);font-size:10.5px;color:var(--slate-500);display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hero-tool-meta span::before{content:'·';margin-right:14px;color:var(--slate-300)}
.hero-tool-meta span:first-child::before{content:''}

.input-row{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.input-field{flex:1;min-width:240px;display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--slate-200);border-radius:6px;background:var(--bg);font-family:var(--mono);font-size:13px;color:var(--slate-900);transition:border-color .12s}
.input-field:focus-within{border-color:var(--action)}
.input-field svg{color:var(--slate-400);flex-shrink:0}
.input-field input{flex:1;border:0;outline:0;background:transparent;font-family:var(--mono);font-size:13px;color:var(--slate-900)}
.input-field input::placeholder{color:var(--slate-400)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:6px;font-weight:500;font-size:13.5px;font-family:var(--body);transition:all .12s;text-decoration:none;border:0;cursor:pointer;white-space:nowrap}
.btn-primary{background:var(--action);color:#fff}
.btn-primary:hover{background:var(--action-deep);color:#fff}
.btn-ghost{background:var(--bg);color:var(--slate-700);border:1px solid var(--slate-200)}
.btn-ghost:hover{border-color:var(--slate-400);color:var(--slate-900)}
.btn-tag{background:var(--slate-100);color:var(--slate-600);font-family:var(--mono);font-size:11px;font-weight:500;padding:4px 10px;border-radius:5px;border:1px solid var(--slate-200);text-decoration:none;transition:border-color .12s;display:inline-block}
.btn-tag:hover{border-color:var(--action);color:var(--action)}

.quick-add{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px;font-family:var(--mono);font-size:11px;color:var(--slate-500)}
.quick-add-label{font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--slate-500)}

/* IX TABLE */
.ix-table{width:100%;border-collapse:collapse;font-size:13px}
.ix-table thead th{text-align:left;padding:10px 14px;background:var(--slate-100);border-bottom:1px solid var(--slate-200);border-top:1px solid var(--slate-200);font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--slate-600)}
.ix-table tbody td{padding:11px 14px;border-bottom:1px solid var(--slate-100);font-family:var(--mono);font-size:12.5px;color:var(--slate-800);vertical-align:top}
.ix-table tbody tr:hover td{background:var(--slate-100)}
.ix-table tbody tr:last-child td{border-bottom:0}
.severity-pill{font-family:var(--mono);font-size:10px;font-weight:700;padding:2px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em;display:inline-block;white-space:nowrap}
.severity-pill.major{background:var(--severity-major-tint);color:var(--severity-major);border:1px solid #fecaca}
.severity-pill.mod{background:var(--severity-mod-tint);color:var(--severity-mod);border:1px solid #fed7aa}
.severity-pill.minor{background:var(--severity-minor-tint);color:var(--severity-minor);border:1px solid #a5f3fc}
.severity-pill.ok{background:var(--severity-none-tint);color:var(--severity-none);border:1px solid #a7f3d0}

/* CRED STRIP */
.cred-strip{max-width:var(--max-content);margin:48px auto 0;padding:24px 48px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200)}
@media(max-width:980px){.cred-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.cred-strip{padding:24px}}
.cred-cell{padding:0 24px;border-right:1px solid var(--slate-200)}
.cred-cell:last-child{border-right:0}
@media(max-width:980px){.cred-cell:nth-child(2){border-right:0}}
.cred-cell .label{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--slate-500);margin-bottom:4px;font-weight:600}
.cred-cell .value{font-size:14px;font-weight:600;color:var(--slate-900);line-height:1.3;font-family:var(--display)}
.cred-cell .meta{font-family:var(--mono);font-size:11px;color:var(--slate-500);margin-top:2px}

/* SECTIONS */
section.region{max-width:var(--max-content);margin:0 auto;padding:60px 48px}
@media(max-width:680px){section.region{padding:48px 24px}}
.region-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:24px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid var(--slate-200)}
.region-eyebrow{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--slate-500);margin-bottom:6px;font-weight:600}
.region-title{font-family:var(--display);font-size:26px;font-weight:600;letter-spacing:-.018em;color:var(--slate-900);line-height:1.15}
.region-link{font-size:13px;color:var(--action);font-weight:500;display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);text-decoration:none}
.region-link::after{content:'→';transition:transform .12s}
.region-link:hover::after{transform:translateX(2px)}

/* TOOL GRID */
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--slate-200);border:1px solid var(--slate-200);border-radius:8px;overflow:hidden}
@media(max-width:880px){.tool-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.tool-grid{grid-template-columns:1fr}}
.tool{background:var(--bg);padding:22px;display:block;color:inherit;text-decoration:none;transition:background .12s;position:relative}
.tool:hover{background:var(--slate-100)}
.tool-icon-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.tool-icon{width:32px;height:32px;background:var(--slate-100);border:1px solid var(--slate-200);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--accent,var(--action))}
.tool-cat{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--slate-500);font-weight:600}
.tool h4{font-family:var(--display);font-size:16px;font-weight:600;color:var(--slate-900);margin-bottom:6px;letter-spacing:-.01em}
.tool p{font-size:13px;color:var(--slate-600);line-height:1.5;margin-bottom:14px}
.tool-meta{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;padding-top:12px;border-top:1px solid var(--slate-100)}
.tool-meta .stat{color:var(--slate-500)}
.tool-meta .stat strong{color:var(--slate-900);font-weight:600}
.tool-meta .arrow{color:var(--accent,var(--action));font-weight:600}

/* SOURCES */
.sources{background:var(--bg-alt);border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);padding:48px 0}
.sources-inner{max-width:var(--max-content);margin:0 auto;padding:0 48px}
@media(max-width:680px){.sources-inner{padding:0 24px}}
.sources-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:start;margin-top:18px}
@media(max-width:880px){.sources-grid{grid-template-columns:1fr;gap:24px}}
.sources-pitch h3{font-family:var(--display);font-size:24px;font-weight:600;line-height:1.2;color:var(--slate-900);margin-bottom:10px;letter-spacing:-.015em}
.sources-pitch p{font-size:14px;color:var(--slate-600);line-height:1.6;margin-bottom:14px}
.sources-pitch .read-link{font-size:13px;font-weight:500;color:var(--action);font-family:var(--mono);text-decoration:none}
.source-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--bg);border:1px solid var(--slate-200);border-radius:6px;overflow:hidden}
.source-table thead th{text-align:left;padding:10px 14px;background:var(--slate-100);border-bottom:1px solid var(--slate-200);font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--slate-600)}
.source-table tbody td{padding:11px 14px;border-bottom:1px solid var(--slate-100);font-size:12.5px;color:var(--slate-800)}
.source-table tbody tr:last-child td{border-bottom:0}
.source-mono{font-family:var(--mono);color:var(--slate-900);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.source-time{font-family:var(--mono);color:var(--slate-500);font-size:11px;text-align:right}

/* COVERAGE */
.coverage{padding:48px 0}
.coverage-inner{max-width:var(--max-content);margin:0 auto;padding:0 48px}
@media(max-width:680px){.coverage-inner{padding:0 24px}}
.coverage-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--slate-200);border:1px solid var(--slate-200);border-radius:8px;overflow:hidden;margin-top:18px}
@media(max-width:780px){.coverage-cards{grid-template-columns:1fr}}
.coverage-card{background:var(--bg);padding:22px}
.coverage-num{font-family:var(--display);font-size:32px;font-weight:600;color:var(--slate-900);line-height:1;margin-bottom:8px;letter-spacing:-.025em}
.coverage-num span.unit{color:var(--action);font-size:18px;margin-left:2px}
.coverage-name{font-size:13px;font-weight:600;color:var(--slate-900);margin-bottom:4px;font-family:var(--display)}
.coverage-desc{font-size:12.5px;color:var(--slate-600);line-height:1.5}

/* ARTICLES */
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:880px){.articles-grid{grid-template-columns:1fr}}
.article-card{background:var(--bg);border:1px solid var(--slate-200);border-radius:8px;overflow:hidden;display:block;color:inherit;text-decoration:none;transition:border-color .12s}
.article-card:hover{border-color:var(--slate-400)}
.article-img{width:100%;height:120px;background-size:cover;background-position:center;background-color:var(--slate-100);border-bottom:1px solid var(--slate-200)}
.article-body{padding:16px}
.article-eye{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--slate-500);font-weight:600;margin-bottom:8px}
.article-card h4{font-family:var(--display);font-size:15px;font-weight:600;line-height:1.3;color:var(--slate-900);margin-bottom:8px;letter-spacing:-.01em}
.article-card p{font-size:12.5px;color:var(--slate-600);line-height:1.5;margin-bottom:10px}
.article-meta{font-family:var(--mono);font-size:10.5px;color:var(--slate-500);display:flex;gap:8px;flex-wrap:wrap}
.article-meta span::before{content:'·';margin-right:8px;color:var(--slate-300)}
.article-meta span:first-child::before{content:''}

/* NETWORK */
.network{background:var(--slate-900);color:var(--slate-300);padding:48px}
.network-inner{max-width:var(--max-content);margin:0 auto}
.network h3{font-family:var(--display);font-size:24px;font-weight:600;color:#fff;margin-bottom:6px;letter-spacing:-.015em}
.network p{color:var(--slate-400);font-size:14px;max-width:560px;margin-bottom:24px;line-height:1.55}
.network-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--slate-800);border:1px solid var(--slate-800);border-radius:8px;overflow:hidden}
@media(max-width:780px){.network-grid{grid-template-columns:1fr}}
.net-card{background:var(--slate-900);padding:20px;text-decoration:none;color:#fff;transition:background .12s}
.net-card:hover{background:var(--slate-800);color:#fff}
.net-card-tag{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--slate-500);margin-bottom:10px;font-weight:600}
.net-card-name{font-family:var(--display);font-size:18px;font-weight:600;margin-bottom:4px;color:#fff;letter-spacing:-.01em}
.net-card-name span.acc{color:var(--action)}
.net-card-desc{font-size:12.5px;color:var(--slate-400);line-height:1.5}

/* NEWSLETTER */
.newsletter{background:var(--bg);padding:48px;border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200)}
.newsletter-inner{max-width:var(--max-content);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}
@media(max-width:780px){.newsletter-inner{grid-template-columns:1fr}}
.newsletter h3{font-family:var(--display);font-size:22px;font-weight:600;color:var(--slate-900);margin-bottom:6px;letter-spacing:-.015em}
.newsletter p{color:var(--slate-600);font-size:13.5px;line-height:1.55;max-width:440px}
.news-form{display:flex;gap:8px;background:var(--bg-alt);border:1px solid var(--slate-200);border-radius:6px;padding:5px}
.news-form input{flex:1;background:transparent;border:0;padding:9px 12px;color:var(--slate-900);font-size:13.5px;outline:0;font-family:var(--body)}
.news-form input::placeholder{color:var(--slate-400)}
.news-form button{background:var(--action);color:#fff;border:0;padding:9px 18px;border-radius:5px;font-weight:500;font-size:13px}
.news-meta{font-family:var(--mono);font-size:10.5px;color:var(--slate-500);margin-top:8px}

/* FOOTER */
footer.foot{background:var(--bg);padding:32px 48px;font-size:12.5px;color:var(--slate-500);border-top:1px solid var(--slate-200)}
@media(max-width:680px){footer.foot{padding:28px 24px}}
.foot-inner{max-width:var(--max-content);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.foot-brand{font-family:var(--display);font-weight:600;color:var(--slate-900);font-size:13px;text-decoration:none}
.foot-links{display:flex;gap:18px;list-style:none;flex-wrap:wrap}
.foot-links a{color:var(--slate-500);font-size:12px;font-family:var(--mono);text-decoration:none}
.foot-links a:hover{color:var(--action)}
.foot-disc{font-size:11px;color:var(--slate-500);flex-basis:100%;margin-top:10px;line-height:1.55;font-family:var(--body)}

/* AD ZONE */
.ad-zone{max-width:var(--max-content);margin:32px auto;padding:0 48px;text-align:center;min-height:90px}
@media(max-width:680px){.ad-zone{padding:0 24px}}

/* ─── ARTICLE PAGE STYLES ───────────────────────────────────────── */
.breadcrumbs{max-width:780px;margin:0 auto;padding:14px 48px 0;font-family:var(--mono);font-size:11px;color:var(--slate-500);letter-spacing:.02em}
@media(max-width:680px){.breadcrumbs{padding:14px 24px 0}}
.breadcrumbs a{color:var(--slate-600);text-decoration:none}
.breadcrumbs a:hover{color:var(--action)}

.article-wrap{max-width:780px;margin:0 auto;padding:32px 48px}
@media(max-width:680px){.article-wrap{padding:24px}}
.article-wrap .article-meta-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:14px;font-family:var(--mono);font-size:11px;color:var(--slate-500)}
.article-wrap .article-meta-bar span::before{content:'·';margin-right:14px;color:var(--slate-300)}
.article-wrap .article-meta-bar span:first-child::before{content:''}
.article-wrap .article-tag{background:var(--action-tint);color:var(--action-deep);padding:3px 9px;border-radius:3px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-family:var(--mono)}
.article-wrap h1{font-family:var(--display);font-size:clamp(30px,4.5vw,42px);font-weight:600;line-height:1.1;letter-spacing:-.025em;color:var(--slate-900);margin-bottom:14px}
.article-wrap h1 span.action{color:var(--action)}
.reviewed-by{font-size:13px;color:var(--slate-600);margin-bottom:18px;font-family:var(--body)}
.reviewed-by strong{color:var(--slate-900);font-weight:600}
.article-wrap .article-intro{font-size:16.5px;line-height:1.6;color:var(--slate-700);margin-bottom:28px}
.article-wrap .article-intro strong{color:var(--slate-900);font-weight:600}
.article-wrap h2{font-family:var(--display);font-size:24px;font-weight:600;letter-spacing:-.018em;color:var(--slate-900);margin-top:42px;margin-bottom:14px;line-height:1.2;padding-top:14px;border-top:1px solid var(--slate-100)}
.article-wrap h3{font-family:var(--display);font-size:18px;font-weight:600;color:var(--slate-900);margin-top:28px;margin-bottom:10px}
.article-wrap p{margin-bottom:16px;font-size:15.5px;line-height:1.7;color:var(--slate-700)}
.article-wrap p a{color:var(--action);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.article-wrap p a:hover{color:var(--action-deep)}
.article-wrap ul,.article-wrap ol{margin:0 0 16px 22px}
.article-wrap li{margin-bottom:6px;font-size:15.5px;line-height:1.65;color:var(--slate-700)}
.article-wrap li a{color:var(--action);text-decoration:underline;text-underline-offset:3px}

/* Article: callout */
.callout{background:var(--bg-alt);border-left:3px solid var(--action);padding:16px 20px;border-radius:0 6px 6px 0;margin:22px 0;font-size:14.5px;line-height:1.6}
.callout strong{display:block;font-family:var(--display);font-weight:600;color:var(--slate-900);margin-bottom:6px;font-size:15px}
.callout.warning{background:var(--severity-major-tint);border-left-color:var(--severity-major)}
.callout.warning strong{color:var(--severity-major)}
.callout.success{background:var(--severity-none-tint);border-left-color:var(--severity-none)}
.callout.success strong{color:var(--severity-none)}
.callout.tip{background:var(--severity-mod-tint);border-left-color:var(--severity-mod)}
.callout.tip strong{color:var(--severity-mod)}

/* Article: data table */
.data-table{width:100%;border-collapse:collapse;margin:22px 0;font-size:13.5px;border:1px solid var(--slate-200);border-radius:6px;overflow:hidden;font-family:var(--body)}
.data-table th{text-align:left;padding:10px 14px;background:var(--slate-100);border-bottom:1px solid var(--slate-200);font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--slate-600)}
.data-table td{padding:11px 14px;border-bottom:1px solid var(--slate-100);color:var(--slate-800);font-size:13.5px}
.data-table tr:last-child td{border-bottom:0}
.data-table tr:nth-child(even) td{background:var(--bg-alt)}

/* Article: FAQ */
.faq{margin:36px 0}
.faq-title{font-family:var(--display);font-size:22px;font-weight:600;margin-bottom:16px;color:var(--slate-900);letter-spacing:-.015em}
.faq-item{background:var(--bg);border:1px solid var(--slate-200);border-radius:6px;margin-bottom:8px;overflow:hidden}
.faq-item summary{padding:14px 18px;font-weight:600;font-size:14.5px;cursor:pointer;color:var(--slate-900);list-style:none;display:flex;align-items:center;gap:10px;font-family:var(--display)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';margin-left:auto;color:var(--action);font-weight:600;font-family:var(--mono)}
.faq-item[open] summary::after{content:'−'}
.faq-item .faq-answer{padding:0 18px 14px 18px;font-size:14px;color:var(--slate-700);line-height:1.65;border-top:1px solid var(--slate-100)}
.faq-item[open] .faq-answer{padding-top:14px}

/* Article: related */
.related{margin-top:42px;padding-top:28px;border-top:1px solid var(--slate-200)}
.related-title{font-family:var(--display);font-size:18px;font-weight:600;margin-bottom:16px;color:var(--slate-900);letter-spacing:-.015em}
.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(max-width:600px){.related-grid{grid-template-columns:1fr}}
.related-card{display:block;text-decoration:none;color:inherit;padding:16px;background:var(--bg-alt);border:1px solid var(--slate-200);border-radius:6px;transition:border-color .12s}
.related-card:hover{border-color:var(--action)}
.related-card-tag{font-family:var(--mono);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--slate-500);margin-bottom:6px}
.related-card-title{font-family:var(--display);font-weight:600;font-size:14.5px;line-height:1.3;color:var(--slate-900);letter-spacing:-.005em}

/* Programmatic interaction/PAP/formulary page styles */
.prog-page{max-width:var(--max-content);margin:0 auto;padding:32px 48px}
@media(max-width:680px){.prog-page{padding:24px}}
.prog-card{background:var(--bg);border:1px solid var(--slate-200);border-radius:8px;padding:20px;margin-bottom:14px}
.prog-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.prog-card-name{font-family:var(--display);font-size:17px;font-weight:600;color:var(--slate-900);letter-spacing:-.01em}
.prog-card-meta{font-family:var(--mono);font-size:11px;color:var(--slate-500)}

/* Advisory panel — YMYL trust signal (added 2026-05-15 session 5) */
.advisory{margin:42px 0 32px;padding:32px;background:var(--bg-alt);border:1px solid var(--slate-200);border-radius:10px}
.advisory-eye{font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--action);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.advisory-eye::before{content:'';display:inline-block;width:20px;height:1px;background:var(--action)}
.advisory-title{font-family:var(--display);font-size:24px;font-weight:600;color:var(--slate-900);margin-bottom:8px;letter-spacing:-.015em;line-height:1.2}
.advisory-title em{color:var(--action);font-style:normal;text-decoration:underline;text-decoration-color:rgba(0,102,204,.3);text-decoration-thickness:2px;text-underline-offset:3px}
.advisory-lede{font-size:14.5px;color:var(--slate-700);line-height:1.6;max-width:680px;margin-bottom:20px}
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:768px){.adv-grid{grid-template-columns:1fr}}
.adv-card{display:flex;gap:14px;padding:18px;background:var(--bg);border:1px solid var(--slate-200);border-radius:8px;align-items:flex-start}
.adv-card .adv-photo{flex-shrink:0;width:42px;height:42px;border-radius:50%;background:var(--action-tint);color:var(--action-deep);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.04em}
.adv-name{font-family:var(--display);font-weight:600;color:var(--slate-900);font-size:14.5px;letter-spacing:-.005em}
.adv-cred{font-family:var(--mono);font-size:10.5px;color:var(--action);text-transform:uppercase;letter-spacing:.06em;margin-top:3px;line-height:1.4}
.adv-bio{font-size:12px;color:var(--slate-600);margin-top:6px;line-height:1.55}

/* ─── CONSUMER HERO (added 2026-05-23 digestibility pass) ─────────── */
.consumer-hero{max-width:var(--max-content);margin:0 auto;padding:56px 48px 24px;width:100%}
@media(max-width:680px){.consumer-hero{padding:40px 24px 16px}}
.consumer-hero .ch-eye{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--action);margin-bottom:14px;font-weight:600;display:flex;align-items:center;gap:10px}
.consumer-hero .ch-eye::before{content:'';display:inline-block;width:24px;height:1px;background:var(--action)}
.consumer-hero h1.ch-title{font-family:var(--display);font-size:clamp(34px,5.4vw,56px);font-weight:600;line-height:1.04;letter-spacing:-.028em;color:var(--slate-900);margin-bottom:18px;max-width:880px}
.consumer-hero h1.ch-title strong{color:var(--action);font-weight:600}
.consumer-hero .ch-sub{font-size:17px;line-height:1.6;color:var(--slate-700);max-width:680px;margin-bottom:22px}
.consumer-hero .ch-sub strong{color:var(--slate-900);font-weight:600}
.consumer-hero .ch-stat{display:flex;align-items:flex-start;gap:14px;padding:18px 22px;background:var(--action-tint);border-left:3px solid var(--action);border-radius:0 8px 8px 0;max-width:680px;margin-bottom:8px}
.consumer-hero .ch-stat-num{font-family:var(--display);font-size:32px;font-weight:600;color:var(--action-deep);line-height:1;letter-spacing:-.02em;flex-shrink:0}
.consumer-hero .ch-stat-text{font-size:14px;line-height:1.5;color:var(--slate-700)}
.consumer-hero .ch-stat-text strong{color:var(--slate-900);font-weight:600}
.consumer-hero .ch-stat-cite{font-family:var(--mono);font-size:10.5px;color:var(--slate-500);margin-top:4px;display:block}
.consumer-hero .ch-stat-cite a{color:var(--slate-500);text-decoration:underline;text-underline-offset:2px}
.consumer-hero .ch-stat-cite a:hover{color:var(--action)}

/* Consumer translation row inside IX table mechanism cell */
.ix-table .mech-clin{display:block;font-family:var(--mono);font-size:12px;color:var(--slate-700)}
.ix-table .mech-plain{display:block;font-family:var(--body);font-size:12px;color:var(--slate-600);margin-top:4px;font-style:italic;line-height:1.45}
.severity-pill-stack{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.severity-translate{font-family:var(--body);font-size:10.5px;color:var(--slate-600);line-height:1.4;max-width:180px;font-style:italic}

/* 4-tier what-to-do panel */
.action-tier{max-width:var(--max-content);margin:24px auto 0;padding:0 48px;width:100%}
@media(max-width:680px){.action-tier{padding:0 24px}}
.action-tier-head{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--slate-500);margin-bottom:10px;font-weight:600}
.action-tier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--slate-200);border:1px solid var(--slate-200);border-radius:8px;overflow:hidden}
@media(max-width:880px){.action-tier-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.action-tier-grid{grid-template-columns:1fr}}
.action-tier-cell{background:var(--bg);padding:18px;border-top:3px solid var(--slate-300)}
.action-tier-cell.danger{border-top-color:var(--severity-major)}
.action-tier-cell.caution{border-top-color:var(--severity-mod)}
.action-tier-cell.monitor{border-top-color:var(--severity-minor)}
.action-tier-cell.safe{border-top-color:var(--severity-none)}
.action-tier-label{font-family:var(--mono);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.action-tier-cell.danger .action-tier-label{color:var(--severity-major)}
.action-tier-cell.caution .action-tier-label{color:var(--severity-mod)}
.action-tier-cell.monitor .action-tier-label{color:var(--severity-minor)}
.action-tier-cell.safe .action-tier-label{color:var(--severity-none)}
.action-tier-name{font-family:var(--display);font-size:14.5px;font-weight:600;color:var(--slate-900);margin-bottom:6px;letter-spacing:-.005em}
.action-tier-desc{font-size:12.5px;line-height:1.5;color:var(--slate-600)}

/* Use-case cards */
.usecase{max-width:var(--max-content);margin:0 auto;padding:48px 48px 24px;width:100%}
@media(max-width:680px){.usecase{padding:40px 24px 16px}}
.usecase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
@media(max-width:880px){.usecase-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.usecase-grid{grid-template-columns:1fr}}
.usecase-card{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--bg);border:1px solid var(--slate-200);border-radius:8px;text-decoration:none;color:inherit;transition:border-color .12s,transform .12s}
.usecase-card:hover{border-color:var(--action);transform:translateY(-1px)}
.usecase-icon{width:34px;height:34px;border-radius:8px;background:var(--action-tint);color:var(--action-deep);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--display);font-weight:600;font-size:16px}
.usecase-card.tier-danger .usecase-icon{background:var(--severity-major-tint);color:var(--severity-major)}
.usecase-card.tier-cost .usecase-icon{background:var(--severity-mod-tint);color:var(--severity-mod)}
.usecase-card.tier-stack .usecase-icon{background:var(--severity-minor-tint);color:var(--severity-minor)}
.usecase-card.tier-diet .usecase-icon{background:var(--severity-none-tint);color:var(--severity-none)}
.usecase-quote{font-family:var(--display);font-size:15px;font-weight:600;color:var(--slate-900);line-height:1.35;letter-spacing:-.01em;margin-top:4px}
.usecase-route{font-size:12.5px;line-height:1.5;color:var(--slate-600)}
.usecase-cta{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--action);margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:5px}
.usecase-cta::after{content:'→';transition:transform .12s}
.usecase-card:hover .usecase-cta::after{transform:translateX(2px)}

/* 30-second marketing surface */
.thirty-sec{max-width:var(--max-content);margin:0 auto;padding:36px 48px 48px;width:100%}
@media(max-width:680px){.thirty-sec{padding:28px 24px 40px}}
.thirty-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--slate-200)}
.thirty-sec-eye{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--slate-500);font-weight:600}
.thirty-sec-title{font-family:var(--display);font-size:22px;font-weight:600;color:var(--slate-900);letter-spacing:-.018em;line-height:1.2}
.thirty-sec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:880px){.thirty-sec-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.thirty-sec-grid{grid-template-columns:1fr}}
.thirty-sec-card{padding:18px 20px;background:var(--bg-alt);border:1px solid var(--slate-200);border-radius:8px}
.thirty-sec-num{font-family:var(--display);font-size:28px;font-weight:600;color:var(--slate-900);line-height:1;letter-spacing:-.025em;margin-bottom:6px}
.thirty-sec-num span.unit{color:var(--action);font-size:18px;margin-left:2px}
.thirty-sec-name{font-family:var(--display);font-size:13.5px;font-weight:600;color:var(--slate-900);margin-bottom:4px}
.thirty-sec-desc{font-size:12px;color:var(--slate-600);line-height:1.5}

/* Jargon tooltip */
abbr.jargon{text-decoration:underline dotted var(--slate-400);text-underline-offset:3px;cursor:help;color:inherit}


/* review-cadence freshness pills (shared, hardcoded) */
.freshness-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.5rem 0 1rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.75rem; }
.freshness-pills .pill { padding: 0.2rem 0.55rem; border-radius: 999px; background: #f3f4f6; color: #374151; border: 1px solid #e5e7eb; }
.freshness-pills .pill-reviewed { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.freshness-pills .pill-due { background: #fef3c7; color: #92400e; border-color: #fde68a; }


/* === OMNIRX TOOL WIDGET STYLES (restored 2026-07-30) === */
/* Lifted from /embed/interaction-checker.html, which kept these rules inline while the on-site
   tool pages had none. Global selectors (*, :root, body, a) were deliberately excluded so the
   site design tokens are not overridden. Covers the shared widget markup used by
   /tools/formulary-checker, /tools/interaction-checker and /tools/assistance-finder. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
/* EMBED HEADER */
.embed-header{text-align:center;padding:10px 0 8px}
.embed-header .badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;color:var(--primary);background:var(--primary-light);padding:3px 10px;border-radius:16px;margin-bottom:6px;letter-spacing:.06em;text-transform:uppercase;border:1px solid rgba(15,118,110,.15)}
.embed-header h1{font-size:clamp(18px,3.5vw,26px);font-weight:800;letter-spacing:-.02em;margin-bottom:3px}
.embed-header h1 em{font-style:normal;color:var(--primary)}
.embed-header p{font-size:12px;color:var(--text-2);max-width:480px;margin:0 auto}
/* INPUT AREA */
.input-area{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:12px}
.input-area h2{font-size:14px;font-weight:700;margin-bottom:2px}
.input-area p{font-size:12px;color:var(--text-2);margin-bottom:10px}
.input-row{display:flex;gap:8px;margin-bottom:10px;position:relative}
.drug-input{flex:1;padding:9px 12px;border:1.5px solid var(--border-2);border-radius:8px;font-family:var(--font);font-size:14px;outline:none;transition:border-color .2s}
.drug-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,118,110,.1)}
.btn-add{padding:9px 16px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-family:var(--font);font-weight:600;font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap}
.btn-add:hover{background:var(--primary-dark)}
.btn-add:disabled{opacity:.4;cursor:not-allowed}
/* AUTOCOMPLETE */
.autocomplete-list{position:absolute;top:100%;left:0;right:90px;background:var(--surface);border:1px solid var(--border);border-radius:8px;max-height:200px;overflow-y:auto;z-index:50;box-shadow:0 4px 16px rgba(0,0,0,.08);margin-top:3px;display:none}
.autocomplete-list.active{display:block}
.ac-item{padding:8px 12px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.ac-item:last-child{border-bottom:none}
.ac-item:hover,.ac-item.selected{background:var(--primary-light)}
.ac-item .ac-generic{font-weight:600;color:var(--text)}
.ac-item .ac-brand{font-size:11px;color:var(--text-3)}
.ac-item .ac-class{font-size:10px;color:var(--accent);background:var(--accent-light);padding:2px 6px;border-radius:4px}
/* DRUG LIST */
.drug-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;min-height:16px}
.drug-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--primary-light);border:1px solid rgba(15,118,110,.2);border-radius:6px;font-size:13px;font-weight:500;color:var(--primary-dark)}
.drug-chip .remove{width:16px;height:16px;border-radius:50%;background:rgba(15,118,110,.15);border:none;color:var(--primary-dark);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .2s}
.drug-chip .remove:hover{background:rgba(220,38,38,.2);color:var(--warn)}
.drug-count{font-size:11px;color:var(--text-3);margin-bottom:10px}
.btn-check{width:100%;padding:10px 24px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-family:var(--font);font-weight:700;font-size:14px;cursor:pointer;transition:all .2s}
.btn-check:hover{background:var(--primary-dark);box-shadow:0 2px 12px rgba(15,118,110,.25)}
.btn-check:disabled{opacity:.4;cursor:not-allowed}
/* RESULTS */
.results-area{display:none}
.results-area.active{display:block}
.summary-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:12px}
.summary-bar .summary-text{font-size:14px;font-weight:600;flex:1}
.severity-count{font-size:11px;font-weight:700;padding:3px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}
.sev-severe{background:var(--warn-light);color:var(--warn)}
.sev-moderate{background:var(--orange-light);color:var(--orange)}
.sev-mild{background:var(--yellow-light);color:var(--yellow)}
.sev-none{background:var(--green-light);color:var(--green)}
.interaction-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden;transition:box-shadow .2s}
.interaction-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.06)}
.interaction-header{padding:12px 14px;cursor:pointer;display:flex;align-items:center;gap:10px;user-select:none}
.interaction-header .sev-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}
.sev-badge.severe{background:var(--warn-light);color:var(--warn);border:1px solid rgba(220,38,38,.2)}
.sev-badge.moderate{background:var(--orange-light);color:var(--orange);border:1px solid rgba(234,88,12,.2)}
.sev-badge.mild{background:var(--yellow-light);color:var(--yellow);border:1px solid rgba(202,138,4,.2)}
.sev-badge.none{background:var(--green-light);color:var(--green);border:1px solid rgba(22,163,74,.2)}
.interaction-drugs{font-weight:700;font-size:14px;flex:1}
.interaction-drugs span{color:var(--text-3);font-weight:400;margin:0 4px}
.expand-icon{font-size:16px;color:var(--text-3);transition:transform .2s;flex-shrink:0}
.interaction-card.open .expand-icon{transform:rotate(180deg)}
.interaction-body{display:none;padding:0 14px 14px;border-top:1px solid var(--border)}
.interaction-card.open .interaction-body{display:block}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.detail-item{padding:10px 12px;background:var(--bg);border-radius:6px;border:1px solid var(--border)}
.detail-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:3px}
.detail-value{font-size:13px;color:var(--text);line-height:1.5}
.detail-full{grid-column:1/-1}
.no-interactions{text-align:center;padding:24px 14px;background:var(--green-light);border:1px solid rgba(22,163,74,.2);border-radius:10px;margin-bottom:12px}
.no-interactions h3{color:var(--green);font-size:16px;margin-bottom:6px}
.no-interactions p{font-size:13px;color:var(--text-2);max-width:420px;margin:0 auto}
/* DISCLAIMER + BRAND */
.embed-disclaimer{font-size:10px;color:var(--text-3);text-align:center;padding:8px 10px;line-height:1.4;margin-top:8px}
.embed-brand{text-align:center;padding:10px 10px 12px;font-size:12px;color:var(--text-3);border-top:1px solid var(--border);margin-top:4px}
.embed-brand a{color:var(--primary);font-weight:600;text-decoration:none}
.embed-brand a:hover{text-decoration:underline}
.input-row{flex-direction:column}
.autocomplete-list{right:0}
.detail-grid{grid-template-columns:1fr}
.summary-bar{flex-direction:column;align-items:flex-start}


/* === OMNIRX TOOL LAYOUT ALIGNMENT (2026-07-30) === */
/* The page content column is max-width:820px centred (matches h2/p). The tool containers had
   max-width:none, so the widget spilled the full 1665px and rendered in the sidebar gutter while
   the headings around it stayed centred. Constrain them to the same column. */
.tool-section > .tool-inner, .tool-inner { max-width: 820px; margin-left: auto; margin-right: auto; }
.tool-inner .input-area, .tool-inner .results-area { max-width: 100%; }
/* NOTE: do not re-add .input-row / .drug-input overrides here. An earlier pass redefined
   .input-row without position:relative (which the absolutely-positioned .autocomplete-list
   anchors to) and set .drug-input{flex:1 1 auto}, which sizes to content instead of filling.
   The original widget rules above are correct; overriding them broke the search field. */


/* === OMNIRX TOOL DESIGN TOKENS + FORMULARY RULES (2026-07-30) === */
/* The widget rules restored above are written against the token set that lived in the embed's
   :root block. That block was deliberately excluded when merging, because :root would have
   overridden the site's own design tokens on every page. The consequence: 20 of the 21 variables
   the widget rules reference resolved to nothing, so the tool got its box model back but none of
   its colour, border or type. Half-styled is still broken.

   Fix: define the same tokens SCOPED TO THE TOOL CONTAINERS. Custom properties inherit, so every
   descendant of .tool-section resolves them, and nothing outside the tool is affected. */
.tool-section, .tool-inner, .embed-wrap {
  --bg:#f8fafb; --surface:#fff; --text:#0f172a; --text-2:#475569; --text-3:#94a3b8;
  --border:#e2e8f0; --border-2:#cbd5e1;
  --primary:#0f766e; --primary-light:#ccfbf1; --primary-dark:#134e4a;
  --accent:#0ea5e9; --accent-light:#e0f2fe;
  --warn:#dc2626; --warn-light:#fef2f2;
  --orange:#ea580c; --orange-light:#fff7ed;
  --yellow:#ca8a04; --yellow-light:#fefce8;
  --green:#16a34a; --green-light:#f0fdf4;
  --font:'Inter',system-ui,-apple-system,sans-serif;
}

/* The formulary checker carries four classes the interaction checker never had, so they were absent
   from the embed the rules were recovered from: the plan <select> and its label wrapper. */
.tool-inner .input-desc, .embed-wrap .input-desc{ font-size:14px; color:var(--text-2); margin:0 0 14px; line-height:1.55; }
.tool-inner .form-group, .embed-wrap .form-group{ margin-bottom:14px; }
.tool-inner .form-label, .embed-wrap .form-label{ display:block; font-size:12px; font-weight:700; text-transform:uppercase;
  letter-spacing:.06em; color:var(--text-2); margin-bottom:6px; }
.tool-inner .form-select, .embed-wrap .form-select{ width:100%; padding:9px 12px; border:1.5px solid var(--border-2);
  border-radius:8px; font-family:var(--font); font-size:14px; color:var(--text);
  background:var(--surface); outline:none; cursor:pointer; transition:border-color .2s; }
.tool-inner .form-select:focus, .tool-inner .drug-input:focus, .embed-wrap .form-select:focus, .embed-wrap .drug-input:focus{ border-color:var(--primary); }
.tool-inner .btn-add:disabled, .tool-inner .btn-check:disabled, .embed-wrap .btn-add:disabled, .embed-wrap .btn-check:disabled{ opacity:.45; cursor:not-allowed; }
.tool-inner .btn-add:hover:not(:disabled), .tool-inner .btn-check:hover:not(:disabled), .embed-wrap .btn-add:hover:not(:disabled), .embed-wrap .btn-check:hover:not(:disabled){
  background:var(--primary-dark); }
.tool-inner h2, .tool-inner h3, .embed-wrap h2, .embed-wrap h3{ text-align:left; }


/* === OMNIRX TOOL: REMAINING WIDGET CLASSES (2026-07-30) === */
/* A completeness scan of the three tool pages against all three stylesheets found ~60 classes used
   in the tool markup with no rule anywhere. The formulary results happened to degrade gracefully;
   the assistance finder did not (its text inputs collapsed to 173px and its submit button rendered
   as a raw browser button). These are the remaining primitives, scoped under .tool-inner so nothing
   leaks onto the rest of the site. Tokens come from the scoped block above. */

/* ── form primitives ── */
.tool-inner .form-grid, .embed-wrap .form-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.tool-inner .form-grid .full-width, .tool-inner .full-width, .embed-wrap .form-grid .full-width, .embed-wrap .full-width{ grid-column:1 / -1; }
.tool-inner .form-input, .embed-wrap .form-input{ width:100%; padding:9px 12px; border:1.5px solid var(--border-2);
  border-radius:8px; font-family:var(--font); font-size:14px; color:var(--text);
  background:var(--surface); outline:none; transition:border-color .2s; box-sizing:border-box; }
.tool-inner .form-input:focus, .embed-wrap .form-input:focus{ border-color:var(--primary); }
.tool-inner .drug-input-wrap, .embed-wrap .drug-input-wrap{ position:relative; }
.tool-inner .fpl-info, .embed-wrap .fpl-info{ font-size:12.5px; color:var(--text-3); margin-top:5px; line-height:1.5; }

/* ── buttons ── */
.tool-inner .btn-find, .tool-inner .btn-apply, .tool-inner .btn-email, .embed-wrap .btn-find, .embed-wrap .btn-apply, .embed-wrap .btn-email{
  padding:10px 20px; background:var(--primary); color:#fff; border:none; border-radius:8px;
  font-family:var(--font); font-weight:700; font-size:14px; cursor:pointer; transition:all .2s; }
.tool-inner .btn-find, .embed-wrap .btn-find{ width:100%; margin-top:6px; }
.tool-inner .btn-find:hover, .tool-inner .btn-apply:hover, .tool-inner .btn-email:hover, .embed-wrap .btn-find:hover, .embed-wrap .btn-apply:hover, .embed-wrap .btn-email:hover{ background:var(--primary-dark); }
.tool-inner .btn-find:disabled, .tool-inner .btn-apply:disabled, .embed-wrap .btn-find:disabled, .embed-wrap .btn-apply:disabled{ opacity:.45; cursor:not-allowed; }
.tool-inner .btn-apply, .embed-wrap .btn-apply{ font-size:13px; padding:8px 14px; white-space:nowrap; }

/* ── assistance-finder result cards ── */
.tool-inner .program-card, .embed-wrap .program-card{ background:var(--surface); border:1px solid var(--border);
  border-radius:10px; padding:14px 16px; margin-bottom:10px; }
.tool-inner .program-header, .embed-wrap .program-header{ display:flex; justify-content:space-between; align-items:flex-start;
  gap:12px; flex-wrap:wrap; margin-bottom:6px; }
.tool-inner .program-info, .embed-wrap .program-info{ flex:1 1 auto; min-width:0; }
.tool-inner .program-name, .embed-wrap .program-name{ font-weight:700; font-size:15px; color:var(--text); }
.tool-inner .program-oneliner, .embed-wrap .program-oneliner{ font-size:13px; color:var(--text-2); line-height:1.5; margin-top:2px; }
.tool-inner .program-savings, .embed-wrap .program-savings{ font-weight:700; font-size:14px; color:var(--green); white-space:nowrap; }
.tool-inner .program-body, .embed-wrap .program-body{ font-size:13.5px; color:var(--text-2); line-height:1.6; margin-top:8px; }
.tool-inner .match-count, .embed-wrap .match-count{ font-size:13px; color:var(--text-2); margin-bottom:10px; }
.tool-inner .match-strong, .tool-inner .match-possible, .tool-inner .match-worth, .embed-wrap .match-strong, .embed-wrap .match-possible, .embed-wrap .match-worth{
  display:inline-block; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em;
  padding:3px 8px; border-radius:99px; }
.tool-inner .match-strong, .embed-wrap .match-strong{ background:var(--green-light); color:var(--green); }
.tool-inner .match-possible, .embed-wrap .match-possible{ background:var(--yellow-light); color:var(--yellow); }
.tool-inner .match-worth, .embed-wrap .match-worth{ background:var(--accent-light); color:var(--accent); }
.tool-inner .no-results, .embed-wrap .no-results{ padding:18px; text-align:center; color:var(--text-2); font-size:14px;
  background:var(--bg); border:1px dashed var(--border-2); border-radius:10px; }

/* ── formulary-checker result cards ── */
.tool-inner .coverage-header, .embed-wrap .coverage-header{ display:flex; justify-content:space-between; align-items:flex-start;
  gap:12px; flex-wrap:wrap; margin-bottom:8px; }
.tool-inner .coverage-info, .embed-wrap .coverage-info{ flex:1 1 auto; min-width:0; }
.tool-inner .coverage-drug, .embed-wrap .coverage-drug{ font-weight:700; font-size:15px; color:var(--text); }
.tool-inner .coverage-copay, .embed-wrap .coverage-copay{ font-weight:700; font-size:14px; color:var(--primary); white-space:nowrap; }
.tool-inner .coverage-body, .embed-wrap .coverage-body{ font-size:13.5px; color:var(--text-2); line-height:1.6; }
.tool-inner .total-cost, .embed-wrap .total-cost{ font-weight:700; color:var(--text); }
.tool-inner .plan-name-disp, .embed-wrap .plan-name-disp{ font-weight:600; color:var(--text-2); }
.tool-inner .compare-section, .tool-inner .switching-section, .tool-inner .alternatives-section, .embed-wrap .compare-section, .embed-wrap .switching-section, .embed-wrap .alternatives-section{
  margin-top:18px; }
.tool-inner .compare-desc, .embed-wrap .compare-desc{ font-size:13.5px; color:var(--text-2); line-height:1.6; margin-bottom:10px; }
.tool-inner .compare-table, .embed-wrap .compare-table{ width:100%; border-collapse:collapse; font-size:13.5px; }
.tool-inner .compare-table th, .tool-inner .compare-table td, .embed-wrap .compare-table th, .embed-wrap .compare-table td{
  padding:8px 10px; border-bottom:1px solid var(--border); text-align:left; }
.tool-inner .compare-table th, .embed-wrap .compare-table th{ font-size:11.5px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--text-3); font-weight:700; }
.tool-inner .compare-plan, .embed-wrap .compare-plan{ font-weight:600; color:var(--text); }
.tool-inner .compare-tier, .embed-wrap .compare-tier{ color:var(--text-2); }
.tool-inner .alt-item, .embed-wrap .alt-item{ display:flex; justify-content:space-between; gap:12px; padding:8px 0;
  border-bottom:1px solid var(--border); font-size:13.5px; }
.tool-inner .alt-name, .embed-wrap .alt-name{ font-weight:600; color:var(--text); }
.tool-inner .alt-tier, .embed-wrap .alt-tier{ color:var(--text-2); white-space:nowrap; }

/* ── shared chrome that sits inside the tool section ── */
.tool-inner .disclaimer, .embed-wrap .disclaimer{ font-size:12px; color:var(--text-3); line-height:1.6; margin-top:14px; }
.tool-inner .hero-sub, .embed-wrap .hero-sub{ font-size:14.5px; color:var(--text-2); line-height:1.6; }
.tool-inner .enrollment-banner, .embed-wrap .enrollment-banner{ background:var(--accent-light); border:1px solid var(--accent);
  border-radius:8px; padding:10px 14px; font-size:13.5px; color:var(--text); margin-bottom:14px; }
.tool-inner .banner-date, .embed-wrap .banner-date{ font-weight:700; }
.tool-inner .email-capture, .embed-wrap .email-capture{ margin-top:18px; padding:14px 16px; background:var(--bg);
  border:1px solid var(--border); border-radius:10px; }
.tool-inner .email-row, .embed-wrap .email-row{ display:flex; gap:8px; flex-wrap:wrap; }
.tool-inner .email-input, .embed-wrap .email-input{ flex:1 1 200px; padding:9px 12px; border:1.5px solid var(--border-2);
  border-radius:8px; font-family:var(--font); font-size:14px; outline:none; }
.tool-inner .email-success, .embed-wrap .email-success{ font-size:13px; color:var(--green); margin-top:8px; }
.tool-inner .cta-cards, .embed-wrap .cta-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px; margin-top:18px; }
.tool-inner .cta-card, .embed-wrap .cta-card{ background:var(--surface); border:1px solid var(--border);
  border-radius:10px; padding:14px; font-size:13.5px; color:var(--text-2); line-height:1.6; }


/* === RESPONSIVE TABLES (network heal 2026-07-30) === */
/* Wide comparison tables were pushing article pages into horizontal scroll on mobile (measured at
   390px by lattice-core/scripts/render-audit.mjs). Give the table its own scroll container so the
   PAGE never scrolls sideways, while thead/tbody stay display:table so the columns do not collapse
   and the table remains readable. Both rules are required; the first alone destroys the layout. */
table.data-table, table.pricing-table, table.capability-matrix, table.comparison-table,
.article-body table, main table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
table.data-table > thead, table.data-table > tbody,
table.pricing-table > thead, table.pricing-table > tbody,
table.capability-matrix > thead, table.capability-matrix > tbody,
table.comparison-table > thead, table.comparison-table > tbody,
.article-body table > thead, .article-body table > tbody,
main table > thead, main table > tbody {
  display: table;
  width: 100%;
  min-width: max-content;
}


/* === RESPONSIVE TABLES v2 (network heal 2026-07-30) === */
/* Wide comparison tables push article pages into horizontal scroll on mobile (measured at 390px by
   lattice-core/scripts/render-audit.mjs). Give every table its own scroll container so the PAGE
   never scrolls sideways, while thead/tbody stay display:table so the columns do not collapse and
   the table stays readable. BOTH rules are required; the first alone destroys the layout.
   Deliberately generic: the network uses 15+ distinct table class names and an explicit list has
   already been outrun once. */
table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
table > thead, table > tbody, table > tfoot {
  display: table;
  width: 100%;
  min-width: max-content;
}


/* === RESPONSIVE TABLES v3 (network heal 2026-07-30) === */
/* Wide comparison tables push article pages into horizontal scroll on mobile (measured at 390px by
   lattice-core/scripts/render-audit.mjs). Give every table its own scroll container so the PAGE
   never scrolls sideways, while thead/tbody stay display:table so the columns do not collapse and
   the table stays readable. BOTH rules are required; the first alone destroys the layout.
   Deliberately generic: the network uses 15+ distinct table class names and an explicit list has
   already been outrun once. */
table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
table > thead, table > tbody, table > tfoot {
  display: table;
  width: 100%;
  min-width: max-content;
}

/* Form controls must not outgrow their container either. The newsletter capture ships an email
   input with an inline `min-width:200px`, which together with its padding and the Subscribe button
   pushed three nesyona article pages 5px past a 390px viewport. A hard min-width on a flex child is
   the classic cause, and it is inline on the element, so only a max-width guard reaches it. */
input, select, textarea, button, img, video, iframe, pre {
  max-width: 100%;
}


/* === RESPONSIVE TABLES v4 (network heal 2026-07-30) === */
/* Wide comparison tables push article pages into horizontal scroll on mobile (measured at 390px by
   lattice-core/scripts/render-audit.mjs). Give every table its own scroll container so the PAGE
   never scrolls sideways, while thead/tbody stay display:table so the columns do not collapse and
   the table stays readable. BOTH rules are required; the first alone destroys the layout.
   Deliberately generic: the network uses 15+ distinct table class names and an explicit list has
   already been outrun once. */
table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
table > thead, table > tbody, table > tfoot {
  display: table;
  width: 100%;
  min-width: max-content;
}

/* Form controls must not outgrow their container either. The newsletter capture ships an email
   input with an inline `min-width:200px`, which together with its padding and the Subscribe button
   pushed three nesyona article pages 5px past a 390px viewport. A hard min-width on a flex child is
   the classic cause, and it is inline on the element, so only a max-width guard reaches it. */
input, select, textarea, button, img, video, iframe, pre {
  max-width: 100%;
}

/* max-width alone does not reach this one. The email input carries an INLINE `min-width:200px`, and
   an inline style beats a stylesheet rule, so the flex row stays wider than its parent and the page
   keeps scrolling 5px. A min-width floor on a flex child is the standard cause of exactly this, and
   `!important` is the only lever that reaches an inline declaration — used deliberately here and
   scoped to one control rather than sprayed across the sheet. */
form input[type="email"] {
  min-width: 0 !important;
}


/* === RESPONSIVE TABLES v5 (network heal 2026-07-30) === */
/* Wide comparison tables push article pages into horizontal scroll on mobile (measured at 390px by
   lattice-core/scripts/render-audit.mjs). Give every table its own scroll container so the PAGE
   never scrolls sideways, while thead/tbody stay display:table so the columns do not collapse and
   the table stays readable. BOTH rules are required; the first alone destroys the layout.
   Deliberately generic: the network uses 15+ distinct table class names and an explicit list has
   already been outrun once. */
table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
table > thead, table > tbody, table > tfoot {
  display: table;
  width: 100%;
  min-width: max-content;
}

/* Form controls must not outgrow their container either. The newsletter capture ships an email
   input with an inline `min-width:200px`, which together with its padding and the Subscribe button
   pushed three nesyona article pages 5px past a 390px viewport. A hard min-width on a flex child is
   the classic cause, and it is inline on the element, so only a max-width guard reaches it. */
input, select, textarea, button, img, video, iframe, pre {
  max-width: 100%;
}

/* max-width alone does not reach this one. The email input carries an INLINE `min-width:200px`, and
   an inline style beats a stylesheet rule, so the flex row stays wider than its parent and the page
   keeps scrolling 5px. A min-width floor on a flex child is the standard cause of exactly this, and
   `!important` is the only lever that reaches an inline declaration — used deliberately here and
   scoped to one control rather than sprayed across the sheet. */
form input[type="email"] {
  min-width: 0 !important;
}

/* Long unbroken links. On LensPOV the widest element on four pages was an <a> at 547-678px against
   a 390px viewport: raw URLs used as citation link text, which have no spaces to wrap at, so the
   browser lets them run past the edge and the whole page scrolls sideways. The U3 citation campaign
   adds MORE external links, so this gets worse as the network gets better sourced unless it is
   fixed at the stylesheet. */
a, code, kbd, samp {
  overflow-wrap: anywhere;
  word-break: break-word;
}


/* === OMNIRX CONTENT COMPONENTS (2026-07-31) === */
/* Found by opening formulary/humana-formulary-2026 — the property's #3 landing page — and measuring
   what the eye flagged. `.facts-grid`, `.faq-q`, `.faq-a`, `.cta-grid`, `.article-header` and ~40
   more classes had NO RULE IN ANY STYLESHEET. Measured live: every one rendered at x=256 width 1633
   against an 820px content column, with zero padding and a transparent background — structural
   furniture escaping the column at double its width, on ~160 pages.

   Same root cause as the tool-widget CSS repaired 2026-07-30: markup shipped referencing classes
   nobody ever wrote rules for. Invisible to every code-level check, because the pages return 200
   with intact markup and valid schema. An unstyled component is a rendering defect with a perfect
   bill of health.

   CONTAINMENT FIRST: `.article-body` is unconstrained (width 1665) and only bare `p`/`h2` carry
   their own max-width, which is why prose looked fine while every structured block escaped. Anything
   block-level inside the article must be pinned to the same 820px column or it lands in the gutter. */

.article-body > *,
.article-body .facts-grid,
.article-body .faq-section,
.article-body .cta-grid,
.article-body .cross-links,
.article-body .checker-cta,
.article-header {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

/* ── article header / meta ── */
.article-header { margin-bottom: 18px; }
.article-meta, .reviewed-by {
  font-size: 13px; color: var(--text-3, #94a3b8); display: flex; gap: 10px;
  flex-wrap: wrap; align-items: center;
}
.article-category-tag, .related-tag, .tag {
  display: inline-block; font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .06em; padding: 3px 9px; border-radius: 99px;
  background: var(--primary-light, #ccfbf1); color: var(--primary, #0f766e);
}

/* ── Key Facts ── */
.facts-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px; margin: 18px auto 22px;
}
.fact-card {
  display: flex; gap: 10px; align-items: flex-start;
  background: var(--surface, #fff); border: 1px solid var(--border, #e2e8f0);
  border-radius: 10px; padding: 13px 15px;
}
.fact-icon, .fact-card svg { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 2px; color: var(--primary, #0f766e); }
.fact-text { font-size: 14px; line-height: 1.55; color: var(--text-2, #475569); }

/* ── FAQ ── */
.faq-section { margin: 26px auto; }
.faq-q {
  font-weight: 700; font-size: 15.5px; color: var(--text, #0f172a);
  margin: 16px 0 5px; line-height: 1.4;
}
.faq-a { font-size: 14.5px; line-height: 1.65; color: var(--text-2, #475569); margin: 0 0 14px; }

/* ── in-content CTA blocks ── */
.cta-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin: 22px auto; }
.checker-cta, .cta-card {
  background: var(--bg, #f8fafb); border: 1px solid var(--border, #e2e8f0);
  border-left: 3px solid var(--primary, #0f766e); border-radius: 10px; padding: 15px 17px;
}
.cta-label {
  font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em;
  color: var(--primary, #0f766e); display: block; margin-bottom: 5px;
}
.cta-title { font-weight: 700; font-size: 15.5px; color: var(--text, #0f172a); display: block; margin-bottom: 4px; }
.cta-desc { font-size: 14px; line-height: 1.6; color: var(--text-2, #475569); }

/* ── info cards / cross links ── */
.info-card { background: var(--surface, #fff); border: 1px solid var(--border, #e2e8f0); border-radius: 10px; padding: 14px 16px; margin: 14px auto; }
.info-card-header { display: flex; align-items: center; gap: 8px; margin-bottom: 7px; }
.info-card-icon { width: 17px; height: 17px; color: var(--primary, #0f766e); }
.info-card-title { font-weight: 700; font-size: 15px; color: var(--text, #0f172a); }
.cross-links { display: flex; flex-wrap: wrap; gap: 9px; margin: 22px auto; }
.cross-links a {
  font-size: 13.5px; padding: 6px 12px; border: 1px solid var(--border, #e2e8f0);
  border-radius: 99px; color: var(--primary, #0f766e); text-decoration: none;
}

/* ── disclosure bars ── */
.disclosure-bar, .disclosure-banner {
  font-size: 12.5px; color: var(--text-2, #475569); background: var(--bg, #f8fafb);
  border: 1px solid var(--border, #e2e8f0); border-radius: 8px; padding: 9px 13px;
  max-width: 820px; margin: 0 auto 14px;
}

@media (max-width: 640px) {
  .facts-grid, .cta-grid { grid-template-columns: 1fr; }
}


/* --- type-badge pill fix + disclosure centring (2026-07-31) ---
   .type-badge inherited the 820px block rule above and rendered as a full-width teal BAR across the
   content column instead of a small label. .disclosure-callout carried the max-width but not the
   auto margins, so it sat left of the column it belongs to. Both were visible only on screen. */
.article-body .type-badge, .type-badge {
  display: inline-flex; align-items: center; gap: 6px; width: auto; max-width: max-content;
  font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase;
  padding: 4px 11px; border-radius: 99px;
  background: var(--primary-light, #ccfbf1); color: var(--primary-dark, #134e4a);
  margin: 0 0 14px;
}
.disclosure-callout { max-width: 820px; margin-left: auto; margin-right: auto; }

/* --- disclosure specificity (2026-07-31) ---
   .disclosure-callout took the max-width but computed margin-left:0, so an earlier, more specific
   rule was winning. Raised specificity to element+class under its parent rather than reaching for
   !important, which would have buried the conflict instead of resolving it. */
article.article-body > aside.disclosure-callout,
article.article-body > .disclosure-callout {
  margin-left: auto; margin-right: auto;
}


/* === OMNIRX ASSISTANCE COMPONENTS (2026-07-31) === */
/* Second archetype, second entirely separate set of unstyled classes. The formulary fix did not
   reach these because the assistance pages use different markup: `.overview-card`, `.elig-row`,
   `.elig-icon`, `.elig-content`, `.elig-label`, `.elig-value`, `.drug-tags`, `.apply-steps`,
   `.apply-step-text`, `.apply-btn` — none defined in any stylesheet.

   Measured live on /assistance/mounjaro-patient-assistance: `.overview-card` renders at x=240
   width 1665, i.e. the full page, starting in the sidebar gutter — because it is a direct child of
   `main.body` rather than of `.article-body`, so the containment rule added for the formulary
   archetype could not see it. **Two archetypes, two containers, one missed assumption.**

   These are the highest-vulnerability pages on the property: someone who cannot afford a named
   medication. A page that looks broken to that reader is a trust failure before it is a design one. */

/* containment — main.body children, matching what .article-body children already get */
main.body > .overview-card,
main.body > .elig-section,
main.body > .apply-section {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

/* ── program overview card ── */
.overview-card {
  background: var(--surface, #fff); border: 1px solid var(--border, #e2e8f0);
  border-left: 3px solid var(--primary, #0f766e); border-radius: 10px;
  padding: 15px 18px; margin: 0 auto 20px;
}
.overview-card strong, .overview-title { display: block; font-weight: 700; font-size: 16px; color: var(--text, #0f172a); margin-bottom: 5px; }

/* ── eligibility rows ── */
.elig-row {
  display: flex; gap: 11px; align-items: flex-start;
  padding: 12px 0; border-bottom: 1px solid var(--border, #e2e8f0);
}
.elig-row:last-child { border-bottom: 0; }
.elig-icon { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; color: var(--primary, #0f766e); }
.elig-icon svg { width: 18px; height: 18px; display: block; }
.elig-content { flex: 1 1 auto; min-width: 0; }
.elig-label {
  display: block; font-size: 11px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .06em; color: var(--text-3, #94a3b8); margin-bottom: 3px;
}
.elig-value { font-size: 14.5px; line-height: 1.6; color: var(--text-2, #475569); }

/* ── drug tags ── */
.drug-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0 4px; }
.drug-tags span, .drug-tags a {
  font-size: 12.5px; padding: 4px 10px; border-radius: 99px;
  background: var(--primary-light, #ccfbf1); color: var(--primary-dark, #134e4a);
  text-decoration: none;
}

/* ── how to apply ── */
.apply-steps { counter-reset: step; margin: 14px 0; padding: 0; list-style: none; }
.apply-steps > li, .apply-step {
  position: relative; padding: 0 0 14px 32px; counter-increment: step;
  font-size: 14.5px; line-height: 1.6; color: var(--text-2, #475569);
}
.apply-steps > li::before, .apply-step::before {
  content: counter(step); position: absolute; left: 0; top: 0;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--primary, #0f766e); color: #fff;
  font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.apply-step-text { display: block; }
.apply-btn {
  display: inline-block; padding: 9px 18px; border-radius: 8px;
  background: var(--primary, #0f766e); color: #fff; font-weight: 700; font-size: 14px;
  text-decoration: none; margin-top: 6px;
}
.apply-btn:hover { background: var(--primary-dark, #134e4a); }

@media (max-width: 640px) {
  .elig-row { gap: 9px; }
}


/* === SEVERITY BADGE + SOURCE TAG (2026-07-31) === */
/* .severity-badge rendered as an undifferentiated full-width strip on all 53 interaction pages,
   with no modifier class, while the content spans Severe (26), Moderate (16), Mild (7) and none (4).
   On a drug-interaction lookup, severity IS the answer. Rendering it flat means the page contains
   the answer while communicating none of it. Modifier classes were added from each page's own
   visible text — never inferred — and colour-coded here. Sized as a pill, not a bar. */
.severity-badge {
  display: inline-flex; align-items: center; gap: 7px;
  width: auto; max-width: max-content;
  font-size: 13.5px; font-weight: 700;
  padding: 6px 14px; border-radius: 99px;
  border: 1px solid transparent; margin: 0 0 16px;
}
.severity-badge svg { width: 16px; height: 16px; flex: 0 0 auto; }
.severity-badge.severity-severe   { background: var(--warn-light, #fef2f2);   color: var(--warn, #dc2626);   border-color: rgba(220,38,38,.28); }
.severity-badge.severity-moderate { background: var(--orange-light, #fff7ed); color: var(--orange, #ea580c); border-color: rgba(234,88,12,.28); }
.severity-badge.severity-mild     { background: var(--yellow-light, #fefce8); color: var(--yellow, #ca8a04); border-color: rgba(202,138,4,.30); }
.severity-badge.severity-none     { background: var(--green-light, #f0fdf4);  color: var(--green, #16a34a);  border-color: rgba(22,163,74,.28); }

/* Source attribution: a provenance line, not a heading. Small, quiet, always visible. */
.source-tag {
  display: inline-block; font-size: 12.5px; color: var(--text-3, #94a3b8);
  font-style: italic; margin: 0 0 10px;
}
