/* Responsive fixes layered on top of the Nicepage export (loaded last on every page) */

img { max-width: 100%; }
body { overflow-x: clip; }

/* Header: compact logo with the site name beside it on small screens */
@media (max-width: 767px) {
  .u-header .u-sheet-1 { min-height: 90px; }
  .u-header .u-image-1 { width: 100px; height: 66px; margin: 12px auto 0 0; }
  .u-header .u-text-1 {
    font-size: 1.25rem;
    margin: -46px 56px 0 112px;
    line-height: 1.3;
  }
  .u-header .u-menu-1 { margin: -34px 0 16px auto; }
}

/* Home page hero: the inline font sizes in the heading are desktop sizes */
@media (max-width: 767px) {
  #carousel_2f34 { min-height: 0; padding-bottom: 30px; }
  #carousel_2f34 .u-image-1 { height: 300px; object-fit: cover; }
  #carousel_2f34 .u-shape-1 { display: none; }
  #carousel_2f34 .u-group-1 {
    width: calc(100% - 32px);
    min-height: 0;
    margin: -60px auto 0;
  }
  #carousel_2f34 .u-text-1 { font-size: 2rem; }
  #carousel_2f34 .u-text-1 span { font-size: 1em !important; }
  #carousel_2f34 .u-text-1 span + span {
    display: block;
    font-size: clamp(1.1rem, 6.4vw, 1.75rem) !important;
    overflow-wrap: anywhere;
  }
}

/* Services heading and two-column story block */
@media (max-width: 991px) {
  #sec-8ae6 .u-text-2 { width: auto; max-width: 100%; }
}
@media (max-width: 767px) {
  #sec-8ae6 .u-text-2 { font-size: 2rem; }
  #sec-a27e .u-image-1 { width: 100%; max-width: 450px; height: auto; aspect-ratio: 5 / 6; object-fit: cover; margin: 0 auto !important; }
  #sec-5506 .u-image-1 { width: 100%; height: auto; }
}

/* Contact block: domain name heading and phone number */
@media (max-width: 767px) {
  #carousel_3ba9 .u-text-2 span { font-size: 1em !important; }
  #carousel_3ba9 .u-text-2 { font-size: clamp(1.4rem, 7vw, 2.25rem); overflow-wrap: anywhere; margin-left: 0; margin-right: 0; }
  #carousel_3ba9 .u-layout-wrap-1 { width: 100%; margin-right: auto; }
  #carousel_3ba9 .u-text-3 { font-size: 1.5rem; margin: 20px auto 0 84px; }
  #carousel_3ba9 .u-icon-2 { margin-top: -44px; }
}

/* Contact form (index3) */
@media (max-width: 767px) {
  .u-form, .u-form .u-inner-form { max-width: 100%; }
  .u-group-1.u-radius-20 { width: calc(100% - 32px) !important; }
}
