@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap");

/* Medicare typography for the explicitly approved resource articles and guides. */
.art-hero__inner,
.guide-hero__inner {
  box-sizing: border-box;
  max-width: 780px;
  margin: 0 auto;
  padding: 0 clamp(20px,5vw,48px);
}

.art-hero__h1,
.guide-hero__h1 {
  font-family: 'Inter',sans-serif;
  font-size: clamp(30px,5vw,54px);
  font-weight: 900;
  line-height: 0.97;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  margin: 0 0 24px;
}

.art-hero__sub,
.guide-hero__sub {
  font-family: 'Inter',sans-serif;
  font-size: clamp(15px,1.8vw,18px);
  font-weight: 400;
  line-height: 1.76;
  max-width: 600px;
  margin: 0;
}

.art-body:has(> .art-body-inner),
.art-body:has(> .container) {
  box-sizing: border-box;
  max-width: none;
  margin: 0;
  padding: clamp(40px,6vw,72px) clamp(20px,5vw,48px);
}

.art-body-inner,
.art-body > .container {
  box-sizing: border-box;
  max-width: 780px;
  margin: 0 auto;
  padding: 0 clamp(20px,5vw,48px);
}

/* A single existing wrapper gets Medicare's same outer and inner gutters. */
.guide-body,
.article-wrap,
main.article-body,
main.article-container,
.art-body:not(:has(> .art-body-inner, > .container)) {
  box-sizing: border-box;
  max-width: 780px;
  width: calc(100% - clamp(20px,5vw,48px) - clamp(20px,5vw,48px));
  margin: 0 auto;
  padding: clamp(40px,6vw,72px) clamp(20px,5vw,48px);
}

.art-h2,
.guide-h2,
.art-chapter__h {
  font-family: 'Inter',sans-serif;
  font-size: clamp(18px,2.2vw,24px);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  margin: 44px 0 16px;
  line-height: 1.1;
}

h3.art-h3:not(:where(main.article-body > div.two-col-grid, main.article-body > div.two-col-grid *, main.article-body > div.callout.callout--dark, main.article-body > div.callout.callout--dark *)),
h3.guide-h3 {
  font-family: 'Inter',sans-serif;
  font-size: clamp(15px,1.8vw,17px);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin: 32px 0 12px;
  line-height: 1.25;
}

p.art-p:not(:where(main.article-body > ul.numbered-list, main.article-body > ul.numbered-list *, main.article-body > div.two-col-grid, main.article-body > div.two-col-grid *, main.article-body > div.callout.callout--dark, main.article-body > div.callout.callout--dark *, .art-body > .container > div.callout.callout--dark, .art-body > .container > div.callout.callout--dark *, .art-body > div.callout.callout--dark, .art-body > div.callout.callout--dark *)):not([style*="letter-spacing:0.06em"]),
p.guide-p {
  font-family: 'Inter',sans-serif;
  font-size: clamp(17px,1.8vw,19px);
  font-weight: 400;
  font-style: normal;
  line-height: 1.85;
  margin: 0 0 22px;
}

p.art-p:not(:where(main.article-body > ul.numbered-list, main.article-body > ul.numbered-list *, main.article-body > div.two-col-grid, main.article-body > div.two-col-grid *, main.article-body > div.callout.callout--dark, main.article-body > div.callout.callout--dark *, .art-body > .container > div.callout.callout--dark, .art-body > .container > div.callout.callout--dark *, .art-body > div.callout.callout--dark, .art-body > div.callout.callout--dark *)):not([style*="letter-spacing:0.06em"]) strong,
p.guide-p strong {
  font-weight: bolder;
}

p.art-lead,
.guide-body > .guide-section:first-child > p.guide-p:first-of-type {
  font-family: 'Inter',sans-serif;
  font-size: clamp(17px,2vw,21px);
  font-weight: 700;
  font-style: normal;
  line-height: 1.55;
  margin: 0 0 32px;
}

/* Ordinary prose lists only; special/custom lists retain their geometry. */
.art-body-inner > ul.art-list {
  margin: 0 0 24px;
  padding-left: 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.art-body-inner > ul.art-list > li {
  font-family: 'Inter',sans-serif;
  font-size: clamp(16px,1.8vw,18px);
  line-height: 1.85;
}

/* Special blocks keep every layout/color/spacing declaration; fonts only. */
.callout, .callout *,
.stat-strip, .stat-strip *,
.claim-card, .claim-card *,
.pull-quote, .pull-quote *,
.statement-band, .statement-band *,
.read-next, .read-next *,
.cta-std, .cta-std *,
.app-table-wrap, .app-table-wrap *,
.step-block, .step-block *,
.scenario-grid, .scenario-grid *,
.misreport-list, .misreport-list *,
.works-grid, .works-grid *,
.guide-pullquote, .guide-pullquote *,
.guide-divider, .guide-divider *,
.skill-grid, .skill-grid *,
.guide-highlight-box, .guide-highlight-box *,
.guide-numbered, .guide-numbered *, .guide-numbered li::before,
.guide-cta, .guide-cta *,
section.stat-strip, section.stat-strip *,
main.article-body > ul.numbered-list, main.article-body > ul.numbered-list *,
main.article-body > blockquote.pull-quote, main.article-body > blockquote.pull-quote *,
main.article-body > div.two-col-grid, main.article-body > div.two-col-grid *,
main.article-body > div.callout.callout--dark, main.article-body > div.callout.callout--dark *,
section.read-next, section.read-next *,
section.cta-std, section.cta-std *,
main.art-body > .callout.callout--dark, main.art-body > .callout.callout--dark *,
main.art-body > ul.numbered-list, main.art-body > ul.numbered-list *,
main.art-body > blockquote.pull-quote,
main.art-body > .art-table-wrap, main.art-body > .art-table-wrap *,
#faq-fast-food, #faq-fast-food *,
.pillars, .pillars *,
.skills-grid, .skills-grid *,
.numbered-list, .numbered-list *,
.art-body-inner > div[style="background:#fff8e1;border-left:3px solid #e67e22;padding:16px 20px;margin-bottom:28px;"], .art-body-inner > div[style="background:#fff8e1;border-left:3px solid #e67e22;padding:16px 20px;margin-bottom:28px;"] *,
.art-body-inner > div[style="overflow-x:auto;margin:0 0 28px 0;"], .art-body-inner > div[style="overflow-x:auto;margin:0 0 28px 0;"] *,
.art-disclaimer, .art-disclaimer *,
key-point.key-point, key-point.key-point *,
.guide-stat-row, .guide-stat-row *,
.guide-checklist, .guide-checklist *,
.guide-table-wrap, .guide-table-wrap *,
.guide-disclaimer, .guide-disclaimer *,
.guide-references, .guide-references *,
.art-body > .container > .callout.callout--dark, .art-body > .container > .callout.callout--dark *,
.art-body > .container > .numbered-list, .art-body > .container > .numbered-list *,
.art-body > .container > blockquote.pull-quote,
.guide-stat-row,
.guide-stat-row *,
.guide-pullquote,
.guide-pullquote *,
.guide-divider,
.guide-divider *,
.guide-table-wrap,
.guide-table-wrap *,
.guide-checklist,
.guide-checklist *,
.guide-cta,
.guide-cta *,
.guide-references,
.guide-references *,
.ex-group,
.ex-group *,
.stat-strip,
.stat-strip *,
.callout,
.callout *,
.pull-quote,
.pull-quote *,
.workout-table-wrap,
.workout-table-wrap *,
.read-next,
.read-next *,
.cta-std,
.cta-std *,
.art-body-inner > .callout, .art-body-inner > .callout *,
.art-body-inner > .table-scroll, .art-body-inner > .table-scroll *,
.art-body-inner > .source-grid, .art-body-inner > .source-grid *,
.art-body-inner > ol.numbered-list, .art-body-inner > ol.numbered-list *,
.art-body-inner > .pull-quote, .art-body-inner > .pull-quote *,
.art-body-inner > .myth-block, .art-body-inner > .myth-block *,
.ex-card, .ex-card *,
.conviction-strip,
.art-pull,
.art-pull p,
.art-callout,
.conviction-box,
.logic-chain,
.number-proof,
.art-dark-band,
.art-dark-band p,
.opening-strip, .opening-strip *,
.habit-list, .habit-list *,
.conviction-band, .conviction-band *,
.mission-grid, .mission-grid *,
.conviction-close, .conviction-close *,
.confession-strip, .confession-strip *,
ul.transform-list, ul.transform-list *,
.contrast-band, .contrast-band *,
.compare-grid, .compare-grid *,
.contrast-block, .contrast-block *,
ol.numbered-list, ol.numbered-list *,
.three-col,
.three-col *,
ol.numbered-list,
ol.numbered-list *,
section.read-next,
section.read-next *,
section.cta-std,
section.cta-std *,
.art-body-inner > .callout,
.art-body-inner > .callout *,
.art-body-inner > ol.step-list,
.art-body-inner > ol.step-list *,
.art-body-inner > .pull-quote,
.art-body-inner > .pull-quote *,
.article-wrap > .pull-quote, .article-wrap > .pull-quote *,
.article-wrap > .callout, .article-wrap > .callout *,
.article-wrap > .steps, .article-wrap > .steps *,
.article-wrap > a.link-card, .article-wrap > a.link-card *,
.answer-box, .answer-box *,
.steps, .steps *,
a.link-card, a.link-card *,
table.decision-table, table.decision-table *,
.article-container > .numbered-list, .article-container > .numbered-list *,
.article-container > .callout, .article-container > .callout *,
.article-container > .callout--pink, .article-container > .callout--pink *,
.art-body > .callout.callout--dark,
.art-body > .callout.callout--dark *,
.art-body > ul.numbered-list,
.art-body > ul.numbered-list *,
.art-body > ul.numbered-list > li::before,
.art-body > blockquote.pull-quote,
.conviction-strip, .conviction-strip *,
.confession, .confession *,
.scale-grid, .scale-grid *,
.conviction-quote, .conviction-quote *,
.truths, .truths *,
.smart-scale, .smart-scale *,
.art-body-inner > ul[style="list-style:none;margin:20px 0 28px;display:flex;flex-direction:column;gap:12px;"], .art-body-inner > ul[style="list-style:none;margin:20px 0 28px;display:flex;flex-direction:column;gap:12px;"] *,
ol.step-list,
ol.step-list *,
.art-factor-grid, .art-factor-grid *,
.art-pull, .art-pull *,
.art-two-col, .art-two-col *,
.art-conviction, .art-conviction *,
p.art-bold-line {
  font-family: 'Inter',sans-serif;
}

.callout > div.callout__label,
.claim-card div.claim-card__label,
.claim-card div.claim-card__claim,
.claim-card div.claim-card__rebuttal-label,
.claim-card__verdict > div.claim-card__verdict-label,
.stat-cell > div.stat-cell__num,
.statement-band div.statement-band__text,
.read-next__inner > div.read-next__label,
.read-next__card > div.read-next__card-title,
.cta-std__wrap > p.cta-std__title,
.app-table th,
.step-block__content > div.step-block__title,
.scenario-card > div.scenario-card__title,
.misreport-list > li > div > strong,
.works-grid > .works-cell > div.works-cell__label,
div.guide-divider__h,
div.skill-card__title,
.guide-numbered li div.num-title,
h2.guide-cta__h,
main.article-body > .two-col-grid > div > h3.art-h3,
main.article-body > .callout.callout--dark > h3.art-h3,
section.cta-std > .container > h2.cta-std__title,
.callout.callout--dark > p > strong,
ul.numbered-list > li > strong,
.art-table > thead > tr > th,
#faq-fast-food > p.faq-group__title,
#faq-fast-food .faq-item > div.faq-item__q,
.pillar > div.pillar__title,
.skill-card > div.skill-card__title,
.art-body-inner > div[style="background:#fff8e1;border-left:3px solid #e67e22;padding:16px 20px;margin-bottom:28px;"] > p:first-child,
.art-body-inner > div[style="overflow-x:auto;margin:0 0 28px 0;"] > div > table > thead > tr > th,
key-point.key-point > div.key-point__label,
.read-next div.read-next__label,
.read-next div.read-next__card-title,
.cta-std p.cta-std__title,
div.guide-stat__n,
.guide-table th,
.guide-divider__h,
.guide-numbered li .num-title,
.guide-cta__h,
.art-body > .container > .callout.callout--dark > p.art-h3,
.cta-std > .container > h2.cta-std__title,
div.guide-stat__label,
h2.ex-group__title,
h3.ex-card__name,
div.ex-card__col-label,
.ex-card__note > strong,
div.ex-card__rebel-label,
div.callout__label,
.workout-table th,
div.read-next__label,
div.read-next__card-title,
p.cta-std__title,
.stat-strip .stat-cell__num,
.protein-table thead th,
.source-card > div.source-card__title,
.myth-item > div.myth-item__label,
.ex-card > h3.ex-card__name,
.ex-card__avoid > div.ex-card__avoid-label,
.art-callout > div.art-callout__label,
.conviction-box > div.conviction-box__label,
.conviction-box > div.conviction-box__line,
.number-proof__cell > div.number-proof__cell-label,
p.opening-strip__headline,
span.habit-list__habit,
h2.conviction-band__headline,
div.mission-cell__headline,
h2.conviction-close__headline,
.confession-strip div.confession-cell__value,
.contrast-band h2.contrast-band__headline,
.compare-grid div.compare-cell__headline,
.conviction-close h2.conviction-close__headline,
section.read-next div.read-next__card-title,
section.cta-std p.cta-std__title,
div.stat-cell__num,
div.contrast-cell__label,
ol.numbered-list > li > span > strong,
.numbered-list li > span:not(.nl-num) > strong,
.contrast-block .contrast-cell > div.contrast-cell__label,
.three-col__cell > div.three-col__title,
.step-list > li > div > strong,
.steps p.step__title,
a.link-card > p.link-card__title,
.read-next__card > p.read-next__card-title,
.cta-std h2.cta-std__title,
.answer-box > p.answer-box__label,
.callout > p.callout__label,
.steps .step p.step__title,
table.decision-table thead th,
.read-next__inner > p.read-next__label,
a.read-next__card > p.read-next__card-title,
.cta-std__wrap > h2.cta-std__title,
.stat-strip > .stat-cell > h3,
.article-container > .callout--pink > h3,
.cta-std > h2,
.art-body > div.callout.callout--dark > h3,
.conviction-strip div.conviction-cell__num,
.confession p.confession__eyebrow,
.scale-grid div.scale-cell__label,
.truths div.truth__title,
.smart-scale p.smart-scale__eyebrow,
.smart-scale p.smart-scale__title,
.smart-scale div.smart-scale__metric-num,
.art-body-inner > ul[style="list-style:none;margin:20px 0 28px;display:flex;flex-direction:column;gap:12px;"] > li > span:nth-child(2) > strong,
ol.step-list > li > div > strong,
.art-factor-card > div.art-factor-card__title,
.art-two-col__box > div.art-two-col__box-label,
.art-conviction > p {
  font-family: 'Inter',sans-serif;
  font-weight: 900;
}
