body {
  background: url(Portrait-111-2.jpg) center center / cover no-repeat fixed;
  background-color: #ffffff;
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.sansserif {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

a[href^="mailto"] {
  color: #ffffff;
  text-decoration: none;
}

a[href^="mailto"]:hover {
  color: #ffe600;
  text-decoration: blink;
}

.phone-number {
  color: #ffffff;
  text-decoration: none;
}

p {
  color: #ffffff;
  font-weight: bold;
  font-size: 30px;
}

header {
  position: relative;
}

.header-title {
  position: absolute;
  top: 25px;
  left: 40px;
  font-size: clamp(32px, 8vw, 120px);
  font-weight: bold;
  color: #ffe600;
  margin: 0;
  line-height: 1.1;
  word-break: keep-all;
  max-width: calc(100% - 80px);
}

.content {
  flex: 1;
}

footer {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  text-align: right;
}

.footer-content {
  display: flex;
  justify-content: flex-end;
}

.footer-text {
  position: absolute;
  bottom: 40px;
  right: 40px;
  font-size: 40px;
  font-weight: bold;
  color: #ffffff;
  margin: 0;
}

@media (max-width: 1024px) {
  .header-title {
    font-size: clamp(40px, 7vw, 100px);
    top: clamp(15px, 2.5vw, 25px);
    left: clamp(20px, 3vw, 40px);
    max-width: calc(100% - 60px);
  }
}

@media (max-width: 768px) {
  .header-title {
    font-size: clamp(36px, 9vw, 80px);
    top: clamp(15px, 2.5vw, 20px);
    left: clamp(15px, 4vw, 30px);
    max-width: calc(100% - 40px);
    line-height: 1.15;
  }

  .footer-text {
    font-size: clamp(24px, 5vw, 40px);
    bottom: clamp(20px, 4vw, 30px);
    right: clamp(20px, 4vw, 30px);
  }
}

@media (max-width: 480px) {
  body {
    background-position: calc(100% - 30%);
  }

  .header-title {
    font-size: clamp(28px, 10vw, 48px);
    top: clamp(10px, 2.5vw, 12px);
    left: clamp(15px, 4vw, 20px);
    max-width: calc(100% - 30px);
    line-height: 1.2;
  }

  .footer-text {
    font-size: clamp(18px, 6vw, 28px);
    bottom: clamp(15px, 4vw, 20px);
    right: clamp(15px, 4vw, 20px);
  }
}

@media (max-width: 320px) {
  .header-title {
    font-size: clamp(24px, 12vw, 36px);
    top: 10px;
    left: 15px;
    max-width: calc(100% - 30px);
  }
}
