/* Final portrait/contact sizing pass: keep this file last in the homepage cascade. */
.home-page .home-profile {
  z-index: 3;
}

.home-page .home-nav {
  z-index: 2;
}

.home-page .home-contact {
  box-sizing: border-box;
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  padding: 0;
  border: 0;
  color: #42d8d0;
  background: transparent;
  box-shadow: none;
  font-size: clamp(1.24704rem, 1.95189vw, 1.95189rem);
  line-height: 1;
  text-align: left;
  text-shadow:
    -0.6px -0.6px 0 #11110f,
    0.6px -0.6px 0 #11110f,
    -0.6px 0.6px 0 #11110f,
    0.6px 0.6px 0 #11110f;
}

.home-page .home-contact:hover,
.home-page .home-contact:focus {
  color: #8aeee8;
  background: transparent;
}

/* Portrait phones: 130% of the previous 96–132px responsive range. */
@media (max-width: 575.98px) and (orientation: portrait) {
  .home-profile {
    width: clamp(125px, 39vw, 172px);
  }

  .home-page .home-contact {
    font-size: clamp(1.24704rem, 5.85567vw, 1.46392rem);
    text-align: center;
  }
}

/* Small landscape phones: 130% of the previous 78–96px range. */
@media (min-width: 568px) and (max-width: 700px) and (max-height: 550px) and (orientation: landscape) {
  .home-profile {
    width: clamp(101px, 15.6vw, 125px);
  }

  .home-page .home-contact {
    font-size: clamp(1.03016rem, 2.71096vw, 1.17113rem);
    text-align: center;
  }

  .home-socials {
    top: clamp(9.4rem, 41vh, 10rem);
  }
}

/* Larger landscape phones: 130% of the previous 92–112px range. */
@media (min-width: 701px) and (max-width: 991.98px) and (max-height: 550px) and (orientation: landscape) {
  .home-profile {
    width: clamp(120px, 15.6vw, 146px);
  }

  .home-page .home-contact {
    font-size: clamp(1.08438rem, 2.43986vw, 1.30126rem);
    text-align: center;
  }

  .home-socials {
    top: clamp(11.5rem, 47vh, 12rem);
  }
}

/* Tablets: widen the rail so the 195px portrait has real layout space. */
@media (min-width: 576px) and (max-width: 1199.98px) and (min-height: 551px) {
  .home-rail {
    width: clamp(202px, 23.4vw, 247px);
  }

  .home-profile {
    width: min(100%, 195px);
  }

  .home-page .home-contact {
    font-size: clamp(1.24704rem, 2.33142vw, 1.57236rem);
    text-align: left;
  }

  .home-plaque {
    width: min(68vw, calc(96vw - 270px));
  }
}

/* Desktop: enlarge both the rail and its portrait by 30%. */
@media (min-width: 1200px) {
  .home-rail {
    width: clamp(202px, 17.225vw, 293px);
  }

  .home-portrait {
    width: 100%;
  }

  .home-page .home-contact {
    margin-bottom: clamp(1.25rem, 3vh, 2.5rem);
  }

  .home-socials {
    margin-top: clamp(1.5rem, 3.5vh, 3rem);
  }
}

@media (min-width: 1200px) and (max-height: 1000px) {
  .home-rail {
    width: clamp(202px, 17.225vw, 293px);
  }

  .home-portrait {
    width: min(100%, 24.7vh);
  }

  .home-profile {
    width: min(100%, 24.7vh);
    margin-left: auto;
  }

  .home-page .home-contact {
    font-size: clamp(1.08438rem, 1.73501vw, 1.46392rem);
  }
}
