/*
 * TSLBlower master templates
 * Design read: serious industrial B2B for OEM sourcing, engineering and quality teams.
 * Dials: variance 5, motion 3, density 5.
 * This file is intentionally scoped to `.tsl-page--master` so the six rebuilt
 * templates can evolve without reintroducing collisions with legacy TSL blocks.
 */

.tsl-page--master {
  --tslm-blue: #024a8b;
  --tslm-blue-dark: #013862;
  --tslm-navy: #102c42;
  --tslm-ink: #142a3a;
  --tslm-body: #526777;
  --tslm-line: #d7e2ea;
  --tslm-soft: #f2f6f8;
  --tslm-paper: #fbfcfd;
  --tslm-white: #ffffff;
  --tslm-container: 1320px;
  --tslm-gutter: clamp(1.1rem, 3.4vw, 3.25rem);
  --tslm-section: clamp(4.75rem, 8vw, 7.5rem);
  overflow: clip;
  background: var(--tslm-white);
  color: var(--tslm-body);
}

.tsl-page--master,
.tsl-page--master * {
  box-sizing: border-box;
}

.tsl-page--master :is(.tsl-container, .container-xl) {
  width: min(calc(100% - (var(--tslm-gutter) * 2)), var(--tslm-container));
  margin-inline: auto;
}

.tsl-page--master :is(h1, h2, h3, h4) {
  color: var(--tslm-ink);
  text-wrap: balance;
}

.tsl-page--master h2 {
  max-width: 19ch;
  font-size: clamp(2rem, 3.5vw, 3.6rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.tsl-page--master h3 {
  letter-spacing: -0.025em;
}

.tsl-page--master :is(.tsl-lead, .tsl-hero__lead) {
  max-width: 62ch;
  color: var(--tslm-body);
  font-size: clamp(1rem, 1.1vw, 1.12rem);
  line-height: 1.72;
}

.tsl-page--master :is(.tsl-section, .section) {
  padding-block: var(--tslm-section);
}

.tsl-page--master :is(.tsl-section--soft, .section:nth-of-type(even)) {
  background: var(--tslm-soft);
}

/* Eyebrows are limited to the hero. Existing section labels remain in the DOM
 * for editorial context but are not rendered as repetitive visual furniture. */
.tsl-page--master :is(.tsl-section, .section, .tsl-final, .tsl-final-cta, .tsl-capability-band) :is(.tsl-eyebrow, .tsl-kicker) {
  display: none;
}

.tsl-page--master .tsl-master-hero .tsl-eyebrow {
  display: block;
  margin: 0 0 1.1rem;
  color: var(--tslm-blue);
  font: 750 0.68rem/1.2 var(--font-mono, "Space Mono", monospace);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tsl-master-hero {
  position: relative;
  min-height: min(720px, calc(100dvh - 72px));
  display: grid;
  align-items: center;
  padding-block: clamp(3.5rem, 7vw, 6rem);
  border-bottom: 1px solid var(--tslm-line);
  background: var(--tslm-paper);
}

.tsl-master-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(420px, 0.97fr);
  gap: clamp(2.5rem, 4.5vw, 4rem);
  align-items: center;
}

.tsl-master-hero__copy,
.tsl-master-hero__media,
.tsl-master-hero__media-grid,
.tsl-page--master :is(.tsl-grid, .tsl-route-grid, .tsl-insight-grid, .tsl-rfq-grid, .tsl-split) > * {
  min-width: 0;
}

.tsl-master-hero h1 {
  max-width: 19ch;
  margin: 0 0 1.35rem;
  color: var(--tslm-ink);
  font-size: clamp(2.7rem, 4vw, 3.55rem);
  line-height: 0.99;
  letter-spacing: -0.052em;
}

.tsl-master-hero .tsl-lead {
  max-width: 44ch;
  margin: 0;
  font-size: clamp(1.02rem, 1.2vw, 1.16rem);
}

.tsl-master-hero .tsl-actions {
  margin-top: 1.75rem;
}

.tsl-master-hero .tsl-breadcrumb {
  margin-bottom: 1.75rem;
}

.tsl-master-hero__media {
  margin: 0;
  border: 1px solid var(--tslm-line);
  background: #e9eef1;
}

.tsl-master-hero__media-frame {
  position: relative;
  height: clamp(360px, 43vw, 575px);
  overflow: hidden;
}

.tsl-master-hero__media img,
.tsl-master-hero__media-grid img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tsl-master-hero__media figcaption,
.tsl-master-hero__media-grid figcaption {
  padding: 0.8rem 1rem;
  border-top: 1px solid var(--tslm-line);
  background: var(--tslm-white);
  color: #5a6d7a;
  font-size: 0.76rem;
  line-height: 1.5;
}

.tsl-master-hero__media-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(0, 0.72fr);
  grid-template-rows: minmax(0, 1fr) minmax(0, 0.72fr);
  min-height: clamp(430px, 45vw, 610px);
  gap: 1px;
  border: 1px solid var(--tslm-line);
  background: var(--tslm-line);
}

.tsl-master-hero__media-grid figure {
  min-width: 0;
  min-height: 0;
  margin: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  background: var(--tslm-white);
}

.tsl-master-hero__media-grid figure:first-child {
  grid-row: 1 / -1;
}

.tsl-master-hero__media-grid figure:last-child {
  grid-row: 1 / -1;
}

.tsl-template-home .tsl-master-hero__media-grid figure:first-child {
  grid-row: 1 / -1;
}

.tsl-template-home .tsl-master-hero__media-grid figure:last-child {
  grid-row: 2;
  grid-column: 2;
}

.tsl-template-home .tsl-master-hero__media-grid::before {
  content: "";
  grid-column: 2;
  grid-row: 1;
  background:
    linear-gradient(135deg, rgba(2, 74, 139, 0.96), rgba(16, 44, 66, 0.96)),
    var(--tslm-blue);
}

.tsl-template-proofbar {
  border-bottom: 1px solid var(--tslm-line);
  background: var(--tslm-white);
}

.tsl-template-proofbar__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr) minmax(0, 1fr);
}

.tsl-template-proofbar p {
  min-width: 0;
  margin: 0;
  padding: 1.25rem clamp(1rem, 2.5vw, 2rem);
  border-right: 1px solid var(--tslm-line);
  color: #40596a;
  font-size: 0.82rem;
  font-weight: 700;
  line-height: 1.55;
}

.tsl-template-proofbar p:first-child {
  padding-left: 0;
}

.tsl-template-proofbar p:last-child {
  padding-right: 0;
  border-right: 0;
}

/* Vertical section headers replace the repeated split-header pattern. */
.tsl-page--master :is(.tsl-heading, .tsl-heading-grid, .tsl-section-head, .tsl-section-head--split) {
  display: block;
  max-width: 900px;
  margin-bottom: clamp(2.25rem, 4.5vw, 4.25rem);
}

.tsl-page--master :is(.tsl-heading, .tsl-heading-grid, .tsl-section-head) h2 {
  margin: 0 0 1rem;
}

.tsl-page--master :is(.tsl-heading-grid, .tsl-section-head--split) > :last-child,
.tsl-page--master .tsl-section-head > p {
  max-width: 65ch;
  margin: 0;
}

/* Asymmetric content grids avoid generic rows of equal cards. */
.tsl-page--master :is(.tsl-grid--3, .tsl-route-grid, .tsl-insight-grid) {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--tslm-line);
  background: var(--tslm-line);
}

.tsl-page--master :is(.tsl-grid--3, .tsl-insight-grid) > :nth-child(3n + 1),
.tsl-page--master .tsl-route-grid > :nth-child(4n + 1),
.tsl-page--master .tsl-route-grid > :nth-child(4n + 4) {
  grid-column: span 7;
}

.tsl-page--master :is(.tsl-grid--3, .tsl-insight-grid) > :nth-child(3n + 2),
.tsl-page--master .tsl-route-grid > :nth-child(4n + 2),
.tsl-page--master .tsl-route-grid > :nth-child(4n + 3) {
  grid-column: span 5;
}

.tsl-page--master :is(.tsl-grid--3, .tsl-insight-grid) > :nth-child(3n + 3) {
  grid-column: span 12;
}

.tsl-page--master .tsl-grid--4 {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--tslm-line);
  background: var(--tslm-line);
}

.tsl-page--master .tsl-grid--4 > :nth-child(4n + 1),
.tsl-page--master .tsl-grid--4 > :nth-child(4n + 4) {
  grid-column: span 7;
}

.tsl-page--master .tsl-grid--4 > :nth-child(4n + 2),
.tsl-page--master .tsl-grid--4 > :nth-child(4n + 3) {
  grid-column: span 5;
}

.tsl-page--master :is(.tsl-card, .tsl-route-card, .tsl-insight) {
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: var(--tslm-white);
}

.tsl-page--master :is(.tsl-card, .tsl-route-card, .tsl-insight) p {
  max-width: 60ch;
}

.tsl-page--master .tsl-product-card {
  min-height: 0;
  border-radius: 0;
}

.tsl-page--master .tsl-product-card__visual {
  min-height: clamp(210px, 24vw, 330px);
  overflow: hidden;
  background: #eef2f4;
}

.tsl-page--master .tsl-product-card__visual img {
  display: block;
  width: 100%;
  height: 100%;
  padding: clamp(1rem, 2.5vw, 2rem);
  object-fit: contain;
  transition: transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);
}

.tsl-page--master .tsl-product-card:hover .tsl-product-card__visual img,
.tsl-page--master .tsl-product-card:focus-visible .tsl-product-card__visual img {
  transform: scale(1.035);
}

.tsl-master-route-image {
  display: block;
  width: calc(100% + 3rem);
  max-width: none;
  height: clamp(190px, 22vw, 300px);
  margin: -1.5rem -1.5rem 1.5rem;
  object-fit: cover;
  border-bottom: 1px solid var(--tslm-line);
}

.tsl-master-route-placeholder {
  display: grid;
  width: calc(100% + 3rem);
  height: clamp(190px, 22vw, 300px);
  margin: -1.5rem -1.5rem 1.5rem;
  place-items: center;
  padding: 1.5rem;
  border-bottom: 1px solid var(--tslm-line);
  background: var(--tslm-soft);
  color: var(--tslm-blue);
  text-align: center;
  font: 750 0.68rem/1.55 var(--font-mono, "Space Mono", monospace);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.tsl-master-evidence-pair {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
  gap: 1px;
  margin-bottom: clamp(2.25rem, 4vw, 3.5rem);
  border: 1px solid var(--tslm-line);
  background: var(--tslm-line);
}

.tsl-master-evidence-pair figure {
  min-width: 0;
  margin: 0;
  background: var(--tslm-white);
}

.tsl-master-evidence-pair img {
  display: block;
  width: 100%;
  height: clamp(260px, 30vw, 430px);
  object-fit: cover;
}

.tsl-master-evidence-pair figcaption {
  padding: 0.9rem 1rem;
  border-top: 1px solid var(--tslm-line);
  color: #5a6d7a;
  font-size: 0.78rem;
}

.tsl-master-inline-figure {
  margin: 1.75rem 0 0;
  border: 1px solid var(--tslm-line);
  background: var(--tslm-white);
}

.tsl-master-inline-figure img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.tsl-master-inline-figure figcaption {
  padding: 0.8rem 1rem;
  color: #607383;
  font-size: 0.76rem;
}

/* Keep one deliberate dark evidence band per template. Final conversion blocks
 * stay within the light theme family. */
.tsl-page--master :is(.tsl-section--navy, .tsl-capability-band) {
  background: var(--tslm-navy);
}

.tsl-page--master :is(.tsl-section--navy, .tsl-capability-band) :is(h2, h3, h4) {
  color: #f7fbfd;
}

.tsl-page--master :is(.tsl-section--navy, .tsl-capability-band) :is(p, .tsl-lead) {
  color: #c7dbe8;
}

.tsl-page--master :is(.tsl-final, .tsl-final-cta) {
  padding-block: clamp(4.5rem, 8vw, 7rem);
  border-top: 1px solid var(--tslm-line);
  background: #e8f1f7;
  color: var(--tslm-ink);
  text-align: left;
}

.tsl-page--master :is(.tsl-final, .tsl-final-cta) :is(.tsl-container, .container-xl) {
  max-width: 980px;
  margin-inline: auto;
}

.tsl-page--master :is(.tsl-final, .tsl-final-cta) h2 {
  color: var(--tslm-ink);
}

.tsl-page--master :is(.tsl-final, .tsl-final-cta) p {
  max-width: 65ch;
  margin-inline: 0;
  color: var(--tslm-body);
}

.tsl-page--master :is(.tsl-final, .tsl-final-cta) .tsl-btn--light {
  border-color: var(--tslm-blue);
  background: var(--tslm-blue);
  color: #fff !important;
}

.tsl-page--master .tsl-table-wrap,
.tsl-page--master .tsl-rfq-grid__main {
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

.tsl-page--master :is(.tsl-table, .tsl-data-table) {
  min-width: 680px;
}

.tsl-page--master .tsl-text-link,
.tsl-page--master :is(.tsl-route-card, .tsl-insight) > a {
  overflow-wrap: anywhere;
}

.tsl-template-resources .tsl-master-hero {
  background:
    linear-gradient(rgba(251, 252, 253, 0.91), rgba(251, 252, 253, 0.91)),
    url("https://tslblower.com/wp-content/uploads/2026/08/tsl-engineering-paper-texture-v1.webp") center / cover no-repeat;
}

.tsl-template-resources .tsl-master-hero__media img {
  object-fit: contain;
  padding: clamp(1rem, 3vw, 2.5rem);
  background: rgba(255, 255, 255, 0.9);
}

.tsl-template-products .tsl-master-hero__media img {
  object-fit: contain;
  padding: clamp(1rem, 3vw, 2.25rem);
  background: #eef2f4;
}

@media (max-width: 1024px) {
  .tsl-master-hero {
    min-height: auto;
  }

  .tsl-master-hero__grid {
    grid-template-columns: 1fr;
  }

  .tsl-master-hero__copy {
    max-width: 760px;
  }

  .tsl-master-hero h1 {
    max-width: 18ch;
  }

  .tsl-master-hero__media-frame {
    height: 470px;
  }

  .tsl-page--master :is(.tsl-grid--3, .tsl-grid--4, .tsl-route-grid, .tsl-insight-grid) > * {
    grid-column: span 6 !important;
  }
}

@media (max-width: 767px) {
  .tsl-page--master {
    --tslm-section: 4rem;
  }

  .tsl-master-hero {
    padding-block: 3.25rem 2.75rem;
  }

  .tsl-master-hero__grid {
    gap: 2.35rem;
  }

  .tsl-master-hero h1 {
    max-width: 16ch;
    font-size: clamp(2.45rem, 12vw, 3.25rem);
    line-height: 1.01;
  }

  .tsl-master-hero__media-frame {
    height: 330px;
  }

  .tsl-master-hero__media-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    min-height: 0;
  }

  .tsl-master-hero__media-grid figure:first-child,
  .tsl-master-hero__media-grid figure:last-child,
  .tsl-template-home .tsl-master-hero__media-grid figure:first-child,
  .tsl-template-home .tsl-master-hero__media-grid figure:last-child {
    grid-column: auto;
    grid-row: auto;
  }

  .tsl-template-home .tsl-master-hero__media-grid::before {
    display: none;
  }

  .tsl-master-hero__media-grid img {
    min-height: 260px;
  }

  .tsl-template-proofbar__grid {
    grid-template-columns: 1fr;
  }

  .tsl-template-proofbar p,
  .tsl-template-proofbar p:first-child,
  .tsl-template-proofbar p:last-child {
    padding: 1rem 0;
    border-right: 0;
    border-bottom: 1px solid var(--tslm-line);
  }

  .tsl-template-proofbar p:last-child {
    border-bottom: 0;
  }

  .tsl-page--master :is(.tsl-grid--3, .tsl-grid--4, .tsl-route-grid, .tsl-insight-grid) > * {
    grid-column: 1 / -1 !important;
  }

  .tsl-master-evidence-pair {
    grid-template-columns: 1fr;
  }

  .tsl-master-evidence-pair img {
    height: 280px;
  }

  .tsl-page--master .tsl-split__sticky {
    position: static;
  }

  .tsl-page--master .tsl-actions {
    display: grid;
  }

  .tsl-page--master .tsl-btn {
    width: 100%;
    min-height: 48px;
    white-space: normal;
  }
}

@media (max-width: 480px) {
  .tsl-master-hero__media-frame {
    height: 280px;
  }

  .tsl-page--master :is(.tsl-table, .tsl-data-table) {
    min-width: 620px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tsl-page--master .tsl-product-card__visual img {
    transition: none;
  }
}

/* Home v2: dark photographic hero, compact product directory and modal RFQ. */
.tsl-template-home { --tslh-navy:#08273f; --tslh-blue:#024a8b; --tslh-cyan:#8ec5e8; }
body.home .site-branding__link { padding:.38rem .62rem; background:transparent; }
body.home .site-branding__logo,
body.home.home-header-scrolled .site-branding__logo { width:clamp(154px,13vw,196px); max-height:40px; object-fit:contain; filter:none!important; }
.tsl-template-home .tsl-home-hero { isolation:isolate; min-height:min(760px,calc(100dvh - 72px)); padding-block:clamp(3.25rem,6.4vw,5.75rem); border-bottom:0; background:var(--tslh-navy); color:#fff; }
.tsl-home-hero__backdrop,.tsl-home-hero__backdrop::after { position:absolute; inset:0; }
.tsl-home-hero__backdrop { z-index:-2; overflow:hidden; }
.tsl-home-hero__backdrop img { width:100%; height:100%; object-fit:cover; object-position:center 38%; filter:saturate(.72) contrast(1.08); }
.tsl-home-hero__backdrop::after { content:""; z-index:1; background:linear-gradient(90deg,rgba(5,29,48,.98) 0%,rgba(5,34,56,.93) 43%,rgba(5,38,62,.58) 72%,rgba(5,38,62,.72) 100%); }
.tsl-template-home .tsl-home-hero .tsl-master-hero__grid { grid-template-columns:minmax(0,1.1fr) minmax(320px,.72fr); gap:clamp(2rem,6vw,6rem); }
.tsl-template-home .tsl-home-hero :is(h1,.tsl-lead) { color:#fff; }
.tsl-template-home .tsl-home-hero .tsl-eyebrow { color:var(--tslh-cyan); }
.tsl-template-home .tsl-home-hero h1 { max-width:16ch; font-size:clamp(3rem,5.1vw,5.15rem); line-height:.94; }
.tsl-template-home .tsl-home-hero .tsl-lead { max-width:58ch; color:#d5e5ef; }
.tsl-home-hero__points { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; max-width:760px; margin:1.65rem 0 0; padding:1px; list-style:none; background:rgba(255,255,255,.2); }
.tsl-home-hero__points li { min-width:0; padding:.9rem 1rem; background:rgba(5,31,51,.76); }
.tsl-home-hero__points strong,.tsl-home-hero__points span { display:block; }
.tsl-home-hero__points strong { margin-bottom:.26rem; color:#fff; font-size:.82rem; }
.tsl-home-hero__points span { color:#c8dbe7; font-size:.72rem; line-height:1.45; }
.tsl-home-hero__product { align-self:end; margin:0 0 1rem; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.95); }
.tsl-home-hero__product img { display:block; width:100%; aspect-ratio:4/3; padding:clamp(1.25rem,3vw,2.25rem); object-fit:contain; }
.tsl-home-hero__product figcaption { padding:.8rem 1rem; border-top:1px solid var(--tslm-line); color:#526777; font-size:.72rem; line-height:1.45; }
.tsl-template-home .tsl-home-hero .tsl-btn { border-color:#fff; background:#fff; color:var(--tslh-navy)!important; }

.tsl-home-products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid var(--tslm-line); background:var(--tslm-line); gap:1px; }
.tsl-home-product { display:grid; grid-template-columns:minmax(150px,.75fr) minmax(0,1.25fr); min-width:0; min-height:240px; background:#fff; }
.tsl-home-product__media { min-width:0; overflow:hidden; background:#edf2f5; }
.tsl-home-product__media img { display:block; width:100%; height:100%; padding:1.1rem; object-fit:contain; transition:transform .35s cubic-bezier(.16,1,.3,1); }
.tsl-home-product:hover .tsl-home-product__media img { transform:scale(1.04); }
.tsl-home-product>div { display:flex; flex-direction:column; min-width:0; padding:clamp(1.25rem,2.4vw,1.8rem); }
.tsl-home-product>div>span,.tsl-home-resources article>div:last-child>span { margin-bottom:.55rem; color:var(--tslm-blue); font:750 .65rem/1.2 var(--font-mono,"Space Mono",monospace); letter-spacing:.09em; text-transform:uppercase; }
.tsl-home-product h3 { margin:0 0 .55rem; font-size:clamp(1.08rem,1.5vw,1.38rem); }
.tsl-home-product p { margin:0 0 1rem; font-size:.86rem; line-height:1.62; }
.tsl-home-product__button { align-self:flex-start; min-height:44px; margin-top:auto; padding:.75rem 1rem; border:1px solid var(--tslm-blue); color:var(--tslm-blue)!important; font-size:.72rem; font-weight:800; letter-spacing:.04em; }
.tsl-home-product__button:hover,.tsl-home-product__button:focus-visible { background:var(--tslm-blue); color:#fff!important; }
.tsl-home-section-action { margin-top:1.6rem; }

.tsl-home-entry { display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); border:1px solid var(--tslm-line); background:#fff; }
.tsl-home-entry>aside { padding:clamp(1.7rem,3.5vw,3rem); background:var(--tslh-navy); color:#d5e5ef; }
.tsl-home-entry>aside strong { display:block; margin-bottom:.8rem; color:#fff; font-size:clamp(1.45rem,2.1vw,2rem); line-height:1.08; }
.tsl-home-entry>aside p { line-height:1.7; }
.tsl-home-entry__routes article { display:grid; grid-template-columns:54px minmax(0,1fr); gap:1rem; padding:1.4rem clamp(1.4rem,3vw,2.5rem); border-bottom:1px solid var(--tslm-line); }
.tsl-home-entry__routes article:last-child { border-bottom:0; }
.tsl-home-entry__routes article>span { color:var(--tslm-blue); font:750 .72rem/1.2 var(--font-mono,"Space Mono",monospace); }
.tsl-home-entry__routes h3 { margin:0 0 .35rem; }
.tsl-home-entry__routes p { margin:0 0 .55rem; line-height:1.6; }
.tsl-home-entry__routes a,.tsl-home-resources article a { color:var(--tslm-blue)!important; font-size:.78rem; font-weight:800; }

.tsl-home-capability { background:var(--tslh-navy)!important; }
.tsl-home-capability__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:stretch; border:1px solid rgba(255,255,255,.18); }
.tsl-home-capability figure { display:grid; grid-template-rows:minmax(0,1fr) auto; min-width:0; margin:0; background:#dfe8ed; }
.tsl-home-capability figure img { width:100%; height:100%; min-height:510px; object-fit:cover; }
.tsl-home-capability figcaption { padding:.85rem 1rem; background:#fff; color:#526777; font-size:.72rem; }
.tsl-home-capability__content { padding:clamp(2rem,4.6vw,4.4rem); }
.tsl-template-home .tsl-home-capability__content :is(h2,h3) { color:#fff; }
.tsl-template-home .tsl-home-capability__content .tsl-lead { color:#c9dce8; }
.tsl-home-capability__items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:2rem 0; border:1px solid rgba(255,255,255,.2); }
.tsl-home-capability__items article { padding:1.1rem; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); }
.tsl-home-capability__items article:nth-child(2n) { border-right:0; }
.tsl-home-capability__items article:nth-last-child(-n+2) { border-bottom:0; }
.tsl-home-capability__items b { display:block; margin-bottom:.5rem; color:var(--tslh-cyan); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.tsl-home-capability__items h3 { margin:0; font-size:1rem; line-height:1.35; }

.tsl-home-resources { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--tslm-line); background:var(--tslm-line); gap:1px; }
.tsl-home-resources article { display:grid; grid-template-columns:92px minmax(0,1fr); gap:1.25rem; min-width:0; padding:clamp(1.4rem,2.8vw,2.2rem); background:#fff; }
.tsl-home-resources h3 { margin:0 0 .55rem; font-size:1.12rem; }
.tsl-home-resources p { margin:0 0 1rem; font-size:.86rem; line-height:1.65; }
.tsl-home-resource-icon { position:relative; width:78px; height:78px; border:1px solid var(--tslm-blue); color:var(--tslm-blue); }
.tsl-home-resource-icon span { position:absolute; left:16px; right:16px; height:2px; background:currentColor; }
.tsl-home-resource-icon span:nth-child(1) { top:22px; }
.tsl-home-resource-icon span:nth-child(2) { top:37px; right:26px; }
.tsl-home-resource-icon span:nth-child(3) { top:52px; }
.tsl-home-resource-icon--measure::before { content:""; position:absolute; inset:16px; border:2px solid currentColor; transform:rotate(45deg); }
.tsl-home-resource-icon--measure span { left:12px; right:12px; height:1px; transform:rotate(-45deg); }
.tsl-home-resource-icon--question { display:grid; place-items:center; }
.tsl-home-resource-icon--question b { font-size:2.4rem; font-weight:500; }

.tsl-rfq-modal[hidden] { display:none; }
.tsl-rfq-modal { --tslh-navy:#08273f; --tslh-cyan:#8ec5e8; --tslh-blue:#024a8b; position:fixed; inset:0; z-index:99998; display:grid; place-items:center; padding:clamp(.75rem,3vw,2rem); }
.tsl-rfq-modal__backdrop { position:absolute; inset:0; background:rgba(4,23,38,.82); }
.tsl-rfq-modal__dialog { position:relative; display:grid; grid-template-columns:minmax(280px,.74fr) minmax(0,1.26fr); align-items:stretch; width:min(1040px,100%); max-height:min(760px,calc(100dvh - 2rem)); overflow:hidden; background:#fff; box-shadow:0 28px 80px rgba(2,22,36,.28); }
.tsl-rfq-modal__close { position:absolute; top:1rem; right:1rem; z-index:2; width:auto; min-width:76px; min-height:42px; padding:.55rem .9rem; border:1px solid #b8c7d1; background:#fff; color:var(--tslh-navy,#08273f); font-size:.76rem; font-weight:800; line-height:1; cursor:pointer; }
.tsl-rfq-modal__intro { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,4vw,3.25rem); background:var(--tslh-navy,#08273f); color:#d5e5ef; }
.tsl-rfq-modal__intro>p { margin:0 0 1rem; color:var(--tslh-cyan); font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.tsl-rfq-modal__intro h2 { max-width:10ch; margin:0 0 1rem; color:#fff; font-size:clamp(2rem,3vw,2.8rem); line-height:1.03; }
.tsl-rfq-modal__intro span { display:block; max-width:31ch; color:#d5e5ef; font-size:.95rem; line-height:1.65; }
.tsl-rfq-modal__intro ul { display:grid; gap:.7rem; margin:1.6rem 0 0; padding:1.35rem 0 0; border-top:1px solid rgba(255,255,255,.2); list-style:none; }
.tsl-rfq-modal__intro li { position:relative; padding-left:1.35rem; color:#fff; font-size:.83rem; font-weight:700; line-height:1.45; }
.tsl-rfq-modal__intro li::before { content:""; position:absolute; left:0; top:.48rem; width:7px; height:7px; border:2px solid var(--tslh-cyan,#8ec5e8); }
.tsl-rfq-modal__form { min-width:0; overflow-y:auto; padding:clamp(1.5rem,3vw,2.5rem); padding-top:4.6rem; }
.tsl-rfq-modal__form :is(input,select,textarea) { width:100%; max-width:100%; }
.tsl-rfq-modal__form input { min-height:48px; }
.tsl-rfq-modal__form textarea { min-height:120px; }
.tsl-rfq-modal-trigger { cursor:pointer; }
body.tsl-rfq-modal-open { overflow:hidden; }

@media(max-width:1024px) {
  .tsl-template-home .tsl-home-hero .tsl-master-hero__grid,.tsl-home-entry,.tsl-home-capability__grid { grid-template-columns:1fr; }
  .tsl-home-hero__product { display:none; }
  .tsl-home-products,.tsl-home-resources { grid-template-columns:1fr; }
  .tsl-home-capability figure img { min-height:360px; }
}
@media(max-width:820px) {
  .tsl-rfq-modal__dialog { grid-template-columns:1fr; overflow-y:auto; }
  .tsl-rfq-modal__intro { display:block; padding:4.5rem 1.5rem 1.5rem; }
  .tsl-rfq-modal__intro h2 { max-width:none; font-size:2rem; }
  .tsl-rfq-modal__intro ul { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tsl-rfq-modal__form { overflow:visible; padding-top:1.5rem; }
}
@media(max-width:680px) {
  .tsl-template-home .tsl-home-hero h1 { font-size:clamp(2.55rem,13vw,3.55rem); }
  .tsl-home-hero__points { grid-template-columns:1fr; }
  .tsl-home-product { grid-template-columns:120px minmax(0,1fr); min-height:220px; }
  .tsl-home-product p { display:none; }
  .tsl-home-capability__items { grid-template-columns:1fr; }
  .tsl-home-capability__items article { border-right:0; }
  .tsl-home-capability__items article:nth-last-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.2); }
  .tsl-home-capability__items article:last-child { border-bottom:0; }
  .tsl-home-resources article { grid-template-columns:70px minmax(0,1fr); }
  .tsl-home-resource-icon { width:58px; height:58px; }
  .tsl-home-resource-icon span { left:12px; right:12px; }
  .tsl-home-resource-icon span:nth-child(1) { top:16px; }
  .tsl-home-resource-icon span:nth-child(2) { top:28px; right:20px; }
  .tsl-home-resource-icon span:nth-child(3) { top:40px; }
  .tsl-rfq-modal { padding:0; }
  .tsl-rfq-modal__dialog { max-height:100dvh; min-height:100dvh; }
  .tsl-rfq-modal__intro { padding:4.5rem 1.25rem 1.5rem; }
  .tsl-rfq-modal__intro ul { grid-template-columns:1fr; }
  .tsl-rfq-modal__form { padding:1.5rem 1.25rem; }
}
@media(prefers-reduced-motion:reduce) { .tsl-home-product__media img { transition:none; } }

/* Products v2: compact comparison directory for OEM engineers and buyers. */
.tsl-template-products { --tslp-navy:#08273f; --tslp-cyan:#8ec5e8; }
body.page-id-5479 .site-branding__link { padding:.38rem .62rem; background:transparent; }
body.page-id-5479 .site-branding__logo,
body.page-id-5479.home-header-scrolled .site-branding__logo { width:clamp(154px,13vw,196px); max-height:40px; object-fit:contain; filter:none!important; }
.tsl-products-hero { position:relative; isolation:isolate; min-height:min(690px,calc(100dvh - 72px)); display:grid; align-items:center; padding-block:clamp(3.5rem,7vw,6rem); color:#fff; background:var(--tslp-navy); }
.tsl-products-hero__backdrop,.tsl-products-hero__backdrop::after { position:absolute; inset:0; }
.tsl-products-hero__backdrop { z-index:-2; overflow:hidden; }
.tsl-products-hero__backdrop img { width:100%; height:100%; object-fit:cover; object-position:center 43%; filter:saturate(.64) contrast(1.08); }
.tsl-products-hero__backdrop::after { content:""; background:linear-gradient(90deg,rgba(5,29,48,.98),rgba(5,34,56,.91) 51%,rgba(5,38,62,.68)); }
.tsl-products-breadcrumb { display:flex; align-items:center; gap:.7rem; margin-bottom:clamp(2.3rem,5vw,4.2rem); color:#bed5e4; font-size:.76rem; font-weight:750; }
.tsl-products-breadcrumb a { min-height:44px; display:inline-flex; align-items:center; color:#fff!important; }
.tsl-products-breadcrumb span[aria-current] { color:#bed5e4; }
.tsl-products-hero__grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(310px,.68fr); gap:clamp(3rem,8vw,8rem); align-items:end; }
.tsl-products-hero__grid>div { min-width:0; }
.tsl-template-products .tsl-products-hero :is(h1,.tsl-lead) { color:#fff; }
.tsl-template-products .tsl-products-hero .tsl-eyebrow { display:block; color:var(--tslp-cyan); }
.tsl-products-hero h1 { max-width:14ch; margin:0 0 1.3rem; font-size:clamp(3.2rem,5.7vw,5.8rem); line-height:.94; }
.tsl-products-hero .tsl-lead { max-width:59ch; color:#d3e4ee!important; }
.tsl-products-hero__selector { border:1px solid rgba(255,255,255,.26); background:rgba(5,30,50,.74); backdrop-filter:blur(8px); }
.tsl-products-hero__selector>p { margin:0; padding:1rem 1.2rem; border-bottom:1px solid rgba(255,255,255,.2); color:var(--tslp-cyan); font:.75rem/1.2 var(--font-mono,"Space Mono",monospace); letter-spacing:.1em; text-transform:uppercase; }
.tsl-products-hero__selector ol { margin:0; padding:0; list-style:none; }
.tsl-products-hero__selector li+li { border-top:1px solid rgba(255,255,255,.16); }
.tsl-products-hero__selector a { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; min-height:56px; padding:.75rem 1.2rem; color:#fff!important; font-size:.86rem; font-weight:800; }
.tsl-products-hero__selector a:hover,.tsl-products-hero__selector a:focus-visible { background:rgba(255,255,255,.1); }
.tsl-products-hero__selector span { color:var(--tslp-cyan); font:.65rem/1.2 var(--font-mono,"Space Mono",monospace); }

.tsl-products-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid var(--tslm-line); background:var(--tslm-line); }
.tsl-products-directory article { display:grid; grid-template-columns:minmax(150px,.72fr) minmax(0,1.28fr); min-width:0; min-height:246px; background:#fff; }
.tsl-products-directory__media { min-width:0; overflow:hidden; background:#e8eef2; }
.tsl-products-directory__media img { display:block; width:100%; height:100%; padding:1rem; object-fit:contain; transition:transform .35s cubic-bezier(.16,1,.3,1); }
.tsl-products-directory article:hover img { transform:scale(1.045); }
.tsl-products-directory article>div { display:flex; min-width:0; flex-direction:column; padding:clamp(1.25rem,2.5vw,2rem); }
.tsl-products-directory article>div>span { margin-bottom:.6rem; color:var(--tslm-blue); font:750 .65rem/1.2 var(--font-mono,"Space Mono",monospace); letter-spacing:.08em; text-transform:uppercase; }
.tsl-products-directory h3 { margin:0 0 .55rem; font-size:clamp(1.13rem,1.55vw,1.45rem); }
.tsl-products-directory p { margin:0 0 1rem; font-size:.88rem; line-height:1.65; }
.tsl-products-directory__button { align-self:flex-start; min-height:44px; margin-top:auto; padding:.72rem .95rem; border:1px solid var(--tslm-blue); color:var(--tslm-blue)!important; font-size:.7rem; font-weight:850; letter-spacing:.04em; }
.tsl-products-directory__button:hover,.tsl-products-directory__button:focus-visible { background:var(--tslm-blue); color:#fff!important; }
.tsl-products-directory__replacement { grid-column:1/-1; grid-template-columns:minmax(230px,.42fr) minmax(0,1.58fr)!important; }
.tsl-products-directory__replacement .tsl-products-directory__media img { padding:0; object-fit:cover; }

.tsl-products-evidence { background:var(--tslp-navy)!important; }
.tsl-products-evidence__grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); align-items:stretch; border:1px solid rgba(255,255,255,.2); }
.tsl-products-evidence figure { display:grid; grid-template-rows:minmax(0,1fr) auto; min-width:0; margin:0; background:#dfe7ec; }
.tsl-products-evidence figure img { display:block; width:100%; height:100%; min-height:570px; object-fit:cover; }
.tsl-products-evidence figcaption { padding:.85rem 1rem; background:#fff; color:#526777; font-size:.72rem; line-height:1.5; }
.tsl-products-evidence__content { min-width:0; padding:clamp(2rem,5vw,4.8rem); }
.tsl-template-products .tsl-products-evidence__content :is(h2,h3) { color:#fff; }
.tsl-template-products .tsl-products-evidence__content .tsl-lead { color:#c9dce8; }
.tsl-products-evidence__content ol { margin:2rem 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.2); }
.tsl-products-evidence__content li { display:grid; grid-template-columns:48px minmax(0,1fr); gap:1rem; padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.2); }
.tsl-products-evidence__content li>span { color:var(--tslp-cyan); font:.68rem/1.3 var(--font-mono,"Space Mono",monospace); }
.tsl-products-evidence__content h3 { margin:0 0 .28rem; font-size:1.02rem; }
.tsl-products-evidence__content li p { margin:0; color:#c9dce8; font-size:.84rem; line-height:1.55; }

.tsl-products-faq .tsl-heading-grid { align-items:start; }
.tsl-products-faq__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; border:1px solid var(--tslm-line); background:var(--tslm-line); }
.tsl-products-faq details { min-width:0; background:#fff; }
.tsl-products-faq summary { position:relative; min-height:108px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:start; gap:.7rem; padding:1.45rem 3.3rem 1.45rem 1.35rem; cursor:pointer; color:var(--tslm-ink); font-weight:850; line-height:1.45; list-style:none; }
.tsl-products-faq summary::-webkit-details-marker { display:none; }
.tsl-products-faq summary::before { content:attr(data-index); color:var(--tslm-blue); font:.68rem/1.5 var(--font-mono,"Space Mono",monospace); }
.tsl-products-faq summary::after { content:"+"; position:absolute; top:1.2rem; right:1.2rem; color:var(--tslm-blue); font-size:1.55rem; font-weight:500; }
.tsl-products-faq details[open] summary::after { content:"−"; }
.tsl-products-faq details p { margin:0; padding:0 1.5rem 1.5rem 4.5rem; line-height:1.72; }

@media(max-width:1024px) {
  .tsl-products-hero__grid,.tsl-products-evidence__grid { grid-template-columns:1fr; }
  .tsl-products-hero__selector { max-width:680px; }
  .tsl-products-evidence figure img { min-height:390px; }
}
@media(max-width:760px) {
  .tsl-products-hero { min-height:auto; }
  .tsl-products-hero h1 { font-size:clamp(2.75rem,13vw,4rem); }
  .tsl-products-directory,.tsl-products-faq__grid { grid-template-columns:1fr; }
  .tsl-products-directory__replacement { grid-column:auto; grid-template-columns:120px minmax(0,1fr)!important; }
}
@media(max-width:520px) {
  .tsl-products-directory article { grid-template-columns:112px minmax(0,1fr); min-height:230px; }
  .tsl-products-directory p { display:none; }
  .tsl-products-faq summary { min-height:92px; grid-template-columns:32px minmax(0,1fr); }
  .tsl-products-faq details p { padding-left:1.4rem; }
}
@media(prefers-reduced-motion:reduce) { .tsl-products-directory__media img { transition:none; } }

/* =========================================================
   Unified 26-page hero system - 2026-08-12
   Preserves each page's existing background treatment while
   standardising content/media proportion and factual highlights.
   ========================================================= */
.tsl-unified-hero {
  position:relative;
  isolation:isolate;
  display:block;
  min-height:0;
  padding:clamp(7rem,9vw,8.5rem) 0 clamp(2.25rem,4.6vw,4.5rem);
  text-align:left;
  overflow:hidden;
}
.tsl-unified-hero__shell { position:relative; z-index:2; }
.tsl-unified-hero__grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,1fr);
  gap:clamp(2.2rem,5vw,5.5rem);
  align-items:stretch;
}
.tsl-unified-hero__copy {
  display:flex;
  min-width:0;
  min-height:500px;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:clamp(.75rem,2vw,1.5rem) 0;
}
.tsl-page .tsl-unified-hero h1 {
  max-width:15ch;
  margin-top:0;
  margin-bottom:1.25rem;
  font-size:50px!important;
  font-weight:700!important;
  line-height:1.06;
  letter-spacing:-.035em;
  text-transform:none;
}
.tsl-unified-hero__copy>.tsl-lead,
.tsl-unified-hero__copy>p:not([class*="eyebrow"]):not([class*="kicker"]) { max-width:62ch; }
.tsl-unified-hero__copy .tsl-actions { margin-top:1.45rem; }
.tsl-unified-hero__copy .tsl-hero__proof { max-width:650px; }
.tsl-unified-hero__breadcrumb { width:100%; margin:0 0 clamp(1.35rem,2.8vw,2.35rem); }
.tsl-unified-hero__breadcrumb ol { display:flex; flex-wrap:wrap; align-items:center; gap:.48rem; margin:0; padding:0; list-style:none; }
.tsl-unified-hero__breadcrumb li { display:inline-flex; align-items:center; min-width:0; color:#6d8090; font-size:.78rem; font-weight:720; line-height:1.4; }
.tsl-unified-hero__breadcrumb li+li::before { content:"/"; margin-right:.48rem; color:#9aabb7; }
.tsl-unified-hero__breadcrumb a { min-height:44px; display:inline-flex; align-items:center; color:var(--tslm-blue,#024a8b)!important; }
.tsl-unified-hero__media {
  display:grid;
  min-width:0;
  min-height:500px;
  grid-template-rows:minmax(0,1fr) auto;
  align-self:stretch;
  margin:0;
  border:1px solid rgba(12,50,75,.16);
  background:#fff;
  box-shadow:0 24px 70px rgba(2,31,54,.12);
  overflow:hidden;
}
.tsl-unified-hero__image-frame { min-height:0; overflow:hidden; background:#e8eef2; }
.tsl-unified-hero__media img { display:block; width:100%; height:100%; min-height:438px; object-fit:cover; transition:transform .55s cubic-bezier(.16,1,.3,1); }
.tsl-unified-hero__media--contain .tsl-unified-hero__image-frame { padding:clamp(1rem,2.2vw,2rem); background:#eef3f6; }
.tsl-unified-hero__media--contain img { object-fit:contain; background:#fff; }
.tsl-unified-hero__media figcaption { min-height:60px; display:flex; align-items:center; margin:0; padding:.82rem 1rem; border-top:1px solid rgba(12,50,75,.13); background:#fff; color:#5d7180; font-size:.73rem; line-height:1.5; }
.tsl-unified-hero:hover .tsl-unified-hero__media img { transform:scale(1.018); }

/* Existing dark hero backgrounds stay dark; only content contrast is normalised. */
.tsl-page :is(.tsl-home-hero,.tsl-products-hero,.tsl-thank-you).tsl-unified-hero :is(h1,.tsl-lead,.tsl-unified-hero__copy>p) { color:#fff!important; }
.tsl-page :is(.tsl-home-hero,.tsl-products-hero,.tsl-thank-you).tsl-unified-hero .tsl-unified-hero__breadcrumb li { color:#c2d5e2; }
.tsl-page :is(.tsl-home-hero,.tsl-products-hero,.tsl-thank-you).tsl-unified-hero .tsl-unified-hero__breadcrumb a { color:#fff!important; }
.tsl-page :is(.tsl-home-hero,.tsl-products-hero,.tsl-thank-you).tsl-unified-hero .tsl-unified-hero__breadcrumb li+li::before { color:#7fa6c1; }
.tsl-page .tsl-thank-you.tsl-unified-hero .tsl-kicker { color:#9bd9ff; }

.tsl-hero-facts { position:relative; z-index:3; padding:clamp(1.4rem,2.8vw,2.25rem) 0; border-bottom:1px solid #dce3e8; background:#f1f3f5; }
.tsl-hero-facts__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(.8rem,1.45vw,1.2rem); }
.tsl-hero-fact {
  position:relative;
  min-width:0;
  min-height:176px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:1.35rem 1.2rem 1.3rem 1.7rem;
  border:1px solid #d8dee3;
  border-radius:10px;
  background:#fff;
  color:#132b3d;
  box-shadow:0 8px 20px rgba(14,42,63,.045);
  overflow:hidden;
}
.tsl-hero-fact::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  border:0;
  border-radius:10px 0 0 10px;
  background:#024a8b;
}
.tsl-hero-fact strong { display:block; overflow-wrap:anywhere; color:#024a8b; font-size:clamp(2rem,3vw,2.85rem); font-weight:800; line-height:1; letter-spacing:-.045em; }
.tsl-hero-fact span { display:block; margin-top:.65rem; overflow-wrap:anywhere; color:#122b3e; font-size:.94rem; font-weight:800; line-height:1.28; }
.tsl-hero-fact p { margin:.58rem 0 0; color:#61707b; font-size:.76rem; line-height:1.55; }

@media(max-width:1100px) {
  .tsl-unified-hero__grid { grid-template-columns:minmax(0,1fr) minmax(360px,.86fr); gap:2.5rem; }
  .tsl-unified-hero__copy,.tsl-unified-hero__media { min-height:460px; }
  .tsl-unified-hero__media img { min-height:398px; }
  .tsl-hero-facts__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:820px) {
  .tsl-unified-hero { padding:6.5rem 0 2.4rem; }
  .tsl-unified-hero__grid { grid-template-columns:1fr; gap:1.65rem; }
  .tsl-unified-hero__copy { min-height:0; padding:0; }
  .tsl-unified-hero__media { min-height:360px; }
  .tsl-unified-hero__media img { min-height:298px; }
  .tsl-page .tsl-unified-hero h1 { max-width:18ch; }
}
@media(max-width:580px) {
  .tsl-page .tsl-unified-hero h1 { font-size:clamp(36px,11.5vw,50px)!important; line-height:1.07; }
  .tsl-unified-hero__media { min-height:300px; }
  .tsl-unified-hero__media img { min-height:238px; }
  .tsl-hero-facts { padding:1rem 0; }
  .tsl-hero-facts__grid { grid-template-columns:1fr; gap:.65rem; }
  .tsl-hero-fact { min-height:154px; }
}
@media(prefers-reduced-motion:reduce) { .tsl-unified-hero__media img { transition:none; } }

/* Inner-page navigation is solid from the initial paint. Home and Products
   keep the intentional overlay treatment because their heroes are dark. */
body .site-header-shell--solid {
  --home-header-text:#fff;
  --home-header-border:rgba(255,255,255,.1);
  --home-header-shell-bg:#08273f;
  --home-header-shell-shadow:0 8px 24px rgba(4,28,46,.16);
  background:#08273f!important;
  box-shadow:var(--home-header-shell-shadow)!important;
}
body .site-header-shell--solid .site-header {
  background:#08273f!important;
  border-bottom-color:rgba(255,255,255,.1)!important;
}
body .site-header-shell--solid .site-header__inner { min-height:72px; }
body .site-header-shell--solid .site-branding__link {
  padding:.32rem .56rem;
  background:transparent;
}
body .site-header-shell--solid .site-branding__logo {
  width:clamp(148px,12vw,184px);
  max-height:38px;
  object-fit:contain;
  filter:none!important;
}
body .site-header-shell--solid :is(.site-nav__link,.site-nav__link:hover,.site-nav__link:focus) { color:#fff!important; }
body .site-header-shell--solid .site-menu-toggle { border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.06); }
body .site-header-shell--solid .site-menu-toggle>span:not(.screen-reader-text) { background:#fff; }

/* Buyer-relevant quantitative proof points under every hero. */
.tsl-hero-facts { padding:clamp(1.15rem,2vw,1.7rem) 0; }
.tsl-hero-fact { min-height:148px; padding:1.18rem 1.05rem 1.08rem 1.55rem; }
.tsl-hero-fact strong { font-size:clamp(1.9rem,2.6vw,2.55rem); }
.tsl-hero-fact span { margin-top:.5rem; }
.tsl-hero-fact p { margin-top:.45rem; }

/* Unified GEO fact-card typography. Values and labels stay scannable without
   truncating buyer-relevant facts at desktop widths. */
.tsl-hero-fact strong {
  overflow-wrap:normal;
  white-space:nowrap;
  font-size:clamp(1.72rem,2.25vw,2.35rem);
  font-variant-numeric:tabular-nums;
}
.tsl-hero-fact span {
  overflow-wrap:normal;
  white-space:nowrap;
  font-size:clamp(.7rem,.74vw,.82rem);
  letter-spacing:-.012em;
}

/* Unified final quote CTA, shared by all 26 pages. The light technical canvas
   preserves the site theme while the navy brief panel carries brand weight. */
.tsl-global-cta {
  padding:clamp(4rem,7vw,6.5rem) 0;
  border-top:1px solid #cbd9e3;
  background:#eaf2f7;
}
.tsl-global-cta__frame {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);
  min-width:0;
  border:1px solid #c6d5df;
  border-radius:12px;
  background:#f9fbfc;
  overflow:hidden;
}
.tsl-global-cta__frame::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  z-index:2;
  width:6px;
  background:#024a8b;
}
.tsl-global-cta__copy {
  min-width:0;
  padding:clamp(2.2rem,5vw,4.75rem);
}
.tsl-page .tsl-global-cta h2 {
  max-width:17ch;
  margin:0 0 1rem;
  color:#102c42;
  font-size:clamp(2.15rem,4vw,3.75rem);
  line-height:1.03;
  letter-spacing:-.045em;
}
.tsl-global-cta__copy>p {
  max-width:62ch;
  margin:0;
  color:#526979;
  font-size:clamp(.98rem,1.25vw,1.12rem);
  line-height:1.72;
}
.tsl-global-cta__actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem 1.4rem;
  margin-top:1.8rem;
}
.tsl-global-cta__primary {
  min-width:190px;
  white-space:nowrap;
}
.tsl-global-cta__guide {
  position:relative;
  display:inline-flex;
  min-height:44px;
  align-items:center;
  color:#024a8b!important;
  font-size:.82rem;
  font-weight:850;
  text-decoration:none!important;
}
.tsl-global-cta__guide::after {
  content:"";
  position:absolute;
  right:0;
  bottom:8px;
  left:0;
  height:1px;
  background:currentColor;
  transform:scaleX(.34);
  transform-origin:left;
  transition:transform .25s cubic-bezier(.16,1,.3,1);
}
.tsl-global-cta__guide:hover::after,
.tsl-global-cta__guide:focus-visible::after { transform:scaleX(1); }
.tsl-global-cta__brief {
  min-width:0;
  padding:clamp(2rem,4vw,3.5rem);
  background:#08273f;
  color:#d6e6f1;
}
.tsl-page .tsl-global-cta__brief h3 {
  margin:0 0 1.35rem;
  color:#fff;
  font-size:clamp(1.2rem,1.7vw,1.5rem);
  letter-spacing:-.02em;
}
.tsl-global-cta__brief dl { margin:0; }
.tsl-global-cta__brief dl>div {
  padding:1rem 0;
  border-top:1px solid rgba(255,255,255,.18);
}
.tsl-global-cta__brief dt {
  margin:0 0 .32rem;
  color:#8fc9ed;
  font:700 .68rem/1.3 var(--font-mono,"Space Mono",monospace);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tsl-global-cta__brief dd {
  margin:0;
  color:#eef6fa;
  font-size:.88rem;
  line-height:1.55;
}
.tsl-global-cta :is(a,button):focus-visible {
  outline:3px solid #74c7f4;
  outline-offset:4px;
}
.tsl-global-cta .tsl-btn:active { transform:translateY(1px) scale(.99); }

@media(max-width:900px) {
  .tsl-global-cta__frame { grid-template-columns:1fr; }
  .tsl-page .tsl-global-cta h2 { max-width:22ch; }
}
@media(max-width:580px) {
  .tsl-hero-fact strong { font-size:clamp(1.8rem,9vw,2.35rem); }
  .tsl-hero-fact span { font-size:.78rem; }
  .tsl-global-cta { padding:3rem 0; }
  .tsl-global-cta__copy,.tsl-global-cta__brief { padding:1.65rem 1.4rem; }
  .tsl-global-cta__actions { display:grid; }
  .tsl-global-cta__primary,.tsl-global-cta__guide { width:100%; }
}

@media(max-width:767px) {
  body .site-header-shell--solid { top:0!important; left:0!important; right:0!important; pointer-events:auto!important; }
  body .site-header-shell--solid .site-header { background:#08273f!important; }
  body .site-header-shell--solid .site-header__inner { min-height:68px; padding:.65rem 1rem!important; }
}

/* 2026-08 global readability, navigation and conversion refinements. */
.tsl-page :is(p,li,td,dd,figcaption) {
  font-size:clamp(1rem,.28vw + .94rem,1.125rem);
}
.tsl-page :is(p,li,td,dd) { line-height:1.72; }
.tsl-page :is(.tsl-eyebrow,.tsl-card__index,.tsl-chip,.tsl-hero-fact span,.tsl-global-cta__brief dt) {
  font-size:clamp(.72rem,.18vw + .69rem,.82rem);
}

/* 2026-08 page-detail cleanup: quieter breadcrumbs, compact fact copy and
   explicit on-light colors for evidence cards placed inside dark sections. */
.tsl-unified-hero__breadcrumb li {
  font-weight:400;
  font-size:14px!important;
}

/* Home refresh: larger product imagery, proof-led photography and legacy brand rail. */
.tsl-home-refresh .tsl-home-hero h1 { max-width:15ch; font-size:clamp(3rem,4.6vw,4.7rem); line-height:.97; }
.tsl-home-refresh .tsl-home-hero__link { display:inline-flex; align-items:center; min-height:48px; padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.65); color:#fff!important; font-size:.82rem; font-weight:800; }
.tsl-home-products-section { overflow:hidden; }
.tsl-home-product-showcase { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(.85rem,1.4vw,1.35rem); margin-top:clamp(2rem,4vw,3.5rem); }
.tsl-home-product-card { min-width:0; border:1px solid var(--tslm-line); background:#fff; transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease; }
.tsl-home-product-card:hover { transform:translateY(-5px); box-shadow:0 24px 60px rgba(8,39,63,.1); }
.tsl-home-product-card__media { display:block; min-height:clamp(270px,22vw,350px); overflow:hidden; border-bottom:1px solid var(--tslm-line); background:#fff; }
.tsl-home-product-card__media img { display:block; width:100%; height:100%; min-height:inherit; padding:clamp(1.25rem,3vw,2.75rem); object-fit:contain; transition:transform .45s cubic-bezier(.16,1,.3,1); }
.tsl-home-product-card:hover .tsl-home-product-card__media img { transform:scale(1.035); }
.tsl-home-product-card__body { display:flex; flex-direction:column; align-items:flex-start; min-height:310px; padding:clamp(1.25rem,1.8vw,1.7rem); }
.tsl-home-product-card__body>span { margin-bottom:.65rem; color:var(--tslm-blue); font:750 .64rem/1.3 var(--font-mono,"Space Mono",monospace); letter-spacing:.08em; text-transform:uppercase; }
.tsl-home-product-card__body h3 { margin:0 0 .65rem; font-size:clamp(1.25rem,1.65vw,1.55rem); line-height:1.12; }
.tsl-home-product-card__body p { margin:0 0 1.25rem; max-width:34ch; color:var(--tslm-muted); font-size:.86rem; line-height:1.62; }
.tsl-home-product-card__body>a { display:inline-flex; align-items:center; min-height:46px; margin-top:auto; padding:.7rem .82rem; border:1px solid var(--tslm-blue); color:var(--tslm-blue)!important; font-size:.69rem; font-weight:850; text-align:center; }
.tsl-home-product-card__body>a:hover,.tsl-home-product-card__body>a:focus-visible { background:var(--tslm-blue); color:#fff!important; }

.tsl-home-about { display:grid; grid-template-columns:minmax(280px,.76fr) minmax(0,1.24fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.tsl-home-about__copy>p:not(.tsl-lead) { max-width:58ch; }
.tsl-home-about__gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(190px,1fr)); min-width:0; min-height:clamp(480px,48vw,650px); gap:.7rem; }
.tsl-home-about__gallery figure { min-width:0; margin:0; overflow:hidden; background:#dbe5ea; }
.tsl-home-about__gallery .tsl-home-about__feature { grid-row:1/-1; }
.tsl-home-about__gallery img { width:100%; height:100%; object-fit:cover; }

.tsl-home-project__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); border:1px solid var(--tslm-line); background:#fff; }
.tsl-home-project figure { min-width:0; margin:0; overflow:hidden; background:#dbe5ea; }
.tsl-home-project figure img { width:100%; height:100%; min-height:650px; object-fit:cover; }
.tsl-home-project__grid>div { padding:clamp(2rem,5vw,4.7rem); }
.tsl-home-project__grid>div>ol { margin:2rem 0; padding:0; list-style:none; border-top:1px solid var(--tslm-line); }
.tsl-home-project__grid>div>ol li { display:grid; grid-template-columns:44px minmax(0,1fr); gap:1rem; padding:1.2rem 0; border-bottom:1px solid var(--tslm-line); }
.tsl-home-project__grid>div>ol span { color:var(--tslm-blue); font:750 .68rem/1.4 var(--font-mono,"Space Mono",monospace); }
.tsl-home-project__grid>div>ol h3 { margin:0 0 .35rem; font-size:1.08rem; }
.tsl-home-project__grid>div>ol p { margin:0; font-size:.9rem; line-height:1.62; }

.tsl-home-capability__heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.78fr); gap:clamp(2rem,6vw,6rem); align-items:end; margin-bottom:2.25rem; }
.tsl-home-capability__heading h2 { margin:0; color:#fff; }
.tsl-home-capability-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.2); }
.tsl-home-capability-gallery article { min-width:0; padding:1rem 1rem 1.4rem; background:#0b304d; }
.tsl-home-capability-gallery figure { aspect-ratio:4/3; margin:0 0 1.15rem; overflow:hidden; background:#dbe5ea; }
.tsl-home-capability-gallery figure img { width:100%; height:100%; object-fit:cover; transition:transform .35s cubic-bezier(.16,1,.3,1); }
.tsl-home-capability-gallery article:hover figure img { transform:scale(1.035); }
.tsl-home-capability-gallery span { color:var(--tslh-cyan); font:750 .67rem/1.3 var(--font-mono,"Space Mono",monospace); letter-spacing:.08em; text-transform:uppercase; }
.tsl-template-home .tsl-home-capability-gallery h3 { margin:.65rem 0 0; color:#fff; font-size:clamp(1.1rem,1.55vw,1.4rem); }
.tsl-home-capability__actions { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; align-items:center; margin-top:2rem; }
.tsl-home-capability__actions .tsl-text-link { color:#fff!important; }

.tsl-home-brands { overflow:hidden; }
.tsl-home-brands__viewport { position:relative; width:100%; margin-top:2rem; overflow:hidden; }
.tsl-home-brands__viewport::before,.tsl-home-brands__viewport::after { content:""; position:absolute; top:0; bottom:0; z-index:2; width:clamp(28px,7vw,120px); pointer-events:none; }
.tsl-home-brands__viewport::before { left:0; background:linear-gradient(90deg,#fff,rgba(255,255,255,0)); }
.tsl-home-brands__viewport::after { right:0; background:linear-gradient(270deg,#fff,rgba(255,255,255,0)); }
.tsl-home-brands__track { display:flex; width:max-content; gap:1rem; padding:.25rem; animation:tsl-home-brand-marquee 44s linear infinite; }
.tsl-home-brands__viewport:hover .tsl-home-brands__track,.tsl-home-brands__viewport:focus-within .tsl-home-brands__track { animation-play-state:paused; }
.tsl-home-brand { display:grid; place-items:center; flex:0 0 clamp(190px,18vw,270px); height:138px; padding:1.25rem; border:1px solid var(--tslm-line); background:#fff; }
.tsl-home-brand img { width:100%; height:100%; object-fit:contain; filter:grayscale(1); opacity:.76; transition:filter .25s ease,opacity .25s ease; }
.tsl-home-brand:hover img { filter:none; opacity:1; }
.tsl-home-brands__note { margin:1.1rem 0 0; color:var(--tslm-muted); font-size:.74rem; }
@keyframes tsl-home-brand-marquee { to { transform:translateX(calc(-50% - .5rem)); } }

@media(max-width:1024px) {
  .tsl-home-about,.tsl-home-project__grid,.tsl-home-capability__heading { grid-template-columns:1fr; }
  .tsl-home-product-showcase { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tsl-home-product-card__media { min-height:360px; }
  .tsl-home-product-card__body { min-height:260px; }
  .tsl-home-about__copy { max-width:720px; }
  .tsl-home-project figure img { min-height:430px; }
}
@media(max-width:780px) {
  .tsl-home-capability-gallery { grid-template-columns:1fr; }
  .tsl-home-about__gallery { min-height:500px; }
}
@media(max-width:560px) {
  .tsl-home-refresh .tsl-home-hero h1 { font-size:clamp(2.5rem,12vw,3.5rem); }
  .tsl-home-product-showcase { grid-template-columns:1fr; }
  .tsl-home-product-card__media { min-height:310px; }
  .tsl-home-product-card__body { min-height:0; }
  .tsl-home-about__gallery { grid-template-columns:1fr; grid-template-rows:300px 220px 220px; min-height:0; }
  .tsl-home-about__gallery .tsl-home-about__feature { grid-row:auto; }
  .tsl-home-project figure img { min-height:300px; }
  .tsl-home-brand { flex-basis:180px; height:110px; }
}
@media(prefers-reduced-motion:reduce) {
  .tsl-home-brands__track { width:auto; max-width:100%; flex-wrap:wrap; justify-content:center; animation:none; }
  .tsl-home-brand { flex:1 1 180px; max-width:260px; }
  .tsl-home-product-card,.tsl-home-product-card__media img,.tsl-home-capability-gallery figure img { transition:none; }
}
.tsl-hero-fact p {
  font-size:14px!important;
  line-height:1.5;
}
.tsl-page :is(.tsl-section--navy,.tsl-capability-band) .tsl-evidence {
  color:#526473;
}
.tsl-page :is(.tsl-section--navy,.tsl-capability-band) .tsl-evidence :is(h3,h4) {
  color:#122b3e!important;
}
.tsl-page :is(.tsl-section--navy,.tsl-capability-band) .tsl-evidence p {
  color:#526473!important;
}
.site-nav__dropdown-item--nested>a,
.site-mobile-nav__submenu-item--nested>a {
  position:relative;
  padding-left:1.65rem!important;
  color:#526979!important;
  font-size:.88rem!important;
}
.site-nav__dropdown-item--nested>a::before,
.site-mobile-nav__submenu-item--nested>a::before {
  content:"";
  position:absolute;
  left:.8rem;
  top:50%;
  width:.45rem;
  height:1px;
  background:#7a91a1;
}
.site-header__actions .tsl-rfq-modal-trigger,
.site-mobile-nav__contact .tsl-rfq-modal-trigger {
  cursor:pointer;
  white-space:nowrap;
}
body .site-header__actions>.tsl-rfq-modal-trigger { display:inline-flex!important; }
body .site-nav__dropdown-item--nested>a { color:#9eb0bd!important; }
.site-footer__quote-link {
  min-height:44px;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.site-footer__quote-link:hover,
.site-footer__quote-link:focus-visible { color:#fff; }
.site-footer__back-top {
  width:48px!important;
  height:48px!important;
  bottom:4.75rem!important;
  padding:0!important;
  border:1px solid #024a8b!important;
  border-radius:50%!important;
  background:#024a8b!important;
  color:#fff!important;
  box-shadow:0 10px 28px rgba(2,74,139,.22)!important;
  transition:none!important;
}
.site-footer__back-top:hover,
.site-footer__back-top:active {
  background:#024a8b!important;
  color:#fff!important;
  border-color:#024a8b!important;
  box-shadow:0 10px 28px rgba(2,74,139,.22)!important;
  transform:translateY(0)!important;
}
.site-footer__back-top:focus-visible {
  background:#024a8b!important;
  color:#fff!important;
  border-color:#024a8b!important;
  box-shadow:0 0 0 3px #fff,0 0 0 6px rgba(2,74,139,.45)!important;
  outline:0!important;
}
.site-footer__back-top-icon {
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  flex:0 0 100%!important;
  background:transparent!important;
  color:inherit!important;
  box-shadow:none!important;
  transform:none!important;
  transition:none!important;
}
.site-footer__back-top-icon::before {
  top:15px!important;
  left:50%!important;
  width:2px!important;
  height:18px!important;
  transform:translateX(-50%)!important;
}
.site-footer__back-top-icon::after {
  top:14px!important;
  left:50%!important;
  width:9px!important;
  height:9px!important;
  transform:translateX(-50%) rotate(45deg)!important;
}
.site-footer__back-top:hover .site-footer__back-top-icon,
.site-footer__back-top:active .site-footer__back-top-icon {
  transform:none!important;
}
.tsl-rfq-modal__dialog { width:min(940px,100%); grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr); }
.tsl-rfq-modal__form .tsl-rfq-form label { color:#183247; }
.tsl-rfq-modal__form .tsl-form-help,
.tsl-rfq-modal__form .tsl-form-note { color:#526979; }
.tsl-rfq-modal__form .tsl-form-note a { color:#024a8b; text-decoration:underline; }
.tsl-rfq-modal__form .wpcf7-response-output { color:#183247; }
.tsl-global-cta__primary { cursor:pointer; }

@media(max-width:767px) {
  /* The quote action remains available inside the mobile drawer. Hiding the
     duplicate header button leaves enough room for the logo and menu toggle. */
  body .site-header__actions>.tsl-rfq-modal-trigger { display:none!important; }
  body .site-header-shell--solid .site-header__inner { overflow:hidden; }
  .tsl-unified-hero__copy,
  .tsl-unified-hero__copy .tsl-actions { width:100%; max-width:100%; }
  .tsl-unified-hero__breadcrumb ol { row-gap:.15rem; }
  .tsl-unified-hero__breadcrumb li[aria-current="page"] { flex-basis:100%; }
}
@media(max-width:580px) {
  .tsl-page .tsl-unified-hero h1 { font-size:clamp(36px,9.75vw,38px)!important; }
}

@media(max-width:1180px) {
  .site-header__actions .tsl-rfq-modal-trigger { padding-inline:.9rem; font-size:.72rem; }
}

/* Blog archive: real WordPress posts, not editorial placeholder sections. */
.tsl-blog-archive {
  padding:clamp(4.5rem,7vw,7rem) 0;
  background:#f4f7fa;
  border-top:1px solid #dbe4eb;
}
.tsl-blog-archive__header {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:2rem;
  margin-bottom:2.25rem;
}
.tsl-blog-archive__eyebrow {
  margin:0 0 .75rem!important;
  color:#024a8b!important;
  font-family:var(--font-mono,"Space Mono",monospace);
  font-size:.75rem!important;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.tsl-blog-archive__header h2 {
  margin:0 0 .85rem;
  max-width:18ch;
  color:#102c42;
  font-size:clamp(2.15rem,4vw,3.5rem);
  line-height:1.02;
  letter-spacing:-.04em;
}
.tsl-blog-archive__header>div>p:last-child {
  max-width:64ch;
  margin:0;
  color:#526979;
}
.tsl-blog-archive__count {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:.65rem .9rem;
  border:1px solid #cbd8e2;
  border-radius:999px;
  background:#fff;
  color:#39566b;
  font-size:.78rem;
  font-weight:700;
  white-space:nowrap;
}
.tsl-blog-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
}
.tsl-blog-grid--compact { margin-block:2rem; }
.tsl-blog-card {
  display:flex;
  min-width:0;
  min-height:100%;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #d5e0e8;
  border-radius:10px;
  background:#fff;
  box-shadow:0 16px 38px rgba(12,44,66,.06);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.tsl-blog-card:hover {
  transform:translateY(-4px);
  border-color:#8fb4d3;
  box-shadow:0 24px 48px rgba(12,44,66,.12);
}
.tsl-blog-card__media {
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#e8eff4;
}
.tsl-blog-card__media img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s cubic-bezier(.2,.65,.3,1);
}
.tsl-blog-card:hover .tsl-blog-card__media img { transform:scale(1.035); }
.tsl-blog-card__placeholder {
  position:relative;
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  overflow:hidden;
  background:linear-gradient(145deg,#102c42,#024a8b);
  color:#fff;
}
.tsl-blog-card__placeholder i {
  position:absolute;
  width:44%;
  aspect-ratio:1;
  border:14px solid rgba(255,255,255,.16);
  border-radius:50%;
}
.tsl-blog-card__placeholder b { position:relative; font-size:1.25rem; letter-spacing:.18em; }
.tsl-blog-card__body {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:1.35rem 1.4rem 1.5rem;
}
.tsl-blog-card__meta {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:.45rem .8rem;
  margin-bottom:.9rem;
  color:#698090;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.tsl-blog-card__meta span { color:#024a8b; }
.tsl-page .tsl-blog-card__body h2 {
  margin:0 0 .8rem;
  font-size:clamp(1.35rem,1.7vw,1.6rem)!important;
  font-weight:750;
  line-height:1.24;
  letter-spacing:-.018em;
  text-wrap:balance;
}
.tsl-page .tsl-blog-card__body h2 a {
  color:#102c42;
  text-decoration:none;
}
.tsl-page .tsl-blog-card__body h2 a:hover { color:#024a8b; }
.tsl-blog-card__body>p {
  margin:0 0 1.2rem;
  color:#526979;
  font-size:1rem;
  line-height:1.65;
}
.tsl-blog-card__link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin-top:auto;
  color:#024a8b;
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.04em;
  text-decoration:none;
  text-transform:uppercase;
}
.tsl-blog-card__link span { margin-left:.35rem; transition:transform .2s ease; }
.tsl-blog-card__link:hover span { transform:translateX(4px); }
.tsl-blog-pagination { margin-top:2.5rem; }
.tsl-blog-pagination ul {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.45rem;
  margin:0;
  padding:0;
  list-style:none;
}
.tsl-blog-pagination a,
.tsl-blog-pagination span {
  display:grid;
  min-width:44px;
  min-height:44px;
  padding:.55rem .75rem;
  place-items:center;
  border:1px solid #cbd8e2;
  border-radius:5px;
  background:#fff;
  color:#183247;
  font-weight:700;
  text-decoration:none;
}
.tsl-blog-pagination .current,
.tsl-blog-pagination a:hover,
.tsl-blog-pagination a:focus-visible {
  border-color:#024a8b;
  background:#024a8b;
  color:#fff;
}
.tsl-blog-empty {
  padding:3rem;
  border:1px solid #d5e0e8;
  border-radius:10px;
  background:#fff;
  text-align:center;
}

/* Forward-curved product page: verified legacy range, four construction routes */
.tsl-fc-family-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.25rem;
  margin-top:2.5rem;
}
.tsl-fc-family-card {
  display:grid;
  grid-template-columns:minmax(180px,.72fr) minmax(0,1fr);
  min-width:0;
  overflow:hidden;
  border:1px solid #d4e0e8;
  border-radius:10px;
  background:#fff;
  box-shadow:0 14px 36px rgba(6,45,76,.07);
}
.tsl-fc-family-card figure {
  display:grid;
  min-height:330px;
  margin:0;
  padding:1rem;
  place-items:center;
  background:#eef4f8;
}
.tsl-fc-family-card img { width:100%; height:100%; object-fit:contain; }
.tsl-fc-family-card>div { display:flex; min-width:0; flex-direction:column; padding:1.75rem; }
.tsl-fc-family-card span,
.tsl-fc-support-grid span {
  color:#024a8b;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
}
.tsl-fc-family-card h3 { margin:.7rem 0 .75rem; font-size:1.55rem; line-height:1.15; }
.tsl-fc-family-card p { margin:0; color:#526776; font-size:1rem; line-height:1.7; }
.tsl-fc-family-card a {
  margin-top:auto;
  padding-top:1.5rem;
  color:#024a8b;
  font-weight:800;
  text-decoration:none;
}
.tsl-fc-range-table td:first-child { min-width:210px; }
.tsl-fc-source-note {
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:1rem;
  margin-top:1.25rem;
  padding:1.25rem 1.4rem;
  border-left:5px solid #024a8b;
  border-radius:0 8px 8px 0;
  background:#fff;
}
.tsl-fc-source-note strong { color:#183247; }
.tsl-fc-source-note p { margin:0; color:#536978; line-height:1.65; }
.tsl-fc-interface-list { border-top:1px solid #d4e0e8; }
.tsl-fc-interface-list article {
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:1rem;
  padding:1.5rem 0;
  border-bottom:1px solid #d4e0e8;
}
.tsl-fc-interface-list b { color:#024a8b; font-family:var(--font-mono,"Space Mono",monospace); }
.tsl-fc-interface-list h3 { margin:0 0 .35rem; font-size:1.3rem; }
.tsl-fc-interface-list p { margin:0; color:#586b79; line-height:1.65; }
.tsl-fc-application-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);
  gap:clamp(2.5rem,6vw,6rem);
  align-items:center;
}
.tsl-fc-application-grid figure { overflow:hidden; margin:0; border-radius:10px; background:#fff; }
.tsl-fc-application-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.tsl-fc-application-links { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:2rem; }
.tsl-fc-application-links a {
  display:inline-flex;
  min-height:44px;
  align-items:center;
  padding:.65rem .9rem;
  border:1px solid rgba(255,255,255,.28);
  color:#fff!important;
  font-size:.9rem;
  font-weight:800;
  text-decoration:none;
}
.tsl-fc-application-links a:hover,
.tsl-fc-application-links a:focus-visible { border-color:#fff; background:#fff; color:#024a8b!important; }
.tsl-fc-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin-top:2.5rem; }
.tsl-fc-support-grid article { overflow:hidden; min-width:0; border:1px solid #d4e0e8; border-radius:10px; background:#fff; }
.tsl-fc-support-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.tsl-fc-support-grid article>div { padding:1.5rem; }
.tsl-fc-support-grid h3 { margin:.7rem 0 .75rem; font-size:1.35rem; }
.tsl-fc-support-grid p { margin:0; color:#566a78; line-height:1.7; }
.tsl-fc-support-grid a { display:inline-flex; margin-top:1.25rem; color:#024a8b; font-weight:800; text-decoration:none; }
@media(max-width:1050px) {
  .tsl-fc-family-card { grid-template-columns:1fr; }
  .tsl-fc-family-card figure { min-height:280px; }
  .tsl-fc-application-grid { grid-template-columns:1fr; }
  .tsl-fc-support-grid { grid-template-columns:1fr; }
  .tsl-fc-support-grid article { display:grid; grid-template-columns:minmax(240px,.75fr) minmax(0,1fr); }
  .tsl-fc-support-grid img { height:100%; }
}
@media(max-width:720px) {
  .tsl-fc-family-grid { grid-template-columns:1fr; }
  .tsl-fc-family-card figure { min-height:240px; }
  .tsl-fc-source-note { grid-template-columns:1fr; }
  .tsl-fc-application-grid { grid-template-columns:1fr; }
  .tsl-fc-support-grid article { grid-template-columns:1fr; }
  .tsl-fc-support-grid img { height:auto; }
}

/* Backward-curved product page: legacy NB range and verified product imagery */
.tsl-bc-family-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
  margin-top:2.5rem;
}
.tsl-bc-family-card {
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #d4e0e8;
  border-radius:10px;
  background:#fff;
}
.tsl-bc-family-card figure { display:grid; aspect-ratio:1/1; margin:0; background:#eef4f7; }
.tsl-bc-family-card img { width:100%; height:100%; object-fit:contain; }
.tsl-bc-family-card>div { display:flex; flex:1; min-width:0; flex-direction:column; padding:1.5rem; }
.tsl-bc-family-card span,
.tsl-bc-support-grid span {
  color:#024a8b;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
}
.tsl-bc-family-card h3 { margin:.65rem 0 .7rem; font-size:1.42rem; line-height:1.18; }
.tsl-bc-family-card p { margin:0; color:#536978; font-size:1rem; line-height:1.7; }
.tsl-bc-size-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:2.4rem; border:1px solid #d4e0e8; border-radius:10px; background:#fff; }
.tsl-bc-size-strip article { min-width:0; padding:1.5rem; border-right:1px solid #d4e0e8; }
.tsl-bc-size-strip article:last-child { border-right:0; }
.tsl-bc-size-strip strong { display:block; color:#024a8b; font-size:clamp(1.4rem,2vw,2rem); line-height:1.1; }
.tsl-bc-size-strip span { display:block; margin-top:.55rem; color:#536978; font-size:.88rem; }
.tsl-bc-source-note {
  display:grid;
  grid-template-columns:200px minmax(0,1fr);
  gap:1rem;
  margin-top:1.25rem;
  padding:1.25rem 1.4rem;
  border-left:4px solid #024a8b;
  border-radius:0 8px 8px 0;
  background:#e7f1fa;
}
.tsl-bc-source-note strong { color:#183247; }
.tsl-bc-source-note p { margin:0; color:#536978; line-height:1.65; }
.tsl-bc-interface-list { border-top:1px solid #d4e0e8; }
.tsl-bc-interface-list article { display:grid; grid-template-columns:64px minmax(0,1fr); gap:1rem; padding:1.35rem 0; border-bottom:1px solid #d4e0e8; }
.tsl-bc-interface-list b { color:#024a8b; font-family:var(--font-mono,"Space Mono",monospace); }
.tsl-bc-interface-list h3 { margin:0 0 .35rem; font-size:1.3rem; }
.tsl-bc-interface-list p { margin:0; color:#586b79; line-height:1.65; }
.tsl-bc-boundary-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(340px,.75fr); gap:clamp(2.5rem,6vw,6rem); align-items:start; }
.tsl-bc-boundary-list { border-top:1px solid rgba(255,255,255,.28); }
.tsl-bc-boundary-list article { padding:1.2rem 0; border-bottom:1px solid rgba(255,255,255,.28); }
.tsl-bc-boundary-list strong { color:#fff; font-size:1.08rem; }
.tsl-bc-boundary-list p { margin:.4rem 0 0; color:#cfe2ef; line-height:1.65; }
.tsl-bc-application-grid { display:grid; grid-template-columns:minmax(360px,.8fr) minmax(0,1fr); gap:clamp(2.5rem,6vw,6rem); align-items:center; }
.tsl-bc-application-grid figure { overflow:hidden; margin:0; border-radius:10px; background:#eef4f7; }
.tsl-bc-application-grid img { width:100%; aspect-ratio:19/12; object-fit:cover; }
.tsl-bc-application-links { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:2rem; }
.tsl-bc-application-links a { display:inline-flex; min-height:44px; align-items:center; padding:.6rem .9rem; border:1px solid #b6cad8; border-radius:999px; color:#024a8b; font-weight:800; text-decoration:none; }
.tsl-bc-application-links a:hover,
.tsl-bc-application-links a:focus-visible { border-color:#024a8b; background:#024a8b; color:#fff!important; }
.tsl-bc-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin-top:2.5rem; }
.tsl-bc-support-grid article { overflow:hidden; min-width:0; border:1px solid #d4e0e8; border-radius:10px; background:#fff; }
.tsl-bc-support-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.tsl-bc-support-grid article>div { padding:1.5rem; }
.tsl-bc-support-grid h3 { margin:.7rem 0 .75rem; font-size:1.35rem; }
.tsl-bc-support-grid p { margin:0; color:#566a78; line-height:1.7; }
.tsl-bc-support-grid a { display:inline-flex; margin-top:1.25rem; color:#024a8b; font-weight:800; text-decoration:none; }
@media(max-width:1050px) {
  .tsl-bc-family-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tsl-bc-size-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tsl-bc-size-strip article:nth-child(3) { border-right:0; }
  .tsl-bc-size-strip article:nth-child(-n+3) { border-bottom:1px solid #d4e0e8; }
  .tsl-bc-boundary-grid,
  .tsl-bc-application-grid { grid-template-columns:1fr; }
  .tsl-bc-support-grid { grid-template-columns:1fr; }
  .tsl-bc-support-grid article { display:grid; grid-template-columns:minmax(240px,.75fr) minmax(0,1fr); }
  .tsl-bc-support-grid img { height:100%; }
}
@media(max-width:720px) {
  .tsl-bc-family-grid,
  .tsl-bc-size-strip { grid-template-columns:1fr; }
  .tsl-bc-size-strip article { border-right:0; border-bottom:1px solid #d4e0e8; }
  .tsl-bc-size-strip article:last-child { border-bottom:0; }
  .tsl-bc-source-note { grid-template-columns:1fr; }
  .tsl-bc-support-grid article { grid-template-columns:1fr; }
  .tsl-bc-support-grid img { height:auto; }
}
@media(max-width:980px) {
  .tsl-blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tsl-blog-archive__header { grid-template-columns:1fr; align-items:start; }
  .tsl-blog-archive__count { justify-self:start; }
}
@media(max-width:640px) {
  .tsl-blog-archive { padding:3.5rem 0; }
  .tsl-blog-grid { grid-template-columns:1fr; }
  .tsl-blog-archive__header h2 { font-size:2.25rem; }
  .tsl-blog-card__body { padding:1.2rem; }
  .tsl-page .tsl-blog-card__body h2 { font-size:1.25rem!important; line-height:1.3; }
}

/* Cross flow legacy product migration — 2026-08-13 */
.tsl-cf-series-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem}.tsl-cf-series-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #d4e0e8;border-radius:10px;background:#fff;box-shadow:0 18px 44px rgba(8,37,59,.07)}.tsl-cf-series-card figure{display:grid;aspect-ratio:1/1;margin:0;background:#f1f5f7}.tsl-cf-series-card img{width:100%;height:100%;object-fit:contain}.tsl-cf-series-card>div{display:flex;min-width:0;flex:1;flex-direction:column;padding:1.4rem}.tsl-cf-series-card span,.tsl-cf-support-grid span{color:#024a8b;font-family:var(--font-mono,"Space Mono",monospace);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tsl-cf-series-card h3{margin:.62rem 0 .65rem;font-size:1.34rem;line-height:1.2}.tsl-cf-series-card p{margin:0;color:#536978;font-size:1rem;line-height:1.65}.tsl-cf-range-table td:first-child{min-width:190px}.tsl-cf-source-note{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.25rem;align-items:start;margin-top:1.5rem;padding:1.25rem 1.4rem;border-left:4px solid #024a8b;background:#e9f1f6}.tsl-cf-source-note strong{color:#183247}.tsl-cf-source-note p{margin:0;color:#536978;line-height:1.65}.tsl-cf-interface-list{border-top:1px solid #d4e0e8}.tsl-cf-interface-list article{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1rem;padding:1.3rem 0;border-bottom:1px solid #d4e0e8}.tsl-cf-interface-list b{color:#024a8b;font-family:var(--font-mono,"Space Mono",monospace)}.tsl-cf-interface-list h3{margin:0 0 .35rem;font-size:1.28rem}.tsl-cf-interface-list p{margin:0;color:#586b79;line-height:1.65}.tsl-cf-boundary-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.75fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}.tsl-cf-boundary-list{border-top:1px solid rgba(255,255,255,.28)}.tsl-cf-boundary-list article{padding:1.15rem 0;border-bottom:1px solid rgba(255,255,255,.28)}.tsl-cf-boundary-list strong{color:#fff;font-size:1.08rem}.tsl-cf-boundary-list p{margin:.4rem 0 0;color:#cfe2ef;line-height:1.65}.tsl-cf-application-grid{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}.tsl-cf-application-grid figure{overflow:hidden;margin:0;border-radius:10px;background:#eef4f7}.tsl-cf-application-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.tsl-cf-application-links{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}.tsl-cf-application-links a{display:inline-flex;min-height:44px;align-items:center;padding:.6rem .9rem;border:1px solid #b6cad8;border-radius:999px;color:#024a8b;font-weight:800;text-decoration:none}.tsl-cf-application-links a:hover,.tsl-cf-application-links a:focus-visible{border-color:#024a8b;background:#024a8b;color:#fff!important}.tsl-cf-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem}.tsl-cf-support-grid article{overflow:hidden;min-width:0;border:1px solid #d4e0e8;border-radius:10px;background:#fff}.tsl-cf-support-grid img{width:100%;aspect-ratio:30/17;object-fit:cover}.tsl-cf-support-grid article>div{padding:1.5rem}.tsl-cf-support-grid h3{margin:.7rem 0 .75rem;font-size:1.35rem}.tsl-cf-support-grid p{margin:0;color:#566a78;line-height:1.7}.tsl-cf-support-grid a{display:inline-flex;margin-top:1.25rem;color:#024a8b;font-weight:800;text-decoration:none}
@media(max-width:1000px){.tsl-cf-series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tsl-cf-boundary-grid,.tsl-cf-application-grid{grid-template-columns:1fr}.tsl-cf-support-grid{grid-template-columns:1fr}.tsl-cf-support-grid article{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1fr)}.tsl-cf-support-grid img{height:100%}}
@media(max-width:680px){.tsl-cf-series-grid{grid-template-columns:1fr}.tsl-cf-source-note{grid-template-columns:1fr}.tsl-cf-support-grid article{grid-template-columns:1fr}.tsl-cf-support-grid img{height:auto}}

/* Oven fan impeller product page */
.tsl-of-family-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem}.tsl-of-family-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #d4e0e8;border-radius:10px;background:#fff;box-shadow:0 18px 44px rgba(8,37,59,.07)}.tsl-of-family-card figure{display:grid;aspect-ratio:1/1;margin:0;background:#f1f5f7}.tsl-of-family-card img{width:100%;height:100%;object-fit:contain}.tsl-of-family-card>div{display:flex;min-width:0;flex:1;flex-direction:column;padding:1.4rem}.tsl-of-family-card span,.tsl-of-support-grid span{color:#024a8b;font-family:var(--font-mono,"Space Mono",monospace);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tsl-of-family-card h3{margin:.62rem 0 .65rem;font-size:1.34rem;line-height:1.2}.tsl-of-family-card p{margin:0;color:#536978;font-size:1rem;line-height:1.65}.tsl-of-interface-grid{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}.tsl-of-interface-grid>figure{overflow:hidden;margin:0;border-radius:10px;background:#fff}.tsl-of-interface-grid>figure img{width:100%;aspect-ratio:1/1;object-fit:contain}.tsl-of-interface-list{margin-top:1.8rem;border-top:1px solid #d4e0e8}.tsl-of-interface-list article{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1rem;padding:1.15rem 0;border-bottom:1px solid #d4e0e8}.tsl-of-interface-list b{color:#024a8b;font-family:var(--font-mono,"Space Mono",monospace)}.tsl-of-interface-list h3{margin:0 0 .3rem;font-size:1.24rem}.tsl-of-interface-list p{margin:0;color:#586b79;line-height:1.62}.tsl-of-boundary-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(340px,.77fr);gap:clamp(2.5rem,6vw,6rem);align-items:start}.tsl-of-boundary-list{border-top:1px solid rgba(255,255,255,.28)}.tsl-of-boundary-list article{padding:1.15rem 0;border-bottom:1px solid rgba(255,255,255,.28)}.tsl-of-boundary-list strong{color:#fff;font-size:1.08rem}.tsl-of-boundary-list p{margin:.4rem 0 0;color:#cfe2ef;line-height:1.65}.tsl-of-process-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;margin:2.5rem 0 0;padding:0;list-style:none;border-top:1px solid #d4e0e8}.tsl-of-process-list li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:1rem;min-width:0;padding:1.4rem 0;border-bottom:1px solid #d4e0e8}.tsl-of-process-list b{color:#024a8b;font-family:var(--font-mono,"Space Mono",monospace)}.tsl-of-process-list h3{margin:0 0 .35rem;font-size:1.25rem}.tsl-of-process-list p{margin:0;color:#586b79;line-height:1.65}.tsl-of-application-grid{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}.tsl-of-application-grid figure{overflow:hidden;margin:0;border-radius:10px;background:#eef4f7}.tsl-of-application-grid img{width:100%;aspect-ratio:8/5;object-fit:cover}.tsl-of-application-links{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}.tsl-of-application-links a{display:inline-flex;min-height:44px;align-items:center;padding:.6rem .9rem;border:1px solid #b6cad8;border-radius:999px;color:#024a8b;font-weight:800;text-decoration:none}.tsl-of-application-links a:hover,.tsl-of-application-links a:focus-visible{border-color:#024a8b;background:#024a8b;color:#fff!important}.tsl-of-support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2.5rem}.tsl-of-support-grid article{overflow:hidden;min-width:0;border:1px solid #d4e0e8;border-radius:10px;background:#fff}.tsl-of-support-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.tsl-of-support-grid article>div{padding:1.5rem}.tsl-of-support-grid h3{margin:.7rem 0 .75rem;font-size:1.35rem}.tsl-of-support-grid p{margin:0;color:#566a78;line-height:1.7}.tsl-of-support-grid a{display:inline-flex;margin-top:1.25rem;color:#024a8b;font-weight:800;text-decoration:none}
@media(max-width:1000px){.tsl-of-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tsl-of-interface-grid,.tsl-of-boundary-grid,.tsl-of-application-grid{grid-template-columns:1fr}.tsl-of-support-grid{grid-template-columns:1fr}.tsl-of-support-grid article{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1fr)}.tsl-of-support-grid img{height:100%}}
@media(max-width:680px){.tsl-of-family-grid,.tsl-of-process-list{grid-template-columns:1fr}.tsl-of-support-grid article{grid-template-columns:1fr}.tsl-of-support-grid img{height:auto}.tsl-of-interface-list article,.tsl-of-process-list li{grid-template-columns:46px minmax(0,1fr)}}
