/* Shared responsive layer, loaded after page and locale styles. */
@media (max-width: 1279px) {
  html { scroll-padding-top: 88px; }
  body { min-width: 0; overflow-wrap: break-word; }
  html:root .container { width: calc(100% - 48px); }
  .container > *, main > *, section > *, article > * { min-width: 0; }
  .site-header { height: auto; min-height: 68px; }
  html:root .header-inner { min-height: 68px; height: auto; gap: 12px; flex-wrap: wrap; }
  html:root .header-inner .brand { width: 155px; }
  html:root .header-inner .brand img { width: 100%; height: auto; }
  .header-inner .locale-switch { margin-left: auto; border: 0; padding: 0; }
  .header-inner .menu-toggle { display: flex; order: 2; flex-direction: column; justify-content: center; gap: 6px; width: 44px; height: 44px; padding: 11px; border: 1px solid #ccdeeb; border-radius: 5px; }
  .menu-toggle span { display: block; width: 20px; height: 2px; background: #204d69; transition: transform .18s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
  html:root #navigation { order: 3; width: 100%; margin: 0; padding: 12px 0 20px; flex-direction: column; align-items: stretch; gap: 5px; white-space: normal; }
  html.has-navigation-js #navigation { display: none; position: absolute; top: 100%; left: 0; padding: 14px 24px 24px; max-height: calc(100vh - 68px); max-height: calc(100dvh - 68px); overflow-y: auto; overscroll-behavior: contain; background: #fff; border-bottom: 1px solid #ccdeeb; box-shadow: 0 15px 25px #153c571a; }
  html.has-navigation-js #navigation.open { display: flex; }
  html:root #navigation > a, html:root #navigation > .product-nav > button { width: 100%; min-height: 48px; padding: 12px; justify-content: space-between; font-size: 16px; }
  #navigation > a::after, #navigation > .product-nav > button::after { display: none; }
  html:root #navigation > .cloud-login { margin: 10px 0 0; justify-content: center; }
  #navigation .product-menu { position: static; width: 100%; padding: 16px; margin: 4px 0 12px; border: 1px solid #d5e3ed; border-radius: 5px; box-shadow: none; background: #f6fafd; }
  #navigation .product-menu > a { min-height: 48px; font-size: 15px; }
  .menu-companion { flex-wrap: wrap; gap: 12px 24px; }
  .menu-companion a { padding-block: 8px; font-size: 14px; }
  .locale-menu { top: 52px; right: 0; max-height: calc(100dvh - 88px); overflow-y: auto; }
  .locale-menu a { min-height: 44px; }
  .map-heading { flex-wrap: wrap; gap: 14px; padding-top: 26px; }
  .map-edition { display: none; }
  html:root .ecosystem-map { height: auto; min-height: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; padding-bottom: 28px; }
  .platform-hub { grid-column: 1 / -1; grid-row: auto; padding-top: 28px; }
  .hardware-pavilion { grid-column: auto; grid-row: auto; padding: 24px 0; background: #edf5fa; border: 1px solid #d6e5ee; border-radius: 8px; }
  .map-glow, .map-connections, .connection-caption { display: none; }
  .hub-screen { width: min(480px,100%); transform: none; }
  .hub-attributes, .hub-capability-flow { flex-wrap: wrap; }
  html:root .hub-attributes > span { font-size: 12px; padding: 7px 10px; }
  .hub-overline, .hub-description, .hub-link, .hub-apps a { font-size: 14px; }
  .hub-apps a > span { font-size: 12px; }
  .window-top { font-size: 10px; }
  .hardware-image img { max-width: 100%; object-fit: contain; }
  .gateway-image img { width: 330px; height: 330px; }
  html:root .edgebus-entry { grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: 24px; padding: 28px; }
  .entry-interfaces { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .entry-arrow { justify-self: end; }
  .lab-layout, .deployment-promo, .solution-hero, .solution-existing, .solution-application, .company-hero, .company-contact, .resource-feature, .detail-hero, .detail-section, .edge-hero, .platform-companion { gap: 32px; }
  .lab-layout, .deployment-promo, .detail-section, .solution-need { grid-template-columns: minmax(0,1fr); }
  html:root .catalog-grid, .overview-grid, .integrated-grid, .company-capabilities, .partner-grid, .capability-columns, .interface-paths { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sensor-introductions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sensor-detail + .sensor-detail { border-left: 0; border-top: 1px solid #d4e3ed; }
  .sensor-detail:last-child { grid-column: 1 / -1; }
  .destination-section { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
  .destination-label { grid-column: 1 / -1; padding: 0; }
  .destination-partner { flex-wrap: wrap; gap: 20px; }
  .destination-partner p, .destination-partner a { margin-left: 0; }
  .promo-copy { padding: 30px 0 30px 28px; }
  .promo-visual { margin-left: 0; padding: 20px; }
  .promo-purchase, .promo-actions, .promo-tags, .page-actions, .solution-path, .solution-signals, .series-flow, .series-models { flex-wrap: wrap; }
  .promo-model { font-size: 85px; right: 12px; }
  html:root .promo-metrics { flex-wrap: wrap; gap: 14px; }
  html:root .promo-metrics > span { padding-inline: 10px; }
  html:root .catalog-nav > .container { gap: 24px; overflow-x: auto; }
  .catalog-nav a { flex-shrink: 0; white-space: nowrap; min-height: 52px; }
  html:root .catalog-controls { flex-wrap: wrap; gap: 18px; }
  .filter-options button { min-height: 44px; font-size: 14px; }
  .catalog-search input { height: 44px; font-size: 16px; }
  .catalog-hint { flex-wrap: wrap; gap: 12px 24px; }
  .catalog-hint > div { flex-basis: 100%; }
  .catalog-hint > a { white-space: normal; min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; }
  .breadcrumbs { flex-wrap: wrap; gap: 6px 12px; }
  .table-wrap, .specification-table { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
  .table-wrap table { min-width: 640px; }
  .detail-tabs, html:root .solution-chapters { overflow-x: auto; flex-wrap: nowrap; gap: 28px; }
  .detail-tabs a, .solution-chapters a { flex-shrink: 0; min-height: 44px; display: inline-flex; align-items: center; }
  .product-contact, .company-section-heading, .resource-heading, .history-heading { flex-wrap: wrap; gap: 20px; }
  .history-card-story, .history-milestone-featured .history-card-story { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .history-product-link { margin-left: 0; }
  .history-milestone-featured { gap: 20px; }
  .article-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .article-sidebar { position: static; }
  .article-sidebar nav { flex-direction: row; flex-wrap: wrap; gap: 8px 20px; padding-bottom: 20px; }
  .article-sidebar nav > span { width: 100%; }
  .article-sidebar nav a { padding-block: 8px; }
  .article-products, .resource-categories { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .resource-categories { gap: 14px; }
  .resource-categories a { min-height: 44px; padding: 8px 0; border: 0; }
  .resource-application-grid { grid-template-columns: minmax(0,1fr); }
  .article-content table { display: block; max-width: 100%; overflow-x: auto; }
  .article-content th, .article-content td { min-width: 130px; }
  html:root .footer-directory { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-statement { font-size: 22px; }
  .footer-description { font-size: 13px; }
  .footer-column > a { font-size: 14px; min-height: 36px; display: inline-flex; align-items: center; }
  .footer-column h2 { font-size: 15px; }
  .footer-offices { gap: 24px; }
  .footer-offices address { flex-direction: column; gap: 8px; font-size: 13px; }
  .footer-bottom { flex-wrap: wrap; }
  .analytics-controls, .analytics-controls > div:last-child { flex-wrap: wrap; }
  .analytics-two-column { grid-template-columns: minmax(0,1fr); }
  .analytics-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .analytics-geography-table table { min-width: 320px; }
  .analytics-dashboard input { max-width: 100%; font-size: 16px; }
  .analytics-controls button, .analytics-panel-heading a { min-height: 44px; }
}

@media (max-width: 760px) {
  html:root .container { width: calc(100% - 32px); }
  html:root .header-inner { gap: 6px; }
  html:root .header-inner .brand { width: 142px; }
  #locale-toggle { gap: 4px; padding-inline: 4px; font-size: 12px; }
  .locale-menu { right: -50px; }
  html.has-navigation-js #navigation { padding-inline: 16px; }
  .map-heading { gap: 10px; }
  .map-heading > p:nth-child(2) { width: 100%; padding: 0; border: 0; font-size: 14px; }
  .map-heading .eyebrow { font-size: 10px; }
  html:root .ecosystem-map { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .platform-hub { padding-top: 24px; padding-bottom: 8px; }
  .thinklink-title { font-size: 56px; letter-spacing: -3px; }
  .thinklink-title > span { font-size: 32px; }
  html:root .platform-hub h1, html:root .platform-hub h1 > span { font-size: 24px; }
  .hub-capability-flow { gap: 6px; font-size: 11px; }
  .hub-screen { width: 100%; }
  .hub-apps { max-width: 100%; flex-wrap: wrap; gap: 20px; }
  .hub-apps a, .hub-link { padding-block: 8px; }
  .hardware-pavilion { padding-block: 22px; }
  .pavilion-title { padding-inline: 20px; }
  .hardware-image { height: 250px; }
  .gateway-image img { max-width: 85%; }
  .sensor-image img { height: 210px; }
  .pavilion-ghost, .sensor-image .pavilion-ghost { font-size: 45px; }
  html:root .pavilion-specs { grid-template-columns: minmax(0,1fr); padding: 16px 20px 0; gap: 8px; }
  .pavilion-specs > p { font-size: 15px; }
  .pavilion-specs > span, .pavilion-specs > a { font-size: 13px; }
  .pavilion-specs > a { min-height: 44px; }
  html:root .edgebus-entry { grid-template-columns: minmax(0,1fr); padding: 24px; gap: 22px; }
  html:root .entry-copy { padding: 20px 0 0; border-left: 0; border-top: 1px solid #7fb6d64a; align-items: flex-start; gap: 16px; }
  .entry-hardware { width: 68px; height: 78px; }
  .entry-copy p, .entry-index small { font-size: 13px; }
  .entry-interfaces { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .entry-interfaces > span { font-size: 13px; }
  .entry-arrow { border: 1px solid #7fb6d64a; border-radius: 4px; width: 48px; height: 48px; line-height: 1.2; }
  .home-gateway-campaign { margin-top: 32px; }
  .product-section-heading, .integrated-heading, .catalog-title, .resource-section-heading, .history-heading, .analytics-heading, .analytics-panel-heading { flex-direction: column; align-items: flex-start; gap: 14px; }
  html:root :is(.product-section-heading h2,.lab-intro h2,.destination-label h2,.section-title h2,.detail-section-title h2,.integrated-heading h2,.company-section-heading h2,.history-heading h2,.resource-feature h2,.resource-docs h3,.solution-existing h2,.solution-application h2,.solution-inquiry h2) { font-size: 27px; }
  html:root :is(.category-hero h1,.overview-heading h1,.edge-hero h1,.company-hero h1,.resource-heading h1,.solution-hero h1,.solution-intro h1,.analytics-heading h1,.article-heading h1) { font-size: 32px; line-height: 1.4; }
  html:root :is(.product-promo h2,.deployment-promo h2) { font-size: 28px; }
  .product-promo h2 { text-wrap: balance; }
  .connection-lab, .product-section, .company-partners, .solution-application, .solution-existing, .detail-section { padding-block: 36px; }
  html:root :is(.product-promo,.gateway-introductions,.gateway-detail,.sensor-introductions,.destination-section,.catalog-grid,.gateway-series-grid,.integrated-grid,.category-hero,.detail-hero,.overview-grid,.overview-edge,.edge-hero,.capability-columns,.interface-paths,.platform-companion,.solution-overview,.solution-principles,.solution-hero,.solution-product-pair,.solution-existing,.solution-deployment-grid,.solution-application,.solution-inquiry,.company-hero,.company-capabilities,.partner-grid,.company-contact,.resource-feature,.resource-grid,.resource-news,.history-timeline,.history-milestone-featured,.news-item,.analytics-method) { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .product-promo { gap: 0; }
  .promo-copy, .home-gateway-campaign .promo-copy { padding: 26px 20px 0; }
  .promo-visual, .home-gateway-campaign .promo-visual { padding: 20px 16px 26px; }
  .promo-visual > img, .promo-gateway .promo-visual > img { width: 100%; height: 250px; }
  .promo-sensor .promo-visual > img { height: 200px; }
  .promo-price strong { font-size: 48px; }
  .promo-description, .deployment-copy > p:not(.promo-kicker) { font-size: 14px; }
  .promo-purchase { gap: 14px; }
  .promo-price { flex-basis: 100%; }
  .promo-link, .promo-text-link { min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; white-space: normal; }
  .promo-note { font-size: 12px; }
  html:root .promo-metrics { gap: 10px; }
  html:root .promo-metrics > span { font-size: 12px; padding-inline: 6px; }
  html:root .promo-metrics b { font-size: 16px; }
  .sensor-detail { padding: 24px 20px; }
  .sensor-use, .product-section-heading > p { font-size: 14px; }
  .product-detail-link { min-height: 44px; font-size: 14px; }
  .sensor-collection, .gateway-collection { flex-direction: column; align-items: stretch; gap: 12px; }
  .sensor-collection > a, .gateway-collection > a { min-height: 44px; font-size: 14px; }
  .all-products-link { margin-left: 0; }
  .lab-workbench { padding: 20px; }
  .lab-flow, .edge-flow { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .lab-flow > div { width: 100%; }
  .lab-arrow, .edge-flow > b { transform: rotate(90deg); justify-self: center; }
  .lab-flow strong { font-size: 18px; }
  .lab-flow small, .lab-step { font-size: 13px; }
  .legacy-instruments { height: 180px; }
  .workbench-label, .workbench-footer, .terminal-footer { flex-wrap: wrap; font-size: 12px; gap: 12px; }
  .destination { height: 300px; }
  .destination-partner { padding: 24px 20px; }
  .destination-partner a { min-height: 44px; }
  .dashboard-dialog { width: calc(100vw - 24px); max-height: calc(100dvh - 32px); }
  .dashboard-dialog-heading { flex-wrap: wrap; gap: 12px; padding: 14px; }
  .dashboard-dialog-heading button { width: 44px; height: 44px; }
  .dashboard-dialog-heading > a { margin-left: 0; }
  .catalog-search { width: 100%; flex-wrap: wrap; }
  .catalog-search input { width: 100%; }
  .catalog-card, .gateway-series-grid > article { padding: 24px 20px; }
  .catalog-specs > div, .sensor-spec-list > div { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 12px; }
  .catalog-specs dt, .catalog-specs dd, .sensor-spec-list dt, .sensor-spec-list dd { overflow-wrap: anywhere; }
  .catalog-detail-link { font-size: 14px; min-height: 44px; }
  .integrated-card { grid-template-columns: 95px minmax(0,1fr); padding: 18px 16px; }
  .detail-photo { height: 300px; }
  .detail-intro h1 { font-size: 44px; }
  .detail-intro h1 > span { font-size: 24px; }
  .detail-intro .catalog-specs { grid-template-columns: minmax(0,1fr); }
  .detail-intro .catalog-specs > div { display: flex; }
  .detail-description, .detail-section-title > p:not(.eyebrow), .catalog-footnote { font-size: 14px; }
  .product-page th, .product-page td { padding: 14px 12px; overflow-wrap: anywhere; }
  .related-grid { grid-template-columns: minmax(0,1fr); }
  .related-grid > a { padding: 16px; gap: 14px; }
  .related-grid img { width: 80px; height: 100px; flex-shrink: 0; }
  .platform-companion, .solution-inquiry, .resource-feature, .resource-docs { padding: 26px 20px; }
  .overview-edge > div { padding: 28px 20px; }
  .overview-edge > img { height: 250px; }
  .edge-field, .solution-hero figure { height: 300px; }
  .edge-device { width: 100px; right: 12px; top: 16px; }
  .edge-device img { height: 115px; }
  .edge-flow article { text-align: center; }
  .edge-flow img { height: 200px; }
  .product-contact { flex-direction: column; align-items: flex-start; gap: 20px; }
  .button-primary, .button-secondary, .page-actions > a { min-height: 44px; font-size: 14px; }
  .solution-scene-card { height: 340px; padding: 22px; }
  .solution-scene-card > div { left: 22px; right: 22px; }
  .solution-scene-card h2 { font-size: 30px; }
  .solution-integration { gap: 14px; padding: 14px; }
  .solution-integration > img { width: 75px; }
  .solution-deployment-grid > article { padding: 24px 20px; }
  .company-portfolio { height: 350px; }
  .portfolio-hardware { left: 12px; right: 12px; bottom: 60px; gap: 8px; }
  .portfolio-hardware img { height: 68px; }
  .history-card-content, .history-milestone-featured .history-card-content { padding: 24px 20px; }
  .history-index { flex-wrap: wrap; }
  .history-index a { padding: 10px; min-height: 44px; }
  .history-present { margin: 0 20px 24px; min-height: 260px; }
  .history-sources { flex-direction: column; gap: 18px; }
  .resource-application-grid > a { grid-template-columns: minmax(0,1fr); }
  .resource-application-grid img { height: 210px; }
  .resource-card-copy { padding: 24px 20px; }
  .article-heading { padding-block: 20px 28px; }
  .article-meta, .news-meta, .news-bottom, .news-bottom > div, .article-next { flex-wrap: wrap; gap: 12px; }
  .article-content p, .article-content li { font-size: 16px; line-height: 1.95; }
  .article-content h2 { font-size: 25px; }
  .article-sources ul { columns: 1; }
  .article-products { gap: 12px; }
  .article-products > a { padding: 12px; }
  .article-products img { height: 115px; }
  .news-item { gap: 20px; }
  .news-item h3 { font-size: 23px; }
  .news-bottom > a { min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; }
  html:root .footer-directory { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 20px; padding-block: 32px; }
  .footer-contact { grid-column: 1 / -1; }
  .footer-offices { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .footer-bottom { gap: 12px; }
  .footer-bottom > span:nth-child(2) { margin-left: 0; }
  .site-footer .footer-bottom { font-size: 12px; }
  .analytics-heading { padding-top: 28px; }
  .analytics-notice { flex-direction: column; align-items: flex-start; gap: 10px; padding: 18px; }
  .analytics-ranges { flex-wrap: wrap; }
  .analytics-ranges button { padding-inline: 12px; }
  .analytics-kpis { gap: 12px; }
  .analytics-kpis article { padding: 18px 14px; }
  .analytics-kpis strong { font-size: 32px; }
  .analytics-kpis article > span { flex-wrap: wrap; gap: 6px; }
  .analytics-panel { padding: 20px 16px; }
  .analytics-dashboard th:not(:first-child), .analytics-dashboard td:not(:first-child) { width: 60px; }
  .analytics-dashboard td, .analytics-dashboard th { padding: 12px 8px; }
  #analytics-daily { overflow: auto; }
  #analytics-daily table { min-width: 460px; }
  html:root .analytics-method { gap: 16px; padding-bottom: 40px; }
}
