/* Shared responsive layer. Loaded after each page's own styles. */
.mobile-section-toggle { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: inherit; }
@media (min-width: 1181px) {
  .mobile-section-toggle { pointer-events: none; }
  .site-header .menu-button, .sub-header .menu-button { display: none; }
}

@media (max-width: 1180px) {
  html { scroll-padding-top: 88px; }
  body { -webkit-text-size-adjust: 100%; }
  .site-header, .sub-header, .site-header.is-compact, .sub-header.is-compact {
    height: 72px; position: fixed; inset: 0 0 auto; z-index: 30;
    background: rgba(3, 11, 16, .96); border-bottom: 1px solid rgba(52,186,244,.2);
  }
  .site-header .header-inner, .sub-header .sub-header-inner {
    width: calc(100% - 40px); height: 72px; min-height: 72px;
    display: flex; align-items: center; gap: 12px; padding: 0;
  }
  .site-header .brand, .sub-header .sub-brand { flex: 0 0 120px; width: 120px; height: 48px; margin: 0; }
  .site-header .brand img, .sub-header .sub-brand img { width: 116px; max-width: 116px; max-height: 44px; object-fit: contain; }
  .site-header .primary-nav, .sub-header .sub-nav { display: none; }
  .site-header .site-header-tools, .sub-header .site-header-tools {
    order: 2; width: auto; min-width: 0; max-width: none; margin-left: auto; height: auto; gap: 0;
  }
  .site-header-tools .site-project-inquiry, .site-header-tools .site-page-marker,
  .header-inner > .header-cta, .sub-header-inner > .sub-header-mark, .sub-header-inner > .back-to-list { display: none; }
  .site-header .menu-button, .sub-header .menu-button {
    order: 3; flex: 0 0 44px; width: 44px; height: 44px; display: flex;
    flex-direction: column; align-items: center; justify-content: center; gap: 7px;
    margin: 0; padding: 8px; border: 0; background: none; color: #fff; cursor: pointer;
  }
  .menu-button span { display: block; width: 26px; height: 2px; margin: 0; background: currentColor; transition: transform .2s; }
  .mobile-menu-open .menu-button span:first-child { transform: translateY(4.5px) rotate(45deg); }
  .mobile-menu-open .menu-button span:last-child { transform: translateY(-4.5px) rotate(-45deg); }
  .site-header-tools .site-language-trigger { min-width: 54px; height: 44px; }
  .site-language-dropdown { right: 0; max-width: calc(100vw - 40px); }
  .mobile-navigation-open { position: fixed; top: var(--mobile-scroll-offset); left: 0; right: 0; overflow: hidden; }
  .site-header .site-mega-menu, .sub-header .site-mega-menu {
    display: block !important; position: absolute; top: 72px; bottom: auto;
    height: calc(100vh - 72px); height: calc(100dvh - 72px); overflow-y: auto;
    overscroll-behavior: contain; padding-bottom: max(28px, env(safe-area-inset-bottom));
    visibility: hidden; clip-path: none; transform: translateY(-8px);
  }
  .mobile-menu-open .site-mega-menu { visibility: visible; transform: none; }
  .site-mega-menu::before { display: none; }
  .mega-menu-inner { width: calc(100% - 40px); display: block; padding: 8px 0 32px; }
  .mega-menu-meta { display: none; }
  .mega-menu-grid { display: block; }
  .mega-menu-column, .mega-open .mega-menu-column {
    min-height: 0; padding: 16px 0; border: 0; border-bottom: 1px solid #22343d;
    background: none; opacity: 1; transform: none; transition: none;
  }
  .mega-menu-column::before { display: none; }
  .mega-menu-column > span { font-size: 12px; }
  .mega-menu-column h2 { margin: 4px 0 0; font-size: 23px; }
  .mobile-section-toggle { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
  .mobile-section-toggle::after { content: '+'; color: #58cfff; font-size: 26px; font-weight: 400; }
  .mobile-section-toggle[aria-expanded='true']::after { content: '−'; }
  .mega-menu-column nav { display: none; }
  .mega-menu-column.is-expanded nav { display: grid; gap: 0; padding: 12px 16px; margin-top: 8px; background: #0a1922; }
  .mega-menu-column a { width: 100%; min-height: 46px; display: flex; align-items: center; padding: 10px 0; font-size: 16px; }
  :is(.menu-button, .mobile-section-toggle, .mega-menu-column a):focus-visible { outline: 2px solid #58cfff; outline-offset: 3px; }
}

@media (max-width: 980px) {
  body { --page: calc(100vw - 40px); --page-width: calc(100vw - 40px); }
  main :is(h1, h2, h3, p, li, dd, a) { overflow-wrap: anywhere; }
  main :is(input, select, textarea) { max-width: 100%; font-size: 16px; }
  main :is(img, video) { max-width: 100%; }
  .certification-hero-inner { grid-template-columns: minmax(0, 1fr); }
  .certification-hero-copy { min-width: 0; }
  main :is(.customer-hero-inner, .customer-inquiry, .mas-hero-inner, .mas-definition, .mas-process-heading, .mas-support, .notice-hero-inner, .notice-board-heading, .notice-verification) { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .home-page .hero { min-height: 0; }
  .home-page .hero-inner { width: calc(100% - 40px); min-height: 660px; padding: 128px 0 52px; grid-template-columns: minmax(0, 1fr); }
  .home-page .hero-copy { padding: 0; max-width: 650px; }
  .home-page .hero h1.hero-identity-title { font-size: clamp(36px, 7.8vw, 68px); line-height: 1.16; letter-spacing: -.045em; }
  .home-page .hero-domain { max-width: 32em; font-size: 13px; line-height: 1.7; letter-spacing: .025em; }
  .home-page .hero-proof { position: relative; padding: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; background: rgba(3,11,16,.86); }
  .home-page .certification-badge { height: auto; min-height: 68px; padding: 12px; gap: 8px; flex-wrap: wrap; }
  .home-page .certification-badge img { max-width: min(100%, 100px); max-height: 32px; object-fit: contain; }
  .home-page .certification-badge small { font-size: 12px; }
  .home-page .hero-lab-background { background-position: 65% center; }
  .home-page .hero-device-leds { display: none; }
  .home-page .hero-flow-line { font-size: 16px; gap: 10px; }
  .home-page .hero-story-summary strong, .home-page .hero-story-summary span { font-size: 16px; line-height: 1.7; }
  .home-motion .hero-flow-line, .home-motion .hero-story-summary strong, .home-motion .hero-story-summary span,
  .home-motion .hero-story-summary::before { opacity: 1; filter: none; transform: none; }
  .home-page .hero-story-sequence { margin-top: 24px; min-height: 0; }
  .home-page .hero-story-summary { margin-top: 24px; min-height: 0; }
  .home-page .hero-actions { margin-top: 28px; }
  .document-workspace, .document-workspace.is-presentation { grid-template-columns: minmax(0, 1fr); }
  .document-viewer-shell, .document-canvas, .pdf-document-viewer { min-width: 0; max-width: 100%; }
  .document-toolbar { flex-wrap: wrap; gap: 12px; }
  .document-actions { flex-wrap: wrap; }
  .document-canvas { overflow: auto; overscroll-behavior-x: contain; }
}

@media (max-width: 640px) {
  main :is(h1, h2, h3) { word-break: keep-all; }
  .product-list-page .library-heading h2 { font-size: clamp(28px, 7.8vw, 36px); line-height: 1.25; }
  .product-list-page .catalog-hero, .product-list-page .catalog-hero-inner { min-height: 320px; }
  .product-list-page .catalog-hero-inner { padding-bottom: 40px; }
  .product-list-page .category-tabs { scroll-behavior: smooth; }
  .closing-years { font-size: clamp(70px, 19vw, 120px); }
  .mas-table-wrap { overscroll-behavior-x: contain; }
  .home-page .hero-inner { min-height: min(760px, 100svh); padding-top: 112px; padding-bottom: 40px; }
  .home-page .hero h1.hero-identity-title { font-size: clamp(30px, 8.6vw, 48px); }
  .home-page .hero-domain { margin-bottom: 20px; font-size: 12px; }
  .home-page .hero-actions { flex-direction: column; gap: 10px; }
  .home-page .hero-actions .button { min-height: 50px; font-size: 15px; }
  .home-page :is(.section-lead h2, .people-copy h2, .news h2, .contact-copy h2) { font-size: clamp(30px, 8.5vw, 42px); line-height: 1.22; }
  .home-page :is(.section-lead > p, .people-intro, .card-copy) { font-size: 16px; line-height: 1.75; }
  .home-page .capability-card { min-height: 0; padding: 28px 0 36px; }
  .home-page .capability-card h3.capability-name { margin-top: 36px; font-size: clamp(36px, 11vw, 54px); }
  .home-page .contact-banner { min-height: 0; padding: 64px 20px; flex-direction: column; align-items: stretch; gap: 36px; }
  .home-page .round-button { width: 100%; height: 88px; flex: 0 0 auto; flex-direction: row; gap: 24px; }
  .home-page .round-button-copy strong { font-size: 16px; }
  .home-page .round-button::before { inset: -5px; }
  main :is(.vision-hero, .organization-hero, .history-hero, .certification-hero, .business-hero, .pcb-hero, .emc-hero, .network-hero, .customer-hero, .notice-hero, .mas-hero, .catalog-hero) h1 {
    font-size: clamp(36px, 10vw, 54px); line-height: 1.16; white-space: normal;
  }
  main :is(.vision-hero, .organization-hero, .history-hero, .certification-hero, .business-hero, .pcb-hero, .emc-hero, .network-hero, .customer-hero, .notice-hero, .mas-hero, .catalog-hero) h1 span { white-space: normal; }
  .product-list-page .category-tabs { display: flex; overflow-x: auto; overscroll-behavior-x: contain; padding: 12px; gap: 8px; scroll-padding-inline: 12px; }
  .product-list-page .category-tab { flex: 0 0 auto; width: auto; min-height: 46px; padding: 10px 20px; border: 1px solid #d8e4e8; white-space: nowrap; font-size: 14px; }
  .product-list-page .category-tab::after { display: none; }
  .product-list-page .category-tab.is-active { border-color: #1766d5; background: #edf6ff; }
  .product-list-page .category-wrap { min-width: 0; }
  .card-filter-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-filter-specs dt { font-size: 12px; }
  .card-filter-specs dd { font-size: 14px; }
  .finder-control { min-width: 0; }
  :is(.finder-toggle, .finder-reset, .certificate-filters button, .notice-filters button, .document-action, .document-nav-item) { min-height: 44px; }
  .customer-main-phone { grid-template-columns: 1fr; gap: 12px; }
  .customer-main-phone strong { font-size: clamp(24px, 7vw, 36px); }
  .customer-inquiry-info div { grid-template-columns: 80px minmax(0, 1fr); }
  .customer-inquiry-info strong { overflow-wrap: anywhere; }
  .customer-form-submit button { width: 100%; min-width: 0; }
  .document-toolbar > *, .document-current { min-width: 0; max-width: 100%; }
  .document-toolbar { padding: 16px; }
  .document-zoom { flex-wrap: wrap; }
  .site-footer.is-unified-footer, .sub-footer.is-unified-footer { padding-bottom: max(28px, env(safe-area-inset-bottom)); }
  .is-unified-footer .site-location-grid p { font-size: 14px; line-height: 1.7; }
  .is-unified-footer .site-location-grid small { font-size: 13px; }
  .is-unified-footer .site-company-info { gap: 8px; }
  .is-unified-footer .site-company-info span { padding: 0; border: 0; font-size: 12px; }
  .is-unified-footer .site-company-info .site-footer-copyright { font-size: 11px; white-space: normal; text-align: left; line-height: 1.7; }
  .is-unified-footer .site-legal-panel nav { min-width: 0; flex-wrap: wrap; gap: 8px 20px; }
  .is-unified-footer .site-legal-panel nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
  .site-back-to-top { right: 14px; bottom: max(14px, env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .site-mega-menu, .menu-button span { transition: none; }
}

/* Phone-first product browsing and document reading. */
.mobile-product-tools, .mobile-category-field, .mobile-document-picker,
.mobile-document-jump, .mobile-locations-toggle { display: none; }
.drawing-preview-notice {
  margin: 0; padding: 12px 18px; border-bottom: 1px solid #bad5e9;
  background: #eef7ff; color: #24475e; font-size: 13px; line-height: 1.6;
}
.drawing-preview-notice[hidden] { display: none; }
@media (max-width: 767px) {
  html { scroll-padding-top: 88px; }
  body { --page: calc(100vw - 32px); --page-width: calc(100vw - 32px); }
  .site-header .header-inner, .sub-header .sub-header-inner { width: calc(100% - 32px); }
  .home-page .hero-inner { width: calc(100% - 32px); min-height: 0; padding: 110px 0 40px; }
  .home-page .hero h1.hero-identity-title { font-size: clamp(30px, 8vw, 48px); }
  .home-page :is(.hero-story-sequence, .hero-emc-field, .hero-noise, .hero-proof, .hero-device-leds) { display: none; }
  .home-page .hero-story-summary { margin-top: 20px; }
  .home-page .hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .home-page .hero-actions .button { padding-inline: 12px; font-size: 14px; }
  .home-page .capabilities, .home-page .people, .home-page .news, .home-page .products { padding-block: 48px; }
  .home-page .capability-card h3.capability-name { margin-top: 20px; font-size: 36px; }
  .home-page .hero-lab-background { opacity: .45; }
  /* Product search stays visible. Detailed conditions are optional. */
  .product-list-page .catalog-hero { display: none; }
  .product-list-page .product-library { width: calc(100% - 32px); padding: 96px 0 48px; }
  .product-list-page .library-heading { display: block; margin: 0 0 16px; }
  .product-list-page .library-heading > div > p, .product-list-page .finder-guide { display: none; }
  .product-list-page .library-heading h2 { font-size: 24px; line-height: 1.3; }
  .finder-title-row { flex-direction: row; align-items: center; gap: 12px; }
  .finder-toggle { flex: 0 0 auto; min-height: 44px; padding: 10px 12px; font-size: 12px; box-shadow: none; }
  .finder-toggle svg { width: 15px; height: 15px; }
  .finder-toggle[data-active-count]:not([data-active-count=''])::after { content: attr(data-active-count); margin-left: 6px; }
  .mobile-product-tools { display: block; margin: 0 0 12px; }
  .mobile-product-tools .finder-toolbar { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; margin: 0; padding: 0; border: 0; }
  .mobile-product-tools .product-search { width: 100%; min-width: 0; height: 48px; padding-inline: 12px; }
  .mobile-product-tools .product-search input { width: 100%; min-width: 0; font-size: 16px; }
  .mobile-product-tools .finder-reset { width: auto; min-height: 48px; margin: 0; padding-inline: 10px; font-size: 12px; }
  .mobile-category-field { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 16px; align-items: center; padding: 10px 12px; background: #fff; border: 1px solid #d8e4e8; }
  .mobile-category-field > span { font-size: 13px; color: #526873; }
  .mobile-category-field select { min-width: 0; width: 100%; height: 44px; padding: 6px 8px; border: 0; background: #f2f6f8; color: #15313f; font: inherit; font-size: 16px; }
  .product-list-page .category-wrap { display: none; }
  .product-finder-panel { transition: none; }
  .product-finder-panel.is-collapsed { display: none; }
  .product-finder { margin-top: 12px; padding: 12px; box-shadow: none; }
  .finder-fields { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .finder-control { min-height: 88px; padding: 8px; }
  .finder-control > span { display: none; }
  .finder-control > b { min-height: 30px; font-size: 12px; line-height: 1.3; }
  .finder-control select { width: 100%; height: 44px; padding-inline: 4px; font-size: 16px; }
  .product-list-page .library-status { margin-block: 18px 12px; }
  .product-list-page .library-status > p:last-child { display: none; }
  .product-list-page .product-card-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
  .product-list-page .catalog-card { display: grid; grid-template-columns: 112px minmax(0,1fr); align-items: stretch; min-height: 0; }
  .product-list-page .catalog-card[hidden] { display: none; }
  .product-list-page .catalog-card .card-visual { height: 100%; min-height: 150px; aspect-ratio: auto; padding: 8px; border: 0; background-size: 24px 24px; }
  .product-list-page .catalog-card .card-visual::after, .product-list-page .card-badge { display: none; }
  /* Bound portrait equipment by height so it cannot stretch mobile catalog cards. */
  .product-list-page .catalog-card[data-category="industrial"] .product-thumbnail > img {
    height: 108px;
    max-height: 108px;
  }
  /* Compensate for the original G802IFP photo's white margins. */
  .product-list-page .catalog-card[href$="product-4mi-g802ifp.html"] .product-thumbnail > img[src$="0e4e4a2dc6b43e7f8732c941bc2c1752_NKDSpQfn_f4d103d1f445ffb0169e60c052ff52c35113c971.jpg"] {
    height: 128px;
    max-height: 128px;
    object-fit: cover;
    object-position: center;
  }
  .product-list-page .catalog-card-copy { min-width: 0; padding: 16px 12px; }
  .product-list-page .catalog-card-copy > p { margin-bottom: 6px; font-size: 11px; text-transform: none; }
  .product-list-page .catalog-card-copy h3 { margin: 0 0 8px; font-size: 18px; line-height: 1.3; overflow-wrap: anywhere; }
  .product-list-page .catalog-card-copy > span { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; min-height: 0; font-size: 13px; line-height: 1.6; }
  .product-list-page .card-filter-specs { display: none; }
  .product-list-page .catalog-card-copy small { margin-top: 12px; font-size: 12px; }
  /* Overview first; one compact selector replaces the document sidebar. */
  .product-summary { padding: 94px 16px 28px; }
  .summary-breadcrumb { font-size: 12px; }
  .summary-grid { min-height: 0; padding-top: 18px; gap: 20px; }
  .summary-product-image { min-height: 190px; padding: 16px; }
  .summary-product-image img { width: 100%; max-height: 180px; }
  .product-detail-page[data-product-model*="IF"] .summary-product-image img {
    height: 132px;
    max-height: 132px;
  }
  .product-detail-page[data-product-model="4MI-G802IFP"] .summary-product-image img[src$="0e4e4a2dc6b43e7f8732c941bc2c1752_NKDSpQfn_f4d103d1f445ffb0169e60c052ff52c35113c971.jpg"] {
    height: 156px;
    max-height: 156px;
  }
  .summary-copy h1, .product-summary .summary-copy h1 { margin-block: 8px 12px; font-size: clamp(25px,7vw,36px); line-height: 1.2; }
  .summary-copy > p { font-size: 12px; text-transform: none; }
  .summary-copy > span { font-size: 14px; line-height: 1.7; }
  .product-summary .summary-specs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 18px; padding-top: 18px; }
  .summary-specs small { font-size: 10px; }
  .summary-specs b { display: block; margin: 4px 0 0; font-size: 14px; text-transform: none; }
  .product-document-links { display: none; }
  .mobile-document-jump { display: flex; align-items: center; justify-content: center; min-height: 48px; margin-top: 20px; background: #1766d5; color: #fff; font-size: 15px; }
  .document-section { padding: 20px 0 32px; }
  .document-intro { display: none; }
  .document-workspace, .document-workspace.is-presentation { position: static; width: 100%; height: auto; min-height: 0; grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto; box-shadow: none; }
  .document-presenting-root, body.document-presenting { overflow: auto; }
  .document-workspace.is-presentation .document-sidebar, .document-workspace.is-presentation .document-viewer-shell { height: auto; }
  .document-sidebar { min-height: 0; }
  .document-nav, .sidebar-heading, .sidebar-note { display: none; }
  .mobile-document-picker { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 8px 16px; padding: 14px 16px; color: #18313d; }
  .mobile-document-picker > span { font-size: 14px; font-weight: 600; }
  .mobile-document-picker select { width: 100%; min-width: 0; height: 44px; padding: 8px 12px; border: 1px solid #cbdbe4; background: #f4f8fb; color: #18313d; font-size: 16px; }
  .mobile-document-picker > small { grid-column: 2; font-size: 11px; color: #5c717a; }
  .document-toolbar { min-height: 0; display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; gap: 8px; padding: 8px; }
  .document-current, #presentation-mode { display: none; }
  .document-zoom { width: auto; flex: 1; min-width: 0; height: 44px; margin: 0; flex-wrap: nowrap; }
  .document-zoom label { flex: 1; min-width: 0; }
  .document-zoom select { width: 100%; max-width: 100%; height: 42px; padding: 4px; font-size: 12px; }
  .document-zoom button { flex: 0 0 38px; height: 42px; }
  .document-actions { display: flex; flex: 0 0 auto; gap: 0; }
  .document-action { min-height: 44px; padding: 8px 10px; gap: 5px; font-size: 12px; }
  .document-action svg { width: 16px; }
  .document-canvas, .document-workspace.is-presentation .document-canvas { min-height: 0; padding: 8px; height: 70vh; height: 70svh; overflow: auto; }
  #pdf-viewer, .document-workspace.is-presentation #pdf-viewer { min-height: 0; height: 100%; overscroll-behavior-y: auto; }
  .pdf-page-stack { padding: 6px; gap: 12px; }
  .pdf-page-number { opacity: 1; }
  .drawing-preview-notice { padding: 10px 14px; font-size: 12px; }
  /* Keep shared business information available without a long repeated footer. */
  .is-unified-footer .site-location-heading { display: none; }
  .is-unified-footer .site-location-panel { display: block; padding: 0; }
  .is-unified-footer .site-location-grid { display: none; }
  .is-unified-footer .site-location-grid.is-mobile-expanded { display: grid; grid-template-columns: 1fr; gap: 20px; padding: 20px 0; }
  .mobile-locations-toggle { display: block; width: 100%; min-height: 48px; padding: 12px 0; border: 0; border-bottom: 1px solid #30444e; background: none; color: inherit; text-align: left; font: inherit; font-size: 14px; }
  .is-unified-footer .site-footer-unified { width: calc(100% - 32px); padding-top: 24px; }
  .is-unified-footer .site-footer-bottom { padding-top: 18px; margin-top: 0; }
  .site-back-to-top { width: 44px; height: 44px; }
  .site-back-to-top span { display: none; }
}
@media (max-width: 360px) {
  .product-list-page .library-heading h2 { font-size: 20px; }
  .finder-toggle { padding-inline: 8px; font-size: 11px; }
  .product-list-page .catalog-card { grid-template-columns: 88px minmax(0,1fr); }
  .product-list-page .catalog-card-copy h3 { font-size: 16px; }
}
@media (max-width: 767px) {
  /* Decorative consoles and repeated proof sections give way to actual content. */
  :is(.organization-hero, .history-hero, .vision-hero, .certification-hero, .pcb-hero, .emc-hero, .network-hero) {
    min-height: 0; height: auto; padding: 104px 16px 36px;
  }
  :is(.organization-hero-inner, .history-hero-inner, .certification-hero-inner, .pcb-hero-inner, .emc-hero-inner, .network-hero-inner) {
    min-height: 0; height: auto; width: 100%; padding: 0; display: block;
  }
  .vision-hero-copy { width: 100%; padding: 0; }
  :is(.hero-system, .history-console, .people-system, .verification-system, .network-console, .pcb-hero-aside, .emc-monitor) { display: none; }
  :is(.organization-hero-video, .vision-hero-video) { display: none; }
  :is(.organization-index, .history-index, .certification-index) { margin-bottom: 20px; }
  :is(.organization-hero-text, .history-hero-text, .certification-hero-text, .network-hero-text, .pcb-hero-text, .emc-hero-text) { font-size: 15px; line-height: 1.7; margin-top: 20px; }
  :is(.organization-closing, .history-closing, .certification-closing) { min-height: 0; padding: 48px 16px; }
  .customer-hero-inner { width: calc(100% - 32px); padding: 100px 0 32px; gap: 24px; }
  .customer-index, .customer-kicker, .customer-board-head { display: none; }
  .customer-intro { margin-top: 20px; font-size: 15px; }
  .customer-hero-actions { margin-top: 24px; gap: 8px; }
  .customer-hero-actions a { flex: 1; min-width: 0; padding: 12px; gap: 8px; font-size: 13px; }
  .customer-contact-board { padding: 16px; box-shadow: none; }
  .customer-main-phone { padding: 10px 0 20px; }
  .customer-board-grid > * { min-height: 0; padding: 18px 10px 18px 0; }
  .customer-board-grid > *:nth-child(even) { padding-left: 14px; }
  .customer-board-grid strong { font-size: 14px; overflow-wrap: anywhere; }
  .customer-contact-board > p { font-size: 13px; margin-top: 16px; }
  .customer-routing, .customer-guide, .customer-inquiry, .customer-company-info { padding: 40px 16px; gap: 24px; }
  :is(.customer-section-heading, .customer-guide-heading, .customer-inquiry-intro, .customer-company-title) h2 { font-size: 30px; }
  .customer-route-grid { margin-top: 24px; gap: 12px; }
  .customer-route-card { min-height: 0; padding: 20px; box-shadow: none; }
  .customer-route-card > span { display: none; }
  .customer-route-card h3 { margin: 0; font-size: 24px; }
  .customer-route-card p { margin-top: 12px; font-size: 14px; }
  .customer-route-card div { margin-top: 16px; gap: 12px; }
  .customer-route-card button, .customer-route-card a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
  .customer-guide-list li { min-height: 0; padding: 20px 0; grid-template-columns: 32px 1fr; }
  .customer-guide-list strong { font-size: 18px; }
  .customer-guide-list p { margin-top: 10px; font-size: 14px; }
  .customer-form { padding: 20px 16px; }
  .customer-company-grid { margin-top: 24px; }
  .customer-company-grid > div { min-height: 0; padding: 20px; }
  .customer-company-grid strong { margin-top: 14px; font-size: 16px; }
  .certification-intro, .certification-featured, .certification-closing { display: none; }
  .certificate-archive { padding: 36px 16px 48px; }
  .archive-heading h2 { font-size: 30px; }
  .archive-heading > p { font-size: 14px; }
  .archive-toolbar { margin-top: 24px; gap: 0; }
  .certificate-filters button { min-height: 48px; }
  .certificate-search { min-width: 0; height: 48px; }
  .certificate-grid { grid-template-columns: minmax(0,1fr); }
  .certificate-grid .certificate-card { min-height: 0; }
  .certificate-grid .certificate-card > button { display: grid; grid-template-columns: 96px minmax(0,1fr); min-height: 136px; }
  .certificate-grid .certificate-paper { height: 100%; min-height: 136px; padding: 12px; }
  .certificate-grid .certificate-card-copy { padding: 18px 14px; }
  .certificate-grid .certificate-card-copy h3 { font-size: 16px; line-height: 1.5; }
  .certificate-grid .certificate-card-copy p { margin-top: 10px; font-size: 12px; }
  .modal-panel { height: calc(100dvh - 20px); grid-template-rows: minmax(280px,1fr) auto; }
  .modal-info { min-height: 0; padding: 20px; }
  .modal-info > p { margin-top: 0; }
  .modal-info h2 { font-size: 22px; }
}
@media (max-width: 767px) and (hover: none) {
  main *, main *::before, main *::after { animation: none !important; }
  .reveal-section, .customer-reveal, .home-decode, .certification-reveal,
  .hero-story-summary, .hero-story-summary strong, .hero-story-summary span {
    opacity: 1 !important; filter: none !important; transform: none !important; transition: none !important;
  }
}
@media (max-width: 767px) {
  .formula-flow { grid-template-columns: minmax(0,1fr); }
  .formula-card { min-width: 0; min-height: 0; padding: 24px; }
  .formula-card strong { margin-top: 24px; font-size: clamp(24px,7vw,36px); overflow-wrap: anywhere; }
}
@media (max-width: 767px) {
  .product-list-page .library-status { min-height: 24px; margin: 16px 0 12px; }
  .product-list-page .catalog-card-copy > span { margin-top: 0; }
  .product-list-page .catalog-card-copy small { padding-top: 0; }
}
/* Keep business contacts readable on narrow phones. */
@media (max-width:767px){
 .pcb-page .lead-card{padding:28px 22px;min-width:0}
 .pcb-page .lead-card h3{align-items:flex-start;flex-direction:column;gap:12px}
 .pcb-page .lead-card h3 span,.network-page .network-lead-card h3,.emc-page .emc-person h3{white-space:nowrap;word-break:keep-all;font-size:clamp(38px,12vw,56px);line-height:1.1;letter-spacing:-.055em;flex-shrink:0}
 .pcb-page .lead-card h3 small{padding:0;white-space:nowrap;font-size:11px}
 .pcb-page .lead-contact a,.network-page .network-contact a,.emc-page .emc-person a{grid-template-columns:50px minmax(0,1fr);gap:8px}
 .pcb-page .lead-contact b,.network-page .network-contact b,.emc-page .emc-person a b{font-size:clamp(12px,3.5vw,15px);white-space:nowrap;letter-spacing:-.025em}
 .pcb-page .lead-card>p{letter-spacing:0;font-size:14px;word-break:keep-all}
}
@media(max-width:767px){
 .pcb-page .lead-contact a,.network-page .network-contact a,.emc-page .emc-person a{grid-template-columns:64px minmax(0,1fr)}
 .pcb-page .lead-contact a>span,.network-page .network-contact a>span,.emc-page .emc-person a>i{white-space:nowrap;word-break:keep-all;font-size:11px;letter-spacing:.06em}
}

/* Give the dark opening sections room above and below their introduction. */
@media (max-width: 767px) {
  .home-page .hero-inner {
    min-height: 640px;
    min-height: clamp(640px, 86svh, 820px);
    padding-top: calc(72px + clamp(72px, 10svh, 100px));
    padding-bottom: clamp(72px, 10svh, 100px);
    align-content: center;
  }
  :is(.organization-hero, .history-hero, .vision-hero, .certification-hero, .pcb-hero, .emc-hero, .network-hero) {
    min-height: 600px;
    min-height: clamp(600px, 84svh, 800px);
    padding-top: calc(72px + clamp(64px, 10svh, 100px));
    padding-bottom: clamp(64px, 10svh, 100px);
    display: flex;
    align-items: center;
  }
  .business-hero-inner {
    min-height: 1080px;
    padding-top: 168px;
    padding-bottom: 108px;
  }
}
