/* Split copy + media layout (Lego block) */

.flc-split,
.flc-historia-grid,
.flc-panel-grid,
.flc-equipo-grid,
.flc-programs-layout,
.flc-page-split {
  display: grid;
  gap: 2.5rem;
  align-items: center;
}

@media (min-width: 960px) {
  .flc-split,
  .flc-historia-grid,
  .flc-panel-grid,
  .flc-equipo-grid { grid-template-columns: .95fr 1.05fr; }

  .flc-programs-layout { grid-template-columns: .85fr 1.15fr; align-items: start; }
}

@media (min-width: 900px) {
  .flc-page-split { grid-template-columns: 1.05fr .95fr; }
}

.flc-split--reverse .flc-split-copy { order: 2; }
.flc-split--reverse .flc-split-media { order: 1; }

.flc-split-copy .flc-prose p,
.flc-split-lead,
.flc-panel-lead,
.flc-programs-lead,
.flc-equipo-lead {
  color: var(--flc-text-soft);
  line-height: 1.65;
}

.flc-split-lead,
.flc-panel-lead,
.flc-programs-lead,
.flc-equipo-lead { margin: 0 0 1.5rem; }

.flc-split-media img,
.flc-historia-media img,
.flc-panel-media img,
.flc-page-split-media img {
  width: 100%;
  min-height: 320px;
  object-fit: cover;
  border-radius: calc(var(--flc-radius) + 12px);
  box-shadow: var(--flc-shadow);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.flc-split-media:hover img,
.flc-historia-media:hover img,
.flc-panel-media:hover img {
  transform: scale(1.03);
}

.flc-split-media--quote,
.flc-panel-media--quote { position: relative; }

.flc-quote-box {
  position: absolute;
  right: -.5rem;
  bottom: -1rem;
  max-width: min(100% - 1rem, 280px);
  margin: 0;
  padding: 1.25rem 1.15rem;
  background: var(--flc-navy);
  color: #fff;
  border-radius: 24px 24px 24px 8px;
  box-shadow: var(--flc-shadow);
  animation: flc-float 7s ease-in-out infinite;
}

.flc-quote-box p {
  margin: 0;
  font-size: .92rem;
  line-height: 1.45;
}

.flc-quote-box .flc-heart {
  display: inline-flex;
  margin-top: .5rem;
  color: #fff;
}

@media (max-width: 767px) {
  .flc-quote-box {
    position: static;
    margin-top: 1rem;
    max-width: none;
  }
}

.flc-section-intro--compact {
  max-width: 640px;
  margin: 0 auto 2rem;
}

.flc-section-intro-text {
  margin: 0;
  color: var(--flc-text-soft);
  font-size: 1.02rem;
}

.flc-prog-intro,
.flc-contact-intro,
.flc-ayuda-intro {
  padding: 3rem 0 2rem;
  background: #fff;
}

.flc-contact-intro { padding-bottom: 1.5rem; }
