html { scroll-behavior: smooth; }
body { margin: 0; }
[id] { scroll-margin-top: 24px; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible,
input:focus-visible { outline: 3px solid #00a3ff !important; outline-offset: 4px; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 100000; background: #fff; color: #111; padding: 12px 20px; }
.skip-link:focus { top: 16px; }
.thrv_toggle_title { cursor: pointer; }
.tcb-responsive-video { object-fit: contain; }
.tve_responsive_video_container .video_overlay { pointer-events: none; }
.tcb-image-gallery .tcb-image-gallery-container {
  display: flex !important; flex-wrap: nowrap !important; gap: 16px; overflow-x: auto !important;
  width: 100% !important; margin: 0 !important;
  scroll-snap-type: x mandatory; scrollbar-width: thin;
  scrollbar-color: #777 #151515; padding-bottom: 10px;
}
.tcb-image-gallery-container > .tve_image_caption {
  flex: 0 0 calc((100% - 32px) / 3) !important;
  width: auto !important; min-width: 0; height: 423px !important;
  margin: 0 !important; scroll-snap-align: start; position: relative;
}
.tcb-image-gallery-container .tve_image_frame { display: block; height: 100%; }
.tcb-image-gallery-container img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.gallery-controls { display: flex; justify-content: center; gap: 12px; padding: 12px 0; }
.gallery-controls button { background: #161616; color: #fff; border: 1px solid #666; border-radius: 20px; padding: 8px 20px; cursor: pointer; font: inherit; font-size: 14px; }
.gallery-controls button:hover { background: #303030; }
#lg-m65k5wv8 button.tcb-button-link { width: 100%; border: 0; cursor: pointer; font: inherit; }
#lg-m65k5wv8 .static-contact-note { font: 14px/1.6 sans-serif; color: #ddd; text-align: center; margin: 18px 0 0; }
#lg-m65k5wv8 .static-contact-note[data-state="error"] { color: #ffb5b5; }
#lg-m65k5wv8 .static-contact-note[data-state="success"] { color: #a4edbb; }
#lg-m65k5wv8 button:disabled { opacity: .65; cursor: wait; }
#lg-m65k5wv8 .contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#lg-m65k5wv8 .contact-turnstile { display: flex; justify-content: center; margin: 18px 0; }
#lg-m65k5wv8 label { display: block; }
#lg-m65k5wv8 .tve_lg_checkbox_wrapper label { display: flex; }
@media (max-width: 1023px) {
  .tcb-image-gallery-container > .tve_image_caption { flex-basis: calc((100% - 16px) / 2) !important; }
  .thrv_widget_menu .tve_w_menu.static-menu-open { display: block !important; visibility: visible !important; height: auto !important; opacity: 1 !important; }
}
@media (max-width: 767px) {
  .tcb-image-gallery-container > .tve_image_caption { flex-basis: 100% !important; height: 421px !important; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
