.cme-resources, .cme-resource-facts {
  --resource-ink: var(--cme-ink, #0b2345);
  --resource-teal: var(--cme-teal-dark, #006761);
  --resource-line: var(--cme-line, #dfe5ec);
  color: var(--resource-ink);
  font-family: inherit;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.cme-resources *, .cme-resource-facts * { box-sizing: border-box; }
.cme-resources { margin-inline: auto; max-width: 1180px; padding: clamp(18px, 4vw, 48px) clamp(16px, 3vw, 32px); }
.cme-resources .cme-resources { padding: 0; margin: 0; }
.cme-resources [hidden] { display: none !important; }
.cme-resources h1 { font-size: clamp(32px, 5vw, 58px); line-height: 1.12; letter-spacing: -.025em; max-width: 820px; }
.cme-resources h2 { font-size: clamp(25px, 3vw, 36px); line-height: 1.25; }
.cme-resources h3 { font-size: 20px; line-height: 1.4; margin: 0 0 12px; }
.cme-resources p { margin-block: 0 16px; }
.cme-resources a, .cme-resource-facts a { color: var(--resource-teal); text-underline-offset: .2em; }
.cme-resources :focus-visible, .cme-resource-facts :focus-visible { outline: 3px solid #946210; outline-offset: 4px; }
.cme-resources [dir="rtl"], .cme-resources[dir="rtl"] { letter-spacing: normal; }
.cme-resource-hero { border-radius: 20px; padding: clamp(24px, 5vw, 58px); background: var(--resource-ink); color: #fff; position: relative; overflow: hidden; }
.cme-resource-hero::after { content: ''; position: absolute; inset-inline-end: -80px; inset-block-end: -120px; width: 280px; height: 280px; border: 1px solid #d99b2b; border-radius: 50%; pointer-events: none; opacity: .3; }
.cme-resources .cme-resource-hero h1 { color: #fff; margin-block: 12px 20px; }
.cme-resource-hero p { max-width: 710px; font-size: 18px; }
.cme-resources .cme-resource-eyebrow { color: var(--resource-teal); font-size: 12px; font-weight: 750; letter-spacing: .075em; text-transform: uppercase; margin-block: 0 12px; }
.cme-resources .cme-resource-hero .cme-resource-eyebrow { color: #f4dfb2; font-size: 12px; }
.cme-resources[dir="rtl"] .cme-resource-eyebrow { letter-spacing: normal; }
.cme-resource-section { margin-block-start: 52px; scroll-margin-block-start: 32px; }
.cme-resource-journey { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; list-style: none; margin: 24px 0 0; padding: 0; counter-reset: journey; }
.cme-resource-journey li { counter-increment: journey; border-block-start: 2px solid #d99b2b; padding-block-start: 20px; }
.cme-resource-journey li::before { content: '0' counter(journey); display: block; font-size: 14px; font-weight: bold; color: var(--resource-teal); margin-block-end: 12px; }
.cme-resource-journey h3 { font-size: 19px; }
.cme-resource-journey p { font-size: 15px; color: #405570; }
.cme-resource-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cme-resource-tools > a { display: flex; flex-direction: column; justify-content: center; min-height: 134px; background: #e9f4f1; border: 1px solid #c7ded6; border-radius: 14px; padding: 24px; color: var(--resource-ink); text-decoration: none; font-weight: 700; }
.cme-resource-tools > a:hover { background: #dceee8; }
.cme-resource-tools span { font-size: 14px; font-weight: 400; margin-block-start: 8px; }
.cme-resource-filters, .cme-resource-fields { display: grid; grid-template-columns: 2fr 1fr 1fr auto; gap: 16px; align-items: end; padding: 20px; background: #fff; border: 1px solid var(--resource-line); border-radius: 14px; margin-block: 24px 16px; }
.cme-resource-filters label, .cme-resource-fields label { min-width: 0; display: flex; flex-direction: column; gap: 7px; font-size: 14px; font-weight: 700; }
.cme-resources input:not([type="checkbox"]), .cme-resources select { min-width: 0; width: 100%; min-height: 46px; padding: 9px 11px; font: inherit; color: var(--resource-ink); background: #fff; border: 1px solid #8393a8; border-radius: 7px; }
.cme-resources input[type="date"] { direction: ltr; }
.cme-resources input[type="checkbox"] { width: 19px; height: 19px; accent-color: var(--resource-teal); flex-shrink: 0; margin: 4px 0; }
.cme-resource-button { display: inline-flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; cursor: pointer; min-height: 46px; border-radius: 8px; border: 1px solid var(--resource-ink); background: var(--resource-ink); color: #fff !important; padding: 11px 18px; font: inherit; font-size: 15px; font-weight: 700; line-height: 1.4; }
.cme-resource-button:hover { background: #20395d; }
.cme-resource-button-secondary { color: var(--resource-ink) !important; background: #fff; border-color: #8393a8; }
.cme-resource-button-secondary:hover, .cme-resource-button-secondary[aria-pressed="true"] { background: #e9f4f1; border-color: var(--resource-teal); }
.cme-resource-hero .cme-resource-button { background: #f4dfb2; color: #0b2345 !important; border-color: #f4dfb2; }
.cme-resource-guide-grid, .cme-resource-comparison-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cme-resource-card { display: flex; flex-direction: column; min-width: 0; padding: 24px; background: #fff; border: 1px solid var(--resource-line); border-radius: 14px; }
.cme-resource-card h3 a { color: var(--resource-ink); text-decoration-thickness: 1px; }
.cme-resource-card > p { font-size: 15px; }
.cme-resource-card-footer { font-size: 12px; color: #405570; border-block-start: 1px solid var(--resource-line); padding-block-start: 14px; margin-block-start: auto; }
.cme-resource-comparison-choices { display: flex; flex-wrap: wrap; gap: 10px 20px; padding: 18px 20px; margin: 0 0 24px; border: 1px solid var(--resource-line); border-radius: 10px; }
.cme-resource-comparison-choices legend { font-weight: 700; padding-inline: 5px; }
.cme-resource-compare-toggle { display: inline-flex; gap: 9px; align-items: center; min-height: 40px; cursor: pointer; }
.cme-resource-exam dl, .cme-resource-facts dl { margin: 10px 0; }
.cme-resource-exam dl > div, .cme-resource-facts dl > div { padding-block: 10px; border-block-end: 1px solid var(--resource-line); }
.cme-resource-exam dt, .cme-resource-facts dt { color: #405570; font-size: 13px; font-weight: 700; }
.cme-resource-exam dd, .cme-resource-facts dd { margin: 3px 0 0; font-size: 15px; }
.cme-resource-note { font-size: 14px; color: #405570; }
.cme-resource-notice { padding: 18px 20px; margin-block: 24px; background: #fff4da; color: #65400b; border-inline-start: 3px solid #d99b2b; border-radius: 6px; }
.cme-resource-checklist-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cme-resource-checklist > section { background: #fff; padding: 24px; border: 1px solid var(--resource-line); border-radius: 14px; height: 100%; }
.cme-resource-checklist ul { list-style: none; padding: 0; margin: 20px 0; }
.cme-resource-checklist li { border-block-end: 1px solid var(--resource-line); padding-block: 12px; }
.cme-resource-checklist label { display: flex; align-items: start; gap: 12px; cursor: pointer; }
.cme-resource-checklist input:checked + span { color: #405570; text-decoration: line-through; }
.cme-resource-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.cme-resource-downloads { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.cme-resource-downloads h3 { font-size: 18px; }
.cme-resource-download { display: flex; justify-content: space-between; gap: 12px; padding-block: 10px; border-block-end: 1px solid var(--resource-line); font-size: 14px; }
.cme-resource-download span { font-size: 12px; white-space: nowrap; }
.cme-resource-planner fieldset { margin: 24px 0; padding: 18px; border: 1px solid var(--resource-line); border-radius: 10px; }
.cme-resource-planner legend { font-weight: 700; padding-inline: 6px; }
.cme-resource-weekdays { display: flex; flex-wrap: wrap; gap: 12px 22px; }
.cme-resource-weekdays label { display: flex; align-items: center; gap: 10px; min-height: 40px; }
.cme-resources [data-planner-error] { color: #8e2020; padding: 16px; border: 1px solid #ae5555; margin-block: 20px; }
.cme-resources [data-planner-output] { margin-block-start: 38px; border-block-start: 2px solid #d99b2b; padding-block-start: 22px; }
.cme-resource-plan-summary { padding: 18px; border-radius: 9px; background: #e9f4f1; font-weight: 700; }
.cme-resource-plan-week { margin-block: 30px; }
.cme-resource-plan-week ul { list-style: none; margin: 0; padding: 0; }
.cme-resource-plan-week li { display: grid; grid-template-columns: 130px 88px minmax(0, 1fr); align-items: start; gap: 14px; padding: 16px; background: #fff; border-block-end: 1px solid var(--resource-line); }
.cme-resource-phase { font-size: 13px; border-radius: 4px; padding: 3px 8px; background: #e9f4f1; color: #005853; text-align: center; }
.cme-resource-phase-practice { background: #eaf0f8; color: #20395d; }
.cme-resource-phase-review { background: #fff4da; color: #65400b; }
.cme-resource-facts { background: #fff; padding: clamp(18px, 3vw, 30px); border: 1px solid var(--resource-line); border-radius: 14px; margin-block: 28px; }
.cme-resource-facts dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; }
.cme-resource-guide { max-width: 860px; }
.cme-resource-guide nav { padding: 20px; border: 1px solid var(--resource-line); border-radius: 10px; background: #fff; }
.cme-resource-guide li { margin-block: 8px; }
.cme-resource-guide h2[id] { scroll-margin-block-start: 30px; }
@media (max-width: 900px) {
  .cme-resource-journey, .cme-resource-guide-grid, .cme-resource-comparison-grid, .cme-resource-downloads { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cme-resource-filters, .cme-resource-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cme-resource-tools { grid-template-columns: 1fr; }
  .cme-resource-tools > a { min-height: 90px; }
  .cme-resource-facts dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .cme-resource-hero { border-radius: 14px; }
  .cme-resource-hero p { font-size: 16px; }
  .cme-resource-section { margin-block-start: 36px; }
  .cme-resource-guide-grid, .cme-resource-comparison-grid, .cme-resource-checklist-grid, .cme-resource-downloads, .cme-resource-filters, .cme-resource-fields, .cme-resource-facts dl { grid-template-columns: 1fr; }
  .cme-resource-card, .cme-resource-checklist > section { padding: 20px; }
  .cme-resource-journey { gap: 16px; }
  .cme-resource-journey h3 { font-size: 17px; }
  .cme-resource-plan-week li { grid-template-columns: 1fr auto; gap: 10px; }
  .cme-resource-plan-week li > span { grid-column: 1 / -1; }
  .cme-resource-actions > button { flex: 1 1 auto; }
}
@media print {
  .cme-resources { max-width: none; padding: 0; color: #000; }
  .cme-resource-hero { background: #fff; padding: 0; color: #000; }
  .cme-resources .cme-resource-hero h1, .cme-resources .cme-resource-hero .cme-resource-eyebrow { color: #000; }
  .cme-resource-hero::after, .cme-resource-actions, .cme-resource-filters, .cme-resource-comparison-choices, .cme-resources [data-planner-form], .cme-resources [data-print], .cme-resources [data-storage-notice] { display: none !important; }
  .cme-resource-card, .cme-resource-plan-week li, .cme-resource-checklist li { break-inside: avoid; }
  .cme-resource-guide-grid, .cme-resource-comparison-grid, .cme-resource-checklist-grid { display: block; }
  .cme-resource-card { margin-block: 16px; }
  body.cme-resource-printing { margin: 0 !important; }
  body.cme-resource-printing .cme-resource-print-hide { display: none !important; }
  body.cme-resource-printing .cme-resource-print-parent { display: block !important; position: static !important; max-width: none !important; width: auto !important; min-height: 0 !important; height: auto !important; padding: 0 !important; margin: 0 !important; background: #fff; }
  body.cme-resource-printing .cme-resource-print-target { position: static; width: 100%; height: auto; padding: 16px; margin: 0; background: #fff; color: #000; }
  body.cme-resource-printing .cme-resource-print-target button { display: none !important; }
}
