@import url('https://fonts.googleapis.com/css2?family=Bruno+Ace&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;600;700;900&display=swap');



header {
  width: 100%;
  height: 100lvh;       
  min-height: 100svh;  
  padding-bottom: env(safe-area-inset-bottom);  
  
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: space-between; 
  color: white;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.7);
  
}


header .bottom {
  margin-bottom: clamp(1rem, 10vh, 15rem);
  text-align: left;
  margin-left: clamp(1rem, 5vw, 5rem);
  bottom: 0;
}

header .bottom p {
  font-size: clamp(2rem, min(5vw, 10vh), 3.5rem);
  margin: 0;
  padding: 0;

  font-family: 'Source Serif Pro', serif;
}




@media (max-width: 800px), (max-height: 500px) {
  .site-title .break-at-mobile,
  .break-line {
    display: block;
  }
}


:root {
  --title-min: 2rem;       /* absolute smallest */
  --title-max: 10rem;       /* absolute largest */
  --title-vw: 80vw;        /* up to 80% of viewport width */
  --title-vh: 30vh;        /* up to 30% of viewport height */
}

/* base fluid scaling */
.site-title {
  display: inline-block;               /* make max-width honor wrapping */
  max-width: var(--title-vw);          /* never wider than 80% of vw */
  font-size: clamp(
    var(--title-min),
    min(var(--title-vw), var(--title-vh)),
    var(--title-max)
  );
  line-height: 1.1;
  margin-bottom: 0;
  font-family: 'Bruno Ace', sans-serif;
}

/* small-screen override */
@media (max-width: 900px) {
  .site-title {
    /* on tiny phones, shrink the min & max and use a tighter fluid curve */
    max-width: 90vw;
    font-size: clamp(
      1.5rem,
      min(80vw, 20vh),
      5rem
    );
  }
}
