/* PC product pages share the approved homepage typography, blue palette and photography. */
.product-page { background: #fff; color: #173b55; }
.gateway-series { margin-bottom: 45px; }
.gateway-series>.section-title { margin-bottom: 24px; }
.gateway-series-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.gateway-series-grid>article { padding: 28px 32px; border: 1px solid #cbdde9; border-top: 3px solid #24769f; background: #f6f9fb; border-radius: 4px; }
.series-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.series-heading>span { font-size: 25px; color: #23698f; }
.series-heading>strong { font-size: 12px; font-weight: 500; background: #e0edf5; padding: 5px 10px; border-radius: 3px; }
.gateway-series-grid h3 { font-size: 23px; font-weight: 500; margin-top: 18px; }
.gateway-series-grid .catalog-specs { min-height: 118px; margin-top: 18px; }
.gateway-series-grid>article>p { font-size: 12px; color: #52758a; line-height: 1.9; margin-top: 18px; }
.series-flow { display: flex; align-items: center; gap: 12px; margin-top: 20px; font-size: 11px; }
.series-flow>span { padding: 7px 11px; border: 1px solid #bfd3e0; border-radius: 3px; background: #fff; }
.series-flow i { font-style: normal; color: #6494b1; }
.series-models { display: flex; gap: 26px; margin-top: 23px; color: #1977a7; font-size: 12px; }
.integrated-devices { padding-block: 42px 48px; border-top: 1px solid #dbe6ee; }
.integrated-heading { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.integrated-heading h2 { font-size: 29px; font-weight: 500; margin-top: 14px; }
.integrated-heading p:not(.eyebrow) { font-size: 13px; color: #597a8e; line-height: 1.9; margin-top: 12px; }
.integrated-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.integrated-card { position: relative; display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 16px; border: 1px solid #dbe6ee; padding: 22px 18px; border-radius: 4px; transition: border-color .2s, background .2s; }
.integrated-card:hover { border-color: #75aac8; background: #f6fafc; }
.integrated-photo { display: flex; align-items: center; background: #f6f8f9; border-radius: 3px; overflow: hidden; }
.integrated-photo img { width: 100%; height: 150px; object-fit: contain; mix-blend-mode: multiply; }
.integrated-copy>span:first-child { font-size: 10px; color: #64869d; }
.integrated-copy h3 { font-size: 17px; line-height: 1.5; font-weight: 500; margin-top: 9px; overflow-wrap: anywhere; }
.integrated-copy>p { font-size: 12px; color: #52778e; margin-top: 4px; }
.integrated-copy dl { margin: 14px 0 0; font-size: 11px; }
.integrated-copy dt { color: #7892a3; }
.integrated-copy dd { margin: 3px 0 0; color: #255e7c; }
.integrated-document { display: block; color: #187aaa; font-size: 11px; margin-top: 15px; }
.integrated-card>span { position: absolute; right: 15px; bottom: 20px; color: #2888b7; }
.product-page h1 em,.product-page .overview-heading em { font-style: normal; color: #087db8; }
.product-page .nav-home:after { display: none; }
.catalog-nav { border-bottom: 1px solid #e2eaf0; background: #f7fafc; }
.catalog-nav>.container { display: flex; align-items: center; gap: 38px; height: 58px; font-size: 13px; }
.catalog-nav a { height: 100%; display: flex; align-items: center; gap: 6px; position: relative; color: #5b768a; }
.catalog-nav a:last-child { margin-left: auto; }
.catalog-nav a[aria-current],.catalog-nav a:hover { color: #0779b6; }
.catalog-nav a[aria-current]:after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: #0786c5; }
.breadcrumbs { display: flex; gap: 13px; padding-block: 22px; font-size: 11px; color: #698294; }
.breadcrumbs [aria-current] { color: #234f6c; }
.category-hero { display: grid; grid-template-columns: 1fr 1.2fr; min-height: 330px; align-items: center; gap: 50px; padding-bottom: 38px; }
.category-hero h1,.overview-heading h1,.edge-hero h1 { font-size: 44px; font-weight: 500; line-height: 1.4; letter-spacing: -.05em; margin-top: 18px; }
.category-intro,.overview-heading>p:last-child,.edge-hero>div>p:not(.eyebrow) { font-size: 14px; line-height: 2; color: #557185; margin-top: 20px; }
.category-hero .text-link { margin-top: 15px; font-size: 12px; }
.category-exhibit { position: relative; display: flex; align-items: center; justify-content: center; isolation: isolate; height: 300px; background: radial-gradient(ellipse at 50% 58%, #e8f3f9, #fff 70%); }
.category-exhibit:after { content: ''; position: absolute; bottom: 42px; left: 15px; right: 15px; height: 1px; background: linear-gradient(90deg,transparent,#b7d1e1,transparent); z-index: -1; }
.category-exhibit>a { flex: 1; min-width: 0; text-align: center; position: relative; }
.category-exhibit img { width: 100%; height: 220px; object-fit: contain; mix-blend-mode: multiply; transition: transform .25s; }
.category-exhibit>a:hover img { transform: translateY(-5px); }
.category-exhibit a>span { color: #3e799b; font: 11px monospace; letter-spacing: .06em; }
.exhibit-baseline { position: absolute; bottom: 4px; right: 12px; color: #a4bac8; font: 8px monospace; letter-spacing: .2em; }
.catalog-section { background: #f1f6f9; border-block: 1px solid #e2ebf2; padding: 36px 0; }
.catalog-title { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-bottom: 24px; }
.catalog-title h2 { font-size: 23px; font-weight: 500; }
.catalog-title>span,.catalog-title>a { font-size: 12px; color: #54778e; }
.catalog-controls { display: flex; gap: 22px; justify-content: space-between; align-items: center; margin-bottom: 25px; }
.filter-options { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-options button { font-size: 12px; padding: 8px 13px; border: 1px solid #c9dce8; background: #ffffffa0; border-radius: 3px; }
.filter-options button[aria-pressed=true] { background: #164d70; color: white; border-color: #164d70; }
.filter-options button:hover { border-color: #1688bc; }
.catalog-search { display: flex; align-items: center; gap: 12px; font-size: 11px; color: #58778a; flex-shrink: 0; }
.catalog-search input { width: 190px; height: 38px; border: 1px solid #c9dce8; border-radius: 3px; padding: 8px 12px; font: 12px var(--font); color: #214c67; background: #fff; }
.catalog-search input:focus-visible { outline: 2px solid #0a8cc7; outline-offset: 2px; }
.catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.catalog-card { background: #fff; border: 1px solid #d9e5ed; border-radius: 5px; padding: 23px 26px; min-width: 0; }
.card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.card-heading>span { font-size: 11px; color: #5c7a8d; }
.card-heading>a { font-size: 24px; font-weight: 500; color: #175f88; }
.catalog-photo { position: relative; display: block; height: 210px; margin: 8px -10px 8px; background: radial-gradient(ellipse,#eff6fa,white 75%); }
.catalog-photo img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .25s; }
.catalog-photo:hover img { transform: translateY(-4px); }
.catalog-photo>span { position: absolute; right: 13px; bottom: 10px; border: 1px solid #c0d6e4; border-radius: 50%; width: 29px; height: 29px; display: grid; place-items: center; color: #3484ad; }
.catalog-card h3 { font-size: 17px; font-weight: 500; line-height: 1.7; min-height: 58px; }
.catalog-specs { margin: 15px 0 0; }
.catalog-specs>div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid #e0eaf1; font-size: 12px; }
.catalog-specs dt { flex-shrink: 0; color: #698194; font-size: 11px; }
.catalog-specs dd { margin: 0; text-align: right; color: #234f69; }
.catalog-detail-link { display: flex; justify-content: space-between; align-items: center; color: #077db5; font-size: 12px; margin-top: 20px; }
.catalog-detail-link>span { font-size: 21px; }
.catalog-hint { display: flex; align-items: center; gap: 26px; background: #e5eff6; border-left: 2px solid #3e91bc; padding: 19px 23px; margin-top: 25px; }
.catalog-hint>div { margin-right: auto; }
.catalog-hint strong { font-size: 14px; font-weight: 500; }
.catalog-hint p { font-size: 12px; color: #5b7689; margin-top: 5px; }
.catalog-hint>a { font-size: 12px; color: #087caf; white-space: nowrap; }
.catalog-footnote { font-size: 11px; color: #637d8e; line-height: 1.9; margin-top: 17px; }
.catalog-footnote a { color: #0879af; }
.empty-products { padding: 70px 30px; text-align: center; background: #fff; border: 1px solid #dce7ef; }
.empty-products h3 { font-size: 22px; font-weight: 500; }
.empty-products p { font-size: 13px; color: #668195; margin: 15px 0; }
.empty-products button { color: #fff; background: #155f8a; padding: 9px 19px; border-radius: 3px; }
.section-title { margin-bottom: 26px; }
.section-title h2 { font-size: 29px; line-height: 1.5; font-weight: 500; letter-spacing: -.03em; margin-top: 12px; }
.section-title>p:last-child:not(.eyebrow) { color: #5b778c; font-size: 14px; margin-top: 15px; }
.comparison-section { padding-block: 55px; }
.table-wrap { overflow-x: auto; border: 1px solid #d9e5ed; border-radius: 4px; }
.product-page table { border-collapse: collapse; width: 100%; text-align: left; font-size: 13px; }
.product-page caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.product-page th,.product-page td { padding: 17px 23px; border-bottom: 1px solid #e0e9f0; font-weight: 400; }
.product-page thead { background: #edf4f8; color: #5b798c; }
.product-page tbody th { color: #1c6087; font-weight: 500; }
.product-page tbody tr:last-child>* { border-bottom: none; }
.product-page td>a { color: #087db8; white-space: nowrap; }
.platform-companion { display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: center; background: #edf4f8; padding: 42px 44px; border: 1px solid #d9e7f0; border-radius: 5px; margin-bottom: 54px; }
.platform-companion h2 { font-size: 32px; font-weight: 500; line-height: 1.45; margin-top: 15px; letter-spacing: -.03em; }
.platform-companion p:not(.eyebrow) { font-size: 13px; color: #53748a; line-height: 1.95; margin-top: 18px; }
.page-actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin-top: 25px; font-size: 12px; }
.page-actions>a { display: inline-flex; align-items: center; gap: 15px; }
.button-primary,.button-secondary { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; padding: 11px 21px; border-radius: 3px; font-size: 12px; line-height: 1.65; }
.button-primary { background: #125d86; color: #fff; border: 1px solid #125d86; }
.button-primary:hover { background: #087eb8; border-color: #087eb8; }
.button-secondary { color: #206b92; border: 1px solid #acc8da; }
.button-secondary:hover { background: #edf6fb; }
.companion-screen { border: 1px solid #456b86; border-radius: 5px; overflow: hidden; background: #173e59; color: #d9e9f3; box-shadow: 0 15px 30px #153f5514; }
.companion-screen img { width: 100%; }
.companion-screen>span { font-size: 10px; padding: 9px 13px; display: block; }
.product-contact { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding-block: 0 55px; }
.product-contact h2 { font-size: 25px; font-weight: 500; margin-top: 10px; }
.detail-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; padding-block: 10px 48px; align-items: center; }
.detail-photo { position: relative; height: 460px; display: flex; align-items: center; justify-content: center; background: radial-gradient(ellipse,#e8f2f8,#f5f8fa 70%); border-radius: 5px; overflow: hidden; }
.detail-photo>img { width: 88%; height: 84%; object-fit: contain; mix-blend-mode: multiply; }
.photo-overline { position: absolute; top: 22px; left: 25px; color: #6d8a9d; font: 10px monospace; letter-spacing: .1em; }
.photo-note { position: absolute; bottom: 19px; left: 25px; font-size: 10px; color: #6b8597; }
.detail-intro h1 { font-size: 58px; color: #155d86; line-height: 1.2; font-weight: 500; letter-spacing: -.05em; margin-top: 13px; }
.detail-intro h1>span { display: block; font-size: 25px; color: #20465f; letter-spacing: -.02em; margin-top: 10px; }
.detail-tagline { font-size: 17px; line-height: 1.7; margin-top: 21px; }
.detail-description { font-size: 13px; color: #5b788d; line-height: 1.95; margin-top: 10px; }
.detail-intro .catalog-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 0 27px; margin-top: 21px; }
.detail-intro .catalog-specs>div { flex-direction: column; gap: 3px; align-items: flex-start; }
.detail-intro .catalog-specs dd { text-align: left; font-size: 13px; }
.detail-tabs { display: flex; align-items: center; gap: 45px; border-block: 1px solid #dce7ee; height: 59px; font-size: 13px; color: #52768e; }
.detail-tabs>a:hover { color: #047db5; }
.detail-section { display: grid; grid-template-columns: .8fr 1.7fr; gap: 80px; padding-block: 55px; }
.detail-section-title h2 { font-size: 29px; font-weight: 500; line-height: 1.6; margin-top: 14px; }
.detail-section-title>p:not(.eyebrow) { font-size: 12px; color: #668396; line-height: 1.9; margin-top: 17px; }
.detail-section-title>a { display: inline-block; color: #0d7bae; font-size: 12px; margin-top: 24px; }
.specification-table table { border-top: 2px solid #adc9d9; }
.specification-table th { width: 33%; background: #f2f6f9; }
.specification-table td { background: #f9fbfc; }
.detail-interface-section { background: #f2f6f9; border-block: 1px solid #e4edf3; }
.interface-list>article { display: flex; gap: 24px; padding: 0 0 24px; margin-bottom: 24px; border-bottom: 1px solid #d5e4ed; }
.interface-list>article:last-of-type { margin-bottom: 0; }
.interface-number { font: 17px monospace; color: #7ca3bb; padding-top: 3px; }
.interface-list h3 { font-size: 19px; font-weight: 500; }
.interface-list p { font-size: 13px; color: #5e7c90; line-height: 1.95; margin-top: 9px; }
.configuration-copy>p { display: flex; align-items: baseline; gap: 19px; font-size: 14px; line-height: 2; color: #466d86; margin-bottom: 20px; }
.configuration-copy>p>span { font: 12px monospace; color: #8ca9bc; }
.configuration-copy small { display: block; color: #6c8699; font-size: 10px; margin-top: 16px; }
.related-section { border-top: 1px solid #dfe9f0; padding-block: 38px 52px; }
.related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.related-grid>a { display: flex; align-items: center; gap: 20px; border: 1px solid #dce7ef; background: #f8fafc; padding: 17px 25px; border-radius: 4px; }
.related-grid img { width: 120px; height: 120px; object-fit: contain; mix-blend-mode: multiply; }
.related-grid div>span { font-size: 21px; color: #236d93; }
.related-grid h3 { font-size: 15px; font-weight: 400; margin-top: 4px; }
.related-grid p { font-size: 11px; color: #708b9d; margin-top: 6px; }
.related-grid b { margin-left: auto; font-weight: 400; color: #338ab5; font-size: 24px; }
.overview-heading { padding-block: 8px 37px; }
.overview-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; margin-bottom: 52px; }
.overview-card { background: #f2f7fa; border: 1px solid #dde8ef; padding: 24px 28px; border-radius: 5px; }
.overview-card img { width: 100%; height: 235px; object-fit: contain; mix-blend-mode: multiply; }
.overview-card h2 { font-size: 25px; font-weight: 500; }
.overview-card p { font-size: 13px; color: #608095; margin-top: 8px; }
.overview-action { font-size: 12px; color: #077fb8; display: block; margin-top: 23px; }
.overview-edge { display: grid; grid-template-columns: 1fr 1.3fr; background: #123e5b; color: white; border-radius: 5px; overflow: hidden; margin-bottom: 52px; }
.overview-edge>img { width: 100%; height: 340px; object-fit: cover; object-position: 50% 58%; }
.overview-edge>div { padding: 36px 45px; }
.overview-edge .eyebrow { color: #a9d3e9; }
.overview-edge h2 { font-size: 30px; font-weight: 500; line-height: 1.5; margin-top: 15px; }
.overview-edge p:not(.eyebrow) { font-size: 13px; color: #b7d5e7; line-height: 1.9; margin-top: 15px; }
.overview-edge .button-primary { margin-top: 22px; background: #fff; color: #164762; border-color: #fff; }
.edge-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; padding-bottom: 58px; }
.edge-hero h1 { font-size: 55px; }
.edge-field { height: 360px; position: relative; margin: 0; border-radius: 5px; background: #ebf1f5; }
.edge-field>img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; border-radius: 5px; }
.edge-field>figcaption { position: absolute; bottom: 15px; left: 18px; color: white; font-size: 10px; padding: 5px 10px; background: #14334ad9; border-radius: 3px; }
.edge-device { position: absolute; right: 18px; top: 24px; width: 145px; padding: 8px; background: #f9fcfe; border-radius: 5px; box-shadow: 0 7px 30px #051b3040; text-align: center; }
.edge-device img { width: 100%; height: 170px; object-fit: contain; mix-blend-mode: multiply; }
.edge-device span { font-size: 10px; color: #53778e; }
.edge-flow-section { background: #eff5f9; padding-block: 40px 45px; }
.edge-flow { display: grid; grid-template-columns: 1fr 30px 1fr 30px 1fr 30px 1fr; align-items: center; gap: 15px; }
.edge-flow article { min-width: 0; }
.edge-flow img { width: 100%; height: 155px; object-fit: contain; mix-blend-mode: multiply; margin-bottom: 16px; }
.edge-flow article:first-child img { object-fit: cover; object-position: 50% 60%; border-radius: 3px; }
.edge-flow article>span { font-size: 10px; color: #6088a0; }
.edge-flow h3 { font-size: 19px; font-weight: 500; margin-top: 8px; }
.edge-flow p { font-size: 12px; color: #5b7b90; line-height: 1.9; margin-top: 8px; }
.edge-flow>b { font-weight: 400; color: #81a5bc; font-size: 25px; }
.edge-capabilities,.edge-selector { padding-block: 50px; }
.edge-selector { border-top: 1px solid #e0eaf1; }
.capability-columns { display: grid; grid-template-columns: repeat(3,1fr); gap: 44px; }
.capability-columns>article { border-top: 1px solid #c6dae7; padding-top: 22px; }
.capability-columns span { color: #8aa5b7; font: 10px monospace; }
.capability-columns h3 { font-size: 23px; font-weight: 500; margin-top: 13px; }
.capability-columns p { font-size: 14px; color: #5a798e; line-height: 2; margin-top: 13px; }
.interface-paths { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.interface-paths>a { display: block; border: 1px solid #d4e3ed; background: #f5f9fb; border-radius: 4px; padding: 24px 29px; }
.interface-paths strong { font-size: 28px; font-weight: 500; color: #1b678f; }
.interface-paths p { color: #597c94; font-size: 13px; margin: 12px 0 20px; }
.interface-paths span { color: #0781b7; font-size: 12px; }
