/* Nirvana Providers section */
.nv-providers {
  --nv-beige: #f0ebe1;
  --ink: #2f2f2f;
  --muted: #5c5c5c;
  background: var(--nv-beige);
  margin-top: 200px;
  padding-bottom: 0;
}

/* Shared container width that scales on large screens */
.nv-providers .nv-prov-container {
  width: min(92vw, 1320px);
  margin: 50px auto;
  padding: 48px 16px 24px;
}

/* Top heading */
.nv-providers .nv-prov-heading {
  margin: 0 auto 18px;
  text-align: center;
  font-family: "The Seasons", ui-serif, Georgia, serif;
  font-size: clamp(28px, 3vw, 40px);
  color: var(--ink);
}


/* Rows */

.nv-providers .nv-prov-rows{
  display: flex;
  flex-direction: column;
}

.nv-providers .nv-prov-row {
  width: 100%;
  display: grid;
  grid-template-columns: 0.8fr 1fr;
  align-items: start; /* copy should start at top */
  gap: 50px;
}

.nv-providers .nv-prov-row.is-even {
  grid-template-columns: 1fr 0.8fr;
}

.nv-prov-last-row{
  position: relative;
  top: -100px;
  max-height: 50vh;
}

/* Media */
.nv-providers .nv-prov-media {
  margin: 0;
}

.nv-providers .nv-prov-row.is-odd .nv-prov-media{ 
  display: flex;
  justify-content: flex-end;
}


.nv-providers .nv-prov-media img {
  display: block;
  width: 60%;
  height: clamp(280px, 38vw, 520px);
  min-height: 70vh;
  object-fit: cover;
}



.nv-prov-media-mt-top {
  position: relative;
  top: -30%;
}

/* Copy */
.nv-providers .nv-prov-copy {
  color: var(--ink);
}

.nv-providers .nv-prov-title {
  position: relative;
  margin: 0 0 16px 0;
  font-family: "Playfair Display", ui-serif, Georgia, serif;
  font-size: clamp(24px, 2.4vw, 32px);
  color: var(--ink);
  display: flex; /* allow flexible rule lines */
  align-items: center;
  gap: 14px;
}

/* Title rules: right-hand for odd rows, balanced for even rows */
.nv-providers .is-odd .nv-prov-title { text-align: left; }
.nv-providers .is-odd .nv-prov-title::after {
  content: "";
  height: 1px;
  background: rgba(0,0,0,0.15);
  flex: 1 1 auto; /* stretch to end of copy column */
}

.nv-providers .nv-prov-row.is-even {
    margin-top: 110px;
}


.nv-providers .is-even .nv-prov-copy { text-align: right; }
.nv-providers .is-even .nv-prov-title {
  text-align: center;
  justify-content: center;
}
.nv-providers .is-even .nv-prov-title::before {
  content: "";
  height: 1px;
  background: rgba(0,0,0,0.15);
  flex: 1 1 auto; /* stretch to edges within copy column */
}

.nv-providers .nv-prov-desc {
  margin: 0 0 16px 0;
  font-family: "Cormorant Garamond", ui-serif, Georgia, serif;
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.7;
  color: #3a3a3a;
  max-width: 500px;
}

.nv-providers .nv-prov-row.is-even .nv-prov-desc{
    justify-self: flex-end;
}


.nv-providers .nv-prov-link {
  display: inline-block;
  font-family: "The Seasons", ui-serif, Georgia, serif;
  color: #2c5a4c;
  text-decoration: underline;
}
.nv-providers .nv-prov-link:hover { color: #254c40; }

/* Responsive stacking */

@media(max-width: 1268px){
  .nv-providers .nv-prov-media img {
    width: unset
  }

  .nv-prov-media-mt-top{
    top:0;
  }

  .nv-prov-last-row{
    top:0;
    max-height: unset;
    margin-top: 100px;
  }
}

@media (max-width: 900px) {
  .nv-providers .nv-prov-row {
    grid-template-columns: 1fr;
    padding: 20px 10px;
  }

  .nv-providers .nv-prov-row.is-even {
    grid-template-columns: 1fr;
    padding: 20px 10px;
  }
  .nv-providers .is-even .nv-prov-title::before{
    width: 80px;
  }
}
