/* Scoped content refinements; retain the theme's colors, fonts and page layout. */
.site-branding img { width: 180px; max-height: 52px; }
.footer-logo img { width: 190px; height: auto; }
.site-footer .social-links { align-items: center; gap: 14px; }
.site-footer .social-links a { width: 40px; height: 40px; flex: 0 0 40px; padding: 8px; }
.site-footer .social-links svg { display: block; width: 24px; height: 24px; fill: currentColor; }
@media (min-width: 1200px) {
  .site-header__inner {
    grid-template-columns: 180px minmax(0, 1fr) auto;
    width: min(calc(100% - (2 * var(--tz-gutter))), var(--tz-container));
    margin-inline: auto;
    padding-inline: 0;
  }
  .primary-navigation { margin-left: 12px; }
}
@media (min-width: 1501px) {
  .site-header__inner { width: min(calc(100% - 60px), 1410px); }
}
@media (max-width: 767px) { .site-branding img { width: 166px; } }
.tz-company-profile { padding-block: 25px 90px; }
.tz-company-profile__copy { max-width: 1080px; margin-top: 35px; }
.tz-company-profile__copy p { margin: 0 0 24px; line-height: 1.7; }
.product-detail__description, .product-detail__description > div { min-width: 0; max-width: 100%; }
.tz-specification { min-width: 0; max-width: 100%; margin-block: 20px 32px; }
.tz-specification__scroll { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: auto; }
.tz-specification__scroll:focus-visible { outline: 2px solid #ffbe2e; outline-offset: 3px; }
.tz-specification__scroll table { min-width: 100%; margin: 0; }
.tz-specification__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.tz-specification__toolbar[hidden] { display: none; }
.tz-specification__hint { font-size: 14px; line-height: 1.5; }
.tz-specification__actions { display: flex; flex: none; gap: 8px; }
.tz-specification__actions button { display: grid; place-items: center; width: 40px; height: 40px; padding: 9px; border: 1px solid #ddd; background: #fff; color: #1f1f1f; cursor: pointer; }
.tz-specification__actions button:hover:not(:disabled) { background: #ffbe2e; border-color: #ffbe2e; }
.tz-specification__actions button:disabled { opacity: .35; cursor: default; }
.tz-specification__actions svg { width: 20px; height: 20px; }
@media (max-width: 767px) { .tz-company-profile { padding-bottom: 55px; } }

/* Keep complete equipment photographs inside the existing card dimensions. */
:is(.service-card__image, .product-card__media, .project-card__media, .projects-tile__image, .product-related__image, .post-card__image, .news-card__image) img {
  object-fit: contain;
  object-position: center;
  background-color: var(--tz-image-fill, #eef0ef);
  transform: none !important;
}
.primary-navigation .sub-menu { width: max-content; min-width: 280px; }
.primary-navigation .sub-menu .menu-item > a { white-space: nowrap; }
.mobile-menu .sub-menu a { white-space: nowrap; }
.mobile-menu .sub-menu { overflow-x: auto; }
.products-catalog--category { padding-top: 80px; }
@media (max-width: 767px) { .products-catalog--category { padding-top: 45px; } }
/* A long caption must not stretch the photo beyond the clipped stack card. */
.service-card { grid-template-rows: minmax(0, 1fr); }
.service-card__image { min-width: 0; min-height: 0; }
@media (max-width: 767px) {
  .services-intro { height: auto; margin-bottom: 30px; }
  .service-card, .service-card:first-child { height: auto; }
  .service-card__image { flex: 0 0 auto; height: auto; aspect-ratio: 1.12; }
  .service-card__content, .service-card:first-child .service-card__content { flex: 0 0 auto; }
}
/* What we do: retain CMS content inside the reference's portrait/mosaic layout.
   The source photo is 540 x 597; keep that frame even for square uploads. */
.about-visual__image { aspect-ratio: 540 / 597; object-fit: cover; object-position: center; }
.about-stat span { letter-spacing: -.18px; }
.about-visual [data-reveal="right"].reveal-entered { animation-name: about-move-right; }
.about-visual [data-reveal="zoom"].reveal-entered { animation-name: about-stat-zoom; }
@keyframes about-move-right {
  from { opacity: 0; transform: translateX(-100px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes about-stat-zoom {
  from { opacity: 0; transform: scale3d(.3, .3, .3); }
  50% { opacity: 1; }
  to { opacity: 1; transform: scale3d(1, 1, 1); }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .about-visual { margin-top: 0; }
  .about-visual__vector--top { width: 117px; height: 97.5px; }
  .about-visual__vector--bottom { width: 14.2857%; height: auto; }
  .about-stat { width: 71.4286%; height: 207px; right: -15px; }
  .about-stat strong { font-size: 70px; line-height: 70px; letter-spacing: -.7px; }
  .about-stat::after { width: 45px; height: 45px; }
  .about-stat i { right: 45px; bottom: 45px; width: 25px; height: 25px; }
}
.tax-product_category .page-hero__title {
  max-width: 1100px;
  margin-inline: auto;
  font-size: clamp(26px, 3.4vw, 56px);
  line-height: 1.18;
  letter-spacing: -.02em;
}
@media (max-width: 767px) {
  .home-main .about-section { height: auto; }
  .home-main .about-section__inner { height: auto; }
}
