/* Report type scale: one source of truth, loaded after component/print styles.
 * T1: section titles. T2: subsection titles. T3: body and field values.
 * Caption: labels, units and sources. Data/display: numeric emphasis only.
 * SVG chart labels use their own viewBox units; source-page images stay original.
 */
.a6-mode #a6-result {
  --sv-type-t1: 24px;
  --sv-type-t2: 18px;
  --sv-type-t3: 14px;
  --sv-type-caption: 12px;
  --sv-type-data: 20px;
  --sv-type-display: 32px;
  --sv-type-hero: 44px;
  --sv-leading-title: 1.4;
  --sv-leading-body: 1.75;
  --sv-leading-caption: 1.6;
}
.a6-mode #a6-result .a6-report {
  font-size: var(--sv-type-t3);
  line-height: var(--sv-leading-body);
}
/* Neutralize legacy per-component sizes so unclassified inline text inherits. */
.a6-mode #a6-result .a6-report :where(*):not(:where(svg, svg *)) {
  font-size: inherit;
  line-height: inherit;
}
/* T1 */
.a6-mode #a6-result .a6-report :is(h1, h2) {
  font-size: var(--sv-type-t1);
  line-height: var(--sv-leading-title);
}
/* T2 */
.a6-mode #a6-result .a6-report :is(h3, h4, .a6-benefit-name,
  .a6-company-ratings > .a6-supplement-kicker, .a6-age-control-head label) {
  font-size: var(--sv-type-t2);
  line-height: var(--sv-leading-title);
}
/* T3: content, body copy, table values, and compact data labels. */
.a6-mode #a6-result .a6-report :is(p, td, .sv-overview-client b,
  .sv-overview-focus > div > span, .sv-income-summary,
  .sv-benefit-row-label h3, .a6-rating-agency, .a6-company-title > span,
  .a6-disclaimer-copy, .a6-appendix-description, .a6-benefits-subtitle,
  .a6-benefit-card p, .sv-living-condition-list li, .a6-age-metrics strong) {
  font-size: var(--sv-type-t3);
  line-height: var(--sv-leading-body);
}
/* Supporting copy uses the same size in every section. */
.a6-mode #a6-result .a6-report :is(small, dt, th,
  .sv-section-heading > span, .sv-overview-client span,
  .sv-overview-focus > div > small, .sv-assumption-note,
  .a6-note, .a6-purpose-note, .a6-income-method, .sv-milestone-note,
  .sv-cash-heading > span, .sv-cash-source, .sv-age-phase,
  .sv-age-instruction, .a6-age-range-labels, .sv-age-phase-legend button,
  .a6-age-metrics > div > span, .a6-age-metrics small,
  .a6-age-explanation, .a6-age-note, .a6-age-activity,
  .sv-benefit-heading p, .sv-benefit-alert, .sv-benefit-row-label p,
  .sv-benefit-row-label h3 span, .sv-benefit-original, .sv-benefit-bound-label,
  .sv-benefit-number small, .sv-benefit-number.is-missing,
  .sv-benefit-detail-notes p, .sv-benefit-footnotes p, .sv-benefit-source-link, .a6-benefit-note,
  .sv-benefit-mobile-age, .a6-benefit-english, .a6-benefit-code, .a6-benefit-new,
  .a6-benefits-expansion, .a6-benefits-limits, .a6-benefits-source,
  .a6-supplement-kicker, .sv-company-eyebrow, .sv-company-art-motto,
  .a6-fact-label, .a6-fact-note, .a6-rating-value span,
  .a6-rating-caption, .a6-company-source, .a6-appendix-source,
  .a6-source-sheet figcaption p, .a6-source-sheet figcaption a,
  .a6-disclaimer-table th, .a6-disclaimer-table td, .a6-disclaimer-footer,
  .a6-cover-eyebrow, .a6-cover-title p, .a6-cover-metrics span,
  .sv-print-cover-product) {
  font-size: var(--sv-type-caption);
  line-height: var(--sv-leading-caption);
}
.a6-mode #a6-result .a6-report .a6-company-ratings > .a6-supplement-kicker {
  font-size: var(--sv-type-t2);
  line-height: var(--sv-leading-title);
}
/* Numeric emphasis is shared by the timeline, benefit matrix and company facts. */
.a6-mode #a6-result .a6-report :is(.sv-age-milestone h3,
  .sv-age-milestone dd, .sv-benefit-number, .a6-company-facts strong,
  .sv-company-identity > .a6-company-fact strong, .a6-cover-metrics b) {
  font-size: var(--sv-type-data);
  line-height: var(--sv-leading-title);
  font-variant-numeric: tabular-nums;
}
.a6-mode #a6-result .a6-report :is(.sv-overview-focus > div > b,
  .sv-benefit-terminal > strong, .a6-rating-value, [id$=a6-age-value],
  .a6-cover-title > div, .a6-cover-title h1) {
  font-size: var(--sv-type-display);
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}
.a6-mode #a6-result .a6-report :is(.sv-overview-focus > div:first-child > b,
  .a6-cover-title > div, .a6-cover-title h1) {
  font-size: var(--sv-type-hero);
}
.a6-mode #a6-result .a6-report [id$=a6-age-value] span {
  font-size: var(--sv-type-t3);
}
/* Keep unavailable amounts at caption size rather than numeric emphasis. */
.a6-mode #a6-result .a6-report .sv-benefit-number.is-missing {
  font-size: var(--sv-type-caption);
}
@media screen {
  .a6-mode #a6-result .sv-income-summary {
    padding: 12px 18px;
    gap: 16px;
    margin-bottom: 16px;
  }
  .a6-mode #a6-result .sv-income-summary > svg {
    flex-basis: 38px;
    width: 38px;
    height: 28px;
    padding-right: 12px;
  }
  .a6-mode #a6-result .sv-milestone-section { margin-bottom: 16px; }
  .a6-mode #a6-result .sv-age-milestone { padding: 30px 18px 10px; }
  .a6-mode #a6-result .sv-age-milestone h3 { margin-bottom: 6px; }
  .a6-mode #a6-result .sv-age-milestone dt { margin-bottom: 4px; }
  .a6-mode #a6-result .sv-age-milestone dl > div { padding: 10px 0; }
  .a6-mode #a6-result .sv-age-milestone:not(:last-child) dl:after { right: -18px; top: -30px; }
  .a6-mode #a6-result .sv-age-milestone:before { top: 12px; }
  .a6-mode #a6-result .sv-age-milestone:after {
    width: 16px;
    height: 16px;
    left: calc(50% - 8px);
    top: 5px;
  }
  .a6-mode #a6-result .sv-cash-workspace { gap: 12px; margin-bottom: 14px; }
  .a6-mode #a6-result .sv-cash-panel { padding: 14px 14px 0; }
  .a6-mode #a6-result .sv-cash-workspace .a6-age-explorer { padding: 14px; }
  .a6-mode #a6-result .sv-cash-panel [id$=a6-cash-chart-region] { padding-top: 10px; }
  .a6-mode #a6-result .sv-cash-panel .a6-cash-chart { max-height: 384px; }
  .a6-mode #a6-result .sv-cash-workspace .a6-age-metrics > div { padding: 7px 8px; }
  .a6-mode #a6-result .sv-cash-workspace .a6-age-detail { margin-top: 8px; }
  .a6-mode #a6-result .sv-age-phase-legend { margin: 7px 0 10px; gap: 6px 10px; }
}
@media screen and (max-width: 760px) {
  .a6-mode #a6-result { --sv-type-t1: 22px; --sv-type-data: 18px; --sv-type-display: 28px; --sv-type-hero: 32px; }
  .a6-mode #a6-result .sv-age-milestone { padding: 12px 14px 12px 38px; }
  .a6-mode #a6-result .sv-age-milestone dl > div { padding: 7px 0; }
  .a6-mode #a6-result .sv-age-milestone:before { left: 14px; top: 0; }
  .a6-mode #a6-result .sv-age-milestone:first-child:before { top: 22px; }
  .a6-mode #a6-result .sv-age-milestone:last-child:before { height: 22px; }
  .a6-mode #a6-result .sv-age-milestone:after { left: 7px; top: 15px; }
}
@media print {
  .a6-mode #a6-result {
    --sv-type-t1: 18px;
    --sv-type-t2: 14px;
    --sv-type-t3: 11px;
    --sv-type-caption: 9px;
    --sv-type-data: 16px;
    --sv-type-display: 25px;
    --sv-type-hero: 35px;
    --sv-leading-body: 1.65;
    --sv-leading-caption: 1.55;
  }
  .a6-mode #a6-result .a6-report .sv-print-brand { font-size: var(--sv-type-display); line-height: 1.2; }
  .a6-mode #a6-result .a6-report .sv-print-brand small { font-size: var(--sv-type-caption); }
  .a6-mode #a6-result .sv-benefit-label-col { width: 28%; }
  .a6-mode #a6-result .sv-benefit-bound-col { width: 70px; }
}

@media print {
 .a6-mode #a6-result .a6-report .sv-cover-geometric .sv-print-brand{font-size:36px;letter-spacing:7px;line-height:1.2}
 .a6-mode #a6-result .a6-report .sv-cover-geometric .sv-print-brand small{font-size:16px;letter-spacing:5.5px;line-height:1.5;color:#ab8e5c;margin-top:0}
 .a6-mode #a6-result .a6-report .sv-cover-geometric .sv-cover-eyebrow{font-size:15px;line-height:1.5}
 .a6-mode #a6-result .a6-report .sv-cover-geometric h1{font-size:57px;line-height:1.25}
 .a6-mode #a6-result .a6-report .sv-cover-geometric .sv-cover-client{font-size:34px;line-height:1.3}
 .a6-mode #a6-result .a6-report .sv-cover-geometric .sv-cover-motto{font-size:13px;line-height:1.55}
 .a6-mode #a6-result .a6-report .sv-cover-geometric .sv-cover-fields span{font-size:15px;line-height:1.5}
 .a6-mode #a6-result .a6-report .sv-cover-geometric .sv-cover-fields b{font-size:24px;line-height:1.35}
 .a6-mode #a6-result .a6-report .sv-cover-geometric .sv-cover-footer{font-size:13px;line-height:1.5}
}
@media print {
 .a6-mode #a6-result .a6-report .sv-cover-geometric .sv-cover-footer>span:first-child{font-size:17px}
}

/* Comparison uses the same report type levels, with bilingual field captions. */
.a6-mode #a6-result .sv-comparison-ledger :is(th,td,.sv-compare-plan){font-size:var(--sv-type-t3);line-height:1.65}
.a6-mode #a6-result .sv-comparison-ledger :is(small,.sv-compare-note,.sv-compare-column-label){font-size:var(--sv-type-caption);line-height:1.5}
.a6-mode #a6-result .sv-comparison-ledger :is(.sv-compare-group strong,.sv-compare-plan strong){font-size:var(--sv-type-t2);line-height:1.5}
@media print{
 .a6-mode #a6-result .sv-comparison-ledger :is(th,td){font-size:var(--sv-type-t3)!important}
 .a6-mode #a6-result .sv-comparison-ledger .sv-compare-print-title>b{font-size:16px}
}

@media print{.a6-mode #a6-result .sv-comparison-ledger .sv-compare-plan-print>strong{font-size:var(--sv-type-t2);line-height:1.45}}

/* Full-page company and living-benefit attachments retain the shared T1/T2/T3 scale. */
@media print{
 .a6-mode #a6-result .a6-report .sv-print-living{
  --sv-type-t1:24px;--sv-type-t2:16px;--sv-type-t3:13px;--sv-type-caption:10px;
  --sv-type-data:23px;--sv-type-display:32px;--sv-leading-body:1.75;--sv-leading-caption:1.65;
 }
}
@media print{
 .a6-mode #a6-result .a6-report [data-section=company]{
  --sv-type-t1:22px;--sv-type-t2:15px;--sv-type-t3:12px;--sv-type-caption:9px;
  --sv-type-data:20px;--sv-type-display:28px;--sv-leading-body:1.65;--sv-leading-caption:1.55;
 }
}

/* Shared burgundy heading palette for reports and exported PDFs. */
.a6-mode #a6-result :is(h1,h2,h3,h4,h5,h6),
.a6-mode #a6-result .a6-report :is(.a6-supplement-kicker,.sv-company-eyebrow,.a6-rating-agency,.a6-age-control-head label){color:#8c293d}
.a6-mode #a6-result:lang(en) .a6-report{overflow-wrap:break-word}
.a6-mode #a6-result:lang(en) .sv-overview-focus>div:first-child>span{font-size:var(--sv-type-t2)}
@media print{
 html:lang(en) .a6-mode #a6-result .sv-cover-heading h1{font-size:35px;max-width:65%;line-height:1.25}
 html:lang(en) .a6-mode #a6-result .sv-benefit-bound-label span{white-space:normal}
}
/* English descriptions are longer; keep the complete rider appendix on one page. */
.a6-mode #a6-result:lang(en) .a6-company-title>span,
.a6-mode #a6-result:lang(en) .sv-living-card-heading .a6-benefit-english{display:none}
@media print{
 html:lang(en) .a6-mode #a6-result .a6-report .sv-print-living{--sv-type-t3:12px;--sv-leading-body:1.6}
 html:lang(en) .a6-mode #a6-result .sv-print-living .sv-living-hero{padding:18px 14px}
 html:lang(en) .a6-mode #a6-result .sv-print-living .a6-benefit-card{padding:14px 12px}
 html:lang(en) .a6-mode #a6-result .sv-print-living .sv-living-card-heading{margin-bottom:12px}
 html:lang(en) .a6-mode #a6-result .sv-print-living .sv-living-footer{padding-top:12px}
}

/* Gold rules share one treatment across report heading levels and PDF exports. */
.a6-mode #a6-result :is(h1,h2,h3,h4,h5,h6),
.a6-mode #a6-result .a6-report :is(.a6-benefit-name,.a6-rating-agency,.a6-age-control-head label,.a6-company-ratings>.a6-supplement-kicker){
 position:relative;padding-bottom:9px;color:#8c293d;
}
.a6-mode #a6-result :is(h1,h2,h3,h4,h5,h6)::after,
.a6-mode #a6-result .a6-report :is(.a6-benefit-name,.a6-rating-agency,.a6-age-control-head label,.a6-company-ratings>.a6-supplement-kicker)::after{
 content:"";position:absolute;left:0;bottom:0;width:36px;height:2px;margin:0;background:#c6ac7c;border:0;
}
.a6-mode #a6-result h2.sv-section-heading::after{left:41px}

@media print{
 .a6-mode #a6-result :is(h1,h2,h3,h4,h5,h6),
 .a6-mode #a6-result .a6-report :is(.a6-benefit-name,.a6-rating-agency,.a6-age-control-head label,.a6-company-ratings>.a6-supplement-kicker){padding-bottom:0}
 .a6-mode #a6-result :is(h1,h2,h3,h4,h5,h6)::after,
 .a6-mode #a6-result .a6-report :is(.a6-benefit-name,.a6-rating-agency,.a6-age-control-head label,.a6-company-ratings>.a6-supplement-kicker)::after{bottom:-3px;height:1.5px}
}

/* Cash ledger: Caption for column labels/units; T3 for ages and values.
   Use the shared screen/print tokens instead of numeric-emphasis overrides. */
.a6-mode #a6-result .a6-report .sv-milestone-section table.sv-cash-age-table tbody :is(th,td),
.a6-mode #a6-result .a6-report .sv-cash-age-badge b{
 font-size:var(--sv-type-t3);line-height:var(--sv-leading-body);
}
.a6-mode #a6-result .a6-report .sv-milestone-section table.sv-cash-age-table thead th,
.a6-mode #a6-result .a6-report .sv-cash-age-badge{
 font-size:var(--sv-type-caption);line-height:var(--sv-leading-caption);
}
.a6-mode #a6-result .a6-report .sv-milestone-section table.sv-cash-age-table :is(th,td){font-variant-numeric:tabular-nums}
