/* Keep quality card content above the decorative corner circles. */
.tt-surgical-care-section .tt-sc-card > * {
  position: relative;
  z-index: 2;
}

/* English storefront: keep hero motion; finish other entrance effects immediately. */
html { scroll-behavior: auto !important; }
/* Only the cards' top accent lines ease in and out. */
:is(#tt-static-motion, body) :is(.tt-process-card, .tt-why-card, .tt-sc-card)::before {
  transform-origin: left;
  transition: transform 550ms ease-in-out !important;
}
/* Process and Why Choose Us cards: only the top bar changes on hover. */
:is(#tt-static-motion, body) :is(.tt-process-card, .tt-why-card),
:is(#tt-static-motion, body) :is(.tt-process-card, .tt-why-card):hover {
  background: #ffffff !important;
  border: 1px solid rgba(19, 98, 107, 0.3) !important;
  box-shadow: 0 16px 38px rgba(7, 24, 39, 0.08) !important;
  transform: none !important;
}
:is(#tt-static-motion, body) :is(.tt-process-card, .tt-why-card) :is(.tt-process-icon, .tt-why-icon),
:is(#tt-static-motion, body) :is(.tt-process-card, .tt-why-card):hover :is(.tt-process-icon, .tt-why-icon) {
  background: #e7f1f2 !important;
  color: #12646C !important;
  transform: none !important;
}
:is(#tt-static-motion, body) :is(.tt-process-card, .tt-why-card)::after,
:is(#tt-static-motion, body) :is(.tt-process-card, .tt-why-card):hover::after {
  background: #AEC9CC !important;
  transform: scale(0.72) !important;
}
/* Keep breadcrumb text consistent with the English brand teal. */
body :is(.tt-info-breadcrumb, .tt-contact-breadcrumb, .tt-cat-breadcrumb, .tt-product-breadcrumb, .breadcrumb),
body :is(.tt-info-breadcrumb, .tt-contact-breadcrumb, .tt-cat-breadcrumb, .tt-product-breadcrumb, .breadcrumb) :is(a, span, li) {
  color: #12646C !important;
  -webkit-text-fill-color: #12646C !important;
}
body .tt-legal-page-3 .tt-legal-document :is(p, li, ul, ol),
body .tt-legal-page-3 .tt-legal-document :is(p, li) * {
  font-size: 14px !important;
  line-height: 1.65 !important;
}
:is(.tt-legal-page-3, .tt-legal-page-5) .tt-legal-band { overflow: hidden; }
:is(#tt-static-motion, body) :is(.tt-legal-page-3, .tt-legal-page-5) .tt-legal-band-track {
  width: max-content;
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  animation: tt-privacy-marquee 28s linear infinite !important;
}
.tt-privacy-marquee-group {
  display: flex;
  flex: 0 0 auto;
  gap: 12px;
  padding-right: 12px;
}
.tt-privacy-marquee-group a { white-space: nowrap; }
:is(#tt-static-motion, body) :is(.tt-legal-page-3, .tt-legal-page-5) .tt-legal-band:hover .tt-legal-band-track,
:is(#tt-static-motion, body) :is(.tt-legal-page-3, .tt-legal-page-5) .tt-legal-band:focus-within .tt-legal-band-track {
  animation-play-state: paused !important;
}
@keyframes tt-privacy-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  :is(#tt-static-motion, body) :is(.tt-legal-page-3, .tt-legal-page-5) .tt-legal-band-track {
    animation: none !important;
    width: 100%;
    flex-wrap: wrap;
  }
  .tt-privacy-marquee-group { flex-wrap: wrap; }
  .tt-privacy-marquee-group[aria-hidden="true"] { display: none; }
}
/* FAQ opening is an intentional interaction, exempt from static section rules. */
:is(#tt-static-motion, body) .tt-faq-page .tt-faq-item .tt-faq-body {
  transition: height 560ms cubic-bezier(0.33, 1, 0.68, 1) !important;
}
:is(#tt-static-motion, body) .tt-faq-page .tt-faq-item .tt-faq-body-inner p {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
  :is(#tt-static-motion, body) .tt-faq-page .tt-faq-item .tt-faq-body {
    transition: none !important;
  }
}
/* Center the shared sales/contact callouts on every English information page. */
body :is(.tt-cta-box, .tt-legal-cta, .tt-about-cta, .tt-blog-cta) {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}
body :is(.tt-cta-box, .tt-legal-cta, .tt-about-cta, .tt-blog-cta) > div:not([aria-hidden="true"]) {
  width: 100% !important;
  min-width: 0;
  text-align: center !important;
}
body :is(.tt-cta-box, .tt-legal-cta, .tt-about-cta, .tt-blog-cta) :is(h2, p, .tt-info-btn) {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
/* Product description labels, including Material, use the brand teal. */
.tt-product-detail-page #tab-description :is(h1, h2, h3, h4, h5, h6, strong, b, th),
.tt-product-detail-page #tab-description :is(h1, h2, h3, h4, h5, h6, strong, b, th) * {
  color: #12646C !important;
}
/* Override the landing page's more specific animation and hover rules. */
:is(#tt-static-motion, body) :is(.tt-new-cat-card, .tt-process-card, .tt-why-card, .tt-sc-card, .tt-strategy-card, .tt-home-anim-target):not(.tt-hero-slider *) {
  animation: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
:is(#tt-static-motion, body) :is([class*="card"], [class*="card"] *, .arrow-icon, .tt-process-step):not(.tt-hero-slider *):hover,
:is(#tt-static-motion, body) [class*="card"]:hover :is(img, i, svg, [class*="icon"], [class*="step"]) {
  transform: none !important;
  translate: none !important;
  rotate: none !important;
  scale: none !important;
}
:is(#tt-static-motion, body) *:not(:where(.tt-hero-slider, .tt-hero-slider *, .tt-info-hero, .tt-info-hero *, .tt-contact-hero, .tt-contact-hero *, .tt-info-strip-track, .tt-contact-marquee-track, .tt-legal-band-track)),
:is(#tt-static-motion, body) *:not(:where(.tt-hero-slider, .tt-hero-slider *, .tt-info-hero, .tt-info-hero *, .tt-contact-hero, .tt-contact-hero *, .tt-info-strip-track, .tt-contact-marquee-track, .tt-legal-band-track))::before,
:is(#tt-static-motion, body) *:not(:where(.tt-hero-slider, .tt-hero-slider *, .tt-info-hero, .tt-info-hero *, .tt-contact-hero, .tt-contact-hero *, .tt-info-strip-track, .tt-contact-marquee-track, .tt-legal-band-track))::after {
  animation-duration: 0.001ms !important;
  animation-delay: 0s !important;
  animation-iteration-count: 1 !important;
  transition: none !important;
}
*:not(:where(.tt-hero-slider, .tt-hero-slider *, .tt-info-hero, .tt-info-hero *, .tt-contact-hero, .tt-contact-hero *, .tt-info-strip-track, .tt-contact-marquee-track, .tt-legal-band-track)), *:not(:where(.tt-hero-slider, .tt-hero-slider *, .tt-info-hero, .tt-info-hero *, .tt-contact-hero, .tt-contact-hero *, .tt-info-strip-track, .tt-contact-marquee-track, .tt-legal-band-track))::before, *:not(:where(.tt-hero-slider, .tt-hero-slider *, .tt-info-hero, .tt-info-hero *, .tt-contact-hero, .tt-contact-hero *, .tt-info-strip-track, .tt-contact-marquee-track, .tt-legal-band-track))::after {
  animation-duration: 0.001ms !important;
  animation-delay: 0s !important;
  animation-iteration-count: 1 !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
[class*="reveal"]:not(:where(.tt-hero-slider, .tt-hero-slider *, .tt-info-hero, .tt-info-hero *, .tt-contact-hero, .tt-contact-hero *)), [data-aos]:not(:where(.tt-hero-slider, .tt-hero-slider *, .tt-info-hero, .tt-info-hero *, .tt-contact-hero, .tt-contact-hero *)), .wow:not(:where(.tt-hero-slider, .tt-hero-slider *, .tt-info-hero, .tt-info-hero *, .tt-contact-hero, .tt-contact-hero *)) {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
[class*="card"]:hover, [class*="card"]:hover img,
.tt-manufacturing-page .tt-mfg-flip-inner,
.tt-manufacturing-page .tt-mfg-flip-card:hover .tt-mfg-flip-inner {
  transform: none !important;
}
/* Give the two end tabs the same inset on both sides. */
.tt-process-icon, .tt-process-icon i,
.tt-why-icon, .tt-why-icon i,
.tt-sc-icon, .tt-card-icon,
.tt-contact-method-icon, .tt-proof-svg, .tt-capability-svg {
  color: #12646C !important;
}
.tt-process-icon, .tt-why-icon, .tt-card-icon, .tt-contact-method-icon {
  background: #e7f1f2 !important;
  border-color: #b8d1d4 !important;
}
.tt-sc-icon svg, .tt-card-icon svg, .tt-contact-method-icon svg,
.tt-proof-svg svg, .tt-capability-svg svg {
  stroke: #12646C !important;
}
#tt-nav-cats > li:first-child > a,
#tt-nav-cats > li:last-child > a {
  padding-left: clamp(2px, 0.3vw, 5px) !important;
  padding-right: clamp(2px, 0.3vw, 5px) !important;
}
/* Equal, taller Manufacturing feature cards with no empty white strip. */
body .tt-manufacturing-page .tt-feature-grid { align-items: stretch; }
body .tt-manufacturing-page .tt-feature-grid > .tt-feature-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 440px !important;
  height: 100%;
  box-sizing: border-box;
  background: #071827 !important;
}
body .tt-manufacturing-page .tt-feature-grid > .tt-feature-card > img {
  flex: 0 0 auto;
  width: 100%;
  object-fit: cover;
}
body .tt-manufacturing-page .tt-feature-grid > .tt-feature-card > div:not([aria-hidden="true"]) {
  flex: 1 0 auto !important;
  min-height: 230px;
  box-sizing: border-box;
  background: #071827 !important;
}

/* Product cards contain their content; translated action labels can wrap. */
@layer tt-card-layout {
  html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  body :is(.pbox, .tt-prod-card, .tt-product-card, .tt-search-product-card, .tt-related-card, [class$="-card"], [class*="-card "]) {
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    overflow-wrap: anywhere;
  }
  body :is(.p-actions, .tt-product-actions, .tt-search-product-actions) {
    display: flex !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: transparent !important;
  }
  body :is(.p-actions, .tt-product-actions, .tt-search-product-actions) > :is(a, button) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 120px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 44px !important;
    padding: 10px 8px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.4 !important;
    text-align: center !important;
    overflow: hidden !important;
  }
  body :is(.p-actions, .tt-product-actions, .tt-search-product-actions) > :is(a, button) :is(span, strong, b) {
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}

@layer tt-card-layout {
/* Shared vertical spacing for storefront content sections. */
.tt-filter-controls select,
.results,
form select,
form input,
form textarea {
  margin-top: 10px !important;
}
:root { --tt-section-spacing: 50px; }
@media (max-width: 1024px) {
  :root { --tt-section-spacing: 35px; }
}
@media (max-width: 767px) {
  :root { --tt-section-spacing: 30px; }
}
:is(#tt-static-motion, body) :is(
  .tt-collections-section, .tt-surgical-care-section, .tt-strategies-section,
  .tt-process-section, #tt-showcase-full, .tt-assurance-section,
  .tt-why-choose-section, .tt-home-contact-section,
  .tt-proof-strip, .tt-capability-strip, .tt-social-feed-wrap,
  .tt-section, .tt-info-hero, .tt-contact-hero, .tt-cat-hero,
  .tt-contact-methods, .tt-contact-workspace,
  .tt-cat-access-band, .tt-cat-list-section,
  .tt-blog-single-hero, .tt-blog-media-section, .tt-blog-reading-section,
  .tt-category-hero, .tt-subcategory-section, .tt-product-listing-section,
  .tt-empty-category, .tt-product-main, .tt-product-panels, .tt-related-section, .tt-search-section, .tt-search-hero
) {
  padding-top: var(--tt-section-spacing) !important;
  padding-bottom: var(--tt-section-spacing) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Keep headings close to their section content. */
:is(#tt-static-motion, body) #tt-footer-2026.tt-footer-pro {
  margin-top: var(--tt-section-spacing) !important;
}
:is(#tt-static-motion, body) #content.tt-info-page > .tt-info-hero {
  padding-bottom: 40px !important;
}
/* Give full-width callouts and the final content section bottom breathing room. */
:is(#tt-static-motion, body) :is(.tt-assurance-section, #tt-home-contact) {
  padding-bottom: var(--tt-section-spacing) !important;
}
:is(#tt-static-motion, body) #content > section:last-of-type:not(.tt-contact-marquee):not(.tt-info-strip):not(.tt-marquee-theme):not(.tt-legal-band):not(.tt-product-hero-band):not(.tt-blog-single-hero) {
  padding-bottom: var(--tt-section-spacing) !important;
}
:is(#tt-static-motion, body) :is(.tt-section-head, .tt-sc-header, .tt-process-header) {
  margin-bottom: var(--tt-section-spacing) !important;
}

:is(#tt-static-motion, body) #content > section:not(.tt-info-hero):not(.tt-contact-marquee):not(.tt-info-strip):not(.tt-marquee-theme):not(.tt-legal-band):not(.tt-product-hero-band):not(.tt-blog-single-hero) {
  padding-top: var(--tt-section-spacing) !important;
  padding-bottom: var(--tt-section-spacing) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
}

@layer tt-card-layout {
  :is(#tt-static-motion, body) #content > :is(.tt-info-hero, .tt-contact-hero, .tt-cat-hero, .tt-category-hero, .tt-search-hero, .tt-blog-single-hero):not(#tt-no-banner-gap):has(~ :is(.tt-info-strip, .tt-contact-marquee, .tt-marquee-theme, .tt-legal-band)) {
    height: auto !important;
    padding-bottom: 40px !important;
  }
}

/* FAQ sidebar sticks to the document viewport while the accordion scrolls. */
@layer tt-card-layout {
  html:has(#content.tt-faq-page),
  html body:has(#content.tt-faq-page) {
    overflow-x: clip !important;
    overflow-y: visible !important;
  }
  html body .wrapper:has(#content.tt-faq-page),
  html body #midsection:has(#content.tt-faq-page),
  html body #midsection .row:has(#content.tt-faq-page),
  html body #midsection .row-fluid:has(#content.tt-faq-page),
  html body #content.tt-faq-page,
  html body #content.tt-faq-page > section:has(.tt-faq-layout),
  html body #content.tt-faq-page .tt-faq-layout {
    overflow: visible !important;
  }
  html body #content.tt-faq-page .tt-faq-layout {
    align-items: start !important;
  }
  html body #content.tt-faq-page .tt-faq-nav {
    position: sticky !important;
    top: var(--tt-faq-nav-top, 156px) !important;
    align-self: start !important;
    height: fit-content !important;
    max-height: calc(100dvh - var(--tt-faq-nav-top, 156px) - 16px);
    overflow-y: auto;
    transform: none !important;
    z-index: 10;
  }
  html body #content.tt-faq-page .tt-faq-nav a:is(.is-active, [aria-current="true"]) {
    background: #12646c !important;
    border-color: #12646c !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
  html body #content.tt-faq-page .tt-faq-group {
    scroll-margin-top: var(--tt-faq-nav-top, 156px);
  }
}
/* Match legal sidebars on phones: keep FAQ navigation in normal document flow. */
@layer tt-card-layout {
  @media (max-width: 1024px) {
    html body #content.tt-faq-page .tt-faq-nav {
      position: static !important;
      max-height: none;
      overflow: visible;
    }
  }
}
