:root {
    --test-ink: #102d42;
    --test-heading: #153a53;
    --test-copy: #617786;
    --test-blue: #0066cc;
    --test-sky: #3399ff;
    --test-pale: #eef6ff;
    --test-surface: #f6f9fb;
    --test-line: #dce6ec;
    --test-white: #fff;
    --test-shadow: 0 24px 64px rgba(16, 48, 70, .12);
}

body.testing-showcase-page main {
    color: var(--test-copy);
    background: var(--test-white) !important;
}

.test-shell {
    width: min(calc(100% - 48px), 1180px);
    margin-inline: auto;
}

.test-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    color: var(--test-blue);
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1.3;
    text-transform: uppercase;
}

.test-eyebrow::before {
    width: 24px;
    height: 1px;
    content: '';
    background: currentColor;
}

.test-button {
    min-height: 46px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: inherit;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: .84rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.test-button:hover { transform: translateY(-2px); }
.test-button--light { color: var(--test-blue); background: #fff; box-shadow: 0 13px 34px rgba(0, 0, 0, .18); }
.test-button--light:hover { color: #004f9e; background: #f5f9fc; }
.test-button--glass { color: #fff; background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .42); backdrop-filter: blur(8px); }
.test-button--glass:hover { color: #fff; background: rgba(255, 255, 255, .17); border-color: rgba(255, 255, 255, .72); }
.test-button--blue { color: #fff; background: var(--test-blue); box-shadow: 0 14px 30px rgba(0, 102, 204, .22); }
.test-button--blue:hover { color: #fff; background: #0078e8; box-shadow: 0 17px 36px rgba(0, 102, 204, .28); }

/* Detail hero */
body.testing-showcase-page main > .test-showcase-hero {
    position: relative;
    left: 50% !important;
    min-height: clamp(520px, 58svh, 620px) !important;
    overflow: hidden;
    display: flex;
    align-items: flex-end !important;
    margin-bottom: 0 !important;
    padding-bottom: 98px !important;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 48% !important;
}

body.testing-showcase-page--toy main > .test-showcase-hero { background-image: url('../images/testing/toy-testing-hero.png'); }
body.testing-showcase-page--electrical main > .test-showcase-hero { background-image: url('../images/testing/electrical-testing-hero.png'); }
body.testing-showcase-page--mechanical main > .test-showcase-hero { background-image: url('../images/testing/mechanical-testing-hero.png'); }
body.testing-showcase-page--lighting main > .test-showcase-hero { background-image: url('../images/testing/lighting-testing-hero.png'); }
body.testing-showcase-page--plug main > .test-showcase-hero { background-image: url('../images/testing/plug-socket-testing-hero.png'); }
body.testing-showcase-page--avit main > .test-showcase-hero { background-image: url('../images/testing/av-it-testing-hero.png'); }

body.testing-showcase-page main > .test-showcase-hero::before {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: '';
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(5, 14, 22, .58) 0%, rgba(5, 14, 22, .10) 35%, rgba(5, 14, 22, .07) 57%, rgba(5, 14, 22, .34) 100%),
        linear-gradient(90deg, rgba(5, 17, 27, .94) 0%, rgba(6, 23, 36, .80) 39%, rgba(7, 27, 41, .38) 67%, rgba(7, 27, 41, .06) 100%) !important;
}

.test-showcase-hero::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    height: 92px;
    content: '';
    pointer-events: none;
    background: linear-gradient(180deg, transparent, rgba(4, 15, 24, .28));
}

body.testing-showcase-page main .test-showcase-hero__content {
    position: relative;
    z-index: 2;
    max-width: 760px !important;
}

.test-showcase-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
    color: #9ed2ff;
    font-size: .71rem;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.test-showcase-hero__eyebrow::before { width: 26px; height: 1px; content: ''; background: currentColor; }
body.testing-showcase-page main .test-showcase-hero .hero-heading { max-width: 730px; margin-bottom: 18px !important; font-size: clamp(2.05rem, 3.25vw, 3rem) !important; line-height: 1.08 !important; }
body.testing-showcase-page main .test-showcase-hero .hero-text { max-width: 690px !important; margin-bottom: 21px !important; color: rgba(255, 255, 255, .82) !important; font-size: clamp(.94rem, 1.25vw, 1.04rem) !important; }
.test-showcase-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.test-showcase-hero__tags span { padding: 7px 10px; color: rgba(255, 255, 255, .88); background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .22); border-radius: 4px; backdrop-filter: blur(7px); font-size: .7rem; font-weight: 600; letter-spacing: .02em; }
.test-showcase-hero__actions { display: flex; flex-wrap: wrap; gap: 11px; }

/* Full-width product switcher, kept completely below the hero image. */
.testing-category-nav {
    position: relative;
    z-index: 6;
    width: 100%;
    margin: 0;
    background: #fff;
    border-bottom: 1px solid var(--test-line);
    box-shadow: 0 10px 28px rgba(16, 48, 70, .06);
}

.testing-category-nav__inner {
    width: min(calc(100% - 48px), 1180px);
    min-height: 82px;
    margin-inline: auto;
    padding: 0;
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    align-items: stretch;
    overflow: hidden;
    background: #fff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.testing-category-nav__overview {
    padding: 0 21px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    color: #486477;
    background: #f7fafc;
    border-right: 1px solid var(--test-line);
    text-decoration: none;
}

.testing-category-nav__overview span { color: var(--test-heading); font-size: .78rem; font-weight: 700; }
.testing-category-nav__overview small { margin-top: 4px; color: #8293a0; font-size: .64rem; }
.testing-category-nav__overview:hover,
.testing-category-nav__overview.is-current { color: var(--test-blue); background: #eef6ff; }
.testing-category-nav__overview.is-current span { color: var(--test-blue); }

.testing-category-nav__links { min-width: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.testing-category-nav__links a {
    position: relative;
    min-width: 0;
    padding: 13px 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #3f596b;
    border-right: 1px solid #e8eef2;
    text-decoration: none !important;
    transition: color .2s ease, background .2s ease;
}
.testing-category-nav__links a:last-child { border-right: 0; }
.testing-category-nav__links a::after { position: absolute; right: 18px; bottom: 0; left: 18px; height: 3px; content: ''; background: var(--test-blue); transform: scaleX(0); transition: transform .2s ease; }
.testing-category-nav__links a > i { flex: 0 0 auto; color: #7b98aa; font-size: .85rem; transition: color .2s ease, transform .2s ease; }
.testing-category-nav__links a > span { min-width: 0; display: flex; flex-direction: column; }
.testing-category-nav__links strong { color: inherit; font-size: .72rem; line-height: 1.35; white-space: nowrap; }
.testing-category-nav__links small { margin-top: 3px; overflow: hidden; color: #91a1ac; font-size: .59rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.testing-category-nav__links a:hover,
.testing-category-nav__links a.is-current { color: var(--test-blue); background: #f7fbff; }
.testing-category-nav__links a:hover > i,
.testing-category-nav__links a.is-current > i { color: var(--test-blue); transform: translateY(-1px); }
.testing-category-nav__links a:hover::after,
.testing-category-nav__links a.is-current::after { transform: scaleX(1); }

/* Shared headings and sections. */
.test-overview { padding: clamp(72px, 7vw, 96px) 0 clamp(76px, 8vw, 104px); background: #fff; }
.test-overview__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(460px, 1.05fr); gap: clamp(60px, 8vw, 108px); align-items: center; }
.test-overview__intro h2,
.test-section-heading h2,
.test-evidence h2,
.test-cta h2,
.test-signature h2 { margin: 0; color: var(--test-heading); font-family: 'Manrope', sans-serif; font-weight: 650; letter-spacing: -.035em; line-height: 1.16; }
.test-overview__intro h2 { max-width: 600px; margin-bottom: 21px; font-size: clamp(1.7rem, 2.45vw, 2.25rem); }
.test-overview__intro > p { margin: 0; font-size: .91rem; line-height: 1.78; }
.test-overview__intro .test-overview__lead { margin-bottom: 15px; color: #38566a; font-size: 1rem; font-weight: 500; }
.test-overview__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--test-line); border-left: 1px solid var(--test-line); }
.test-overview__facts > div { min-height: 132px; padding: 22px 24px; background: #fff; border-right: 1px solid var(--test-line); border-bottom: 1px solid var(--test-line); }
.test-overview__facts dt { margin: 0 0 10px; color: var(--test-blue); font-size: .61rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.test-overview__facts dd { margin: 0; color: #4e6879; font-size: .79rem; line-height: 1.62; }

.test-signature { position: relative; overflow: hidden; padding: clamp(74px, 8vw, 104px) 0; background: var(--test-surface); border-block: 1px solid #e7eef2; }
.test-signature h2 { font-size: clamp(1.65rem, 2.35vw, 2.12rem); }
.test-signature p { font-size: .9rem; line-height: 1.75; }

.test-capabilities { padding: clamp(76px, 8vw, 104px) 0; background: #fff; }
.test-section-heading { max-width: 720px; margin-bottom: 42px; }
.test-section-heading--split { max-width: none; display: grid; grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr); gap: clamp(54px, 8vw, 110px); align-items: end; }
.test-section-heading h2 { font-size: clamp(1.62rem, 2.2vw, 2rem); }
.test-section-heading > p,
.test-section-heading--split > p { max-width: 620px; margin: 0; font-size: .9rem; line-height: 1.75; }
.test-section-heading:not(.test-section-heading--split) > p { margin-top: 15px; }
.test-capability-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--test-line); border-left: 1px solid var(--test-line); }
.test-capability { position: relative; min-width: 0; min-height: 370px; padding: 29px 25px 27px; background: #fff; border-right: 1px solid var(--test-line); border-bottom: 1px solid var(--test-line); transition: background .22s ease, box-shadow .22s ease, transform .22s ease; }
.test-capability:hover { z-index: 1; background: #fbfdff; box-shadow: 0 20px 46px rgba(19, 54, 76, .09); transform: translateY(-4px); }
.test-capability__index { display: block; margin-bottom: 34px; color: #8195a3; font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.test-capability > i { width: 44px; height: 44px; margin-bottom: 22px; display: grid; place-items: center; color: var(--test-blue); background: var(--test-pale); border: 1px solid #d8e9f8; border-radius: 9px; font-size: 1rem; }
.test-capability h3 { margin: 0 0 11px; color: var(--test-ink); font-family: 'Manrope', sans-serif; font-size: .98rem; line-height: 1.4; }
.test-capability p { margin: 0 0 18px; font-size: .79rem; line-height: 1.65; }
.test-capability ul { margin: 0; padding: 17px 0 0; list-style: none; border-top: 1px solid #e8eef2; }
.test-capability li { position: relative; padding: 4px 0 4px 12px; color: #526b7b; font-size: .7rem; line-height: 1.45; }
.test-capability li::before { position: absolute; top: 10px; left: 0; width: 4px; height: 4px; content: ''; background: var(--test-blue); border-radius: 50%; }

.test-evidence { padding: clamp(76px, 8vw, 104px) 0; background: #f5f8fa; border-block: 1px solid #e5edf1; }
.test-evidence__grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr); gap: clamp(60px, 9vw, 122px); align-items: start; }
.test-evidence h2 { max-width: 640px; margin-bottom: 18px; font-size: clamp(1.62rem, 2.2vw, 2.02rem); }
.test-evidence__standards > p { max-width: 650px; margin: 0 0 35px; font-size: .9rem; line-height: 1.72; }
.test-standard-list { border-top: 1px solid #cfdae1; }
.test-standard-list article { padding: 21px 0; display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 24px; border-bottom: 1px solid #d8e2e8; }
.test-standard-list article > span { padding-top: 3px; color: var(--test-blue); font-size: .61rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.test-standard-list strong { display: block; margin-bottom: 5px; color: var(--test-ink); font-size: .84rem; }
.test-standard-list p { margin: 0; font-size: .75rem; line-height: 1.58; }
.test-evidence__output { position: relative; overflow: hidden; padding: 34px; color: #dbe9f4; background: linear-gradient(145deg, #0a304f, #0c4774); border-radius: 9px; box-shadow: 0 22px 50px rgba(10, 48, 79, .18); }
.test-evidence__output::after { position: absolute; top: -90px; right: -90px; width: 230px; height: 230px; content: ''; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 38px rgba(255,255,255,.025), 0 0 0 76px rgba(255,255,255,.018); }
.test-evidence__number { position: relative; z-index: 1; display: block; margin-bottom: 58px; color: #7dc4ff; font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.test-evidence__output h3 { position: relative; z-index: 1; margin: 0 0 12px; color: #fff; font-family: 'Manrope', sans-serif; font-size: 1.35rem; }
.test-evidence__output > p { position: relative; z-index: 1; margin: 0 0 24px; color: rgba(255,255,255,.68); font-size: .8rem; line-height: 1.65; }
.test-evidence__output ul { position: relative; z-index: 1; margin: 0 0 27px; padding: 0; list-style: none; }
.test-evidence__output li { padding: 11px 0; display: flex; gap: 11px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.84); font-size: .76rem; line-height: 1.45; }
.test-evidence__output li i { margin-top: 3px; color: #72c3ff; font-size: .66rem; }
.test-evidence__output > a { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 9px; color: #fff; font-size: .75rem; font-weight: 700; text-decoration: none; }
.test-evidence__output > a:hover { color: #9ed2ff; }

.test-process { padding: clamp(76px, 8vw, 104px) 0; background: #fff; }
.test-process__steps { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.test-process__steps::before { position: absolute; top: 23px; right: 12.5%; left: 12.5%; height: 1px; content: ''; background: #cbd9e2; }
.test-process__steps li { position: relative; padding: 0 24px; text-align: center; }
.test-process__steps li > span { position: relative; z-index: 1; width: 46px; height: 46px; margin: 0 auto 22px; display: grid; place-items: center; color: var(--test-blue); background: #fff; border: 1px solid #bbd5e8; border-radius: 50%; font-size: .68rem; font-weight: 700; }
.test-process__steps small { display: block; margin-bottom: 6px; color: var(--test-blue); font-size: .58rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.test-process__steps h3 { margin: 0 0 9px; color: var(--test-ink); font-family: 'Manrope', sans-serif; font-size: .9rem; }
.test-process__steps p { margin: 0; font-size: .73rem; line-height: 1.58; }

.test-cases { padding: clamp(76px, 8vw, 104px) 0; background: #f6f9fb; border-top: 1px solid #e7eef2; }
.test-case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.test-case { overflow: hidden; background: #fff; border: 1px solid var(--test-line); border-radius: 8px; box-shadow: 0 9px 27px rgba(18, 52, 73, .055); transition: transform .25s ease, box-shadow .25s ease; }
.test-case:hover { box-shadow: 0 18px 42px rgba(18, 52, 73, .11); transform: translateY(-5px); }
.test-case img { width: 100%; height: 230px; display: block; object-fit: cover; transition: transform .5s ease; }
.test-case:hover img { transform: scale(1.035); }
.test-case > div { min-height: 188px; padding: 24px 25px; }
.test-case > div > span { display: block; margin-bottom: 11px; color: var(--test-blue); font-size: .61rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.test-case h3 { margin: 0 0 9px; color: var(--test-ink); font-family: 'Manrope', sans-serif; font-size: .98rem; line-height: 1.4; }
.test-case p { margin: 0; font-size: .76rem; line-height: 1.62; }

.test-cta { padding: 62px 0 70px; background: #fff; }
.test-cta__inner { padding: 37px 40px; display: flex; align-items: center; justify-content: space-between; gap: 44px; background: #f2f7fb; border: 1px solid #dbe7ee; border-radius: 9px; }
.test-cta__inner > div { max-width: 720px; }
.test-cta h2 { margin-bottom: 10px; font-size: clamp(1.45rem, 2vw, 1.78rem); }
.test-cta p { margin: 0; font-size: .86rem; line-height: 1.65; }
.test-cta .test-eyebrow { margin-bottom: 11px; }
.test-cta .test-button { flex: 0 0 auto; }

/* Toy: a human-centred safety orbit. */
.test-signature--toy { background: radial-gradient(circle at 76% 48%, rgba(51, 153, 255, .09), transparent 27rem), #f8fbfd; }
.toy-risk-layout { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(560px, 1.28fr); gap: 64px; align-items: center; }
.toy-risk-copy p { max-width: 430px; margin: 18px 0 28px; }
.toy-age-band { display: flex; align-items: center; gap: 8px; }
.toy-age-band > span { margin-right: 5px; color: #78909f; font-size: .64rem; font-weight: 700; text-transform: uppercase; }
.toy-age-band strong { min-width: 43px; padding: 7px 9px; color: #176da9; background: #fff; border: 1px solid #d5e8f4; border-radius: 999px; text-align: center; font-size: .68rem; }
.toy-orbit { position: relative; min-height: 430px; }
.toy-orbit::before,
.toy-orbit::after { position: absolute; top: 50%; left: 50%; content: ''; border: 1px solid #cfe2ef; border-radius: 50%; transform: translate(-50%, -50%); }
.toy-orbit::before { width: 400px; height: 400px; }
.toy-orbit::after { width: 285px; height: 285px; border-style: dashed; }
.toy-orbit__core { position: absolute; top: 50%; left: 50%; z-index: 2; width: 154px; height: 154px; display: flex; align-items: center; justify-content: center; flex-direction: column; color: #fff; background: linear-gradient(145deg, #1a78bb, #0066cc); border: 10px solid #fff; border-radius: 50%; box-shadow: 0 18px 38px rgba(0, 102, 204, .2); transform: translate(-50%, -50%); text-align: center; }
.toy-orbit__core i { margin-bottom: 9px; font-size: 1.25rem; }
.toy-orbit__core strong { font-size: .9rem; }
.toy-orbit__core small { max-width: 90px; margin-top: 4px; color: rgba(255,255,255,.7); font-size: .54rem; line-height: 1.35; }
.toy-orbit__item { position: absolute; z-index: 3; width: 178px; padding: 15px 17px; background: #fff; border: 1px solid #d8e6ee; border-radius: 9px; box-shadow: 0 12px 28px rgba(19, 59, 83, .08); }
.toy-orbit__item > span { display: block; margin-bottom: 6px; color: var(--test-blue); font-size: .58rem; font-weight: 700; }
.toy-orbit__item strong,
.toy-orbit__item small { display: block; }
.toy-orbit__item strong { color: var(--test-ink); font-size: .76rem; }
.toy-orbit__item small { margin-top: 3px; color: #8799a5; font-size: .6rem; }
.toy-orbit__item--one { top: 5px; left: 50%; transform: translateX(-50%); }
.toy-orbit__item--two { top: 50%; right: 0; transform: translateY(-50%); }
.toy-orbit__item--three { bottom: 5px; left: 50%; transform: translateX(-50%); }
.toy-orbit__item--four { top: 50%; left: 0; transform: translateY(-50%); }

/* Electrical: a precise verification console. */
.test-signature--electrical { background-color: #f4f8fb; background-image: linear-gradient(rgba(0,102,204,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(0,102,204,.035) 1px, transparent 1px); background-size: 24px 24px; }
.electrical-console { padding: 0 0 0 32px; border-left: 3px solid var(--test-blue); }
.electrical-console__heading { display: grid; grid-template-columns: minmax(0, .95fr) minmax(340px, 1.05fr); gap: 70px; align-items: end; margin-bottom: 35px; }
.electrical-console__heading p { margin: 0; }
.electrical-console__meters { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 14px; }
.electrical-console__meters > div { padding: 13px 16px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; background: #fff; border: 1px solid #d7e3eb; }
.electrical-console__meters span { color: var(--test-ink); font-size: .68rem; font-weight: 700; }
.electrical-console__meters b { height: 4px; background: #e2ebf1; }
.electrical-console__meters b::after { display: block; width: var(--meter); height: 100%; content: ''; background: var(--test-blue); }
.electrical-console__meters small { color: #8a9ca7; font-size: .57rem; }
.electrical-matrix { background: #fff; border: 1px solid #cddce5; box-shadow: 0 18px 44px rgba(13, 57, 84, .08); }
.electrical-matrix > div { min-height: 64px; padding: 14px 20px; display: grid; grid-template-columns: 1.05fr 1fr 1fr; align-items: center; gap: 24px; border-top: 1px solid #e0e8ed; font-size: .72rem; }
.electrical-matrix > div:first-child { border-top: 0; }
.electrical-matrix .electrical-matrix__head { min-height: 42px; color: #718694; background: #eef4f8; font-size: .58rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.electrical-matrix strong { color: var(--test-ink); font-size: .75rem; }
.electrical-matrix strong i { width: 22px; color: var(--test-blue); }
.electrical-matrix em { color: #507084; font-style: normal; }

/* Mechanical: a structural load path. */
.test-signature--mechanical { background: linear-gradient(110deg, #f3f6f8 0%, #f9fbfc 65%, #fff 100%); }
.mechanical-path-layout { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: 80px; align-items: center; }
.mechanical-path-copy p { max-width: 420px; margin: 18px 0 30px; }
.mechanical-criteria { display: flex; flex-wrap: wrap; gap: 10px; }
.mechanical-criteria span { padding: 8px 12px; color: #5d7483; background: #fff; border: 1px solid #d5e0e7; font-size: .63rem; }
.mechanical-criteria b { margin-right: 5px; color: #165f99; font-size: .8rem; }
.mechanical-path { position: relative; margin: 0; padding: 0; list-style: none; }
.mechanical-path::before { position: absolute; top: 22px; bottom: 22px; left: 23px; width: 2px; content: ''; background: #b8ccda; }
.mechanical-path li { position: relative; min-height: 83px; padding: 0 0 20px 76px; }
.mechanical-path li:last-child { padding-bottom: 0; }
.mechanical-path li > span { position: absolute; top: 0; left: 0; z-index: 1; width: 48px; height: 48px; display: grid; place-items: center; color: #fff; background: #165f99; border: 7px solid #f6f9fa; border-radius: 50%; font-size: .62rem; font-weight: 700; }
.mechanical-path li > div { min-height: 70px; padding: 12px 18px; display: grid; grid-template-columns: 90px 1fr; align-items: center; column-gap: 18px; background: #fff; border: 1px solid #d4e0e7; border-left: 3px solid #165f99; box-shadow: 0 10px 25px rgba(25, 62, 84, .055); }
.mechanical-path small { grid-row: span 2; color: #688092; font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.mechanical-path strong { color: var(--test-ink); font-size: .78rem; }
.mechanical-path p { margin: 3px 0 0; font-size: .65rem; line-height: 1.4; }

/* Lighting: an optical data laboratory. */
.test-signature--lighting { background: radial-gradient(circle at 75% 35%, rgba(51,153,255,.14), transparent 25rem), linear-gradient(120deg, #fbfdff, #f2f8fc); }
.lighting-lab { display: grid; grid-template-columns: minmax(320px, .83fr) minmax(520px, 1.17fr); gap: 74px; align-items: center; }
.lighting-lab__copy > p { max-width: 470px; margin: 18px 0 30px; }
.lighting-readouts { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid #d8e5ed; }
.lighting-readouts > span { padding: 15px 10px 15px 0; }
.lighting-readouts small,
.lighting-readouts strong { display: block; }
.lighting-readouts small { color: #7c919e; font-size: .56rem; }
.lighting-readouts strong { margin-top: 5px; color: #1479bd; font-size: .86rem; }
.lighting-spectrum { position: relative; min-height: 330px; padding: 36px 34px 26px; overflow: hidden; background: rgba(255,255,255,.88); border: 1px solid #cfe1ed; border-radius: 12px; box-shadow: 0 24px 55px rgba(16, 79, 119, .1); }
.lighting-spectrum__beam { position: absolute; top: -105px; left: 50%; width: 260px; height: 260px; border-radius: 50%; box-shadow: 0 0 85px rgba(62, 168, 241, .3); transform: translateX(-50%); }
.lighting-spectrum__beam::before { position: absolute; inset: 0; content: ''; background: conic-gradient(from 210deg, transparent 0 14%, rgba(55,175,255,.25) 17%, rgba(218,248,255,.8) 29%, rgba(57,154,255,.16) 42%, transparent 46% 100%); clip-path: polygon(38% 28%, 62% 28%, 92% 100%, 8% 100%); }
.lighting-spectrum__beam span { position: absolute; bottom: 16px; left: 50%; width: 58px; height: 13px; background: #fff; border: 1px solid #9ed5f5; border-radius: 50%; box-shadow: 0 0 18px #6bc2f5; transform: translateX(-50%); }
.lighting-spectrum__plot { position: absolute; right: 34px; bottom: 52px; left: 34px; height: 145px; display: flex; align-items: flex-end; gap: 7px; border-bottom: 1px solid #c7d8e3; }
.lighting-spectrum__plot i { flex: 1; height: var(--h); background: linear-gradient(180deg, #43b2f4, #176db3); border-radius: 2px 2px 0 0; opacity: .86; }
.lighting-spectrum__axis { position: absolute; right: 34px; bottom: 27px; left: 34px; display: flex; justify-content: space-between; color: #8295a1; font-size: .55rem; }
.lighting-spectrum__axis strong { color: #3f6175; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

/* Plug and socket: an interface blueprint. */
.test-signature--plug { background-color: #f5f8fa; background-image: linear-gradient(rgba(20,95,145,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(20,95,145,.035) 1px, transparent 1px); background-size: 30px 30px; }
.plug-interface { display: grid; grid-template-columns: minmax(480px, 1.05fr) minmax(340px, .95fr); gap: 90px; align-items: center; }
.plug-interface__visual { position: relative; min-height: 340px; display: flex; align-items: center; justify-content: space-around; background: rgba(255,255,255,.72); border: 1px solid #d2e0e8; }
.plug-interface__visual::before { position: absolute; inset: 24px; content: ''; border: 1px dashed #c8d9e3; }
.plug-figure { position: relative; z-index: 2; width: 160px; height: 176px; }
.plug-figure__body { position: absolute; inset: 15px 22px 45px; display: block; background: linear-gradient(145deg, #175f91, #0b3858); border-radius: 26px 26px 16px 16px; box-shadow: 0 18px 30px rgba(10,49,76,.2); }
.plug-figure__body i { position: absolute; bottom: 15px; width: 10px; height: 10px; background: #5faee2; border-radius: 50%; }
.plug-figure__body i:first-child { left: 38px; }.plug-figure__body i:last-child { right: 38px; }
.plug-figure__pin { position: absolute; bottom: 0; width: 13px; height: 65px; background: linear-gradient(90deg, #c5d3dc, #fff, #9dadb8); border-radius: 3px; }
.plug-figure__pin--one { left: 44px; }.plug-figure__pin--two { right: 44px; }.plug-figure__pin--three { left: 50%; height: 75px; transform: translateX(-50%); }
.plug-interface__target { position: relative; z-index: 2; width: 160px; height: 160px; background: #fff; border: 10px solid #e3eaf0; border-radius: 50%; box-shadow: 0 14px 32px rgba(20,58,80,.12); }
.plug-interface__target i { position: absolute; width: 16px; height: 28px; background: #193f5a; border-radius: 7px; }
.plug-interface__target i:first-child { top: 51px; left: 42px; }.plug-interface__target i:nth-child(2) { top: 51px; right: 42px; }.plug-interface__target i:last-child { top: 25px; left: 50%; transform: translateX(-50%); }
.plug-interface__line { position: absolute; right: 150px; left: 160px; height: 1px; background: #69a9d3; }
.plug-interface__line::after { position: absolute; top: -3px; right: 0; width: 7px; height: 7px; content: ''; background: #1680c6; border-radius: 50%; }
.plug-interface__copy > p { margin: 18px 0 28px; }
.plug-interface__copy dl { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; border-top: 1px solid #cfdde5; border-left: 1px solid #cfdde5; }
.plug-interface__copy dl > div { min-height: 88px; padding: 14px 16px; background: #fff; border-right: 1px solid #cfdde5; border-bottom: 1px solid #cfdde5; }
.plug-interface__copy dt { color: #126fbd; font-size: .62rem; font-weight: 700; text-transform: uppercase; }
.plug-interface__copy dd { margin: 6px 0 0; color: #607887; font-size: .67rem; line-height: 1.45; }

/* AV/IT: a connected signal chain. */
.test-signature--avit { background-color: #f4f7fa; background-image: radial-gradient(circle at 1px 1px, rgba(7,95,191,.12) 1px, transparent 0); background-size: 20px 20px; }
.avit-chain-layout { padding: 36px; background: rgba(255,255,255,.9); border: 1px solid #d2dfe9; box-shadow: 0 20px 50px rgba(18,54,79,.08); }
.avit-chain-copy { display: grid; grid-template-columns: minmax(330px, .8fr) minmax(0, 1.2fr); column-gap: 70px; align-items: end; }
.avit-chain-copy .test-eyebrow { grid-column: 1; }
.avit-chain-copy h2 { grid-column: 1; }
.avit-chain-copy > p { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.avit-protocols { grid-column: 1 / -1; margin: 29px 0 20px; display: flex; gap: 7px; }
.avit-protocols span { padding: 6px 10px; color: #37617e; background: #eef5fb; border: 1px solid #d5e4ee; border-radius: 3px; font-size: .6rem; font-weight: 700; }
.avit-chain { display: grid; grid-template-columns: 1fr 32px 1fr 32px 1fr 32px 1fr; align-items: center; }
.avit-chain article { min-height: 152px; padding: 22px 18px; display: flex; flex-direction: column; color: #506a7c; background: #f8fbfd; border: 1px solid #d7e3eb; }
.avit-chain article > i { margin-bottom: auto; color: #075fbf; font-size: 1.1rem; }
.avit-chain article > span { margin-bottom: 5px; color: #79909f; font-size: .56rem; font-weight: 700; }
.avit-chain article strong { color: var(--test-ink); font-size: .82rem; }
.avit-chain article small { margin-top: 3px; font-size: .59rem; }
.avit-chain > b { color: #83a8c0; text-align: center; font-size: .66rem; }
.avit-chain__trace { padding: 13px 17px; display: flex; align-items: center; gap: 15px; color: #607a8b; background: #0d3553; }
.avit-chain__trace span { color: #83c8f7; font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.avit-chain__trace strong { color: #fff; font-family: monospace; font-size: .69rem; letter-spacing: .08em; }
.avit-chain__trace em { margin-left: auto; color: #8bd0ff; font-size: .6rem; font-style: normal; }

@media (max-width: 1080px) {
    .testing-category-nav__inner { grid-template-columns: 112px minmax(0, 1fr); }
    .testing-category-nav__overview { padding-inline: 16px; }
    .testing-category-nav__links a { gap: 7px; padding-inline: 7px; }
    .testing-category-nav__links a > i { display: none; }
    .test-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .test-capability { min-height: 340px; }
    .toy-risk-layout,
    .mechanical-path-layout,
    .lighting-lab,
    .plug-interface { grid-template-columns: 1fr; gap: 50px; }
    .toy-risk-copy,
    .mechanical-path-copy,
    .lighting-lab__copy,
    .plug-interface__copy { max-width: 680px; }
    .toy-orbit { width: min(100%, 650px); margin-inline: auto; }
    .plug-interface__visual { order: 2; }
}

@media (max-width: 820px) {
    .test-shell { width: min(calc(100% - 34px), 1180px); }
    .testing-category-nav { width: 100%; }
    .testing-category-nav__inner { width: 100%; min-height: 74px; padding: 0; grid-template-columns: 1fr; }
    .testing-category-nav__overview { display: none; }
    .testing-category-nav__links { overflow-x: auto; display: flex; scroll-snap-type: x proximity; scrollbar-width: none; }
    .testing-category-nav__links::-webkit-scrollbar { display: none; }
    .testing-category-nav__links a { flex: 0 0 126px; min-height: 74px; scroll-snap-align: center; }
    .testing-category-nav__links a > i { display: block; }
    .test-overview__grid,
    .test-evidence__grid,
    .test-section-heading--split,
    .electrical-console__heading { grid-template-columns: 1fr; gap: 38px; }
    .test-overview__facts { max-width: 650px; }
    .test-section-heading--split { align-items: start; }
    .test-process__steps { grid-template-columns: repeat(2, 1fr); gap: 34px 0; }
    .test-process__steps::before { display: none; }
    .test-case-grid { grid-template-columns: 1fr; }
    .test-case { display: grid; grid-template-columns: 42% 58%; }
    .test-case img { height: 100%; min-height: 230px; }
    .test-case > div { min-height: 230px; display: flex; justify-content: center; flex-direction: column; }
    .avit-chain-copy { grid-template-columns: 1fr; }
    .avit-chain-copy .test-eyebrow,
    .avit-chain-copy h2,
    .avit-chain-copy > p { grid-column: 1; grid-row: auto; }
    .avit-chain-copy > p { margin-top: 16px; }
    .avit-chain { grid-template-columns: repeat(4, 1fr); gap: 10px; }
    .avit-chain > b { display: none; }
    .electrical-console__meters { grid-template-columns: 1fr; }
    .test-cta__inner { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
    body.testing-showcase-page main > .test-showcase-hero { min-height: 560px !important; padding-bottom: 92px !important; background-position: 56% center !important; }
    body.testing-showcase-page main .test-showcase-hero .hero-heading { font-size: clamp(1.85rem, 8.4vw, 2.4rem) !important; }
    .test-showcase-hero__actions { align-items: stretch; flex-direction: column; }
    .test-showcase-hero__actions .test-button { width: 100%; }
    .testing-category-nav { margin-top: 0; }
    .testing-category-nav__inner { min-height: 70px; border-radius: 0; }
    .testing-category-nav__links a { flex-basis: 116px; min-height: 70px; }
    .testing-category-nav__links small { display: none; }
    .test-overview { padding-top: 58px; }
    .test-overview__facts { grid-template-columns: 1fr; }
    .test-overview__facts > div { min-height: 0; padding: 18px; }
    .test-capability-grid { grid-template-columns: 1fr; }
    .test-capability { min-height: 0; padding: 25px 22px; }
    .test-capability__index { margin-bottom: 23px; }
    .test-evidence__output { padding: 28px 24px; }
    .test-standard-list article { grid-template-columns: 1fr; gap: 7px; }
    .test-process__steps { grid-template-columns: 1fr; gap: 28px; }
    .test-process__steps li { padding-inline: 0; display: grid; grid-template-columns: 48px 1fr; gap: 16px; text-align: left; }
    .test-process__steps li > span { margin: 0; }
    .test-case { display: block; }
    .test-case img { height: 215px; min-height: 0; }
    .test-case > div { min-height: 0; }
    .test-cta { padding-bottom: 54px; }
    .test-cta__inner { padding: 29px 24px; }
    .test-cta .test-button { width: 100%; }
    .toy-orbit { min-height: 0; padding-top: 188px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .toy-orbit::before { top: 78px; width: 230px; height: 230px; }
    .toy-orbit::after { top: 78px; width: 172px; height: 172px; }
    .toy-orbit__core { top: 78px; width: 126px; height: 126px; }
    .toy-orbit__item { position: static; width: auto; min-height: 91px; transform: none !important; }
    .electrical-console { padding-left: 18px; }
    .electrical-matrix { overflow: visible; }
    .electrical-matrix .electrical-matrix__head { display: none; }
    .electrical-matrix > div { min-width: 0; padding: 17px 18px; grid-template-columns: 1fr; gap: 6px; }
    .electrical-matrix > div > span::before { content: 'Condition: '; color: #8294a0; font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
    .electrical-matrix > div > em::before { content: 'Output: '; color: #8294a0; font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
    .mechanical-path li { padding-left: 62px; }
    .mechanical-path li > div { display: block; }
    .mechanical-path small { display: block; margin-bottom: 5px; }
    .lighting-readouts { grid-template-columns: repeat(2, 1fr); }
    .lighting-spectrum { min-height: 285px; padding-inline: 20px; }
    .lighting-spectrum__plot,
    .lighting-spectrum__axis { right: 20px; left: 20px; }
    .plug-interface__visual { min-height: 280px; transform: scale(.88); margin-inline: -18px; }
    .plug-interface__copy dl { grid-template-columns: 1fr; }
    .avit-chain-layout { padding: 24px 18px; }
    .avit-protocols { overflow-x: auto; }
    .avit-chain { grid-template-columns: repeat(2, 1fr); }
    .avit-chain__trace { align-items: flex-start; flex-direction: column; }
    .avit-chain__trace em { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .test-capability,
    .test-case,
    .test-button,
    .testing-category-nav__links a::after { transition: none; }
}

/* Typography floor for technical labels and evidence copy. */
.test-eyebrow,
.test-showcase-hero__eyebrow { font-size: .75rem; }
.test-showcase-hero__tags span { font-size: .78rem; }
.testing-category-nav__overview span { font-size: .82rem; }
.testing-category-nav__overview small { font-size: .74rem; }
.testing-category-nav__links strong { font-size: .82rem; }
.testing-category-nav__links small { font-size: .74rem; }
.test-overview__facts dt { font-size: .68rem; }
.test-overview__facts dd { font-size: .89rem; }
.test-capability__index { font-size: .67rem; }
.test-capability p { font-size: .9rem; line-height: 1.7; }
.test-capability li { font-size: .82rem; line-height: 1.55; }
.test-standard-list article > span,
.test-evidence__number { font-size: .68rem; }
.test-standard-list strong { font-size: .88rem; }
.test-standard-list p { font-size: .85rem; line-height: 1.65; }
.test-evidence__output > p { font-size: .9rem; line-height: 1.7; }
.test-evidence__output li,
.test-evidence__output > a { font-size: .85rem; }
.test-process__steps small { font-size: .66rem; }
.test-process__steps p { font-size: .85rem; line-height: 1.65; }
.test-case > div > span { font-size: .68rem; }
.test-case p { font-size: .87rem; line-height: 1.68; }
.toy-age-band > span { font-size: .7rem; }
.toy-age-band strong { font-size: .73rem; }
.toy-orbit__core small { font-size: .62rem; }
.toy-orbit__item > span { font-size: .65rem; }
.toy-orbit__item strong { font-size: .8rem; }
.toy-orbit__item small { font-size: .66rem; }
.electrical-console__meters span { font-size: .73rem; }
.electrical-console__meters small { font-size: .64rem; }
.electrical-matrix > div { font-size: .77rem; }
.electrical-matrix .electrical-matrix__head { font-size: .65rem; }
.electrical-matrix strong { font-size: .8rem; }
.mechanical-criteria span { font-size: .7rem; }
.mechanical-path small { font-size: .65rem; }
.mechanical-path strong { font-size: .82rem; }
.mechanical-path p { font-size: .77rem; }
.lighting-readouts small { font-size: .63rem; }
.lighting-spectrum__axis { font-size: .62rem; }
.plug-interface__copy dt { font-size: .68rem; }
.plug-interface__copy dd { font-size: .78rem; }
.avit-protocols span { font-size: .68rem; }
.avit-chain article > span { font-size: .64rem; }
.avit-chain article strong { font-size: .86rem; }
.avit-chain article small { font-size: .7rem; }
.avit-chain__trace span { font-size: .65rem; }
.avit-chain__trace strong { font-size: .74rem; }
.avit-chain__trace em { font-size: .66rem; }

@media (max-width: 760px) {
    .electrical-matrix > div > span::before,
    .electrical-matrix > div > em::before { font-size: .64rem; }
}
