/* Home — scene-led editorial layouts using the shared FJAKA tokens. */
body[data-page="home"] #hero {
  position: relative;
  display: flex;
  min-height: 85vh;
  min-height: 85svh;
  padding-block: clamp(4rem, 7vw, 7rem) 2rem;
  overflow: hidden;
  background: var(--color-ink);
  color: var(--color-surface);
  isolation: isolate;
}
.home-hero-image, .home-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.home-hero-image { object-fit: cover; object-position: center; }
.home-hero-carousel { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.home-hero-carousel .home-hero-image { z-index: auto; opacity: 0; transform: scale(1.015); transition: opacity .8s ease, transform 6s ease; }
.home-hero-carousel .home-hero-image.is-active { opacity: 1; transform: scale(1); }
.home-hero-dots { position: absolute; bottom: 2rem; left: 50%; z-index: 2; display: flex; gap: .55rem; transform: translateX(-50%); }
.home-hero-dot { width: 28px; height: 4px; border: 0; border-radius: 999px; background: rgb(255 255 255 / .45); cursor: pointer; }
.home-hero-dot[aria-pressed="true"] { background: #fff; }
.home-hero-shade { background: var(--color-ink); opacity: .32; }
.home-hero-content { display: flex; flex-direction: column; align-items: flex-start; }
.home-hero-content .eyebrow { color: var(--color-surface); margin-bottom: 2rem; }
.home-hero-content h1 { max-width: 790px; font-size: clamp(3.75rem, 6.7vw, 6.5rem); letter-spacing: -.055em; }
.home-hero-subtitle { max-width: 720px; margin-top: 1.5rem; font-size: clamp(1.1rem, 1.7vw, 1.35rem); font-weight: 700; line-height: 1.45; text-wrap: balance; }
.home-hero-description { max-width: 680px; margin-block: .85rem 2rem; font-size: 1rem; line-height: 1.75; text-wrap: pretty; }
body[data-page="home"] .home-hero-content .home-hero-subtitle { color: var(--color-surface); }
body[data-page="home"] .home-hero-description strong { color: var(--color-brand); }
.home-hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-bottom: 4rem; }
.home-button-outline { border-color: var(--color-surface); color: var(--color-surface); background: color-mix(in srgb, var(--color-ink) 25%, transparent); }
.home-button-outline:hover { color: var(--color-ink); background: var(--color-surface); }
.home-hero-foot { display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem 2.5rem; width: 100%; margin-top: auto; border-top: 1px solid color-mix(in srgb, var(--color-surface) 35%, transparent); padding-top: 1.5rem; font-size: .68rem; letter-spacing: .14em; }
.home-hero-foot a { display: grid; place-items: center; min-width: 44px; min-height: 44px; margin-left: auto; color: var(--color-surface); font-size: 1.5rem; text-decoration: none; }
.home-section-top { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.home-section-top .section-heading { margin-bottom: 0; }
.home-text-link { display: inline-flex; align-items: center; min-height: 44px; align-self: flex-start; color: var(--color-brand); font-weight: 700; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .2s var(--ease-standard), color .2s var(--ease-standard); }
.home-text-link:hover { border-color: currentColor; }
.home-section-top > .home-text-link { flex: none; align-self: end; }
.home-business { display: grid; grid-template-columns: 1.15fr 1fr; min-height: 540px; overflow: hidden; border-radius: var(--radius-card); background: var(--color-surface-soft); }
.home-business + .home-business { margin-top: 2rem; }
.home-business-media { min-width: 0; min-height: 420px; overflow: hidden; }
.home-business-media img { width: 100%; height: 100%; object-fit: cover; }
.home-business--ev .home-business-media img { object-position: 74% center; }
.home-business-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; padding: clamp(2rem, 5vw, 5rem); }
.home-business-copy h3 { max-width: 430px; font-size: clamp(2.2rem, 3.5vw, 3.6rem); }
.home-business-copy > p { max-width: 430px; color: var(--color-muted); }
.home-business-copy .home-text-link { margin-top: auto; }
.home-index { color: var(--color-muted); font-size: .7rem; font-weight: 600; letter-spacing: .12em; }
.home-tags { display: flex; flex-wrap: wrap; gap: .5rem 1rem; list-style: none; color: var(--color-muted); font-size: .82rem; }
.home-tags li { border-bottom: 1px solid var(--color-line); padding-bottom: .35rem; }
.home-business--auto { grid-template-columns: 1fr 1.15fr; }
.home-business--auto .home-business-media { order: 2; }
body[data-page="home"] #products, body[data-page="home"] #about-fjaka, body[data-page="home"] #contact-preview { background: var(--color-surface-soft); }
.home-product-rail { grid-auto-columns: calc((100% - 3rem) / 3); gap: 1.5rem; margin-top: 1.75rem; }
.home-products-heading { text-align: center; }
.home-products-heading h2 { font-size: clamp(2.6rem, 5vw, 4.5rem); }
.home-product-tabs { display: flex; justify-content: center; margin-top: 2.5rem; }
.home-product-tabs .category-tabs { justify-content: center; border-radius: var(--radius-card); background: var(--color-surface); padding: .4rem; }
.home-product-rail { scrollbar-width: none; }
.home-product-rail::-webkit-scrollbar { display: none; }
.home-product-controls { display: flex; justify-content: flex-end; gap: .75rem; margin-top: 1.5rem; }
.home-product-controls button { display: grid; width: 46px; height: 46px; place-items: center; border: 0; border-radius: 50%; background: var(--color-line); color: var(--color-ink); font-size: 1.25rem; cursor: pointer; transition: transform var(--transition), background var(--transition), color var(--transition); }
.home-product-controls button:hover { transform: translateY(-2px); background: var(--color-brand); color: var(--color-surface); }
.home-product-rail .product-card { background: var(--color-surface); }
.home-product-rail .product-card-media { aspect-ratio: 4 / 3; background: var(--color-surface-soft); }
.home-product-rail .product-card-media img { object-fit: contain; }
.home-product-rail .product-card h3 { font-size: clamp(1.2rem, 1.6vw, 1.55rem); }
.home-media-note { margin-top: 1.25rem; color: var(--color-muted); font-size: .75rem; }
.home-mock-note { max-width: 850px; padding-left: 1rem; border-left: 2px solid var(--color-line); color: var(--color-muted); font-size: .8rem; }
.home-quality-layout { display: grid; grid-template-columns: 1.65fr 1fr; gap: 3rem; margin-top: 3rem; }
.home-small-title { margin-bottom: 1.5rem; font-size: 1rem; letter-spacing: 0; }
.home-certifications { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-certifications > figure { gap: 1rem; padding: 1.5rem; }
.home-certifications img { max-height: 150px; width: 100%; height: 150px; }
.home-certifications figcaption { display: grid; gap: .45rem; font-size: .86rem; }
.home-certifications figcaption span { color: var(--color-muted); font-size: .72rem; }
.home-awards { border-left: 1px solid var(--color-line); padding-left: 3rem; }
.home-award-year { display: block; margin-bottom: .75rem; color: var(--color-brand); font-size: 3.5rem; font-weight: 700; line-height: 1; letter-spacing: -.04em; }
.home-awards p { margin-top: 1rem; color: var(--color-muted); font-size: .8rem; }
.home-partners { margin-top: 3rem; }
.home-partners-showcase { margin-top: 0; }
.home-partners-showcase > .partner-showcase-title { margin-inline: auto; text-align: center; }
.home-partner-story { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); margin-top: clamp(3rem, 6vw, 6rem); }
.home-partner-story-copy p { max-width: 620px; color: var(--color-ink); font-size: var(--type-body); font-weight: 400; line-height: 1.4; }
.home-partner-story-media { min-width: 0; }
.home-partner-story-media img { display: block; width: 100%; aspect-ratio: 3 / 2; border-radius: var(--radius-card); object-fit: cover; }
.home-partner-story-media figcaption { margin-top: .75rem; color: var(--color-muted); font-size: .8rem; }
.partner-showcase-heading { max-width: 820px; }
.partner-showcase-title { margin-top: .6rem; font-size: clamp(2rem, 4vw, 4.2rem); line-height: 1.04; letter-spacing: -.045em; }
.partner-showcase-copy { max-width: 1000px; margin-top: 2rem; color: var(--color-muted); font-size: clamp(1rem, 1.5vw, 1.16rem); line-height: 1.75; }
.partner-logo-wall { position: relative; overflow: hidden; margin-top: 2.75rem; padding-block: 1.5rem; background: var(--color-surface); }
.partner-logo-track { display: flex; width: max-content; animation: partner-logo-scroll 42s linear infinite; backface-visibility: hidden; will-change: transform; }
.partner-logo-group { display: grid; grid-auto-columns: 220px; grid-auto-flow: column; grid-template-rows: 100px; align-items: center; column-gap: 2.25rem; padding-inline: 1.125rem; }
.partner-logo-item { display: grid; width: 220px; height: 100px; place-items: center; margin: 0; padding: 0; background: var(--color-surface); }
.partner-logo-item img { display: block; width: auto; height: auto; max-width: min(160px, var(--partner-logo-width, 160px)); max-height: min(56px, var(--partner-logo-height, 56px)); object-fit: contain; object-position: center; }
.partner-logo-item span { color: var(--color-brand); font-size: 1.4rem; font-weight: 750; }
@keyframes partner-logo-scroll { to { transform: translate3d(-50%, 0, 0); } }
.why-fjaka { margin-top: clamp(3rem, 6vw, 5rem); border: 1px solid var(--color-line); border-radius: var(--radius-card); padding: clamp(2rem, 4vw, 3.5rem); background: var(--color-surface); }
.why-fjaka-heading { text-align: center; }
.why-fjaka-heading h3 { font-size: clamp(2rem, 3vw, 3rem); letter-spacing: -.025em; }
.why-fjaka-heading p { margin-top: .75rem; color: var(--color-muted); font-size: clamp(1rem, 1.4vw, 1.25rem); }
.why-fjaka-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(2.5rem, 5vw, 4rem); }
.why-fjaka-item { display: flex; min-width: 0; flex-direction: column; align-items: center; border-radius: calc(var(--radius-card) * .7); padding: 1rem .75rem 1.25rem; text-align: center; transition: transform .25s var(--ease-standard), background-color .25s var(--ease-standard); }
.why-fjaka-item:hover { background: var(--color-surface-soft); transform: translateY(-3px); }
.why-fjaka-icon { display: grid; width: 76px; height: 76px; place-items: center; border-radius: calc(var(--radius-card) * .8); background: color-mix(in srgb, var(--color-brand) 9%, var(--color-surface)); color: var(--color-brand); }
.why-fjaka-icon svg { width: 38px; height: 38px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.why-fjaka-item h4 { margin-top: 1.15rem; font-size: .88rem; font-weight: 700; line-height: 1.25; }
.why-fjaka-item p { max-width: 220px; margin-top: .7rem; color: var(--color-muted); font-size: .82rem; line-height: 1.45; }
.partner-certifications { margin-top: clamp(4rem, 7vw, 7rem); padding-top: 2rem; border-top: 1px solid var(--color-line); }
.partner-certifications > h3 { font-size: clamp(1.5rem, 2.5vw, 2.2rem); }
.home-about-layout { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: clamp(3rem, 6vw, 6rem); }
.home-about-media { position: relative; height: 100%; min-height: 690px; overflow: hidden; border-radius: var(--radius-card); background: var(--color-line); }
.home-about-media img { width: 100%; height: 100%; object-fit: cover; }
.home-about-media figcaption { position: absolute; bottom: 1rem; left: 1rem; right: 1rem; padding: .5rem .75rem; background: var(--color-surface); color: var(--color-muted); font-size: .7rem; }
.home-about-copy .section-heading { margin-bottom: 1.5rem; }
.home-about-points { display: grid; gap: 0; margin-block: 2rem; list-style: none; }
.home-about-points li { display: flex; align-items: start; gap: 1.25rem; padding-block: 1.1rem; border-bottom: 1px solid var(--color-line); }
.home-about-points .home-index { margin-top: .25rem; }
.home-about-points h3 { font-size: 1.1rem; letter-spacing: -.01em; }
.home-about-points p { margin-top: .5rem; color: var(--color-muted); font-size: .85rem; }
.home-contact-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(3rem, 7vw, 8rem); }
.home-contact-layout .section-heading { margin-bottom: 1.5rem; }
.home-contact-layout .section-intro { max-width: 410px; }
.home-contact-layout .button { margin-block: 2rem; }
.home-contact-directory { min-width: 0; padding: clamp(1.5rem, 3vw, 2.5rem); border-radius: var(--radius-card); background: var(--color-surface); }
.home-contact-channel-list { gap: 1.25rem; margin-top: 0; }
.home-contact-channel-list .contact-channel { padding-top: 1rem; }
.home-contact-channel-list .contact-channel:first-child { border-top: 0; padding-top: 0; }
.home-contact-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; }
.home-contact-details > div { min-width: 0; padding-top: 1rem; border-top: 1px solid var(--color-line); }
.home-contact-details > div:first-child, .home-contact-details > div:nth-child(2) { grid-column: 1 / -1; }
.home-contact-details dt { color: var(--color-muted); font-size: .75rem; }
.home-contact-details dd { margin-top: .35rem; font-size: .95rem; overflow-wrap: anywhere; }
.home-contact-details a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
body[data-page="home"] #insights .article-card h3 a,
body[data-page="home"] #insights .card-link-label { display: inline-flex; align-items: center; min-height: 44px; }

/* Product centers — one layout for both business ranges. */
body[data-page="product-center"] #center-hero { padding-block: clamp(3.5rem, 6vw, 6rem); }
.center-hero-layout { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: clamp(2.5rem, 5vw, 5rem); }
.center-hero-copy { display: grid; justify-items: start; gap: 1.75rem; padding-block: 2rem; }
.center-hero-copy h1 { font-size: clamp(3rem, 5.4vw, 5.6rem); }
.center-hero-copy > p:not(.eyebrow) { max-width: 470px; color: var(--color-muted); font-size: 1.1rem; }
.center-explore-link { display: inline-flex; align-items: center; gap: 1.5rem; min-height: 44px; color: var(--color-brand); font-weight: 700; text-decoration: none; }
.center-hero-media { height: clamp(390px, 39vw, 580px); min-width: 0; overflow: hidden; border-radius: var(--radius-card); background: var(--color-surface-soft); }
.center-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
body[data-business="auto"] .center-hero-media img { object-position: center; }
body[data-page="product-center"] #category-tabs { padding-block: 1rem; scroll-margin-top: calc(var(--header-height) + 1rem); }
body[data-page="product-center"] #product-grid { padding-top: 2rem; }
.center-grid-heading { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; }
.center-grid-heading h2 { font-size: clamp(2rem, 3vw, 3rem); }
.center-product-count { display: grid; place-items: center; min-width: 2.5rem; min-height: 2.5rem; border-radius: var(--radius-card); background: var(--color-surface-soft); color: var(--color-muted); font-size: .85rem; }
.center-product-grid .product-card-media, .related-product-grid .product-card-media { background: var(--color-surface-soft); aspect-ratio: 1; }
.center-product-grid .product-card-media img, .related-product-grid .product-card-media img { object-fit: contain; }
.center-product-grid .product-card h3, .related-product-grid .product-card h3 { font-size: clamp(1.2rem, 1.6vw, 1.5rem); }
.center-recovery-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; }
#center-product-panel:focus-visible, .product-specifications .specifications-scroll:focus-visible { outline: 3px solid var(--color-brand); outline-offset: 4px; }
.product-media-note { margin-top: 1.5rem; color: var(--color-muted); font-size: .78rem; }

/* Universal product detail — generous gallery/information split. */
body[data-page="product-detail"] #product-hero { padding-top: 2rem; }
.product-breadcrumb { margin-bottom: 2rem; }
.product-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }
.product-hero-layout { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.product-visuals, .product-information { min-width: 0; }
.product-main-media { aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius-card); background: var(--color-surface-soft); }
.product-main-media img { width: 100%; height: 100%; object-fit: contain; }
.product-thumbnails { display: flex; gap: 1rem; overflow-x: auto; padding: .5rem; margin: 1rem -.5rem -.5rem; }
.product-thumbnails button { flex: 0 0 90px; min-width: 44px; min-height: 68px; border: 1px solid var(--color-line); border-radius: var(--radius-card); overflow: hidden; padding: .3rem; background: var(--color-surface-soft); transition: border-color .2s var(--ease-standard); }
.product-thumbnails button[aria-current="true"], .product-thumbnails button:hover { border-color: var(--color-brand); }
.product-thumbnails img { display: block; width: 100%; height: 60px; object-fit: contain; }
.product-information { display: grid; justify-items: start; gap: 1.25rem; }
.product-information h1 { font-size: clamp(2.6rem, 4.2vw, 4.6rem); }
.product-model { color: var(--color-muted); font-size: .9rem; letter-spacing: .1em; }
.product-short-description { max-width: 520px; color: var(--color-muted); font-size: 1.05rem; }
.product-tags { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; }
.product-tag { padding: .4rem .75rem; background: var(--color-surface-soft); border-radius: var(--radius-card); font-size: .75rem; }
.product-information .button { margin-top: .5rem; }
.product-information .product-media-note { margin-top: 0; }
body[data-page="product-detail"] #key-features, body[data-page="product-detail"] #specifications, body[data-page="product-detail"] #related-products { background: var(--color-surface-soft); }
.product-feature { position: relative; min-width: 0; }
.product-feature .feature-card { height: 100%; padding-top: 5.5rem; background: var(--color-surface); }
.product-feature-number { position: absolute; top: 1.7rem; left: clamp(1.5rem, 2.5vw, 2.4rem); color: var(--color-brand); font-size: 1.7rem; letter-spacing: -.035em; }
.product-application-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 1.5rem; }
.product-application-view { position: relative; min-width: 0; overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--radius-card); background: var(--color-surface-soft); }
.product-application-view img { width: 100%; height: 100%; object-fit: cover; }
.product-application-view--1 img, .product-application-view--2 img { object-fit: contain; }
.product-application-view--2 { margin-top: 3rem; }
.product-application-view--3 { margin-top: -3rem; }
.product-application-view--3 img { object-position: 78% center; }
.product-application-view--4 img { object-position: 20% center; }
.product-application-view figcaption { position: absolute; bottom: 1rem; left: 1rem; right: 1rem; width: fit-content; max-width: calc(100% - 2rem); padding: .5rem .75rem; border-radius: var(--radius-card); background: var(--color-surface); font-size: .75rem; }
.product-specifications { max-width: 1100px; }
.product-specifications .specifications-scroll { background: var(--color-surface); }
.product-specifications th, .product-specifications td { overflow-wrap: anywhere; }
.product-editorial { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; }
.product-editorial-section { min-width: 0; border-top: 1px solid var(--color-line); padding-top: 2rem; }
.product-editorial-section h3 { margin-bottom: 1.25rem; }
.product-editorial-section p { max-width: 540px; color: var(--color-muted); }
.product-editorial-section figure { margin-bottom: 2rem; overflow: hidden; border-radius: var(--radius-card); aspect-ratio: 4 / 3; }
.product-editorial-section img { width: 100%; height: 100%; object-fit: cover; }
.related-product-grid .product-card { background: var(--color-surface); }

/* Focused product detail — image and essential buying information only. */
body[data-page="product-detail"] #product-hero { min-height: calc(100svh - var(--header-height)); padding-block: clamp(2.5rem, 5vw, 5rem); }
.product-focus-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); align-items: start; gap: clamp(2.5rem, 6vw, 6rem); }
.product-focus-media { position: sticky; top: calc(var(--header-height) + 2rem); display: grid; min-width: 0; min-height: 620px; place-items: center; overflow: hidden; border-radius: var(--radius-card); padding: clamp(1.5rem, 4vw, 3rem); background: var(--color-surface-soft); }
.product-focus-media img { display: block; width: 100%; height: 100%; max-height: 650px; object-fit: contain; }
.product-focus-information { min-width: 0; }
.product-focus-summary { display: grid; }
.product-focus-summary > div { display: grid; grid-template-columns: minmax(110px, .28fr) 1fr; gap: 1.25rem; padding-block: 1.1rem; border-bottom: 1px solid var(--color-line); }
.product-focus-summary > div:first-child { padding-top: 0; }
.product-focus-summary dt { color: var(--color-muted); font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.product-focus-summary dd { min-width: 0; color: var(--color-ink); line-height: 1.65; overflow-wrap: anywhere; }
.product-focus-summary h1 { max-width: none; font-size: clamp(1.35rem, 1.75vw, 1.95rem); line-height: 1.18; letter-spacing: -.018em; text-wrap: pretty; }
.product-focus-section { padding-top: 1.5rem; }
.product-focus-section h2 { margin-bottom: 1rem; font-size: 1rem; letter-spacing: -.01em; }
.product-focus-section .specifications-scroll { max-height: 310px; overflow: auto; border: 1px solid var(--color-line); border-radius: var(--radius-card); background: var(--color-surface); }
.product-focus-section .specifications-table th, .product-focus-section .specifications-table td { padding: .75rem 1rem; font-size: .78rem; overflow-wrap: anywhere; }
.product-compatible p { color: var(--color-muted); line-height: 1.65; }
.product-focus-actions { display: flex; flex-wrap: wrap; gap: .75rem; padding-top: 2rem; }
.product-datasheet-button { border: 1px solid var(--color-line); background: var(--color-surface); color: var(--color-ink); }
.product-datasheet-button:hover { border-color: var(--color-brand); color: var(--color-brand); }

/* About, Resources, Article, Contact — shared editorial rhythm. */
.secondary-hero-copy { display: grid; justify-items: start; gap: 1.5rem; }
.secondary-hero-copy h1 { max-width: 1000px; }
.secondary-hero-copy > p:not(.eyebrow) { max-width: 660px; color: var(--color-muted); font-size: 1.15rem; }
.secondary-hero-copy > .secondary-mock-note, .secondary-mock-note { max-width: 880px; color: var(--color-muted); font-size: .8rem; }
.secondary-mock-note { padding-left: 1rem; border-left: 2px solid var(--color-line); }
.secondary-text-link { display: inline-flex; align-items: center; min-height: 44px; gap: .5rem; color: var(--color-brand); font-weight: 700; text-decoration: none; }
body[data-page="about"] #about-hero { padding-bottom: 0; }
.about-hero-media { position: relative; margin-top: 3.5rem; overflow: hidden; border-radius: var(--radius-card); }
.about-hero-media img { width: 100%; height: clamp(350px, 43vw, 640px); object-fit: cover; }
.about-hero-media figcaption { padding: .9rem 1.25rem; background: var(--color-surface-soft); color: var(--color-muted); font-size: .75rem; }
.about-introduction { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); }
.about-introduction > div:last-child { display: grid; align-content: start; gap: 1.5rem; }
.about-introduction .section-intro { font-size: 1.35rem; color: var(--color-ink); }
.about-introduction p:not(.eyebrow, .section-intro) { color: var(--color-muted); }
body[data-page="about"] #business-overview, body[data-page="about"] #company-gallery, body[data-page="about"] #contact-cta { background: var(--color-surface-soft); }
.about-business-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; }
.about-business-grid article { display: grid; align-content: start; justify-items: start; gap: 1rem; min-width: 0; }
.about-business-grid figure { width: 100%; margin-bottom: 1.25rem; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--radius-card); }
.about-business-grid img { width: 100%; height: 100%; object-fit: cover; }
.about-business-grid article:first-child img { object-position: 72% center; }
.about-business-grid h3 { font-size: clamp(1.8rem, 2.8vw, 2.8rem); }
.about-business-grid p { color: var(--color-muted); }
.about-business-grid + .secondary-mock-note, .about-gallery + .secondary-mock-note { margin-top: 2.5rem; }
.about-capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem 5rem; margin-top: 3rem; }
.about-capability-grid article { padding-top: 2rem; border-top: 1px solid var(--color-line); }
.about-capability-grid h3 { max-width: 460px; margin-block: 1rem; font-size: clamp(1.8rem, 2.5vw, 2.5rem); }
.about-capability-grid p { max-width: 510px; color: var(--color-muted); }
.capabilities-showcase-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); gap: 1.5rem; }
.capabilities-panel { min-width: 0; padding: clamp(1.5rem, 3vw, 3rem); border-radius: var(--radius-card); background: var(--color-surface-soft); }
.capabilities-panel-heading { display: grid; gap: .7rem; margin-bottom: 2rem; }
.capabilities-panel-heading h3 { font-size: clamp(2.2rem, 4vw, 4rem); }
.capabilities-media-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.capabilities-media-grid figure { display: grid; grid-template-rows: auto auto 130px; min-width: 0; }
.capabilities-media-grid strong { color: var(--color-brand); font-size: clamp(1.5rem, 2.5vw, 2.4rem); line-height: 1; }
.capabilities-media-grid span { min-height: 2.6em; margin-block: .4rem .8rem; color: var(--color-muted); font-size: .78rem; }
.capabilities-media-grid img { width: 100%; height: 130px; object-fit: cover; border-radius: calc(var(--radius-card) * .65); }
.capability-flow { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; margin-block: 2.25rem; }
.capability-flow span { padding: 1rem; background: var(--color-brand); color: #fff; text-align: center; font-weight: 700; }
.capability-flow b { color: var(--color-brand); font-size: 1.8rem; }
.capability-copy { display: grid; gap: 1.25rem; }
.capability-copy p { color: var(--color-muted); font-size: 1.125rem; line-height: 1.75; }
.capabilities-products { background: #0d1938; color: #fff; }
.capabilities-products .eyebrow { color: #aebee8; }
.capability-products-figure { padding: 1.25rem; border-radius: var(--radius-card); background: #fff; }
.capability-products-figure img { width: 100%; max-height: 390px; object-fit: contain; }
.capability-products-figure figcaption { margin-top: .75rem; color: #5d6578; font-size: .75rem; text-align: center; }
.capability-product-list { display: grid; gap: .55rem; margin-top: 1.5rem; }
.capability-product-list > div { display: grid; grid-template-columns: minmax(120px, .38fr) 1fr; min-width: 0; overflow: hidden; border-radius: .25rem; }
.capability-product-list dt, .capability-product-list dd { padding: .75rem .85rem; font-size: .76rem; }
.capability-product-list dt { display: flex; align-items: center; background: var(--color-brand); font-weight: 700; }
.capability-product-list dd { background: #1d3264; color: #dbe4ff; }
body[data-page="about"] #product-verification { padding-bottom: 0; background: var(--color-surface-soft); }
.verification-showcase { display: grid; gap: clamp(2.5rem, 4vw, 4rem); }
.verification-showcase > .section-heading { margin-bottom: 0; }
.verification-intro { display: grid; grid-template-columns: minmax(0, .75fr) minmax(520px, 1.25fr); gap: 3rem; align-items: end; }
.verification-intro .section-intro { margin: 0; color: var(--color-ink); }
.verification-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; }
.verification-flow li { position: relative; min-width: 0; padding: 1.1rem .8rem; border-top: 2px solid var(--color-brand); color: var(--color-muted); font-size: .78rem; font-weight: 700; }
.verification-flow li::after { position: absolute; top: -.38rem; right: -.25rem; width: .65rem; height: .65rem; border-radius: 50%; background: var(--color-brand); content: ''; }
.verification-flow span { display: block; margin-bottom: .35rem; color: var(--color-brand); font-size: 1.2rem; }
.verification-module { display: grid; grid-template-columns: 1.05fr 1fr .8fr; gap: 1.5rem; align-items: stretch; }
.verification-module-copy, .verification-module figure, .verification-lab, .verification-field { border-radius: var(--radius-card); background: var(--color-surface); }
.verification-module-copy { padding: clamp(1.5rem, 3vw, 3rem); }
.verification-module-copy h3, .verification-lab h3, .verification-field h3 { margin-block: .8rem 1.25rem; font-size: clamp(1.8rem, 3vw, 3rem); }
.verification-module-copy p:not(.eyebrow), .verification-lab > p:not(.eyebrow), .verification-field > p:not(.eyebrow) { color: var(--color-muted); }
.verification-module-copy ul { display: grid; gap: .65rem; margin-top: 1.5rem; padding-left: 1.1rem; }
.verification-module figure { display: grid; grid-template-rows: 1fr auto; min-width: 0; padding: 1rem; }
.verification-module figure img { width: 100%; height: 100%; min-height: 320px; object-fit: contain; }
.verification-module figcaption, .verification-test-grid figcaption { padding-top: .65rem; color: var(--color-muted); font-size: .72rem; }
.verification-columns { display: grid; grid-template-columns: 1.1fr .9fr; gap: 1.5rem; }
.verification-lab, .verification-field { min-width: 0; padding: clamp(1.5rem, 3vw, 3rem); }
.verification-lab > .eyebrow + h3 { margin-top: .5rem; }
.verification-test-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 2rem; }
.verification-test-grid img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: calc(var(--radius-card) * .6); }
.verification-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: 2rem; }
.verification-field-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: calc(var(--radius-card) * .6); }
.about-gallery + .secondary-mock-note { margin-top: 2rem; }
body[data-page="about"] #company-gallery .section-heading { gap: .5rem; margin-bottom: clamp(2rem, 3vw, 3rem); }
.about-gallery { display: grid; grid-template-columns: 1.35fr 1fr; gap: 1.5rem; }
.about-gallery figure { min-width: 0; }
.about-gallery figure:first-child { grid-row: span 2; }
.about-gallery img { width: 100%; height: 270px; object-fit: cover; border-radius: var(--radius-card); }
.about-gallery figure:first-child img { height: calc(100% - 2.5rem); min-height: 560px; }
.about-gallery figcaption { padding-top: .65rem; color: var(--color-muted); font-size: .8rem; }
.about-trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; margin-top: 3rem; }
.about-trust-grid figure { min-width: 0; padding-top: 1.5rem; border-top: 1px solid var(--color-line); }
.about-trust-grid img { width: 100%; height: 170px; object-fit: contain; }
.about-trust-grid h3 { font-size: 1.25rem; margin-block: 1.5rem .75rem; }
.about-trust-grid p { color: var(--color-muted); font-size: .8rem; }
.about-trust-grid h4 { margin-block: 1.5rem .75rem; font-size: 1.15rem; }
.about-contact-cta { display: flex; align-items: center; justify-content: space-between; gap: 3rem; }
.about-contact-cta .section-heading { max-width: none; margin-bottom: 0; }
.about-contact-cta .section-heading h2 { white-space: nowrap; }
.about-contact-cta .button { flex: none; }
body[data-page="resources"] #resources-hero, body[data-page="contact"] #contact-hero { padding-block: clamp(4rem, 7vw, 7rem); }
body[data-page="resources"] #resource-tabs { padding-block: 1rem; }
body[data-page="resources"] #article-grid { padding-top: 2rem; }
.article-meta { display: flex; align-items: center; gap: .65rem; color: var(--color-muted); font-size: .9rem; }
.resource-article-grid { gap: 2.5rem 1.5rem; }
.resource-article-grid .article-card h3 { font-size: clamp(1.35rem, 2vw, 1.8rem); }
.resource-article-grid .article-card h3 a, .resource-article-grid .card-link-label { display: inline-flex; align-items: center; min-height: 44px; }
#resource-panel:focus-visible { outline: 3px solid var(--color-brand); outline-offset: 5px; }
body[data-page="article-detail"] #article-detail { padding-top: 2rem; }
.article-breadcrumb { margin-bottom: 3rem; }
.article-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }
.article-heading { max-width: 1000px; margin-inline: auto; text-align: center; }
.article-heading h1 { margin-block: 1.5rem; font-size: clamp(2.7rem, 5.4vw, 5.2rem); }
.article-heading time { color: var(--color-muted); font-size: .85rem; }
.article-heading > p:last-child { max-width: 700px; margin: 1.5rem auto 0; color: var(--color-muted); font-size: 1.15rem; }
.article-hero-media { margin-block: 3rem 4rem; }
.article-hero-media img { width: 100%; max-height: 680px; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius-card); }
.article-hero-media figcaption, .article-inline-media figcaption { margin-top: .75rem; color: var(--color-muted); font-size: .78rem; }
.article-reading-column { max-width: 760px; margin-inline: auto; }
.article-body-section { margin-block: 3rem; }
.article-body-section h2 { margin-bottom: 1.25rem; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.article-body-section p { margin-block: 1rem; color: var(--color-muted); font-size: 1.1rem; line-height: 1.85; }
.article-inline-media { margin-block: 3rem; }
.article-inline-media img { width: 100%; border-radius: var(--radius-card); }
body[data-page="contact"] #contact-hero { padding: 0; }
.contact-hero-layout { position: relative; width: 100%; max-width: none; }
.contact-hero-media { position: relative; min-height: clamp(420px, 52vw, 720px); overflow: hidden; border-radius: 0; background: var(--color-surface-soft); }
.contact-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.contact-hero-overlay { position: absolute; inset: 0; background: color-mix(in srgb, var(--color-ink) 24%, transparent); color: var(--color-surface); text-align: left; }
body[data-page="contact"] .contact-hero-overlay h1 { position: absolute; top: 42%; left: clamp(2rem, 23vw, 470px); margin: 0; color: inherit; font-size: clamp(72px, 6vw, 120px); line-height: 1; transform: translateY(-50%); }
body[data-page="contact"] #contact-details { padding-block: var(--space-section); background: var(--color-surface-soft); }
.contact-workspace { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(380px, .96fr); gap: clamp(2rem, 5vw, 5rem); }
.contact-inquiry-panel, .contact-directory { min-width: 0; border-radius: var(--radius-card); padding: clamp(2rem, 4vw, 4rem); background: var(--color-surface); }
.contact-inquiry-panel h2, .contact-directory h2 { font-size: clamp(2rem, 3.5vw, 3.5rem); }
.contact-inquiry-form { display: grid; gap: 1.25rem; margin-top: 2.5rem; }
.contact-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.contact-inquiry-form label { display: grid; gap: .55rem; color: var(--color-ink); font-size: .82rem; font-weight: 700; }
.contact-inquiry-form input, .contact-inquiry-form select, .contact-inquiry-form textarea { width: 100%; min-height: 50px; border: 1px solid var(--color-line); border-radius: .45rem; padding: .8rem .9rem; background: var(--color-surface); color: var(--color-ink); font: inherit; font-weight: 400; transition: border-color .2s var(--ease-standard), box-shadow .2s var(--ease-standard); }
.contact-inquiry-form textarea { min-height: 150px; resize: vertical; }
.contact-inquiry-form input:focus, .contact-inquiry-form select:focus, .contact-inquiry-form textarea:focus { border-color: var(--color-brand); outline: 0; box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand) 12%, transparent); }
.contact-inquiry-form .button { justify-self: start; margin-top: .5rem; }
.contact-channel-list { display: grid; gap: 2rem; margin-top: 2.5rem; }
.contact-channel { min-width: 0; border-top: 1px solid var(--color-line); padding-top: 1.25rem; }
.contact-channel-heading { display: flex; align-items: center; gap: .75rem; color: var(--color-brand); }
.contact-channel-heading h3 { color: inherit; font-size: 1.25rem; }
.contact-channel-icon { display: grid; flex: none; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--color-surface-soft); }
.contact-channel-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-channel-icon .contact-icon-fill { fill: currentColor; stroke: none; }
.contact-channel ul { display: grid; gap: .15rem; margin: .8rem 0 0 1.2rem; }
.contact-channel li { padding-left: .15rem; line-height: 1.45; overflow-wrap: anywhere; }
.contact-channel a { display: inline-flex; align-items: center; min-height: 38px; color: var(--color-ink); text-decoration: underline dotted; text-underline-offset: .28em; }
.contact-channel a:hover { color: var(--color-brand); }
body[data-page="contact"] #map-placeholder { padding-block: clamp(3rem, 6vw, 6rem); }
.contact-location { display: grid; gap: 1.25rem; }
.contact-location h2 { font-size: clamp(2rem, 4vw, 4rem); }
.contact-location p { max-width: 980px; color: var(--color-muted); line-height: 1.7; }
.contact-location strong { color: var(--color-brand); }
.article-reading-column img{display:block;max-width:100%;height:auto;margin:24px auto;border-radius:var(--radius-card)}.article-reading-column > :is(h1,h2,h3,h4){line-height:1.4;margin:28px 0 14px}.article-reading-column > h1{font-size:2rem}.article-reading-column > h2{font-size:1.65rem}.article-reading-column > h3{font-size:1.4rem}.article-reading-column > h4{font-size:1.15rem}
/* Product controls occupy their own gutters and footer, outside the image. */
.product-focus-media:has(.product-image-gallery){padding:24px 12px}
.product-image-gallery{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:16px 12px;width:100%;align-items:center}
.product-image-viewport{grid-column:2;grid-row:1;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;min-width:0}
.product-focus-media .product-image-viewport img{width:100%;height:100%;max-height:650px;object-fit:contain}
.product-focus-media .product-image-viewport img[hidden]{display:none!important}
.product-gallery-arrow{position:static;transform:none;grid-row:1;border:1px solid #d5d9df;border-radius:8px;background:white;color:#043bf4;width:44px;height:44px;font:28px system-ui;cursor:pointer}
.product-gallery-arrow.prev{grid-column:1;justify-self:start}.product-gallery-arrow.next{grid-column:3;justify-self:end}
.product-gallery-count{position:static;grid-column:1/-1;grid-row:2;justify-self:end;margin:0 8px;padding:4px 10px;background:white;border-radius:6px;font-size:13px;color:#333}
@media(max-width:600px){.product-image-gallery{column-gap:4px}.product-focus-media:has(.product-image-gallery){padding:16px 8px}}
.product-image-gallery:has(.product-image-viewport:only-child) .product-image-viewport{grid-column:1/-1}
