/* Scoped IRMAA refinements: keep unrelated sitewide CSS out of this release. */
.sb-irmaa-hero { background: #f1f8f9; padding: 2.75rem 0; }
.sb-irmaa-hero-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); align-items: center; gap: 3rem; }
.sb-irmaa-hero h1 { max-width: 23ch; margin: .7rem 0 1rem; color: #1f2a44; font-size: clamp(2rem,3.5vw,3.4rem); line-height: 1.08; letter-spacing: -.035em; }
.sb-irmaa-hero-copy > p:not(.sb-eyebrow) { max-width: 55ch; margin: 0; color: #4c6275; line-height: 1.65; }
.sb-irmaa-hero-photo { width: 100%; height: 300px; border-radius: 16px; object-fit: cover; object-position: center; }
.sb-irmaa-hero-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; margin-top: 1.5rem; }
.sb-irmaa-hero-actions > a:not(.sb-btn) { color: #145867; font-weight: 750; text-underline-offset: .2em; }
.sb-irmaa-jump { background: #fff; border-bottom: 1px solid #d5e3e7; }
.sb-irmaa-jump > div { display: flex; flex-wrap: wrap; gap: .25rem 2rem; padding-top: .6rem; padding-bottom: .6rem; }
.sb-irmaa-jump a { display: inline-flex; align-items: center; min-height: 44px; color: #145867; font-size: .9rem; font-weight: 750; }
#irmaa-chart, #irmaa-brackets, #irmaa-appeal-guide, #irmaa-faqs, #irmaa-estimate { scroll-margin-top: 100px; }
#irmaa-estimate { scroll-margin-bottom: 100px; }
body:has(.sb-irmaa-hero) #medicare-contact { scroll-margin-top: 100px; }
.sb-irmaa-basics-band { padding: 2rem 0; }
.sb-irmaa-basics-head { grid-template-columns: minmax(0,.4fr) minmax(0,1fr); gap: 1.5rem; }
.sb-irmaa-basics-head h2 { margin: 0; font-size: 1.65rem; }
.sb-irmaa-basics-head p { margin: 0; font-size: .98rem; }
.sb-irmaa-sources { margin: .8rem 0 0; font-size: .8rem; color: #516577; }
.sb-irmaa-sources a { color: #145867; text-decoration: underline; }
.sb-irmaa-band { padding: 2.5rem 0; }
.sb-irmaa-head { gap: 1.5rem 3rem; align-items: center; }
.sb-irmaa-head h2 { max-width: 24ch; font-size: clamp(1.8rem,3vw,2.6rem); line-height: 1.15; }
.sb-irmaa-table-shell { margin-top: 1.5rem; }
.sb-irmaa-table-shell .sb-irmaa-table-head { display: block; padding: 1.5rem; }
.sb-irmaa-tier-finder { width: 100%; max-width: none; }
.sb-irmaa-tier-finder form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; gap: .85rem; align-items: end; }
.sb-irmaa-tier-finder label { min-width: 0; }
.sb-irmaa-tier-finder label span { font-size: .75rem; }
.sb-irmaa-tier-finder input, .sb-irmaa-tier-finder select { width: 100%; min-width: 0; font-size: 1rem; min-height: 48px; }
.sb-irmaa-tier-finder .sb-btn { min-height: 48px; font-size: .88rem; }
.sb-irmaa-tier-finder .sb-irmaa-note { margin-top: .8rem; color: #516577; }
.sb-irmaa-tier-finder .sb-irmaa-result { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .9rem; padding: 1.2rem; background: #e9f5f4; border: 1px solid #bad6d7; border-radius: 10px; }
.sb-irmaa-tier-finder .sb-irmaa-result[hidden], .sb-irmaa-tier-finder [hidden] { display: none; }
.sb-irmaa-result > div { min-width: 0; }
.sb-irmaa-result > div > span { display: block; color: #37596b; font-size: .85rem; }
.sb-irmaa-result > div > strong { display: block; margin-top: .25rem; font-size: clamp(1.5rem,2.5vw,2rem); color: #173a53; line-height: 1.2; }
.sb-irmaa-tier-finder .sb-irmaa-result small { color: #465f70; font-size: .82rem; }
.sb-irmaa-brackets > summary, .sb-irmaa-payment-details > summary { padding: 1rem 1.5rem; min-height: 48px; color: #173a53; font-size: 1rem; font-weight: 750; cursor: pointer; }
.sb-irmaa-brackets { border-top: 1px solid #d5e3e7; }
.sb-irmaa-table-hint { padding: 0 1.5rem; margin: 0 0 1rem; color: #516577; font-size: .85rem; }
.sb-irmaa-update { padding: 1rem 0; color: #516577; font-size: .88rem; line-height: 1.6; }
.sb-irmaa-update p { margin: 0; }
.sb-irmaa-update a { color: #145867; text-decoration: underline; }
.sb-irmaa-payment-details { border: 1px solid #cfe2e5; border-radius: 10px; background: #fff; }
.sb-irmaa-payment-details .sb-irmaa-payment-options { padding: 0 1.5rem 1.5rem; }
.sb-irmaa-appeal-band { padding: 3rem 0; }
body:has(.sb-irmaa-hero) .sb-medicare-contact-band { padding: 3rem 0; }
#irmaa-faqs .sb-band { padding: 3rem 0; }
.sb-irmaa-hero a:focus-visible, .sb-irmaa-jump a:focus-visible,
.sb-irmaa-brackets summary:focus-visible, .sb-irmaa-payment-details summary:focus-visible {
  outline: 3px solid #08798a; outline-offset: 4px;
}
@media (max-width: 760px) {
  .sb-irmaa-hero { padding: 2rem 0; }
  .sb-irmaa-hero-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .sb-irmaa-hero h1 { font-size: clamp(1.85rem,7vw,2.6rem); max-width: 27ch; }
  .sb-irmaa-hero-photo { display: none; }
  .sb-irmaa-hero-actions { gap: 1rem; }
  .sb-irmaa-jump > div { gap: 0 1.25rem; }
  .sb-irmaa-basics-head { grid-template-columns: 1fr; gap: .7rem; }
  .sb-irmaa-head { grid-template-columns: 1fr; gap: .75rem; }
  .sb-irmaa-table-shell .sb-irmaa-table-head { padding: 1.1rem; }
  .sb-irmaa-tier-finder form { grid-template-columns: 1fr; }
  .sb-irmaa-tier-finder .sb-irmaa-result { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 1rem; }
  .sb-irmaa-result-extra { grid-column: 1/-1; border-top: 1px solid #bad6d7; padding-top: .75rem; }
  .sb-irmaa-brackets > summary, .sb-irmaa-payment-details > summary { padding: 1rem 1.1rem; }
}
.sb-irmaa-table-shell > .sb-irmaa-note {
  padding: 0 clamp(1rem, 2.5vw, 2rem) 1rem;
}
.sb-irmaa-path-card > p:nth-of-type(n+2) {
  color: #5e6e80;
  font-size: .95rem;
  line-height: 1.6;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 500;
}
@media (max-width: 380px) {
  body:has(.sb-irmaa-hero) .sb-foot-modern { grid-template-columns: 1fr; }
}
