/* MED V6.3.0-service-center-r001. Add after the retained page styles.
   Opt in with body.med-service-center. No business, auth or canvas-engine changes.
   The same named layer is intentional: retained v6.2.0 uses !important there. */
@font-face {
  font-family: MedServiceSarabun;
  src: url('/med-web/v6.1.0-r003/assets/Sarabun-Regular.ttf') format('truetype');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: MedServiceSarabun;
  src: url('/med-web/v6.1.0-r003/assets/Sarabun-Bold.ttf') format('truetype');
  font-weight: 700;
  font-display: swap;
}
body.med-service-center {
  --med-navy: #041e42;
  --med-blue: #0054ad;
  --med-sky: #009fe8;
  --med-white: #fff;
  --med-ink: #173454;
  --med-muted: #52657b;
  --med-line: #d4dfe9;
  --med-soft: #f4f8fc;
  --navy: var(--med-navy);
  --ink: var(--med-ink);
  --teal: var(--med-blue);
  --brand: var(--med-blue);
  --blue: var(--med-blue);
  --cyan: var(--med-sky);
  --primary: var(--med-blue);
  --muted: var(--med-muted);
  --line: var(--med-line);
  --surface: var(--med-soft);
  --card: var(--med-white);
  --panel: var(--med-white);
  --bg: var(--med-white);
  --ground: var(--med-soft);
  accent-color: var(--med-blue);
}

/* Shared public shell, information pages, legal, portal and both 3D wrappers. */
@layer medSecondary620 {
  body.med-service-center {
    background: #fff !important;
    color: #173454 !important;
    font-family: MedServiceSarabun, Sarabun, Tahoma, sans-serif !important;
    color-scheme: light;
  }
  body.med-service-center.med-secondary-v620 {
    --navy: #041e42; --ink: #173454; --teal: #0054ad; --brand: #0054ad;
    --primary: #0054ad; --blue: #0054ad; --cyan: #009fe8; --muted: #52657b; --line: #d4dfe9;
    --surface: #f4f8fc; --card: #fff; --panel: #fff; --bg: #fff;
    accent-color: #0054ad;
  }
  body.med-service-center :is(h1,h2,h3,h4,.title,.page-title,.section-title) {
    color: #041e42 !important;
    font-family: MedServiceSarabun, Sarabun, Tahoma, sans-serif !important;
  }
  body.med-service-center :is(p,li,address,.muted,.subtitle,.lead,.section-copy) {
    color: #52657b !important;
  }
  body.med-service-center :is(.topbar,.portal-topbar,.contact-strip,.eq-topbar) {
    background: #041e42 !important; color: #fff !important; border-color: #274568 !important;
  }
  body.med-service-center :is(.topbar,.portal-topbar,.contact-strip,.eq-topbar) :is(a,p,span,med-copy) {
    color: #fff !important;
  }
  body.med-service-center :is(.site-header,.portal-header,.eq-header,.site-head) {
    background: #041e42 !important; color: #fff !important;
    border-color: #274568 !important; box-shadow: 0 1px 0 #ffffff12 !important;
  }
  body.med-service-center :is(.site-header,.portal-header,.eq-header,.site-head) :is(h1,h2,h3,p,span,a,.brand,.brand-name) {
    color: #fff !important;
  }
  body.med-service-center :is(.nav-menu,.desktop-nav,.site-head nav) a {
    color: #fff !important;
  }
  body.med-service-center .site-header .menu-toggle span { background: #fff !important; }
  body.med-service-center :is(.nav-menu,.desktop-nav) :is(a:hover,a[aria-current=page],.active) {
    color: #fff !important; border-color: #009fe8 !important;
  }
  body.med-service-center :is(.section,.page,.page-content,.portal-page,.eq-page,main) {
    background-color: #fff !important; color: #173454 !important;
  }
  body.med-service-center :is(.page-hero,.portal-hero,.equipment-hero,.legal-hero,.hero-main,.hero-side) {
    background: linear-gradient(115deg,#fff 0%,#fff 67%,#f0f7fd 67%,#e6f2fc 100%) !important;
    border-color: #d4dfe9 !important; color: #041e42 !important;
  }
  body.med-service-center :is(.section-kicker,.section-label,.eyebrow,.breadcrumb,.kicker,.detail-index,.learning-number) {
    color: #0054ad !important;
  }
  body.med-service-center :is(.section-soft,.section-light,.section-alt,.section-tint,.hero-assurance,.learning-note,.equipment-model-note,.equipment-section.content-section) {
    background: #f4f8fc !important; border-color: #d4dfe9 !important;
  }
  body.med-service-center :is(.card,.service-card,.feature-card,.info-card,.contact-card,.team-card,.portal-panel,.panel,.legal-card,.knowledge-card,.equipment-card,.history-card,.tracking-result,.customer-auth-gate,.legal-content,.legal-container,.equipment-shell,.equipment-directory,.equipment-part-detail,.viewer-panel,.parts-panel,.viewer-heading,.model-import,.report-dialog,.report-grid,.eq-message,.service-dialog,.faq-item,.process-card,.stat,.stat-item) {
    background-color: #fff !important; color: #173454 !important; border-color: #d4dfe9 !important;
    box-shadow: 0 8px 26px #041e4208 !important;
  }
  body.med-service-center :is(.service-card:hover,.feature-card:hover,.knowledge-card:hover) {
    border-color: #0054ad !important; box-shadow: 0 10px 28px #041e4212 !important;
  }
  body.med-service-center :is(.button,.btn,.submit-button,.primary,.primary-button,button[type=submit]) {
    background: #0054ad !important; color: #fff !important;
    border-color: #0054ad !important; box-shadow: none !important;
  }
  body.med-service-center :is(.button,.btn,.submit-button,.primary,.primary-button,button[type=submit]):hover {
    background: #041e42 !important; color: #fff !important; border-color: #041e42 !important;
  }
  body.med-service-center :is(.button,.btn,.submit-button,.primary) :is(span,med-copy) {
    color: inherit !important;
  }
  body.med-service-center :is(.button-outline,.button-outline-light,.button-white,.button-secondary,.secondary-button,.secondary,.ghost) {
    background: #fff !important; color: #0054ad !important; border-color: #0054ad !important;
  }
  body.med-service-center :is(.button-outline,.button-outline-light,.button-white,.button-secondary,.secondary-button,.secondary,.ghost):hover {
    background: #edf5fd !important; color: #041e42 !important;
  }
  body.med-service-center :is(.text-action,.text-link,.channel-main-link,.channel-secondary-link,.hero-explorer-link,.copy-button,.reference-link) {
    color: #0054ad !important;
  }
  body.med-service-center :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select,textarea) {
    background: #fff !important; color: #173454 !important; border-color: #91a7bf !important; font-family: inherit !important;
  }
  body.med-service-center :is(label,.field-label,legend) { color: #173454 !important; }
  body.med-service-center :is(input,textarea)::placeholder { color: #607087 !important; opacity: 1; }
  body.med-service-center :is(.portal-tabs,.tabbar,.tabs) :is(a,button) {
    background: #fff !important; color: #173454 !important; border-color: #d4dfe9 !important;
  }
  body.med-service-center :is(.portal-tabs,.tabbar,.tabs) :is([aria-current=page],[aria-selected=true],.active) {
    background: #0054ad !important; color: #fff !important; border-color: #0054ad !important;
  }
  body.med-service-center :is(.faq-item,details,.process-step,.stat,.stat-item) { border-color: #d4dfe9 !important; }
  body.med-service-center summary { color: #041e42 !important; }
  body.med-service-center :is(.footer,.site-footer,.portal-footer,.site-foot,.legal-footer,.foot,.cta-band) {
    background: #041e42 !important; color: #fff !important; border-color: #274568 !important;
  }
  body.med-service-center :is(.footer,.site-footer,.portal-footer,.site-foot,.legal-footer,.foot,.cta-band) :is(h2,h3,p,li,address,a,span,button,med-copy) {
    color: #fff !important;
  }
  body.med-service-center.med-secondary-v620 .cta-band :is(h2,p,a:not(.button)) { color: #fff !important; }
  body.med-service-center :is(.footer,.site-footer,.portal-footer,.site-foot,.legal-footer,.foot) :is(a:not(.button),button:not(.button)):hover {
    color: #fff !important; text-decoration: underline; text-underline-offset: 4px;
  }
  body.med-service-center :is(.footer-bottom,.footer-legal,.portal-legal,.med-theme-release) {
    background: #031831 !important; color: #fff !important; border-color: #274568 !important;
  }
  body.med-service-center .med-theme-release span { color: #fff !important; }
  body.med-service-center :is(.footer,.site-footer,.portal-footer,.cta-band) :is(.button-white,.button-outline-light) {
    color: #041e42 !important; background: #fff !important; border-color: #fff !important;
  }
  body.med-service-center :is(.button-white,.button-outline-light) med-copy { color: inherit !important; }
  body.med-service-center :is(.error,.danger,.field-error,[role=alert]) { color: #a12424 !important; }
  body.med-service-center :is(.success,.notice-success) { color: #17603b !important; }
  body.med-service-center :is(table,th,td) { border-color: #d4dfe9 !important; }
  body.med-service-center th { background: #edf5fd !important; color: #041e42 !important; }
  body.med-service-center :is(a,button,input,select,textarea,summary):focus-visible {
    outline: 3px solid #0054ad !important; outline-offset: 4px !important;
  }
  body.med-service-center :is(.site-header,.portal-header,.site-head,.footer,.site-footer,.portal-footer) :is(a,button):focus-visible {
    outline-color: #fff !important;
  }
  body.med-service-center.med-legal>header,body.med-service-center.med-legal .bar {
    background: #041e42 !important; color: #fff !important; border-color: #274568 !important;
  }
  body.med-service-center.med-legal :is(header,.bar) :is(a,span) { color: #fff !important; }
  body.med-service-center.med-legal>footer { background: #041e42 !important; color: #fff !important; }
  body.med-service-center .mobile-contact { background: #0054ad !important; color: #fff !important; }
  body.med-service-center .mobile-contact span { color: #fff !important; }
  /* Current public equipment entrance is the 7415-byte approved QR contract,
     not the older v6.2.0-only wrapper. Preserve its camera/auth/hidden flows. */
  body.med-service-center .entrance-hero { background: #041e42 !important; color: #fff !important; }
  body.med-service-center .entrance-hero :is(.entrance-label,.entrance-hero-title,.entrance-hero-copy) { color: #fff !important; }
  body.med-service-center :is(.entrance-main,.entrance-card) { background: #fff !important; border-color: #d4dfe9 !important; }
  body.med-service-center :is(.entrance-kicker,.entrance-link,.entrance-scan-symbol) { color: #0054ad !important; }
  body.med-service-center .entrance-scan-frame { background: #f4f8fc !important; border-color: #b7cce1 !important; }
  body.med-service-center .entrance-button { background: #0054ad !important; color: #fff !important; border-color: #0054ad !important; }
  body.med-service-center .entrance-button:hover { background: #041e42 !important; color: #fff !important; }
  body.med-service-center .entrance-button-secondary { background: #fff !important; color: #0054ad !important; border-color: #0054ad !important; }
  body.med-service-center .entrance-button-secondary:hover { background: #edf5fd !important; color: #041e42 !important; }
  body.med-service-center .entrance-error { color: #a12424 !important; }

  /* Both the embedded wrapper and the standalone 3D page opt into this layer.
     Canvas scene/materials remain the retained educational engine's own output. */
  body.med-service-center :is(.equipment-toolbar,.equipment-view-tabs,.viewer-toolbar,.viewer-tools,.toolbar,.model-controls,.machine-strip,.explode-control,.viewer-status) {
    background: #f4f8fc !important; color: #173454 !important; border-color: #d4dfe9 !important;
  }
  body.med-service-center :is(.equipment-visual,.canvas-wrap,.viewer-loading,.viewer-fallback) {
    background: #f4f8fc !important;
  }
  body.med-service-center :is(.equipment-view-tabs button[aria-selected=true],.machine-option[aria-pressed=true]) {
    background: #fff !important; color: #0054ad !important; border-color: #0054ad !important;
  }
  body.med-service-center :is(.equipment-parts button,.parts-list button) {
    color: #173454 !important; border-color: transparent !important;
  }
  body.med-service-center :is(.equipment-parts button[aria-pressed=true],.parts-list button[aria-pressed=true],.parts-list button.active) {
    color: #041e42 !important; background: #e8f2fc !important; border-color: #0054ad !important;
  }
  body.med-service-center :is(.equipment-parts button>span:first-child,.part-label) {
    background: #041e42 !important; color: #fff !important;
  }
  body.med-service-center :is(.equipment-parts .schematic-part>span:first-child,.part-label.schematic) {
    background: #0054ad !important; color: #fff !important; border-style: dashed !important;
  }
  body.med-service-center .part-label.active { outline: 3px solid #0054ad !important; outline-offset: 3px; }
  body.med-service-center :is(.equipment-part-detail,.part-detail,.render-badge,.view-instruction) {
    color: #173454 !important; background: #edf5fd !important; border-color: #b7cce1 !important;
  }
  body.med-service-center .camera-controls { background: #fff !important; border-color: #b7cce1 !important; }
  body.med-service-center .camera-controls button {
    width: 44px; height: 44px; min-height: 44px;
    background: #fff !important; color: #041e42 !important; border-color: #d4dfe9 !important;
  }
  body.med-service-center .camera-controls button:is(:hover,[aria-pressed=true]) {
    background: #e8f2fc !important; color: #0054ad !important;
  }
  body.med-service-center :is(.explode-label label,.explode-label output,.range-labels button,.view-instruction>span,.equipment-model-note svg,.learning-note .note-icon) {
    color: #0054ad !important;
  }
  body.med-service-center .explode-control input { accent-color: #0054ad !important; }
  body.med-service-center .directory-key span:before { background: #041e42 !important; }
  body.med-service-center .directory-key span:last-child:before { background: #0054ad !important; }
  body.med-service-center .equipment-sources { background: transparent !important; }
  body.med-service-center.embedded { background: #f4f8fc !important; }
  body.med-service-center.embedded :is(.viewer-panel,.explorer) { box-shadow: none !important; }
  @media (max-width: 1100px) {
    body.med-service-center :is(.nav-menu,.mobile-nav) { background: #041e42 !important; border-color: #274568 !important; }
    body.med-service-center :is(.nav-menu,.mobile-nav) a { color: #fff !important; }
  }
}

/* React homepage composition. Text and links remain native UI above real assets. */
body.med-service-center.med-service-center-home .site-header {
  min-height: 104px; height: auto; padding: 10px max(32px,calc((100vw - 1440px)/2)); gap: 24px;
}
body.med-service-center.med-service-center-home .site-header .brand { width: 164px; }
body.med-service-center.med-service-center-home .site-header .brand img { height: 82px; object-fit: contain; }
body.med-service-center.med-service-center-home .desktop-nav { gap: 20px; font-size: 15px; }
body.med-service-center.med-service-center-home .desktop-nav a { border-bottom-width: 3px; padding-block: 24px 19px; }
body.med-service-center.med-service-center-home .header-cta { display: none; }
body.med-service-center.med-service-center-home .staff-header-link {
  display: inline-flex; gap: 10px; align-items: center; padding: 12px 0 12px 22px;
  border-left: 1px solid #55708b; white-space: nowrap; font-size: 15px;
}
body.med-service-center.med-service-center-home .menu-toggle { color: #fff; }
body.med-service-center.med-service-center-home .hero {
  min-height: 570px; height: min(43vw,680px); position: relative; isolation: isolate;
  background: #fff; display: grid; grid-template-columns: 53% 47%; overflow: hidden;
}
body.med-service-center.med-service-center-home .hero-copy {
  width: 100%; grid-column: 1; grid-row: 1; align-self: center;
  padding: 44px 12px 52px max(42px,calc((100vw - 1320px)/2)); z-index: 2;
}
body.med-service-center.med-service-center-home .hero.show-equipment .hero-copy { width: 100%; }
body.med-service-center.med-service-center-home .hero h1 {
  font-size: clamp(40px,4.05vw,66px); line-height: 1.35; letter-spacing: -.035em;
  margin-top: 24px; text-wrap: balance;
}
body.med-service-center.med-service-center-home .hero-description { font-size: clamp(18px,1.9vw,27px); margin-top: 22px; line-height: 1.7; }
body.med-service-center.med-service-center-home .eyebrow:before,body.med-service-center.med-service-center-home .eyebrow:after { background: #009fe8; }
body.med-service-center.med-service-center-home .hero .eyebrow:after { display: none; }
body.med-service-center.med-service-center-home .hero-visual {
  grid-column: 2; grid-row: 1; position: relative; min-width: 0; height: 100%; isolation: isolate;
  background: radial-gradient(ellipse at 70% 65%,#0b5294 0,transparent 66%),linear-gradient(145deg,#041e42,#052a58);
}
body.med-service-center.med-service-center-home .hero-visual:after {
  content: ''; position: absolute; inset: 55% -20% -35% 0; z-index: -1; opacity: .22;
  background-image: linear-gradient(#009fe8 1px,transparent 1px),linear-gradient(90deg,#009fe8 1px,transparent 1px);
  background-size: 42px 42px; transform: perspective(440px) rotateX(55deg) rotateZ(-12deg); pointer-events: none;
}
body.med-service-center.med-service-center-home .service-center-curve {
  position: absolute; inset: -18% auto -18% -26%; width: 37%; z-index: 1;
  background: #fff; border-right: 24px solid #009fe8; border-radius: 0 0 100% 0 / 0 0 100% 0;
  transform: rotate(8deg); pointer-events: none;
}
body.med-service-center.med-service-center-home .service-center-device {
  position: absolute; z-index: 1; right: 4%; top: 2%; width: 88%; height: 88%;
  object-fit: contain; object-position: center; filter: drop-shadow(0 18px 16px #0002);
}
/* Retained PICO image has a dark surround; screen blends that surround with navy.
   New manufacturer/product cutouts require separate provenance and image review. */
body.med-service-center.med-service-center-home .hero:not(.show-equipment) .service-center-device { mix-blend-mode: screen; }
body.med-service-center.med-service-center-home .hero-device-caption {
  position: absolute; inset: auto 30px 24px 18%; color: #fff; text-align: right; z-index: 2;
  display: grid; gap: 3px; line-height: 1.7;
}
body.med-service-center.med-service-center-home .hero-device-caption>span { font-size: 18px; font-weight: 700; letter-spacing: .08em; }
body.med-service-center.med-service-center-home .hero-device-caption small { font-size: 12px; color: #e4eef9; }
body.med-service-center.med-service-center-home .hero-action-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
body.med-service-center.med-service-center-home .hero-action-row .button {
  margin: 0; min-width: 0; min-height: 62px; font-size: 20px; gap: 12px; padding: 15px 20px;
}
body.med-service-center.med-service-center-home .hero-explorer-link {
  display: inline-flex; gap: 12px; align-items: center; font-size: 16px; font-weight: 700;
  padding-block: 11px; margin-top: 13px; text-decoration: underline; text-underline-offset: 5px;
}
body.med-service-center.med-service-center-home .content-section { padding: 76px max(40px,calc((100vw - 1260px)/2)); }
body.med-service-center.med-service-center-home .service-center-shortcuts { padding-top: 42px; padding-bottom: 34px; text-align: center; }
body.med-service-center.med-service-center-home .service-center-shortcuts h2 { display: flex; justify-content: center; gap: 24px; align-items: center; }
body.med-service-center.med-service-center-home .service-center-shortcuts h2:before,body.med-service-center.med-service-center-home .service-center-shortcuts h2:after {
  content: ''; width: 52px; height: 2px; background: #009fe8;
}
body.med-service-center.med-service-center-home .service-center-shortcut-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 28px; }
body.med-service-center.med-service-center-home .service-center-shortcut-grid>a {
  display: flex; gap: 20px; align-items: center; text-align: left; border: 1px solid #d4dfe9;
  border-radius: 14px; background: #fff; color: #041e42; padding: 23px; font-size: 26px;
  font-weight: 700; box-shadow: 0 8px 18px #041e4208; min-height: 122px;
}
body.med-service-center.med-service-center-home .service-center-shortcut-grid>a:hover { border-color: #0054ad; background: #f4f8fc; }
body.med-service-center.med-service-center-home .service-center-shortcut-grid>a>svg { margin-left: auto; color: #0054ad; flex: none; }
body.med-service-center.med-service-center-home .shortcut-icon {
  display: grid; place-items: center; width: 66px; height: 66px; border-radius: 12px;
  color: #0054ad; background: #e8f4fe; flex: none;
}
body.med-service-center.med-service-center-home .machine-selector { padding: 16px max(36px,calc((100vw - 1260px)/2)) 24px; background: #fff; }
body.med-service-center.med-service-center-home .machine-tab.selected { color: #041e42; border-color: #0054ad; }
body.med-service-center.med-service-center-home .machine-tab.selected img { background: #edf5fd; }
body.med-service-center.med-service-center-home .machine-tab img { mix-blend-mode: normal; }
body.med-service-center.med-service-center-home .selector-caption { color: #0054ad; }
body.med-service-center.med-service-center-home .selector-caption:before,body.med-service-center.med-service-center-home .selector-caption:after { background: #009fe8; }
body.med-service-center.med-service-center-home .contact-band { background: #f4f8fc; border-block: 1px solid #d4dfe9; }
body.med-service-center.med-service-center-home .teal-rule { background: #009fe8; }
body.med-service-center.med-service-center-home :is(.channel-grid article,.services-section .services-grid article,.process-step) { background: #fff; border-color: #d4dfe9; }
body.med-service-center.med-service-center-home .service-icon { color: #0054ad; background: #fff; border-color: #d4dfe9; }
body.med-service-center.med-service-center-home .equipment-section.content-section { padding-top: 52px; }
body.med-service-center.med-service-center-home .equipment-shell { border-color: #c2d5e7; border-radius: 16px; }
body.med-service-center.med-service-center-home .explorer-intro h2 { font-size: clamp(29px,3vw,40px); }
body.med-service-center.med-service-center-home .explorer-intro-tag { color: #0054ad; }
body.med-service-center.med-service-center-home .equipment-model-note { border-left: 4px solid #0054ad; }
body.med-service-center.med-service-center-home .equipment-model-note p { font-size: 13px; }
body.med-service-center.med-service-center-home :is(.directory-key,.equipment-part-detail small,.image-guide-note) { font-size: 12px; line-height: 1.8; }
body.med-service-center.med-service-center-home .equipment-parts button { font-size: 13px; min-height: 46px; }
body.med-service-center.med-service-center-home .equipment-part-detail p { font-size: 14px; }
body.med-service-center.med-service-center-home .equipment-view-tabs button { min-height: 58px; }
body.med-service-center.med-service-center-home .about-section { background: #f4f8fc; }
body.med-service-center.med-service-center-home .faq-section details { background: #fff; }

@media (max-width: 1320px) {
  body.med-service-center.med-service-center-home .site-header { padding-inline: 28px; gap: 18px; }
  body.med-service-center.med-service-center-home .site-header .brand { width: 140px; }
  body.med-service-center.med-service-center-home .desktop-nav { gap: 15px; font-size: 13px; }
  body.med-service-center.med-service-center-home .staff-header-link { font-size: 13px; padding-left: 17px; }
  body.med-service-center.med-service-center-home .hero-copy { padding-left: 36px; }
  body.med-service-center.med-service-center-home .hero-action-row .button { font-size: 18px; padding-inline: 16px; }
  body.med-service-center.med-service-center-home .service-center-shortcut-grid>a { font-size: 22px; gap: 14px; padding: 20px; }
}
@media (max-width: 1100px) {
  body.med-service-center.med-service-center-home .desktop-nav { display: none; }
  body.med-service-center.med-service-center-home .menu-toggle { display: block; }
  body.med-service-center.med-service-center-home .staff-header-link { margin-left: auto; }
  body.med-service-center.med-service-center-home .site-header { min-height: 88px; }
  body.med-service-center.med-service-center-home .site-header .brand img { height: 68px; }
  body.med-service-center.med-service-center-home .mobile-nav {
    display: grid; position: absolute; top: 88px; left: 0; right: 0; z-index: 10;
    padding: 12px 28px 24px; max-height: calc(100dvh - 88px); overflow: auto;
    background: #041e42; color: #fff; box-shadow: 0 14px 24px #041e4220;
  }
  body.med-service-center.med-service-center-home .mobile-nav>a {
    display: flex; align-items: center; justify-content: space-between; padding: 13px 0; border-bottom: 1px solid #274568;
  }
  body.med-service-center.med-service-center-home .mobile-nav .button { margin-top: 18px; }
  body.med-service-center.med-service-center-home .hero { min-height: 560px; grid-template-columns: 55% 45%; }
  body.med-service-center.med-service-center-home .hero h1 { font-size: 43px; }
  body.med-service-center.med-service-center-home .hero-action-row { gap: 10px; }
  body.med-service-center.med-service-center-home .hero-action-row .button { min-height: 56px; font-size: 16px; gap: 10px; padding-inline: 13px; }
  body.med-service-center.med-service-center-home .hero-device-caption { left: 12%; right: 22px; }
  body.med-service-center.med-service-center-home .service-center-shortcut-grid { gap: 15px; }
  body.med-service-center.med-service-center-home .shortcut-icon { width: 52px; height: 56px; }
  body.med-service-center.med-service-center-home .service-center-shortcut-grid>a { padding: 16px; font-size: 19px; gap: 12px; }
}
@media (max-width: 760px) {
  body.med-service-center.med-service-center-home .hero { display: flex; flex-direction: column; height: auto; min-height: 0; }
  body.med-service-center.med-service-center-home .hero-copy { order: 0; padding: 35px 26px 30px; width: 100%; }
  body.med-service-center.med-service-center-home .hero h1 { font-size: clamp(34px,6.3vw,47px); margin-top: 19px; line-height: 1.4; }
  body.med-service-center.med-service-center-home .hero-description { font-size: 20px; margin-top: 14px; }
  body.med-service-center.med-service-center-home .hero-visual { order: 1; width: 100%; height: 410px; flex: none; overflow: hidden; }
  body.med-service-center.med-service-center-home .service-center-curve { inset: -80% auto 0 -25%; width: 40%; border-right-width: 15px; }
  body.med-service-center.med-service-center-home .service-center-device { width: 78%; right: 5%; top: 0; height: 88%; }
  body.med-service-center.med-service-center-home .hero-device-caption { bottom: 16px; right: 24px; }
  body.med-service-center.med-service-center-home .hero-device-caption>span { font-size: 16px; }
  body.med-service-center.med-service-center-home .hero-device-caption small { font-size: 11px; }
  body.med-service-center.med-service-center-home .hero-action-row { margin-top: 23px; }
  body.med-service-center.med-service-center-home .hero-action-row .button { font-size: 18px; min-height: 58px; flex: 1 1 auto; }
  body.med-service-center.med-service-center-home .hero-explorer-link { font-size: 15px; margin-top: 10px; }
  body.med-service-center.med-service-center-home .content-section { padding-inline: 25px; }
  body.med-service-center.med-service-center-home .service-center-shortcut-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 22px; }
  body.med-service-center.med-service-center-home .service-center-shortcuts { padding-top: 32px; padding-bottom: 24px; }
  body.med-service-center.med-service-center-home .service-center-shortcuts h2 { font-size: 29px; gap: 16px; }
  body.med-service-center.med-service-center-home .service-center-shortcuts h2:before,body.med-service-center.med-service-center-home .service-center-shortcuts h2:after { width: 32px; }
  body.med-service-center.med-service-center-home .service-center-shortcut-grid>a { min-height: 92px; padding: 16px 20px; font-size: 23px; gap: 20px; }
  body.med-service-center.med-service-center-home .machine-selector { padding-inline: 16px; }
  body.med-service-center.med-service-center-home .equipment-section.content-section { padding: 42px 17px 48px; }
  body.med-service-center.med-service-center-home .equipment-parts button { font-size: 12px; min-height: 48px; }
  body.med-service-center.med-service-center-home .equipment-part-detail small { font-size: 12px; }
  body.med-service-center.med-service-center-home .equipment-model-note p { font-size: 12px; }
}
@media (max-width: 460px) {
  body.med-service-center.med-service-center-home .site-header { padding: 8px 20px; gap: 12px; min-height: 82px; }
  body.med-service-center.med-service-center-home .site-header .brand { width: 120px; }
  body.med-service-center.med-service-center-home .site-header .brand img { height: 66px; }
  body.med-service-center.med-service-center-home .staff-header-link { gap: 7px; padding-left: 12px; font-size: 12px; }
  body.med-service-center.med-service-center-home .staff-header-link svg { width: 17px; }
  body.med-service-center.med-service-center-home .menu-toggle { margin-left: 0; padding: 4px; }
  body.med-service-center.med-service-center-home .mobile-nav { top: 82px; max-height: calc(100dvh - 82px); }
  body.med-service-center.med-service-center-home .hero-action-row .button { width: 100%; justify-content: center; }
  body.med-service-center.med-service-center-home .hero-visual { height: 355px; }
  body.med-service-center.med-service-center-home .eyebrow { white-space: normal; font-size: 10px; letter-spacing: 1px; }
  body.med-service-center.med-service-center-home .hero-copy { padding-inline: 23px; }
  body.med-service-center.med-service-center-home .hero h1 { font-size: clamp(31px,8.7vw,40px); }
  body.med-service-center.med-service-center-home .hero-description { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  body.med-service-center.med-service-center-home *,body.med-service-center.med-service-center-home *:before,body.med-service-center.med-service-center-home *:after {
    scroll-behavior: auto !important; transition: none !important;
  }
}

/* R002: source fixes for observed mobile menu, hero secondary action and contact accents.
   Additive palette rules only; retain geometry, visibility, handlers and semantic statuses. */
@layer medSecondary620 {
  body.med-service-center.med-secondary-v620 .site-header .menu-toggle {
    background: #041e42 !important; color: #fff !important; border-color: #8da4bd !important;
  }
  body.med-service-center.med-secondary-v620 .site-header .menu-toggle span {
    background: #fff !important;
  }
  body.med-service-center.med-service-center-home .hero-track.button-secondary {
    background: #fff !important; color: #0054ad !important; border-color: #0054ad !important;
  }
  body.med-service-center.med-service-center-home .hero-track.button-secondary:hover {
    background: #edf5fd !important; color: #041e42 !important; border-color: #0054ad !important;
  }
  body.med-service-center.med-secondary-v620 .contact-grid .contact-method {
    border-top-color: #0054ad !important;
  }
  body.med-service-center.med-secondary-v620 .contact-grid .contact-method .icon-box {
    background: #e8f4fe !important; color: #0054ad !important; border-color: #b7cce1 !important;
  }
  body.med-service-center.med-secondary-v620 .contact-grid a.contact-method:hover {
    background: #edf5fd !important; border-color: #b7cce1 !important; border-top-color: #0054ad !important;
  }
  body.med-service-center.med-secondary-v620.med-knowledge .knowledge-hero h1>span,
  body.med-service-center.med-secondary-v620.med-knowledge .knowledge-hero .knowledge-meta a {
    color: #0054ad !important;
  }
  body.med-service-center.med-secondary-v620.med-knowledge .knowledge-boundary {
    background: #edf5fd !important; border-left-color: #0054ad !important;
  }
  body.med-service-center.med-secondary-v620.med-legal main article a {
    color: #0054ad !important;
  }
}

/* R003: portal hero emphasis and non-state assurance copy observed after merge. */
@layer medSecondary620 {
  body.med-service-center.med-secondary-v620.med-portal .portal-hero h1>span,
  body.med-service-center.med-secondary-v620.med-portal .hero-assurance[aria-label="จุดเด่นระบบออนไลน์"] b {
    color: #0054ad !important;
  }
}
