.tej-catalogue-hero .catalogue-hero { gap: 64px; grid-template-columns: 1fr 1fr; padding-top: 132px; padding-bottom: 62px; }
.tej-catalogue-hero .catalogue-hero h1 { font-size: clamp(2.5rem,3.65vw,3.7rem) !important; }
.tej-catalogue-hero .catalogue-hero figure { position: relative; }
.tej-catalogue-hero .catalogue-hero figure img { aspect-ratio: 1.13; max-height: 490px; width: 100%; object-fit: cover; object-position: center 66%; border-radius: 6px; border: 1px solid #bcd4d5; box-shadow: 0 18px 50px #253c4712; }
.tej-catalogue-hero .catalogue-hero figcaption { max-width: 100%; margin-top: 14px; color: #527071; text-align: left; font-size: .76rem; }
.tej-portfolio { padding-top: 76px; }
.tej-catalogue-groups { display: grid; gap: 64px; }
.tej-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-top: 24px; margin-bottom: 24px; border-top: 1px solid #c4dcdd; }
.tej-group-heading .section-label { margin: 0; font-size: .7rem !important; }
.tej-group-heading h2 { font-size: 1.35rem !important; margin: 0; letter-spacing: -.02em; }
.tej-spec-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: start; }
.tej-spec-card { border: 1px solid #c6dedf; border-radius: 6px; overflow: hidden; background: #fff; box-shadow: 0 5px 20px #23384205; }
.tej-spec-image { position: relative; height: 280px; background: #fff; border-bottom: 1px solid #e0eded; }
.tej-spec-image > span { position: absolute; top: 18px; left: 22px; font-size: .63rem; letter-spacing: .08em; color: #547f80; font-weight: 600; }
.tej-spec-image img { width: 100%; height: 100%; object-fit: contain; padding: 42px 30px 20px; }
.tej-spec-card#calibrators .tej-spec-image img { padding-block: 25px 15px; }
.tej-spec-copy { padding: 28px; }
.tej-spec-title { display: flex; justify-content: space-between; align-items: start; gap: 14px; }
.tej-spec-title h3 { font-size: 1.45rem !important; margin: 0 0 14px; color: #243a45; }
.tej-spec-title > span { color: #5d8283; font-size: .65rem; white-space: nowrap; padding-top: 4px; }
.tej-spec-copy > p { font-size: .92rem; line-height: 1.75; color: #527071; margin-bottom: 22px; min-height: 3.5em; }
.tej-spec-highlights { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0 0 22px; padding: 18px; background: #edf6f6; border: 1px solid #d9e9ea; border-radius: 3px; }
.tej-spec-highlights > div + div { border-left: 1px solid #c8e2e3; padding-left: 14px; }
.tej-spec-highlights dt { color: #537b7c; font-size: .7rem; margin-bottom: 8px; }
.tej-spec-highlights dd { margin: 0; font-size: .91rem; color: #2e4a57; line-height: 1.5; font-weight: 600; }
.tej-spec-details { border-block: 1px solid #d2e5e6; margin-bottom: 22px; }
.tej-spec-details summary { cursor: pointer; padding: 15px 0; color: #2f4c59; font-size: .86rem; font-weight: 600; }
.tej-spec-details dl { margin: 0; }
.tej-spec-details dl > div { display: grid; grid-template-columns: minmax(100px,.65fr) 1.35fr; gap: 18px; padding: 13px 0; border-top: 1px solid #e1eeee; }
.tej-spec-details dt { color: #2e4a56; font-size: .79rem; font-weight: 600; line-height: 1.6; }
.tej-spec-details dd { margin: 0; color: #527071; font-size: .8rem; line-height: 1.7; }
.tej-spec-qualification { font-size: .75rem; line-height: 1.7; padding: 14px; background: #edf6f6; color: #527071; }
.tej-spec-enquire { display: flex; align-items: center; justify-content: space-between; font-size: .87rem; font-weight: 600; color: #087f83; min-height: 32px; }
.tej-spec-enquire:hover { color: #243943; text-decoration: underline; text-underline-offset: 4px; }
.tej-catalogue-note { display: flex; justify-content: space-between; align-items: center; gap: 45px; margin-top: 35px; padding: 24px; background: #dfeff0; border-left: 3px solid #489396; }
.tej-catalogue-note p { max-width: 700px; margin: 0; font-size: .83rem; line-height: 1.75; color: #406b6c; }
.tej-catalogue-note a { flex-shrink: 0; font-size: .82rem; font-weight: 600; color: #087f83; }
.tej-additional-families { margin-top: 55px; border-top: 1px solid #bfdadb; }
.tej-additional-families > summary { cursor: pointer; padding: 25px 0; font-size: 1rem; font-weight: 600; color: #2f4c59; }
.tej-additional-families > p { font-size: .9rem; line-height: 1.7; color: #527071; margin-bottom: 25px; }
@media(max-width:1080px) {
 .tej-catalogue-hero .catalogue-hero { gap: 30px; }
 .tej-spec-copy { padding: 22px; }
 .tej-catalogue-note { align-items: start; flex-direction: column; gap: 18px; }
}
@media(max-width:760px) {
 .tej-catalogue-hero .catalogue-hero { grid-template-columns: 1fr; padding-top: 115px; padding-bottom: 42px; }
 .tej-catalogue-hero .catalogue-hero h1 { font-size: 2.3rem !important; }
 .tej-catalogue-hero .catalogue-hero figure img { max-height: 300px; aspect-ratio: 1.3; }
 .tej-spec-grid { grid-template-columns: 1fr; gap: 22px; }
 .tej-group-heading { display: block; }
 .tej-group-heading .section-label { margin-bottom: 12px; }
 .tej-catalogue-groups { gap: 40px; }
 .tej-spec-image { height: 230px; }
 .tej-spec-title h3 { font-size: 1.3rem !important; }
 .tej-spec-highlights { padding: 14px; gap: 10px; }
 .tej-spec-highlights dd { font-size: .82rem; }
 .tej-spec-details dl > div { grid-template-columns: 1fr; gap: 6px; }
 .tej-spec-copy > p { min-height: 0; }
 .tej-catalogue-note { padding: 20px; }
 .tej-catalogue-note a { flex-shrink: 1; line-height: 1.6; }
}

/* One catalogue-led visual language throughout the TEJ section. */
.tej-section-hero { background: #f5f9f9; border-bottom: 1px solid #cbe1e2; }
.tej-section-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 65px; align-items: center; padding-top: 125px; padding-bottom: 55px; }
.tej-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; color: #527879; font-size: .74rem; line-height: 1.6; margin-bottom: 25px; }
.tej-breadcrumb a { color: #087f83; }
.tej-breadcrumb a:hover { text-decoration: underline; }
.tej-section-hero h1 { font-size: clamp(2.35rem,3.6vw,3.6rem) !important; margin-bottom: 24px; }
.tej-section-intro { font-size: 1rem; line-height: 1.8; color: #527071; margin-bottom: 28px; }
.tej-section-hero figure { margin: 0; padding: 24px; background: #fff; border: 1px solid #cae1e2; border-radius: 6px; }
.tej-section-hero figure img { width: 100%; height: 290px; object-fit: contain; }
.tej-section-hero figcaption { border-top: 1px solid #dfeded; padding-top: 16px; margin-top: 15px; font-size: .73rem; line-height: 1.7; color: #527071; }
.tej-family-nav .is-current { color: #2a4450; box-shadow: inset 0 -3px #358b8e; background: #e9f6f6; }
.tej-family-nav > div { gap: 0 8px; }
.tej-family-nav a { padding: 20px 10px; }
.tej-section-content > .scope-note, .tej-reference-catalogue > .scope-note { margin-top: 30px; }
.tej-family-page .systems-section .detail-steps { margin-top: 0; }
.tej-family-page .systems-section .catalogue-link { margin-top: 22px; }
.tej-family-page .resource-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.tej-family-page .resource-card { border-top: 3px solid #7bb3b5; }
.tej-resource-index { margin-top: 75px; }
.tej-resource-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.tej-resource-product { background: white; border: 1px solid #c9e1e2; border-radius: 5px; overflow: hidden; }
.tej-resource-product:hover { border-color: #479497; box-shadow: 0 8px 24px #253c460d; }
.tej-resource-product > img { width: 100%; height: 200px; object-fit: contain; padding: 22px; border-bottom: 1px solid #e1eeee; }
.tej-resource-product > div { padding: 22px; }
.tej-resource-product h3 { font-size: 1.05rem !important; margin-bottom: 20px; }
.tej-resources-page .tej-section-hero figure img { object-fit: cover; object-position: center 65%; }
.tej-family-page .serverguard-hero .product-hero-copy { padding-bottom: 75px; }
@media(max-width:1080px) {
 .tej-section-hero-grid { gap: 30px; }
 .tej-section-hero figure { padding: 18px; }
 .tej-resource-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .tej-section-hero-grid { grid-template-columns: 1fr; padding-top: 105px; padding-bottom: 40px; gap: 28px; }
 .tej-section-hero h1 { font-size: 2.25rem !important; }
 .tej-breadcrumb { font-size: .68rem; margin-bottom: 20px; }
 .tej-section-hero figure img { height: 220px; }
 .tej-family-nav > div { gap: 8px; }
 .tej-family-nav a { padding-inline: 12px; }
 .tej-family-page .resource-grid, .tej-resource-product-grid { grid-template-columns: 1fr; }
 .tej-resource-index { margin-top: 45px; }
}

.tej-intro { background:#edf3f3; border-bottom:1px solid #d5e2e2; }
.tej-intro-grid { display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding-top:148px;padding-bottom:76px; }
.tej-intro .section-label { margin-bottom:28px;color:#457375; }
.tej-intro h1 { font-size:clamp(2.4rem,3.5vw,3.65rem)!important;line-height:1.14!important;letter-spacing:-.04em;margin:0 0 26px;text-wrap:initial; }
.tej-intro h1 span { color:#427a7c; }
.tej-intro-description { max-width:440px;font-size:1.08rem;line-height:1.75;color:#536b6c;margin:0; }
.tej-intro .hero-actions { align-items:center;gap:26px;margin-top:32px; }
.tej-intro-contact { font-size:.9rem;font-weight:600;color:#2f4c59;padding:12px 0;text-decoration:underline;text-underline-offset:5px; }
.tej-instrument-view { margin:0;padding:25px 28px 0;background:#f9fbfb;border:1px solid #d3e2e3;border-radius:6px; }
.tej-instrument-view img { display:block;width:100%;height:300px;object-fit:contain; }
.tej-instrument-view figcaption { display:flex;justify-content:space-between;gap:16px;padding:19px 0;margin-top:15px;border-top:1px solid #dce8e8;font-size:.72rem;line-height:1.5;color:#527374; }
.tej-instrument-view figcaption span:last-child { white-space:nowrap;color:#71898a; }
@media(max-width:900px) { .tej-intro-grid { gap:32px; }.tej-instrument-view img { height:250px; } }
@media(max-width:760px) { .tej-intro-grid { grid-template-columns:1fr;padding-top:112px;padding-bottom:38px;gap:30px; }.tej-intro h1 { font-size:clamp(2rem,7.8vw,2.7rem)!important; }.tej-intro .section-label { margin-bottom:20px; }.tej-intro-description { font-size:1rem; }.tej-intro .hero-actions { gap:20px;margin-top:24px; }.tej-instrument-view { padding:16px 20px 0; }.tej-instrument-view img { height:225px; }.tej-instrument-view figcaption { font-size:.66rem; } }
