/* Local three-part logo layout, with original image fragments preserved. */
html body .noviv-logo-image,
html body .noviv-v5.noviv-v10 :is(.v5-site-header,.v5-site-header.v5-header-compact) .v5-logo .v5-header-clean-logo > img.noviv-logo-image,
html body .noviv-v5.noviv-v10 .v5-footer .v5-footer-clean-logo > img.noviv-logo-image {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  aspect-ratio: 1252 / 310 !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  filter: none !important;
  opacity: 1 !important;
  transition: none !important;
  flex: 0 0 auto;
}
html body .noviv-v5.noviv-v10 :is(.v5-site-header,.v5-site-header.v5-header-compact) .v5-header-clean-logo {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}
html body .noviv-v5.noviv-v10 .v5-header-clean-logo > strong,
html body .noviv-v5.noviv-v10 .v5-footer-clean-logo > strong {
  display: none !important;
}
html body .noviv-v5.noviv-v10 .v5-footer .v5-footer-clean-logo {
  position: static !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 260px !important;
  max-width: 100% !important;
  height: auto !important;
  padding: 14px !important;
  margin: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}
.site-header .header-main .brand,
.site-footer .footer-brand .brand {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  width: 240px;
  max-width: 100%;
  height: auto;
  flex-shrink: 0;
}
.site-footer .footer-brand .brand { width: 240px; }
@media (min-width: 1180px) {
  html body .noviv-v5.noviv-v10 .v5-site-header:not(.v5-header-compact) .v5-logo { width: 230px !important; }
  html body .noviv-v5.noviv-v10 .v5-header-nav > .v5-inner { padding-left: 250px !important; }
  html body .noviv-v5.noviv-v10 .v5-site-header.v5-header-compact .v5-logo { width: 200px !important; }
}
@media (min-width: 821px) and (max-width: 1179px) {
  html body .noviv-v5.noviv-v10 .v5-logo { width: 180px !important; }
}
@media (max-width: 820px) {
  html body .noviv-v5.noviv-v10 .v5-phone-menu > summary { gap: 6px !important; }
  html body .noviv-v5.noviv-v10 :is(.v5-site-header,.v5-site-header.v5-header-compact) .v5-logo {
    width: clamp(128px,45vw,180px) !important;
    max-width: 50vw !important;
    height: 52px !important;
  }
}
@media (max-width: 1024px) {
  .site-header .header-main .brand { width: 220px; }
  .site-footer .footer-brand { grid-template-columns: 240px 1fr 1fr; }
}
@media (max-width: 767px) {
  .site-header .header-main {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 6px 16px;
    min-height: 106px;
    padding-block: 12px;
  }
  .site-header .header-main .brand { grid-column: 1; grid-row: 1; width: 210px; }
  .site-header .header-burger { grid-column: 2; grid-row: 1; }
  .site-header .header-contact { grid-column: 1 / -1; grid-row: 2; margin: 0; }
  .site-header .header-contact > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 14px; }
  .site-header .header-contact a { font-size: 16px; }
  .site-header .header-contact div > span { font-size: 11px; }
  .site-footer .footer-brand { grid-template-columns: 1fr 1fr; }
  .site-footer .footer-brand .brand { grid-column: 1 / -1; grid-row: auto; width: 240px; margin-bottom: 8px; }
}
@media (max-width: 370px) {
  html body .noviv-v5.noviv-v10 :is(.v5-site-header,.v5-site-header.v5-header-compact) .v5-logo { width: 132px !important; }
  html body .noviv-v5.noviv-v10 .v5-phone-menu > summary { font-size: 13px !important; gap: 2px !important; }
  .site-header .header-main .brand { width: 190px; }
  .site-header .header-contact a { font-size: 15px; }
  .site-header .header-contact div > span { font-size: 10px; }
}
