:root {
  --navy: #0F263A;
  --navy-800: #17334B;
  --blue: #09509F;
  --blue-dark: #063B76;
  --amber: #FAB90A;
  --white: #FFFFFF;
  --grey-50: #F6F7F8;
  --grey-100: #E7EAED;
  --grey-300: #C7CDD3;
  --grey-700: #4B4F58;
  --ink: #101218;
  --success: #216C4B;
  --danger: #A93226;
  --max: 1240px;
  --shadow: 0 16px 44px rgba(15, 38, 58, .12);
  --mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  --display: Montserrat, Arial, sans-serif;
  --body: Lato, Arial, sans-serif;
  --ui: "Open Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--grey-700); background: var(--white); font-family: var(--body); font-size: 17px; line-height: 1.6; }
body.menu-open { overflow: hidden; }
img { display: block; width: 100%; height: auto; }
a { color: var(--blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--blue-dark); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }

.shell { width: min(calc(100% - 48px), var(--max)); margin: 0 auto; }
.narrow { width: min(calc(100% - 48px), 820px); margin: 0 auto; }
.eyebrow { margin: 0 0 14px; font: 600 12px/1.2 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--blue); }
.eyebrow.amber { color: var(--amber); }
.mono { font-family: var(--mono); font-size: .88em; letter-spacing: .015em; }
.muted { color: var(--grey-700); }
.small { font-size: .87rem; }
.text-white { color: var(--white); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; top: -80px; left: 16px; padding: 10px 14px; color: var(--white); background: var(--navy); font: 700 13px/1 var(--ui); text-decoration: none; transition: top .16s ease; }
.skip-link:focus { top: 16px; color: var(--white); }

h1, h2, h3, h4 { margin: 0; color: var(--ink); font-family: var(--display); font-weight: 700; line-height: 1.18; letter-spacing: -.025em; }
h1 { font-size: clamp(2.25rem, 5vw, 4.2rem); }
h2 { font-size: clamp(1.75rem, 3.2vw, 2.8rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
h4 { font-size: 1rem; letter-spacing: 0; }
p { margin: 0 0 1.1rem; }
ul, ol { margin: 0 0 1.2rem; padding-left: 1.25rem; }
blockquote { border-left: 3px solid var(--amber); margin: 28px 0; padding: 8px 0 8px 22px; color: var(--ink); font-family: var(--display); font-size: 1.1rem; }

.topbar { background: var(--navy); color: rgba(255,255,255,.75); font: 600 12px/1.1 var(--ui); }
.topbar .shell { display: flex; align-items: center; justify-content: flex-end; min-height: 34px; gap: 18px; }
.topbar a { color: var(--white); text-decoration: none; }
.site-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid rgba(15,38,58,.12); background: rgba(255,255,255,.97); backdrop-filter: blur(12px); }
.site-header .shell { min-height: 84px; display: flex; align-items: center; gap: 30px; }
.brand { flex: 0 0 auto; width: 165px; }
.brand img { width: 100%; height: auto; }
.primary-nav { display: flex; align-items: center; margin-left: auto; gap: 22px; }
.nav-item { position: relative; }
.nav-link { padding: 30px 0; border: 0; background: transparent; color: var(--navy); font: 600 14px/1 var(--ui); text-decoration: none; white-space: nowrap; }
.nav-link:hover, .nav-link[aria-expanded="true"] { color: var(--blue); }
.megamenu { position: absolute; top: calc(100% - 6px); left: -24px; width: 490px; padding: 22px; visibility: hidden; opacity: 0; transform: translateY(-8px); border: 1px solid var(--grey-100); background: var(--white); box-shadow: var(--shadow); transition: .18s ease; }
.nav-item:hover .megamenu, .nav-item:focus-within .megamenu, .nav-item.open .megamenu { visibility: visible; opacity: 1; transform: translateY(0); }
.megamenu-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 16px; }
.megamenu a { display: block; padding: 9px; color: var(--ink); font: 600 13px/1.25 var(--ui); text-decoration: none; }
.megamenu a:hover { background: var(--grey-50); color: var(--blue); }
.header-actions { display: flex; align-items: center; gap: 14px; }
.search-trigger { display: grid; width: 38px; height: 38px; place-items: center; border: 0; color: var(--navy); background: transparent; }
.mobile-toggle { display: none; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 11px 18px; border: 1px solid transparent; border-radius: 2px; font: 700 14px/1.1 var(--ui); letter-spacing: .01em; text-align: center; text-decoration: none; transition: transform .15s ease, background .15s ease, border-color .15s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: var(--navy); background: var(--amber); border-color: var(--amber); }
.btn-primary:hover { color: var(--navy); background: #ffd052; border-color: #ffd052; }
.btn-outline { color: var(--white); border-color: rgba(255,255,255,.7); background: transparent; }
.btn-outline:hover { color: var(--white); border-color: var(--white); background: rgba(255,255,255,.12); }
.btn-secondary { color: var(--blue); border-color: var(--blue); background: transparent; }
.btn-secondary:hover { color: var(--white); background: var(--blue); }
.btn-dark { color: var(--white); background: var(--navy); }
.btn-dark:hover { color: var(--white); background: var(--navy-800); }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

.hero { position: relative; overflow: hidden; min-height: 600px; color: var(--white); background: var(--navy); }
.hero .shell { position: relative; z-index: 2; display: grid; min-height: 600px; align-items: end; padding-top: 92px; padding-bottom: 86px; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(15,38,58,.98) 0%, rgba(15,38,58,.84) 44%, rgba(15,38,58,.34) 100%); z-index: 1; }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 50%; opacity: .78; }
.hero-content { width: min(700px, 100%); }
.hero h1 { max-width: 650px; color: var(--white); }
.hero .lead { max-width: 650px; margin: 21px 0 0; color: rgba(255,255,255,.88); font-size: clamp(1.1rem, 2vw, 1.3rem); }
.hero .approval { display: inline-block; margin-top: 18px; padding: 6px 9px; color: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.28); font: 600 11px/1.2 var(--ui); letter-spacing: .06em; text-transform: uppercase; }
.hero .button-row { margin-top: 30px; }
.hero-data { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 45px; color: rgba(255,255,255,.75); font: 500 12px/1.3 var(--mono); text-transform: uppercase; }

.part-search-band { position: relative; z-index: 3; margin-top: -33px; }
.part-search { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; padding: 18px; background: var(--white); box-shadow: var(--shadow); }
.part-search label { grid-column: 1 / -1; color: var(--navy); font: 700 13px/1.2 var(--display); letter-spacing: .08em; text-transform: uppercase; }
.input, select, textarea { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid var(--grey-300); border-radius: 2px; color: var(--ink); background: var(--white); }
.input::placeholder { color: #707780; }
textarea { min-height: 126px; resize: vertical; }

.section { padding: 92px 0; }
.section-tight { padding: 55px 0; }
.section-grey { background: var(--grey-50); }
.section-navy { background: var(--navy); color: rgba(255,255,255,.78); }
.section-navy h2, .section-navy h3 { color: var(--white); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 42px; }
.section-head > p { max-width: 520px; margin: 0; }
.heading-rule { display: flex; align-items: center; gap: 14px; }
.heading-rule::before { content: ""; width: 4px; height: 42px; background: var(--amber); }
.heading-rule .eyebrow { margin-bottom: 6px; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.card { position: relative; display: flex; flex-direction: column; min-height: 100%; border: 1px solid var(--grey-100); background: var(--white); }
.card-content { padding: 25px; }
.card p { margin: 10px 0 0; }
.card-link { display: inline-flex; gap: 9px; align-items: center; margin-top: auto; padding: 0 25px 25px; color: var(--blue); font: 700 13px/1.2 var(--ui); text-decoration: none; }
.card-link::after { content: "→"; font-size: 1.1rem; }
.service-card { min-height: 250px; padding: 28px; border-top: 3px solid var(--blue); background: var(--white); }
.service-card .icon { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 36px; color: var(--blue); border: 1px solid var(--blue); font: 500 19px var(--mono); }
.service-card p { margin: 12px 0 22px; }
.service-card a { margin-top: auto; font: 700 13px var(--ui); }

.product-card { overflow: hidden; background: var(--white); }
.product-card .product-image { display: grid; height: 235px; place-items: center; padding: 22px; background: var(--grey-50); }
.product-card .product-image img { max-width: 78%; max-height: 190px; width: auto; object-fit: contain; }
.product-card .eyebrow { margin-bottom: 8px; }
.brand-strip { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(255,255,255,.25); border-left: 1px solid rgba(255,255,255,.25); }
.brand-name { display: grid; min-height: 112px; place-items: center; padding: 16px; border-right: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); color: var(--white); font: 700 20px/1 var(--display); letter-spacing: -.04em; text-align: center; }
.brand-name small { display: block; margin-top: 5px; color: rgba(255,255,255,.55); font: 600 10px/1.1 var(--ui); letter-spacing: .08em; text-transform: uppercase; }

.statement { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); gap: 42px; align-items: center; padding: 54px; background: var(--navy); color: rgba(255,255,255,.78); }
.statement h2 { color: var(--white); }
.statement .statement-data { border-left: 1px solid rgba(255,255,255,.35); padding-left: 34px; }
.stat-large { display: block; color: var(--amber); font: 700 clamp(2.7rem, 6vw, 4.6rem)/.9 var(--display); letter-spacing: -.06em; }
.stat-label { display: block; margin-top: 9px; color: rgba(255,255,255,.72); font: 600 12px/1.3 var(--ui); letter-spacing: .1em; text-transform: uppercase; }

.industry-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--white); }
.industry-tile { position: relative; display: grid; min-height: 220px; align-items: end; overflow: hidden; color: var(--white); background: var(--navy); text-decoration: none; }
.industry-tile img { position: absolute; inset: 0; height: 100%; object-fit: cover; opacity: .52; transition: transform .35s ease; }
.industry-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 32%, rgba(15,38,58,.94)); }
.industry-tile span { position: relative; z-index: 1; padding: 22px; color: var(--white); font: 700 22px/1.1 var(--display); }
.industry-tile:hover img { transform: scale(1.04); }

.edge-layout { display: grid; grid-template-columns: .95fr 1.05fr; gap: 62px; align-items: center; }
.edge-media { position: relative; min-height: 390px; background: var(--navy); }
.edge-media img { height: 390px; object-fit: cover; }
.edge-media .data-tag { position: absolute; right: -22px; bottom: 27px; padding: 16px; color: var(--navy); background: var(--amber); font: 500 12px/1.3 var(--mono); text-transform: uppercase; }

.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.article-card { display: flex; flex-direction: column; border-top: 2px solid var(--blue); padding-top: 20px; }
.article-card-with-image { overflow: hidden; border: 1px solid var(--grey-100); border-top: 3px solid var(--blue); padding-top: 0; background: var(--white); }
.article-card-media { display: block; aspect-ratio: 1.52 / 1; overflow: hidden; background: var(--grey-50); }
.article-card-media img { height: 100%; object-fit: cover; transition: transform .35s ease; }
.article-card-media:hover img { transform: scale(1.035); }
.article-card-body { display: flex; flex: 1; flex-direction: column; padding: 22px 22px 24px; }
.article-card .date { color: var(--blue); font: 500 12px/1.2 var(--mono); }
.article-card h3 { margin-top: 12px; }
.article-card p { margin-top: 12px; font-size: .95rem; }
.article-card .article-card-body > a { margin-top: auto; padding-top: 16px; }
.article-card a { font: 700 13px var(--ui); }

.page-hero { padding: 82px 0 70px; background: var(--navy); color: rgba(255,255,255,.78); }
.page-hero h1 { max-width: 800px; color: var(--white); }
.page-hero p { max-width: 720px; margin-top: 18px; font-size: 1.1rem; }
.breadcrumbs { margin-bottom: 22px; color: rgba(255,255,255,.68); font: 500 12px/1.2 var(--mono); }
.breadcrumbs a { color: var(--white); }

.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 65px; align-items: start; }
.rich-content h2 { margin: 38px 0 16px; }
.rich-content h3 { margin: 28px 0 12px; }
.rich-content h4 { margin: 24px 0 10px; color: var(--blue); font-family: var(--ui); text-transform: uppercase; letter-spacing: .05em; }
.rich-content p, .rich-content li { max-width: 760px; }
.rich-content a { word-break: break-word; }
.sidebar-card { padding: 26px; border: 1px solid var(--grey-100); background: var(--grey-50); }
.sidebar-card + .sidebar-card { margin-top: 18px; }
.sidebar-card h3 { font-size: 1.18rem; }
.sidebar-card p { margin-top: 12px; font-size: .95rem; }
.sidebar-image { margin: 0 0 24px; background: var(--grey-50); }
.sidebar-image img { max-height: 250px; object-fit: contain; }

.process { counter-reset: process; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; border-top: 1px solid var(--grey-300); }
.process-step { position: relative; padding: 24px 18px 0 0; counter-increment: process; }
.process-step::before { content: "0" counter(process); display: grid; width: 34px; height: 34px; place-items: center; margin-top: -42px; color: var(--navy); background: var(--amber); font: 500 12px var(--mono); }
.process-step h3 { margin-top: 22px; font-size: 1.05rem; }
.process-step p { margin-top: 8px; font-size: .9rem; }

.data-table-wrap { overflow-x: auto; border: 1px solid var(--grey-100); }
.data-table { width: 100%; border-collapse: collapse; background: var(--white); }
.data-table th { padding: 13px 15px; color: var(--navy); background: var(--grey-50); font: 700 11px/1.2 var(--ui); letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.data-table td { padding: 14px 15px; border-top: 1px solid var(--grey-100); vertical-align: top; }
.data-table tr:hover td { background: #FBFCFD; }
.status { display: inline-flex; align-items: center; min-height: 22px; padding: 4px 8px; border-radius: 99px; font: 700 10px/1 var(--ui); letter-spacing: .06em; text-transform: uppercase; }
.status-active { color: #145A3C; background: #DCEFE5; }
.status-phase-out { color: #825B07; background: #FFF1C9; }
.status-discontinued { color: #7C2B2B; background: #F9DDDD; }
.spec-table td:first-child { width: 38%; color: var(--navy); font: 500 12px/1.3 var(--mono); }
.part-hero { padding: 72px 0; background: var(--grey-50); }
.part-hero-grid { display: grid; grid-template-columns: 1fr .7fr; gap: 64px; align-items: center; }
.part-number { margin: 14px 0; color: var(--blue); font: 500 clamp(1.35rem, 3vw, 2.15rem)/1 var(--mono); letter-spacing: -.04em; overflow-wrap: anywhere; }
.part-image { display: grid; min-height: 290px; place-items: center; padding: 35px; background: var(--white); }
.part-image img { max-width: 80%; max-height: 250px; width: auto; object-fit: contain; }
.key-specs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 28px; background: var(--grey-100); }
.key-spec { padding: 14px; background: var(--white); }
.key-spec span { display: block; color: var(--blue); font: 500 10px/1.2 var(--mono); text-transform: uppercase; }
.key-spec strong { display: block; margin-top: 6px; color: var(--ink); font-size: .87rem; line-height: 1.3; }
.upgrade-panel { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; margin: 35px 0; padding: 30px; border-left: 4px solid var(--amber); color: var(--white); background: var(--navy); }
.upgrade-panel h2 { color: var(--white); font-size: 1.35rem; }
.upgrade-panel p { margin: 10px 0 0; }

.filters { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.filters .input { max-width: 370px; }
.brand-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.brand-card { display: flex; flex-direction: column; min-height: 190px; padding: 23px; border: 1px solid var(--grey-100); color: var(--ink); text-decoration: none; }
.brand-card:hover { border-color: var(--blue); box-shadow: 0 8px 25px rgba(15,38,58,.08); color: var(--ink); }
.brand-card .brand-mark { color: var(--blue); font: 700 21px/1 var(--display); letter-spacing: -.05em; }
.brand-card p { margin-top: 16px; font-size: .9rem; }
.brand-card small { margin-top: auto; color: var(--blue); font: 700 11px var(--ui); text-transform: uppercase; letter-spacing: .06em; }

.directory-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.62fr); gap: 46px; align-items: end; max-width: 1000px; margin-bottom: 56px; }
.directory-intro h2 { max-width: 620px; font-size: clamp(2.05rem,3.6vw,3.55rem); line-height: 1.06; }
.directory-intro > p:last-child { max-width: 390px; margin: 0; color: var(--grey-700); }
.product-directory { margin-top: 44px; }
.product-discovery-list { border-top: 1px solid var(--grey-300); }
.product-discovery-row { display: grid; grid-template-columns: 128px minmax(0,1fr) 28px; gap: 28px; align-items: center; min-height: 190px; padding: 24px 0; border-bottom: 1px solid var(--grey-300); }
.product-discovery-image { display: grid; min-height: 124px; place-items: center; padding: 17px; background: var(--grey-50); }
.product-discovery-image img { max-width: 100%; max-height: 95px; width: auto; object-fit: contain; }
.product-discovery-row .eyebrow { margin-bottom: 8px; }
.product-discovery-row h2 { font-size: clamp(1.45rem,2.25vw,2rem); }
.product-discovery-row h2 a { color: var(--navy); text-decoration: none; }
.product-discovery-row h2 a:hover { color: var(--blue); }
.product-discovery-row h2 + p { margin: 8px 0 13px; color: var(--grey-700); font-size: .94rem; }
.brand-chip-row, .product-chip-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.brand-chip-row > span:first-child, .directory-label { color: var(--grey-700); font: 700 10px/1.2 var(--ui); letter-spacing: .08em; text-transform: uppercase; }
.brand-chip, .product-chip { display: inline-flex; align-items: center; min-height: 27px; padding: 5px 9px; color: var(--blue); border: 1px solid rgba(9,80,159,.22); background: var(--white); font: 700 10px/1.1 var(--ui); letter-spacing: .025em; text-decoration: none; }
.brand-chip:hover, .product-chip:hover { color: var(--navy); border-color: var(--blue); background: #EFF6FE; }
.row-arrow { color: var(--blue); font-size: 1.35rem; text-align: right; text-decoration: none; }
.product-brand-panel { margin: 0 0 34px; padding: 28px 30px; border-top: 3px solid var(--blue); background: var(--grey-50); }
.product-brand-panel h2 { max-width: 570px; font-size: 1.62rem; }
.product-brand-panel h2 + p { max-width: 650px; margin: 11px 0 19px; }

.service-directory { margin-top: 8px; }
.service-discovery-list { border-top: 1px solid var(--grey-300); }
.service-discovery-row { display: grid; grid-template-columns: 66px minmax(0,1fr) 25px; gap: 18px; align-items: center; min-height: 112px; padding: 19px 0; border-bottom: 1px solid var(--grey-300); color: var(--ink); text-decoration: none; }
.service-discovery-row:hover { color: var(--blue); }
.service-index { color: var(--blue); font: 500 13px/1 var(--mono); }
.service-discovery-row strong { display: block; color: currentColor; font: 700 1.3rem/1.15 var(--display); letter-spacing: -.035em; }
.service-discovery-row em { display: block; max-width: 650px; margin-top: 6px; color: var(--grey-700); font: 400 .9rem/1.45 var(--body); font-style: normal; }
.service-discovery-row > :last-child { color: var(--blue); font-size: 1.25rem; text-align: right; }
.industry-connection { display: grid; grid-template-columns: minmax(0,1fr) minmax(290px,.8fr); gap: 56px; align-items: end; margin-top: 56px; padding: 35px 0 0; border-top: 2px solid var(--navy); }
.industry-connection h2 { max-width: 610px; font-size: clamp(1.75rem,3vw,2.65rem); line-height: 1.08; }
.industry-connection-links { display: grid; gap: 8px; }
.industry-connection-links a { display: flex; justify-content: space-between; padding: 13px 0; border-bottom: 1px solid var(--grey-300); color: var(--blue); font: 700 12px/1.2 var(--ui); text-decoration: none; }
.industry-connection-links span { color: var(--navy); font-size: 1rem; }

.brand-directory-section { padding-top: 95px; }
.brand-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--grey-300); border-left: 1px solid var(--grey-300); }
.brand-directory-card { display: flex; min-height: 252px; flex-direction: column; padding: 24px; border-right: 1px solid var(--grey-300); border-bottom: 1px solid var(--grey-300); background: var(--white); }
.brand-directory-name { color: var(--blue); font: 700 1.45rem/1.05 var(--display); letter-spacing: -.05em; text-decoration: none; }
.brand-directory-name:hover { color: var(--navy); }
.brand-directory-card > p { min-height: 48px; margin: 14px 0 17px; color: var(--grey-700); font-size: .88rem; }
.brand-directory-card .product-chip-row { margin-top: 9px; }
.brand-directory-link { margin-top: auto; padding-top: 18px; color: var(--blue); font: 700 11px/1.2 var(--ui); letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.brand-directory-link span { margin-left: 6px; font-size: 1rem; }
.product-paths { margin-top: 68px; padding-top: 26px; border-top: 2px solid var(--navy); }
.product-paths > div { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin-top: 18px; border-top: 1px solid var(--grey-300); border-left: 1px solid var(--grey-300); }
.product-path-link { display: grid; grid-template-columns: minmax(0,1fr) 20px; gap: 10px; min-height: 126px; padding: 21px 18px; border-right: 1px solid var(--grey-300); border-bottom: 1px solid var(--grey-300); color: var(--ink); text-decoration: none; }
.product-path-link span { font: 700 1.1rem/1.15 var(--display); letter-spacing: -.035em; }
.product-path-link small { grid-column: 1; color: var(--grey-700); font-size: .78rem; line-height: 1.4; }
.product-path-link b { color: var(--blue); font-size: 1.1rem; font-weight: 400; text-align: right; }
.brand-context { margin-bottom: 34px; padding: 30px; border-top: 3px solid var(--blue); background: var(--grey-50); }
.brand-context h2 { max-width: 670px; font-size: clamp(1.5rem,2.4vw,2.05rem); }
.brand-context-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 25px; }
.brand-context-grid .directory-label { display: block; margin-bottom: 10px; }
.brand-part-list { display: flex; flex-wrap: wrap; gap: 8px; }
.brand-part-link { display: inline-flex; gap: 7px; align-items: center; min-height: 27px; padding: 5px 8px; color: var(--navy); border: 1px solid var(--grey-300); background: var(--white); font-size: 10px; text-decoration: none; }
.brand-part-link span { color: var(--blue); font: 700 9px/1.1 var(--ui); letter-spacing: .04em; text-transform: uppercase; }

.form-shell { padding: 30px; border: 1px solid var(--grey-100); background: var(--grey-50); }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.field { display: grid; gap: 6px; }
.field-full { grid-column: 1 / -1; }
.field label { color: var(--navy); font: 700 12px/1.2 var(--ui); letter-spacing: .04em; }
.field .required { color: var(--danger); }
.check { display: flex; align-items: flex-start; gap: 10px; grid-column: 1 / -1; font-size: .9rem; }
.check input { width: 19px; height: 19px; margin-top: 4px; accent-color: var(--blue); }
.form-help { margin-top: 14px; padding: 12px 14px; border-left: 3px solid var(--amber); background: #FFF9E8; color: var(--ink); font-size: .87rem; }
.form-status { display: none; margin: 16px 0 0; padding: 13px; border-left: 3px solid var(--blue); background: #EAF2FB; color: var(--ink); font-size: .9rem; }
.form-status.show { display: block; }
.form-status.error { border-color: var(--danger); background: #FCEEEE; }
.form-status.success { border-color: var(--success); background: #E7F4EC; }
.form-config { margin-top: 14px; color: #6E5207; font-size: .8rem; }
.hubspot-embed-shell { padding: 30px; border: 1px solid var(--grey-100); background: var(--grey-50); }
.hubspot-embed { min-height: 180px; }
.hubspot-embed-loading { margin: 0; color: var(--grey-700); font: 600 12px/1.4 var(--ui); letter-spacing: .04em; text-transform: uppercase; }
.hubspot-embed-status { margin: 14px 0 0; color: var(--danger); font-size: .9rem; }
.hubspot-embed .hs-form { display: grid; gap: 16px; }
.hubspot-embed .hs-form-field { display: grid; gap: 6px; }
.hubspot-embed .hs-form-field > label, .hubspot-embed .hs-form .hs-form-booleancheckbox-display { color: var(--navy); font: 700 12px/1.35 var(--ui); letter-spacing: .04em; }
.hubspot-embed .hs-input { width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid var(--grey-300); border-radius: 0; color: var(--ink); background: var(--white); font: 400 16px/1.4 var(--body); }
.hubspot-embed textarea.hs-input { min-height: 130px; resize: vertical; }
.hubspot-embed .hs-button { min-height: 46px; padding: 12px 19px; border: 0; border-radius: 0; color: var(--navy); background: var(--amber); font: 700 13px/1.1 var(--ui); cursor: pointer; }
.hubspot-embed .hs-button:hover { background: #E8A806; }
.hubspot-embed .hs-error-msgs { margin: 5px 0 0; color: var(--danger); font-size: .82rem; }
.hubspot-embed .legal-consent-container { color: var(--grey-700); font-size: .84rem; line-height: 1.5; }

.notice { padding: 21px 24px; border-left: 4px solid var(--amber); background: #FFF8E7; color: var(--ink); }
.notice strong { color: var(--navy); }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; }
.contact-details { padding: 32px; color: var(--white); background: var(--navy); }
.contact-details h2 { color: var(--white); }
.contact-details a { color: var(--white); }
.contact-details dl { margin: 28px 0 0; }
.contact-details dt { margin-top: 18px; color: var(--amber); font: 600 11px var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.contact-details dd { margin: 4px 0 0; }

.article-meta { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 18px 0 32px; color: var(--blue); font: 500 12px var(--mono); }
.article-feature { max-height: 420px; margin: 0 0 35px; object-fit: cover; }

.site-footer { padding: 70px 0 36px; color: rgba(255,255,255,.75); background: var(--navy); }
.footer-grid { display: grid; grid-template-columns: 1.35fr .8fr .8fr 1.15fr; gap: 32px; }
.footer-logo { width: 185px; filter: brightness(0) invert(1); }
.footer-intro { margin: 22px 0; max-width: 330px; }
.site-footer h3 { margin-bottom: 15px; color: var(--white); font-size: .95rem; letter-spacing: 0; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li { margin: 0 0 8px; }
.site-footer a { color: rgba(255,255,255,.75); text-decoration: none; }
.site-footer a:hover { color: var(--white); text-decoration: underline; }
.footer-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.footer-form .input { min-height: 42px; border-color: rgba(255,255,255,.4); color: var(--white); background: transparent; }
.footer-form .input::placeholder { color: rgba(255,255,255,.62); }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 55px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); font-size: .78rem; }

.cookie-banner { position: fixed; z-index: 50; right: 20px; bottom: 20px; width: min(440px, calc(100% - 40px)); padding: 24px; border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.82); background: var(--navy); box-shadow: var(--shadow); }
.cookie-banner[hidden] { display: none; }
.cookie-banner h2 { color: var(--white); font-size: 1.25rem; }
.cookie-banner p { margin-top: 10px; font-size: .88rem; }
.cookie-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.cookie-banner .btn { min-height: 40px; padding: 8px 13px; }

.mobile-cta { display: none; }
.empty-state { padding: 45px; border: 1px dashed var(--grey-300); background: var(--grey-50); text-align: center; }
.callout-image { margin: 25px 0; background: var(--grey-50); }
.callout-image img { max-height: 440px; object-fit: cover; }

@media (max-width: 980px) {
  .site-header .shell { min-height: 70px; gap: 16px; }
  .brand { width: 144px; }
  .primary-nav { position: fixed; top: 104px; right: 0; left: 0; display: none; align-items: stretch; max-height: calc(100vh - 104px); padding: 20px 24px 32px; overflow-y: auto; background: var(--white); box-shadow: 0 18px 35px rgba(15,38,58,.15); }
  .primary-nav.open { display: block; }
  .nav-item { border-bottom: 1px solid var(--grey-100); }
  .nav-link { display: flex; width: 100%; justify-content: space-between; padding: 18px 0; }
  .megamenu { position: static; display: none; width: auto; padding: 0 0 16px; visibility: visible; opacity: 1; transform: none; border: 0; box-shadow: none; }
  .nav-item.open .megamenu { display: block; }
  .megamenu-grid { grid-template-columns: 1fr; }
  .megamenu a { padding-left: 0; }
  .header-actions .btn { display: none; }
  .mobile-toggle { display: grid; width: 42px; height: 42px; place-items: center; margin-left: auto; border: 0; color: var(--navy); background: transparent; font-size: 22px; }
  .topbar .shell { justify-content: center; }
  .hero, .hero .shell { min-height: 560px; }
  .card-grid, .news-grid { grid-template-columns: repeat(2, 1fr); }
  .brand-strip { grid-template-columns: repeat(3, 1fr); }
  .industry-grid { grid-template-columns: repeat(2, 1fr); }
  .content-layout, .edge-layout, .contact-grid { grid-template-columns: 1fr; gap: 35px; }
  .sidebar { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .sidebar-card + .sidebar-card { margin-top: 0; }
  .process { grid-template-columns: repeat(3, 1fr); gap: 28px 12px; }
  .process-step::before { margin-top: -42px; }
  .part-hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-grid > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
	  body { padding-bottom: 52px; font-size: 16px; }
  .shell, .narrow { width: min(calc(100% - 32px), var(--max)); }
  .topbar { display: none; }
  .primary-nav { top: 70px; max-height: calc(100vh - 70px); }
  .header-actions { display: none; }
  .hero, .hero .shell { min-height: 635px; }
  .hero .shell { padding-top: 72px; padding-bottom: 52px; }
  .hero::before { background: linear-gradient(180deg, rgba(15,38,58,.92), rgba(15,38,58,.88)); }
  .hero-data { margin-top: 30px; }
  .part-search-band { margin-top: -25px; }
  .part-search { grid-template-columns: 1fr; }
  .section { padding: 64px 0; }
  .section-head { display: block; margin-bottom: 30px; }
  .section-head > p { margin-top: 16px; }
  .card-grid, .news-grid, .brand-grid { grid-template-columns: 1fr; }
  .brand-strip { grid-template-columns: repeat(2, 1fr); }
  .brand-name { min-height: 90px; font-size: 16px; }
  .statement { grid-template-columns: 1fr; gap: 28px; padding: 32px 24px; }
  .statement .statement-data { border-top: 1px solid rgba(255,255,255,.35); border-left: 0; padding-top: 26px; padding-left: 0; }
  .industry-grid { grid-template-columns: 1fr; }
  .edge-media { min-height: 290px; }
  .edge-media img { height: 290px; }
  .edge-media .data-tag { right: 0; bottom: 0; }
  .page-hero { padding: 58px 0 52px; }
  .breadcrumbs { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .sidebar { grid-template-columns: 1fr; }
  .process { grid-template-columns: 1fr; gap: 34px; margin-top: 34px; }
  .process-step { padding: 0 0 0 54px; }
  .process-step::before { position: absolute; top: 0; left: 0; margin: 0; }
  .part-hero { padding: 50px 0; }
  .key-specs { grid-template-columns: 1fr; }
  .upgrade-panel { grid-template-columns: 1fr; gap: 18px; }
  .form-shell, .hubspot-embed-shell { padding: 22px 16px; }
  .form-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > :first-child, .footer-grid > :last-child { grid-column: 1 / -1; }
  .mobile-cta { position: fixed; z-index: 15; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.2); background: var(--navy); }
  .mobile-cta a { padding: 12px 5px; color: var(--white); font: 700 10px/1.2 var(--ui); text-align: center; text-decoration: none; text-transform: uppercase; letter-spacing: .04em; }
  .mobile-cta a:last-child { color: var(--navy); background: var(--amber); }
  .cookie-banner { bottom: 56px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Premium homepage refresh: restrained editorial hierarchy and unaltered partner marks. */
.hero-premium { overflow: hidden; color: var(--white); background: var(--navy); }
.hero-premium .shell { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); min-height: 630px; }
.hero-premium-copy { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 94px 68px 94px 0; }
.hero-premium-copy::before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 1px; background: rgba(255,255,255,.18); }
.hero-premium h1 { max-width: 620px; color: var(--white); }
.hero-premium .lead { max-width: 590px; margin: 23px 0 0; color: rgba(255,255,255,.8); font-size: clamp(1.08rem, 1.85vw, 1.25rem); }
.approval { display: inline-block; margin-top: 18px; color: rgba(255,255,255,.6); font: 600 10px/1.2 var(--ui); letter-spacing: .11em; text-transform: uppercase; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 14px; margin-top: 32px; }
.hero-actions > .btn { min-width: 154px; }
.expert-cta { display: grid; min-width: 265px; padding: 13px 18px 14px; color: var(--white); border: 1px solid rgba(255,255,255,.38); text-decoration: none; transition: background .18s ease, border-color .18s ease; }
.expert-cta:hover { color: var(--white); border-color: var(--amber); background: rgba(255,255,255,.075); }
.expert-cta > span { color: var(--amber); font: 600 10px/1.2 var(--ui); letter-spacing: .12em; text-transform: uppercase; }
.expert-cta strong { display: flex; align-items: center; justify-content: space-between; gap: 26px; margin-top: 4px; font: 700 17px/1.25 var(--display); letter-spacing: -.02em; }
.expert-cta strong b { color: var(--amber); font-size: 1.2rem; font-weight: 400; }
.expert-cta em { margin-top: 5px; color: rgba(255,255,255,.64); font: 400 12px/1.3 var(--body); font-style: normal; }
.hero-premium .hero-data { margin-top: 42px; }
.hero-premium-visual { position: relative; display: grid; align-items: center; justify-items: center; min-height: 100%; overflow: hidden; background: var(--grey-50); }
.hero-premium-visual::before { content: ""; position: absolute; inset: 0; background: linear-gradient(130deg, rgba(9,80,159,.1), transparent 48%); }
.hero-product-frame { position: relative; display: grid; width: min(78%, 420px); min-height: 400px; place-items: center; padding: 44px; border: 1px solid rgba(15,38,58,.13); background: rgba(255,255,255,.76); box-shadow: 30px 30px 0 var(--amber); }
.hero-product-image { max-width: 82%; max-height: 310px; width: auto; object-fit: contain; }
.hero-visual-note { position: absolute; right: 34px; bottom: 34px; max-width: 265px; padding: 17px 19px; color: var(--navy); border-top: 2px solid var(--blue); background: var(--white); box-shadow: 0 12px 25px rgba(15,38,58,.1); }
.hero-visual-note span { color: var(--blue); font-size: 10px; text-transform: uppercase; }
.hero-visual-note p { margin: 6px 0 0; font: 700 15px/1.35 var(--display); letter-spacing: -.02em; }
.text-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; color: var(--blue); font: 700 13px/1.2 var(--ui); text-decoration: none; }
.text-link span { font-size: 1.1rem; }

.partner-section { padding: 108px 0; background: var(--white); }
.partner-layout { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 72px; align-items: center; }
.partner-intro { max-width: 410px; }
.partner-intro h2 { font-size: clamp(1.8rem, 3vw, 2.65rem); }
.partner-intro p:not(.eyebrow) { margin-top: 18px; }
.partner-marks { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--grey-100); border-left: 1px solid var(--grey-100); }
.partner-mark { display: grid; min-height: 108px; place-items: center; padding: 19px; border-right: 1px solid var(--grey-100); border-bottom: 1px solid var(--grey-100); background: var(--white); text-decoration: none; transition: background .16s ease; }
.partner-mark:hover { background: var(--grey-50); }
.partner-mark-image { display: grid; width: 100%; height: 54px; place-items: center; }
.partner-logo { display: block; max-width: 100%; max-height: 46px; width: auto; height: auto; object-fit: contain; }

@media (max-width: 980px) {
  .hero-premium .shell { grid-template-columns: 1fr; }
  .hero-premium-copy { min-height: 590px; padding: 80px 0; }
  .hero-premium-copy::before { display: none; }
  .hero-premium-visual { min-height: 460px; }
  .partner-layout { grid-template-columns: 1fr; gap: 42px; }
}

@media (max-width: 640px) {
  .hero-premium-copy { min-height: auto; padding: 70px 0 56px; }
  .hero-actions { display: grid; width: 100%; }
  .hero-actions > .btn, .expert-cta { width: 100%; min-width: 0; }
  .hero-premium .hero-data { gap: 9px 16px; margin-top: 30px; }
  .hero-premium-visual { min-height: 360px; }
  .hero-product-frame { width: min(73%, 300px); min-height: 275px; padding: 28px; box-shadow: 18px 18px 0 var(--amber); }
  .hero-product-image { max-height: 215px; }
  .hero-visual-note { right: 16px; bottom: 16px; max-width: 215px; padding: 13px 14px; }
  .partner-section { padding: 70px 0; }
  .partner-marks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .partner-mark { min-height: 96px; padding: 15px; }
  .partner-logo { max-height: 39px; }
}

/* Needs-led premium engineering redesign: fewer decisions, more spatial clarity. */
.site-header-quiet { border-bottom: 1px solid var(--grey-100); background: rgba(255,255,255,.985); }
.site-header-quiet .shell { min-height: 76px; gap: 24px; }
.site-header-quiet .primary-nav { gap: 26px; }
.site-header-quiet .nav-link { padding: 27px 0; font-size: 12px; letter-spacing: .035em; }
.site-header-quiet .megamenu { width: 355px; padding: 20px 22px 22px; }
.mega-label { margin: 0 0 10px; color: var(--blue); font: 600 10px/1.2 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.site-header-quiet .header-actions { gap: 17px; }
.part-link { color: var(--navy); font: 700 12px/1.2 var(--ui); text-decoration: none; white-space: nowrap; }
.part-link::before { content: "⌕"; margin-right: 7px; color: var(--blue); font-size: 15px; }
.site-header-quiet .btn { min-height: 42px; padding: 9px 14px; font-size: 12px; }

.arrival { overflow: hidden; color: var(--white); background: var(--navy); }
.arrival .shell { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(380px, .96fr); min-height: 650px; }
.arrival-copy { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; padding: 88px 76px 88px 0; }
.arrival-copy::after { position: absolute; top: 0; right: 0; bottom: 0; width: 1px; content: ""; background: rgba(255,255,255,.16); }
.arrival h1 { max-width: 700px; color: var(--white); font-size: clamp(3.2rem, 5.8vw, 5.45rem); line-height: 1.02; letter-spacing: -.06em; }
.arrival .lead { max-width: 590px; margin: 25px 0 0; color: rgba(255,255,255,.8); font-size: clamp(1.08rem, 1.7vw, 1.23rem); }
.signoff { margin: 15px 0 0; color: rgba(255,255,255,.52); font: 600 10px/1.2 var(--ui); letter-spacing: .12em; text-transform: uppercase; }
.arrival-actions { display: flex; align-items: center; gap: 27px; margin-top: 36px; }
.arrival-actions .btn { min-width: 170px; }
.arrival-text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--white); font: 700 13px/1.2 var(--ui); text-decoration: none; }
.arrival-text-link span { color: var(--amber); font-size: 1.15rem; }
.arrival-facts { display: flex; flex-wrap: wrap; gap: 9px 20px; margin-top: 48px; color: rgba(255,255,255,.64); font: 500 10px/1.35 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.arrival-object { position: relative; overflow: hidden; background: #081927; }
.arrival-object::before { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(90deg, rgba(15,38,58,.35), rgba(15,38,58,.06) 62%, rgba(15,38,58,.54)); }
.arrival-workshop { position: absolute; inset: 0; }
.arrival-workshop img { width: 100%; height: 100%; object-fit: cover; object-position: 45% center; filter: saturate(.83) contrast(1.05); }
.arrival-caption { position: absolute; z-index: 2; right: 36px; bottom: 38px; max-width: 235px; padding: 16px 18px; color: var(--white); border-top: 2px solid var(--amber); background: rgba(15,38,58,.94); box-shadow: 0 14px 30px rgba(0,0,0,.22); }
.arrival-caption span { color: var(--amber); font-size: 10px; text-transform: uppercase; }
.arrival-caption p { margin: 6px 0 0; font: 700 15px/1.35 var(--display); letter-spacing: -.02em; }

.need-section { padding: 126px 0 112px; background: var(--white); }
.need-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.63fr); gap: 60px; align-items: end; margin-bottom: 60px; }
.need-intro h2 { max-width: 620px; font-size: clamp(2.3rem, 4.1vw, 4.15rem); line-height: 1.04; }
.need-intro p:last-child { max-width: 410px; margin: 0; }
.need-paths { border-top: 1px solid var(--grey-300); }
.need-path { display: grid; grid-template-columns: 72px minmax(0,1.25fr) 40px minmax(130px,.45fr); gap: 20px; align-items: center; min-height: 142px; padding: 21px 0; border-bottom: 1px solid var(--grey-300); color: var(--ink); text-decoration: none; transition: padding .18s ease, color .18s ease; }
.need-path:hover { padding-right: 12px; color: var(--blue); }
.need-index { color: var(--blue); font: 500 15px var(--mono); }
.need-copy { display: grid; gap: 7px; }
.need-copy strong { color: currentColor; font: 700 clamp(1.35rem,2vw,1.72rem)/1.15 var(--display); letter-spacing: -.035em; }
.need-copy em { max-width: 550px; color: var(--grey-700); font: 400 .93rem/1.5 var(--body); font-style: normal; }
.need-arrow { color: var(--amber); font-size: 1.45rem; text-align: center; }
.need-link { color: var(--blue); font: 700 11px/1.2 var(--ui); letter-spacing: .08em; text-transform: uppercase; }

.relationship-section { padding: 105px 0; color: rgba(255,255,255,.75); background: var(--navy); }
.relationship-section .shell { display: grid; grid-template-columns: minmax(0,1fr) minmax(310px,.74fr); gap: 92px; align-items: center; }
.relationship-media { position: relative; min-height: 410px; overflow: hidden; background: #0a1b2a; }
.relationship-media img { height: 410px; object-fit: cover; opacity: .84; }
.relationship-media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(160deg, transparent 35%, rgba(15,38,58,.76)); }
.relationship-tag { position: absolute; z-index: 1; bottom: 0; left: 0; padding: 14px 17px; color: var(--navy); background: var(--amber); font: 500 11px/1.2 var(--mono); letter-spacing: .03em; text-transform: uppercase; }
.relationship-copy h2 { max-width: 500px; color: var(--white); font-size: clamp(2.15rem,3.7vw,3.8rem); line-height: 1.06; }
.relationship-copy > p:not(.eyebrow) { max-width: 440px; margin-top: 22px; }
.relationship-links { display: grid; gap: 12px; margin-top: 36px; }
.relationship-links a { display: flex; justify-content: space-between; gap: 12px; max-width: 410px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.21); color: var(--white); font: 700 13px/1.2 var(--ui); text-decoration: none; }
.relationship-links span { color: var(--amber); }

.technology-section { padding: 126px 0; background: var(--grey-50); }
.technology-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(310px,.6fr); gap: 50px; align-items: end; }
.technology-heading h2 { max-width: 590px; font-size: clamp(2.1rem,3.65vw,3.65rem); line-height: 1.06; }
.technology-links { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); margin-top: 57px; border-top: 1px solid var(--grey-300); border-left: 1px solid var(--grey-300); }
.technology-link { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 24px; gap: 15px; min-height: 146px; padding: 27px 26px; border-right: 1px solid var(--grey-300); border-bottom: 1px solid var(--grey-300); color: var(--ink); background: transparent; text-decoration: none; transition: background .18s ease; }
.technology-link:hover { background: var(--white); }
.technology-link > span { font: 700 1.38rem/1.18 var(--display); letter-spacing: -.035em; }
.technology-link small { grid-column: 1; max-width: 430px; color: var(--grey-700); font: 400 .88rem/1.45 var(--body); }
.technology-link b { color: var(--blue); font-size: 1.2rem; font-weight: 400; text-align: right; }
.quiet-part-finder { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 27px; align-items: center; margin-top: 44px; padding: 22px 0 0; border-top: 2px solid var(--navy); }
.quiet-part-finder > label { color: var(--navy); font: 700 12px/1.2 var(--ui); letter-spacing: .08em; text-transform: uppercase; }
.quiet-part-finder > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; }
.quiet-part-finder .btn { min-height: 48px; }

.proof-section { padding: 117px 0; background: var(--white); }
.proof-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 32px; align-items: end; }
.proof-heading h2 { max-width: 620px; color: var(--navy); font-size: clamp(2.15rem,3.8vw,3.85rem); line-height: 1.06; }
.proof-heading > a { color: var(--blue); font: 700 12px/1.2 var(--ui); text-decoration: none; white-space: nowrap; }
.proof-heading > a span { margin-left: 7px; font-size: 1.1rem; }
.proof-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 58px; margin-top: 61px; }
.proof-item { position: relative; padding: 0 0 25px 66px; border-bottom: 1px solid var(--grey-300); }
.proof-index { position: absolute; top: 0; left: 0; color: var(--amber); font: 500 17px/1 var(--mono); }
.proof-item .eyebrow { margin-bottom: 12px; }
.proof-item h3 { font-size: clamp(1.4rem,2vw,1.75rem); }
.proof-item h3 + p { margin-top: 14px; }
.proof-item a { color: var(--blue); font: 700 12px/1.2 var(--ui); text-decoration: none; }
.proof-item a span { margin-left: 7px; font-size: 1.1rem; }

.partner-section-quiet { padding: 58px 0; border-top: 1px solid var(--grey-100); background: var(--white); }
.partner-section-quiet .shell { display: grid; grid-template-columns: minmax(245px,.55fr) minmax(0,1.45fr); gap: 58px; align-items: center; }
.partner-quiet-copy p:not(.eyebrow) { max-width: 270px; margin: 0; color: var(--grey-700); font-size: .9rem; }
.partner-quiet-copy a { display: inline-block; margin-top: 14px; color: var(--blue); font: 700 11px/1.2 var(--ui); text-decoration: none; text-transform: uppercase; letter-spacing: .07em; }
.partner-section-quiet .partner-marks { grid-template-columns: repeat(6, minmax(0,1fr)); border: 0; }
.partner-section-quiet .partner-mark { min-height: 68px; padding: 9px 12px; border: 0; }
.partner-section-quiet .partner-mark:hover { background: transparent; }
.partner-section-quiet .partner-mark-image { height: 35px; }
.partner-section-quiet .partner-logo { max-height: 31px; }

.closing-section { padding: 104px 0; color: rgba(255,255,255,.76); background: var(--navy); }
.closing-section .shell { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 42px; align-items: end; }
.closing-section h2 { max-width: 690px; color: var(--white); font-size: clamp(2.1rem,3.85vw,3.95rem); line-height: 1.06; }
.closing-section .btn { min-width: 178px; }

.quiet-footer { padding-top: 80px; }
.quiet-footer .footer-grid { grid-template-columns: 1.35fr .8fr .95fr; gap: 78px; }
.footer-action { display: inline-flex; gap: 11px; margin-top: 10px; color: var(--amber) !important; font: 700 12px/1.2 var(--ui); }

@media (max-width: 980px) {
  .site-header-quiet .primary-nav { top: 76px; max-height: calc(100vh - 76px); }
  .site-header-quiet .header-actions { display: none; }
  .site-header-quiet .mobile-toggle { margin-left: auto; }
  .arrival .shell, .relationship-section .shell { grid-template-columns: 1fr; }
  .arrival-copy { min-height: 590px; padding: 80px 0; }
  .arrival-copy::after { display: none; }
  .arrival-object { min-height: 450px; }
  .need-intro, .technology-heading { grid-template-columns: 1fr; gap: 20px; }
  .need-intro p:last-child { max-width: 520px; }
  .relationship-section .shell { gap: 58px; }
  .partner-section-quiet .shell { grid-template-columns: 1fr; gap: 26px; }
  .partner-quiet-copy p:not(.eyebrow) { max-width: 480px; }
  .quiet-footer .footer-grid { grid-template-columns: 1.2fr 1fr; gap: 42px; }
  .quiet-footer .footer-grid > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
  .site-header-quiet .shell { min-height: 68px; }
  .site-header-quiet .primary-nav { top: 68px; max-height: calc(100vh - 68px); }
  .arrival-copy { min-height: auto; padding: 66px 0 56px; }
  .arrival h1 { font-size: clamp(3rem,13vw,4.15rem); }
  .arrival-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .arrival-actions .btn { width: 100%; }
  .arrival-facts { gap: 8px 14px; margin-top: 35px; }
  .arrival-object { min-height: 350px; }
  .arrival-workshop img { object-position: 42% center; }
  .arrival-caption { right: 15px; bottom: 16px; max-width: 205px; padding: 12px 13px; }
  .need-section, .technology-section, .proof-section { padding: 76px 0; }
  .need-intro { margin-bottom: 38px; }
  .need-path { grid-template-columns: 40px minmax(0,1fr) 20px; gap: 14px; min-height: 0; padding: 23px 0; }
  .need-link { grid-column: 2; }
  .need-copy strong { font-size: 1.27rem; }
  .relationship-section { padding: 76px 0; }
  .relationship-section .shell { gap: 35px; }
  .relationship-media, .relationship-media img { min-height: 285px; height: 285px; }
  .technology-links { grid-template-columns: 1fr; margin-top: 39px; }
  .technology-link { min-height: 126px; padding: 23px 19px; }
  .quiet-part-finder { grid-template-columns: 1fr; gap: 12px; margin-top: 31px; }
  .quiet-part-finder > div { grid-template-columns: 1fr; }
  .proof-heading, .closing-section .shell { grid-template-columns: 1fr; gap: 25px; }
  .proof-heading > a { white-space: normal; }
  .proof-list { grid-template-columns: 1fr; gap: 35px; margin-top: 42px; }
  .partner-section-quiet { padding: 50px 0; }
  .partner-section-quiet .partner-marks { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .partner-section-quiet .partner-mark { min-height: 57px; }
  .closing-section { padding: 75px 0; }
  .closing-section .btn { width: 100%; }
  .quiet-footer .footer-grid { grid-template-columns: 1fr; gap: 38px; }
  .quiet-footer .footer-grid > :last-child { grid-column: auto; }
}

@media (max-width: 980px) {
  .directory-intro { grid-template-columns: 1fr; gap: 20px; }
  .brand-directory-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .product-paths > div { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .industry-connection { grid-template-columns: 1fr; gap: 26px; }
}

@media (max-width: 640px) {
  .product-discovery-row { grid-template-columns: 84px minmax(0,1fr); gap: 18px; min-height: 0; padding: 21px 0; }
  .product-discovery-image { min-height: 84px; padding: 12px; }
  .product-discovery-image img { max-height: 62px; }
  .product-discovery-row h2 { font-size: 1.32rem; }
  .product-discovery-row .row-arrow { display: none; }
  .service-discovery-row { grid-template-columns: 42px minmax(0,1fr) 18px; gap: 13px; }
  .service-discovery-row strong { font-size: 1.18rem; }
  .industry-connection { margin-top: 41px; padding-top: 25px; }
  .product-brand-panel, .brand-context { padding: 23px 19px; }
  .brand-directory-section { padding-top: 72px; }
  .brand-directory-grid { grid-template-columns: 1fr; }
  .brand-directory-card { min-height: 0; }
  .product-paths { margin-top: 48px; }
  .product-paths > div { grid-template-columns: 1fr; }
  .product-path-link { min-height: 108px; }
  .brand-context-grid { grid-template-columns: 1fr; gap: 22px; }
}

/* Control Room Editorial homepage direction */
.site-header { border-bottom-color: rgba(255,255,255,.12); background: rgba(8, 25, 39, .97); }
.site-header .brand img { filter: brightness(0) invert(1); }
.site-header .nav-link, .site-header .search-trigger { color: var(--white); }
.site-header .nav-link:hover, .site-header .nav-link[aria-expanded="true"] { color: var(--amber); }
.site-header .header-actions .btn-primary { box-shadow: 5px 5px 0 rgba(255,255,255,.16); }

.control-hero { position: relative; min-height: min(760px, calc(100vh - 118px)); overflow: hidden; color: var(--white); background: #071a2a; }
.control-hero-photo, .control-hero-photo img { position: absolute; inset: 0; width: 100%; height: 100%; }
.control-hero-photo img { object-fit: cover; object-position: 64% center; filter: saturate(.82) contrast(1.13); }
.control-hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,24,38,.98) 0%, rgba(7,26,42,.93) 39%, rgba(8,25,39,.38) 74%, rgba(8,25,39,.68)); }
.control-grid-lines { position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 112px 112px; mask-image: linear-gradient(90deg, black 0%, black 45%, transparent 86%); }
.control-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 318px; gap: 88px; min-height: min(760px, calc(100vh - 118px)); align-items: end; padding-top: 118px; padding-bottom: 58px; }
.control-copy { max-width: 785px; padding-bottom: 31px; }
.control-copy h1 { color: var(--white); font-size: clamp(3.45rem, 7.1vw, 7.6rem); line-height: .93; letter-spacing: -.075em; }
.control-copy h1 span { display: block; }
.control-copy .control-accent { color: var(--amber); }
.control-copy .lead { max-width: 605px; margin: 31px 0 0; color: rgba(238,246,250,.82); font-size: clamp(1.02rem, 1.5vw, 1.25rem); line-height: 1.55; }
.control-copy .signoff { margin: 15px 0 0; color: rgba(255,255,255,.46); font: 700 9px/1.2 var(--ui); letter-spacing: .14em; text-transform: uppercase; }
.control-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 26px; margin-top: 40px; }
.control-actions .btn { min-height: 52px; padding-inline: 22px; box-shadow: 6px 6px 0 rgba(255,255,255,.14); }
.control-part-link { display: inline-flex; gap: 11px; align-items: center; color: var(--white); font: 700 12px/1.2 var(--ui); text-decoration: none; }
.control-part-link .mono { color: var(--amber); font-size: 11px; }
.control-part-link b { color: var(--amber); font-size: 1.1rem; font-weight: 400; }
.control-hud { align-self: stretch; display: flex; flex-direction: column; justify-content: flex-end; padding: 28px 25px; border: 1px solid rgba(255,255,255,.24); border-bottom: 0; background: rgba(6,24,38,.78); backdrop-filter: blur(9px); }
.control-hud > .eyebrow { margin-bottom: 23px; }
.hud-item { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 10px; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.19); }
.hud-item > span { color: var(--amber); font-size: 10px; }
.hud-item strong { display: block; color: var(--white); font: 700 14px/1.2 var(--display); letter-spacing: -.02em; }
.hud-item p { margin: 3px 0 0; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.4; }
.control-hud > a { display: flex; justify-content: space-between; margin-top: 21px; padding-top: 15px; border-top: 2px solid var(--amber); color: var(--white); font: 700 11px/1.2 var(--ui); letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.control-hud > a span { color: var(--amber); font-size: 1rem; }

.command-section { padding: 132px 0 118px; background: var(--white); }
.command-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.54fr); gap: 70px; align-items: end; margin-bottom: 58px; }
.command-intro h2 { max-width: 790px; font-size: clamp(2.7rem,5.1vw,5.2rem); line-height: .99; letter-spacing: -.065em; }
.command-intro > p:last-child { margin: 0; color: var(--grey-700); font-size: 1.03rem; }
.command-paths { border-top: 2px solid var(--navy); }
.command-path { display: grid; grid-template-columns: 82px minmax(0,1fr) 40px; gap: 25px; align-items: center; min-height: 165px; padding: 26px 0; border-bottom: 1px solid var(--grey-300); color: var(--ink); text-decoration: none; transition: color .18s ease, padding .18s ease; }
.command-path:hover { padding-inline: 14px; color: var(--blue); background: var(--grey-50); }
.command-index { align-self: start; color: var(--blue); font: 500 15px/1 var(--mono); }
.command-copy small { display: block; margin-bottom: 7px; color: var(--blue); font: 700 10px/1.2 var(--ui); letter-spacing: .1em; text-transform: uppercase; }
.command-copy strong { display: block; font: 700 clamp(1.55rem,2.4vw,2.2rem)/1.04 var(--display); letter-spacing: -.055em; }
.command-copy em { display: block; max-width: 610px; margin-top: 8px; color: var(--grey-700); font: 400 .96rem/1.5 var(--body); font-style: normal; }
.command-arrow { color: var(--amber); font-size: 1.8rem; text-align: right; }

.application-stage { overflow: hidden; padding: 0; background: var(--navy); color: rgba(255,255,255,.77); }
.application-stage-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); min-height: 620px; }
.application-copy { display: flex; flex-direction: column; justify-content: center; padding: 92px 74px 92px 0; }
.application-copy h2 { max-width: 530px; color: var(--white); font-size: clamp(2.5rem,4.2vw,4.55rem); line-height: 1; letter-spacing: -.06em; }
.application-copy > p:not(.eyebrow) { max-width: 430px; margin-top: 22px; }
.application-routes { display: grid; gap: 0; margin-top: 35px; }
.application-routes a { display: flex; justify-content: space-between; gap: 15px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.22); color: var(--white); font: 700 12px/1.25 var(--ui); text-decoration: none; }
.application-routes a:last-child { border-bottom: 1px solid rgba(255,255,255,.22); }
.application-routes a span { color: rgba(255,255,255,.58); font-weight: 600; }
.application-routes a b { color: var(--amber); font-weight: 700; }
.application-media { position: relative; min-height: 620px; }
.application-media::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, var(--navy), rgba(15,38,58,.08) 35%, rgba(15,38,58,.42)); }
.application-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.08); }
.application-stamp { position: absolute; z-index: 1; right: 0; bottom: 0; display: grid; gap: 4px; width: min(285px,70%); padding: 23px 25px; color: var(--navy); background: var(--amber); }
.application-stamp span { font-size: 10px; }
.application-stamp strong { font: 700 1.75rem/1 var(--display); letter-spacing: -.05em; }
.application-stamp small { font: 700 10px/1.2 var(--ui); letter-spacing: .08em; text-transform: uppercase; }

.technology-section-editorial { position: relative; overflow: hidden; padding: 126px 0 112px; background: var(--grey-50); }
.technology-section-editorial::before { position: absolute; top: -250px; right: -70px; width: 520px; height: 520px; border: 1px solid rgba(9,80,159,.16); border-radius: 50%; content: ""; box-shadow: 0 0 0 92px rgba(9,80,159,.05), 0 0 0 184px rgba(9,80,159,.025); }
.technology-section-editorial .shell { position: relative; z-index: 1; }
.technology-section-editorial .technology-heading h2 { max-width: 900px; font-size: clamp(2.5rem,4.65vw,4.9rem); line-height: 1; letter-spacing: -.065em; }
.technology-section-editorial .technology-heading h2 span { color: var(--blue); }
.technology-section-editorial .technology-links { grid-template-columns: repeat(4,1fr); margin-top: 64px; border-top-color: var(--navy); }
.technology-section-editorial .technology-link { min-height: 202px; padding: 27px 23px; background: rgba(255,255,255,.64); transition: background .18s ease, transform .18s ease; }
.technology-section-editorial .technology-link:hover { background: var(--white); transform: translateY(-4px); }
.technology-section-editorial .technology-link span { font-size: 1.37rem; letter-spacing: -.04em; }
.technology-section-editorial .quiet-part-finder { margin-top: 60px; padding-top: 24px; border-top: 2px solid var(--navy); }
.technology-section-editorial .quiet-part-finder label { color: var(--navy); }

.proof-section { padding: 126px 0; background: var(--white); }
.proof-heading { grid-template-columns: minmax(0,1fr) auto; padding-bottom: 31px; border-bottom: 2px solid var(--navy); }
.proof-heading h2 { max-width: 710px; font-size: clamp(2.5rem,4.4vw,4.7rem); line-height: 1; letter-spacing: -.065em; }
.proof-list { grid-template-columns: minmax(0,1fr) minmax(0,.75fr); gap: 0; margin-top: 0; border-bottom: 1px solid var(--grey-300); }
.proof-item { min-height: 302px; padding: 37px 45px 35px 82px; border-right: 1px solid var(--grey-300); border-bottom: 0; }
.proof-item:last-child { border-right: 0; background: var(--grey-50); }
.proof-item h3 { font-size: clamp(1.55rem,2.45vw,2.35rem); letter-spacing: -.05em; }
.proof-index { top: 40px; left: 0; width: 52px; color: var(--blue); font-size: 14px; text-align: right; }

.partner-section-quiet { padding: 74px 0; background: #fbfcfd; }
.partner-section-quiet .partner-quiet-copy p:not(.eyebrow) { font-size: 1.1rem; }
.closing-section-editorial { position: relative; overflow: hidden; padding: 128px 0; background: #071a2a; }
.closing-section-editorial::after { position: absolute; top: 0; right: 8%; width: min(34vw,440px); height: 100%; content: ""; opacity: .22; background: repeating-linear-gradient(90deg, transparent 0 20px, rgba(250,185,10,.7) 20px 21px); transform: skewX(-16deg); }
.closing-section-editorial .shell { position: relative; z-index: 1; }
.closing-section-editorial h2 { max-width: 900px; font-size: clamp(2.75rem,5.3vw,5.7rem); line-height: .98; letter-spacing: -.07em; }
.closing-section-editorial h2 span { color: var(--amber); }
.closing-section-editorial .btn { margin-top: 43px; min-height: 54px; padding-inline: 23px; box-shadow: 6px 6px 0 rgba(255,255,255,.16); }

@media (max-width: 980px) {
  .control-hero { min-height: auto; }
  .control-hero-grid { grid-template-columns: 1fr; gap: 42px; min-height: auto; padding-top: 92px; }
  .control-hud { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; align-self: auto; padding: 20px; border-bottom: 1px solid rgba(255,255,255,.24); }
  .control-hud > .eyebrow, .control-hud > a { grid-column: 1 / -1; }
  .hud-item { border-top: 1px solid rgba(255,255,255,.19); }
  .command-intro { grid-template-columns: 1fr; gap: 23px; }
  .application-stage-grid { grid-template-columns: 1fr; }
  .application-copy { padding: 78px 0 70px; }
  .application-media { min-height: 440px; }
  .technology-section-editorial .technology-links { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 640px) {
  .site-header .brand { width: 140px; }
  .control-hero-grid { padding-top: 62px; padding-bottom: 0; }
  .control-copy { padding-bottom: 17px; }
  .control-copy h1 { font-size: clamp(3.25rem,14vw,4.8rem); }
  .control-copy .lead { margin-top: 22px; font-size: 1rem; }
  .control-actions { align-items: flex-start; flex-direction: column; gap: 21px; margin-top: 29px; }
  .control-hud { grid-template-columns: 1fr; margin-inline: -16px; padding: 22px 16px; border-inline: 0; }
  .control-hud > .eyebrow, .control-hud > a { grid-column: auto; }
  .hud-item { grid-template-columns: 28px 1fr; }
  .command-section { padding: 82px 0 76px; }
  .command-intro { margin-bottom: 38px; }
  .command-intro h2 { font-size: clamp(2.5rem,12.5vw,3.6rem); }
  .command-path { grid-template-columns: 42px minmax(0,1fr) 18px; gap: 13px; min-height: 0; padding: 24px 0; }
  .command-copy strong { font-size: 1.48rem; }
  .command-copy em { font-size: .9rem; }
  .application-copy { padding: 72px 0 58px; }
  .application-copy h2 { font-size: clamp(2.45rem,12vw,3.7rem); }
  .application-media { min-height: 360px; margin-inline: -16px; }
  .application-stamp { width: 76%; padding: 18px; }
  .technology-section-editorial { padding: 80px 0; }
  .technology-section-editorial .technology-heading h2 { font-size: clamp(2.4rem,12vw,3.5rem); }
  .technology-section-editorial .technology-links { grid-template-columns: 1fr; margin-top: 42px; }
  .technology-section-editorial .technology-link { min-height: 143px; }
  .proof-section { padding: 81px 0; }
  .proof-heading { grid-template-columns: 1fr; gap: 22px; }
  .proof-heading h2 { font-size: clamp(2.4rem,12vw,3.5rem); }
  .proof-list { grid-template-columns: 1fr; }
  .proof-item, .proof-item:last-child { min-height: 0; padding: 30px 18px 31px 56px; border-right: 0; border-bottom: 1px solid var(--grey-300); }
  .proof-index { top: 33px; width: 38px; }
  .closing-section-editorial { padding: 88px 0; }
  .closing-section-editorial h2 { font-size: clamp(2.55rem,12vw,3.7rem); }
}


/* Quiet authority homepage override */
.nav{background:#fff;border-bottom:1px solid #e4e7e9}.brand{filter:none}.links,.part{color:var(--navy)}.links a:hover{color:var(--blue)}.part:before{color:var(--blue)}.cta{box-shadow:none}.control{min-height:650px;color:var(--ink);background:#fff}.control>.photo{inset:0 0 0 54%;width:auto}.control>.photo img{object-position:center;filter:saturate(.88) contrast(1.02)}.scrim,.gridlines{display:none}.hero-grid{grid-template-columns:1fr;min-height:650px;padding-top:95px;padding-bottom:70px}.hero-copy{max-width:54%;padding-bottom:0}.hero-copy h1{color:var(--navy);font-size:clamp(3.2rem,5.4vw,5.9rem);line-height:.98;letter-spacing:-.07em}.hero-copy h1 .accent{color:var(--blue)}.lead{max-width:510px;margin-top:25px;color:var(--muted);font-size:18px}.signoff{color:#7c838a}.actions{margin-top:32px}.button{box-shadow:none}.part-link{color:var(--navy)}.part-link b,.part-link small{color:var(--blue)}.atelier-hero-note{display:flex;gap:19px;align-items:center;margin-top:42px;color:#64717a;font:700 10px Open Sans,Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}.atelier-hero-note span+span{padding-left:19px;border-left:1px solid #cbd2d6}.command{padding:112px 0 102px;background:#fbfcfd}.command-intro{max-width:960px;grid-template-columns:1fr .46fr;gap:54px;margin-bottom:49px}.command-intro h2{font-size:clamp(2.45rem,4vw,4.25rem);letter-spacing:-.06em}.command-paths{border-top:1px solid var(--navy)}.command-path{grid-template-columns:54px 1fr 18px;min-height:125px;gap:19px;padding:22px 0}.command-path:hover{padding-inline:0;background:transparent;color:var(--blue)}.command-path strong{font-size:clamp(1.3rem,2vw,1.75rem);letter-spacing:-.045em}.command-path em{max-width:540px;font-size:15px}.cmd-arrow{font-size:20px}.application{background:#fff;color:var(--muted)}.application .shell{grid-template-columns:.72fr 1.28fr;min-height:530px}.application-copy{padding:82px 64px 82px 0}.application-copy h2{color:var(--navy);font-size:clamp(2.3rem,3.7vw,3.85rem);letter-spacing:-.06em}.app-links a{border-color:#d6dcdf;color:var(--navy)}.app-links a:last-child{border-bottom-color:#d6dcdf}.app-links span{color:#77828a}.app-links b{color:var(--blue)}.application-media{min-height:530px;margin:38px 0}.application-media:after{background:linear-gradient(90deg,#fff6,transparent 40%,#0f263a22)}.stamp{background:#fff;color:var(--navy);border-top:3px solid var(--amber);box-shadow:0 12px 28px #0f263a1c}.tech{padding:105px 0;background:var(--navy);color:#dce5eb}.tech:before{opacity:.25}.tech .eyebrow{color:var(--amber)}.tech h2{color:white;font-size:clamp(2.4rem,4vw,4.2rem)}.tech h2 span{color:#b6d5f2}.tech-grid{margin-top:48px;border-color:#ffffff3d}.tech-card{min-height:164px;padding:22px 20px;border-color:#ffffff2e;background:transparent;color:white}.tech-card:hover{transform:none;background:#ffffff0d}.tech-card b{color:var(--amber)}.tech-card small{color:#c8d4db}.finder{margin-top:42px;border-color:#ffffff7d}.finder label{color:white}.finder input{border:0}.finder button{background:var(--amber);color:var(--navy)}.proof{padding:108px 0}.proof-head{border-bottom:1px solid var(--navy)}.proof-head h2{font-size:clamp(2.4rem,3.9vw,4.1rem);letter-spacing:-.06em}.proof-list{grid-template-columns:1fr 1fr;border-bottom:1px solid #d6dcdf}.proof-item{min-height:250px;padding:31px 36px 30px 70px}.proof-item:last-child{background:#fff}.proof-index{top:34px;color:var(--amber)}.partners{padding:70px 0;background:#f7f8f8}.close{padding:112px 0;background:#f0f3f4;color:var(--navy)}.close:after{display:none}.close h2{color:var(--navy);font-size:clamp(2.55rem,4.3vw,4.6rem);letter-spacing:-.065em}.close h2 span{color:var(--blue)}.close .button{margin-top:36px;box-shadow:none}.footer{background:var(--navy)}@media(max-width:980px){.control>.photo{inset:0;opacity:.18}.hero-grid{min-height:610px}.hero-copy{max-width:720px}.atelier-hero-note{margin-top:34px}.application .shell{grid-template-columns:1fr}.application-copy{padding:70px 0 30px}.application-media{min-height:400px;margin:0}.tech-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.control{min-height:590px}.hero-grid{min-height:590px;padding-top:70px;padding-bottom:48px}.hero-copy{max-width:100%}.hero-copy h1{font-size:clamp(3.1rem,14vw,4.55rem)}.atelier-hero-note{gap:10px;flex-wrap:wrap;font-size:9px}.atelier-hero-note span+span{padding-left:10px}.command{padding:78px 0}.command-intro{grid-template-columns:1fr;gap:18px}.application-copy{padding:68px 0 38px}.application-media{min-height:330px;margin-inline:-16px}.tech{padding:78px 0}.tech-grid{grid-template-columns:1fr}.proof{padding:78px 0}.proof-list{grid-template-columns:1fr}.proof-item{min-height:0;padding:29px 16px 29px 56px}.close{padding:82px 0}}

/* Lenze relationship and supplied partner marks */
.lenze-lead{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:18px;align-items:center;max-width:520px;margin-top:38px;padding-top:18px;border-top:1px solid #cbd2d6}.lenze-lead-mark{display:flex;align-items:center;min-height:30px}.lenze-lead-mark img{display:block;max-width:82px;max-height:34px;width:auto;height:auto}.lenze-lead p{display:grid;gap:2px;margin:0;color:var(--navy);font:700 14px/1.2 var(--display);letter-spacing:-.02em}.lenze-lead p span{color:var(--grey-700);font:600 10px/1.2 var(--ui);letter-spacing:.06em;text-transform:uppercase}.lenze-lead a{color:var(--blue);font:700 11px/1.2 var(--ui);text-decoration:none;white-space:nowrap}.lenze-lead a b{padding-left:5px;font-size:15px;font-weight:400}.partner-mark img{width:auto;height:auto;max-height:34px;max-width:100%;object-fit:contain}@media(max-width:640px){.lenze-lead{grid-template-columns:74px 1fr;gap:13px;margin-top:31px}.lenze-lead a{grid-column:2}.lenze-lead-mark img{max-width:68px}}

/* Technical-manual links on the part-search journey */
.manual-library{margin-top:32px;padding:24px;border-top:3px solid var(--amber);background:var(--grey-50)}
.manual-library p{max-width:620px;margin:6px 0;color:var(--grey-700)}
.manual-link{display:inline-flex;gap:8px;align-items:center;margin-top:12px;color:var(--blue);font:700 13px/1.2 var(--ui);text-decoration:none}
.manual-link:hover{text-decoration:underline}
.part-hero .manual-link{padding:10px 0;align-self:center}

/* The relationship is expressed as a quiet text note until final Lenze artwork is approved. */
.lenze-lead { grid-template-columns: 1fr; width: min(246px,100%); padding: 16px 18px; background: rgba(255,255,255,.94); border-top-width: 2px; }
.lenze-lead-mark { display: none; }
.lenze-lead a { grid-column: 1; }

/* Preserve the real workshop image at review-pane and handset widths. */
@media (min-width: 641px) and (max-width: 980px) {
  .control-hero-photo { inset: 0 0 0 48%; width: auto; opacity: 1; }
  .control-hero-scrim { background: linear-gradient(90deg, var(--white) 0%, var(--white) 40%, rgba(255,255,255,.93) 54%, rgba(255,255,255,.16) 82%, rgba(255,255,255,.04) 100%); }
  .control-hero-grid { grid-template-columns: minmax(0,1fr) 0; min-height: 610px; padding-top: 72px; }
  .control-copy { max-width: 62%; }
  .lenze-lead { max-width: 214px; margin: 0 0 24px; }
}

@media (max-width: 640px) {
  .control-hero { display: flex; flex-direction: column; min-height: 0; }
  .control-hero-grid { order: 2; min-height: 0; padding: 40px 16px 34px; }
  .control-hero-photo { position: relative; inset: auto; order: 1; width: 100%; height: 250px; opacity: 1; }
  .control-hero-photo img { position: static; width: 100%; height: 100%; object-position: center; }
  .control-hero-scrim { display: none; }
  .lenze-lead { margin-bottom: 0; }
}

/* Minimal engineering practice — replaces the experimental Control Room treatment. */
.site-header { border-bottom-color: var(--grey-100); background: rgba(255,255,255,.98); }
.site-header .brand img { filter: none; }
.site-header .nav-link, .site-header .search-trigger, .site-header .mobile-toggle { color: var(--navy); }
.site-header .nav-link:hover, .site-header .nav-link[aria-expanded="true"] { color: var(--blue); }
.site-header .header-actions .btn-primary { box-shadow: none; }

.control-hero { min-height: min(670px, calc(100vh - 84px)); color: var(--ink); background: var(--white); }
.control-hero-photo { inset: 0 0 0 52%; width: auto; }
.control-hero-photo img { object-position: center; filter: saturate(.78) contrast(1.02); }
.control-hero-scrim { background: linear-gradient(90deg, var(--white) 0%, var(--white) 44%, rgba(255,255,255,.95) 53%, rgba(255,255,255,.20) 77%, rgba(255,255,255,.04) 100%); }
.control-grid-lines { display: none; }
.control-hero-grid { grid-template-columns: minmax(0,1fr) minmax(245px,.4fr); gap: 56px; min-height: min(670px, calc(100vh - 84px)); align-items: end; padding-top: 96px; padding-bottom: 58px; }
.control-copy { max-width: 670px; padding-bottom: 42px; }
.control-copy .eyebrow.amber { color: var(--blue); }
.control-copy h1 { color: var(--navy); font-size: clamp(3.15rem,5.35vw,5.85rem); line-height: .98; letter-spacing: -.068em; }
.control-copy .lead { max-width: 555px; margin-top: 24px; color: var(--grey-700); font-size: clamp(1rem,1.4vw,1.15rem); line-height: 1.58; }
.control-actions { gap: 22px; margin-top: 31px; }
.control-actions .btn { min-height: 46px; padding-inline: 18px; box-shadow: none; }
.control-part-link { color: var(--navy); }
.control-part-link .mono, .control-part-link b { color: var(--blue); }
.lenze-lead { grid-template-columns: 75px minmax(0,1fr); gap: 14px; margin: 0 0 42px; padding: 17px 0 0; border-top: 2px solid var(--blue); background: transparent; }
.lenze-lead a { grid-column: 2; padding-top: 1px; }
.lenze-lead-mark img { max-width: 70px; max-height: 30px; }

.command-section { padding: 104px 0 96px; background: var(--white); }
.command-intro { max-width: 920px; grid-template-columns: minmax(0,1fr) minmax(230px,.45fr); gap: 46px; margin-bottom: 43px; }
.command-intro h2 { max-width: 680px; color: var(--navy); font-size: clamp(2.35rem,4.2vw,4.25rem); line-height: 1.03; letter-spacing: -.055em; }
.command-paths { border-top-width: 1px; }
.command-path { grid-template-columns: 48px minmax(0,1fr) 20px; min-height: 128px; gap: 18px; padding: 22px 0; }
.command-path:hover { padding-inline: 0; background: transparent; color: var(--blue); }
.command-copy strong { font-size: clamp(1.3rem,2vw,1.72rem); letter-spacing: -.038em; }
.command-copy em { max-width: 540px; color: var(--grey-700); font-size: .93rem; }
.command-arrow { color: var(--blue); font-size: 1.35rem; }

.application-stage { background: var(--grey-50); color: var(--grey-700); }
.application-stage-grid { grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); min-height: 520px; }
.application-copy { padding: 76px 56px 76px 0; }
.application-copy .eyebrow.amber { color: var(--blue); }
.application-copy h2 { color: var(--navy); font-size: clamp(2.25rem,3.7vw,3.8rem); line-height: 1.06; letter-spacing: -.052em; }
.application-routes a { border-color: var(--grey-300); color: var(--navy); }
.application-routes a:last-child { border-bottom-color: var(--grey-300); }
.application-routes a span { color: var(--grey-700); }
.application-routes a b { color: var(--blue); }
.application-media { min-height: 440px; margin: 40px 0; }
.application-media::after { background: linear-gradient(90deg, rgba(246,247,248,.58), transparent 42%, rgba(15,38,58,.12)); }
.application-media img { filter: saturate(.8) contrast(1.02); }
.application-stamp { width: min(250px,72%); color: var(--navy); background: var(--white); border-top: 3px solid var(--amber); box-shadow: none; }

.technology-section-editorial { padding: 98px 0; background: var(--white); }
.technology-section-editorial::before { display: none; }
.technology-section-editorial .technology-heading h2 { max-width: 640px; color: var(--navy); font-size: clamp(2.3rem,3.8vw,4rem); line-height: 1.05; letter-spacing: -.052em; }
.technology-section-editorial .technology-links { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 46px; border-top-color: var(--grey-300); }
.technology-section-editorial .technology-link { min-height: 142px; padding: 22px 20px; background: var(--grey-50); }
.technology-section-editorial .technology-link:hover { background: var(--white); transform: none; }
.technology-section-editorial .quiet-part-finder { margin-top: 42px; border-top-width: 1px; }

.proof-section { padding: 98px 0; background: var(--grey-50); }
.proof-heading { padding-bottom: 25px; border-bottom-width: 1px; }
.proof-heading .eyebrow.amber { color: var(--blue); }
.proof-heading h2 { max-width: 590px; color: var(--navy); font-size: clamp(2.3rem,3.8vw,4rem); line-height: 1.05; letter-spacing: -.052em; }
.proof-list { margin-top: 0; border-bottom-color: var(--grey-300); }
.proof-item, .proof-item:last-child { min-height: 232px; padding: 30px 34px 28px 62px; background: transparent; border-right-color: var(--grey-300); }
.proof-index { top: 33px; color: var(--blue); }

.partner-section-quiet { padding: 62px 0; background: var(--white); }
.closing-section-editorial { padding: 88px 0; background: var(--white); border-top: 1px solid var(--grey-100); color: var(--grey-700); }
.closing-section-editorial::after { display: none; }
.closing-section-editorial .shell { grid-template-columns: minmax(0,1fr) auto; }
.closing-section-editorial .eyebrow.amber { color: var(--blue); }
.closing-section-editorial h2 { max-width: 710px; color: var(--navy); font-size: clamp(2.35rem,4vw,4.3rem); line-height: 1.04; letter-spacing: -.055em; }
.closing-section-editorial .btn { min-height: 46px; margin-top: 31px; padding-inline: 18px; box-shadow: none; }
.cookie-banner { width: min(360px, calc(100% - 32px)); padding: 18px 20px; border-color: rgba(255,255,255,.25); }
.cookie-banner h2 { font-size: 1.1rem; }
.cookie-banner p { margin: 7px 0 13px; font-size: .82rem; }

@media (max-width: 980px) {
  .control-hero-photo { inset: 0; opacity: .15; }
  .control-hero-scrim { background: rgba(255,255,255,.92); }
  .control-hero-grid { grid-template-columns: 1fr; gap: 16px; min-height: 590px; padding-top: 76px; }
  .control-copy { max-width: 690px; padding-bottom: 12px; }
  .lenze-lead { max-width: 430px; margin: 0 0 26px; }
  .application-stage-grid { grid-template-columns: 1fr; }
  .application-copy { padding: 70px 0 34px; }
  .application-media { min-height: 380px; margin: 0; }
}

@media (max-width: 640px) {
  .site-header .brand { width: 138px; }
  .control-hero { min-height: 550px; }
  .control-hero-grid { min-height: 550px; padding-top: 60px; padding-bottom: 36px; }
  .control-copy h1 { font-size: clamp(3rem,13.5vw,4.3rem); }
  .control-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .lenze-lead { grid-template-columns: 70px 1fr; gap: 11px; margin-bottom: 0; }
  .command-section, .technology-section-editorial, .proof-section { padding: 74px 0; }
  .command-intro { grid-template-columns: 1fr; gap: 16px; margin-bottom: 31px; }
  .command-path { grid-template-columns: 38px minmax(0,1fr) 16px; gap: 12px; min-height: 0; padding: 23px 0; }
  .application-copy { padding: 64px 0 35px; }
  .application-media { min-height: 320px; margin-inline: -16px; }
  .technology-section-editorial .technology-links { grid-template-columns: 1fr; margin-top: 35px; }
  .proof-list { grid-template-columns: 1fr; }
  .proof-item, .proof-item:last-child { min-height: 0; padding: 27px 16px 28px 52px; border-right: 0; border-bottom: 1px solid var(--grey-300); }
.closing-section-editorial { padding: 70px 0; }
.closing-section-editorial .shell { grid-template-columns: 1fr; gap: 24px; }
}

/* Below desktop, lead with real workshop proof rather than a washed-out crop. */
@media (max-width: 980px) {
  .control-hero { display: flex; flex-direction: column; min-height: 0; }
  .control-hero-photo { position: relative; inset: auto; order: 1; width: 100%; height: 270px; opacity: 1; }
  .control-hero-photo img { position: static; width: 100%; height: 100%; object-position: center; }
  .control-hero-scrim, .control-grid-lines { display: none; }
  .control-hero-grid { order: 2; grid-template-columns: 1fr; min-height: 0; padding-top: 42px; padding-bottom: 38px; }
  .control-copy { max-width: 680px; padding-bottom: 20px; }
  .lenze-lead { max-width: 246px; margin-bottom: 0; }
}

/* Selected project stories: two editorial proofs, not a generic card wall. */
.proof-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 32px; border: 0; }
.proof-item.proof-item-visual, .proof-item.proof-item-visual:last-child { display: block; min-height: 0; padding: 0; overflow: hidden; border: 1px solid var(--grey-300); background: var(--white); }
.proof-item-media { display: block; height: 230px; background: var(--grey-100); overflow: hidden; }
.proof-item-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .24s ease; }
.proof-item-media:hover img { transform: scale(1.025); }
.proof-item-copy { position: relative; padding: 28px 30px 30px 66px; }
.proof-item-copy h3 { max-width: 420px; color: var(--navy); font-size: clamp(1.35rem, 2vw, 1.85rem); line-height: 1.08; letter-spacing: -.04em; }
.proof-item-copy > p:not(.eyebrow) { margin-bottom: 18px; color: var(--grey-700); }
.proof-item-copy > a { color: var(--blue); font: 700 12px/1.2 var(--ui); text-decoration: none; }
.proof-item-copy > a:hover { text-decoration: underline; }
.proof-item-copy .proof-index { top: 31px; left: 0; width: 46px; color: var(--blue); text-align: right; }
@media (max-width: 640px) {
  .proof-list { grid-template-columns: 1fr; gap: 16px; margin-top: 24px; }
  .proof-item-media { height: 190px; }
  .proof-item-copy { padding: 24px 20px 26px 56px; }
  .proof-item-copy .proof-index { top: 27px; width: 38px; }
}

/* Lenze is SA Power's defining technology relationship, presented with quiet authority. */
.lenze-partnership { border-top: 3px solid var(--blue); background: var(--navy); color: var(--white); }
.lenze-partnership .shell { display: grid; grid-template-columns: 154px minmax(0, 1fr) auto; gap: 42px; align-items: center; padding-top: 38px; padding-bottom: 38px; }
.lenze-partnership-mark { display: flex; align-items: center; justify-content: center; min-height: 78px; padding: 16px 22px; background: var(--white); }
.lenze-partnership-mark img { display: block; width: 100%; max-width: 104px; max-height: 38px; object-fit: contain; }
.lenze-partnership-copy .eyebrow { margin-bottom: 9px; color: var(--amber); }
.lenze-partnership-copy h2 { max-width: 660px; margin: 0; color: var(--white); font-size: clamp(1.65rem, 2.5vw, 2.45rem); line-height: 1.07; letter-spacing: -.042em; }
.lenze-partnership-copy > p:not(.eyebrow) { max-width: 630px; margin: 11px 0 0; color: rgba(255,255,255,.73); }
.lenze-partnership-actions { display: grid; gap: 12px; min-width: 205px; }
.lenze-partnership-actions a { padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.34); color: var(--white); font: 700 12px/1.25 var(--ui); letter-spacing: .01em; text-decoration: none; }
.lenze-partnership-actions a:hover { color: var(--amber); border-bottom-color: var(--amber); }
.lenze-partnership-actions span { padding-left: 6px; color: var(--amber); font-size: 15px; }

/* Industries behaves as a practical finder, not a generic category gallery. */
.industries-introduction { padding: 82px 0 64px; background: var(--white); }
.industries-introduction-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .62fr); gap: 82px; align-items: end; }
.industries-introduction h2, .section-heading h2 { max-width: 730px; margin: 0; color: var(--navy); font-size: clamp(2.2rem, 3.8vw, 4rem); line-height: 1.05; letter-spacing: -.052em; }
.industries-introduction-grid > p { margin: 0; color: var(--grey-700); font-size: 1.06rem; line-height: 1.65; }
.industry-spotlights { padding: 88px 0; background: var(--grey-50); }
.section-heading { display: grid; gap: 14px; padding-bottom: 34px; border-bottom: 1px solid var(--grey-300); }
.industry-spotlight-list { border-bottom: 1px solid var(--grey-300); }
.industry-spotlight { display: grid; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); min-height: 460px; border-top: 1px solid var(--grey-300); }
.industry-spotlight:first-child { border-top: 0; }
.industry-spotlight:nth-child(even) .industry-spotlight-media { order: 2; }
.industry-spotlight-media { min-height: 100%; overflow: hidden; background: var(--grey-100); }
.industry-spotlight-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.84) contrast(1.03); }
.industry-spotlight-copy { display: flex; flex-direction: column; padding: 52px 58px; }
.industry-spotlight-copy h2 { margin: 0 0 24px; color: var(--navy); font-size: clamp(2rem, 3vw, 3.25rem); line-height: 1.05; letter-spacing: -.05em; }
.industry-spotlight-copy ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 24px; margin: 0; padding: 0; list-style: none; color: var(--grey-700); font-size: .95rem; }
.industry-spotlight-copy li { position: relative; padding-left: 13px; }
.industry-spotlight-copy li::before { position: absolute; left: 0; color: var(--blue); content: "•"; }
.industry-spotlight-links { display: flex; flex-wrap: wrap; gap: 22px; margin-top: auto; padding-top: 36px; }
.industry-spotlight-links a { color: var(--blue); font: 700 12px/1.25 var(--ui); text-decoration: none; }
.industry-spotlight-links a:hover { text-decoration: underline; }
.industry-directory { padding: 88px 0; background: var(--white); }
.industry-scope-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 48px; border-bottom: 1px solid var(--grey-300); }
.industry-scope { display: flex; flex-direction: column; min-height: 285px; padding: 30px 0; border-top: 1px solid var(--grey-300); }
.industry-scope h3 { margin: 0 0 17px; color: var(--navy); font-size: 1.3rem; letter-spacing: -.03em; }
.industry-scope ul { margin: 0 0 20px; padding: 0; list-style: none; color: var(--grey-700); font-size: .9rem; line-height: 1.48; }
.industry-scope li { margin-bottom: 5px; }
.industry-scope a { margin-top: auto; color: var(--blue); font: 700 11px/1.25 var(--ui); text-decoration: none; }
.industry-scope a:hover { text-decoration: underline; }
.industry-unique { padding: 74px 0; background: var(--navy); color: var(--white); }
.industry-unique .shell { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr) auto; gap: 48px; align-items: end; }
.industry-unique .eyebrow { color: var(--amber); }
.industry-unique h2 { max-width: 520px; margin: 0; color: var(--white); font-size: clamp(1.9rem, 3.2vw, 3.35rem); line-height: 1.06; letter-spacing: -.047em; }
.industry-unique ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; margin: 0; padding: 0; list-style: none; color: rgba(255,255,255,.75); font-size: .9rem; }
.industry-unique li { position: relative; padding-left: 14px; }
.industry-unique li::before { position: absolute; left: 0; color: var(--amber); content: "•"; }
.industry-unique .btn { white-space: nowrap; }
@media (max-width: 980px) {
  .lenze-partnership .shell { grid-template-columns: 130px minmax(0, 1fr); gap: 28px; }
  .lenze-partnership-actions { grid-column: 2; display: flex; gap: 26px; }
  .lenze-partnership-actions a { padding: 0 0 7px; }
  .industries-introduction-grid, .industry-unique .shell { grid-template-columns: 1fr; gap: 28px; }
  .industry-spotlight { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .industry-spotlight-copy { padding: 40px; }
  .industry-scope-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 34px; }
}
@media (max-width: 640px) {
  .lenze-partnership .shell { grid-template-columns: 1fr; gap: 22px; padding-top: 30px; padding-bottom: 32px; }
  .lenze-partnership-mark { width: 146px; min-height: 64px; }
  .lenze-partnership-actions { grid-column: 1; display: grid; gap: 10px; }
  .lenze-partnership-actions a { padding: 10px 0; }
  .industries-introduction, .industry-spotlights, .industry-directory { padding: 66px 0; }
  .industry-spotlight { grid-template-columns: 1fr; min-height: 0; }
  .industry-spotlight:nth-child(even) .industry-spotlight-media { order: 0; }
  .industry-spotlight-media { min-height: 225px; }
  .industry-spotlight-copy { padding: 30px 16px 32px; }
  .industry-spotlight-copy ul, .industry-unique ul { grid-template-columns: 1fr; gap: 6px; }
  .industry-spotlight-links { flex-direction: column; gap: 12px; padding-top: 26px; }
  .industry-scope-grid { grid-template-columns: 1fr; }
  .industry-scope { min-height: 0; padding: 26px 0; }
  .industry-unique { padding: 62px 0; }
}

/* Dedicated search-intent page for Lenze Southern Africa. */
.lenze-seo-page .rich-content { max-width: none; }
.lenze-page-intro { padding-bottom: 46px; border-bottom: 2px solid var(--blue); }
.lenze-page-intro h2, .lenze-paths h2, .lenze-answers h2 { max-width: 720px; margin: 0 0 16px; color: var(--navy); font-size: clamp(2rem, 3.3vw, 3.45rem); line-height: 1.06; letter-spacing: -.048em; }
.lenze-page-intro > p:not(.eyebrow) { max-width: 720px; margin: 0; color: var(--grey-700); font-size: 1.08rem; }
.lenze-page-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 34px; }
.lenze-page-facts > div { padding: 20px 0; border-top: 1px solid var(--grey-300); }
.lenze-page-facts strong { display: block; margin-top: 7px; color: var(--navy); font: 700 1.05rem/1.3 var(--display); }
.lenze-paths { padding: 52px 0; border-bottom: 1px solid var(--grey-300); }
.lenze-paths .product-chip-row { margin: 24px 0 28px; }
.lenze-answers { padding-top: 52px; }
.lenze-answer { padding: 23px 0; border-top: 1px solid var(--grey-300); }
.lenze-answer h3 { margin: 0 0 8px; color: var(--navy); font-size: 1.08rem; letter-spacing: -.018em; }
.lenze-answer p { max-width: 670px; margin: 0; color: var(--grey-700); }
@media (max-width: 640px) {
  .lenze-page-facts { grid-template-columns: 1fr; gap: 4px; }
  .lenze-page-intro, .lenze-paths { padding-bottom: 34px; }
  .lenze-paths, .lenze-answers { padding-top: 38px; }
}

/* South African presence: real team proof, regional context and a restrained local marker. */
.south-africa-presence { padding: 96px 0; background: var(--white); }
.south-africa-presence .shell { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 74px; align-items: center; }
.south-africa-image { position: relative; min-height: 440px; overflow: hidden; background: var(--grey-100); }
.south-africa-image::after { position: absolute; right: 0; bottom: 0; left: 0; height: 18%; background: linear-gradient(transparent, rgba(15,38,58,.35)); content: ""; }
.south-africa-image img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; object-position: center 34%; filter: saturate(.84) contrast(1.03); }
.south-africa-copy .eyebrow { color: var(--blue); }
.south-africa-copy h2 { max-width: 680px; margin: 0 0 18px; color: var(--navy); font-size: clamp(2.25rem, 3.8vw, 4.15rem); line-height: 1.04; letter-spacing: -.056em; }
.south-africa-copy > p:not(.eyebrow) { max-width: 650px; margin: 0; color: var(--grey-700); font-size: 1.07rem; line-height: 1.65; }
.south-africa-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; max-width: 680px; margin: 34px 0 28px; border-top: 1px solid var(--grey-300); border-bottom: 1px solid var(--grey-300); }
.south-africa-facts span { display: grid; gap: 5px; min-height: 72px; padding: 15px 13px 15px 0; color: var(--grey-700); font: 600 10px/1.3 var(--ui); letter-spacing: .04em; text-transform: uppercase; }
.south-africa-facts span + span { padding-left: 14px; border-left: 1px solid var(--grey-300); }
.south-africa-facts b { color: var(--blue); font: 700 1.12rem/1 var(--mono); letter-spacing: -.04em; }
.south-africa-copy > a { color: var(--blue); font: 700 12px/1.25 var(--ui); text-decoration: none; }
.south-africa-copy > a:hover { text-decoration: underline; }
@media (max-width: 980px) {
  .south-africa-presence .shell { grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 42px; }
  .south-africa-image, .south-africa-image img { min-height: 380px; }
}
@media (max-width: 640px) {
  .south-africa-presence { padding: 66px 0; }
  .south-africa-presence .shell { grid-template-columns: 1fr; gap: 30px; }
  .south-africa-image, .south-africa-image img { min-height: 265px; }
  .south-africa-copy h2 { font-size: 2.25rem; }
  .south-africa-facts { grid-template-columns: 1fr; margin-top: 27px; }
  .south-africa-facts span { min-height: 0; padding: 13px 0; }
  .south-africa-facts span + span { padding-left: 0; border-top: 1px solid var(--grey-300); border-left: 0; }
}
