/* Sticky site header — keeps navigation visible while scrolling */
header.u-header#sec-8229 {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 10050;
  background-color: #ffffff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}

body.u-body {
  padding-top: 120px;
}

html {
  scroll-padding-top: 100px;
}

@media (max-width: 767px) {
  body.u-body {
    padding-top: 70px;
  }

  html {
    scroll-padding-top: 72px;
  }
}

@media (max-width: 575px) {
  body.u-body {
    padding-top: 70px;
  }

  html {
    scroll-padding-top: 52px;
  }
}

header.u-header#sec-8229 .u-nav-container-collapse {
  z-index: 10051;
}

/* Header logo — size the <img> directly (avoids Nicepage 114×114 + 100% stretch blur) */
.u-header .u-sheet-1 {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 52px;
  min-height: 120px !important;
}

.u-header a.u-image.u-logo.u-image-1 {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  line-height: 0;
  background: transparent !important;
  overflow: visible !important;
}

.u-header img.u-logo-image-1 {
  display: block !important;
  width: auto !important;
  height: 80px !important;
  max-width: min(336px, 70vw) !important;
  max-height: 80px !important;
  object-fit: contain !important;
  object-position: left center;
}

@media (max-width: 767px) {
  .u-header img.u-logo-image-1 {
    height: 56px !important;
    max-width: min(252px, 75vw) !important;
  }
}

@media (max-width: 575px) {
  .u-header img.u-logo-image-1 {
    height: 40px !important;
    max-width: min(196px, 80vw) !important;
  }
}

.u-header .u-menu-1 {
  margin: 0 !important;
  margin-top: 0 !important;
  align-self: center !important;
}

.u-header .u-btn-1 {
  position: static !important;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  align-self: center !important;
  transform: none !important;
}



/* Ensure anchor targets are not hidden under fixed header */
[id^="block-"],
[id^="sec-"] {
  scroll-margin-top: 100px;
}

@media (max-width: 767px) {
  [id^="block-"],
  [id^="sec-"] {
    scroll-margin-top: 72px;
  }
}

@media (max-width: 575px) {
  [id^="block-"],
  [id^="sec-"] {
    scroll-margin-top: 52px;
  }
}

/* Contact cards — center icons above email / phone / location text */
.u-section-6 .u-container-layout-2,
.u-section-6 .u-container-layout-3,
.u-section-6 .u-container-layout-4 {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.u-section-6 .u-icon-1,
.u-section-6 .u-icon-2,
.u-section-6 .u-icon-3 {
  margin-left: auto !important;
  margin-right: auto !important;
  display: block;
}

/* Unified long-form body text rhythm */
.corgi-longtext {
  font-family: "Montserrat", sans-serif !important;
  font-size: 1.25rem !important;
  line-height: 1.91 !important;
  font-weight: 400 !important;
}

/* Disable all motion effects site-wide */
*,
*::before,
*::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
