/* TSLBlower rebuilt-page component system. Global, evidence-first and image-safe. */

/*
 * Component-boundary bridge
 *
 * main.css contains an earlier TSL system where `.tsl-process` meant a
 * two-column layout and `.tsl-faq` could be a section wrapper. The rebuilt
 * component system uses those names for an ordered process list and split FAQ.
 * These selectors use higher specificity than the legacy rules so both markup
 * generations remain stable during the page migration.
 */
ol.tsl-process {
  display: block;
  grid-template-columns: none;
  gap: 0;
  align-items: initial;
}

.tsl-process-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(3rem, 9vw, 9rem);
  align-items: start;
}

.tsl-page .tsl-process-layout h2 {
  margin: 0;
  color: #122431;
  font-size: clamp(2rem, 3.4vw, 3.35rem);
  letter-spacing: -0.045em;
}

/* A legacy FAQ section has one container child; the current split FAQ has
 * direct intro and question children. */
section.tsl-faq,
.tsl-faq-section {
  display: block;
}

.tsl-faq-section details {
  border: 1px solid #d7e1e9;
  border-radius: 6px;
  background: #fff;
  padding: 0 1.25rem;
}

.tsl-faq-section summary {
  cursor: pointer;
  padding: 1.2rem 1.65rem 1.2rem 0;
  color: #172d3e;
  font-weight: 800;
  list-style: none;
}

.tsl-faq-section summary::-webkit-details-marker {
  display: none;
}

.tsl-faq-section summary::after {
  content: "+";
  float: right;
  color: #024a8b;
  font-size: 1.35rem;
  line-height: 0.8;
}

.tsl-faq-section details[open] summary::after {
  content: "−";
}

.tsl-faq-section details p {
  margin: 0;
  padding: 0 0 1.3rem;
  color: #5a6c79;
  line-height: 1.7;
}

/* Remove the legacy boxed-card properties from the current split FAQ only. */
.tsl-container.tsl-faq details {
  border: 0;
  border-top: 1px solid var(--tsl-line);
  border-radius: 0;
  background: transparent;
  padding: 0;
}

.tsl-container.tsl-faq details:last-child {
  border-bottom: 1px solid var(--tsl-line);
}

/* Legacy dark bands are not `.tsl-section--navy` or `.tsl-section--blue`.
 * Restore on-dark headings after the global `.tsl-page h*` token rule. */
.tsl-page :is(.tsl-final-cta, .tsl-capability-band, .tsl-rfq-grid__aside) :is(h1, h2, h3, h4) {
  color: #fff;
}

/* Migrated legacy CTAs use the current button component. */
.tsl-final-cta .tsl-btn,
.tsl-capability-band .tsl-btn {
  margin-top: 1.7rem;
}

.tsl-rfq-grid__aside .tsl-btn {
  margin-top: 1.6rem;
}

@media (max-width: 1000px) {
  .tsl-process-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .tsl-faq-section .tsl-faq__grid {
    grid-template-columns: 1fr;
  }
}
html{overflow-x:clip}.tsl-page,.tsl-page *{box-sizing:border-box}.tsl-page{background:var(--tsl-white);color:var(--tsl-body);font-family:var(--font-body,"Manrope",sans-serif)}.tsl-page :is(h1,h2,h3,h4,p,ul,ol){margin-top:0}.tsl-page :is(a,a:visited){text-decoration:none}.tsl-container{width:min(calc(100% - (var(--tsl-gutter)*2)),var(--tsl-container));margin-inline:auto}.tsl-section{padding-block:var(--tsl-section)}.tsl-section--compact{padding-block:var(--tsl-section-compact)}.tsl-section--soft{background:var(--tsl-soft)}.tsl-section--navy{background:var(--tsl-navy);color:#fff}.tsl-section--blue{background:var(--tsl-blue);color:#fff}.tsl-eyebrow{display:block;margin:0 0 1rem;color:var(--tsl-blue);font:700 .72rem/1.2 var(--font-mono,"Space Mono",monospace);letter-spacing:.14em;text-transform:uppercase}.tsl-section--navy .tsl-eyebrow,.tsl-section--blue .tsl-eyebrow{color:#a9d1ee}.tsl-page h1,.tsl-page h2,.tsl-page h3,.tsl-page h4{color:var(--tsl-ink);font-family:var(--font-heading,"Archivo",sans-serif)}.tsl-page h1{font-size:clamp(2.75rem,5.6vw,5.7rem);line-height:.98;letter-spacing:-.055em}.tsl-page h2{font-size:clamp(2rem,3.8vw,3.65rem);line-height:1.04;letter-spacing:-.045em}.tsl-page h3{font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.25;letter-spacing:-.02em}.tsl-lead{max-width:68ch;color:var(--tsl-body);font-size:clamp(1rem,1.35vw,1.16rem);line-height:1.8}.tsl-section--navy :is(h2,h3),.tsl-section--blue :is(h2,h3){color:#fff}.tsl-section--navy .tsl-lead,.tsl-section--blue .tsl-lead{color:#c9dce8}.tsl-btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:.85rem 1.35rem;border:1px solid var(--tsl-blue);border-radius:0;background:var(--tsl-blue);color:#fff!important;font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;transition:transform .25s cubic-bezier(.16,1,.3,1),background-color .25s ease,color .25s ease}.tsl-btn:hover,.tsl-btn:focus-visible{transform:scale(1.04);background:var(--tsl-blue-dark)}.tsl-btn--light{border-color:#fff;background:#fff;color:var(--tsl-navy)!important}.tsl-btn--light:hover,.tsl-btn--light:focus-visible{background:#e7f1fa}.tsl-text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--tsl-blue)!important;font-size:.85rem;font-weight:800}.tsl-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.tsl-breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.4rem;padding:0;list-style:none;color:#81909b;font-size:.76rem;font-weight:700}.tsl-breadcrumb a{color:inherit}.tsl-breadcrumb li+li:before{content:"/";margin-right:.5rem;color:#aeb9c1}.tsl-hero{position:relative;overflow:hidden;padding-block:clamp(4.5rem,9vw,8.5rem);background:#fff;border-bottom:1px solid var(--tsl-line)}.tsl-hero--home{min-height:690px;display:grid;align-items:center}.tsl-hero__grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(3rem,7vw,7.5rem);align-items:center}.tsl-hero__copy{min-width:0}.tsl-hero h1{max-width:920px;margin-bottom:1.4rem}.tsl-hero h1 em{color:var(--tsl-blue);font-style:normal}.tsl-hero__proof{display:flex;flex-wrap:wrap;gap:.65rem 1.2rem;margin:1.7rem 0 0;padding:1.2rem 0 0;border-top:1px solid var(--tsl-line);list-style:none;color:#405665;font-size:.82rem;font-weight:750}.tsl-hero__proof li{position:relative;padding-left:1rem}.tsl-hero__proof li:before{content:"";position:absolute;left:0;top:.55rem;width:6px;height:6px;background:var(--tsl-blue)}.tsl-hero__visual{position:relative;min-height:470px;border-left:1px solid var(--tsl-line);display:grid;place-items:center}.tsl-tech-wheel{position:relative;width:min(31vw,390px);min-width:280px;aspect-ratio:1;border:28px solid var(--tsl-navy);border-radius:50%;background:#fff}.tsl-tech-wheel:before{content:"";position:absolute;inset:16%;border:13px solid var(--tsl-blue);border-radius:50%}.tsl-tech-wheel:after{content:"";position:absolute;left:50%;top:50%;width:16%;aspect-ratio:1;transform:translate(-50%,-50%);border:10px solid #fff;border-radius:50%;background:var(--tsl-navy);outline:7px solid var(--tsl-blue)}.tsl-tech-wheel i{position:absolute;left:50%;top:50%;width:10%;height:36%;background:var(--tsl-blue);border-radius:80% 20% 55% 25%;transform-origin:50% 0}.tsl-tech-wheel i:nth-child(1){transform:rotate(0deg) translateX(-50%)}.tsl-tech-wheel i:nth-child(2){transform:rotate(45deg) translateX(-50%)}.tsl-tech-wheel i:nth-child(3){transform:rotate(90deg) translateX(-50%)}.tsl-tech-wheel i:nth-child(4){transform:rotate(135deg) translateX(-50%)}.tsl-tech-wheel i:nth-child(5){transform:rotate(180deg) translateX(-50%)}.tsl-tech-wheel i:nth-child(6){transform:rotate(225deg) translateX(-50%)}.tsl-tech-wheel i:nth-child(7){transform:rotate(270deg) translateX(-50%)}.tsl-tech-wheel i:nth-child(8){transform:rotate(315deg) translateX(-50%)}.tsl-tech-note{position:absolute;max-width:190px;padding:.7rem .8rem;border:1px solid var(--tsl-line);background:#fff;color:var(--tsl-blue);font:700 .62rem/1.45 var(--font-mono,"Space Mono",monospace);letter-spacing:.08em;text-transform:uppercase}.tsl-tech-note--a{top:9%;left:4%}.tsl-tech-note--b{right:0;bottom:10%}.tsl-heading-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(2rem,7vw,7rem);align-items:end;margin-bottom:clamp(2.25rem,5vw,4rem)}.tsl-heading-grid h2{margin-bottom:0}.tsl-heading-grid .tsl-lead{margin:0}.tsl-heading{max-width:820px;margin-bottom:clamp(2.25rem,5vw,4rem)}.tsl-heading h2{margin-bottom:1rem}.tsl-grid{display:grid;gap:1px;background:var(--tsl-line);border:1px solid var(--tsl-line)}.tsl-grid--3{grid-template-columns:repeat(3,1fr)}.tsl-grid--4{grid-template-columns:repeat(4,1fr)}.tsl-card{min-width:0;padding:clamp(1.5rem,3vw,2.4rem);background:#fff}.tsl-card__index{display:block;color:var(--tsl-blue);font:700 .7rem/1 var(--font-mono,"Space Mono",monospace);letter-spacing:.1em}.tsl-card h3{margin:clamp(2rem,4vw,3.4rem) 0 .8rem}.tsl-card p{margin-bottom:0;line-height:1.72}.tsl-card .tsl-text-link{margin-top:1.35rem}.tsl-card--dark{background:var(--tsl-navy)}.tsl-card--dark h3{color:#fff}.tsl-card--dark p{color:#c8d9e4}.tsl-product-card{position:relative;display:flex;min-height:430px;min-width:0;flex-direction:column;padding:1.5rem;background:#fff;color:inherit!important}.tsl-product-card__visual{display:grid;min-height:165px;place-items:center;border-bottom:1px solid var(--tsl-line);background:var(--tsl-soft)}.tsl-product-card__visual span{position:relative;display:block;width:108px;height:108px;border:17px solid var(--tsl-blue);border-radius:50%}.tsl-product-card__visual span:after{content:"";position:absolute;inset:31%;border-radius:50%;background:var(--tsl-navy)}.tsl-product-card--cross .tsl-product-card__visual span{width:150px;height:70px;border-radius:35px}.tsl-product-card--oven .tsl-product-card__visual span{border-color:var(--tsl-navy) var(--tsl-blue);transform:rotate(45deg)}.tsl-product-card h3{margin:1.6rem 0 .7rem}.tsl-product-card p{margin:0;line-height:1.68}.tsl-product-card b{margin-top:auto;padding-top:1.5rem;color:var(--tsl-blue);font-size:.82rem}.tsl-chip-row{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.tsl-chip{padding:.35rem .55rem;border:1px solid var(--tsl-line);color:#4d6270;font:700 .65rem/1.2 var(--font-mono,"Space Mono",monospace);letter-spacing:.04em}.tsl-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(3rem,8vw,8rem);align-items:start}.tsl-split--reverse>:first-child{order:2}.tsl-split__sticky{position:sticky;top:110px}.tsl-split h2{margin-bottom:1rem}.tsl-line-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--tsl-line)}.tsl-line-list li{position:relative;padding:1.3rem 0 1.3rem 2.2rem;border-bottom:1px solid var(--tsl-line);line-height:1.7}.tsl-line-list li:before{content:attr(data-index);position:absolute;left:0;top:1.6rem;color:var(--tsl-blue);font:700 .68rem/1 var(--font-mono,"Space Mono",monospace)}.tsl-line-list strong{display:block;margin-bottom:.25rem;color:var(--tsl-ink)}.tsl-process{counter-reset:tsl-step;margin:0;padding:0;list-style:none;border-top:1px solid var(--tsl-line)}.tsl-process li{counter-increment:tsl-step;display:grid;grid-template-columns:90px minmax(0,1fr);gap:1.25rem;padding:1.7rem 0;border-bottom:1px solid var(--tsl-line)}.tsl-process li:before{content:"0" counter(tsl-step);color:var(--tsl-blue);font:700 .72rem/1 var(--font-mono,"Space Mono",monospace);padding-top:.4rem}.tsl-process h3{margin-bottom:.45rem}.tsl-process p{margin-bottom:0;line-height:1.7}.tsl-table-wrap{overflow:auto;border:1px solid var(--tsl-line);background:#fff}.tsl-table{width:100%;min-width:720px;border-collapse:collapse;text-align:left}.tsl-table th,.tsl-table td{padding:1rem 1.2rem;border-bottom:1px solid var(--tsl-line);vertical-align:top}.tsl-table th{background:#e8f1f7;color:var(--tsl-ink);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase}.tsl-table td{line-height:1.65}.tsl-table td:first-child{color:var(--tsl-ink);font-weight:800}.tsl-table tr:last-child td{border-bottom:0}.tsl-callout{padding:clamp(1.5rem,3vw,2.4rem);border-left:4px solid var(--tsl-blue);background:#e8f1f7}.tsl-callout h3{margin-bottom:.65rem}.tsl-callout p:last-child{margin-bottom:0}.tsl-evidence-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;border:1px solid var(--tsl-line);background:var(--tsl-line)}.tsl-evidence{padding:1.5rem;background:#fff}.tsl-evidence b{display:block;margin-bottom:.6rem;color:var(--tsl-blue);font:700 .68rem/1.2 var(--font-mono,"Space Mono",monospace);letter-spacing:.08em}.tsl-evidence h3{margin-bottom:.55rem}.tsl-evidence p{margin-bottom:0;line-height:1.7}.tsl-faq{display:grid;grid-template-columns:minmax(240px,.42fr) minmax(0,.58fr);gap:clamp(2rem,7vw,7rem)}.tsl-faq__intro{position:sticky;top:110px;align-self:start}.tsl-faq details{border-top:1px solid var(--tsl-line)}.tsl-faq details:last-child{border-bottom:1px solid var(--tsl-line)}.tsl-faq summary{position:relative;cursor:pointer;padding:1.35rem 3rem 1.35rem 0;color:var(--tsl-ink);font-weight:800;list-style:none}.tsl-faq summary::-webkit-details-marker{display:none}.tsl-faq summary:after{content:"+";position:absolute;right:.25rem;top:1.05rem;color:var(--tsl-blue);font-size:1.5rem}.tsl-faq details[open] summary:after{content:"−"}.tsl-faq details p{max-width:70ch;margin:0;padding:0 2rem 1.5rem 0;line-height:1.75}.tsl-final{padding-block:clamp(4rem,8vw,7rem);background:var(--tsl-blue);color:#fff;text-align:center}.tsl-final .tsl-container{max-width:900px}.tsl-final h2{margin-bottom:1rem;color:#fff}.tsl-final p{max-width:690px;margin:0 auto;color:#d9eaf6;line-height:1.75}.tsl-final .tsl-btn{margin-top:1.8rem}.tsl-contact{display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);gap:clamp(3rem,8vw,8rem);align-items:start}.tsl-contact__form{padding:clamp(1.5rem,4vw,3rem);background:var(--tsl-navy);color:#fff}.tsl-contact__form h2,.tsl-contact__form h3{color:#fff}.tsl-contact__form>p{color:#c7dae6}.tsl-contact__form .wpcf7{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.22)}.tsl-contact__form :is(input,textarea,select){width:100%;max-width:100%;border:1px solid #6c8291;border-radius:0;background:#fff;color:#182d3c}.tsl-contact__form input{min-height:48px}.tsl-contact__form textarea{min-height:140px}.tsl-contact__form input[type=submit]{border-color:var(--tsl-blue);background:var(--tsl-blue);color:#fff;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tsl-contact__note{margin-top:1.5rem;padding:1.2rem;border:1px solid var(--tsl-line)}.tsl-contact__email{font-weight:800}.tsl-contact__email a{color:var(--tsl-blue)}.tsl-meta-strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--tsl-line);border-bottom:0}.tsl-meta-strip>div{padding:1.2rem;border-right:1px solid var(--tsl-line)}.tsl-meta-strip>div:last-child{border-right:0}.tsl-meta-strip b{display:block;margin-bottom:.35rem;color:var(--tsl-blue);font:700 .64rem/1.2 var(--font-mono,"Space Mono",monospace);letter-spacing:.08em;text-transform:uppercase}.tsl-reveal{transform:translateY(18px);transition:transform .7s cubic-bezier(.16,1,.3,1)}.tsl-reveal.is-visible{transform:none}@media(max-width:1024px){.tsl-hero__grid,.tsl-heading-grid,.tsl-split,.tsl-contact{grid-template-columns:1fr}.tsl-hero__visual{min-height:360px;border-left:0;border-top:1px solid var(--tsl-line)}.tsl-grid--4{grid-template-columns:repeat(2,1fr)}.tsl-split--reverse>:first-child{order:initial}.tsl-split__sticky,.tsl-faq__intro{position:static}.tsl-faq{grid-template-columns:1fr}.tsl-product-card{min-height:390px}}@media(max-width:768px){.tsl-hero--home{min-height:auto}.tsl-hero__grid{gap:2.5rem}.tsl-hero__visual{min-height:300px}.tsl-tech-wheel{min-width:235px;border-width:20px}.tsl-grid--3,.tsl-grid--4,.tsl-evidence-grid{grid-template-columns:1fr}.tsl-card h3{margin-top:2rem}.tsl-product-card{min-height:auto}.tsl-process li{grid-template-columns:54px 1fr}.tsl-contact{grid-template-columns:1fr}.tsl-meta-strip{grid-template-columns:1fr}.tsl-meta-strip>div{border-right:0;border-bottom:1px solid var(--tsl-line)}.tsl-meta-strip>div:last-child{border-bottom:0}.tsl-tech-note--a{left:-2%}.tsl-tech-note--b{right:-2%}}@media(max-width:480px){.tsl-actions{display:grid}.tsl-btn{width:100%}.tsl-hero__proof{display:grid}.tsl-tech-note{max-width:150px;font-size:.55rem}.tsl-table{min-width:640px}.tsl-contact__form{padding:1.3rem}}@media(prefers-reduced-motion:reduce){.tsl-reveal,.tsl-btn{transition:none}.tsl-reveal{transform:none}}
