/* Homepage-only 15% visual enlargement. Rem typography, spacing, icons, and
   controls scale together; viewport/container widths remain responsive. */
html:has(.homepage-shell) {
  font-size: 115%;
}

.homepage-shell .container {
  max-width: 1840px;
  padding-inline: clamp(24px, 5.3vw, 101.2px);
}

.homepage-shell .text-\[10px\] { font-size: 11.5px; }
.homepage-shell .text-\[9px\] { font-size: 10.35px; }
.homepage-shell .text-\[11px\] { font-size: 12.65px; }
.homepage-shell .text-\[15px\] { font-size: 17.25px; }

.home-hero {
  min-height: calc(100svh - 82.8px);
}

.home-hero-title {
  /* Live desktop baseline: clamp(38.4px, 3.5vw, 44px). */
  font-size: clamp(44.16px, 4.025vw, 50.6px);
  line-height: 1.05;
}

.home-title-line {
  display: block;
}

.home-hero-description {
  max-width: 586.5px;
}

.home-hero-phone {
  width: clamp(345px, 28.75vw, 471.5px);
}

.home-hero-art {
  margin-top: var(--hero-align-offset, 52px);
}

.home-hero-badge-top {
  top: 2%;
  right: -4%;
}

.home-hero-badge-bottom {
  bottom: 5%;
  left: -6%;
}

.home-hero-trust {
  flex-wrap: wrap;
  row-gap: 13.8px;
}

@media (min-width: 1024px) {
  .home-hero-grid {
    grid-template-columns: 1.35fr 1fr;
    gap: clamp(46px, 4.6vw, 73.6px);
    align-items: start;
  }

  /* Position-only revision: shift the whole hero artwork up exactly 100px. */
  .home-hero-art {
    transform: translateY(-100px);
  }

  .home-title-line {
    white-space: nowrap;
  }

  /* Keep the enlarged nav on one row at normal desktop/laptop widths. */
  .homepage-shell header nav > a {
    padding-inline: 0.65rem;
  }
}

@media (max-width: 1023px) {
  .home-hero {
    min-height: auto;
  }

  .home-hero > .container {
    padding-block: 73.6px;
  }

  .home-hero-title {
    font-size: clamp(44.16px, 4.025vw, 50.6px);
  }

  .home-hero-phone {
    width: min(391px, 78vw);
  }

  .home-hero-art {
    margin-block: 32px 27.6px;
  }

  .homepage-shell header nav > a {
    padding-inline: 0.6rem;
  }
}

@media (max-width: 899px) {
  .homepage-shell header > .container > nav {
    display: none;
  }

  .homepage-shell header button,
  .homepage-shell header > div:last-child {
    display: block;
  }
}

@media (max-width: 767px) {
  .home-hero-title {
    /* Live mobile baseline: clamp(36px, 9vw, 48px). */
    font-size: clamp(41.4px, 10.35vw, 55.2px);
    line-height: 1.05;
  }
}

@media (max-width: 639px) {
  .home-hero > .container {
    padding-block: 55.2px 64.4px;
  }

  .home-hero-description {
    font-size: 20.7px;
  }

  .home-hero-trust {
    gap: 13.8px 18.4px;
  }

  .home-hero-badge-top {
    right: -3%;
  }

  .home-hero-badge-bottom {
    left: -3%;
  }

  .home-hero a {
    max-width: 100%;
    justify-content: center;
    text-align: center;
  }

  .homepage-shell main a {
    max-width: 100%;
    white-space: normal;
  }
}
