

/* =========================
   BENEFITS
========================= */

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);

  gap: 24px;
}

.benefit-item {
  border-top: 2px solid rgba(255,255,255,0.15);

  padding-top: 24px;
}

.benefit-item span {
  display: block;

  font-size: 14px;

  color: var(--yellow);

  margin-bottom: 16px;

  font-weight: 800;
}

.benefit-item h3 {
  font-size: 32px;

  line-height: 1;
  letter-spacing: -2px;

  margin: 0 0 16px;
}

.benefit-item p {
  max-width: 450px;

  color: var(--text-soft);

  font-size: 16px;
  line-height: 1.8;
}

@media (min-width: 1001px) {

  .benefits-showcase {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.75fr);
    gap: 54px;
    align-items: center;
  }

  .benefits-content .section-heading {
    margin-bottom: 44px;
  }

  .benefits-visual img {
    width: 100%;
    height: 620px;
    object-fit: cover;

    border: 4px solid var(--yellow);

    border-radius:
      70px 120px 90px 110px /
      90px 80px 130px 100px;

    transform: rotate(1deg);
  }

}

/* =========================
   OFFER
========================= */

.offer-box {
  background: var(--cream);
  color: var(--black);

  border-radius:
    100px 180px 120px 160px /
    120px 90px 170px 130px;

  padding: 60px;

  display: grid;
  grid-template-columns: 1fr 420px;

  gap: 45px;

  align-items: center;
}

.offer-left h2 {
  font-size: clamp(38px, 5vw, 68px);

  line-height: 0.95;
  letter-spacing: -2px;

  margin: 0 0 24px;
}

.offer-left p {
  font-size: 17px;
  line-height: 1.8;

  color: rgba(0,0,0,0.75);
}

.price-card {
  background: var(--black);
  color: var(--cream);

  padding: 36px;

  border-radius:
    70px 120px 100px 120px /
    90px 80px 120px 100px;
}

.price-label {
  color: var(--yellow);

  font-size: 12px;
  letter-spacing: 1px;

  font-weight: 800;

  margin-bottom: 18px;
}

.price {
  font-size: 60px;

  line-height: 1;
  letter-spacing: -2px;

  font-weight: 800;

  margin-bottom: 24px;
}

.price-note {
  font-size: 14px;

  opacity: 0.6;

  margin-top: -10px;
  margin-bottom: 24px;
}

.price-card ul {
  list-style: none;

  padding: 0;

  margin: 0 0 28px;
}

.price-card li {
  margin-bottom: 12px;

  color: rgba(255,255,255,0.8);
}

.package-box {
  border-top: 1px solid rgba(255,255,255,0.12);

  padding-top: 20px;
  margin-bottom: 28px;
}

.package-box strong {
  display: block;

  font-size: 18px;

  margin-bottom: 6px;
}

.package-box span {
  display: block;

  color: var(--yellow);

  font-size: 24px;
  font-weight: 800;

  margin-bottom: 6px;
}

.package-box p {
  margin: 0;

  font-size: 14px;

  opacity: 0.7;
}


/* =========================
   GALLERY
========================= */

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  gap: 20px;
}

.gallery-grid img {
  width: 100%;
  height: 360px;

  object-fit: cover;

  border: 3px solid var(--yellow);

  border-radius:
    60px 100px 80px 110px /
    90px 70px 120px 90px;

  transition: 0.3s ease;
}

.gallery-grid img:hover {
  transform: translateY(-6px) rotate(-1deg);
}


/* =========================
   REVIEWS
========================= */

.reviews-section {
  background: var(--cream);
  color: var(--black);
}

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  gap: 20px;
}

.reviews-grid img {
  width: 100%;

  border-radius:
    50px 90px 70px 110px /
    80px 60px 100px 80px;

  transition: 0.3s ease;
}

.reviews-grid img:hover {
  transform: scale(1.02);
}


/* =========================
   AVAILABILITY
========================= */

.availability-box {
  background: var(--cream);
  color: var(--black);

  padding: 28px 60px;

  border-radius:
    90px 160px 120px 140px /
    100px 90px 150px 130px;
}

.availability-box h2 {
  font-size: clamp(30px, 3.6vw, 46px);

  line-height: 0.95;
  letter-spacing: -2px;

  margin: 0 0 20px;
}

.availability-intro {
  max-width: 900px;

  font-size: 16px;
  line-height: 1.8;

  color: rgba(0,0,0,0.72);

  margin-bottom: 40px;
}

.availability-grid {
  display: grid;

  gap: 14px;
}

.availability-item {
  display: flex;
  justify-content: space-between;
  align-items: center;

  border-top: 1px solid rgba(0,0,0,0.08);

  padding-top: 18px;
}

.availability-item span {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1px;
}

.availability-item strong {
  font-size: 24px;
}

.availability-update {
  margin-top: 30px;

  font-size: 13px;

  opacity: 0.55;
}


/* =========================
   CTA
========================= */

.cta-box {
  text-align: center;

  max-width: 900px;
  margin: 0 auto;
}

@media (min-width: 1001px) {

  .cta-showcase {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 48px;
    align-items: center;
  }

  .cta-showcase .cta-box {
    text-align: left;
    max-width: none;
    margin: 0;
  }

  .cta-showcase .cta-box p {
    margin-left: 0;
    margin-right: 0;
  }

  .cta-visual img {
    width: 100%;
    height: 420px;
    object-fit: cover;

    border: 4px solid var(--yellow);

    border-radius:
      70px 120px 90px 110px /
      90px 80px 130px 100px;

    transform: rotate(-1deg);
  }

}

.cta-box h2 {
  font-size: clamp(40px, 6vw, 72px);

  line-height: 0.92;
  letter-spacing: -2px;

  margin: 0 0 24px;
}

.cta-box p {
  font-size: 17px;
  line-height: 1.8;

  color: var(--text-soft);

  max-width: 700px;

  margin: 0 auto 34px;
}

.cta-btn {
  display: inline-block;

  font-size: 17px;
}

/* =========================
   NAUKA PAGE — MOBILE SHOWCASE FIX
========================= */

@media (max-width: 1000px) {

  .benefits-showcase,
  .cta-showcase {
    display: grid;
    grid-template-columns: 1fr;
    gap: 42px;
    align-items: center;
  }

  .benefits-visual,
  .cta-visual {
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
  }

  .benefits-visual img,
  .cta-visual img {
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: cover;

    border: 4px solid var(--yellow);

    border-radius:
      54px 86px 68px 92px /
      76px 56px 96px 72px;

    transform: none;
  }

}


/* =========================
   NAUKA PAGE — MOBILE TIGHT FIX
========================= */

@media (max-width: 768px) {

  .benefits-showcase,
  .cta-showcase {
    gap: 34px;
  }

  .benefits-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .benefit-item {
    padding-top: 20px;
  }

  .benefit-item h3 {
    font-size: clamp(28px, 9vw, 38px);
    letter-spacing: -1.4px;
  }

  .benefit-item p {
    max-width: 100%;
    font-size: 16px;
    line-height: 1.7;
  }

  .benefits-visual img,
  .cta-visual img {
    max-height: 380px;

    border-radius:
      42px 62px 52px 70px /
      58px 44px 72px 54px;
  }

  .cta-box {
    text-align: center;
  }

  .cta-box p {
    max-width: 100%;
  }

  .cta-btn {
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
  }

}


/* =========================
   NAUKA PAGE — VERY SMALL MOBILE
========================= */

@media (max-width: 480px) {

  .benefits-visual img,
  .cta-visual img {
    max-height: 300px;

    border-width: 3px;

    border-radius:
      32px 46px 40px 52px /
      44px 34px 56px 42px;
  }

  .cta-btn {
    max-width: 100%;
  }

}