.intro {
  position: relative;
  min-height: 500px;
  background-image: url(../images/intro.jpg);
  background-size: cover;
  padding: 180px 30px 90px 30px;
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden;
  > div:first-of-type {
    width: 100%;
    max-width: min(640px, 94vw);
    display: flex;
    flex-direction: column;
    align-items: center;
    > img.intro-logo {
      display: block;
      width: 100%;
      max-width: 100%;
      height: auto;
      max-height: min(42vh, 320px);
      object-fit: contain;
      object-position: center;
      filter: drop-shadow(0 4px 24px rgba(0, 0, 0, 0.55));
    }
  }
  >div {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    color: var(--text);
    font-size: 22px;
    line-height: 30px;
  }

  >.intro-right-container {
    align-items: end;
    justify-content: center;
  }
}

.intro::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    145deg,
    rgba(10, 16, 28, 0.72) 0%,
    rgba(10, 22, 40, 0.45) 100%
  );
  z-index: 1;
}

.intro > * {
  position: relative;
  z-index: 2; /* щоб контент був поверх затемнення */
}

.intro-text-container {
  margin-top: 200px;
  width: 100%;
}

.intro-text-delivery {
  display: inline-block;
  margin-top: 0.55em;
  font-weight: 700;
  font-size: 1.05em;
  color: var(--highlight);
  letter-spacing: 0.02em;
}

.intro-btn-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
  margin-top: 15px;
}

.intro-btn-1 {
  color: var(--accent-cta);
  text-decoration: none;
  font-size: 20px;
  font-family: var(--font-sans);
  line-height: 1.15;
  font-weight: 600;
  border: 2px solid var(--accent-cta);
  background-color: var(--accent-ghost);
  padding: 0;
  width: 230px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border-radius: 10px;
  padding: 5px;
}

.intro-btn-1:hover {
  box-shadow: 0 8px 24px var(--accent-shadow), 0 4px 12px rgba(0, 0, 0, 0.35);
  transform: translateY(-2px);
}

.intro-btn-2 {
  text-decoration: none;
  color: var(--bg-deep);
  background-color: var(--accent-cta);
  font-size: 20px;
  font-family: var(--font-sans);
  line-height: 1.15;
  font-weight: 700;
  border: 2px solid var(--accent-cta);
  width: 230px;
  max-height: 60px;
  margin-left: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border-radius: 10px;
  padding: 10px 20px;
  transition: all 0.3s ease;
  box-shadow: 0 6px 20px var(--accent-shadow), 0 2px 8px rgba(0, 0, 0, 0.3);
}

.intro-btn-2:hover {
  background-color: var(--accent-cta-hover);
  border-color: var(--accent-cta-hover);
  color: var(--bg-deep);
  box-shadow: 0 10px 28px var(--accent-shadow-strong), 0 4px 12px rgba(0, 0, 0, 0.35);
  transform: translateY(-2px);
}

@media (max-width: 960px) {
  
  .intro {
    background-position: center;
    >div {
      justify-content: center;
      align-items: center;
    }
  }

  .intro-text-container {
    text-align: center;
  }

  .intro > div:first-of-type > img.intro-logo {
    max-height: min(38vh, 260px);
  }

  .intro {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* шапка ~90px + увеличенный запас под логотип */
    padding-top: 195px;
  }

  .intro > div:first-of-type {
    margin-top: 24px;
  }

  .intro-right-container {
    max-width: 500px;
  }

  .intro-text-container {
    margin-top: 48px;
  }
}

@media (max-width: 720px) {

  .intro {
    /* не меньше, чем на планшетах — иначе блок снова поднимется */
    padding-top: max(195px, calc(env(safe-area-inset-top, 0px) + 150px));
  }

  .intro-text-container {
    margin-top: 30px;
  }
  .intro-btn-container {
    margin-top: 55px;
    flex-direction: column;
    align-items: center;
  }

  .intro-btn-1 {
    display: none;
  }

  .intro-btn-2 {
    height: 30px;
  }
}
