/* Supporting B2B pages: the same quiet grid, typography and image rhythm as the homepage. */
.inner-page { background: var(--white); }
.page-hero { position: relative; isolation: isolate; min-height: 490px; display: flex; align-items: end; overflow: hidden; background: var(--navy); color: #fff; }
.page-hero-media, .page-hero-overlay { position: absolute; inset: 0; }
.page-hero-media { z-index: 0; }
.page-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; filter: saturate(.62); }
.page-hero-overlay { z-index: 1; background: linear-gradient(90deg, #071724 0%, rgba(7,23,36,.98) 24%, rgba(7,23,36,.9) 48%, rgba(7,23,36,.38) 76%, rgba(7,23,36,.12) 100%); }
.page-hero-content { position: relative; z-index: 2; width: min(1280px, calc(100% - 96px)); padding-block: 84px 72px; }
.page-hero .eyebrow { color: #c6d4dd; }
.page-hero h1 { max-width: 720px; margin-bottom: 20px; font-size: 42px; line-height: 1.08; }
.page-lede { max-width: 650px; color: #d1dde4; font-size: 17px; line-height: 1.75; }
.page-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 15px 24px; margin-top: 28px; }
.inner-section { padding-block: 84px; border-bottom: 1px solid var(--line); }
.inner-section-dark { background: var(--navy-light); color: #f6f9fa; border-bottom-color: #213b4b; }
.inner-grid { display: grid; grid-template-columns: .96fr 1.04fr; gap: 9%; align-items: start; }
.inner-copy { min-width: 0; }
.inner-copy > p:not(.eyebrow) { max-width: 520px; margin-top: 20px; color: var(--muted); }
.inner-section-dark .inner-copy > p:not(.eyebrow) { color: #c2d1da; }
.inner-section-dark .eyebrow { color: #b7cbd6; }
.inner-copy .section-photo { margin-top: 28px; }
.inner-photo picture { aspect-ratio: 16 / 10; }
.inner-photo img { object-position: center; }
.inner-list { border-top: 1px solid var(--line); }
.inner-section-dark .inner-list { border-top-color: var(--line-dark); }
.inner-list-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.inner-section-dark .inner-list-row { border-bottom-color: var(--line-dark); }
.inner-list-row h3 { font-size: 19px; }
.inner-list-row p { margin-top: 8px; color: var(--muted); line-height: 1.7; }
.inner-section-dark .inner-list-row p { color: #c2d1da; }
.inner-section-dark .row-number { color: #b6cad4; }
.inner-section-dark .text-link:hover { color: #fff; }
/* Inline links need a light foreground on dark surfaces, including hero copy. */
.page-hero .inline-link,
.inner-section-dark .inline-link { color: #fff; }
/* These page families intentionally give their nominal dark section a light background. */
.page-type-guide .inner-section-dark .inline-link,
.page-type-contact .inner-section-dark .inline-link,
.page-type-quality .inner-section-dark .inline-link { color: #214c42; }
.faq-section { background: var(--paper); }
.faq-section h2 { margin-bottom: 34px; }
.method-brief-table { background: #f7f9fa; }
.method-brief-table h2 { max-width: 680px; }
.method-brief-table > .page-width > .section-intro { max-width: 720px; margin: 16px 0 30px; color: var(--muted); line-height: 1.7; }
.table-wrap { overflow-x: auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.method-brief-table table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 14px; }
.method-brief-table th, .method-brief-table td { padding: 17px 18px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; line-height: 1.55; }
.method-brief-table thead th { color: var(--ink); font-family: var(--mono); font-size: 10px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; }
.method-brief-table tbody th { width: 20%; color: var(--ink); font-weight: 600; }
.method-brief-table tbody td { color: var(--muted); }
.method-brief-table tr:last-child th, .method-brief-table tr:last-child td { border-bottom: 0; }
.table-note { max-width: 780px; margin-top: 20px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.inner-faq { border-top: 1px solid var(--line); max-width: 860px; }
.inner-faq details { border-bottom: 1px solid var(--line); }
.inner-faq summary { position: relative; cursor: pointer; padding: 20px 34px 20px 0; min-height: 48px; font-weight: 600; list-style: none; }
.inner-faq summary::-webkit-details-marker { display: none; }
.inner-faq summary::after { content: ""; position: absolute; right: 3px; top: 22px; width: 18px; height: 18px; background: currentColor; mask: url("assets/icons/chevron-down.svg") center / contain no-repeat; transition: transform .16s ease; }
.inner-faq details[open] summary::after { transform: rotate(180deg); }
.inner-faq details p { max-width: 760px; padding: 0 30px 22px 0; color: var(--muted); }
.page-contact { padding-block: 84px; background: var(--navy); color: #fff; }
.page-contact .eyebrow { color: #c4d2dc; }
.page-contact-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 10%; align-items: start; }
.page-contact p:not(.eyebrow) { max-width: 560px; margin-top: 20px; color: #c4d2dc; }
.page-contact .section-photo { margin-top: 0; border-color: rgba(180,202,214,.28); }
.page-contact .section-photo figcaption { background: rgba(10,27,42,.9); color: #c4d3db; border-top-color: rgba(180,202,214,.26); }
.page-contact .button-primary { margin-top: 0; }
.page-contact .text-link { color: #e0e9ec; }
@media (max-width: 1100px) {
  .page-hero-content { width: calc(100% - 64px); }
  .page-hero { min-height: 450px; }
}
@media (max-width: 760px) {
  .page-hero { min-height: 560px; align-items: end; }
  .page-hero-media img { object-position: 62% center; }
  .page-hero-overlay { background: linear-gradient(180deg, rgba(7,23,36,.1) 0%, rgba(7,23,36,.34) 28%, rgba(7,23,36,.98) 66%, #071724 100%); }
  .page-hero-content { width: calc(100% - 40px); padding-block: 54px 40px; }
  .page-hero h1 { max-width: 100%; font-size: 36px; }
  .page-lede { font-size: 15px; line-height: 1.7; }
  .inner-section { padding-block: 54px; }
  .inner-grid, .page-contact-grid { grid-template-columns: 1fr; gap: 28px; }
  .inner-list-row { gap: 12px; padding-block: 20px; }
  .inner-list-row h3 { font-size: 18px; }
  .inner-copy .section-photo { margin-top: 24px; }
  .faq-section h2 { margin-bottom: 24px; }
  .page-contact { padding-block: 56px; }
  .page-contact-grid { gap: 28px; }
}

/* Keep mobile inner-page heroes compact so the next useful section enters the
   first scroll. Long buyer briefs may still grow beyond this floor. */
@media (max-width: 760px) {
  .page-type-category .page-hero,
  .page-type-catalog .page-hero,
  .page-type-service .page-hero,
  .page-type-operations .page-hero,
  .page-type-profile .page-hero { min-height: 500px; }
  .page-type-guide .page-hero { min-height: 408px; }
  .page-type-contact .page-hero { min-height: 300px; }
  .page-type-operations .page-hero-content { padding-block: 44px 34px; }
}

/* Related synthesis reading links belong with the first brief section rather
   than competing with the primary Hero inquiry action. */
.section-related-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 14px;
}
.section-related-links .text-link { min-height: 36px; font-size: 12px; }
@media (max-width: 760px) {
  .section-related-links { display: grid; gap: 4px; }
}
.row-link { text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; transition: color .18s ease, text-decoration-color .18s ease; }
.row-link:hover, .row-link:focus-visible { color: var(--accent); text-decoration-color: currentColor; }
.nav-active { color: var(--accent); }

.breadcrumbs { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 48px; padding-block: 13px; color: var(--muted); font-family: var(--display); font-size: 12px; letter-spacing: 0; text-transform: none; }
.breadcrumbs a { flex: 0 0 auto; color: var(--ink); text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; white-space: nowrap; }
.breadcrumbs span:not([aria-hidden="true"]) { min-width: 0; overflow-wrap: normal; }
.breadcrumbs a:hover, .breadcrumbs a:focus-visible { color: var(--accent); text-decoration-color: currentColor; }
.breadcrumbs span[aria-hidden="true"] { color: var(--accent); }
@media (max-width: 760px) {
  .breadcrumbs { align-items: flex-start; min-height: 42px; padding-block: 11px; font-size: 11px; gap: 7px; line-height: 1.45; }
  .breadcrumbs span:not([aria-hidden="true"]) { flex: 1 1 auto; }
  .page-type-factory .page-hero-content { padding-block: 40px 30px; }
  .page-type-factory .page-hero h1 { font-size: 32px; line-height: 1.08; margin-bottom: 16px; }
  .page-type-factory .page-lede { font-size: 14px; line-height: 1.58; }
}
.resource-meta { margin-top: 18px; color: #b9cad3; font-family: var(--mono); font-size: 10px; letter-spacing: 0; text-transform: uppercase; }
@media (max-width: 760px) {
  .resource-meta { margin-top: 15px; font-size: 9px; line-height: 1.5; }
}

/* Page families use different compositions so the site feels like a working
   procurement system rather than one repeated landing-page template. */
.page-type-category .page-hero,
.page-type-catalog .page-hero,
.page-type-service .page-hero { min-height: 420px; }
.page-type-category .page-hero-media,
.page-type-catalog .page-hero-media,
.page-type-service .page-hero-media { left: 44%; }
.page-type-category .page-hero-overlay,
.page-type-catalog .page-hero-overlay,
.page-type-service .page-hero-overlay { background: linear-gradient(90deg, #071724 0%, #071724 38%, rgba(7,23,36,.96) 49%, rgba(7,23,36,.38) 74%, rgba(7,23,36,.06) 100%); }
.page-type-category .page-hero-content,
.page-type-catalog .page-hero-content,
.page-type-service .page-hero-content { padding-block: 66px 58px; }

.page-type-category .inner-section:first-of-type { background: #f7f9fa; }
.page-type-category .inner-section:first-of-type .inner-grid { grid-template-columns: .8fr 1.2fr; gap: 7%; }
.page-type-category .inner-section:first-of-type .inner-list { padding-top: 0; }
.page-type-category .inner-section:first-of-type .inner-list-row { padding-block: 28px; }
.page-type-category .category-directory .inner-list,
.page-type-products .category-directory .inner-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; border-top: 0; }
.page-type-category .category-directory .inner-list-row,
.page-type-products .category-directory .inner-list-row { border-top: 1px solid var(--line); }

.page-type-catalog .page-hero { min-height: 380px; }
.page-type-catalog .page-hero-media { left: 57%; }
.page-type-catalog .page-hero-overlay { background: linear-gradient(90deg, #071724 0%, #071724 48%, rgba(7,23,36,.82) 63%, rgba(7,23,36,.18) 100%); }
.page-type-catalog .inner-section:first-of-type { padding-block: 62px 78px; }
.page-type-catalog .inner-section:first-of-type .inner-list { border-top: 0; }
.page-type-catalog .inner-section:first-of-type .inner-list-row { display: block; padding: 22px 0; position: relative; }
.page-type-catalog .inner-section:first-of-type .row-number { position: absolute; left: 0; top: 24px; }
.page-type-catalog .inner-section-dark { background: #102b3a; }
.directory-procurement-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin: 28px 0 30px;
  padding: 22px 24px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #f7f9fa;
}
.directory-procurement-strip p:not(.eyebrow) { max-width: 620px; margin: 7px 0 0; color: var(--muted); line-height: 1.65; }
.directory-procurement-strip .page-actions { margin-top: 0; justify-content: flex-end; }
.directory-procurement-strip .text-link { white-space: nowrap; }

.page-type-service .page-hero { min-height: 450px; }
.page-type-service .inner-section:first-of-type .inner-grid { grid-template-columns: 1.15fr .85fr; gap: 8%; }
.page-type-service .inner-section:first-of-type .inner-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; border-top: 0; }
.page-type-service .inner-section:first-of-type .inner-list-row { border-top: 1px solid var(--line); padding-block: 25px; }
.page-type-service .inner-section:first-of-type .inner-list-row:nth-child(-n+2) { padding-top: 0; }
.page-type-service .inner-section-dark .inner-list { max-width: 680px; }

.page-type-guide .page-hero { min-height: 360px; }
.page-type-guide .page-hero-media { left: 58%; }
.page-type-guide .page-hero-overlay { background: linear-gradient(90deg, #071724 0%, #071724 52%, rgba(7,23,36,.78) 68%, rgba(7,23,36,.12) 100%); }
.page-type-guide .page-hero-content { padding-block: 60px 50px; }
.page-type-guide .page-hero h1 { max-width: 630px; font-size: 42px; }
.page-type-guide .inner-section:first-of-type { padding-top: 62px; }
.page-type-guide .inner-section:first-of-type .inner-list { background: var(--paper); border: 1px solid var(--line); padding: 8px 26px; }
.page-type-guide .inner-section:first-of-type .inner-list-row { padding-block: 20px; }
.page-type-guide .inner-section-dark { background: #182f3c; }
.page-type-guide .inner-faq { max-width: 980px; }

.page-type-resource-hub .page-hero { min-height: 400px; }
.page-type-resource-hub .page-hero-media { left: 52%; }
.page-type-resource-hub .inner-section:first-of-type .inner-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; border-top: 0; }
.page-type-resource-hub .inner-section:first-of-type .inner-list-row { border-top: 1px solid var(--line); padding-block: 21px; }

.page-type-operations .page-hero { min-height: 390px; }
.page-type-operations .page-hero-media { left: 50%; }
.page-type-operations .page-hero-overlay { background: linear-gradient(90deg, #071724 0%, #071724 45%, rgba(7,23,36,.86) 60%, rgba(7,23,36,.16) 100%); }
.page-type-operations .inner-section:first-of-type { padding-block: 72px 88px; }
.page-type-operations .inner-section:first-of-type .inner-grid { grid-template-columns: 1.08fr .92fr; }
.page-type-operations .inner-section:first-of-type .inner-list-row { grid-template-columns: minmax(0, 1fr); padding-block: 27px; }
.page-type-operations .inner-section:first-of-type .row-number { display: none; width: 28px; height: 28px; align-items: center; justify-content: center; border: 1px solid #9aaab2; padding: 0; }
.page-type-operations .inner-section-dark { background: #0d2534; }

.page-type-profile .page-hero { min-height: 430px; }
.page-type-profile .page-hero-media { left: 50%; }
.page-type-profile .inner-section:first-of-type { background: #f7f9fa; }
.page-type-profile .inner-section:first-of-type .inner-copy { padding-top: 12px; }
.page-type-profile .inner-section-dark { background: #0e2635; }

.page-type-contact .page-hero { min-height: 330px; }
.page-type-contact .page-hero-media { left: 61%; }
.page-type-contact .page-hero-overlay { background: linear-gradient(90deg, #071724 0%, #071724 55%, rgba(7,23,36,.7) 72%, rgba(7,23,36,.12) 100%); }
.page-type-contact .page-hero-content { padding-block: 54px 42px; }
.page-type-contact .page-hero h1 { max-width: 560px; font-size: 42px; }
.page-type-contact .inner-section:first-of-type .inner-list { border-top: 2px solid var(--ink); }
.page-type-contact .inner-section:first-of-type .inner-list-row { padding-block: 27px; }
.page-type-contact .page-contact { background: #102b3a; }

@media (max-width: 1100px) {
  .page-type-category .page-hero-media,
  .page-type-catalog .page-hero-media,
  .page-type-service .page-hero-media,
  .page-type-guide .page-hero-media,
  .page-type-resource-hub .page-hero-media,
  .page-type-operations .page-hero-media,
  .page-type-profile .page-hero-media,
  .page-type-contact .page-hero-media { left: 38%; }
  .page-type-category .page-hero-overlay,
  .page-type-catalog .page-hero-overlay,
  .page-type-service .page-hero-overlay,
  .page-type-guide .page-hero-overlay,
  .page-type-resource-hub .page-hero-overlay,
  .page-type-operations .page-hero-overlay,
  .page-type-profile .page-hero-overlay,
  .page-type-contact .page-hero-overlay { background: linear-gradient(90deg, #071724 0%, rgba(7,23,36,.98) 44%, rgba(7,23,36,.7) 65%, rgba(7,23,36,.12) 100%); }
}

@media (max-width: 760px) {
  .page-type-category .page-hero,
  .page-type-catalog .page-hero,
  .page-type-service .page-hero,
  .page-type-guide .page-hero,
  .page-type-resource-hub .page-hero,
  .page-type-operations .page-hero,
  .page-type-profile .page-hero,
  .page-type-contact .page-hero { min-height: 560px; }
  .page-type-category .page-hero-media,
  .page-type-catalog .page-hero-media,
  .page-type-service .page-hero-media,
  .page-type-guide .page-hero-media,
  .page-type-resource-hub .page-hero-media,
  .page-type-operations .page-hero-media,
  .page-type-profile .page-hero-media,
  .page-type-contact .page-hero-media { left: 0; }
  .page-type-category .page-hero-overlay,
  .page-type-catalog .page-hero-overlay,
  .page-type-service .page-hero-overlay,
  .page-type-guide .page-hero-overlay,
  .page-type-resource-hub .page-hero-overlay,
  .page-type-operations .page-hero-overlay,
  .page-type-profile .page-hero-overlay,
  .page-type-contact .page-hero-overlay { background: linear-gradient(180deg, rgba(7,23,36,.08) 0%, rgba(7,23,36,.36) 28%, rgba(7,23,36,.98) 66%, #071724 100%); }
  /* Keep the catalog brief readable over the bright vial image while
     retaining enough image detail to identify the supplied format. */
  .page-type-catalog .page-hero-overlay { background: linear-gradient(180deg, rgba(7,23,36,.2) 0%, rgba(7,23,36,.58) 30%, rgba(7,23,36,.97) 64%, #071724 100%); }
  /* Let the documentation hero carry a visible lab reference on small
     screens while the lower copy remains on a stable navy reading field. */
  .page-type-documentation .page-hero-media { opacity: .48; }
  .page-type-documentation .page-hero-media img { object-position: 68% center; filter: saturate(.78); }
  .page-type-documentation .page-hero-overlay { background: linear-gradient(180deg, rgba(7,23,36,.08) 0%, rgba(7,23,36,.28) 30%, rgba(7,23,36,.88) 65%, #071724 100%); }
  .page-type-category .inner-section:first-of-type .inner-grid,
  .page-type-service .inner-section:first-of-type .inner-grid,
  .page-type-operations .inner-section:first-of-type .inner-grid { grid-template-columns: 1fr; }
  .page-type-category .category-directory .inner-list,
  .page-type-products .category-directory .inner-list,
  .page-type-resource-hub .inner-section:first-of-type .inner-list,
  .page-type-service .inner-section:first-of-type .inner-list { display: block; }
  .page-type-catalog .inner-section:first-of-type .inner-list { padding: 0; border: 0; background: transparent; }
  .page-type-guide .inner-section:first-of-type .inner-list { padding-inline: 18px; }
}

/* Editorial pass: each page family now has a distinct information rhythm. */
.inner-page .page-contact-grid { grid-template-columns: 1.05fr .95fr; max-width: 1200px; }
.inner-page .page-contact .contact-photo { display: block; }

@media (max-width: 760px) {
  .inner-page .page-contact-grid { grid-template-columns: 1fr; max-width: none; }
  .inner-page .page-contact .contact-photo { display: block; }
}

/* Catalog and category pages read like a directory rather than a service landing page. */
.page-type-products .page-hero,
.page-type-category .page-hero,
.page-type-catalog .page-hero { min-height: 388px; }
.page-type-products .inner-section:first-of-type,
.page-type-category .inner-section:first-of-type { background: #f4f7f8; }
.page-type-products .category-directory,
.page-type-category .category-directory { padding-top: 62px; }
.page-type-products .category-directory .inner-copy,
.page-type-category .category-directory .inner-copy { position: sticky; top: 96px; }
.page-type-products .category-directory .inner-list,
.page-type-category .category-directory .inner-list { background: #fff; padding: 0 24px; border: 1px solid var(--line); }
.page-type-products .category-directory .inner-list-row,
.page-type-category .category-directory .inner-list-row { min-height: 92px; align-items: start; }
.page-type-products .category-directory .row-number,
.page-type-category .category-directory .row-number { color: var(--accent); }
.page-type-catalog .inner-section:first-of-type { background: #102b3a; color: #f4f7f8; }
.page-type-catalog .inner-section:first-of-type .inner-copy > p:not(.eyebrow),
.page-type-catalog .inner-section:first-of-type .inner-list-row p { color: #c6d5dd; }
.page-type-catalog .inner-section:first-of-type .inner-list { border-top-color: #3a5664; }
.page-type-catalog .inner-section:first-of-type .inner-list-row { border-bottom-color: #3a5664; }

/* Service pages use a process line: the numbered rows are the work stages. */
.page-type-service .inner-section:first-of-type { background: #eef3f4; }
.page-type-service .inner-section:first-of-type .inner-list { position: relative; gap: 0 42px; }
.page-type-service .inner-section:first-of-type .inner-list::before { content: ""; position: absolute; left: 13px; top: 14px; bottom: 14px; border-left: 1px solid #9aadb5; }
.page-type-service .inner-section:first-of-type .inner-list-row { position: relative; grid-template-columns: minmax(0, 1fr); background: #eef3f4; }
.page-type-service .inner-section:first-of-type .row-number { z-index: 1; background: #eef3f4; color: var(--accent); }
.page-type-service .inner-section-dark { background: #0b202d; }
.page-type-service .inner-section-dark .inner-list { max-width: none; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 34px; }
.page-type-service .inner-section-dark .inner-list-row { padding-block: 26px; }

/* Operations pages are denser, with a field-manual feel rather than a campaign layout. */
.page-type-operations .page-hero { min-height: 348px; }
.page-type-operations .page-hero-content { padding-block: 58px 48px; }
.page-type-operations .inner-section:first-of-type { background: #f5f7f8; }
.page-type-operations .inner-section:first-of-type .inner-copy { border-right: 1px solid var(--line); padding-right: 8%; }
.page-type-operations .inner-section:first-of-type .inner-list { background: #fff; padding: 0 24px; border: 1px solid var(--line); }
.page-type-operations .inner-section:first-of-type .inner-list-row { min-height: 96px; align-items: start; }
.page-type-operations .inner-section-dark { background: #132e3d; }
.page-type-operations .inner-section-dark .inner-copy h2 { max-width: 500px; }
.page-type-operations .inner-section-dark .inner-list-row { grid-template-columns: minmax(0, 1fr); }
.page-type-operations .inner-section-dark .row-number { font-family: var(--mono); font-size: 11px; }

/* Guides and resource hubs use an editorial reading column. */
.page-type-guide .page-hero { min-height: 306px; }
.page-type-guide .page-hero-content { padding-block: 48px 42px; }
.page-type-guide .page-hero-media { left: 63%; }
.page-type-guide .inner-section:first-of-type { background: #f7f9fa; }
.page-type-guide .inner-section:first-of-type .inner-grid { grid-template-columns: .58fr 1.42fr; gap: 8%; }
.page-type-guide .inner-section:first-of-type .inner-copy { border-right: 1px solid var(--line); padding-right: 12%; }
.page-type-guide .inner-section:first-of-type .inner-list { padding: 0 26px; background: #fff; border: 1px solid var(--line); }
.page-type-guide .inner-section:first-of-type .inner-list-row { grid-template-columns: minmax(0, 1fr); }
.page-type-guide .inner-section-dark { background: #e8eef0; color: var(--ink); }
.page-type-guide .inner-section-dark .inner-copy > p:not(.eyebrow),
.page-type-guide .inner-section-dark .inner-list-row p { color: var(--muted); }
.page-type-guide .inner-section-dark .eyebrow { color: #52717e; }
.page-type-guide .inner-section-dark .inner-list { border-top-color: #b7c6cb; }
.page-type-guide .inner-section-dark .inner-list-row { border-bottom-color: #b7c6cb; }
.page-type-guide .inner-section-dark .text-link { color: var(--ink); }
.page-type-inner .page-hero { min-height: 360px; }
.page-type-inner .inner-section:first-of-type { background: #f4f7f8; }
.page-type-inner .inner-section:first-of-type .inner-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; border-top: 0; }
.page-type-inner .inner-section:first-of-type .inner-list-row { border-top: 1px solid var(--line); }

/* Profile pages lead with a statement and a quiet directory of buyer routes. */
.page-type-profile .page-hero { min-height: 372px; }
.page-type-profile .page-hero-content { padding-block: 62px 50px; }
.page-type-profile .inner-section:first-of-type { background: #f4f7f8; }
.page-type-profile .inner-section:first-of-type .inner-grid { grid-template-columns: 1fr 1fr; gap: 12%; }
.page-type-profile .inner-section:first-of-type .inner-copy { border-left: 3px solid var(--accent); padding-left: 28px; }
.page-type-profile .inner-section:first-of-type .inner-list { border-top: 2px solid var(--ink); }
.page-type-profile .inner-section-dark { background: #0e2635; }

/* The contact page is an inquiry hub, with a shorter title band and direct routes. */
.page-type-contact .page-hero { min-height: 260px; background: #0b202d; }
.page-type-contact .page-hero-media { opacity: .35; }
.page-type-contact .page-hero-content { padding-block: 44px 36px; }
.page-type-contact .inner-section:first-of-type { background: #f4f7f8; }
.page-type-contact .inner-section:first-of-type .inner-grid { grid-template-columns: .75fr 1.25fr; gap: 8%; }
.page-type-contact .inner-section:first-of-type .inner-copy { border-right: 1px solid var(--line); padding-right: 10%; }
.page-type-contact .inner-section-dark { background: #e8eef0; color: var(--ink); }
.page-type-contact .inner-section-dark .inner-copy > p:not(.eyebrow),
.page-type-contact .inner-section-dark .inner-list-row p { color: var(--muted); }
.page-type-contact .inner-section-dark .eyebrow { color: #52717e; }
.page-type-contact .inner-section-dark .inner-list { border-top-color: #b7c6cb; }
.page-type-contact .inner-section-dark .inner-list-row { border-bottom-color: #b7c6cb; }
.page-type-contact .inner-section-dark .text-link { color: var(--ink); }
.page-type-contact .page-contact { background: #071724; }

/* Small variations within the families keep related pages recognizable without
   forcing every route into the same visual treatment. */
.page-type-supply .inner-section:first-of-type .inner-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 24px; border-top: 0; }
.page-type-supply .inner-section:first-of-type .inner-list-row { border-top: 1px solid var(--line); }
.page-type-supply .inner-section:first-of-type .row-number { color: var(--accent); }
.page-type-quality .inner-section:first-of-type { background: #eef3f4; }
.page-type-quality .inner-section:first-of-type .inner-list-row { grid-template-columns: minmax(0, 1fr); }
.page-type-quality .inner-section:first-of-type .row-number { color: var(--accent); font-size: 12px; }
.page-type-quality .inner-section-dark { background: #f4f7f8; color: var(--ink); }
.page-type-quality .inner-section-dark .inner-copy > p:not(.eyebrow),
.page-type-quality .inner-section-dark .inner-list-row p { color: var(--muted); }
.page-type-quality .inner-section-dark .eyebrow { color: #52717e; }
.page-type-quality .inner-section-dark .inner-list { border-top-color: var(--line); }
.page-type-quality .inner-section-dark .inner-list-row { border-bottom-color: var(--line); }
.page-type-quality .inner-section-dark .text-link { color: var(--ink); }
.page-type-fulfillment .inner-section:first-of-type { background: #f5f7f8; }
.page-type-fulfillment .inner-section:first-of-type .inner-grid { grid-template-columns: .72fr 1.28fr; }
.page-type-fulfillment .inner-section:first-of-type .inner-list { border-top: 2px solid var(--ink); }
.page-type-fulfillment .inner-section:first-of-type .inner-list-row { padding-block: 28px; }
.page-type-fulfillment .inner-section-dark { background: #183949; }
.page-type-procurement .inner-section:first-of-type .inner-list { border-top: 2px solid var(--accent); }
.page-type-procurement .inner-section:first-of-type .inner-list-row { grid-template-columns: minmax(0, 1fr); padding-block: 28px; }
.page-type-procurement .inner-section:first-of-type .row-number { font-size: 14px; color: var(--accent); }
.page-type-procurement .inner-section-dark { background: #102a38; color: #f7fafb; }
.page-type-procurement .inner-section-dark .inner-copy > p:not(.eyebrow),
.page-type-procurement .inner-section-dark .inner-list-row p { color: #d0dde3; }
.page-type-procurement .inner-section-dark .eyebrow,
.page-type-procurement .inner-section-dark .row-number { color: #b7cbd3; }
.page-type-procurement .inner-section-dark .inner-list { border-top-color: rgba(190, 211, 218, .3); }
.page-type-procurement .inner-section-dark .inner-list-row { border-bottom-color: rgba(190, 211, 218, .24); }
.page-type-procurement .inner-section-dark .text-link,
.page-type-procurement .inner-section-dark .inline-link { color: #e1f0e9; text-decoration-color: #9dbdb0; }
.page-type-procurement .inner-section-dark .text-link:hover,
.page-type-procurement .inner-section-dark .inline-link:hover { color: #fff; text-decoration-color: currentColor; }
.page-type-procurement .inner-section-dark .inner-photo figcaption { color: #b7cbd3; }
.page-type-factory .page-hero-media img { object-position: 64% center; }
.page-type-factory .inner-section:first-of-type { background: #eef3f4; }
.page-type-factory .inner-section:first-of-type .inner-list-row { grid-template-columns: minmax(0, 1fr); }
.page-type-factory .inner-section-dark { background: #102b3a; }
.page-type-synthesis .page-hero-media img { object-position: 62% center; }
.page-type-synthesis .inner-section:first-of-type .inner-list-row:nth-child(1) .row-number { background: #2f6d61; color: #fff; border-color: #2f6d61; }
.page-type-oem .page-hero-media img { object-position: 70% center; }
.page-type-oem .inner-section:first-of-type { background: #f4f1ed; }
.page-type-oem .inner-section:first-of-type .inner-list-row { border-bottom-color: #d6d1c9; }
.page-type-oem .inner-section-dark { background: #27353a; }
.page-type-resource-hub .page-hero { min-height: 340px; }
.page-type-resource-hub .page-hero-content { padding-block: 52px 42px; }
.page-type-resource-hub .inner-section:first-of-type { background: #f4f7f8; }
.page-type-resource-hub .inner-section:first-of-type .inner-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; border-top: 0; }
.page-type-resource-hub .inner-section:first-of-type .inner-list-row { border-top: 1px solid var(--line); }

/* The hub contains many useful guides, but procurement teams need one clear
   handoff into the existing PO-ready route. Give that row hierarchy without
   adding another page or turning the guide directory into a card grid. */
.page-type-resource-hub .inner-section:first-of-type .inner-list-row:has(a[href="../procurement/"]) {
  position: relative;
  border-top-color: #9ab0b7;
  border-bottom-color: #9ab0b7;
  border-left: 3px solid var(--accent);
  padding-left: 18px;
  background: #eaf1f2;
}
.page-type-resource-hub .inner-section:first-of-type .inner-list-row:has(a[href="../procurement/"]) h3::after {
  content: "PO-READY ROUTE";
  display: inline-block;
  margin-left: 12px;
  color: #52717e;
  font-family: var(--mono);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0;
  vertical-align: 2px;
}
.page-type-resource-hub .inner-section:first-of-type .inner-list-row:has(a[href="../procurement/"]) .row-number {
  color: var(--accent);
}
@media (max-width: 760px) {
  .page-type-resource-hub .inner-section:first-of-type .inner-list-row:has(a[href="../procurement/"]) {
    padding-left: 14px;
  }
  .page-type-resource-hub .inner-section:first-of-type .inner-list-row:has(a[href="../procurement/"]) h3::after {
    display: block;
    margin: 7px 0 0;
  }
}

.page-type-about .inner-section:first-of-type .inner-list-row { padding-block: 29px; }
.page-type-buyers .inner-section:first-of-type { background: #f4f7f8; }
.page-type-buyers .inner-section:nth-of-type(3) { background: #eef3f4; }

/* Buyer guides are reading tools, not miniature landing pages. Keep the
   metadata and article head compact, then give the checklist a clear reading
   rail with a narrower measure and stronger row rhythm. */
.page-type-guide .page-hero {
  min-height: 252px;
  align-items: center;
  border-bottom: 1px solid #274252;
}
.page-type-guide .page-hero-media { opacity: .34; }
.page-type-guide .page-hero-media img { object-position: center 48%; filter: saturate(.45) contrast(.95); }
.page-type-guide .page-hero-overlay {
  background: linear-gradient(90deg, #071724 0%, #071724 54%, rgba(7,23,36,.9) 76%, rgba(7,23,36,.46) 100%);
}
.page-type-guide .page-hero-content {
  width: min(1040px, calc(100% - 96px));
  padding-block: 34px 30px;
}
.page-type-guide .page-hero h1 {
  max-width: 780px;
  margin-bottom: 12px;
  font-size: 40px;
  line-height: 1.1;
}
.page-type-guide .page-lede { max-width: 670px; font-size: 16px; line-height: 1.6; }
.page-type-guide .resource-meta {
  display: block;
  margin-top: 14px;
  color: #c4d3da;
  font-size: 10px;
  letter-spacing: 0;
}
.page-type-guide .resource-meta::before,
.page-type-guide .resource-meta::after {
  display: inline-block;
  color: #8fb5bd;
  font-size: 9px;
  letter-spacing: 0;
  vertical-align: 1px;
}
.page-type-guide .resource-meta::before { content: "GUIDE"; margin-right: 10px; }
.page-type-guide .resource-meta::after { display: none; }
.page-type-guide .page-actions { margin-top: 20px; }

.page-type-guide .inner-section > .page-width,
.page-type-guide .faq-section > .page-width {
  width: min(1040px, calc(100% - 96px));
}
.page-type-guide .inner-section { padding-block: 68px; }
.page-type-guide .inner-grid { grid-template-columns: .62fr 1.38fr; gap: 9%; }
.page-type-guide .inner-copy { position: sticky; top: 92px; }
.page-type-guide .inner-copy > p:not(.eyebrow) { max-width: 460px; }
.page-type-guide .inner-copy .section-photo { margin-top: 24px; }
.page-type-guide .inner-list {
  position: relative;
  padding: 0 0 0 30px;
  background: transparent;
  border: 0;
  border-left: 1px solid var(--line);
}
.page-type-guide .inner-list::before {
  content: "CHECKLIST  /  BUYER REVIEW";
  display: block;
  margin: 0 0 4px;
  color: var(--accent);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0;
}
.page-type-guide .inner-list-row {
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  padding-block: 22px;
  border-bottom: 1px solid var(--line);
}
.page-type-guide .inner-list-row:first-of-type { border-top: 1px solid var(--line); }
.page-type-guide .row-number {
  display: none;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border: 1px solid #9fb0b7;
  color: var(--accent);
  font-family: var(--mono);
  font-size: 10px;
}
.page-type-guide .inner-section-dark .inner-list { border-left-color: #b7c6cb; }
.page-type-guide .inner-section-dark .inner-list-row:first-of-type,
.page-type-guide .inner-section-dark .inner-list-row { border-bottom-color: #b7c6cb; }
.page-type-guide .inner-section-dark .inner-list::before { color: #52717e; }
.page-type-guide .inner-section-dark .row-number { border-color: #8da3ad; }
.page-type-guide .faq-section { padding-block: 66px; }
.page-type-guide .inner-faq { max-width: 760px; }

@media (max-width: 1100px) {
  .page-type-guide .page-hero-content,
  .page-type-guide .inner-section > .page-width,
  .page-type-guide .faq-section > .page-width { width: calc(100% - 64px); }
}
@media (max-width: 760px) {
  .page-type-guide .page-hero { min-height: 408px; align-items: end; }
  .page-type-guide .page-hero-media { opacity: .25; }
  .page-type-documentation .page-hero-media { opacity: .38; }
  .page-type-guide .page-hero-overlay { background: linear-gradient(180deg, rgba(7,23,36,.18) 0%, rgba(7,23,36,.72) 48%, #071724 80%, #071724 100%); }
  .page-type-guide .page-hero-content { width: calc(100% - 40px); padding-block: 48px 34px; }
  .page-type-guide .page-hero h1 { font-size: 32px; }
  .page-type-guide .page-lede { font-size: 15px; }
  .page-type-guide .resource-meta { max-width: 300px; line-height: 1.7; }
  .page-type-guide .resource-meta::before,
  .page-type-guide .resource-meta::after { display: inline; }
  .page-type-guide .inner-section > .page-width,
  .page-type-guide .faq-section > .page-width { width: calc(100% - 40px); }
  .page-type-guide .inner-section { padding-block: 52px; }
  .page-type-guide .inner-copy { position: static; }
  .page-type-guide .inner-grid { grid-template-columns: 1fr; gap: 26px; }
  .page-type-guide .inner-list { padding-left: 18px; }
  .page-type-guide .inner-list-row { padding-block: 19px; }
}

/* Keep mobile service pages useful within the first viewport. Long-form
   procurement detail belongs below the fold; the hero should introduce the
   route and expose one clear action without becoming the whole page. */
@media (max-width: 760px) {
  .page-type-service .page-hero,
  .page-type-operations .page-hero,
  .page-type-profile .page-hero,
  .page-type-resource-hub .page-hero { min-height: 480px; }
  .page-type-category .page-hero,
  .page-type-products .page-hero,
  .page-type-catalog .page-hero { min-height: 440px; }
  .page-type-factory .page-hero,
  .page-type-supply .page-hero { min-height: 500px; }
  .page-type-contact .page-hero,
  .page-type-guide .page-hero { min-height: 390px; }
  .page-type-synthesis .page-hero .page-actions { gap: 12px 20px; margin-top: 22px; }
  .page-type-synthesis .page-hero-content { padding-block: 42px 30px; }
  .page-type-synthesis .page-hero h1 { font-size: 32px; }
  .page-type-synthesis .page-lede { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
  .page-type-catalog .page-hero .page-actions > a:nth-child(n + 2) { display: none; }
  .page-type-factory .page-hero-content { padding-block: 32px 26px; }
  .page-type-factory .page-hero h1 { font-size: 29px; }
  .page-type-factory .page-lede { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; }
}
.page-type-inquiry .inner-section-dark .inner-grid { grid-template-columns: .9fr 1.1fr; }

/* Supplied video illustrates the workflow without a sales overlay. */
.page-type-catalog .inner-section-dark .inner-photo video.section-video,
.page-type-factory .inner-section:not(.inner-section-dark) .inner-photo video.section-video,
.page-type-synthesis .inner-section:not(.inner-section-dark) .inner-photo video.section-video,
.page-type-oem .inner-section-dark .inner-photo video.section-video,
.page-type-fulfillment .inner-section-dark .inner-photo video.section-video { width: 100%; height: 100%; display: block; object-fit: cover; }
.inner-photo video.section-video { width: 100%; display: block; aspect-ratio: 16 / 10; object-fit: cover; background: #dce6e9; filter: saturate(.74); }
.page-type-catalog .inner-section-dark .inner-photo picture { display: block; aspect-ratio: 2 / 1; overflow: hidden; }
.page-type-catalog .inner-section-dark .inner-photo video.section-video { aspect-ratio: 2 / 1; object-position: center 54%; }
.page-type-factory .inner-section:not(.inner-section-dark) .inner-photo picture,
.page-type-oem .inner-section-dark .inner-photo picture,
.page-type-fulfillment .inner-section-dark .inner-photo picture { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.page-type-factory .inner-section:not(.inner-section-dark) .inner-photo video.section-video { aspect-ratio: 1 / 1; object-position: center; filter: saturate(.72); }
.page-type-synthesis .inner-section:not(.inner-section-dark) .inner-photo video.section-video { aspect-ratio: 1 / 1; object-position: center; filter: saturate(.72); }
.page-type-oem .inner-section-dark .inner-photo video.section-video { aspect-ratio: 16 / 6.5; object-position: center; filter: saturate(.72); }
.page-type-fulfillment .inner-section-dark .inner-photo video.section-video { aspect-ratio: 16 / 10; object-position: center; filter: saturate(.72); }
.page-type-quality .inner-section:not(.inner-section-dark) .inner-photo video.section-video { object-position: center 52%; }
.page-type-procurement .inner-section:not(.inner-section-dark) .inner-photo video.section-video { object-position: center 48%; }
.page-type-documentation .inner-section:not(.inner-section-dark) .inner-photo video.section-video { object-position: center; }
.page-type-resource-hub .inner-section:not(.inner-section-dark) .inner-photo video.section-video { object-position: center 50%; }
.home-page .production-photo video.section-video { aspect-ratio: 16 / 10; object-position: center; }

/* A single process reel gives the factory page a visual rhythm without
   repeating the same hero or turning the site into a video gallery. */
.factory-process-reel { background: #0b202d; color: #f7fafb; padding-block: clamp(64px, 8vw, 112px); }
.factory-process-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, .6fr); gap: 12%; align-items: end; margin-bottom: 42px; }
.factory-process-intro h2 { max-width: 620px; margin: 12px 0 0; color: #f7fafb; }
.factory-process-intro > p { max-width: 430px; margin: 0; color: rgba(247,250,251,.72); }
.factory-process-reel .eyebrow { color: #9bb7c1; }
.factory-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.factory-process-item { margin: 0; min-width: 0; }
.factory-process-media { position: relative; }
.factory-process-video { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: #173948; filter: saturate(.78); }
.factory-process-play { position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 44px; min-width: 112px; padding: 9px 14px; border: 1px solid #a5bbc5; border-radius: 2px; background: rgba(7,23,36,.94); color: #fff; font: 600 13px/1.4 var(--display); cursor: pointer; }
.factory-process-play:hover { background: #193b4d; }
.factory-process-play[hidden] { display: none; }
.factory-process-play:focus-visible, .factory-process-video:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.factory-process-status { margin-top: 8px; color: #d4e0e5; font-size: 12px; line-height: 1.5; }
.factory-process-status:empty { display: none; }
.factory-process-item figcaption { display: flex; justify-content: space-between; gap: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.18); color: #f7fafb; font-size: 14px; }
.factory-process-item figcaption small { color: rgba(247,250,251,.55); font-family: var(--mono); font-size: 10px; letter-spacing: 0; text-transform: uppercase; white-space: nowrap; }
.fulfillment-footage { background: #e9eff1; color: var(--ink); padding-block: clamp(60px, 7vw, 104px); border-top: 1px solid var(--line); }
.fulfillment-footage-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, .6fr); gap: 12%; align-items: end; margin-bottom: 38px; }
.fulfillment-footage-intro h2 { max-width: 540px; margin: 12px 0 0; }
.fulfillment-footage-intro > p { max-width: 460px; margin: 0; color: #536370; }
.fulfillment-footage-grid { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(220px, .72fr); gap: 24px; align-items: start; }
.fulfillment-footage-item { margin: 0; min-width: 0; }
.fulfillment-footage-video { display: block; width: 100%; aspect-ratio: 12 / 5; object-fit: cover; object-position: center top; background: #cbd9dd; filter: saturate(.72); }
.fulfillment-footage-item.is-portrait { max-width: 360px; justify-self: end; width: 100%; }
.fulfillment-footage-item.is-portrait .fulfillment-footage-video { aspect-ratio: 4 / 5; object-position: center top; }
.fulfillment-footage-item figcaption { display: flex; justify-content: space-between; gap: 14px; padding-top: 11px; border-top: 1px solid rgba(63,83,96,.3); color: #263c47; font-size: 14px; }
.fulfillment-footage-item figcaption small { color: #687b84; font-family: var(--mono); font-size: 10px; letter-spacing: 0; text-transform: uppercase; white-space: nowrap; }
@media (max-width: 760px) {
  .inner-page .page-contact-grid { max-width: none; }
  .page-type-products .page-hero,
  .page-type-category .page-hero,
  .page-type-catalog .page-hero { min-height: 408px; display: flex; }
  .page-type-products .page-hero-content,
  .page-type-category .page-hero-content,
  .page-type-catalog .page-hero-content { padding-block: 42px 32px; }
  .page-type-products .category-directory .inner-copy,
  .page-type-category .category-directory .inner-copy { position: static; }
  .page-type-products .category-directory .inner-list,
  .page-type-category .category-directory .inner-list { padding-inline: 16px; }
  .page-type-service .page-hero { min-height: 438px; }
  .page-type-service .inner-section-dark .inner-list { display: block; }
  .page-type-operations .page-hero { min-height: 330px; }
  .page-type-operations .page-hero-content { padding-block: 42px 32px; }
  .page-type-operations .inner-section:first-of-type .inner-copy { border-right: 0; padding-right: 0; }
  .page-type-guide .page-hero { min-height: 300px; }
  .page-type-guide .page-hero-content { padding-block: 40px 30px; }
  .page-type-guide .inner-section:first-of-type .inner-grid { grid-template-columns: 1fr; gap: 26px; }
  .page-type-guide .inner-section:first-of-type .inner-copy { border-right: 0; padding-right: 0; }
  .page-type-guide .inner-section-dark { background: #e8eef0; }
  .page-type-inner .page-hero { min-height: 340px; }
  .page-type-inner .inner-section:first-of-type .inner-list { display: block; }
  .page-type-profile .page-hero { min-height: 350px; }
  .page-type-profile .inner-section:first-of-type .inner-grid { grid-template-columns: 1fr; gap: 24px; }
  .page-type-contact .page-hero { min-height: 248px; }
  .page-type-contact .page-hero-content { padding-block: 36px 28px; }
  .page-type-contact .inner-section:first-of-type .inner-grid { grid-template-columns: 1fr; gap: 24px; }
  .page-type-contact .inner-section:first-of-type .inner-copy { border-right: 0; padding-right: 0; }
  .page-type-supply .inner-section:first-of-type .inner-list,
  .page-type-resource-hub .inner-section:first-of-type .inner-list { display: block; }
  .directory-procurement-strip { grid-template-columns: 1fr; gap: 18px; margin-block: 20px 24px; padding: 18px; }
  .directory-procurement-strip .page-actions { justify-content: flex-start; }
  .page-type-fulfillment .inner-section:first-of-type .inner-grid,
  .page-type-inquiry .inner-section-dark .inner-grid { grid-template-columns: 1fr; }
  .page-type-quality .inner-section:first-of-type .inner-list-row,
  .page-type-procurement .inner-section:first-of-type .inner-list-row { grid-template-columns: minmax(0, 1fr); }
  .page-type-factory .page-hero-media::after { right: 18px; bottom: 16px; font-size: 8px; }
  .factory-process-reel { padding-block: 58px; }
  .factory-process-intro { grid-template-columns: 1fr; gap: 18px; margin-bottom: 30px; }
  .factory-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
  .factory-process-video { aspect-ratio: 4 / 5; }
  .factory-process-item figcaption { display: block; padding-top: 9px; font-size: 13px; }
  .factory-process-item figcaption small { display: block; margin-top: 4px; }
  .fulfillment-footage { padding-block: 58px; }
  .fulfillment-footage-intro { grid-template-columns: 1fr; gap: 18px; margin-bottom: 30px; }
  .fulfillment-footage-grid { grid-template-columns: 1fr; gap: 28px; }
  .fulfillment-footage-item.is-portrait { max-width: none; justify-self: stretch; }
  .fulfillment-footage-video { aspect-ratio: 16 / 9; }
  .fulfillment-footage-item.is-portrait .fulfillment-footage-video { aspect-ratio: 4 / 5; max-height: 430px; }
  .fulfillment-footage-item figcaption { display: block; padding-top: 9px; font-size: 13px; }
  .fulfillment-footage-item figcaption small { display: block; margin-top: 4px; }
}

/* Keep text-heavy operational pages within a compact mobile first viewport. */
@media (max-width: 760px) {
  .page-type-synthesis .page-hero { min-height: 470px; }
  .page-type-oem .page-hero { min-height: 470px; }
  .page-type-oem .page-hero-content { padding-block: 40px 30px; }
  .page-type-oem .page-hero h1,
  .page-type-fulfillment .page-hero h1,
  .page-type-procurement .page-hero h1 { font-size: 32px; line-height: 1.08; }
  .page-type-fulfillment .page-hero,
  .page-type-procurement .page-hero { min-height: 500px; }
  .page-type-fulfillment .page-lede,
  .page-type-procurement .page-lede { font-size: 14px; line-height: 1.58; }
  .page-type-synthesis .page-hero .page-actions,
  .page-type-oem .page-hero .page-actions,
  .page-type-procurement .page-hero .page-actions { column-gap: 10px; row-gap: 8px; }
  .page-type-synthesis .page-hero .page-actions .text-link,
  .page-type-oem .page-hero .page-actions .text-link,
  .page-type-procurement .page-hero .page-actions .text-link { font-size: 12px; }
  .page-type-procurement .page-hero .resource-meta { font-size: 8px; letter-spacing: 0; white-space: nowrap; }
}

/* Catalog browsing shortcuts stay readable without widening the page. */
.catalog-category-links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 20px 0; font-size: 14px; }
.catalog-category-links a { color: #1d6359; text-decoration: underline; text-underline-offset: 4px; }
.catalog-category-links a:focus-visible { outline: 3px solid #365d75; outline-offset: 4px; }

/* Open editorial rails unify catalog and buyer pages with the brand system. */
.page-type-products .page-hero,
.page-type-category .page-hero { min-height: 472px; }
.page-type-products .page-hero-media,
.page-type-category .page-hero-media { left: 26%; }
.page-type-products .page-hero-overlay,
.page-type-category .page-hero-overlay { background: linear-gradient(90deg,#071724 0%,rgba(7,23,36,.98) 25%,rgba(7,23,36,.87) 44%,rgba(7,23,36,.35) 72%,rgba(7,23,36,.1) 100%); }
.page-type-products .page-hero-content,
.page-type-category .page-hero-content { padding-block: 64px 62px; }
.page-type-products .page-hero h1,
.page-type-category .page-hero h1 { max-width: 650px; font-size: 40px; line-height: 1.1; }
.page-type-products .page-lede,
.page-type-category .page-lede { max-width: 565px; font-size: 15px; line-height: 1.7; }
.page-type-products .category-directory .inner-list,
.page-type-category .category-directory .inner-list { background: transparent; border: 0; padding: 0; }
.page-type-products .category-directory .inner-list-row,
.page-type-category .category-directory .inner-list-row { min-height: 112px; padding-block: 25px; border-top: 1px solid #bac9cf; border-bottom: 0; }
.page-type-products .category-directory .inner-list-row:last-child,
.page-type-category .category-directory .inner-list-row:last-child { border-bottom: 1px solid #bac9cf; }
.page-supplier-guide .inner-section:first-of-type .inner-list { border: 0; background: transparent; padding: 0; }
.page-supplier-guide .inner-section:first-of-type .inner-list-row { padding-block: 24px; }
.page-supplier-guide .inner-section:first-of-type .inner-list-row:first-child { border-top: 1px solid var(--line); }
.inner-list-row:has(a):hover h3 a { color: var(--accent); }
.inner-section-dark .inner-list-row:has(a):hover h3 a { color: #d5e5df; }
.page-type-guide .inner-section-dark .inner-list-row:has(a):hover h3 a { color: var(--accent); }
.inner-list-row h3 a { transition: color .2s ease; }
.page-batch-testing .table-scroll-note { display: none; }
.page-batch-testing #batch-review-example { padding-block: 28px; }
.page-batch-testing .batch-example > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 44px;
  padding-block: 16px;
  cursor: pointer;
  list-style: none;
}
.page-batch-testing .batch-example > summary::-webkit-details-marker { display: none; }
.page-batch-testing .batch-example > summary h2 { margin: 0; font-size: 28px; }
.page-batch-testing .batch-example > summary::after {
  content: "";
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background: url("assets/icons/chevron-down.svg") center / contain no-repeat;
}
.page-batch-testing .batch-example[open] > summary::after { transform: rotate(180deg); }
.page-batch-testing .batch-example > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
@media (max-width: 760px) {
  .page-batch-testing .table-scroll-note { display: block; margin: 0 0 14px; color: var(--muted); font-size: 12px; }
}
.inner-page .page-contact .section-photo figcaption { background: transparent; padding-inline: 0; }
@media (max-width: 760px) {
  .page-type-products .page-hero,
  .page-type-category .page-hero { min-height: 454px; }
  .page-type-products .page-hero-content,
  .page-type-category .page-hero-content { padding-block: 42px 35px; }
  .page-type-products .page-hero h1,
  .page-type-category .page-hero h1 { font-size: 33px; max-width: 380px; }
  .page-type-products .page-lede,
  .page-type-category .page-lede { font-size: 14px; }
  .page-type-products .page-hero-media,
  .page-type-category .page-hero-media { left: 0; }
  .page-type-products .page-hero-overlay,
  .page-type-category .page-hero-overlay { background: linear-gradient(180deg,rgba(7,23,36,.45) 0%,rgba(7,23,36,.86) 33%,#071724 80%); }
  .page-type-products .category-directory .inner-list,
  .page-type-category .category-directory .inner-list { padding: 0; }
  .page-type-products .category-directory .inner-list-row,
  .page-type-category .category-directory .inner-list-row { min-height: 0; padding-block: 24px; }
}
.page-hero-media picture { display: block; width: 100%; height: 100%; }
.page-type-documentation .page-hero { min-height: 440px; }
.page-type-documentation .page-hero-media { left: 25%; opacity: 1; }
.page-type-documentation .page-hero-media img { object-position: 62% center; filter: saturate(.45); }
.page-type-documentation .page-hero-overlay { background: linear-gradient(90deg,#071724 0%,rgba(7,23,36,.97) 28%,rgba(7,23,36,.87) 48%,rgba(7,23,36,.26) 82%,rgba(7,23,36,.18) 100%); }
.page-type-documentation .page-hero-content { padding-block: 62px 70px; }
.hero-image-credit { position: absolute; right: max(32px,calc((100vw - 1200px) / 2)); bottom: 20px; z-index: 2; color: #d2dde3; font: 400 8px/1.5 var(--mono); }
.hero-image-credit a, .section-photo figcaption a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  /* Keep the laboratory action clear of copy on narrow screens. */
  .page-type-documentation .page-hero { min-height: 0; flex-direction: column; align-items: stretch; }
  .page-type-documentation .page-hero-content { order: 0; padding-block: 30px 22px; }
  .page-type-documentation .page-hero-media { position: relative; inset: auto; order: 1; flex: none; width: 100%; height: clamp(150px, 38vw, 170px); }
  .page-type-documentation .page-hero-media img { display: block; object-position: center 52%; filter: none; }
  .page-type-documentation .page-hero-overlay { display: none; }
  .page-type-documentation .hero-image-credit { position: static; order: 2; display: flex; align-items: center; justify-content: flex-end; gap: 6px; margin: 0; padding: 8px 20px 12px; font-size: 9px; }
  .hero-image-credit { right: 20px; bottom: 17px; font-size: 7px; }
}
/* Catalog pages keep their inline inquiry actions clear on touch viewports. */
@media (max-width: 1100px) {
}
/* Source credit sits above the full-width hero text rail and remains clickable. */
.hero-image-credit { z-index: 3; }
.hero-image-credit a { display: inline-flex; align-items: center; min-height: 24px; }

/* 2026-10-14 clarity pass: keep the inner pages useful and recognisable
   without making every section look like a separate campaign card. */
.inner-page .page-hero-content { padding-block: 58px 52px; }
.inner-page .page-hero h1 { max-width: 700px; font-size: 42px; }
.inner-page .page-lede { max-width: 620px; font-size: 16px; line-height: 1.65; }
.inner-page .page-actions { gap: 10px 20px; margin-top: 22px; }
.inner-page .page-actions .text-link { min-height: 36px; font-size: 12px; }
.page-type-factory .factory-handoff .page-actions .text-link { min-height: 44px; }
.inner-page .inner-section { padding-block: 64px; }
.inner-page .inner-grid { gap: 7%; }
.inner-page .inner-copy > p:not(.eyebrow) { margin-top: 16px; line-height: 1.65; }
.inner-page .inner-copy .section-photo { margin-top: 22px; }
.inner-page .inner-list-row { gap: 14px; padding-block: 19px; }
.inner-page .inner-list-row p { margin-top: 6px; line-height: 1.6; }
.inner-page .inner-list-row h3 { font-size: 18px; }

/* Lists are the site's strongest information pattern. Remove the extra
   boxes and sticky panels around them so hierarchy comes from type and rules. */
.page-type-products .category-directory .inner-copy,
.page-type-category .category-directory .inner-copy { position: static; }
.page-type-products .category-directory .inner-list,
.page-type-category .category-directory .inner-list,
.page-type-operations .inner-section:first-of-type .inner-list,
.page-type-guide .inner-section:first-of-type .inner-list { padding: 0; border: 0; background: transparent; }
.page-type-products .category-directory .inner-list-row,
.page-type-category .category-directory .inner-list-row { min-height: 0; }
.page-type-operations .inner-section:first-of-type .inner-copy { border-right: 0; padding-right: 0; }
.page-type-operations .inner-section:first-of-type .inner-list-row { min-height: 0; }
.page-type-service .inner-section:first-of-type .inner-list::before { display: none; }
.page-type-service .inner-section:first-of-type .inner-list-row { background: transparent; }
.page-type-resource-hub .inner-section:first-of-type .inner-list-row:has(a[href="../procurement/"]) h3::after { display: none; }

/* Keep photographs as supporting evidence instead of repeating a second hero
   on every section. */
.inner-page .inner-photo picture { aspect-ratio: 16 / 8; }
.inner-page .inner-photo figcaption { padding: 9px 12px; font-size: 10px; }
.inner-page .page-contact .contact-photo { max-width: 430px; justify-self: end; }
.inner-page .faq-section { padding-block: 58px; }
.inner-page .faq-section h2 { margin-bottom: 24px; }
.inner-page .inner-faq summary { padding-block: 17px; }
.inner-page .inner-faq details p { padding-bottom: 18px; line-height: 1.65; }

@media (max-width: 760px) {
  .inner-page .page-hero-content { padding-block: 46px 38px; }
  .inner-page .page-hero h1 { font-size: 34px; }
  .inner-page .page-lede { font-size: 15px; }
  .inner-page .inner-section { padding-block: 50px; }
  .inner-page .inner-grid { gap: 24px; }
  .inner-page .inner-list-row { padding-block: 17px; }
  .inner-page .inner-photo picture { aspect-ratio: 16 / 9; }
  .inner-page .page-contact .contact-photo { max-width: none; justify-self: stretch; }
  .inner-page .faq-section { padding-block: 48px; }
}

/* 2026-10-14 whole-site rhythm pass: inner routes share one calm reading
   scale while keeping their content-specific layouts intact. */
.inner-page .page-hero {
  min-height: 336px;
  border-bottom: 1px solid rgba(214, 226, 230, .14);
}
.inner-page {
  overflow-x: clip;
}
html {
  overflow-x: clip;
}
.inner-page .page-hero-content {
  padding-block: 50px 44px;
}
.inner-page .page-hero h1 {
  max-width: 660px;
  font-size: 42px;
  letter-spacing: 0;
}
.inner-page .page-lede {
  max-width: 600px;
  font-size: 15px;
  line-height: 1.62;
}
.inner-page .page-actions {
  margin-top: 19px;
}
.inner-page .inner-section {
  padding-block: 58px;
}
.inner-page .inner-grid {
  gap: clamp(30px, 6vw, 76px);
}
.inner-page .inner-copy > p:not(.eyebrow),
.inner-page .inner-list-row p,
.inner-page .inner-faq details p {
  line-height: 1.62;
}
.inner-page .inner-list-row h3 {
  letter-spacing: 0;
}
.inner-page .section-photo {
  border: 0;
}
.inner-page .inner-photo figcaption {
  padding-inline: 0;
  background: transparent;
}

/* Dark bands are reserved for the handoff or evidence section. This keeps
   long procurement pages from alternating surfaces on every scroll. */
.inner-page .inner-section-dark {
  background: #102a38;
}
.inner-page .inner-section-dark .inner-list-row {
  border-bottom-color: rgba(190, 211, 218, .24);
}

@media (max-width: 760px) {
  .inner-page .page-hero {
    min-height: 378px;
  }
  .inner-page .page-hero-content {
    padding-block: 40px 32px;
  }
  .inner-page .page-hero h1 {
    font-size: 33px;
  }
  .inner-page .page-lede {
    font-size: 14px;
  }
  .inner-page .inner-section {
    padding-block: 46px;
  }
  .inner-page .inner-list-row {
    padding-block: 16px;
  }
  .inner-page .inner-section-dark {
    background: #102a38;
  }
}

/* Category tables are wider than a phone viewport by design. Contain them
   first, then turn each row into a readable specification record on touch
   screens so the page itself never gains a horizontal scrollbar. */
.page-type-products .directory-table-wrap {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.page-type-products .directory-table {
  width: 100%;
  min-width: 590px;
  border-collapse: collapse;
  font-size: 13px;
}
.page-type-products .directory-table th {
  padding: 10px 12px;
  color: var(--muted);
  border-bottom: 1px solid var(--ink);
  font: 500 10px/1.5 var(--mono);
  letter-spacing: 0;
  text-transform: uppercase;
  text-align: left;
}
.page-type-products .directory-table td {
  padding: 10px 12px;
  border-top: 1px solid var(--line);
  vertical-align: top;
}
.page-type-products .directory-table tbody tr:hover td {
  background: #eef5f2;
}

@media (max-width: 760px) {
  .page-type-products:not(.page-type-directory) .directory-table {
    min-width: 0;
  }
  .page-type-products:not(.page-type-directory) .directory-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .page-type-products:not(.page-type-directory) .directory-table tbody {
    display: grid;
    gap: 8px;
  }
  .page-type-products:not(.page-type-directory) .directory-table tr {
    display: grid;
    border-left: 2px solid #9bb8ad;
    background: #f5f8f7;
  }
  .page-type-products:not(.page-type-directory) .directory-table td {
    display: grid;
    grid-template-columns: minmax(7.5rem, .8fr) minmax(0, 1.2fr);
    gap: 10px;
    padding: 8px 10px;
    border-top: 1px solid var(--line);
    overflow-wrap: anywhere;
  }
  .page-type-products:not(.page-type-directory) .directory-table td:first-child {
    border-top: 0;
  }
  .page-type-products:not(.page-type-directory) .directory-table td::before {
    color: var(--muted);
    font: 500 10px/1.5 var(--mono);
    letter-spacing: 0;
    text-transform: uppercase;
  }
  .page-type-products:not(.page-type-directory) .directory-table td:nth-child(1)::before { content: "Product"; }
  .page-type-products:not(.page-type-directory) .directory-table td:nth-child(2)::before { content: "Catalog ref."; }
  .page-type-products:not(.page-type-directory) .directory-table td:nth-child(3)::before { content: "Amount / vial"; }
  .page-type-products:not(.page-type-directory) .directory-table td:nth-child(4)::before { content: "Pack"; }
}

@media (max-width: 760px) {
  .inner-page h1,
  .inner-page h2,
  .inner-page h3 {
    overflow-wrap: anywhere;
  }
}

/* End each inner route with a quiet handoff instead of repeating another
   large photograph after the page has already shown its evidence. */
.inner-page .page-contact-grid {
  display: block;
  max-width: 900px;
  margin-left: max(48px, calc((100vw - 1200px) / 2));
  margin-right: auto;
}
.inner-page .page-contact .contact-photo { display: none; }
.inner-page .page-contact h2 { max-width: 720px; }
.inner-page .page-contact p:not(.eyebrow) { max-width: 680px; }
.inner-page .page-contact .page-actions { gap: 10px 24px; }
.page-type-resource-hub #resource-index .inner-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 42px;
}
.page-type-resource-hub #resource-index .inner-list-row {
  display: block;
  padding-block: 23px;
}
.page-type-resource-hub #resource-index .inner-list-row .row-number {
  display: none;
  margin-bottom: 9px;
}
.page-type-resource-hub #resource-index .inner-list-row h3 { font-size: 20px; }
.page-type-resource-hub #resource-index .inner-list-row p {
  margin-top: 12px;
  line-height: 2.05;
}
.page-type-resource-hub #resource-index .inner-list-row .inline-link {
  display: inline-block;
  margin-right: 12px;
  line-height: 1.45;
}

/* The mobile hero copy always reads against the same dark field, whatever
   crop is used for the supporting image. */
@media (max-width: 760px) {
  .inner-page .page-hero-overlay {
    background: linear-gradient(180deg, rgba(7,23,36,.62) 0%, rgba(7,23,36,.82) 32%, #071724 76%);
  }
  .inner-page .page-contact-grid {
    width: calc(100% - 40px);
    margin-inline: auto;
  }
  .inner-page .page-contact .page-actions > .button { width: auto; }
  .page-type-resource-hub #resource-index .inner-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Inner page final clarity pass: keep the first viewport readable on phones. */
@media (max-width: 760px) {
  .page-type-quality .page-hero,
  .page-type-contact .page-hero,
  .page-type-resource-hub .page-hero { min-height: 348px; }
  .page-type-quality .page-hero-content,
  .page-type-contact .page-hero-content,
  .page-type-resource-hub .page-hero-content { padding-block: 34px 28px; }
  .page-type-quality .page-hero h1,
  .page-type-contact .page-hero h1,
  .page-type-resource-hub .page-hero h1 { font-size: 32px; line-height: 1.08; }
  .page-type-quality .page-lede,
  .page-type-contact .page-lede,
  .page-type-resource-hub .page-lede { max-width: 34rem; font-size: 14px; line-height: 1.55; }
  .page-type-quality .page-actions,
  .page-type-contact .page-actions,
  .page-type-resource-hub .page-actions { margin-top: 16px; }
  .page-type-resource-hub #resource-index .inner-list-row p { line-height: 1.8; }
}

/* Resource topics read as a short index on a phone; the hero already supplies the image. */
@media (max-width: 760px) {
  .page-type-resource-hub #resource-index .inner-copy .section-photo { display: none; }
  .page-type-resource-hub #resource-index .inner-list-row { padding-block: 18px; }
  .page-type-resource-hub #resource-index .inner-list-row p { margin-top: 7px; line-height: 1.3; }
  .page-type-resource-hub #resource-index .inner-list-row .inline-link {
    display: block;
    margin-right: 0;
    padding-block: 8px;
    border-bottom: 1px solid var(--line);
    line-height: 1.45;
  }
  .page-type-resource-hub #resource-index .resource-link-separator { display: none; }
}

/* Shared hero sizing is defined in the final inner-page system below. */
.inner-page .page-hero .eyebrow { margin-bottom: 17px; }
.inner-page .page-hero h1 { margin-bottom: 15px; }
.inner-page .page-actions { gap: 10px 24px; }
.inner-page .page-actions .button + .button,
.inner-page .page-actions .button + .text-link { font-weight: 600; }
.inner-page .inner-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.inner-page .inner-list-row { grid-template-columns: minmax(0, 1fr); }
.inner-page .inner-list-row p { max-width: 530px; }
.inner-page .page-contact { padding-block: 59px; }
.inner-page .page-contact > .page-width,
.inner-page .page-contact-grid {
  width: min(860px, calc(100% - 96px));
  max-width: 860px;
  margin-inline: auto;
}
.inner-page .page-contact-grid { display: block; }
.inner-page .page-contact h2 { font-size: 32px; }
.inner-page .page-contact p:not(.eyebrow) { max-width: 620px; margin-top: 14px; }
.inner-page .page-contact .page-actions { margin-top: 22px; }
.page-type-guide .inner-section-dark,
.page-type-quality .inner-section-dark,
.page-type-contact .inner-section-dark { background: #f0f4f3; color: var(--ink); }
.page-type-guide .inner-section-dark .eyebrow,
.page-type-quality .inner-section-dark .eyebrow,
.page-type-contact .inner-section-dark .eyebrow { color: var(--muted); }
.page-type-guide .inner-section-dark .inner-copy > p:not(.eyebrow),
.page-type-guide .inner-section-dark .inner-list-row p,
.page-type-quality .inner-section-dark .inner-copy > p:not(.eyebrow),
.page-type-quality .inner-section-dark .inner-list-row p,
.page-type-contact .inner-section-dark .inner-copy > p:not(.eyebrow),
.page-type-contact .inner-section-dark .inner-list-row p { color: var(--muted); }
.page-type-guide .inner-section-dark .inner-list-row,
.page-type-quality .inner-section-dark .inner-list-row,
.page-type-contact .inner-section-dark .inner-list-row { border-bottom-color: var(--line); }
.page-type-guide .inner-section-dark .inner-list,
.page-type-quality .inner-section-dark .inner-list,
.page-type-contact .inner-section-dark .inner-list { border-top-color: var(--line); }
.page-type-guide .inner-section-dark .row-number,
.page-type-quality .inner-section-dark .row-number,
.page-type-contact .inner-section-dark .row-number { color: #627b82; }
.page-type-guide .inner-section-dark .text-link,
.page-type-quality .inner-section-dark .text-link,
.page-type-contact .inner-section-dark .text-link { color: #27594b; text-decoration-color: #86a397; }
.page-type-guide .inner-section-dark .text-link:hover,
.page-type-quality .inner-section-dark .text-link:hover,
.page-type-contact .inner-section-dark .text-link:hover { color: #173f33; }

/* Buyer guidance uses a paper hero so service and catalog routes have a
   distinct visual purpose, while the photograph remains a quiet right rail. */
.inner-page:is(.page-type-profile, .page-type-guide, .page-type-resource-hub, .page-type-contact, .page-type-quality) .page-hero {
  background: #edf2f1;
  color: var(--ink);
  border-bottom-color: #d9e3e2;
}
.inner-page:is(.page-type-profile, .page-type-guide, .page-type-resource-hub, .page-type-contact, .page-type-quality) .page-hero-media {
  left: 50%;
  opacity: 1;
}
.inner-page:is(.page-type-profile, .page-type-guide, .page-type-resource-hub, .page-type-contact, .page-type-quality) .page-hero-media img {
  filter: saturate(.75);
}
.inner-page:is(.page-type-profile, .page-type-guide, .page-type-resource-hub, .page-type-contact, .page-type-quality) .page-hero-overlay {
  background: linear-gradient(90deg, #edf2f1 0%, #edf2f1 43%, rgba(237, 242, 241, .93) 51%, rgba(237, 242, 241, .08) 77%, rgba(237, 242, 241, 0) 100%);
}
.inner-page:is(.page-type-profile, .page-type-guide, .page-type-resource-hub, .page-type-contact, .page-type-quality) .page-hero .eyebrow,
.inner-page:is(.page-type-profile, .page-type-guide, .page-type-resource-hub, .page-type-contact, .page-type-quality) .page-lede {
  color: #405866;
}
.inner-page:is(.page-type-profile, .page-type-guide, .page-type-resource-hub, .page-type-contact, .page-type-quality) .page-hero .text-link,
.inner-page:is(.page-type-profile, .page-type-guide, .page-type-resource-hub, .page-type-contact, .page-type-quality) .page-hero .inline-link {
  color: #234e41;
  text-decoration-color: #76978b;
}

@media (max-width: 760px) {
  .inner-page .inner-grid { grid-template-columns: minmax(0, 1fr); }
  .inner-page .page-contact { padding-block: 51px; }
  .inner-page .page-contact > .page-width,
  .inner-page .page-contact-grid { width: calc(100% - 40px); }
  .inner-page .page-contact h2 { font-size: 30px; }
  .inner-page:is(.page-type-profile, .page-type-guide, .page-type-resource-hub, .page-type-contact, .page-type-quality) .page-hero-media { left: 28%; opacity: .35; }
  .inner-page:is(.page-type-profile, .page-type-guide, .page-type-resource-hub, .page-type-contact, .page-type-quality) .page-hero-overlay {
    background: linear-gradient(90deg, #edf2f1 0%, rgba(237, 242, 241, .97) 53%, rgba(237, 242, 241, .65) 100%);
  }
}

/* Resource links are an index, with titles and links occupying a single scan line on wide screens. */
.page-type-resource-hub #resource-index .inner-list-row p { line-height: 1.55; }
.page-type-resource-hub #resource-index .inner-list-row p .resource-link-separator { opacity: .45; }
@media (max-width: 760px) {
  .page-type-resource-hub #resource-index .inner-list-row .inline-link {
    display: inline-block;
    margin-right: 13px;
    padding: 5px 0;
    border-bottom: 0;
    line-height: 1.45;
  }
  .page-type-resource-hub #resource-index .inner-list-row .inline-link::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 4px;
    background: currentColor;
    mask: url("assets/icons/arrow-up-right.svg") center / contain no-repeat;
    opacity: .65;
  }
  .page-type-resource-hub #resource-index .inner-list-row p { line-height: 1.7; }
}

/* 2026-10-14 editorial hierarchy pass: About and Quality each get one
   distinctive reading pattern instead of another generic numbered two-column
   section followed by a duplicate handoff. */
.about-story { background: #f7f9f8; }
.about-story-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(34px, 7vw, 92px); align-items: center; }
.about-story-photo { margin: 0; }
.about-story-photo picture { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.about-story-photo img { width: 100%; height: 100%; object-fit: cover; }
.about-story-photo figcaption { padding-top: 10px; color: var(--muted); font: 400 10px/1.5 var(--mono); }
.about-story-copy { max-width: 590px; }
.about-story-copy > p:not(.eyebrow) { max-width: 540px; margin-top: 17px; color: var(--muted); line-height: 1.72; }
.about-story-copy .text-link { margin-top: 20px; }
.about-capacity { background: #102a38; color: #f5f8f8; border-bottom-color: #102a38; }
.about-capacity-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(34px, 7vw, 92px); align-items: start; }
.about-capacity .eyebrow { color: #b8cbd3; }
.about-capacity h2 { max-width: 440px; }
.about-capacity-grid > div:last-child { max-width: 650px; }
.about-capacity-grid > div:last-child > p { color: #c4d2d9; line-height: 1.75; }
.about-capacity-grid > div:last-child > p + p { margin-top: 12px; }
.about-capacity .text-link { margin-top: 20px; color: #d5e6df; text-decoration-color: #7ea496; }
.about-capacity .text-link:hover { color: #fff; }
.quality-scope { background: #f7f9f8; }
.quality-evidence { background: #eef4f2; }
.quality-evidence .inner-copy { max-width: 520px; }
.quality-evidence .inner-copy > p:not(.eyebrow) { margin-top: 17px; color: var(--muted); line-height: 1.72; }
.quality-evidence .quality-template-note { font-size: 13px; }
.quality-evidence .inner-list { border-top-color: rgba(18, 46, 58, .16); }
.quality-evidence .inner-list-row { border-bottom-color: rgba(18, 46, 58, .16); }
.quality-scope-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(34px, 7vw, 92px); align-items: start; }
.quality-scope-copy { max-width: 540px; }
.quality-scope-copy > p:not(.eyebrow) { margin-top: 17px; color: var(--muted); line-height: 1.72; }
.quality-scope-copy .section-related-links { margin-top: 18px; }
.quality-steps { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); counter-reset: quality-step; }
.quality-steps li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.quality-steps li > span { color: var(--accent); font: 500 11px/1.6 var(--mono); padding-top: 3px; }
.quality-steps h3 { font-size: 19px; }
.quality-steps p { margin-top: 7px; color: var(--muted); line-height: 1.65; }
.quality-results { background: #fff; }
.quality-results-head { max-width: 630px; }
.quality-results-head h2 { margin-top: 0; }
.quality-results-head > p:not(.eyebrow) { margin-top: 15px; color: var(--muted); line-height: 1.7; }
.quality-result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 38px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.quality-result-grid article { min-height: 185px; padding: 22px 26px 24px 0; border-right: 1px solid var(--line); }
.quality-result-grid article + article { padding-left: 26px; }
.quality-result-grid article:last-child { border-right: 0; }
.quality-result-grid span { color: var(--muted); font: 500 10px/1.5 var(--mono); letter-spacing: 0; text-transform: uppercase; }
.quality-result-grid h3 { margin-top: 16px; font-size: 20px; }
.quality-result-grid p { margin-top: 8px; color: var(--muted); line-height: 1.65; }
.quality-results-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 22px; }
.quality-results-footer p { color: var(--muted); font-size: 13px; }
.quality-results-footer .text-link { flex: 0 0 auto; }

/* Service and operations pages finish with a short next step. The hero already
   carries the detailed request, so the end of the page should be a handoff. */
.inner-page:is(.page-type-service, .page-type-operations) .page-contact {
  padding-block: 42px;
  background: #eaf0ee;
  color: var(--ink);
}
.inner-page:is(.page-type-service, .page-type-operations) .page-contact > .page-width,
.inner-page:is(.page-type-service, .page-type-operations) .page-contact-grid {
  display: grid;
  width: min(1280px, calc(100% - 96px));
  max-width: 1200px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 34px;
  align-items: center;
}
.inner-page:is(.page-type-service, .page-type-operations) .page-contact .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: 0;
  color: #526f65;
}
.inner-page:is(.page-type-service, .page-type-operations) .page-contact h2 {
  grid-column: 1;
  max-width: 570px;
  font-size: 30px;
}
.inner-page:is(.page-type-service, .page-type-operations) .page-contact h2 br { display: none; }
.inner-page:is(.page-type-service, .page-type-operations) .page-contact p:not(.eyebrow) {
  grid-column: 1;
  grid-row: 3;
  max-width: 690px;
  margin-top: 0;
  color: #4c645c;
  font-size: 13px;
}
.inner-page:is(.page-type-service, .page-type-operations) .page-contact .page-actions {
  grid-column: 2;
  grid-row: 2 / span 2;
  margin-top: 0;
  justify-content: flex-end;
}
.inner-page:is(.page-type-service, .page-type-operations) .page-contact .text-link { color: #27594b; }
.inner-page:is(.page-type-service, .page-type-operations) .page-contact .inline-link { color: #27594b; }
.inner-page:is(.page-type-service, .page-type-operations) .page-contact-grid > div:first-child {
  display: contents;
}

@media (max-width: 760px) {
  .about-story-grid, .about-capacity-grid, .quality-scope-grid { grid-template-columns: 1fr; gap: 28px; }
  .about-story-photo { order: 2; }
  .about-story-copy { order: 1; }
  .about-capacity-grid > div:last-child { max-width: none; }
  .quality-result-grid { grid-template-columns: 1fr; margin-top: 28px; }
  .quality-result-grid article, .quality-result-grid article + article { min-height: 0; padding: 20px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .quality-result-grid article:last-child { border-bottom: 0; }
  .quality-results-footer { display: block; }
  .quality-results-footer .text-link { margin-top: 14px; }
  .inner-page:is(.page-type-service, .page-type-operations) .page-contact > .page-width,
  .inner-page:is(.page-type-service, .page-type-operations) .page-contact-grid {
    width: calc(100% - 40px);
    grid-template-columns: 1fr;
    gap: 11px;
  }
  .inner-page:is(.page-type-service, .page-type-operations) .page-contact .page-actions {
    grid-column: 1;
    grid-row: auto;
    justify-content: flex-start;
    margin-top: 10px;
  }
}

/* Procurement already has the primary quote action in its hero. Keep the
   final handoff as a quiet email route so the same WhatsApp action is not
   presented twice on one page. */
.inner-page.page-type-procurement .page-contact .button-primary { display: none; }

/* 2026-10-15 inner-page hierarchy pass. This is the single final rhythm for
   inner routes; page-family rules above only change media, colour or layout. */
.inner-page .page-hero { min-height: 360px; }
.inner-page .page-hero-content {
  width: min(1280px, calc(100% - 96px));
  padding-block: 54px 46px;
}
.inner-page .page-hero h1 {
  max-width: 700px;
  margin-bottom: 14px;
  font-size: 42px;
  line-height: 1.08;
}
.inner-page .page-lede { max-width: 620px; font-size: 15px; line-height: 1.62; }
.inner-page .page-actions { gap: 10px 20px; margin-top: 19px; }
.inner-page .page-actions .text-link,
.inner-page .page-actions .inline-link { min-height: 38px; }
.inner-section { padding-block: 64px; }
.inner-grid { gap: clamp(30px, 6vw, 76px); }
.inner-list-row { padding-block: 18px; }
.inner-list-row h3 { font-size: 18px; }
.inner-list-row p { margin-top: 6px; line-height: 1.62; }

/* End-of-page handoff: the hero carries the primary action, and this compact
   band gives ready readers one consistent secondary route. */
.inner-page .page-contact {
  padding-block: 38px;
  border-top: 1px solid #d6e3de;
  background: #f0f5f3;
  color: var(--ink);
}
.inner-page .page-contact .eyebrow { color: #526f65; }
.inner-page .page-contact h2 {
  max-width: 720px;
  font-size: 30px;
  line-height: 1.16;
}
.inner-page .page-contact p:not(.eyebrow) {
  max-width: 680px;
  margin-top: 8px;
  color: #4d655d;
  font-size: 13px;
}
.inner-page .page-contact .page-actions { gap: 6px 16px; margin-top: 14px; }
.inner-page .page-contact .page-actions .button { min-height: 44px; }
.inner-page .page-contact .text-link,
.inner-page .page-contact .inline-link {
  min-height: 40px;
  color: #27594b;
  text-decoration-color: #86a397;
}
.inner-page .page-contact .text-link:hover,
.inner-page .page-contact .inline-link:hover { color: #173f33; }

/* The hero owns the main conversion button. The final handoff is deliberately
   quieter and uses the same radius, focus ring and control height as inputs. */
.inner-page .page-contact .button-primary {
  min-height: 44px;
  padding-inline: 16px;
  border: 1px solid #789a8c;
  border-radius: var(--control-radius);
  background: #fff;
  color: #27594b;
  box-shadow: none;
}
.inner-page .page-contact .button-primary:hover,
.inner-page .page-contact .button-primary:focus-visible {
  background: #dcebe5;
  border-color: #27594b;
  color: #173f33;
  box-shadow: none;
  transform: none;
}

.page-type-directory .page-hero { min-height: 306px; }
.page-type-catalog .page-hero,
.page-type-category .page-hero { min-height: 380px; }
.page-type-contact .page-hero { min-height: 300px; }
.page-type-guide .page-hero { min-height: 380px; }
.page-type-documentation .page-hero { min-height: 440px; }

@media (max-width: 1100px) {
  .inner-page .page-hero-content { width: calc(100% - 48px); }
}

@media (max-width: 760px) {
  .inner-page .page-hero,
  .page-type-service .page-hero,
  .page-type-operations .page-hero,
  .page-type-profile .page-hero { min-height: 390px; }
  .page-type-directory .page-hero { min-height: 420px; }
  .page-type-catalog .page-hero,
  .page-type-category .page-hero { min-height: 370px; }
  .page-type-guide .page-hero { min-height: 360px; }
  .page-type-contact .page-hero { min-height: 290px; }
  .page-type-documentation .page-hero { min-height: 0; }
  .inner-page .page-hero-content { width: calc(100% - 40px); padding-block: 38px 30px; }
  .inner-page .page-hero h1 { font-size: 33px; }
  .inner-page .page-lede { font-size: 14px; }
  .inner-section { padding-block: 48px; }
  .inner-list-row { padding-block: 16px; }
  .inner-page .page-contact { padding-block: 30px; }
  .inner-page .page-contact h2 { font-size: 27px; }
  .inner-page .page-contact .page-actions {
    align-items: flex-start;
    gap: 4px 14px;
    margin-top: 12px;
  }
}

/* Quality uses a separate sample-preparation image, with its own clear rail
   on narrow screens so the laboratory action remains visible behind no copy. */
.inner-page.page-type-quality .page-hero { min-height: 400px; }
.inner-page.page-type-quality .page-hero h1 { max-width: 620px; }
.inner-page.page-type-quality .page-lede { max-width: 550px; }
.inner-page.page-type-quality .page-hero-media { left: 40%; }
.inner-page.page-type-quality .page-hero-media img { object-position: 64% center; filter: saturate(.7); }
.page-type-quality .hero-image-credit {
  right: 20px;
  bottom: 14px;
  margin: 0;
  padding: 3px 9px;
  background: rgba(237, 242, 241, .96);
  color: #304a56;
  font-size: 9px;
}

@media (max-width: 760px) {
  .inner-page.page-type-quality .page-hero { min-height: 0; flex-direction: column; align-items: stretch; }
  .inner-page.page-type-quality .page-hero-content { order: 0; padding-block: 30px 24px; }
  .inner-page.page-type-quality .page-hero-media {
    position: relative;
    inset: auto;
    order: 1;
    flex: none;
    width: 100%;
    height: clamp(170px, 50vw, 230px);
    opacity: 1;
  }
  .inner-page.page-type-quality .page-hero-media img { object-position: center 58%; filter: none; }
  .inner-page.page-type-quality .page-hero-overlay { display: none; }
  .page-type-quality .hero-image-credit {
    position: static;
    order: 2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0 6px;
    padding: 5px 16px 9px;
    background: #edf2f1;
  }
}

/* Practical guides and inquiry tools lead with their working content.
   Photography belongs to the service pages where it explains the subject. */
.inner-page.editorial-text-page .page-hero {
  min-height: 0;
  background: #edf2ee;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
}
.inner-page.editorial-text-page .page-hero-content { padding-block: 34px 36px; }
.inner-page.editorial-text-page .page-hero h1 { max-width: 900px; font-size: 40px; }
.inner-page.editorial-text-page .page-hero .eyebrow { color: #45645a; }
.inner-page.editorial-text-page .page-lede { max-width: 740px; color: #4a6159; }
.inner-page.editorial-text-page .page-hero :is(.text-link, .inline-link) { color: #214c42; }
.inner-page.editorial-text-page .page-hero .resource-meta { color: #4a6159; }
.inner-page.editorial-text-page .page-hero .resource-meta::before,
.inner-page.editorial-text-page .page-hero .resource-meta::after { color: #45645a; }

/* Product overview leads with the catalog task instead of reusing the home
   page's vial scene. Keep the image-free opening calm and easy to scan. */
.inner-page.page-type-products.product-overview .page-hero {
  min-height: 0;
  background: #edf2ee;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
}
.inner-page.page-type-products.product-overview .page-hero-content { padding-block: 42px 46px; }
.inner-page.page-type-products.product-overview .page-hero .eyebrow { color: #45645a; }
.inner-page.page-type-products.product-overview .page-lede { color: #4a6159; }
/* Supply leads with the buying scope; its hero has no decorative media. */
.inner-page.page-type-supply .page-hero { min-height: 0; }
.inner-page.page-type-supply .page-hero-content { padding-block: 48px 44px; }
.page-type-about .about-hero-photo-note {
  position: absolute;
  right: 18px;
  bottom: 14px;
  z-index: 3;
  margin: 0;
  color: #24433e;
  font: 500 10px/1.4 var(--mono);
  letter-spacing: 0;
}
.inner-page .page-contact-grid.text-contact-grid { display: block; }
.inner-page .text-contact-grid > :not(:empty) { max-width: 760px; }
/* Shared heading and reading rhythm, without reserving entire columns for chat. */
.inner-page .page-hero h1 { font-size: 42px; letter-spacing: 0; line-height: 1.18; }
.inner-page .inner-copy h2 { font-size: 30px; letter-spacing: 0; line-height: 1.28; }
.inner-page .page-hero .eyebrow { display: none; }
.inner-page.page-type-synthesis .synthesis-brief-link { margin-top: 0; }
.inner-page.editorial-text-page .page-hero h1 { font-size: 40px; }
.inner-page.page-type-documentation .page-hero { min-height: 0; background: #f5f7f6; color: var(--ink); border-block: 1px solid var(--line); }
.inner-page.page-type-documentation .page-hero-content { padding-block: 38px; }
.inner-page.page-type-documentation .page-lede { color: var(--muted); }
.inner-page.page-type-documentation .page-hero :is(.text-link, .inline-link) { color: var(--accent); }
.catalog-notes { padding-block: 24px 40px; border-top: 1px solid var(--line); }
.catalog-notes details { max-width: 900px; }
.catalog-notes summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; font-size: 15px; font-weight: 600; cursor: pointer; list-style: none; }
.catalog-notes summary::-webkit-details-marker { display: none; }
.catalog-notes summary::after { content: ''; width: 18px; height: 18px; background: currentColor; mask: url('assets/icons/chevron-down.svg') center/contain no-repeat; }
.catalog-notes details[open] summary::after { transform: rotate(180deg); }
.catalog-notes-content { display: grid; gap: 14px; padding-top: 16px; color: var(--muted); font-size: 14px; }
.catalog-notes-content .inner-list-row { padding-block: 16px; }
.catalog-notes-content .inner-list-row h3 { font-size: 16px; }
.catalog-notes-content .inline-link { font-size: 13px; }
@media (max-width: 760px) {
  .inner-page.page-type-products.product-overview .page-hero { min-height: 0; }
  .inner-page.page-type-products.product-overview .page-hero-content { padding-block: 28px 32px; }
  .inner-page.page-type-supply .page-hero-content { padding-block: 30px 32px; }
  .page-type-about .about-hero-photo-note { display: none; }
  .inner-page.editorial-text-page .page-hero-content { padding-block: 26px 28px; }
  .inner-page.editorial-text-page .page-hero h1 { max-width: 100%; font-size: 30px; }
  .inner-page.editorial-text-page .page-lede { font-size: 14px; }
  .inner-page.editorial-text-page .page-hero .resource-meta { white-space: normal; }
  .inner-page .page-hero h1 { font-size: 30px; line-height: 1.2; }
  .inner-page .inner-copy h2 { font-size: 26px; }
  .inner-page.page-type-documentation .page-hero-content { padding-block: 28px; }
}
