.u-section-1 .u-sheet-1 {
  min-height: 1354px;
}

.u-section-1 .u-layout-wrap-1 {
  margin-top: 0;
  margin-bottom: 0;
}

.u-section-1 .u-image-1 {
  min-height: 616px;
  background-image: url("images/Foto1.jpg");
  background-position: 50.48% 50%;
}

.u-section-1 .u-container-layout-1 {
  padding: 30px 60px;
}

.u-section-1 .u-layout-cell-2 {
  min-height: 616px;
}

.u-section-1 .u-container-layout-2 {
  padding: 15px 0;
}

.u-section-1 .u-text-1 {
  margin: 27px auto 0;
}

.u-section-1 .u-text-2 {
  width: 552px;
  margin: 27px auto 0;
}

.u-section-1 .u-text-3 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin: 59px 540px 0 65px;
}

.u-section-1 .u-text-4 {
  margin: -84px 28px 0 470px;
}

.u-section-1 .u-btn-1 {
  background-image: none;
}

.u-section-1 .u-text-5 {
  margin: 66px 55px 0;
}

.u-section-1 .u-text-6 {
  line-height: 1.2;
  margin: 59px 0 0;
}

.u-section-1 .u-text-7 {
  font-size: 2.25rem;
  line-height: 1.4;
  margin: 72px 0 60px;
}

@media (max-width: 1199px) {
  .u-section-1 .u-sheet-1 {
    min-height: 1188px;
  }

  .u-section-1 .u-image-1 {
    min-height: 493px;
  }

  .u-section-1 .u-layout-cell-2 {
    min-height: 493px;
  }

  .u-section-1 .u-text-2 {
    width: 470px;
  }

  .u-section-1 .u-text-3 {
    margin-top: 48px;
    margin-right: 511px;
    margin-left: 4px;
  }

  .u-section-1 .u-text-4 {
    margin-top: 20px;
    margin-right: 4px;
    margin-left: 54px;
  }

  .u-section-1 .u-btn-1 {
    padding: 0;
  }

  .u-section-1 .u-text-5 {
    margin-top: 247px;
    margin-right: 8px;
    margin-left: 40px;
  }
}

@media (max-width: 991px) {
  .u-section-1 .u-sheet-1 {
    min-height: 1452px;
  }

  .u-section-1 .u-image-1 {
    min-height: 677px;
  }

  .u-section-1 .u-container-layout-1 {
    padding-left: 30px;
    padding-right: 30px;
  }

  .u-section-1 .u-layout-cell-2 {
    min-height: 677px;
  }

  .u-section-1 .u-text-2 {
    width: 360px;
  }

  .u-section-1 .u-text-3 {
    width: auto;
    margin-top: 40px;
    margin-right: 262px;
    margin-left: 50px;
  }

  .u-section-1 .u-text-4 {
    width: auto;
    margin-right: -198px;
    margin-left: 252px;
  }

  .u-section-1 .u-text-5 {
    width: auto;
    margin-top: 50px;
    margin-left: 20px;
    margin-right: 20px;
  }
}

@media (max-width: 767px) {
  .u-section-1 .u-sheet-1 {
    min-height: 1683px;
  }

  .u-section-1 .u-image-1 {
    min-height: 1693px;
  }

  .u-section-1 .u-container-layout-1 {
    padding-left: 10px;
    padding-right: 10px;
  }

  .u-section-1 .u-layout-cell-2 {
    min-height: 100px;
  }

  .u-section-1 .u-text-3 {
    margin-top: 15px;
  }

  .u-section-1 .u-text-5 {
    margin-top: 199px;
  }
}

@media (max-width: 575px) {
  .u-section-1 .u-sheet-1 {
    min-height: 2602px;
  }

  .u-section-1 .u-image-1 {
    min-height: 1066px;
  }

  .u-section-1 .u-layout-cell-2 {
    min-height: 574px;
  }

  .u-section-1 .u-text-1 {
    width: auto;
    margin-left: 8px;
    margin-right: 8px;
  }

  .u-section-1 .u-text-2 {
    width: auto;
    margin-left: 0;
    margin-right: 0;
  }

  .u-section-1 .u-text-3 {
    width: 170px;
    margin-top: 41px;
    margin-left: auto;
    margin-right: auto;
  }

  .u-section-1 .u-text-4 {
    width: 190px;
    margin-left: auto;
    margin-right: auto;
  }

  .u-section-1 .u-text-5 {
    margin-top: 27px;
  }

  .u-section-1 .u-text-7 {
    font-size: 1.25rem;
    width: auto;
  }
}

/* Make the background behave like a hero without being huge */
.u-section-1 .u-image-1{
  background-size: cover;        /* fill box nicely */
  background-position: center;   /* center the subject */
  min-height: clamp(220px, 45vh, 616px); /* cap height on small screens */
}

/* If you want the whole photo visible on phones (no crop), use contain on very small screens */
@media (max-width: 575px){
  .u-section-1 .u-image-1{
    background-size: contain;    /* show entire image */
    background-repeat: no-repeat;
    min-height: 220px;           /* smaller box */
  }
}
/* iPhone/small screens: make the hero taller */
@media (max-width: 575px){
  .u-section-1 .u-image-1{
    background-size: cover;          /* fill the box (may crop edges) */
    background-position: 50% 50%;    /* adjust if subject is higher/lower */
    /* Fallback + modern mobile viewport units */
    min-height: clamp(360px, 60vh, 520px);
    min-height: clamp(360px, 60dvh, 520px); /* overrides on mobile Safari/Chrome */
  }
}

/* safety reset */
html, body { margin: 0; padding: 0; }

/* Tighten header + remove top spacing before section on phones */
@media (max-width: 575px){
  /* shrink header box */
  header.u-header .u-sheet-1{
    min-height: 72px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  /* keep logo small and centered */
  header.u-header img.u-image-1{
    display: block !important;
    margin: 0 auto !important;
    width: auto !important;
    height: auto !important;
    max-height: 48px !important;   /* tweak this up/down if needed */
  }

  /* kill top padding/margins of the first section */
  .u-section-1{ margin-top: 0 !important; }
  .u-section-1 .u-sheet-1{ padding-top: 0 !important; }
  .u-section-1 .u-container-layout-1,
  .u-section-1 .u-container-layout-2{ padding-top: 0 !important; }
  .u-section-1 .u-image-1{ margin-top: 0 !important; }
}
/* Fix massive white gap above footer on phones */
@media (max-width: 575px){
  .u-section-1 .u-sheet-1,
  .u-section-1 .u-layout-cell-2 {
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 0 !important;
  }
}
/* Footer repeater: responsive columns */
#sec-d04c .u-repeater-1{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important; /* desktop: 3 */
  gap: 12px !important;
}
#sec-d04c .u-repeater-1 .u-repeater-item{ min-width: 0 !important; }

/* tablet */
@media (max-width: 991px){
  #sec-d04c .u-repeater-1{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important; /* 2 cols */
  }
}

/* phone */
@media (max-width: 575px){
  #sec-d04c .u-repeater-1{
    grid-template-columns: 1fr !important; /* stack */
  }
  #sec-d04c p{ white-space: normal !important; word-break: normal !important; overflow-wrap: anywhere; }
}

