.support-surface {
  width: min(1280px, calc(100% - 48px)); margin: 0 auto; padding: 56px 0 96px;
  color: #202327; font-size: 16px; line-height: 1.75; letter-spacing: 0;
}
#patient-support.con01 {padding: 56px 0 96px; opacity: 1; transform: none;}
.support-surface *, .support-dialog * {box-sizing: border-box; letter-spacing: 0;}
.support-surface h2 {font-size: 32px; line-height: 1.3; margin: 0 0 20px; font-weight: 700;}
.support-surface h3 {font-size: 24px; line-height: 1.4; margin: 0 0 16px; font-weight: 700;}
.support-surface h4 {font-size: 20px; line-height: 1.45; margin: 0 0 12px; font-weight: 700;}
.support-surface p {font-size: 16px; line-height: 1.8; margin: 0 0 16px; word-break: normal; overflow-wrap: anywhere;}
.support-surface h2, .support-surface h3, .support-surface h4 {word-break: normal; overflow-wrap: anywhere;}
.support-surface button, .support-surface input {font: inherit;}
.support-surface a {color: #2264ad; text-decoration: underline; text-underline-offset: 4px;}
.support-surface :focus-visible, .support-dialog :focus-visible {outline: 3px solid #3282de; outline-offset: 4px;}
.support-section {padding: 40px 0; border-bottom: 1px solid #dce0e5; scroll-margin-top: 120px;}
.support-section:first-child {padding-top: 0;}
.support-lead {max-width: 960px;}
.support-links {display: flex; flex-wrap: wrap; gap: 16px 24px; margin: 20px 0 28px;}
.support-steps {list-style: none; padding: 0; margin: 0;}
.support-steps li {display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 28px; padding: 24px 0; border-top: 1px solid #e3e6eb; align-items: center;}
.support-steps img {width: 112px; height: 112px; object-fit: contain; border-radius: 0;}
.support-steps h4 span {display: inline-block; color: #2679c7; margin-right: 12px;}
.support-steps p {max-width: 920px; margin: 0;}
.support-guide {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center;}
.support-surface .support-kicker {color: #59616e; font-size: 14px;}
.support-video {padding: 0; border: 1px solid #dce0e5; background: #fff; border-radius: 8px; overflow: hidden; cursor: pointer; color: #fff; position: relative; width: 100%; aspect-ratio: 16/9;}
.support-video img {display: block; width: 100%; height: 100%; object-fit: contain;}
.support-video span {position: absolute; bottom: 16px; left: 16px; background: #252c56; padding: 8px 16px; border-radius: 4px; font-size: 16px;}
.support-faq-controls {padding: 20px 0 0;}
.support-surface:not([data-enhanced]) .support-faq-controls {display: none;}
.support-surface:not([data-enhanced]) .support-video {display: none;}
.support-faq-controls label {display: block; margin-bottom: 8px; font-weight: 600;}
#faq-search {display: block; width: 100%; min-width: 0; height: 48px; padding: 10px 14px; background: #f6f7f9; border: 1px solid #cad0d9; border-radius: 6px; color: #202327;}
.support-filters {display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0;}
.support-filters button, #faq-reset {border: 1px solid #cbd2dc; background: #fff; color: #333a46; padding: 10px 16px; min-height: 44px; border-radius: 6px; cursor: pointer; white-space: normal;}
.support-filters button[aria-pressed="true"] {background: #252c56; color: #fff; border-color: #252c56;}
.support-surface #faq-count {font-size: 14px; color: #5a6574; margin-bottom: 12px;}
.support-faq-list {border-top: 1px solid #bcc5d1;}
.support-faq-list details {border-bottom: 1px solid #dce0e5; scroll-margin-top: 120px;}
.support-faq-list summary {font-size: 18px; font-weight: 600; padding: 20px 40px 20px 4px; list-style: none; cursor: pointer; position: relative; line-height: 1.5; overflow-wrap: anywhere;}
.support-faq-list summary::-webkit-details-marker {display: none;}
.support-faq-list summary::after {content: "+"; position: absolute; right: 12px; top: 20px; color: #2264ad; font-weight: 400;}
.support-faq-list details[open] summary::after {content: "-";}
.support-answer {padding: 0 40px 20px 4px; max-width: 1000px;}
.support-answer p {margin-bottom: 10px;}
.support-answer a {display: inline-block; padding: 4px 0;}
.support-surface [hidden] {display: none !important;}
#faq-empty {padding: 28px 0;}
.support-notice {padding: 12px 0 12px 18px; border-left: 3px solid #3282de; color: #4f5965;}
.support-documents {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px;}
.support-document {border: 1px solid #dce0e5; border-radius: 8px; padding: 28px; min-width: 0;}
.support-document dl {margin: 20px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px;}
.support-document dt {font-size: 14px; color: #68717c;}
.support-document dd {font-size: 16px; margin: 0; overflow-wrap: anywhere;}
.support-document .support-file {font-size: 14px; color: #59616e;}
.support-document .support-links {margin-bottom: 0;}
.support-brochure {display: flex; align-items: center; gap: 28px;}
.support-brochure img {width: 120px; height: 160px; flex-shrink: 0; object-fit: contain;}
.support-dialog {position: fixed; inset: 0; margin: auto; width: min(1000px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 16px; border: 0; border-radius: 8px; background: #fff; color: #202327; overflow: auto;}
.support-dialog::backdrop {background: rgba(0, 0, 0, .72);}
.support-dialog header {display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 12px;}
.support-dialog h2 {font-size: 20px; margin: 0; line-height: 1.4;}
.support-dialog button {font: inherit; cursor: pointer; border: 1px solid #b8c1cd; border-radius: 4px; padding: 10px 16px; color: #202327; background: #fff;}
.support-dialog video {display: block; width: 100%; max-height: calc(100dvh - 180px); aspect-ratio: 16/9; background: #000;}
.support-dialog p {line-height: 1.6; margin: 16px 0;}
.support-dialog a {color: #2264ad; text-decoration: underline;}
@media (max-width: 767px) {
  .support-surface {width: calc(100% - 32px); padding: 32px 0 96px;}
  #patient-support.con01 {padding: 32px 0 96px;}
  .support-surface h2 {font-size: 26px;}
  .support-surface h3 {font-size: 21px;}
  .support-surface h4 {font-size: 18px;}
  .support-section {padding: 28px 0;}
  .support-steps li {grid-template-columns: 64px minmax(0, 1fr); gap: 16px; align-items: start;}
  .support-steps img {width: 64px; height: 64px;}
  .support-steps h4 span {display: block; margin: 0 0 4px;}
  .support-guide, .support-documents {grid-template-columns: minmax(0, 1fr); gap: 20px;}
  .support-faq-list summary {font-size: 17px;}
  .support-answer {padding-right: 4px;}
  .support-document {padding: 20px;}
  .support-brochure {gap: 16px;}
  .support-brochure img {width: 84px; height: 120px;}
  .support-filters button {padding: 8px 12px;}
}
