@font-face {
    font-family: 'Karantina';
    src: url('font/Karantina/Karantina-Regular.ttf') format('truetype'); /* Update the path and format */
}
@font-face {
    font-family: 'Antonio';
    src: url('font/Antonio/Antonio-VariableFont_wght.ttf') format('truetype'); /* Update the path and format */
}
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }
  
  body {
    font-family: sans-serif;
    color: white;
  }
  
  
  /* HERO */
  
  .hero {
    height: 100vh;
    background: linear-gradient(180deg, #0b5d45, #0e6a50);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: Karantina, sans-serif;
  }
  
  .title-wrap {
    position: relative;
    padding-top: 200px;
  }
  
  .title {
    font-size: 200px;
    letter-spacing: 3px;
  }
  
  .reflection {
    font-size: 200px;
    letter-spacing: 3px;
    opacity: 0.5;
    transform: scaleY(-1);
    margin-top: -55px;
   
  }
  
  /* subtitle */
  .subtitle {
    margin-top: 60px;
    letter-spacing: 3px;
    opacity: 0.9;
    font-family: Antonio, sans-serif;
    font-size: 55px;
  }
.arrow{
    padding-top: 50px;
}
.scroll-down img {
    width: 40px; /* Adjust size */
    display: block;
    margin: 20px auto 0; /* Center and add spacing */
    animation: bounce 2s infinite; /* Add animation */
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(10px);
    }
}
@media (max-width: 700px) {
  .hero{
    justify-content: flex-start;  /* stops vertical centering */
      
    height: 100svh; 
    min-height: 100svh;       /* adjust this to move everything up/down */
  }
  .hero{
    height: 100dvh;
    min-height: 100dvh;
    padding-top: 240px;
    padding-bottom: 30px;
  }

  .title-wrap{
    padding-top: 0;              /* remove the big desktop padding */
  }
    .title {
      font-size: 70px;
      white-space: nowrap;
      margin-bottom: 5px;
    }
  
    .reflection {
      font-size: 70px;
      margin-top: -30px;
      white-space: nowrap;
    }
  
    .subtitle {
      font-size: 26px;
    }
  
    .title-wrap {
      padding-top: 00px;
    }
  

    .arrow{
      position: absolute;
      left: 50%;
      bottom: 40px;          /* controls how far from bottom */
      transform: translateX(-50%);
      margin-bottom: 50px;
    }
  
    .scroll-down img{
      width: 32px;
      position: static;      /* important: stop fighting the parent */
    }
  }
  
/* ===== Projects Section ===== */
.projects {
    background: #9fb8b2;         /* matches the light green/grey */
    padding: 70px 0 0;
  }
  
  .projects__title {
    text-align: center;
    color: #ffffff;
    letter-spacing: 3px;
    font-size: 120px;
    margin-bottom: 10px;
    font-family: Karantina, sans-serif;
  }
  
  /* Each project band */
  .project {
    padding: 60px 0;
  }
  
  .project--light {
    background: #9fb8b2;
  }
  
  .project--dark {
    background: linear-gradient(180deg, #0b5d45, #0e6a50);
  }
  
  /* Inner layout */
  .project__inner {
    width: min(1100px, 92%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    align-items: center;
    gap: 50px;
  }
  
  .project__inner--reverse {
    grid-template-columns: 1fr 1.05fr;
  }
  
  .project__inner--reverse .project__media { order: 2; }
  .project__inner--reverse .project__content { order: 1; }
  
  .project__media img {
    width: 100%;
    height: auto;
    display: block;
  }
  
  /* Text blocks */
  .project__content {
    color: #ffffff;
    max-width: 520px;
    text-align: center;
  }
  
  .project__content--right { justify-self: start; }
  .project__content--left  { justify-self: start; }
  
  .project__heading {
    letter-spacing: 6px;
    font-size: 60px;
    margin-bottom: 18px;
    font-family: Antonio, sans-serif;
  }
  
  .project__text {
    font-size: 18px;
    line-height: 1.55;
    letter-spacing: 1px;
    margin-bottom: 22px;
    max-width: 460px;
  }
  
  /* Buttons */
  .btn {
    display: inline-block;
    padding: 12px 30px;
    border-radius: 6px;
    text-decoration: none;
    letter-spacing: 2px;
    font-size: 22px;
    font-weight: 600;
    font-family: Antonio, sans-serif;
    margin-top: 20px;
  }
  
  .btn--dark {
    background: #0b5d45;
    color: #ffffff;
  }
  
  .btn--light {
    background: #c9d7d3;
    color: #2a2a2a;
  }
  
  @media (max-width: 820px) {
    .projects {
      padding-top: 45px;
    }
  
    .projects__title {
      font-size: 72px;
      letter-spacing: 2px;
      margin-bottom: 18px;
    }
  
    .project {
      padding: 42px 0;
    }
  
    .project__inner,
    .project__inner--reverse {
      grid-template-columns: 1fr;
      gap: 18px;
      text-align: center;
    }
  
    .project__inner--reverse .project__media,
    .project__inner--reverse .project__content {
      order: initial;
    }
  
    .project__media {
      display: flex;
      justify-content: center;
    }
  
    .project__media img {
      width: 92%;
      max-width: 400px;
      height: auto;
    }
  
    .project__content {
      margin: 0 auto;
      max-width: 520px;
    }
  
    .project__heading {
      font-size: 34px;
      letter-spacing: 3px;
      margin-bottom: 12px;
    }
  
    .project__text {
      font-size: 15px;
      line-height: 1.6;
      letter-spacing: 0.4px;
      margin: 0 auto 18px;
      max-width: 44ch;
    }
  
    .btn {
      font-size: 12px;
      padding: 12px 26px;
    }
  }
  
 /* ===== About Teaser Section ===== */
.about-teaser {
    background: linear-gradient(180deg, #0b5d45, #0e6a50);
    padding: 70px 0;
    position: relative;
    overflow: hidden;
  }
  
  /* Layout */
  .about-teaser__inner {
    width: min(1200px, 92%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.25fr 0.75fr;
    align-items: center;
    gap: 30px;
  }
  
  /* Text */
  .about-teaser__title {
    color: #ffffff;
    letter-spacing: 0px;
    font-size: 60px;
    line-height: 1.15;
    margin-bottom: 40px;
    font-family: Antonio;
    white-space: nowrap;
  }
  
  .about-teaser__desc {
    color: #ffffff;
    font-size: 18px;
    line-height: 1.55;
    letter-spacing: 0.5px;
    margin-bottom: 28px;
    font-weight: 500;
    width: 100%;
  }
  .about-teaser__text {
    display: inline-block;
    flex-direction: column;
    align-items: left; /* keep text left */
    
  }
  
  
  /* IMAGE — anchored to bottom */
  .about-teaser__img {
    position: absolute;
    right: 6%;
    bottom: 0;
  }
  
  .about-teaser__img img {
    height: 500px;   /* adjust this slightly if needed */
    width: auto;
    display: block;
    margin-right: 50px;
  }
  .about-teaser__text .btn {
    display: block;
    margin: 50px auto 0 auto;
    width: fit-content;
    font-size: 22px;
  }
  
 /* ===== Mobile ===== */
@media (max-width: 820px) {
    .about-teaser {
      padding: 60px 0 0;
    }
  
    .about-teaser__inner {
      grid-template-columns: 1fr;
      text-align: center;
      gap: 22px;
      padding-bottom: 320px; /* makes room for the absolute image */
    }
  
    .about-teaser__text {
      display: block; /* stop inline-block weirdness on mobile */
    }
  
    .about-teaser__title {
      font-size: 34px;
      margin-bottom: 18px;
      white-space: normal;
    }
  
    .about-teaser__desc {
      font-size: 15px;
      margin-bottom: 18px;
    }
  
    .about-teaser__text .btn {
      margin: 26px auto 0;
      font-size: 14px;
    }
  
    /* keep the image at the bottom center */
    .about-teaser__img {
      left: 50%;
      right: auto;
      transform: translateX(-50%);
      bottom: 0;
    }
  
    .about-teaser__img img {
      height: 300px;
    }
  }