@charset "UTF-8";
/* Page-scoped values supplied by the visual-fix task; shared CSS is unchanged. */
.unb-self-pay-benefits-page {
  --unb-benefits-navy:#042575;
  --unb-benefits-text:#402e32;
  --unb-benefits-pale:#f5f6f9;
  --unb-benefits-red:#b91c1c;
  --unb-benefits-green:#06c755;
  --unb-benefits-divider:#e5e7eb;
}
.unb-self-pay-benefits-page .unb-benefits-inner { width:calc(100% - 80px); max-width:960px; margin-inline:auto; }
.unb-self-pay-benefits-page .unb-benefits-large-banners { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; width:calc(100% - 80px); max-width:1320px; margin-inline:auto; }
.unb-self-pay-benefits-page .unb-benefits-image-banner { display:block; min-width:0; border-radius:8px; box-shadow:0 3px 14px #04257510; transition:transform .2s ease,box-shadow .2s ease; }
@media (min-width:768px) and (hover:hover) and (pointer:fine) {
  .unb-self-pay-benefits-page .unb-benefits-image-banner:hover { transform:translateY(-3px); box-shadow:0 8px 24px #0425752b; }
}
.unb-self-pay-benefits-page .unb-benefits-image-banner picture { display:block; width:100%; aspect-ratio:16/9; }
.unb-self-pay-benefits-page .unb-benefits-image-banner img { display:block; width:100%; height:100%; aspect-ratio:16/9; object-fit:cover; border-radius:8px; }
.unb-self-pay-benefits-page :is(.unb-benefits-outline-button,.unb-benefits-line-button) { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:52px; margin:0; padding:12px 34px; box-sizing:border-box; border:1px solid var(--unb-benefits-navy); border-radius:30px; background:#fff; color:var(--unb-benefits-navy); font-family:inherit; font-size:16px; font-weight:700; line-height:1.4; text-align:center; text-decoration:none; cursor:pointer; }
.unb-self-pay-benefits-page .unb-benefits-line-button,.unb-self-pay-benefits-page .unb-benefits-line-button:visited { border-color:var(--unb-benefits-green); background:var(--unb-benefits-green); color:#fff; }
.unb-self-pay-benefits-page .unb-benefits-store-link { position:relative; display:flex; align-items:center; gap:8px; width:fit-content; max-width:100%; min-height:44px; margin:4px auto 0; color:var(--unb-benefits-navy); font-size:14px; line-height:1.7; text-decoration:underline; }
.unb-self-pay-benefits-page .unb-benefits-plan-nav { max-width:100%; margin:0 0 24px; }
.unb-self-pay-benefits-page .unb-benefits-plan-nav ul { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; width:auto; min-width:0; margin:0; padding:4px 0 8px; list-style:none; }
.unb-self-pay-benefits-page .unb-benefits-plan-nav li { flex:0 0 auto; min-width:0; }
.unb-self-pay-benefits-page .unb-benefits-plan-nav a { display:flex; align-items:center; justify-content:center; height:40px; min-height:40px; padding:0 16px; box-sizing:border-box; border:1px solid var(--unb-benefits-navy); border-radius:20px; background:#fff; color:var(--unb-benefits-navy); font-size:14px; font-weight:700; white-space:nowrap; }
.unb-self-pay-benefits-page :is([id^="plan-"],#benefits,#benefit-banners,#subscribe,#mailmagazine,#official-line,#section04,#campaign,#campaign-line,#campaign-dining) { scroll-margin-top:140px; }
.unb-self-pay-benefits-page .unb-benefits-mobile-bar,
.unb-self-pay-benefits-page .unb-benefits-original-line,
.unb-self-pay-benefits-page .unb-benefits-mobile-bar[hidden] { display:none; }
@media (width < 768px) {
  .unb-self-pay-benefits-page .unb-benefits-inner { width:calc(100% - 40px); }
  .unb-self-pay-benefits-page :is([id^="plan-"],#benefits,#benefit-banners,#subscribe,#mailmagazine,#official-line,#section04,#campaign,#campaign-line,#campaign-dining) { scroll-margin-top:76px; }
  .unb-self-pay-benefits-page .unb-benefits-large-banners { width:calc(100% - 40px); max-width:520px; grid-template-columns:minmax(0,1fr); gap:16px; }
  .unb-self-pay-benefits-page .unb-benefits-plan-nav { overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
  .unb-self-pay-benefits-page .unb-benefits-plan-nav ul { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(max-content,calc((100% - 16px)/2.5)); justify-content:start; width:100%; box-sizing:border-box; }
  .unb-self-pay-benefits-page.unb-benefits-bar-active { padding-bottom:calc(64px + env(safe-area-inset-bottom,0px)); }
  .unb-self-pay-benefits-page.unb-benefits-bar-ended .selfpay-sticky-vertical { grid-template-columns:minmax(0,1fr) 72px; }
  .unb-self-pay-benefits-page.unb-benefits-bar-ended .selfpay-sticky-vertical>.floating-plan-btn { display:none; }
  .unb-self-pay-benefits-page.unb-benefits-bar-ended .unb-benefits-original-line { display:flex; align-items:center; justify-content:center; padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px)); background:#fff; }
  .unb-self-pay-benefits-page .unb-benefits-original-line img { width:44px; height:44px; }
  .unb-self-pay-benefits-page.unb-benefits-bar-active .selfpay-sticky-vertical,
  .unb-self-pay-benefits-page.unb-benefits-bar-active>.floating-phone-btn,
  .unb-self-pay-benefits-page.unb-benefits-bar-active>.floating-plan-btn { display:none !important; }
  .unb-self-pay-benefits-page .unb-benefits-mobile-bar:not([hidden]) { position:fixed; z-index:1000; inset:auto 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); height:calc(64px + env(safe-area-inset-bottom,0px)); box-sizing:border-box; padding-bottom:env(safe-area-inset-bottom,0px); border-top:1px solid var(--unb-benefits-divider); background:#fff; box-shadow:0 -2px 12px #0425751a; }
  .unb-self-pay-benefits-page .unb-benefits-mobile-bar a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-width:0; min-height:0; height:100%; padding:6px 2px; box-sizing:border-box; color:var(--unb-benefits-navy); font-size:13px; line-height:1.4; font-weight:700; text-decoration:none; }
  .unb-self-pay-benefits-page .unb-benefits-mobile-bar .unb-benefits-bar-phone { border-left:1px solid var(--unb-benefits-divider); }
  .unb-self-pay-benefits-page .unb-benefits-mobile-bar img,
  .unb-self-pay-benefits-page .unb-benefits-mobile-bar svg { display:block; width:22px; height:22px; flex:none; }
  .unb-self-pay-benefits-page .unb-benefits-mobile-bar .unb-benefits-bar-campaign { background:var(--unb-benefits-navy); color:#fff; }
  .unb-self-pay-benefits-page .unb-benefits-mobile-bar .unb-benefits-bar-booking { background:var(--unb-benefits-red); color:#fff; }
}

@media (prefers-reduced-motion:reduce) { .unb-self-pay-benefits-page .unb-benefits-image-banner { transition:none; transform:none; } }

/* Restore the saved signup by removing is-hidden-for-test from that section. */
.unb-self-pay-benefits-page .unb-benefits-original-signup.is-hidden-for-test { display:none; }

.unb-self-pay-benefits-page .unb-benefits-sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
/* Campaign v2: matching cards and concise copy from the latest direct brief. */
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) { --unb-benefits-action-width:240px; --unb-benefits-section-gap:32px; padding:64px 0 80px; background:var(--unb-benefits-pale); color:var(--unb-benefits-text); font-size:18px; line-height:1.8; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates)>.unb-benefits-inner { max-width:1120px; }
.unb-self-pay-benefits-page .unb-benefits-campaign-heading { margin-bottom:40px; text-align:center; }
.unb-self-pay-benefits-page .unb-benefits-campaign-heading .mriselfcontent-title { margin:0 0 20px; line-height:1.5; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) p { color:var(--unb-benefits-text); font-size:inherit; line-height:1.8; }
.unb-self-pay-benefits-page .unb-benefits-campaign-heading p { max-width:880px; margin:0 auto; }
.unb-self-pay-benefits-page .unb-benefits-campaign-item { min-width:0; padding:48px; box-sizing:border-box; border:0; border-radius:16px; background:#fff; }
.unb-self-pay-benefits-page .unb-benefits-campaign-item+.unb-benefits-campaign-item { margin-top:48px; }
.unb-self-pay-benefits-page .unb-benefits-campaign-item-heading { margin-bottom:var(--unb-benefits-section-gap); text-align:center; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) p.unb-benefits-campaign-label { display:table; margin:0 auto 20px; padding:2px 20px; border:1px solid var(--unb-benefits-navy); border-radius:24px; color:var(--unb-benefits-navy); font-size:15px; font-weight:700; }
.unb-self-pay-benefits-page .unb-benefits-campaign-art { display:block; width:160px; max-width:100%; margin:0 auto 24px; }
.unb-self-pay-benefits-page .unb-benefits-campaign-art img { display:block; width:100%; height:auto; }
.unb-self-pay-benefits-page .unb-benefits-campaign-item h3 { margin:0 0 16px; padding:0; border:0; color:var(--unb-benefits-navy); font-size:30px; font-weight:700; line-height:1.6; overflow-wrap:normal; }
.unb-self-pay-benefits-page .unb-benefits-campaign-item-heading>p:last-child { margin:0; }
.unb-self-pay-benefits-page table.unb-benefits-conditions { font-size:16px; width:100%; margin:0; table-layout:fixed; border-collapse:collapse; }
.unb-self-pay-benefits-page .unb-benefits-condition-label { width:6em; }
.unb-self-pay-benefits-page .unb-benefits-condition-content { width:auto; }
.unb-self-pay-benefits-page table.unb-benefits-conditions :is(th,td) { height:auto; padding:16px; border:1px solid var(--unb-benefits-divider); background:#fff; color:var(--unb-benefits-text); font-size:16px; font-weight:400; line-height:1.8; text-align:left; vertical-align:top; overflow-wrap:normal; }
.unb-self-pay-benefits-page table.unb-benefits-conditions th { background:var(--unb-benefits-pale); color:var(--unb-benefits-navy); font-weight:700; }
.unb-self-pay-benefits-page :is(.unb-benefits-registration,.unb-benefits-campaign-actions) { margin-top:var(--unb-benefits-section-gap); }
.unb-self-pay-benefits-page .unb-benefits-registration { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; padding:0; background:transparent; }
.unb-self-pay-benefits-page .unb-benefits-registration>* { min-width:0; }
.unb-self-pay-benefits-page .unb-benefits-registration :is(.mri-updates-line-card,.mm-signup) { margin:0; padding:24px; box-sizing:border-box; border:1px solid #dfe3ea; border-radius:8px; background:#fff; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__layout { display:grid; grid-template-columns:minmax(0,1fr) var(--unb-benefits-action-width); gap:24px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__main { min-width:0; padding-right:24px; border-right:1px solid var(--unb-benefits-divider); }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__head>div { min-width:0; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__clinic { font-size:16px; }
.unb-self-pay-benefits-page .unb-benefits-registration :is(.mri-updates-line-card__title,.mm-signup__title) { margin:0; padding:0; color:var(--unb-benefits-navy); font-size:24px; font-weight:700; line-height:1.5; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefits { gap:16px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit { padding:16px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit-head { align-items:flex-start; gap:12px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit h5 { margin:0; color:var(--unb-benefits-navy); font-size:16px; font-weight:700; line-height:1.6; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit-icon { flex-basis:32px; width:32px; height:32px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__action { width:100%; max-width:var(--unb-benefits-action-width); margin-inline:auto; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) :is(.unb-benefits-line-button,.unb-benefits-outline-button) { display:flex; align-items:center; justify-content:center; width:100%; max-width:var(--unb-benefits-action-width); height:56px; min-height:56px; padding:12px 16px; box-sizing:border-box; border-radius:4px; font-family:inherit; font-size:18px; font-weight:700; line-height:1.5; text-align:center; text-decoration:none; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .unb-benefits-line-button { border:1px solid var(--unb-benefits-green); background:var(--unb-benefits-green); color:#fff; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .unb-benefits-outline-button { border:1px solid var(--unb-benefits-red); background:var(--unb-benefits-red); color:#fff; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__head { display:flex; align-items:center; gap:12px; margin:0 0 16px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__icon { flex:0 0 28px; color:var(--unb-benefits-navy); }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__lead { margin:0 0 20px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__form { display:flex; flex-direction:column; gap:12px; width:100%; max-width:480px; margin:0 auto; }
.unb-self-pay-benefits-page .unb-benefits-registration :is(.mm-signup__input,.mm-signup__button) { flex:none; width:100%; min-width:0; max-width:none; height:56px; min-height:56px; padding:12px 16px; box-sizing:border-box; border:1px solid var(--unb-benefits-navy); border-radius:4px; font-family:inherit; font-size:16px; line-height:1.5; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__input { background:#fff; color:var(--unb-benefits-text); }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__input::placeholder { color:var(--unb-benefits-text); opacity:1; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__button { background:var(--unb-benefits-navy); color:#fff; font-weight:700; cursor:pointer; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__button:hover { background:#031d59; }
.unb-self-pay-benefits-page .unb-benefits-registration p.mm-signup__note { max-width:none; margin:12px 0 0; color:var(--unb-benefits-text); font-size:13px; line-height:1.8; }
.unb-self-pay-benefits-page .unb-benefits-campaign-actions { display:grid; grid-template-columns:minmax(0,1fr); justify-items:center; gap:16px; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .unb-benefits-store-link { margin:0; color:var(--unb-benefits-navy); font-size:16px; line-height:1.8; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) p.unb-benefits-reservation-pending { margin:0; color:var(--unb-benefits-text); font-size:13px; line-height:1.8; }
.unb-self-pay-benefits-page :is(#campaign,#campaign-line,#campaign-dining):focus:not(:focus-visible) { outline:none; }
.unb-self-pay-benefits-page :is(#campaign,#campaign-line,#campaign-dining):focus-visible { outline:3px solid var(--unb-benefits-navy); outline-offset:4px; }
/* Existing plan tags and navigation contracts stay unchanged. */
@media (min-width:768px) and (max-width:1023px) {
  .unb-self-pay-benefits-page .unb-benefits-large-banners { grid-template-columns:minmax(0,1fr); max-width:720px; }
  .unb-self-pay-benefits-page .unb-benefits-campaign-item { padding:32px; }
}
@media (width < 1024px) {
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__layout { grid-template-columns:minmax(0,1fr); }
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__main { padding:0; border:0; }
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__action { margin-top:0; }
}
@media (width < 768px) {
  .unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) { padding:32px 0 48px; font-size:16px; }
  .unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates)>.unb-benefits-inner { width:calc(100% - 32px); }
  .unb-self-pay-benefits-page .unb-benefits-campaign-heading { margin-bottom:32px; }
  .unb-self-pay-benefits-page :is(.unb-benefits-title-start,.unb-benefits-title-end) { display:inline; white-space:normal; }
  .unb-self-pay-benefits-page .unb-benefits-campaign-item { padding:16px; }
  .unb-self-pay-benefits-page .unb-benefits-campaign-item+.unb-benefits-campaign-item { margin-top:32px; }
  .unb-self-pay-benefits-page .unb-benefits-campaign-item h3 { font-size:24px; }
  .unb-self-pay-benefits-page table.unb-benefits-conditions :is(th,td) { padding:12px 8px; font-size:15px; }
  .unb-self-pay-benefits-page .unb-benefits-condition-label { width:6em; }
  .unb-self-pay-benefits-page .unb-benefits-condition-content { width:auto; }
  .unb-self-pay-benefits-page .unb-benefits-registration :is(.mri-updates-line-card,.mm-signup) { padding:20px 16px; }
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefits { grid-template-columns:minmax(0,1fr); }
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit-head { gap:8px; }
  .unb-self-pay-benefits-page .unb-benefits-registration :is(.mri-updates-line-card__title,.mm-signup__title) { font-size:22px; }
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__booking { font-size:16px; }
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__action { max-width:none; }
  .unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) :is(.unb-benefits-line-button,.unb-benefits-outline-button) { max-width:none; }
  /* Match the LINE control inside its card's 16px padding and 1px border. */
  .unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .unb-benefits-outline-button { width:calc(100% - 34px); }
}

/* Test feedback v3: preserve phrases and keep the labels directly below each plan. */
.unb-self-pay-benefits-page .unb-benefits-phrase { display:inline-block; white-space:nowrap; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) :is(p,h2,h3,h4,h5,th,td) { word-break:normal; word-break:auto-phrase; overflow-wrap:normal; }
.unb-self-pay-benefits-page .unb-benefits-mobile-line { display:inline; }
.unb-self-pay-benefits-page table.unb-benefits-conditions th { white-space:nowrap; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit { display:grid; grid-template-columns:32px minmax(0,1fr); column-gap:12px; align-items:start; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit-head { display:contents; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit-icon { grid-column:1; grid-row:1; font-size:16px; margin-top:calc((1.6em - 32px) / 2); }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit h5 { grid-column:2; grid-row:1; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit p { grid-column:2; grid-row:2; margin:8px 0 0; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) :is(.mri-updates-line-card__qr-label,.mri-updates-line-card__id) { color:var(--unb-benefits-text); }
.unb-self-pay-benefits-page :is(#plan-whole-body,#plan-cancer)>.mriselfcontent-plan-block-summary { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.unb-self-pay-benefits-page :is(#plan-whole-body,#plan-cancer)>.mriselfcontent-plan-block-summary>.mriselfcontent-plan-block-title { margin:0; word-break:normal; word-break:auto-phrase; }
.unb-self-pay-benefits-page :is(#plan-whole-body,#plan-cancer)>.mriselfcontent-plan-block-summary>.marker-link { margin-top:12px; }
@media (width < 768px) {
  .unb-self-pay-benefits-page :is(.unb-benefits-title-start,.unb-benefits-title-end,.unb-benefits-mobile-line) { display:block; white-space:nowrap; }
  .unb-self-pay-benefits-page table.unb-benefits-conditions { font-size:15px; }
  .unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .mm-signup__head { align-items:flex-start; }
}
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) { --unb-benefits-action-width:200px; }
.unb-self-pay-benefits-page .unb-benefits-campaign-item { padding:40px; }
.unb-self-pay-benefits-page .unb-benefits-registration { gap:24px; }
.unb-self-pay-benefits-page .unb-benefits-registration-lead { margin:0; color:var(--unb-benefits-navy); font-size:18px; font-weight:700; line-height:1.8; text-align:center; }
.unb-self-pay-benefits-page .unb-benefits-registration :is(.mri-updates-line-card,.mm-signup) { width:100%; padding:24px 12px; border:0; border-radius:10px; background:#f5f6f9; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__layout { gap:16px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__main { padding-right:8px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefits { gap:8px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit { display:block; padding:6px; background:transparent; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit-head { display:flex; align-items:center; gap:12px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit h5 { font-size:18px; line-height:1.55; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit-icon { flex-basis:40px; width:40px; height:40px; margin:0; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit p { margin:8px 0 0; font-size:18px; font-weight:400; letter-spacing:normal; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) :is(.unb-benefits-line-button,.unb-benefits-outline-button) { height:52px; min-height:52px; padding:0 16px; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .unb-benefits-line-button { border:0; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .unb-benefits-line-button:hover { background:#05b84e; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__head { justify-content:center; align-items:center; gap:10px; margin:0 0 14px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__title { font-size:20px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__lead { margin:0 auto 6px; font-weight:700; text-align:center; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__sub { margin:0 auto 26px; text-align:center; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__form { flex-direction:row; gap:10px; max-width:520px; margin:0 auto; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__input { flex:1 1 auto; width:auto; height:52px; min-height:52px; padding:0 14px; border:1px solid #bcc3ce; color:var(--mm-text); }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__input::placeholder { color:#9aa2b1; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__button { flex:0 0 auto; width:auto; height:52px; min-height:52px; padding:0 32px; border:0; background:#bd9c46; font-size:15px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__button:hover { background:#a98a32; }
.unb-self-pay-benefits-page .unb-benefits-registration p.mm-signup__note { max-width:520px; margin:16px auto 0; color:#5f6878; font-size:13px; line-height:1.9; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .mri-updates-line-card__qr-label { color:#737373; font-size:16px; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .mri-updates-line-card__id { color:#666; font-size:16px; }
@media (min-width:1200px) {
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit p { white-space:nowrap; }
}
@media (width < 1200px) {
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefits { grid-template-columns:minmax(0,1fr); }
}
@media (width < 1024px) {
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__main { padding-right:0; }
}
@media (width < 768px) {
  .unb-self-pay-benefits-page .unb-benefits-campaign-heading .mriselfcontent-title { font-size:24px; }
  .unb-self-pay-benefits-page .unb-benefits-campaign-item { padding:16px; }
  .unb-self-pay-benefits-page .unb-benefits-registration :is(.mri-updates-line-card,.mm-signup) { padding:12px; }
  .unb-self-pay-benefits-page .unb-benefits-registration-lead { font-size:16px; }
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit p { font-size:16px; }
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit h5 { font-size:16px; }
  .unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit-icon { flex-basis:36px; width:36px; height:36px; }
  .unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__title { font-size:18px; }
  .unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .unb-benefits-outline-button { width:calc(100% - 24px); }
}
@media (max-width:600px) {
  .unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__form { flex-direction:column; }
  .unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__input,
  .unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__button { width:100%; }
  .unb-self-pay-benefits-page .unb-benefits-registration .mm-signup__button { padding:0; }
}
@media (max-width:360px) {
  .unb-self-pay-benefits-page .unb-benefits-campaign-heading .mriselfcontent-title { font-size:20px; }
}

/* Test feedback v5: one HTML switch controls newsletter copy and the active card. */
.unb-self-pay-benefits-page[data-newsletter] [data-newsletter-off] { display:none; }
.unb-self-pay-benefits-page[data-newsletter="off"] [data-newsletter-on],
.unb-self-pay-benefits-page[data-newsletter="off"] #campaign-line #mailmagazine { display:none; }
.unb-self-pay-benefits-page[data-newsletter="off"] [data-newsletter-off] { display:inline; }
.unb-self-pay-benefits-page[data-newsletter="off"] picture[data-newsletter-off] { display:block; }
.unb-self-pay-benefits-page .unb-benefits-registration :is(.mri-updates-line-card,.mm-signup) { padding:32px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit,
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__booking { background:#fff; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit { padding:16px; }
.unb-self-pay-benefits-page .unb-benefits-registration .mri-updates-line-card__benefit p { white-space:normal; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .unb-benefits-outline-button { width:max-content; min-width:240px; max-width:100%; height:52px; padding:0 24px; white-space:nowrap; }
.unb-self-pay-benefits-page #plan-cancer>.mriselfcontent-plan-block-summary>.marker-link { align-self:flex-end; }

@media (width < 768px) {
  .unb-self-pay-benefits-page .unb-benefits-registration :is(.mri-updates-line-card,.mm-signup) { padding:16px; }
  .unb-self-pay-benefits-page .unb-benefits-condition-label { width:4.5em; }
  .unb-self-pay-benefits-page table.unb-benefits-conditions :is(th,td) { padding-inline:6px; }
  .unb-self-pay-benefits-page .unb-benefits-cancer-range { letter-spacing:normal; }
}

/* Benefits labels v6: spacing follows the shared plan section's 100px/64px rhythm. */
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .unb-benefits-outline-button { transform:none; transition:background-color .15s ease,border-color .15s ease; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .unb-benefits-outline-button:is(:hover,:focus-visible) { background:#991b1b; border-color:#991b1b; color:#fff; transform:none; }
@media (width < 768px) {
  .unb-self-pay-benefits-page .unb-benefits-campaign-heading .mriselfcontent-title { font-size:28px; }
}

/* Shared heading and text links: October 25 refinement. */
.unb-self-pay-benefits-page .unb-benefits-intro { padding:64px 0; }
.unb-self-pay-benefits-page .unb-benefits-intro .mriselfcontent-title {
  position:relative; display:table; width:max-content; max-width:100%; box-sizing:border-box;
  margin:0 auto 32px; padding:16px 56px; color:#042575; font-size:32px; font-weight:700;
  line-height:1.5; letter-spacing:.06em; text-align:center; white-space:nowrap;
}
.unb-self-pay-benefits-page .unb-benefits-intro .mriselfcontent-title::before,
.unb-self-pay-benefits-page .unb-benefits-intro .mriselfcontent-title::after {
  content:""; position:absolute; left:0; right:0; height:6px; pointer-events:none;
}
.unb-self-pay-benefits-page .unb-benefits-intro .mriselfcontent-title::before {
  top:0; background:linear-gradient(to bottom,#042575 0 2px,transparent 2px 5px,#042575 5px 6px);
}
.unb-self-pay-benefits-page .unb-benefits-intro .mriselfcontent-title::after {
  bottom:0; background:linear-gradient(to bottom,#042575 0 1px,transparent 1px 4px,#042575 4px 6px);
}
.unb-self-pay-benefits-page .unb-benefits-intro-title-copy::before,
.unb-self-pay-benefits-page .unb-benefits-intro-title-copy::after {
  content:""; position:absolute; top:50%; width:7px; height:7px; background:#c9a86a;
  transform:translateY(-50%) rotate(45deg); pointer-events:none;
}
.unb-self-pay-benefits-page .unb-benefits-intro-title-copy::before { left:22px; }
.unb-self-pay-benefits-page .unb-benefits-intro-title-copy::after { right:22px; }
.unb-self-pay-benefits-page .unb-benefits-plan-band {
  display:block; width:100%; box-sizing:border-box; margin:8px 0 0; padding:16px 24px;
  border-radius:8px; background:#eef2fa; color:#042575; font-size:16px; font-weight:400;
  line-height:1.8; text-decoration:underline; text-underline-offset:.15em;
}
.unb-self-pay-benefits-page .unb-benefits-plan-band:visited { color:#042575; }
.unb-self-pay-benefits-page .unb-benefits-plan-band:is(:hover,:focus-visible) { background:#e1e8f6; }
/* Mobile order: illustration, label, title. Label appearance stays unchanged. */
.unb-self-pay-benefits-page .unb-benefits-campaign-title-layout { text-align:center; }
.unb-self-pay-benefits-page .unb-benefits-campaign-title-layout>.unb-benefits-campaign-art { margin:0 auto 24px; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .unb-benefits-campaign-title-copy>.unb-benefits-campaign-label { margin:0 auto 12px; }
.unb-self-pay-benefits-page .unb-benefits-campaign-title-copy>h3 { margin:0 0 16px; text-align:center; }
.unb-self-pay-benefits-page :is(.unb-benefits-image-banner,:is(.unb-benefits-campaign,.unb-benefits-updates) a,:is(.unb-benefits-campaign,.unb-benefits-updates) button,:is(.unb-benefits-campaign,.unb-benefits-updates) input,.unb-benefits-plan-band,.unb-benefits-plan-nav a,.unb-benefits-mobile-bar a):focus-visible { outline:3px solid #ae8d43; outline-offset:3px; }
/* Center the illustration and label/title group with a 40px gap. */
@media (min-width:768px) {
  .unb-self-pay-benefits-page .unb-benefits-campaign-title-layout {
    display:grid; grid-template-columns:160px max-content; column-gap:40px; align-items:center;
    width:max-content; max-width:100%; margin-inline:auto;
  }
  .unb-self-pay-benefits-page .unb-benefits-campaign-title-layout>.unb-benefits-campaign-art { margin:0; }
  .unb-self-pay-benefits-page .unb-benefits-campaign-title-copy { text-align:left; }
  .unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) .unb-benefits-campaign-title-copy>.unb-benefits-campaign-label { margin:0 0 16px; }
  .unb-self-pay-benefits-page .unb-benefits-campaign-title-copy>h3 { margin:0; text-align:left; font-size:clamp(22px,2.1vw,30px); }
  .unb-self-pay-benefits-page .unb-benefits-desktop-line,
  .unb-self-pay-benefits-page .unb-benefits-campaign-title-copy>h3>.unb-benefits-mobile-line { display:block; white-space:nowrap; }
  .unb-self-pay-benefits-page .unb-benefits-campaign-item-heading>p:last-child { margin:24px 0 0; }
}
@media (max-width:767px) {
  .unb-self-pay-benefits-page .unb-benefits-plan-band { padding:14px 16px; }
  .unb-self-pay-benefits-page .unb-benefits-intro { padding:48px 0; }
  .unb-self-pay-benefits-page .unb-benefits-intro .mriselfcontent-title { margin-bottom:24px; padding:12px 36px; font-size:22px; }
  .unb-self-pay-benefits-page .unb-benefits-intro-title-copy::before { left:14px; }
  .unb-self-pay-benefits-page .unb-benefits-intro-title-copy::after { right:14px; }
}

/* Completed dining banners: PC 21:9, mobile 4:3. */
.unb-self-pay-benefits-page .unb-benefits-large-banners { grid-template-columns:minmax(0,1fr); max-width:1120px; }
.unb-self-pay-benefits-page .unb-benefits-image-banner picture,
.unb-self-pay-benefits-page .unb-benefits-image-banner img { aspect-ratio:21/9; }
.unb-self-pay-benefits-page .unb-benefits-image-banner img { object-fit:cover; background:#f5f6f9; }
/* Production updates heading and the original signup card structure. */
.unb-self-pay-benefits-page .unb-benefits-updates { margin:0; padding:100px 40px; background:#fff; }
.unb-self-pay-benefits-page .unb-benefits-updates>.unb-benefits-inner { width:100%; max-width:1120px; }
.unb-self-pay-benefits-page .unb-benefits-updates .unb-benefits-campaign-item { border:1px solid #e1e6ef; }
.unb-self-pay-benefits-page .unb-benefits-updates .mri-contact-updates-vertical__title { margin:0; }
.unb-self-pay-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) p.unb-benefits-updates-note { margin:16px 0 0; font-size:14px; }
.unb-self-pay-benefits-page .unb-benefits-updates .unb-benefits-registration .mm-signup__button { background:#042575; }
.unb-self-pay-benefits-page .unb-benefits-updates .unb-benefits-registration .mm-signup__button:hover { background:#031d59; }
.unb-self-pay-benefits-page .unb-benefits-campaign .unb-benefits-text-link { display:inline; min-height:0; font-size:inherit; line-height:inherit; color:#042575; text-decoration:underline; text-underline-offset:.15em; }
@media (max-width:767px) {
  .unb-self-pay-benefits-page .unb-benefits-image-banner picture,
  .unb-self-pay-benefits-page .unb-benefits-image-banner img { aspect-ratio:4/3; }
  .unb-self-pay-benefits-page .unb-benefits-updates { padding:64px 20px; }
}

@media (min-width:768px) {
  .unb-self-pay-benefits-page .unb-benefits-large-banners { max-width:880px; }
}

/* A separate detail link below the mobile banner. */
.unb-self-pay-benefits-page .unb-benefits-intro-link-sp { display:none; }
.unb-self-pay-benefits-page .unb-benefits-intro-link-sp:focus-visible { outline:3px solid #ae8d43; outline-offset:3px; }
@media (max-width:767px) {
  .unb-self-pay-benefits-page .unb-benefits-large-banners { row-gap:12px; }
  .unb-self-pay-benefits-page .unb-benefits-intro-link-sp {
    display:flex; align-items:center; justify-content:center; gap:8px;
    width:fit-content; max-width:100%; min-height:44px; box-sizing:border-box;
    margin-inline:auto; padding:8px 12px; color:#042575; font-size:inherit; line-height:1.8;
    text-align:center; text-decoration:underline; text-underline-offset:.15em;
  }
}

/* Keep the mobile detail arrow beside the text without shrinking. */
.unb-self-pay-benefits-page .unb-benefits-intro-link-sp img { display:block; flex:none; width:16px; height:16px; }

.unb-wp-dining-benefits-page :is(.unb-benefits-intro,.unb-benefits-campaign,.unb-benefits-updates,.unb-benefits-plan-nav,.unb-benefits-mobile-bar) { font-family:"Zen Kaku Gothic New",sans-serif; }
/* Production-only adapters: feature sections break out of the original fee wrapper. */
.unb-wp-dining-benefits-page .unb-benefits-intro { background:#fff; }
.unb-wp-dining-benefits-page :is(.unb-benefits-campaign,.unb-benefits-updates) { width:100vw; max-width:none; margin-inline:calc(50% - 50vw); box-sizing:border-box; }
.unb-wp-dining-benefits-page .unb-benefits-campaign { margin-top:100px; }
.unb-wp-dining-benefits-page[data-unb-campaign-active="off"] .unb-benefits-updates { margin-top:100px; }
.unb-wp-dining-benefits-page .unb-benefits-eligible-plan { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.unb-wp-dining-benefits-page .unb-benefits-eligible-plan>.mriselfcontent-plan-block-title { margin:0; }
.unb-wp-dining-benefits-page [data-unb-seasonal][hidden] { display:none !important; }
@media (max-width:767px) {
  .unb-wp-dining-benefits-page .unb-benefits-campaign,
  .unb-wp-dining-benefits-page[data-unb-campaign-active="off"] .unb-benefits-updates { margin-top:64px; }
  .unb-wp-dining-benefits-page[data-unb-campaign-active="off"] .unb-benefits-mobile-bar:not([hidden]) { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
