:root {
  --paper: #f2f2ee;
  --white: #fff;
  --ink: #17242d;
  --body: #34444e;
  --muted: #5e6c74;
  --blue: #0055a6;
  --blue-dark: #00457f;
  --steel: #d9dddc;
  --line: #cbd0cf;
  --navy: #132a3a;
  --head: "Barlow", "Arial Narrow", Arial, sans-serif;
  --sans: "IBM Plex Sans", Arial, sans-serif;
  --mono: "IBM Plex Mono", Consolas, monospace;
  --measure: 1200px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.65 var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
img { max-width: 100%; }
.hero-photo img { filter: grayscale(1); }
.footer-external { display: flex; flex-wrap: wrap; gap: 8px 22px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--head); font-weight: 600; }
h1, h2 { letter-spacing: -.025em; line-height: 1.05; }
h1 { font-size: 52px; }
h2 { font-size: 36px; }
h3 { font-size: 21px; line-height: 1.2; }
p { margin-bottom: 1em; }
.skip-link { position: absolute; z-index: 30; top: 8px; left: 8px; transform: translateY(-150%); padding: 11px 14px; background: var(--white); border: 1px solid var(--ink); }
.skip-link:focus { transform: none; }

/* Shared frame */
.utility-bar { min-height: 34px; display: flex; align-items: center; justify-content: space-between; padding: 0 max(28px, calc((100vw - var(--measure))/2)); color: var(--body); background: var(--paper); font-size: 12px; }
.utility-bar a { color: var(--blue); }
.site-header { position: relative; z-index: 10; min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 0 max(28px, calc((100vw - var(--measure))/2)); background: var(--white); border-bottom: 1px solid var(--line); }
.wordmark { display: flex; align-items: center; flex: 0 0 auto; }
.wordmark img { display: block; width: 240px; height: auto; }
.primary-nav { display: flex; align-items: center; gap: 25px; font-size: 14px; font-weight: 500; }
.primary-nav a { display: inline-block; padding: 9px 0 7px; border-bottom: 2px solid transparent; color: var(--body); transition: color .15s, border-color .15s; }
.primary-nav a:hover, .primary-nav a[aria-current="page"]:not(.contact-nav) { color: var(--blue); border-bottom-color: var(--blue); }
.primary-nav .contact-nav { padding: 9px 16px; color: var(--white); background: var(--blue); border: 1px solid var(--blue); }
.primary-nav .contact-nav:hover, .primary-nav .contact-nav[aria-current="page"] { background: var(--blue-dark); border-color: var(--blue-dark); }
.menu-toggle { display: none; }
.breadcrumb { width: min(calc(100% - 56px), var(--measure)); margin: 0 auto; padding: 20px 0 0; display: flex; gap: 10px; color: var(--muted); font-size: 13px; }
.breadcrumb a { text-decoration: underline; text-decoration-color: #aab4b8; text-underline-offset: 3px; }
.breadcrumb span:last-child { color: var(--ink); }

.eyebrow { margin: 0 0 15px; color: var(--blue); font: 500 13px/1.35 var(--sans); letter-spacing: .01em; }
.eyebrow-dot { display: inline-block; width: 7px; height: 7px; margin-right: 9px; border-radius: 50%; background: var(--blue); vertical-align: 1px; }
.eyebrow-light { color: #d1dce2; }
.eyebrow-light:before { content: none; }
.button { min-height: 44px; display: inline-flex; justify-content: center; align-items: center; gap: 13px; padding: 10px 17px; border: 1px solid var(--blue); border-radius: 2px; font-size: 14px; font-weight: 600; transition: background-color .15s, color .15s; }
.button-dark { color: var(--white); background: var(--blue); }
.button-dark:hover { color: var(--white); background: var(--blue-dark); }
.button span { font-size: 17px; line-height: 1; }
.text-link, .light-link { font-size: 14px; font-weight: 600; color: var(--blue); }
.text-link span, .light-link span { margin-left: 5px; }
.text-link:hover, .light-link:hover, .fact-link:hover, .page-cta a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Home */
.home-hero { max-width: var(--measure); margin: 0 auto; padding: 50px 28px 43px; display: grid; grid-template-columns: 43% 57%; gap: 0; align-items: center; }
.hero-copy { padding: 0 42px 0 0; }
.home-hero h1 { max-width: none; margin: 0 0 20px; font-size: 60px; line-height: 1.02; letter-spacing: -.035em; }
.hero-intro { max-width: 465px; margin-bottom: 24px; color: var(--body); font-size: 17px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 19px; }
.hero-note { margin: 20px 0 0; color: var(--muted); font-size: 13px; }
.hero-photo { position: relative; height: 540px; margin: 0; overflow: hidden; background: #c9cdcb; }
.hero-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.hero-photo figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; justify-content: space-between; gap: 20px; padding: 11px 15px; color: var(--ink); background: rgba(242,242,238,.96); font: 12px/1.4 var(--mono); }
.hero-photo .photo-meta { color: var(--muted); text-align: right; }
.hardware-sheet { border-top: 1px solid var(--line); }
.sheet-heading { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0 11px; font: 500 13px/1.4 var(--sans); color: var(--ink); }
.sheet-heading span + span { color: var(--muted); font-size: 12px; }
.sheet-row { display: grid; grid-template-columns: 115px 1fr 14px; gap: 12px; align-items: baseline; padding: 12px 0; border-top: 1px solid var(--line); }
.sheet-row > span:first-child { font-weight: 600; }
.sheet-row b { color: var(--body); font-size: 14px; font-weight: 400; }
.sheet-row > span:last-child { color: var(--blue); }
.sheet-row:hover b { color: var(--blue); }
.sheet-foot { margin: 0; padding: 11px 0 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.equipment-index { width: min(calc(100% - 56px), var(--measure)); margin: 0 auto; padding: 24px 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.equipment-index > div { padding: 0 18px; border-left: 1px solid var(--line); }
.equipment-index > div:first-child { padding-left: 0; border-left: 0; }
.equipment-index dt { margin-bottom: 5px; font-weight: 600; }
.equipment-index dd { margin: 0; color: var(--body); font-size: 14px; }
.home-services { width: min(calc(100% - 56px), var(--measure)); margin: 0 auto; padding: 66px 0 70px; }
.home-section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: end; margin-bottom: 25px; }
.home-section-heading h2 { margin: 0; font-size: 39px; }
.home-section-heading > p { max-width: 480px; margin: 0; color: var(--body); }
.service-paths { border-top: 1px solid var(--line); }
.service-path { display: grid; grid-template-columns: 220px minmax(0,1fr) 160px; align-items: baseline; gap: 24px; padding: 18px 4px; border-bottom: 1px solid var(--line); }
.service-path h3 { margin: 0; font-size: 20px; }
.service-path p { margin: 0; color: var(--body); font-size: 15px; }
.path-link { color: var(--blue); font-size: 14px; font-weight: 600; text-align: right; }
.home-partner { padding: 43px max(28px, calc((100vw - var(--measure))/2)); display: grid; grid-template-columns: .85fr 1.15fr; gap: 10%; align-items: center; color: var(--white); background: var(--navy); }
.home-partner h2 { max-width: 440px; margin: 0; font-size: 38px; }
.home-partner > div:last-child p { max-width: 610px; margin-bottom: 15px; color: #e0e5e7; }
.home-partner .light-link { color: #fff; text-decoration: underline; text-decoration-color: #8ab9e0; text-underline-offset: 4px; }
.home-facts { width: min(calc(100% - 56px), var(--measure)); margin: 0 auto; padding: 20px 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 25px; border-bottom: 1px solid var(--line); }
.home-facts p { margin: 0; color: var(--body); font-size: 14px; }
.fact-link { color: var(--blue); font-size: 14px; font-weight: 600; }

/* Alternate, photo-led home composition */
.industrial-hero { width: min(calc(100% - 56px), var(--measure)); margin: 0 auto; padding: 42px 0 37px; display: grid; grid-template-columns: 43% 57%; align-items: center; }
.industrial-hero .hero-copy { padding: 0 38px 0 0; }
.industrial-hero h1 { margin: 0 0 20px; font-size: 60px; line-height: 1.02; letter-spacing: -.035em; }
.industrial-hero .hero-copy > p:not(.eyebrow) { max-width: 455px; color: var(--body); }
.industrial-hero .hero-photo { height: 540px; }
.industrial-hero .hero-actions { margin-top: 22px; }
.photo-meta { color: var(--muted); }
.service-overview { width: min(calc(100% - 56px), var(--measure)); margin: 0 auto; padding: 60px 0 65px; display: grid; grid-template-columns: 1fr 2fr; gap: 10%; }
.service-overview > header h2 { max-width: 350px; margin: 0; font-size: 37px; }
.service-rows { border-top: 1px solid var(--line); }
.service-entry { display: grid; grid-template-columns: 190px minmax(0,1fr) 115px; gap: 20px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line); }
.service-entry h3 { margin: 0; font-size: 19px; }
.service-entry p { margin: 0; color: var(--body); font-size: 14px; }
.service-entry a { color: var(--blue); font-size: 13px; font-weight: 600; text-align: right; }
.partner-story { padding: 45px max(28px, calc((100vw - var(--measure))/2)); display: grid; grid-template-columns: 1fr 1fr; gap: 10%; color: var(--white); background: var(--navy); }
.partner-story h2 { max-width: 480px; margin: 0; font-size: 38px; }
.partner-story p { color: #e0e5e7; }
.partner-tasks { border-top: 1px solid #60717c; }
.partner-tasks > div { padding: 12px 0; border-bottom: 1px solid #60717c; color: #edf0f0; }
.company-band { width: min(calc(100% - 56px), var(--measure)); margin: 0 auto; padding: 20px 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.company-band p { margin: 0; color: var(--body); }

/* Equipment taxonomy and editorial service reading rhythm. */
.hero-contact { margin: 15px 0 0; font-size: 14px; }
.hero-contact a { color: var(--blue); white-space: nowrap; }
.equipment-index { display: block; padding: 22px 0 28px; }
.equipment-index .index-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 0; border: 0; }
.index-heading h2 { margin: 0; font: 600 18px/1.4 var(--sans); letter-spacing: 0; }
.index-heading a { color: var(--blue); font-size: 14px; }
.equipment-index dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 18px 0 0; padding: 17px 0 0; border-top: 1px solid var(--line); }
.equipment-index dl > div { padding: 0 22px; border-left: 1px solid var(--line); }
.equipment-index dl > div:first-child { padding-left: 0; border-left: 0; }
.service-intro h2 { margin: 0 0 20px; font-size: 38px; }
.service-intro > p:last-child { color: var(--body); max-width: 280px; }
.service-entry { display: block; padding: 24px 0 27px; }
.service-entry h3 { margin: 0 0 10px; font-size: 26px; }
.service-entry h3 a { font: inherit; color: var(--ink); text-align: left; }
.service-entry h3 a span { color: var(--blue); display: inline-block; margin-left: 10px; }
.service-entry p { font-size: 16px; line-height: 1.65; max-width: 650px; margin: 0 0 12px; }
.service-entry .text-link { display: inline-block; font-size: 14px; text-align: left; }
.partner-story h2 { margin-bottom: 22px; }
.partner-story .eyebrow { color: #b7cddd; }
.partner-story .light-link { display: inline-block; color: white; border-bottom: 1px solid #879ba9; padding-bottom: 4px; }
.partner-tasks .task-heading { padding: 18px 0 14px; margin: 0; font: 500 13px var(--mono); }
.partner-tasks ul { list-style: none; margin: 0; padding: 0; }
.partner-tasks li { padding: 12px 0; border-bottom: 1px solid #536774; }
.partner-tasks .task-note { margin: 15px 0 0; font-size: 14px; color: #b7cddd; }

/* Service and company pages */
.page-intro { padding: 37px max(28px, calc((100vw - var(--measure))/2)) 34px; background: var(--paper); border-bottom: 1px solid var(--line); }
.page-intro h1 { max-width: 850px; margin: 0 0 15px; font-size: 52px; }
.page-lead { max-width: 790px; margin: 0; color: var(--body); font-size: 17px; line-height: 1.65; }
.content-section { width: min(calc(100% - 56px), var(--measure)); margin: 0 auto; padding: 48px 0 54px; }
.section-kicker { margin: 0 0 19px; padding-bottom: 10px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; font-weight: 600; }
.section-title { margin: 0 0 23px; font-size: 35px; }
.detail-rows { border-top: 1px solid var(--line); }
.detail-row { padding: 19px 0; border-bottom: 1px solid var(--line); }
.detail-row > div { display: grid; grid-template-columns: minmax(220px, .42fr) 1fr; gap: 30px; }
.detail-row h3 { margin: 0; font-size: 19px; }
.detail-row p { max-width: 720px; margin: 0; color: var(--body); font-size: 15px; }
.detail-no, .detail-tag { color: var(--muted); }
.split-panel { padding: 45px max(28px, calc((100vw - var(--measure))/2)); display: grid; grid-template-columns: .8fr 1.2fr; gap: 10%; align-items: start; background: #e8e9e5; }
.split-panel h2 { max-width: 460px; margin: 0; font-size: 35px; }
.split-panel > div:last-child p { max-width: 680px; margin: 0 0 14px; color: var(--body); }
.split-panel .button { margin-top: 5px; }
.prep-section { padding: 43px max(28px, calc((100vw - var(--measure))/2)); display: grid; grid-template-columns: .72fr 1.28fr; gap: 9%; }
.prep-section h2 { max-width: 350px; margin: 0; font-size: 34px; }
.prep-list > p { color: var(--body); }
.prep-list details, .faq-band details { border-top: 1px solid var(--line); }
.prep-list details:last-child, .faq-band details:last-child { border-bottom: 1px solid var(--line); }
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
.prep-list summary, .faq-band summary { display: flex; justify-content: space-between; gap: 18px; padding: 14px 0; font-size: 15px; font-weight: 600; }
.prep-list summary span, .faq-band summary span { color: var(--blue); font-size: 18px; }
.prep-list details p, .faq-band details p { padding: 0 28px 15px 0; color: var(--body); font-size: 14px; }
.page-cta { padding: 18px max(28px, calc((100vw - var(--measure))/2)); display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #e8e9e5; }
.page-cta p { margin: 0; color: var(--body); }
.page-cta a { color: var(--blue); font-weight: 600; }

/* Equipment purchasing */
.purchase-panel { background: var(--white); }
.purchase-panel h2 { font-size: 34px; }
.inventory-sheet { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.inventory-sheet > div { display: grid; grid-template-columns: 145px 1fr; gap: 18px; padding: 14px 18px 14px 0; border-bottom: 1px solid var(--line); }
.inventory-sheet > div:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--line); }
.inventory-sheet b { font-weight: 600; }
.inventory-sheet span { color: var(--body); font-size: 14px; line-height: 1.5; }
.buy-types { padding: 37px max(28px, calc((100vw - var(--measure))/2)); display: grid; grid-template-columns: .85fr 1.15fr; gap: 10%; align-items: start; background: #e8e9e5; }
.buy-types h2 { margin: 0; font-size: 34px; }
.buy-types > p { margin: 0; color: var(--body); }
.check-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.check-grid article { padding: 14px 0; border-top: 2px solid var(--blue); }
.check-grid article > span { color: var(--blue); font: 12px var(--mono); }
.check-grid h3 { margin: 12px 0 5px; font-size: 18px; }
.check-grid p { margin: 0; color: var(--body); font-size: 14px; }

/* ITAD workflow */
.process-list { max-width: 940px; border-left: 1px solid #9cabb2; margin: 0 0 0 9px; }
.process-list article { position: relative; display: grid; grid-template-columns: 1fr; padding: 4px 0 22px 34px; }
.process-list article:before { content: ""; position: absolute; left: -5px; top: 10px; width: 9px; height: 9px; border: 1px solid var(--blue); border-radius: 50%; background: var(--paper); }
.process-list article > span { position: absolute; left: 16px; top: 3px; color: var(--blue); font: 11px var(--mono); }
.process-list article > div { display: grid; grid-template-columns: 235px 1fr; gap: 24px; }
.process-list h3 { margin: 0; font-size: 19px; }
.process-list p { margin: 0; color: var(--body); font-size: 15px; }
.data-note { padding: 44px max(28px, calc((100vw - var(--measure))/2)); display: grid; grid-template-columns: .8fr 1.2fr; gap: 10%; background: #e8e9e5; }
.data-note h2 { max-width: 430px; margin: 0; font-size: 34px; }
.data-note > div:last-child p { color: var(--body); }
.data-note > div:last-child p:last-child { margin: 0; color: var(--muted); font-size: 14px; }
.faq-band { padding: 44px max(28px, calc((100vw - var(--measure))/2)); display: grid; grid-template-columns: .65fr 1.35fr; gap: 9%; background: var(--paper); }
.faq-band h2 { margin: 0; font-size: 32px; }

/* Partner, company and contact */
.partner-feature { padding: 44px max(28px, calc((100vw - var(--measure))/2)); display: grid; grid-template-columns: .8fr 1.2fr; gap: 10%; background: var(--navy); color: var(--white); }
.partner-feature h2 { max-width: 460px; margin: 0; font-size: 37px; }
.partner-feature > div:last-child p { color: #e0e5e7; }
.project-cases { max-width: 1020px; border-top: 1px solid var(--line); }
.project-cases article { display: grid; grid-template-columns: 230px 1fr; gap: 25px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.project-cases h3 { margin: 0; font-size: 19px; }
.project-cases p { margin: 0; color: var(--body); }
.partner-scope { padding: 34px max(28px, calc((100vw - var(--measure))/2)) 41px; }
.scope-items { display: flex; flex-wrap: wrap; gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.scope-items span { padding: 12px 17px 12px 0; color: var(--body); font-size: 14px; }
.scope-items span + span { padding-left: 17px; border-left: 1px solid var(--line); }
.company-story { padding: 47px max(28px, calc((100vw - var(--measure))/2)); display: grid; grid-template-columns: .8fr 1.2fr; gap: 10%; background: var(--white); }
.company-story h2 { max-width: 440px; margin: 0; font-size: 35px; }
.company-story > div:last-child p { color: var(--body); }
.company-facts { width: min(calc(100% - 56px), var(--measure)); margin: 0 auto; padding: 22px 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.company-facts > div { padding: 3px 20px; }
.company-facts > div + div { border-left: 1px solid var(--line); }
.company-facts span { display: block; margin-bottom: 6px; color: var(--muted); font-size: 13px; }
.company-facts b { font-family: var(--head); font-size: 21px; font-weight: 600; }
.company-facts p { margin: 4px 0 0; color: var(--body); font-size: 13px; }
.contact-page { padding: 44px max(28px, calc((100vw - var(--measure))/2)); display: grid; grid-template-columns: .8fr 1.2fr; gap: 10%; background: var(--white); }
.contact-primary h2 { margin: 0 0 20px; font-size: 28px; }
.contact-methods { border-top: 1px solid var(--line); }
.contact-methods > a, .contact-methods > div { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 13px 28px 13px 0; border-bottom: 1px solid var(--line); }
.contact-methods span:first-child { color: var(--muted); font: 12px var(--mono); }
.contact-methods b { font-size: 16px; font-weight: 500; }
.method-arrow { position: absolute; top: 16px; right: 4px; color: var(--blue); }
.contact-prep { width: min(calc(100% - 56px), var(--measure)); margin: 0 auto; padding: 39px 0 55px; }
.contact-prep h2 { margin-bottom: 18px; font-size: 31px; }
.contact-topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.contact-topic-grid article { padding: 15px 18px 8px 0; }
.contact-topic-grid article + article { padding-left: 18px; border-left: 1px solid var(--line); }
.contact-topic-grid span { color: var(--muted); font: 12px var(--mono); }
.contact-topic-grid p { margin: 7px 0 0; color: var(--body); font-size: 14px; }

/* Footer */
.site-footer { padding: 24px max(28px, calc((100vw - var(--measure))/2)) 14px; border-top: 1px solid var(--line); background: var(--white); }
.footer-main { display: grid; grid-template-columns: .9fr 1fr 1.1fr; align-items: center; gap: 28px; padding-bottom: 19px; }
.footer-wordmark { display: inline-flex; padding: 2px; background: var(--white); }
.footer-wordmark img { display: block; width: 190px; height: auto; }
.footer-main > p { margin: 0; color: var(--body); font-size: 13px; }
.footer-links { display: grid; grid-template-columns: repeat(3, auto); justify-content: end; gap: 8px 17px; }
.footer-links a { color: var(--body); font-size: 13px; }
.footer-links a:hover { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 11px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.footer-bottom a { color: var(--blue); }

@media (max-width: 1080px) {
  .site-header { gap: 18px; }
  .wordmark img { width: 215px; }
  .primary-nav { gap: 16px; font-size: 13px; }
  .home-hero { grid-template-columns: 44% 56%; }
  .home-hero h1 { font-size: 52px; }
  .hero-photo { height: 475px; }
  .service-path { grid-template-columns: 190px minmax(0,1fr) 145px; gap: 16px; }
  .industrial-hero { grid-template-columns: 43% 57%; }
  .industrial-hero h1 { font-size: 52px; }
  .industrial-hero .hero-photo { height: 475px; }
  .service-overview { grid-template-columns: .85fr 1.8fr; gap: 7%; }
  .service-entry { grid-template-columns: 165px minmax(0,1fr) 110px; gap: 14px; }
}

@media (max-width: 1000px) {
  html { scroll-padding-top: 82px; }
  .site-header { min-height: 78px; padding: 0 24px; }
  .wordmark img { width: 205px; }
  .menu-toggle { width: 42px; height: 42px; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 6px; border: 0; padding: 0; background: transparent; cursor: pointer; }
  .menu-toggle span { width: 22px; height: 2px; background: var(--ink); transition: transform .15s; }
  .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); }
  .primary-nav { display: none; position: absolute; top: 77px; right: 0; left: 0; max-height: calc(100vh - 78px); overflow-y: auto; flex-direction: column; align-items: stretch; gap: 0; padding: 9px 24px 20px; border-bottom: 1px solid var(--line); background: var(--white); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: 12px 4px; border-bottom: 1px solid var(--line); }
  .primary-nav .contact-nav { margin-top: 10px; padding: 10px 12px; text-align: center; }
  .home-hero { grid-template-columns: 1fr 1.1fr; gap: 25px; }
  .home-hero h1 { font-size: 48px; }
  .hero-photo { height: 400px; }
  .hero-copy { padding-right: 18px; }
  .equipment-index { grid-template-columns: repeat(2, 1fr); row-gap: 18px; }
  .equipment-index > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .service-path { grid-template-columns: 165px minmax(0,1fr); gap: 10px 18px; }
  .service-path p { grid-column: 2; }
  .path-link { grid-column: 2; text-align: left; }
  .check-grid { grid-template-columns: repeat(3, 1fr); }
  .industrial-hero { width: calc(100% - 48px); grid-template-columns: 1fr 1.1fr; gap: 24px; }
  .industrial-hero h1 { font-size: 48px; }
  .industrial-hero .hero-photo { height: 400px; }
  .service-overview { width: calc(100% - 48px); grid-template-columns: .75fr 1.25fr; gap: 6%; }
  .service-entry { grid-template-columns: 145px minmax(0,1fr); gap: 10px 15px; }
  .service-entry p { grid-column: 2; }
  .service-entry a { grid-column: 2; text-align: left; }
}

@media (max-width: 720px) {
  body { font-size: 15px; }
  .utility-bar { padding: 6px 20px; font-size: 11px; }
  .site-header { min-height: 72px; padding: 0 20px; }
  .wordmark img { width: 190px; }
  .primary-nav { top: 71px; padding-right: 20px; padding-left: 20px; }
  .breadcrumb { width: calc(100% - 40px); padding-top: 14px; font-size: 12px; }
  .home-hero { display: flex; flex-direction: column; align-items: stretch; gap: 23px; padding: 34px 20px 26px; }
  .hero-copy { padding: 0; }
  .home-hero h1 { margin-bottom: 15px; font-size: 40px; line-height: 1.06; }
  .hero-intro { margin-bottom: 17px; font-size: 15px; }
  .hero-photo { height: 320px; }
  .hero-photo figcaption { padding: 9px 11px; font-size: 10px; }
  .home-hero .eyebrow { font-size: 12px; }
  .industrial-hero { width: auto; display: flex; flex-direction: column; align-items: stretch; gap: 22px; padding: 31px 20px 27px; }
  .industrial-hero .hero-copy { padding: 0; }
  .industrial-hero h1 { margin-bottom: 14px; font-size: 39px; line-height: 1.07; }
  .industrial-hero .hero-copy > p:not(.eyebrow) { font-size: 15px; }
  .industrial-hero .hero-photo { width: 100%; height: 320px; }
  .industrial-hero .hero-actions { margin-top: 16px; }
  .hardware-sheet { margin-top: 4px; }
  .sheet-row { grid-template-columns: 105px minmax(0,1fr) 14px; gap: 8px; padding: 11px 0; }
  .sheet-row b { font-size: 13px; }
  .equipment-index { width: calc(100% - 40px); grid-template-columns: 1fr 1fr; padding: 17px 0; }
  .equipment-index > div { padding: 0 10px; }
  .equipment-index > div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .equipment-index dd { font-size: 13px; }
  .home-services { width: calc(100% - 40px); padding: 42px 0 45px; }
  .service-overview { width: calc(100% - 40px); display: block; padding: 38px 0 42px; }
  .service-overview > header h2 { max-width: 320px; font-size: 29px; }
  .service-rows { margin-top: 17px; }
  .service-entry { grid-template-columns: 1fr; gap: 5px; padding: 14px 2px; }
  .service-entry h3 { font-size: 17px; }
  .service-entry p { grid-column: 1; font-size: 13px; }
  .service-entry a { grid-column: 1; font-size: 12px; text-align: left; }
  .home-section-heading { display: block; margin-bottom: 18px; }
  .home-section-heading h2 { font-size: 30px; }
  .home-section-heading > p { margin-top: 12px; font-size: 14px; }
  .service-path { grid-template-columns: 1fr; gap: 6px; padding: 15px 2px; }
  .service-path h3 { font-size: 18px; }
  .service-path p, .path-link { grid-column: 1; font-size: 13px; }
  .home-partner { display: block; padding: 31px 20px; }
  .home-partner h2 { margin-bottom: 13px; font-size: 30px; }
  .home-partner > div:last-child p { font-size: 14px; }
  .home-facts { width: calc(100% - 40px); display: flex; justify-content: flex-start; gap: 8px 18px; padding: 14px 0; }
  .company-band { width: calc(100% - 40px); padding: 15px 0; justify-content: flex-start; gap: 8px 17px; }
  .company-band p { font-size: 13px; }
  .partner-story { display: block; padding: 33px 20px; }
  .partner-story h2 { margin-bottom: 15px; font-size: 29px; }
  .partner-tasks { margin-top: 15px; }
  .partner-tasks > div { padding: 10px 0; font-size: 14px; }
  .home-facts p, .fact-link { font-size: 12px; }
  .page-intro { padding: 29px 20px 25px; }
  .page-intro h1 { margin-bottom: 11px; font-size: 39px; line-height: 1.08; }
  .page-lead { font-size: 15px; line-height: 1.6; }
  .content-section { width: calc(100% - 40px); padding: 35px 0 39px; }
  .section-title { margin-bottom: 17px; font-size: 28px; }
  .detail-row { padding: 15px 0; }
  .detail-row > div { display: block; }
  .detail-row h3 { margin-bottom: 5px; font-size: 17px; }
  .detail-row p { font-size: 14px; line-height: 1.6; }
  .split-panel, .prep-section, .buy-types, .partner-feature, .data-note, .company-story, .contact-page { display: block; padding: 32px 20px; }
  .split-panel h2, .purchase-panel h2, .prep-section h2, .buy-types h2, .partner-feature h2, .data-note h2, .company-story h2, .contact-primary h2 { margin-bottom: 14px; font-size: 28px; }
  .split-panel > div:last-child, .company-story > div:last-child { margin-top: 12px; }
  .split-panel > div:last-child p, .company-story > div:last-child p, .buy-types > p, .partner-feature > div:last-child p, .data-note > div:last-child p { font-size: 14px; }
  .prep-section h2 { margin-bottom: 16px; }
  .inventory-sheet { grid-template-columns: 1fr; }
  .inventory-sheet > div, .inventory-sheet > div:nth-child(even) { grid-template-columns: 125px minmax(0,1fr); gap: 12px; padding: 12px 0; border-left: 0; }
  .inventory-sheet b, .inventory-sheet span { font-size: 13px; }
  .check-grid { grid-template-columns: 1fr 1fr; gap: 10px 16px; }
  .check-grid h3 { margin: 8px 0 4px; font-size: 17px; }
  .check-grid p { font-size: 13px; }
  .process-list article { padding-bottom: 18px; }
  .process-list article > div { display: block; }
  .process-list h3 { margin-bottom: 4px; font-size: 17px; }
  .process-list p { font-size: 14px; line-height: 1.6; }
  .faq-band { display: block; padding: 32px 20px 38px; }
  .faq-band h2 { margin-bottom: 15px; font-size: 27px; }
  .project-cases article { display: block; padding: 14px 0; }
  .project-cases h3 { margin-bottom: 5px; font-size: 18px; }
  .project-cases p { font-size: 14px; }
  .partner-scope { padding: 25px 20px 30px; }
  .scope-items { display: grid; grid-template-columns: 1fr 1fr; }
  .scope-items span, .scope-items span + span { padding: 10px 6px 10px 0; border: 0; border-bottom: 1px solid var(--line); font-size: 13px; }
  .company-facts { width: calc(100% - 40px); display: block; padding: 8px 0 25px; }
  .company-facts > div, .company-facts > div + div { padding: 12px 0; border: 0; border-top: 1px solid var(--line); }
  .contact-methods b { font-size: 15px; }
  .contact-prep { width: calc(100% - 40px); padding: 30px 0 40px; }
  .contact-topic-grid { grid-template-columns: 1fr; }
  .contact-topic-grid article, .contact-topic-grid article + article { padding: 12px 0; border: 0; border-top: 1px solid var(--line); }
  .contact-topic-grid span { font-size: 11px; }
  .contact-topic-grid p { font-size: 13px; }
  .page-cta { align-items: flex-start; flex-direction: column; gap: 7px; padding: 14px 20px; }
  .site-footer { padding: 19px 20px 12px; }
  .footer-main { display: grid; grid-template-columns: 1fr; gap: 11px; padding-bottom: 15px; }
  .footer-wordmark img { width: 180px; }
  .footer-main > p { font-size: 12px; }
  .footer-links { grid-template-columns: repeat(2, auto); justify-content: start; gap: 7px 20px; }
  .footer-links a { font-size: 12px; }
  .footer-bottom { font-size: 11px; }
}

@media (min-width: 651px) and (max-width: 900px) {
  .industrial-hero h1 { font-size: 38px; line-height: 1.06; }
  .industrial-hero .hero-copy { padding-right: 24px; }
  .industrial-hero .hero-intro { font-size: 15px; }
  .hero-photo .photo-meta { display: none; }
  .equipment-index dl { grid-template-columns: 1fr 1fr; gap: 20px; }
  .equipment-index dl > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .service-overview { grid-template-columns: 1fr 1.7fr; gap: 30px; }
  .service-intro h2 { font-size: 32px; }
}
@media (max-width: 650px) {
  .equipment-index .index-heading { display: block; }
  .index-heading h2 { margin-bottom: 8px; }
  .equipment-index dl { grid-template-columns: 1fr 1fr; gap: 18px 12px; }
  .equipment-index dl > div, .equipment-index dl > div:first-child { padding: 0; border: 0; }
  .equipment-index dt { font-size: 14px; }
  .equipment-index dd { font-size: 13px; }
  .service-intro h2 { font-size: 32px; margin-bottom: 14px; }
  .service-intro > p:last-child { max-width: none; }
  .service-entry h3 { font-size: 24px; }
  .service-entry p { font-size: 15px; }
  .hero-contact { margin-top: 14px; }
  .hero-photo img { object-position: 46% center; }
  .partner-story h2 { margin-bottom: 18px; }
  .partner-tasks { margin-top: 28px; }
  .company-band { display: block; }
  .company-band a { display: block; margin-top: 12px; }
}
@media (max-width: 380px) {
  .wordmark img { width: 174px; }
  .home-hero h1, .page-intro h1 { font-size: 35px; }
  .hero-actions { gap: 12px; }
  .button { padding: 9px 12px; font-size: 13px; }
  .sheet-row { grid-template-columns: 93px minmax(0,1fr) 12px; gap: 7px; }
  .sheet-row b { font-size: 12px; }
  .hero-photo { height: 275px; }
  .footer-bottom { gap: 10px; }
  .industrial-hero h1 { font-size: 35px; }
}

/* Purpose-led inquiry flow. Form status only follows the server response. */
[hidden] { display: none !important; }
.purpose-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.button-outline { background: transparent; color: var(--blue); border: 1px solid var(--blue); }
.button-outline:hover { background: #e6edf1; }
.hero-service-link { display: inline-block; color: var(--blue); margin-top: 16px; font-size: 14px; text-underline-offset: 4px; }
.hero-service-link:hover { text-decoration: underline; }
.intro-action { margin-top: 22px; }
.inquiry-section { width: min(calc(100% - 56px),var(--measure)); margin: auto; padding: 48px 0 66px; display: grid; grid-template-columns: .8fr 1.4fr; gap: 9%; }
.inquiry-aside h2 { font-size: 32px; margin-bottom: 17px; }
.inquiry-aside p { color: var(--body); }
.inquiry-location { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 18px; }
.inquiry-location > span { font-weight: 600; }
.inquiry-location address { font-style: normal; margin: 7px 0 12px; }
.inquiry-location a,.inquiry-email a { color: var(--blue); }
.inquiry-email { margin-top: 18px; }
.inquiry-panel { min-width: 0; background: white; padding: 28px; border-top: 3px solid var(--blue); }
.purpose-choice { display: block; border: 0; padding: 0; margin: 0 0 28px; }
.purpose-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.purpose-choice legend { padding: 0; margin: 0 0 12px; font-weight: 600; }
.purpose-choice label { cursor: pointer; display: flex; gap: 7px; align-items: center; border: 1px solid var(--line); padding: 10px 8px; font-size: 13px; font-weight: 500; min-height: 46px; }
.purpose-choice label:has(input:checked) { border-color: var(--blue); background: #edf3f7; color: var(--blue); }
.purpose-choice input { accent-color: var(--blue); margin: 0; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.part-grid { grid-template-columns: 2fr 1fr; }
.field { margin-bottom: 20px; min-width: 0; }
.field label { display: block; margin: 0 0 7px; font-size: 14px; font-weight: 500; }
.field label > span { margin-left: 4px; font-size: 12px; color: var(--muted); font-weight: 400; }
.field input:not([type="file"]),.field textarea { width: 100%; border: 1px solid #89979f; border-radius: 0; padding: 10px 11px; min-height: 46px; font: 16px/1.45 var(--sans); color: var(--ink); background: #fff; }
.field textarea { resize: vertical; min-height: 98px; }
.field input:focus,.field textarea:focus { outline: 2px solid var(--blue); outline-offset: 2px; }
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"] { border-color: #a32522; }
.field-help,.file-name { font-size: 13px; line-height: 1.5; color: var(--muted); margin: 7px 0 0; overflow-wrap: anywhere; }
.field-error { margin: 7px 0 0; color: #9a201e; font-size: 13px; line-height: 1.45; }
.field-error:empty,.file-name:empty { display: none; }
.field input[type="file"] { width: 100%; font: 14px/1.6 var(--sans); padding: 10px 0; color: var(--body); }
.field input::file-selector-button { cursor: pointer; background: #f2f2ee; border: 1px solid #89979f; margin-right: 10px; padding: 9px 12px; color: var(--ink); font: 500 13px var(--sans); }
.form-summary { padding: 13px 15px; border-left: 3px solid #9a201e; background: #fff1ef; color: #85211c; margin: 0 0 22px; font-size: 14px; }
.form-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; left: -10000px; }
.submit-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 5px; }
.submit-row p { margin: 0; font-size: 14px; color: var(--body); }
.button:disabled { opacity: .65; cursor: wait; }
.form-note { margin: 16px 0 0; font-size: 12px; line-height: 1.6; color: var(--muted); }
.inquiry-success h2 { margin: 6px 0 17px; }
.inquiry-success a { color: var(--blue); }
.inquiry-reference { font: 12px/1.7 var(--mono); overflow-wrap: anywhere; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.inquiry-success button { border: 0; background: none; padding: 0; cursor: pointer; font: 500 14px var(--sans); color: var(--blue); }
@media (max-width: 1000px) { .inquiry-section { grid-template-columns: .7fr 1.3fr; gap: 5%; } .inquiry-panel { padding: 22px; } .purpose-options { grid-template-columns: 1fr; gap: 6px; } }
@media (max-width: 650px) { .inquiry-section { width: calc(100% - 40px); display: flex; flex-direction: column; padding: 30px 0 42px; gap: 28px; } .inquiry-aside h2 { font-size: 27px; } .inquiry-location { display: none; } .inquiry-email { margin-bottom: 0; } .inquiry-panel { padding: 20px 16px; } .form-grid,.part-grid { grid-template-columns: 1fr; gap: 0; } .purpose-actions { display: grid; grid-template-columns: 1fr; gap: 10px; } .purpose-actions .button { justify-content: space-between; max-width: 260px; } .field { margin-bottom: 19px; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Graphite / electric blue: enterprise hardware, with an editorial edge. */
:root { --paper:#f5f6f7; --ink:#111b23; --body:#43515d; --line:#d5dce1; --navy:#101c26; --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif; --measure:1280px; }
body { background:#fff; }
::selection { background:#0055a6; color:white; }
.utility-bar { background:#111b23; color:#b8c5ce; min-height:30px; font:11px/1.5 var(--mono); }
.utility-bar a { color:#d4e9ff; }
.site-header { min-height:92px; border-bottom:0; }
.wordmark img { width:222px; }
.primary-nav { gap:24px; }
.primary-nav .contact-nav { padding:12px 18px; border-radius:3px; }
.button { min-height:50px; padding:12px 20px; border-radius:3px; gap:24px; transition:background .2s,transform .2s; }
.button:hover { transform:translateY(-2px); }
.button span { font-size:22px; }
.eyebrow,.section-kicker { font:500 11px/1.5 var(--mono); letter-spacing:.09em; text-transform:uppercase; }
.status-mark { width:7px; height:7px; background:#65afff; display:inline-block; margin-right:8px; }
.industrial-hero { width:100%; max-width:none; padding:0 max(28px,calc((100vw - var(--measure))/2)); grid-template-columns:51% 49%; background:#111b23; color:white; min-height:650px; align-items:stretch; position:relative; }
.industrial-hero .hero-copy { padding:48px 34px 45px 0; position:relative; z-index:1; }
.industrial-hero .eyebrow { color:#a8c6de; margin-bottom:24px; }
.industrial-hero h1 { font:600 clamp(70px,7.1vw,108px)/.91 var(--display); text-transform:uppercase; letter-spacing:-.025em; margin-bottom:25px; }
.industrial-hero h1 span { color:#66b2ff; }
.industrial-hero .hero-copy > .hero-intro { color:#c0cbd4; font-size:16px; line-height:1.65; max-width:435px; margin-bottom:26px; }
.industrial-hero .button-dark { background:#fff; color:#111b23; border-color:#fff; }
.industrial-hero .button-dark:hover { background:#e0edfa; }
.industrial-hero .button-outline { color:white; border-color:#8093a2; }
.industrial-hero .button-outline:hover { background:#263745; }
.industrial-hero .hero-service-link { color:#a8c6de; margin-top:20px; }
.industrial-hero .hero-copy > .hero-contact { color:#91a3b1; font-size:12px; margin-top:22px; }
.industrial-hero .hero-contact a { color:#d5e6f3; }
.industrial-hero .hero-photo { height:auto; min-height:650px; background:#202b33; overflow:hidden; margin-right:calc(-1 * max(28px,(100vw - var(--measure))/2)); }
.industrial-hero .hero-photo img { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; object-position:60% center; filter:grayscale(1) contrast(1.12) brightness(.85); }
.photo-topline { position:absolute; z-index:2; left:24px; right:26px; top:20px; display:flex; align-items:center; justify-content:space-between; color:white; font:10px/1.4 var(--mono); letter-spacing:.08em; }
.photo-topline > span:last-child { font:28px var(--sans); }
.industrial-hero .hero-photo figcaption { background:#111b23; color:#cfdae2; font-size:10px; padding:13px 24px; left:24px; right:24px; bottom:24px; border-left:3px solid #66b2ff; }
.industrial-hero .photo-meta { color:#93a6b5; }
.equipment-index { width:100%; background:#edf1f4; padding:24px max(28px,calc((100vw - var(--measure))/2)) 28px; border:0; }
.index-heading h2 { font:500 11px/1.4 var(--mono); text-transform:uppercase; letter-spacing:.06em; }
.index-heading a { font-size:12px; }
.equipment-index dl { border:0; margin-top:22px; padding:0; }
.equipment-index dt { font:600 25px/1.1 var(--display); letter-spacing:-.01em; }
.equipment-index dd { margin-top:8px; font:11px/1.5 var(--mono); color:#556573; }
.equipment-index dl > div { border-color:#bcc8d0; padding-left:28px; }
.service-overview { padding:84px 0 90px; grid-template-columns: .85fr 1.5fr; gap:8%; }
.service-intro h2 { font:600 56px/.99 var(--display); letter-spacing:-.02em; }
.service-intro > p:last-child { max-width:300px; }
.service-rows { counter-reset:service; border-top:1px solid #111b23; }
.service-entry { position:relative; counter-increment:service; padding:26px 0 27px 44px; }
.service-entry::before { content:"0" counter(service); position:absolute; top:30px; left:0; color:#6c7f8e; font:11px/1.5 var(--mono); }
.service-entry h3 { font:600 32px/1.1 var(--display); }
.service-entry h3 a { display:flex; justify-content:space-between; align-items:center; }
.service-entry h3 a span { font:26px var(--sans); transition:transform .2s; }
.service-entry:hover h3 a span { transform:translate(4px,-2px); }
.service-entry p { font-size:15px; line-height:1.7; }
.service-entry .text-link { font-size:12px; }
.partner-story { padding-top:64px; padding-bottom:67px; background:#0055a6; grid-template-columns:1.1fr .8fr; gap:12%; }
.partner-story h2 { font:600 60px/1.02 var(--display); max-width:600px; letter-spacing:-.01em; }
.partner-story p { color:#dbe9f7; }
.partner-story .eyebrow { color:#c1dcf6; }
.partner-story .light-link { border-color:#8bb8e1; font-size:13px; }
.partner-tasks { align-self:center; border-color:#6d9fcf; }
.partner-tasks li { border-color:#528bc1; padding:16px 0; font-size:15px; }
.partner-tasks .task-note { color:#c1dcf6; }
.company-band { border:0; padding:35px 0; font-size:14px; }
.company-band a { color:var(--blue); font-size:13px; }
.site-footer { background:#edf1f4; padding-top:36px; }
.footer-wordmark { padding:9px 12px; border-radius:3px; }
.footer-main { padding-bottom:32px; }
.breadcrumb { font:10px/1.5 var(--mono); padding:17px 0; }
.page-intro { position:relative; overflow:hidden; background:#111b23; padding-top:48px; padding-bottom:50px; color:white; border:0; }

.page-intro > * { position:relative; z-index:1; max-width:67%; }
.page-intro .eyebrow { color:#9dc9ef; }
.page-intro h1 { font:600 clamp(46px,5.5vw,76px)/.98 var(--display); letter-spacing:-.02em; max-width:70%; }
.page-lead { color:#c2ced7; font-size:16px; }
.page-lead a { color:#b8dbff; }
.page-intro .button { background:#fff; color:#111b23; border-color:white; }
.content-section { padding-top:65px; padding-bottom:65px; }
.section-title,.split-panel h2,.prep-section h2,.company-story h2,.data-note h2,.buy-types h2 { font:600 44px/1.05 var(--display); }
.detail-row h3,.project-cases h3 { font:600 28px/1.1 var(--display); }
.detail-row { padding:26px 0; }
.process-list h3 { font:600 25px/1.15 var(--display); }
.page-cta { padding-top:27px; padding-bottom:27px; background:#edf1f4; }
.inquiry-section { padding-top:60px; padding-bottom:70px; }
.inquiry-panel { background:#f5f7f9; border-top:2px solid #0055a6; padding:30px; }
.inquiry-aside h2 { font:600 43px/1.05 var(--display); }
.company-facts b { font:600 38px/1.1 var(--display); }
.company-facts { padding-top:35px; padding-bottom:35px; }
.partner-feature h2 { font:600 52px/1 var(--display); }
@media(min-width:1550px) { .industrial-hero .hero-copy { padding-top:65px; padding-bottom:60px; } }
@media(max-width:1080px) {
 .primary-nav { gap:15px; }
 .wordmark img { width:200px; }
 .industrial-hero h1 { font-size:82px; }
 .industrial-hero .hero-copy { padding-right:28px; }
 .industrial-hero .hero-photo { min-height:660px; }
 .service-intro h2 { font-size:48px; }
}
@media(max-width:900px) {
 .industrial-hero { grid-template-columns:54% 46%; }
 .industrial-hero h1 { font-size:70px; }
 .industrial-hero .hero-copy > .hero-intro { font-size:15px; }
 .purpose-actions { gap:10px; }
 .industrial-hero .button { padding:10px 14px; font-size:13px; }
 .partner-story h2 { font-size:48px; }
 
 .page-intro > * { max-width:71%; }
}
@media(max-width:650px) {
 .utility-bar { font:10px/1.5 var(--sans); min-height:29px; }
 .site-header { min-height:76px; }
 .wordmark img { width:185px; }
 .industrial-hero { display:flex; flex-direction:column; padding:0; min-height:0; }
 .industrial-hero .hero-copy { padding:32px 20px 30px; }
 .industrial-hero .eyebrow { font-size:9px; margin-bottom:20px; }
 .industrial-hero h1 { font-size:clamp(60px,18vw,95px); margin-bottom:22px; line-height:.92; }
 .industrial-hero .hero-copy > .hero-intro { max-width:450px; font-size:15px; margin-bottom:23px; }
 .purpose-actions { display:flex; flex-wrap:wrap; gap:10px; }
 .purpose-actions .button { max-width:none; min-height:46px; justify-content:center; gap:18px; }
 .industrial-hero .hero-service-link { font-size:12px; margin-top:17px; }
 .industrial-hero .hero-copy > .hero-contact { margin-top:17px; }
 .industrial-hero .hero-photo { height:290px; min-height:0; width:100%; margin:0; }
 .industrial-hero .hero-photo img { object-position:55% 55%; }
 .photo-topline { left:20px; right:20px; top:12px; font-size:8px; }
 .industrial-hero .hero-photo figcaption { bottom:15px; left:20px; right:20px; padding:10px 12px; font-size:9px; }
 .hero-photo .photo-meta { display:none; }
 .equipment-index { padding:26px 20px 30px; }
 .equipment-index .index-heading { display:flex; align-items:start; gap:20px; }
 .index-heading h2 { max-width:150px; font-size:10px; }
 .index-heading a { font-size:11px; white-space:nowrap; }
 .equipment-index dl { gap:24px 12px; margin-top:24px; }
 .equipment-index dl > div { padding:0; }
 .equipment-index dt { font-size:23px; }
 .equipment-index dd { font-size:10px; }
 .service-overview { display:block; padding:42px 0 45px; }
 .service-intro h2 { font-size:46px; }
 .service-intro > p:last-child { max-width:400px; margin-bottom:28px; }
 .service-entry { padding:24px 0 24px 30px; }
 .service-entry::before { top:28px; font-size:10px; }
 .service-entry h3 { font-size:29px; }
 .service-entry p { font-size:14px; }
 .partner-story { padding:40px 20px 44px; }
 .partner-story h2 { font-size:46px; }
 .partner-story p { font-size:14px; }
 .partner-tasks { margin-top:30px; }
 .company-band { padding:28px 0; }
 .site-footer { padding-top:28px; }
 .page-intro { padding:32px 20px 36px; }
 
 .page-intro > *, .page-intro h1 { max-width:100%; }
 .page-intro h1 { font-size:48px; }
 .page-lead { font-size:15px; }
 .breadcrumb { padding:13px 0; }
 .content-section { padding:38px 0 42px; }
 .section-title,.split-panel h2,.prep-section h2,.company-story h2,.data-note h2,.buy-types h2 { font-size:37px; }
 .detail-row h3,.project-cases h3 { font-size:26px; }
 .inquiry-section { padding-top:35px; }
 .inquiry-panel { padding:22px 16px; }
 .inquiry-aside h2 { font-size:36px; }
 .partner-feature h2 { font-size:43px; }
}
@media(max-width:360px) { .industrial-hero .button { font-size:12px; padding:10px 12px; gap:12px; } .page-intro h1 { font-size:42px; } }
.industrial-hero .hero-copy > p.hero-intro { color:#c0cbd4; }
.industrial-hero .hero-copy > p.hero-contact { color:#91a3b1; }
@media(max-width:650px) {
 .industrial-hero h1 { font-size:clamp(52px,16vw,95px); }
 .industrial-hero h1 span { white-space:nowrap; }
 .industrial-hero .purpose-actions .button { padding:10px 13px; gap:12px; font-size:12px; }
 .industrial-hero .hero-copy > p.hero-contact { font-size:12px; }
}

/* Focused refinement: compact framing, useful categories, clearer inquiries. */
:root { --paper:#f6f5f2; --measure:1240px; }
.utility-bar { min-height:28px; }
.site-header { min-height:78px; gap:22px; }
.wordmark img { width:205px; height:auto; }
.primary-nav { gap:20px; font-size:13px; }
.primary-nav .contact-nav { padding:10px 16px; }
.button { min-height:48px; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #287bc9; outline-offset:4px; }
.industrial-hero { min-height:560px; grid-template-columns:51% 49%; }
.industrial-hero .hero-copy { padding:36px 34px 38px 0; }
.industrial-hero .eyebrow { margin-bottom:22px; }
.industrial-hero h1 { font-size:clamp(70px,6.65vw,96px); line-height:.94; margin-bottom:23px; }
.industrial-hero .hero-copy > p.hero-intro { max-width:440px; font-size:16px; margin-bottom:25px; }
.industrial-hero .hero-photo { min-height:560px; }
.industrial-hero .hero-photo img { object-position:57% center; }
.industrial-hero .hero-service-link { margin-top:18px; }
.product-categories { padding:42px max(28px,calc((100vw - var(--measure))/2)) 35px; background:#f6f5f2; }
.category-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:26px; }
.category-heading .eyebrow { margin-bottom:9px; }
.category-heading h2 { margin:0; font:600 42px/1.05 var(--display); letter-spacing:-.015em; }
.category-heading > a { margin-bottom:4px; font-size:13px; }
.category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.category-grid article { min-width:0; }
.category-image { display:block; overflow:hidden; background:#eef1f2; }
.category-image img { display:block; width:100%; height:165px; object-fit:contain; transition:transform .2s ease; }
.category-image:hover img { transform:translateY(-3px); }
.category-grid h3 { margin:18px 0 9px; font:600 17px/1.3 var(--sans); letter-spacing:-.015em; }
.category-grid p { font-size:13px; line-height:1.65; color:var(--body); margin:0 0 13px; }
.category-grid .text-link { font-size:12px; }
.category-note { margin:23px 0 0; color:var(--muted); font:10px/1.5 var(--mono); }
.service-overview { padding-top:65px; padding-bottom:66px; }
.service-entry h3 { font:600 24px/1.2 var(--sans); letter-spacing:-.02em; }
.inside-supply { background:#f6f5f2; padding:58px max(28px,calc((100vw - var(--measure))/2)) 60px; display:grid; grid-template-columns:1fr 1.2fr; gap:10%; }
.inside-heading h2 { font:600 52px/1.02 var(--display); letter-spacing:-.02em; margin:0 0 21px; }
.inside-heading > p:not(.eyebrow) { font-size:15px; max-width:380px; color:var(--body); }
.inside-heading img { width:100%; height:210px; display:block; object-fit:cover; object-position:65% 55%; filter:grayscale(1); margin-top:27px; }
.operations-list { border-top:1px solid #a9b3bb; }
.operations-list article { display:grid; grid-template-columns:120px 1fr; gap:7px 24px; padding:20px 0; border-bottom:1px solid var(--line); }
.operations-list article > span { grid-row:span 2; font:11px/1.5 var(--mono); color:var(--blue); }
.operations-list h3 { font:600 18px/1.3 var(--sans); margin:0; }
.operations-list p { margin:0; color:var(--body); font-size:13px; line-height:1.7; }
.partner-story { padding-top:52px; padding-bottom:55px; }
.partner-tasks .task-heading { font-size:11px; }
.rtr-section { padding:42px max(28px,calc((100vw - var(--measure))/2)); display:grid; grid-template-columns:1fr 1.2fr; gap:10%; background:#edf1f4; border-bottom:1px solid var(--line); }
.rtr-section .eyebrow { margin-bottom:11px; }
.rtr-section h2 { font:600 34px/1.08 var(--display); margin:0; }
.rtr-section p:not(.eyebrow) { font-size:14px; color:var(--body); line-height:1.7; margin:0 0 13px; }
.rtr-section .text-link { font-size:13px; }
.detail-row h3,.project-cases h3 { font:600 21px/1.3 var(--sans); }
.process-list h3 { font:600 18px/1.35 var(--sans); }
.footer-links > a:last-child { grid-column:1/-1; }
.footer-wordmark img { width:180px; height:auto; }
.field select { width:100%; border:1px solid #89979f; border-radius:0; padding:10px 11px; min-height:46px; font:16px/1.45 var(--sans); color:var(--ink); background:white; }
.field select:focus { outline:2px solid var(--blue); outline-offset:2px; }
.field select[aria-invalid="true"] { border-color:#a32522; }
@media(max-width:1050px) {
 .site-header { gap:15px; }
 .primary-nav { gap:13px; font-size:12px; }
 .wordmark img { width:185px; }
 .industrial-hero h1 { font-size:78px; }
 .category-grid { gap:18px; }
 .category-grid h3 { font-size:15px; }
 .category-image img { height:140px; }
 .operations-list article { grid-template-columns:100px 1fr; gap:7px 15px; }
}
@media(max-width:800px) {
 .category-grid { grid-template-columns:1fr 1fr; gap:27px 22px; }
 .category-image img { height:160px; }
 .category-grid h3 { font-size:17px; }
 .industrial-hero h1 { font-size:64px; }
 .inside-supply { gap:6%; grid-template-columns:1fr 1.1fr; }
 .operations-list article { display:block; }
 .operations-list article > span { display:block; margin-bottom:9px; }
 .operations-list h3 { margin-bottom:7px; }
}
@media(max-width:650px) {
 .site-header { min-height:70px; }
 .wordmark img { width:177px; }
 .primary-nav { font-size:15px; }
 .industrial-hero { min-height:0; display:flex; }
 .industrial-hero .hero-copy { padding:29px 20px 31px; }
 .industrial-hero .eyebrow { margin-bottom:19px; }
 .industrial-hero h1 { font-size:clamp(52px,16vw,95px); margin-bottom:21px; }
 .industrial-hero .hero-copy > p.hero-intro { font-size:15px; margin-bottom:22px; }
 .industrial-hero .hero-photo { height:235px; min-height:0; }
 .industrial-hero .hero-photo img { object-position:55% 60%; }
 .industrial-hero .hero-service-link { font-size:12px; margin-top:17px; }
 .product-categories { padding:33px 20px 30px; }
 .category-heading { display:block; margin-bottom:23px; }
 .category-heading h2 { font-size:36px; margin-bottom:13px; }
 .category-grid { gap:25px 15px; }
 .category-image img { height:116px; }
 .category-grid h3 { font-size:15px; margin-top:14px; }
 .category-grid p { font-size:12px; line-height:1.6; }
 .category-grid .text-link { font-size:11px; }
 .category-note { font-size:9px; }
 .service-overview { padding:37px 0 40px; }
 .service-entry h3 { font-size:20px; }
 .inside-supply { display:block; padding:38px 20px 40px; }
 .inside-heading h2 { font-size:42px; }
 .inside-heading img { height:170px; margin:22px 0 27px; }
 .operations-list article { display:grid; grid-template-columns:95px minmax(0,1fr); gap:5px 15px; padding:19px 0; }
 .operations-list article > span { margin:0; font-size:10px; }
 .operations-list h3 { font-size:16px; margin:0; }
 .operations-list p { font-size:12px; }
 .partner-story { padding:38px 20px 42px; }
 .rtr-section { display:block; padding:32px 20px 35px; }
 .rtr-section h2 { font-size:32px; margin-bottom:20px; }
 .detail-row h3,.project-cases h3 { font-size:19px; }
 .footer-main { gap:18px; }
 .footer-main > p { font-size:13px; line-height:1.8; }
}
@media(max-width:360px) { .category-grid { column-gap:12px; } .category-grid h3 { font-size:14px; } .category-image img { height:95px; } .category-grid .text-link { font-size:10px; } }
.data-note .eyebrow-light,.buy-types .eyebrow-light { color:var(--blue); }
.faq-band { gap:0 9%; align-items:start; }
.faq-band h2 { grid-row:1 / span 2; }
.faq-band details { grid-column:2; }
@media(max-width:650px) { .faq-band h2 { grid-row:auto; } .faq-band details { grid-column:auto; } }

/* Color hardware edition: light hero, photographic categories, restrained blue. */
:root { --head:"IBM Plex Sans",Arial,sans-serif; --blue:#0062bd; --blue-dark:#004c94; }
.industrial-hero { color:#112c43; background:#edf3f7; grid-template-columns:51% 49%; align-items:center; padding-top:0; padding-bottom:0; }
.industrial-hero .hero-copy { padding-top:43px; padding-bottom:43px; }
.industrial-hero .eyebrow { color:#366685; }
.industrial-hero h1 { color:#112c43; font-size:clamp(70px,6.6vw,96px); }
.industrial-hero h1 span { color:#0062bd; }
.industrial-hero .hero-copy > p.hero-descriptor { font:600 19px/1.4 var(--sans); color:#153b56; max-width:435px; margin:0 0 13px; letter-spacing:-.015em; }
.industrial-hero .hero-copy > p.hero-intro { color:#435b6b; font-size:16px; max-width:400px; margin-bottom:25px; }
.industrial-hero .button-dark { color:white; background:#0062bd; border-color:#0062bd; }
.industrial-hero .button-dark:hover { background:#004c94; }
.industrial-hero .button-outline { color:#0055a6; border-color:#6b8fa9; background:transparent; }
.industrial-hero .button-outline:hover { background:#d9e8f3; }
.industrial-hero .hero-service-link { color:#3a617b; }

.industrial-hero .hero-photo { height:100%; min-height:0; margin:0; width:100%; background:#a5d5dc; }
.industrial-hero .hero-photo img { filter:none; object-position:54% 45%; }



.product-categories { padding-top:52px; padding-bottom:43px; background:#fff; }
.category-heading h2 { font-size:48px; }
.category-grid { grid-template-columns:repeat(12,minmax(0,1fr)); gap:32px 28px; }
.category-grid article { grid-column:span 5; }
.category-grid article:first-child,.category-grid article:last-child { grid-column:span 7; }
.category-image { background:#edf3f7; overflow:hidden; }
.category-image img { width:100%; height:270px; object-fit:cover; transition:transform .25s; }
.category-image:hover img { transform:scale(1.025); }
.category-hdd .category-image img { object-position:50% 42%; }
.category-ssd .category-image img { object-position:center 55%; }
.category-memory .category-image { background:#c9b494; }
.category-memory .category-image img { object-fit:contain; }
.category-servers .category-image img { object-position:50% 50%; }
.category-copy { display:grid; grid-template-columns:1fr auto; gap:8px 20px; padding-top:18px; align-items:start; }
.category-grid h3 { font:600 24px/1.2 var(--sans); letter-spacing:-.025em; margin:0; grid-column:1; }
.category-grid p { margin:0; font-size:14px; max-width:440px; grid-column:1; }
.category-grid .text-link { grid-column:2; grid-row:1 / span 2; font-size:12px; align-self:center; }
.category-note { font-family:var(--sans); font-size:11px; }
.category-note a { color:#0055a6; }
.service-overview { padding-top:59px; padding-bottom:61px; }
.service-intro h2 { font-size:54px; }
.service-entry h3 { font-size:26px; }
.inside-supply { background:#102d42; color:white; padding-top:53px; padding-bottom:55px; }
.inside-supply .eyebrow,.operations-list article > span { color:#a6cef2; }
.inside-heading > p:not(.eyebrow),.operations-list p { color:#c7d6e1; }
.inside-heading img { filter:none; height:220px; }
.operations-list { border-color:#6b8395; }
.operations-list article { border-color:#456176; }
.credibility-strip { padding:34px max(28px,calc((100vw - var(--measure))/2)); display:grid; grid-template-columns:.7fr 1.2fr 1fr; gap:45px; background:#edf3f7; }
.credibility-strip span { display:block; font:11px/1.5 var(--mono); color:#5a7182; text-transform:uppercase; margin-bottom:8px; }
.credibility-strip strong,.credibility-strip >div>a { font:600 24px/1.25 var(--sans); letter-spacing:-.025em; color:#163b56; }
.credibility-strip p { margin:9px 0 0; font-size:12px; color:#465f70; }
.partner-story { background:#0062bd; }
.partner-story .light-link { margin-right:15px; margin-top:10px; }
.final-contact { display:grid; grid-template-columns:1fr 1fr; gap:8%; padding:48px 0; }
.final-contact h2 { font:600 48px/1.03 var(--display); letter-spacing:-.02em; margin:0; }
.final-contact .eyebrow { color:#0055a6; margin-bottom:14px; }
.final-contact > div:last-child { display:flex; align-content:center; align-items:center; flex-wrap:wrap; gap:12px; }
.final-contact p:last-child { width:100%; margin-top:12px; font-size:13px; }
.final-contact .button { font-size:13px; }

.page-lead { color:#d0dce6; }
.detail-row h3 a { color:#0055a6; }
.category-intro { padding:44px max(28px,calc((100vw - var(--measure))/2)) 46px; display:grid; grid-template-columns:1.1fr .9fr; gap:7%; align-items:center; background:#edf3f7; }
.category-intro h1 { font:600 clamp(46px,4.8vw,68px)/1 var(--display); letter-spacing:-.02em; margin:0 0 22px; color:#112c43; }
.category-intro > div > p:not(.eyebrow) { color:#435b6b; font-size:16px; line-height:1.7; margin-bottom:25px; }
.category-intro figure { margin:0; min-width:0; }
.category-intro img { display:block; width:100%; height:350px; object-fit:cover; }
.page-server-memory .category-intro img { object-fit:contain; background:#c9b494; }
.category-intro figcaption { font:10px/1.5 var(--mono); color:#536c7e; margin-top:9px; }
.category-intro figcaption a { text-decoration:underline; }
.category-details { width:min(calc(100% - 56px),var(--measure)); margin:auto; padding:42px 0; }
.category-details article { display:grid; grid-template-columns:.7fr 1.3fr; gap:8%; padding:26px 0; border-top:1px solid var(--line); }
.category-details h2 { font:600 25px/1.25 var(--sans); letter-spacing:-.025em; margin:0; }
.category-details p { margin:0; font-size:15px; color:var(--body); line-height:1.8; }
.category-details article > p+p { grid-column:2; }
.category-faq { padding:40px max(28px,calc((100vw - var(--measure))/2)); display:grid; grid-template-columns:.7fr 1.3fr; gap:8%; background:#f6f5f2; }
.category-faq h2 { font:600 38px/1.05 var(--display); max-width:300px; margin:0; }
.category-faq details { border-top:1px solid var(--line); }
.category-faq details:last-child { border-bottom:1px solid var(--line); }
.category-faq summary { display:flex; justify-content:space-between; gap:20px; padding:17px 0; font-size:14px; font-weight:600; }
.category-faq summary span { color:#0055a6; }
.category-faq details p { font-size:14px; line-height:1.75; color:var(--body); margin:0 20px 18px 0; }
.related-hardware { width:min(calc(100% - 56px),var(--measure)); margin:auto; padding:35px 0; display:flex; justify-content:space-between; gap:20px; }
.related-hardware h2 { font:600 18px/1.5 var(--sans); margin:0; }
.related-hardware nav { display:flex; flex-wrap:wrap; gap:20px; color:#0055a6; font-size:13px; }
@media(max-width:1050px) {
 .industrial-hero h1 { font-size:78px; }
 
 
 .category-copy { display:block; }
 .category-grid h3 { margin-bottom:10px; font-size:22px; }
 .category-grid p { margin-bottom:12px; }
 .category-image img { height:230px; }
 .final-contact { gap:5%; }
}
@media(max-width:800px) {
 .industrial-hero h1 { font-size:64px; }
 
 
 .credibility-strip { gap:25px; grid-template-columns:1fr 1.3fr 1.2fr; }
 .credibility-strip strong,.credibility-strip>div>a { font-size:20px; }
 .category-intro { gap:5%; }
 .category-intro img { height:300px; }
 .category-intro h1 { font-size:50px; }
}
@media(max-width:650px) {
 .industrial-hero .hero-copy { padding:28px 20px 30px; }
 .industrial-hero h1 { font-size:clamp(52px,16vw,95px); }
 .industrial-hero .hero-copy > p.hero-descriptor { font-size:16px; line-height:1.45; max-width:330px; margin-bottom:12px; }
 .industrial-hero .hero-copy > p.hero-intro { font-size:14px; max-width:320px; }
 
 .industrial-hero .hero-photo { height:290px; width:100%; }
 .industrial-hero .hero-photo img { object-position:50% 45%; }
 
 
 
 .product-categories { padding-top:32px; padding-bottom:30px; }
 .category-heading h2 { font-size:38px; }
 .category-grid { display:block; }
 .category-grid article { margin-bottom:28px; }
 .category-grid article:last-child { margin-bottom:0; }
 .category-image img { height:210px; }
 .category-memory .category-image img { height:155px; }
 .category-copy { padding-top:15px; }
 .category-grid h3 { font-size:22px; margin-bottom:8px; }
 .category-grid p { font-size:14px; margin-bottom:11px; }
 .category-grid .text-link { font-size:12px; }
 .category-note { font-size:10px; }
 .service-intro h2 { font-size:45px; }
 .service-entry h3 { font-size:22px; }
 .inside-supply { padding-top:38px; padding-bottom:40px; }
 .inside-heading img { height:185px; }
 .credibility-strip { display:block; padding:25px 20px; }
 .credibility-strip >div { padding:15px 0; border-bottom:1px solid #cbd9e3; }
 .credibility-strip >div:last-child { border:0; }
 .credibility-strip strong,.credibility-strip>div>a { font-size:23px; }
 .final-contact { display:block; padding:35px 0; }
 .final-contact h2 { font-size:42px; margin-bottom:26px; }
 .final-contact >div:last-child { gap:10px; }
 .final-contact .button { gap:12px; padding:11px 13px; font-size:12px; }
 .category-intro { display:flex; flex-direction:column; padding:31px 20px 34px; gap:27px; }
 .category-intro h1 { font-size:46px; }
 .category-intro >div>p:not(.eyebrow) { font-size:15px; }
 .category-intro figure { width:100%; }
 .category-intro img { height:260px; }
 .category-details { width:calc(100% - 40px); padding:21px 0 28px; }
 .category-details article { display:block; padding:23px 0; }
 .category-details h2 { font-size:22px; margin-bottom:14px; }
 .category-details p { font-size:14px; }
 .category-details article>p+p { margin-top:12px; }
 .category-faq { display:block; padding:31px 20px; }
 .category-faq h2 { font-size:34px; max-width:none; margin-bottom:24px; }
 .related-hardware { display:block; width:calc(100% - 40px); padding:26px 0; }
 .related-hardware h2 { margin-bottom:15px; }
 .related-hardware nav { display:grid; gap:13px; }
}

/* Image repair: one photograph per normal-flow container. */
.industrial-hero { align-items:center; }
.hero-visual { position:static; height:auto; min-width:0; margin:0; padding:28px 0; align-self:center; }
.industrial-hero .hero-photo { position:static; width:100%; height:auto; min-height:0; margin:0; overflow:hidden; background:transparent; }
.industrial-hero .hero-photo img { position:static; inset:auto; display:block; width:100%; height:auto; max-width:100%; object-fit:contain; object-position:center; filter:none; }
.page-intro::after { content:none; background:none; }
.page-intro > *, .page-intro h1 { max-width:900px; }
.category-grid article { border-top:1px solid var(--line); padding-top:19px; }
.category-copy { padding-top:0; }
.category-intro figure { position:static; margin:0; padding:16px; background:#fff; }
.category-intro img { position:static; display:block; width:100%; height:auto; max-height:440px; object-fit:contain; }
.category-intro figcaption { margin-top:12px; }
.category-intro.no-photo { display:block; }
.category-intro.no-photo > div { max-width:850px; }
.inside-heading { align-self:start; }
@media(max-width:800px) { .hero-visual { padding:22px 0; } .category-intro img { height:auto; max-height:400px; } }
@media(max-width:650px) {
 .hero-visual { width:calc(100% - 40px); padding:0; margin:0 20px 28px; height:auto; }
 .industrial-hero .hero-photo { width:100%; height:auto; }
 .industrial-hero .hero-photo img { width:100%; height:auto; }
 .category-grid article { margin-bottom:25px; }
 .category-intro figure { padding:12px; }
 .category-intro img { height:auto; max-height:380px; }
 .category-intro.no-photo { display:block; }
}

/* Verified current-generation imagery, retaining normal document flow. */
.industrial-hero .hero-photo figcaption { position:static; display:block; padding:12px 0 0; margin:0; background:transparent; color:#435b6b; font:11px/1.55 var(--sans); }
.hardware-generation-photo { position:static; margin:27px 0 0; padding:17px; max-width:620px; background:#fff; }
.hardware-generation-photo img { position:static; display:block; width:100%; height:auto; object-fit:contain; }
.hardware-generation-photo figcaption { margin-top:13px; color:#43515d; font:11px/1.55 var(--sans); }
.hardware-generation-photo figcaption a { text-decoration:underline; }
@media(max-width:650px) { .hardware-generation-photo { padding:12px; margin-top:23px; } .hardware-generation-photo figcaption { font-size:10px; } }
/* Coordinated brand and usability refinement. */
.wordmark img { width:215px; height:auto; }
.footer-wordmark { padding:0; border-radius:0; background:transparent; }
.footer-wordmark img { width:205px; }
.button,.industrial-hero .button,.final-contact .button,.primary-nav .contact-nav {
 display:inline-flex; align-items:center; justify-content:space-between;
 min-height:48px; padding:12px 20px; gap:24px; border-radius:2px;
 font:600 14px/1.45 var(--sans); text-decoration:none;
 transition:background-color .16s,color .16s,border-color .16s;
}
.button:hover { transform:none; }
.button span { margin:0; font:400 20px/1 var(--sans); flex:0 0 auto; }
.button.button-dark,.final-contact .button.button-dark { color:#fff; background:#0062bd; border-color:#0062bd; }
.button.button-dark:hover,.final-contact .button.button-dark:hover { background:#004c94; border-color:#004c94; }
.page-intro .button.button-dark { color:#112c43; background:#fff; border-color:#fff; }
.page-intro .button.button-dark:hover { background:#e7eff5; border-color:#e7eff5; }
.button.button-outline { color:#0055a6; background:transparent; border-color:#6b8fa9; }
.button.button-outline:hover { background:#d9e8f3; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #0062bd; outline-offset:4px; box-shadow:0 0 0 4px #fff; }
.primary-nav a[aria-current="true"] { color:var(--blue); border-bottom-color:var(--blue); }
.hero-visual { padding:36px 0; }
.industrial-hero .hero-photo img { aspect-ratio:6/5; height:auto; object-fit:cover; object-position:57% center; }
.industrial-hero .hero-photo figcaption { border:0; padding:11px 0 0; font-size:12px; line-height:1.5; }
.hero-photo figcaption a,.supply-infrastructure figcaption a { text-decoration:underline; text-underline-offset:3px; }
.final-contact > div:last-child { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:14px; }
.final-contact .button { margin:0; }
.final-contact p:last-child { margin:0; width:auto; font-size:14px; }
.final-contact p a { display:inline; margin:0; }
.category-grid .text-link { font-size:13px; }
.category-grid p { max-width:410px; }
.page-intro.supply-intro { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:center; }
.supply-intro-copy { min-width:0; }
.supply-intro-copy h1 { max-width:none; font-size:clamp(46px,4.7vw,68px); line-height:1.03; }
.supply-intro-copy .page-lead { max-width:520px; }
.supply-infrastructure { position:static; margin:0; padding:0; min-width:0; width:100%; background:none; }
.supply-infrastructure img { position:static; display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.supply-infrastructure figcaption { margin:12px 0 0; color:#d0dce6; font:12px/1.6 var(--sans); }
.detail-rows .detail-row:only-child { width:100%; }
.footer-links a { display:inline-flex; align-items:center; min-height:36px; }
.footer-bottom a { display:inline-flex; align-items:center; min-height:32px; }
.category-note { font-size:12px; }
@media(max-width:1050px) {
 .wordmark img { width:195px; }
 .primary-nav .contact-nav { padding:12px 15px; font-size:13px; }
}
@media(max-width:800px) {
 .page-intro.supply-intro { grid-template-columns:1fr; gap:30px; }
 .supply-infrastructure { max-width:680px; }
 .supply-intro-copy h1 { font-size:60px; }
 .supply-intro-copy .page-lead { max-width:640px; }
}
@media(max-width:650px) {
 .wordmark img { width:192px; }
 .footer-wordmark img { width:205px; }
 .industrial-hero .purpose-actions { display:grid; grid-template-columns:1fr; gap:10px; width:min(100%,300px); }
 .industrial-hero .purpose-actions .button { width:100%; max-width:none; min-height:48px; padding:12px 18px; gap:24px; font-size:14px; justify-content:space-between; }
 .hero-visual { padding:0; }
 .industrial-hero .hero-photo img { aspect-ratio:3/2; object-position:center; }
 .page-intro.supply-intro { gap:28px; }
 .supply-intro-copy h1 { font-size:48px; }
 .supply-infrastructure img { aspect-ratio:16/10; object-position:center; }
 .final-contact .button { width:min(100%,300px); }
 .category-grid .text-link { display:inline-flex; align-items:center; min-height:40px; }
 .related-hardware nav a { display:inline-flex; align-items:center; min-height:40px; }
 .footer-links { gap:2px 20px; }
 .footer-links a { min-height:40px; font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
/* Concrete content, purposeful color, and reusable inquiries. */
body { background:#fff; }
.industrial-hero h1 { font-size:clamp(54px,5.3vw,76px); line-height:1; letter-spacing:-.025em; }
.industrial-hero .hero-copy > p.hero-intro { max-width:475px; }
.industrial-hero .hero-copy { padding-right:35px; }
.equipment-overview,.home-sell,.purchase-review,.partnership-options,.company-details { padding:55px max(28px,calc((100vw - var(--measure))/2)); }
.equipment-overview { display:grid; grid-template-columns:.8fr 1.2fr; gap:8%; }
.section-heading h2,.home-sell h2,.purchase-review h2,.request-guide h2,.service-deliverables > h2,.partnership-options h2,.company-details h2 { font:600 42px/1.08 var(--display); letter-spacing:-.02em; margin-bottom:18px; }
.section-heading p:not(.eyebrow) { color:var(--body); max-width:370px; }
.equipment-directory > a { display:grid; grid-template-columns:25px 1fr 20px; gap:20px; padding:22px 0; border-top:1px solid var(--line); }
.equipment-directory > a:last-child { border-bottom:1px solid var(--line); }
.equipment-directory > a:hover h3 { color:var(--blue); text-decoration:underline; text-underline-offset:4px; }
.equipment-directory > a > span { color:var(--blue); font:12px/1.7 var(--mono); }
.equipment-directory h3 { font:600 22px/1.3 var(--sans); margin-bottom:6px; }
.equipment-directory p { font-size:14px; color:var(--body); margin:0; }
.equipment-directory b { color:var(--blue); font-size:22px; font-weight:400; }
.home-sell { display:grid; grid-template-columns:1fr 1fr; gap:8%; background:#eaf3fb; }
.home-sell p:not(.eyebrow) { color:var(--body); }
.home-asset-services { padding-left:35px; border-left:1px solid #b6ccdf; }
.simple-opening,.company-opening,.partner-opening { padding:48px max(28px,calc((100vw - var(--measure))/2)); }
.simple-opening { background:#eaf3fb; }
.simple-opening h1,.company-opening h1,.partner-opening h1 { font:600 clamp(48px,5vw,70px)/1.03 var(--display); letter-spacing:-.02em; margin-bottom:22px; max-width:900px; }
.simple-opening .page-lead { color:var(--body); max-width:720px; font-size:18px; }
.purchase-review { display:grid; grid-template-columns:.85fr 1.15fr; gap:8%; align-items:start; }
.purchase-review figure { margin:0; position:static; min-width:0; }
.purchase-review img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:40% center; }
.purchase-review figcaption { font-size:12px; color:var(--muted); margin-top:12px; }
.purchase-review figcaption a { text-decoration:underline; }
.plain-process { list-style:none; margin:23px 0 20px; padding:0; counter-reset:purchase; }
.plain-process li { position:relative; padding:19px 0 19px 40px; border-top:1px solid var(--line); counter-increment:purchase; }
.plain-process li::before { content:'0' counter(purchase); position:absolute; left:0; top:21px; font:12px var(--mono); color:var(--blue); }
.plain-process h3 { margin-bottom:8px; font:600 19px/1.35 var(--sans); }
.plain-process p { font-size:15px; margin:0; color:var(--body); }
.supply-list .detail-row { grid-template-columns:1fr 1.2fr; gap:8%; }
.supply-list .detail-row h2 { font:600 24px/1.3 var(--sans); margin:0; color:var(--blue); }
.supply-list .detail-row p { margin:0; }
.request-guide { background:#eaf3fb; display:grid; grid-template-columns:1fr 1.2fr; gap:8%; padding:38px max(28px,calc((100vw - var(--measure))/2)); align-items:start; }
.request-guide h2 { font-size:34px; margin-bottom:0; }
.request-guide > p { color:var(--body); margin:0; padding-top:6px; }
.page-intro .intro-action .text-link { color:#b8dcff; display:inline-flex; min-height:40px; align-items:center; }
.service-deliverables > h2 { margin-bottom:28px; }
.deliverable-rows article { display:grid; grid-template-columns:.75fr 1.2fr .7fr; gap:35px; padding:22px 0; border-top:1px solid var(--line); align-items:start; }
.deliverable-rows h3 { margin:0; font:600 21px/1.35 var(--sans); }
.deliverable-rows p { color:var(--body); margin:0; font-size:15px; }
.deliverable-rows span { color:var(--blue); font-size:14px; border-left:2px solid #aacdec; padding-left:15px; }
.partner-opening { display:grid; grid-template-columns:1.1fr 1fr; gap:8%; align-items:end; color:#fff; background:#0055a6; }
.partner-opening .eyebrow { color:#c4e2ff; }
.partner-opening > p { max-width:460px; margin-bottom:5px; font-size:18px; color:#edf6ff; }
.partnership-options { display:grid; grid-template-columns:1fr 1fr; gap:8%; }
.partnership-options article + article { border-left:1px solid var(--line); padding-left:35px; }
.partnership-options p:not(.eyebrow) { color:var(--body); }
.company-opening { background:#fff; border-bottom:1px solid var(--line); }
.company-opening h1 { color:#112c43; }
.company-opening > p:not(.eyebrow) { max-width:760px; font-size:19px; color:var(--body); }
.company-details { display:grid; grid-template-columns:1.2fr .8fr; gap:12%; }
.company-details > div > p:not(.eyebrow) { max-width:540px; color:var(--body); }
.company-details address { font-style:normal; padding-left:28px; border-left:3px solid var(--blue); }
.company-details address strong { font-size:20px; }
.company-details address a { color:var(--blue); }
.company-details address p { margin-top:12px; }
.company-affiliation { font-size:14px; color:var(--muted); }
.compact-inquiry { padding:48px max(28px,calc((100vw - var(--measure))/2)); background:#eaf3fb; display:grid; grid-template-columns:.8fr 1.2fr; gap:8%; align-items:start; border-top:1px solid #ccdfef; }
.compact-intro h2 { font:600 43px/1.07 var(--display); margin-bottom:20px; }
.compact-intro p:not(.eyebrow) { color:var(--body); }
.compact-intro .next-step { font-size:14px; margin:24px 0; }
.compact-panel { background:#fff; padding:27px 30px; border-top:3px solid var(--blue); min-width:0; }
.compact-panel .field { margin-bottom:18px; }
.compact-panel .field label { font-size:14px; }
.compact-panel textarea { min-height:110px; }
.compact-panel .form-note { margin-bottom:0; }
.compact-panel .form-grid { gap:18px; }
.compact-panel .field-help { font-size:12px; }
.compact-panel .inquiry-success { min-height:220px; }
.contact-reasons { padding-left:19px; margin:0 0 25px; color:var(--body); font-size:15px; }
.contact-reasons li { margin-bottom:12px; }
.inquiry-aside .inquiry-location { display:block; }
.inquiry-panel { background:#eaf3fb; }
.site-footer { background:#102d42; color:#fff; border:0; padding-top:37px; }
.footer-invitation { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-bottom:30px; margin-bottom:30px; border-bottom:1px solid #456176; }
.footer-invitation .eyebrow { color:#b4d8fa; margin-bottom:9px; }
.footer-invitation h2 { font:600 33px/1.15 var(--display); margin:0; }
.footer-invitation .button { flex:0 0 auto; }
.footer-wordmark { background:transparent; }
.footer-main > p,.footer-links a { color:#d6e4ee; }
.footer-main a:hover { color:#fff; text-decoration:underline; }
.footer-bottom { color:#b4cad9; border-color:#456176; }
.footer-bottom a { color:#b9ddff; }
.footer-wordmark img { background:transparent; }
/* Preserve the supplied blue/gray logo on a light field within the navy footer. */
.footer-main .footer-wordmark { align-self:start; }
@media(max-width:900px) {
 .industrial-hero h1 { font-size:57px; }
 .equipment-overview,.compact-inquiry { gap:5%; grid-template-columns:1fr 1.25fr; }
 .compact-panel { padding:22px; }
 .deliverable-rows article { gap:22px; grid-template-columns:.8fr 1.2fr; }
 .deliverable-rows span { grid-column:2; }
 .partner-opening { gap:5%; }
 .partner-opening h1 { font-size:54px; }
}
@media(max-width:650px) {
 .industrial-hero h1 { font-size:clamp(48px,13vw,70px); }
 .industrial-hero .hero-copy { padding-right:20px; }
 .equipment-overview,.home-sell,.purchase-review,.partnership-options,.company-details,.compact-inquiry { display:block; padding:34px 20px; }
 .section-heading h2,.home-sell h2,.purchase-review h2,.partnership-options h2,.company-details h2 { font-size:36px; }
 .section-heading { margin-bottom:26px; }
 .equipment-directory > a { gap:14px; padding:19px 0; }
 .equipment-directory h3 { font-size:19px; }
 .home-asset-services { border-left:0; padding:27px 0 0; margin-top:27px; border-top:1px solid #b6ccdf; }
 .simple-opening,.company-opening,.partner-opening { padding:33px 20px; }
 .simple-opening h1,.company-opening h1,.partner-opening h1 { font-size:46px; }
 .simple-opening .page-lead,.company-opening > p:not(.eyebrow) { font-size:16px; }
 .purchase-review figure { margin-bottom:30px; }
 .purchase-review img { aspect-ratio:3/2; object-position:center; }
 .request-guide { display:block; padding:30px 20px; }
 .request-guide h2 { font-size:32px; margin-bottom:19px; }
 .supply-list .detail-row { display:block; }
 .supply-list .detail-row h2 { margin-bottom:13px; font-size:22px; }
 .deliverable-rows article { display:block; padding:22px 0; }
 .deliverable-rows h3 { margin-bottom:10px; }
 .deliverable-rows span { display:block; margin-top:13px; }
 .partner-opening { display:block; }
 .partner-opening > p { font-size:16px; }
 .partnership-options article + article { border-left:0; padding:28px 0 0; margin-top:28px; border-top:1px solid var(--line); }
 .company-details address { margin-top:30px; padding-left:19px; }
 .compact-intro { margin-bottom:26px; }
 .compact-intro h2 { font-size:37px; }
 .compact-intro .next-step { margin:17px 0; }
 .compact-panel { padding:22px 18px; }
 .compact-panel .form-grid { display:block; }
 .compact-panel .submit-row .button { width:100%; }
 .footer-invitation { display:block; padding-bottom:27px; margin-bottom:27px; }
 .footer-invitation h2 { font-size:30px; margin-bottom:20px; }
 .footer-invitation .button { width:min(100%,300px); }
 .footer-main > p { color:#d6e4ee; }
}
/* Footer uses full-width color bands, never an opaque box around the logo. */
.site-footer { padding:0; }
.footer-invitation { padding:35px max(28px,calc((100vw - var(--measure))/2)); margin:0; border:0; }
.footer-main { padding:30px max(28px,calc((100vw - var(--measure))/2)); background:#edf3f7; }
.footer-main > p,.footer-links a { color:#344b5c; }
.footer-main a:hover { color:#0055a6; }
.footer-bottom { padding:14px max(28px,calc((100vw - var(--measure))/2)); }
@media(max-width:650px) { .footer-invitation { padding:30px 20px; } .footer-main { padding:28px 20px; } .footer-bottom { padding:14px 20px; } }
@media(max-width:650px) {
 .industrial-hero .hero-copy { width:100%; min-width:0; }
 .industrial-hero h1 span { white-space:normal; }
 .industrial-hero h1 { overflow-wrap:normal; }
}
