/* Manufacturing page only — classes in manufacturing.tpl */
.tt-manufacturing-page .tt-mfg-section:not(.tt-mfg-align-left) .tt-section-head,
.tt-manufacturing-page .tt-mfg-section:not(.tt-mfg-align-left) .tt-copy {
  margin-left: auto;
  margin-right: auto;
  text-align: center !important;
}
.tt-manufacturing-page .tt-mfg-section:not(.tt-mfg-align-left) .tt-section-head h2,
.tt-manufacturing-page .tt-mfg-section:not(.tt-mfg-align-left) .tt-section-head p,
.tt-manufacturing-page .tt-mfg-section:not(.tt-mfg-align-left) .tt-copy h2,
.tt-manufacturing-page .tt-mfg-section:not(.tt-mfg-align-left) .tt-copy p {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.tt-manufacturing-page .tt-mfg-section .tt-step {
  text-align: center;
}

.tt-manufacturing-page .tt-mfg-section .tt-card-icon {
  margin-left: auto;
  margin-right: auto;
}

.tt-manufacturing-page .tt-info-eyebrow {
  background: #12646C !important;
  border-color: #12646C;
  color: white !important;
  border-radius: 5px;
  font-family: "Gelasio", serif !important;
}
.tt-manufacturing-page .tt-info-breadcrumb {
  display: none;
}
.tt-manufacturing-page .tt-info-hero-copy p {
  color: white !important;
}
.tt-manufacturing-page .tt-info-hero-copy h1 {
  font-family: "Gelasio", serif !important;
}
.tt-manufacturing-page .tt-info-hero-bg::after {
  display: none !important;
}
.tt-manufacturing-page .tt-info-hero::after {
  background: rgba(7, 24, 39, 0.2);
}
.tt-manufacturing-page h2 {
  font-size: 42px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  -webkit-text-fill-color: #12646C !important;
}
.tt-manufacturing-page .tt-info-actions .tt-info-btn {
  border-radius: 5px;
  background-color: white;
  border-color: white !important;
  color: #166068 !important;
  transition: 0.3s all;
  line-height: 1;
  font-family: "Inter", sans-serif;
}
.tt-manufacturing-page .tt-info-actions a.tt-info-btn.tt-info-btn-primary {
  background: #166068 !important;
  border-color: #166068 !important;
  color: white !important;
}
.tt-manufacturing-page .tt-info-actions a.tt-info-btn.tt-info-btn-primary:hover {
  color: #166068 !important;
  background-color: white !important;
}
.tt-info-container.tt-split {
  padding: 16px;
  background: #F1F9FC !important;
  border: 1px solid rgba(113, 145, 168, 0.18);
  border-left: 6px solid #12646C;
  border-radius: 20px;
  display: flex !important;
  flex-direction: row-reverse !important;
}
.tt-info-container.tt-split figure,
.tt-info-container.tt-split .tt-copy {
  flex: 1;
}
.tt-mfg-cta-glow {
  display: none;
}
.tt-manufacturing-page .tt-cta-box {
  background: #071827 !important;
  display: flex !important;
  flex-direction: column !important;
  text-align: center !important;
}
.tt-manufacturing-page .tt-cta-box :is(h2, p) {
  color: white !important;
  -webkit-text-fill-color: white !important;
}
.tt-manufacturing-page .tt-cta-box .tt-info-btn {
  border-radius: 5px;
  background-color: #FBAA06 !important;
  border: 2px solid #FBAA06 !important;
  color: #071827 !important;
}
.tt-align-right {
  background: #F1F9FC !important;
}
.tt-align-right .tt-info-container {
  padding: 16px;
  background: white !important;
  border: 1px solid rgba(113, 145, 168, 0.18);
  border-right: 6px solid #12646C;
  border-radius: 20px;
  display: flex;
  flex-direction: row-reverse;
  gap: 44px !important;
}
.tt-align-right .tt-info-container .tt-section-head,
.tt-align-right .tt-card-grid {
  flex: 1;
  text-align: left !important;
}
.tt-align-right .tt-card-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.tt-align-right .tt-card-grid article {
  width: calc(50% - 5px);
  background: #F1F9FC;
}
.tt-align-right .tt-card-grid article svg {
  stroke: #12646C;
}
.tt-align-right .tt-card-grid article .tt-card-icon {
  background: transparent !important;
}
.tt-align-right .tt-card-grid article b {
  color: #12646C;
}

@media (max-width: 1100px) {
  .tt-info-container.tt-split,
  .tt-align-right .tt-info-container {
    flex-direction: column !important;
  }
}
@media (max-width: 640px) {
  .tt-manufacturing-page h2 {
    font-size: 28px !important;
  }
}

/* Paired hero CTAs: outline button matches primary height/width */
.tt-info-hero .tt-info-actions {
  display: grid !important;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  width: fit-content;
  max-width: 100%;
  align-items: stretch;
}
.tt-info-hero .tt-info-actions > a {
  box-sizing: border-box !important;
  width: 100%;
  min-height: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 0 22px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.8px !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  white-space: nowrap;
  border-radius: 5px !important;
}
.tt-info-hero .tt-info-actions .arrow-icon {
  width: 14px !important;
  height: 14px !important;
}

/* The introduction copy sits to the left of its image. */
.tt-manufacturing-page .tt-mfg-section.tt-mfg-align-left .tt-copy,
.tt-manufacturing-page .tt-mfg-section.tt-mfg-align-left .tt-copy :is(h2, p) {
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}
/* Manufacturing card interactions override the shared static motion rules. */
@layer tt-card-layout {
  html body #content.tt-manufacturing-page :is(.tt-card, .tt-step, .tt-feature-card, .tt-mini-grid > div) {
    transform: none !important;
    translate: 0 0 !important;
    transition: translate 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
  }
  html body #content.tt-manufacturing-page :is(.tt-card, .tt-step, .tt-feature-card) > img {
    transition: transform 0.45s ease !important;
  }
  @media (hover: hover) and (pointer: fine) {
    html body #content.tt-manufacturing-page :is(.tt-card, .tt-step, .tt-feature-card, .tt-mini-grid > div):hover {
      translate: 0 -5px !important;
      border-color: #aec9cc !important;
      box-shadow: 0 24px 48px rgba(7, 24, 39, 0.14) !important;
    }
    html body #content.tt-manufacturing-page :is(.tt-step, .tt-feature-card):hover > img {
      transform: scale(1.03) !important;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    html body #content.tt-manufacturing-page :is(.tt-card, .tt-step, .tt-feature-card, .tt-mini-grid > div),
    html body #content.tt-manufacturing-page :is(.tt-card, .tt-step, .tt-feature-card, .tt-mini-grid > div):hover {
      translate: none !important;
      transition: none !important;
    }
    html body #content.tt-manufacturing-page :is(.tt-card, .tt-step, .tt-feature-card) > img,
    html body #content.tt-manufacturing-page :is(.tt-step, .tt-feature-card):hover > img {
      transform: none !important;
      transition: none !important;
    }
  }
}
/* Center the standalone quality intro without changing the split introduction. */
.tt-manufacturing-page .tt-mfg-section.tt-mfg-align-left > .tt-info-container:not(.tt-split) > .tt-section-head,
.tt-manufacturing-page .tt-mfg-section.tt-mfg-align-left > .tt-info-container:not(.tt-split) > .tt-section-head :is(h2, p) {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@layer tt-card-layout {
  .tt-step.tt-mfg-reveal,
  .tt-step.tt-mfg-reveal > .tt-mfg-flip-inner {
    padding: 0 !important;
  }
  .tt-step.tt-mfg-reveal .tt-mfg-flip-inner .tt-mfg-flip-face {
    padding: 15px !important;
  }
  html body #content.tt-manufacturing-page #tt-process-flow .tt-step :is(h3, p) {
    text-align: left !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
  }
  html body #content.tt-manufacturing-page #tt-process-flow .tt-step-number {
    top: 15px !important;
    left: 15px !important;
  }
  html body #content.tt-manufacturing-page .tt-mfg-align-left > .tt-info-container.tt-split {
    align-items: stretch !important;
  }
  html body #content.tt-manufacturing-page .tt-mfg-align-left > .tt-split > .tt-image-card {
    position: relative;
    align-self: stretch;
    overflow: hidden;
    min-width: 0;
  }
  html body #content.tt-manufacturing-page .tt-mfg-align-left > .tt-split > .tt-image-card > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover;
  }
  @media (max-width: 1100px) {
    html body #content.tt-manufacturing-page .tt-mfg-align-left > .tt-split > .tt-image-card {
      flex: none;
      min-height: clamp(240px, 65vw, 420px);
    }
  }
}
/* Quality-control cards use a single left edge for icons, titles and copy. */
@layer tt-card-layout {
  html body #content.tt-manufacturing-page .tt-quality-card-grid > .tt-card,
  html body #content.tt-manufacturing-page .tt-quality-card-grid > .tt-card :is(h3, p) {
    text-align: left !important;
  }
  html body #content.tt-manufacturing-page .tt-quality-card-grid .tt-card-icon {
    display: flex !important;
    box-sizing: border-box;
    width: 52px !important;
    height: 52px !important;
    padding: 12px !important;
    margin: 0 0 18px !important;
    align-items: center;
    justify-content: center;
    border: 1px solid #b8d1d4 !important;
    border-radius: 12px !important;
    background: linear-gradient(145deg, #f5fbfb, #dceced) !important;
    box-shadow: 0 4px 12px rgba(18, 100, 108, 0.08);
    color: #12646c !important;
  }
  html body #content.tt-manufacturing-page .tt-quality-card-grid .tt-card-icon svg {
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px;
    stroke: #12646c !important;
    stroke-width: 1.8 !important;
    fill: none;
  }
}
/* Manufacturing image-card copy and card titles follow the same readable layout. */
@layer tt-card-layout {
  html body #content.tt-manufacturing-page .tt-feature-grid > .tt-feature-card,
  html body #content.tt-manufacturing-page .tt-feature-grid > .tt-feature-card :is(h3, p) {
    text-align: left !important;
  }
  html body #content.tt-manufacturing-page :is(.tt-feature-grid, .tt-quality-card-grid) h3 {
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
  }
}
/* Let process cards fit the image and title instead of reserving 300px. */
@layer tt-card-layout {
  html body #content.tt-manufacturing-page #tt-process-flow .tt-step {
    display: flex !important;
    flex-direction: column;
    min-height: 0 !important;
  }
  html body #content.tt-manufacturing-page #tt-process-flow .tt-step > .tt-mfg-flip-inner {
    display: flex;
    flex-direction: column;
    flex: 1;
    height: auto !important;
    min-height: 0 !important;
  }
  html body #content.tt-manufacturing-page #tt-process-flow .tt-step .tt-mfg-flip-front {
    flex: 1;
    height: auto !important;
    min-height: 0;
  }
  html body #content.tt-manufacturing-page #tt-process-flow .tt-step .tt-mfg-flip-front h3 {
    margin-bottom: 0 !important;
  }
}