/* ============================================================
   THE MUNI COLLECTION — editorial brand campaign moment
   Mobile-first: image card, centred type block, campaign mantra.
   Desktop: premium split composition (photo left, story right).
   Palette: warm cream, deep heritage green, scarce Dartee pink.
   ============================================================ */
.munisec {
  --muni-cream: #f3efe6;
  --muni-cream-warm: #ece5d7;
  --muni-green: #0b211b;
  --muni-green-soft: #1d3a30;
  --muni-pink: #e85190;
  position: relative;
  background: #f6f1e4;
  border-bottom-left-radius: 34px;
  border-bottom-right-radius: 34px;
  padding: 40px 0 44px;
  overflow: hidden;
  isolation: isolate;
}

/* almost imperceptible scorecard paper grain */
.munisec::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    repeating-linear-gradient(90deg,
      rgba(17,84,62,.05) 0px, rgba(17,84,62,.05) 2px,
      rgba(17,84,62,0) 2px, rgba(17,84,62,0) 46px);
  background-size: 46px 100%;
  opacity: 1;
}

.munisec__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
}

/* ---------- image card ---------- */
.munisec__media {
  margin: 0 26px;
  border-radius: 18px;
  overflow: hidden;
  background: var(--muni-cream);
  box-shadow: 0 22px 46px -28px rgba(11,33,27,.42);
}
.munisec__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
}

/* ---------- copy ---------- */
.munisec__copy {
  padding: 0 26px;
  text-align: center;
}
.munisec__eyebrow {
  display: block;
  margin: 28px 0 0;
  font-family: var(--ff-sans);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--muni-pink);
}
.munisec__title {
  margin: 14px 0 0;
  font-family: var(--ff-display);
  text-transform: uppercase;
  font-size: clamp(44px, 14.6vw, 68px);
  line-height: 1.12;
  letter-spacing: .01em;
  color: var(--muni-green);
}
.munisec__rule {
  display: block;
  width: 88px;
  height: 2px;
  margin: 20px auto 0;
  background: rgba(232,81,144,.55);
  border: 0;
}
.munisec__dart {
  display: block;
  width: 120px;
  max-width: 42%;
  height: auto;
  margin: 22px auto 0;
}
.munisec__sub {
  margin: 20px auto 0;
  max-width: 85%;
  font-family: var(--ff-sans);
  font-size: 15px;
  line-height: 1.55;
  color: rgba(11,33,27,.76);
}
.munisec__mantra {
  margin: 26px 0 0;
  font-family: var(--ff-display);
  text-transform: uppercase;
  font-size: clamp(30px, 9.4vw, 44px);
  line-height: .96;
  letter-spacing: .015em;
  color: var(--muni-green);
}
.munisec__mantra span {
  display: block;
}
.munisec__mantra span + span {
  margin-top: 2px;
  color: #e07aa4;
}
.munisec__cta {
  position: relative;
  display: inline-block;
  margin: 26px 0 0;
  padding-bottom: 6px;
  font-family: var(--ff-sans);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--muni-green);
}
.munisec__cta::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: var(--muni-pink);
}
.munisec__micro i {
  font-style: normal;
  color: var(--muni-pink);
  margin: 0 4px;
}
.munisec__micro {
  margin: 26px 0 0;
  font-family: var(--ff-sans);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(11,33,27,.62);
}

/* ---------- desktop: editorial split ---------- */
@media (min-width: 901px) {
  .munisec {
    padding: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    overflow: hidden;
  }
  .munisec__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    gap: 0;
    padding: 0;
    max-width: none;
    width: 100%;
  }
  .munisec__media {
    margin: 0;
    border-radius: 0;
    height: 100%;
    min-height: 640px;
    overflow: hidden;
  }
  .munisec__media img {
    border-radius: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .munisec__copy {
    padding: clamp(64px, 6vw, 104px) clamp(40px, 5vw, 88px);
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .munisec__eyebrow { margin: 0; }
  .munisec__rule { margin: 22px 0 0; }
  .munisec__title { font-size: clamp(52px, 5vw, 78px); margin-top: 18px; }
  .munisec__sub { margin: 24px 0 0; max-width: 44ch; font-size: 16px; }
  .munisec__mantra { margin-top: 32px; font-size: clamp(30px, 2.6vw, 40px); }
  .munisec__mantra span { display: inline; }
  .munisec__mantra span + span { margin: 0 0 0 .35em; }
  .munisec__cta { margin-top: 32px; }
  .munisec__dart { width: 150px; max-width: none; margin: 22px 0 0; }
  .munisec__micro { margin-top: 40px; }
}
