/* Fillwise screen type system. Keep feature-specific type rules here so new
   panels use the same hierarchy. Print retains the dedicated print stylesheet. */
:root {
  --text-small: 14px;
  --text-body: 16px;
  --text-subhead: 18px;
  --text-section: 22px;
  --text-title: 28px;
  --ink-2: #46566a;
}
body {font:400 var(--text-body)/1.55 var(--sans)}
b,strong {font-weight:600}
a[href^="tel:"] {white-space:nowrap}
h1,h2,h3,h4,h5 {font-family:var(--sans);font-weight:600;letter-spacing:normal;line-height:1.3}
.brand {font-family:var(--serif);font-weight:600}
.answer h1,body:not(.has-plan) .intro h1 {font-size:var(--text-title);font-weight:600;line-height:1.25;letter-spacing:-.2px}
.answer h2,.answer .report-section h2 {font-size:var(--text-section);font-weight:600;line-height:1.3;margin-bottom:14px}
.pad h2,.section-title h2 {font-size:20px;font-weight:600;line-height:1.3}
.answer h3,.answer h3.supports,.answer .clinical-details .row h3,
.answer .manufacturer-assistance h2,.answer .price-context h2,
.answer .private-plan-section h3,.answer .manufacturer-details h4,.answer .row .eap h4 {
  font-size:var(--text-subhead);font-weight:600;line-height:1.4
}
.answer .meds-line,.answer .answer-summary {font-size:var(--text-body);line-height:1.55;max-width:90ch}
.answer .answer-summary {margin:18px 0}
.answer .who,.plan-tools .sheet-scenario,.plan-tools .change,.report-nav,
.answer .section-note,.answer .fine,.answer .row .read,.answer .row .amt small,
.answer .row h3 .n,.answer .row .badge,.answer .row .tag.eaplist,
.answer .closed-routes,.answer .other-checks,.answer .refill-assumptions,
.answer .sources-link,.answer blockquote cite,.answer ul.help .n,
.answer .manufacturer-assistance .assistance-limits,footer.foot,.dates {
  font-size:var(--text-small);line-height:1.5;font-weight:400
}
.answer .fine,.answer .section-note {max-width:90ch}
.answer .report-nav {font-size:var(--text-small);line-height:1.5;gap:8px 18px}
.answer .step .t {font-size:var(--text-body);font-weight:600;line-height:1.5}
.answer .step .d,.answer ul.help>li,.answer .row .script,.answer .row .alt,
.answer .row .note,.answer .row .lu,.answer .row .record-status,.answer .payer-conditions,
.answer .private-plan-section .how,.answer .manufacturer-assistance p,
.answer .manufacturer-details p,.answer .dental-benefit p,.answer .dental-benefit details p,
.answer .dental-benefit ul li,.answer .price-context p,.answer .price-context .reference-price {
  font-size:var(--text-body);line-height:1.55
}
.answer .step .d,.answer .manufacturer-details,.answer .dental-benefit,
.answer .private-plan-section,.answer ul.help>li {max-width:90ch}
.answer .step .d>p {margin:8px 0}
.answer .step .d>p:first-child {margin-top:6px}
.answer ul.help>li {padding:12px 0}
.answer ul.help>li:first-child {padding-top:0}
.answer .step {padding:18px 0;gap:8px 12px}
.answer .step.support {padding-bottom:18px}
.answer .step.support .n {display:block;font-size:var(--text-small);font-weight:400;color:var(--ink-2)}
.answer .step-link {display:block;width:fit-content;margin:5px 0 8px;font-size:var(--text-body)}
.answer .report-section {margin-top:28px;padding-top:24px}
.answer .comparison-section {margin-top:20px;padding-top:0}
.answer .clinical-details h3.supports {margin:24px 0 12px}
.answer .private-plan-section .how {display:block;padding-left:22px}
.answer .private-plan-section .how li {margin:10px 0;max-width:82ch}
.answer .manufacturer-assistance,.answer .price-context {padding:16px 20px}
.answer .manufacturer-assistance p {margin:8px 0}
.answer .manufacturer-assistance .assistance-limits {margin-top:12px}
.answer .manufacturer-details>div>p {max-width:82ch}
.answer details>summary,.answer .row details.why summary,
.answer .row .eap details.eap-record>summary,.answer .dental-benefit>details>summary,
.answer .related-products>summary,.answer table.compare .why-toggle {
  font:400 var(--text-small)/1.5 var(--sans);padding:4px 0;min-height:28px;color:var(--navy)
}
.answer details[open]>summary {margin-bottom:8px;font-weight:600}
.answer details.why>div,.answer .step-evidence,.answer ul.help details,
.answer details.why h4,.answer .row .eap h5,.answer .row .eap .ctext,
.answer .row .eap .ev,.answer .row .eap ol.clauses li.context,
.answer blockquote,.answer table.compare tr.why blockquote,.answer .closed-route blockquote {
  font:400 var(--text-body)/1.55 var(--sans)
}
.answer blockquote,.answer .step-evidence>div {margin:10px 0 14px;padding:4px 0 4px 16px;border-left:2px solid var(--rule-2);background:transparent;max-width:82ch}
.answer blockquote cite {margin-top:8px}
.answer .row .eap h5,.answer details.why h4 {font-weight:600;margin:16px 0 8px}
.answer table.compare.route-comparison {font-size:var(--text-body);line-height:1.5}
.answer table.compare.route-comparison thead th {font-size:var(--text-small);line-height:1.4}
.answer table.compare.route-comparison tbody th,.answer table.compare.route-comparison tbody td {font-size:var(--text-body);line-height:1.5;padding:14px 12px}
.answer table.compare.route-comparison tbody th {font-weight:600}
.answer table.compare.route-comparison td.amt,.answer .clinical-details .row .amt {font-family:var(--sans);font-size:22px;font-weight:600;line-height:1.3}
.answer table.compare.route-comparison tr.cash td.amt {font-size:var(--text-body);font-weight:600}
.answer table.compare.route-comparison td.amt small,.answer table.compare .use,
.answer table.compare .program-note,.answer table.compare th small {font-size:var(--text-small);font-weight:400;line-height:1.45}
.answer table.compare .use {margin-top:10px}
.answer .row .amt small {white-space:normal;max-width:22ch}
.field>span,.field small,.med .count small,.med .supply .lbl,
.med .supply .blank,.med .qty .option-help,.med details.more>summary,
.med .supply .chip,.med .qty .no-substitution,.form-disclosure>summary,
.form-disclosure .chip,.quiet,.section-title>span,.listbox .st {
  font-family:var(--sans);font-size:var(--text-small);line-height:1.45
}
.field>span,.med .supply .lbl {font-weight:600}
.med .tail button {font-size:var(--text-small);line-height:1.5;padding:3px 0 5px 6px}
.med .supply .chip {min-height:40px}
.med .qty .no-substitution {font-weight:400}
.listbox li,input[type=text],input[type=number],select,
button,.pad-actions button.primary,.pad-actions button.link,#add-med,
.plan-tools .primary,.answer .row .eap .ev input[type=text],.answer .row .eap textarea.eap-out {
  font-family:var(--sans);font-size:var(--text-body);line-height:1.45
}
.top nav a,.top nav button,.brand-line {font-size:var(--text-small);line-height:1.5}
body:not(.has-plan) .intro>p:not(.intro-note),body:not(.has-plan) .intro-steps strong {font-size:var(--text-body);line-height:1.5}
body:not(.has-plan) .intro .intro-note,body:not(.has-plan) .intro-steps span {font-size:var(--text-small);line-height:1.5}
@media(max-width:1100px) {
  .answer table.compare.route-comparison tbody th,.answer table.compare.route-comparison tbody td {padding:12px 8px}
}
@media(max-width:650px) {
  :root {--text-title:26px;--text-section:21px}
  .answer table.compare.route-comparison tbody tr {grid-template-columns:minmax(0,1fr) 118px;gap:12px;padding:18px 0}
  .answer table.compare.route-comparison tbody th,.answer table.compare.route-comparison tbody td {padding:0}
  .answer table.compare.route-comparison tbody td.amt {font-size:20px}
  .answer table.compare.route-comparison tbody td[data-label]::before {font-size:var(--text-small);font-weight:600;line-height:1.5;text-transform:none;letter-spacing:normal}
  .answer .clinical-details .row {grid-template-columns:minmax(0,1fr) 118px;gap:8px 12px}
  .answer .clinical-details .row .amt {font-size:20px}
  .answer details>summary,.answer .row details.why summary,.answer .dental-benefit>details>summary {min-height:44px;padding:10px 0}
  .answer .manufacturer-assistance,.answer .price-context {padding:14px 16px}
}

/* Preserve these roles in feature headings and route labels as well. */
.answer .meds-line,.answer table.compare tbody th,.answer table.compare tr.why h4,.answer .row .eap h4,.answer h3.supports{font-family:var(--sans);font-weight:600}
