.kamplar-intro-visual {
  grid-column: 1 / -1;
  position: relative;
  height: 440px;
  margin: 12px 0 0;
  overflow: hidden;
  background: #d8dde1;
}

/* İki günlük kamp akışını masaüstünde daha sıkı ve dengeli gösterir. */
@media (min-width: 901px) {
  .do-hero h1 { max-width: none; font-size: clamp(2.2rem, 3.4vw, 3.5rem); white-space: nowrap; }
  .do-hero-sub { max-width: none; font-size: .92rem; white-space: nowrap; }
  .kamp-intro.section { gap: 38px; padding-top: 46px; padding-bottom: 44px; }
  .kamplar-intro-visual { height: 330px; }
  .kamp-highlight { padding: 48px 0; }
  .kamplar-upcoming { margin-top: 20px; }
  .kamplar-first { padding: 48px 0; }
  .kamplar-first-grid { grid-template-columns: minmax(280px, .58fr) minmax(0, 1.42fr); gap: 28px; align-items: stretch; }
  .kamplar-first .section-heading { margin-bottom: 18px; }
  .kamplar-first .section-heading h2 { font-size: 1.95rem; line-height: 1.12; white-space: normal; }
  .kamplar-first-main { padding-right: 20px; border-right: 1px solid var(--line); }
  .kamplar-first-main .kamp-days { margin: 8px 0 0; }
  .kamplar-first-main .kamp-days li { grid-template-columns: 62px 1fr; gap: 12px; padding: 15px 0; }
  .kamplar-fee-card { display: grid; grid-template-columns: 43% 57%; }
  .kamplar-fee-card > img { width: 100%; height: 100%; min-height: 100%; object-position: center; }
  .kamplar-fee-body { width: auto; padding: 23px 25px 25px; }
  .kamplar-apply { padding: 48px 0; }
}

@media (min-width: 621px) {
  .do-hero { position: relative; overflow: hidden; padding: 76px 0 70px; background: linear-gradient(100deg, rgba(7,27,48,.97), rgba(7,27,48,.72)), url('../images/kamp/kamp-ortam-1.webp') center 58%/cover; }
  .do-hero h1 { max-width: 820px; font-size: clamp(2.7rem, 4.5vw, 4.5rem); line-height: 1.02; }
  .do-hero-sub { max-width: 720px; margin-top: 18px; font-size: 1.02rem; font-style: normal; line-height: 1.65; }
}

.kamplar-intro-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kamplar-intro-visual figcaption {
  position: absolute;
  right: 14px;
  bottom: 12px;
  padding: 5px 8px;
  background: rgba(7, 27, 48, .72);
  color: #fff;
  font-size: .65rem;
}

@media (max-width: 900px) {
  .kamplar-intro-visual {
    height: 300px;
  }
}

@media (max-width: 620px) {
  .kamp-intro.section {
    gap: 20px;
    padding-top: 26px;
    padding-bottom: 34px;
  }

  .kamp-intro .eyebrow { margin-bottom: 11px; }
  .kamp-intro h2 { margin: 0; font-size: 2rem; line-height: 1.12; }
  .kamp-intro .kamp-copy { font-size: .9rem; line-height: 1.7; }
  .kamp-intro .kamp-copy p:first-child { margin-top: 0; }
  .kamp-intro .kamp-copy p:last-child { margin-bottom: 0; }

  .kamplar-intro-visual {
    height: 220px;
    margin-top: 2px;
  }

  .kamp-highlight { padding: 36px 0; }
  .kamp-section > .eyebrow { margin-bottom: 10px; }
  .kamp-section > h2 { margin: 0; font-size: 2rem; }
  .kamp-section > .kamp-copy { margin: 12px 0 0; font-size: .9rem; line-height: 1.7; }
  .kamplar-upcoming { gap: 14px; margin-top: 20px; }
  .kamplar-upcoming img { height: 205px; min-height: 205px; }
  .kamplar-upcoming .body { padding: 20px; }
  .kamplar-upcoming .body .eyebrow { margin-bottom: 8px; }
  .kamplar-upcoming h3 { font-size: 1.45rem; }

  .kamplar-first { padding: 38px 0; }
  .kamplar-first-grid { gap: 24px; }
  .kamplar-first .section-heading { margin-bottom: 18px; }
  .kamplar-first .section-heading .eyebrow { margin-bottom: 10px; }
  .kamplar-first .section-heading h2 { font-size: 2rem; }
  .kamp-days { margin: 12px 0 0; }
  .kamp-days li { gap: 5px; padding: 13px 0; }
  .kamplar-fee-body { padding: 20px; }

  .kamplar-apply { padding: 38px 0; }
}
