@charset "UTF-8";

@font-face {
  font-family: "Sofia-Regular";
  src: url('../Sofia-Regular.ttf') format('truetype');
}

html,
body,
div {
  margin: 0;
  padding: 0;
  border: 0;
}

body {
  background-color: aliceblue;
  font-family: "Sofia-Regular", sans-serif;
}

.wrapper {
  position: relative;
  height: 100vh;
  /* ultimate fallback */
  height: calc(var(--vh) * 100);
  /* JS-driven real height for iOS */
  overflow: hidden;
}

header {
  position: relative;
  height: 100%;
  overflow: hidden;
}

h4,
p,
a {
  font-family: "Sofia-Regular", sans-serif;
  text-align: left;
  color: #CAB2DA;
  margin: clamp(4px, 2vw, 12px) 10px clamp(4px, 2vw, 12px) clamp(8px, 15vw, 300px);
  font-weight: lighter;
}

h4 {
  font-size: clamp(1.2rem, 2.5vw, 2.4rem);
  line-height: clamp(0.8, 3vw, 1.6);
  letter-spacing: clamp(0px, -0.05vw, -1px);
}

p {
  font-size: clamp(0.8rem, 2vw, 1.4rem);
  line-height: clamp(0.6, 3vw, 1.6);
  color: hsla(276, 35%, 78%, 0.8);
}

a {
  font-size: clamp(1rem, 2vw, 1.6rem);
  line-height: clamp(0.6, 3vw, 1.6);
  text-decoration: none;
}

a:hover,
a:focus {
  color: hsl(276, 35%, 25%);
}

img.resp {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sub {
  bottom: 10%;
  left: 0;
  position: absolute;
  max-height: 40vh;
  max-height: calc(var(--vh) * 40);
  overflow: hidden;
}

/* Small devices (portrait phones, ≤600px) */
@media only screen and (max-width: 600px) {
  .sub {
    bottom: 20px;
    left: 0;
    position: absolute;
    max-height: 35vh;
    max-height: calc(var(--vh) * 35);
  }

  img.resp {
    object-position: 90% center;
  }
}