/* ==========================================================================
   THEME-INTRO  —  Centered intro text with optional CTA
   ========================================================================== */

.theme-intro {
  padding: var(--section-pad-y) 0;
  background: #fff;
}

.theme-intro .container {
  max-width: var(--container);
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}


.theme-intro__heading {
  font-family: var(--serif);
  font-size: var(--h1);
  font-weight: 600;
  color: var(--brand);
  margin: 0 0 20px;
  line-height: 1.2;
}

.theme-intro__text p {
  margin: 0 0 16px;
}

.theme-intro__text p:last-child {
  margin-bottom: 0;
}

/* ---- With image ---- */
.theme-intro--has-image .theme-intro__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.theme-intro--image-left .theme-intro__media  { order: 1; }
.theme-intro--image-left .theme-intro__content { order: 2; }
.theme-intro--image-right .theme-intro__media  { order: 2; }
.theme-intro--image-right .theme-intro__content { order: 1; }

.theme-intro__media img {
  display: block;
  width: 100%;
  height: auto;
}

.theme-intro__cta {
  margin-top: 32px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 991px) {
  .theme-intro__heading {
    font-size: 48px  
  }
  .theme-intro__text {
    font-size: 25px;
  }
}
@media (max-width: 768px) {
  .theme-intro__heading {
    font-size: 36px  
  }
  .theme-intro {
    padding: 48px 0;
  }

  .theme-intro__text {
    font-size: 18px;
    line-height: 1.3em;
  }

  .theme-intro--has-image .theme-intro__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .theme-intro--has-image .theme-intro__media    { order: 1; }
  .theme-intro--has-image .theme-intro__content  { order: 2; }
}

@media (max-width: 520px) {
  .theme-intro {
    padding: 36px 0;
  }

  .theme-intro__text {
    font-size: 18px;
  }

  .theme-intro__cta .btn-layout.green-outline {
    font-size: 16px;
    padding: 12px 24px;
  }
}
