/* Procession: Lake Forest and Lake Bluff. Visual-only local page overrides. */
body.theme-procession:is(.lf-garden, .lb-shore) main {
  color: var(--pr-ivory, #f6f2e8);
  background: var(--pr-forest, #0b2922);
}
body.theme-procession:is(.lf-garden, .lb-shore) main :is(h1, h2, h3, p, figcaption) {
  text-align: center !important;
  margin-inline: auto !important;
}
body.theme-procession:is(.lf-garden, .lb-shore) main :is(h1, h2, h3) {
  color: inherit;
  line-height: 1.14;
  text-wrap: balance;
}
body.theme-procession:is(.lf-garden, .lb-shore) main h1 {
  font-size: clamp(2.25rem, 3.8vw, 3.65rem);
}
body.theme-procession:is(.lf-garden, .lb-shore) main h2 {
  font-size: clamp(1.85rem, 3vw, 2.85rem);
}
body.theme-procession:is(.lf-garden, .lb-shore) main h3 {
  font-size: clamp(1.5rem, 2.1vw, 2rem);
}
body.theme-procession:is(.lf-garden, .lb-shore) main p:not(.eyebrow) {
  font-size: 1rem;
  line-height: 1.75;
}
body.theme-procession:is(.lf-garden, .lb-shore) main .eyebrow {
  color: var(--pr-gold, #d4b477);
  font-size: .72rem;
  line-height: 1.65;
  letter-spacing: .1em;
}
body.theme-procession:is(.lf-garden, .lb-shore) main .button-row {
  justify-content: center;
  align-items: center;
}
body.theme-procession:is(.lf-garden, .lb-shore) main .button {
  min-height: 48px;
  max-width: 100%;
  padding: .8rem 1.5rem;
  color: #102a23;
  background: var(--pr-gold, #d4b477);
  border-color: var(--pr-gold, #d4b477);
  font-size: .88rem;
  white-space: normal;
  text-align: center;
}
body.theme-procession:is(.lf-garden, .lb-shore) main .button:hover {
  color: #102a23;
  background: #ead3a2;
  border-color: #ead3a2;
}
body.theme-procession.lf-garden .lf-garden-text-link,
body.theme-procession.lb-shore .lb-shore-text-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  gap: .5rem;
  color: inherit;
  font-size: .92rem;
  line-height: 1.65;
  text-align: center;
  text-decoration-thickness: 1px;
  text-underline-offset: .3em;
}

/* Lake Forest: a split welcome and open, alternating memorial photo essays. */
body.theme-procession.lf-garden .lf-garden-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(1.75rem, 4vw, 3.75rem);
  width: min(100% - 80px, 1280px);
  min-height: 0;
  margin-inline: auto;
  padding-block: 2.75rem;
  border: 0;
  color: var(--pr-ivory, #f6f2e8);
  background: var(--pr-forest, #0b2922);
}
body.theme-procession.lf-garden .lf-garden-hero > img {
  position: static;
  inset: auto;
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: clamp(300px, 33vw, 450px);
  min-height: 0;
  max-height: 450px;
  object-fit: cover;
  object-position: 58% center;
  filter: none;
}
body.theme-procession.lf-garden .lf-garden-hero__panel {
  position: static;
  grid-column: 1;
  grid-row: 1;
  display: grid;
  align-content: center;
  justify-items: center;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  color: var(--pr-ivory, #f6f2e8);
  background: transparent;
}
body.theme-procession.lf-garden .lf-garden-hero__panel > p:not(.eyebrow) {
  color: var(--pr-muted, #d6ded7);
  max-width: 53ch;
}
body.theme-procession.lf-garden .lf-garden-details {
  padding-block: clamp(2.75rem, 4.5vw, 4rem);
  color: #13342b;
  background: var(--pr-stone, #f0eee5);
}
body.theme-procession.lf-garden .lf-garden-details figure {
  border: 0;
  background: transparent;
}
body.theme-procession.lf-garden .lf-garden-details figure img {
  height: clamp(180px, 20vw, 290px);
  max-height: 290px;
  filter: none;
}
body.theme-procession.lf-garden .lf-garden-details__copy {
  width: min(100%, 700px);
  margin-top: 2rem;
}
body.theme-procession.lf-garden main p.lf-garden-script {
  color: #13342b;
  font-size: clamp(2rem, 3vw, 2.75rem);
  line-height: 1.18;
  font-style: normal;
  margin-bottom: 1rem;
}
body.theme-procession.lf-garden .lf-garden-rule {
  background: #89987d;
}
body.theme-procession.lf-garden .lf-garden-details__copy > p:last-child {
  color: #3f5148;
}
body.theme-procession.lf-garden .lf-garden-care {
  padding-block: clamp(2.75rem, 5vw, 4.5rem);
  color: var(--pr-ivory, #f6f2e8);
  background: var(--pr-forest, #0b2922);
}
body.theme-procession.lf-garden .lf-garden-heading {
  max-width: 1000px;
  margin-bottom: 2.5rem;
}
body.theme-procession.lf-garden .lf-garden-heading > p:last-child,
body.theme-procession.lf-garden .lf-garden-care__grid p {
  color: var(--pr-muted, #d6ded7);
}
body.theme-procession.lf-garden .lf-garden-care__grid,
body.theme-procession.lf-garden .lf-garden-care__grid article + article {
  border-color: var(--pr-rule, #6f7e68);
}
body.theme-procession.lf-garden .lf-garden-care__grid article {
  min-height: 0;
  padding: 2rem clamp(1.25rem, 3vw, 2.5rem);
}
body.theme-procession.lf-garden :is(.lf-garden-local, .lf-garden-price, .lf-garden-private) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  min-height: 0;
  border-color: var(--pr-rule, #6f7e68);
  color: var(--pr-ivory, #f6f2e8);
  background: var(--pr-forest, #0b2922);
}
body.theme-procession.lf-garden :is(.lf-garden-local__copy, .lf-garden-price__copy, .lf-garden-private__copy) {
  min-width: 0;
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 4.5vw, 4.5rem);
  justify-items: center;
}
body.theme-procession.lf-garden :is(.lf-garden-local__copy, .lf-garden-private__copy) > p:last-child {
  color: var(--pr-muted, #d6ded7);
  max-width: 58ch;
}
body.theme-procession.lf-garden :is(.lf-garden-local, .lf-garden-price, .lf-garden-private) figure {
  min-width: 0;
  align-self: stretch;
  margin: 0;
}
body.theme-procession.lf-garden :is(.lf-garden-local, .lf-garden-price, .lf-garden-private) figure img {
  display: block;
  height: 100%;
  min-height: 280px;
  max-height: 450px;
  object-fit: cover;
  filter: none;
}
body.theme-procession.lf-garden .lf-garden-price {
  color: #13342b;
  background: var(--pr-stone, #f0eee5);
  border-color: #bdc7b7;
}
body.theme-procession.lf-garden .lf-garden-price .eyebrow,
body.theme-procession.lf-garden main .lf-garden-price__qualifier,
body.theme-procession.lf-garden .lf-garden-price__copy > strong {
  color: #685026;
}
body.theme-procession.lf-garden main p.lf-garden-price__qualifier {
  font-size: .75rem;
  margin-bottom: .35rem;
  letter-spacing: .12em;
}
body.theme-procession.lf-garden .lf-garden-price__copy > strong {
  font-size: clamp(2.65rem, 4vw, 3.5rem);
  line-height: 1.2;
}
body.theme-procession.lf-garden .lf-garden-price__copy > p:not(.eyebrow):not(.lf-garden-price__qualifier) {
  color: #3f5148;
  max-width: 55ch;
}

/* Lake Bluff: centered introduction, panorama and a two-image story sequence. */
body.theme-procession.lb-shore .lb-shore-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  padding-top: clamp(2.75rem, 4.5vw, 4rem);
  color: var(--pr-ivory, #f6f2e8);
  background: var(--pr-forest, #0b2922);
}
body.theme-procession.lb-shore .lb-shore-hero::after {
  display: none;
}
body.theme-procession.lb-shore .lb-shore-hero__copy {
  position: static;
  top: auto;
  grid-area: 1 / 1;
  align-self: center;
  width: min(100% - 80px, 1000px);
  padding: 0 0 2.75rem;
  margin-inline: auto;
  color: var(--pr-ivory, #f6f2e8);
  background: transparent;
}
body.theme-procession.lb-shore .lb-shore-hero__copy h1 {
  max-width: 790px;
}
body.theme-procession.lb-shore .lb-shore-hero__copy > p:not(.eyebrow) {
  color: var(--pr-muted, #d6ded7);
  max-width: 70ch;
  margin-bottom: 1.5rem;
}
body.theme-procession.lb-shore .lb-shore-hero > img {
  grid-area: 2 / 1;
  position: static;
  width: min(100% - 80px, 1280px);
  max-width: 1280px;
  height: clamp(200px, 25vw, 350px);
  min-height: 0;
  margin-inline: auto;
  object-fit: cover;
  object-position: center 58%;
  filter: none;
}
body.theme-procession.lb-shore .lb-shore-details {
  padding: clamp(2rem, 4vw, 3.5rem) 40px;
  background: var(--pr-forest, #0b2922);
  border-color: var(--pr-rule, #6f7e68);
}
body.theme-procession.lb-shore .lb-shore-details figure {
  width: min(100%, 920px);
  margin-inline: auto;
}
body.theme-procession.lb-shore .lb-shore-details img {
  height: clamp(150px, 19vw, 235px);
  max-height: 235px;
  filter: none;
}
body.theme-procession.lb-shore .lb-shore-story {
  padding-block: clamp(2.75rem, 5vw, 4.5rem);
  color: #13342b;
  background: var(--pr-stone, #f0eee5);
}
body.theme-procession.lb-shore .lb-shore-story__heading {
  max-width: 1000px;
  margin-bottom: 2.25rem;
}
body.theme-procession.lb-shore .lb-shore-story .eyebrow {
  color: #685026;
}
body.theme-procession.lb-shore .lb-shore-story__heading > p:last-child {
  color: #3f5148;
  max-width: 74ch;
}
body.theme-procession.lb-shore .lb-shore-story__images {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
body.theme-procession.lb-shore .lb-shore-story__images img {
  height: clamp(240px, 27vw, 370px);
  max-height: 370px;
  filter: none;
}
body.theme-procession.lb-shore .lb-shore-service {
  padding-block: clamp(2.75rem, 4.5vw, 4rem);
  color: var(--pr-ivory, #f6f2e8);
  background: var(--pr-forest, #0b2922);
  border-color: var(--pr-rule, #6f7e68);
}
body.theme-procession.lb-shore .lb-shore-service__inner {
  max-width: 960px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  justify-items: center;
}
body.theme-procession.lb-shore main .lb-shore-service__qualifier,
body.theme-procession.lb-shore .lb-shore-service__inner > strong {
  color: var(--pr-gold, #d4b477);
}
body.theme-procession.lb-shore main p.lb-shore-service__qualifier {
  font-size: .75rem;
  margin-bottom: .35rem;
  letter-spacing: .12em;
}
body.theme-procession.lb-shore .lb-shore-service__inner > strong {
  font-size: clamp(2.65rem, 4vw, 3.5rem);
  line-height: 1.2;
}
body.theme-procession.lb-shore .lb-shore-service__inner > p:not(.eyebrow):not(.lb-shore-service__qualifier) {
  max-width: 66ch;
  color: var(--pr-muted, #d6ded7);
}
body.theme-procession.lb-shore .lb-shore-private {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  min-height: 0;
  color: #13342b;
  background: var(--pr-stone, #f0eee5);
  border-color: #bdc7b7;
}
body.theme-procession.lb-shore .lb-shore-private figure {
  min-width: 0;
  align-self: stretch;
}
body.theme-procession.lb-shore .lb-shore-private figure img {
  display: block;
  height: 100%;
  min-height: 280px;
  max-height: 450px;
  filter: none;
}
body.theme-procession.lb-shore .lb-shore-private__copy {
  min-width: 0;
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 4.5vw, 4.5rem);
  justify-items: center;
}
body.theme-procession.lb-shore .lb-shore-private .eyebrow {
  color: #685026;
}
body.theme-procession.lb-shore .lb-shore-private__copy > p:last-child {
  color: #3f5148;
  max-width: 58ch;
}

@media (max-width: 1023px) {
  body.theme-procession.lf-garden .lf-garden-hero,
  body.theme-procession.lb-shore .lb-shore-hero > img,
  body.theme-procession.lb-shore .lb-shore-hero__copy {
    width: calc(100% - 48px);
  }
  body.theme-procession.lf-garden .lf-garden-hero {
    gap: 1.75rem;
  }
  body.theme-procession.lf-garden .lf-garden-hero > img {
    height: 360px;
  }
  body.theme-procession.lb-shore .lb-shore-details {
    padding-inline: 24px;
  }
}
@media (max-width: 900px) {
  body.theme-procession.lf-garden :is(.lf-garden-local, .lf-garden-price, .lf-garden-private),
  body.theme-procession.lb-shore .lb-shore-private {
    grid-template-columns: minmax(0, 1fr);
  }
  body.theme-procession.lf-garden :is(.lf-garden-local, .lf-garden-price, .lf-garden-private) figure img,
  body.theme-procession.lb-shore .lb-shore-private figure img {
    height: min(46vw, 380px);
    min-height: 0;
    max-height: 380px;
  }
  body.theme-procession.lf-garden .lf-garden-price figure,
  body.theme-procession.lf-garden .lf-garden-private__copy {
    grid-row: auto;
  }
}
@media (max-width: 760px) {
  body.theme-procession:is(.lf-garden, .lb-shore) main h1 {
    font-size: clamp(2.05rem, 8.25vw, 3rem);
    line-height: 1.13;
    max-width: 580px;
  }
  body.theme-procession:is(.lf-garden, .lb-shore) main h2 {
    font-size: clamp(1.8rem, 6.7vw, 2.4rem);
    line-height: 1.15;
  }
  body.theme-procession:is(.lf-garden, .lb-shore) main h3 {
    font-size: 1.7rem;
  }
  body.theme-procession.lf-garden .lf-garden-hero,
  body.theme-procession.lb-shore .lb-shore-hero > img,
  body.theme-procession.lb-shore .lb-shore-hero__copy {
    width: calc(100% - 40px);
  }
  body.theme-procession.lf-garden .lf-garden-hero {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    padding-block: 2.25rem;
    gap: 2rem;
  }
  body.theme-procession.lf-garden .lf-garden-hero__panel {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    padding: 0;
  }
  body.theme-procession.lf-garden .lf-garden-hero > img {
    grid-column: 1;
    grid-row: 2;
    height: min(66vw, 320px);
    max-height: 320px;
  }
  body.theme-procession.lf-garden .lf-garden-hero__panel .button-row {
    flex-direction: column;
    gap: .5rem;
  }
  body.theme-procession.lf-garden .lf-garden-hero__panel .button-row .button,
  body.theme-procession.lb-shore .lb-shore-hero__copy .button {
    min-height: 48px;
    padding: .8rem 1.5rem;
    font-size: .88rem;
  }
  body.theme-procession.lf-garden .lf-garden-details figure img {
    height: min(49vw, 260px);
  }
  body.theme-procession.lf-garden .lf-garden-care__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  body.theme-procession.lf-garden .lf-garden-care__grid article {
    padding: 1.75rem 0;
  }
  body.theme-procession.lf-garden .lf-garden-care__grid article + article {
    border-top: 1px solid var(--pr-rule, #6f7e68);
    border-left: 0;
  }
  body.theme-procession.lf-garden :is(.lf-garden-local__copy, .lf-garden-price__copy, .lf-garden-private__copy),
  body.theme-procession.lb-shore .lb-shore-private__copy {
    padding: 2.75rem 20px;
  }
  body.theme-procession.lf-garden :is(.lf-garden-local, .lf-garden-price, .lf-garden-private) figure img,
  body.theme-procession.lb-shore .lb-shore-private figure img {
    height: min(64vw, 320px);
    max-height: 320px;
  }
  body.theme-procession.lb-shore .lb-shore-hero {
    min-height: 0;
    padding-top: 2.25rem;
  }
  body.theme-procession.lb-shore .lb-shore-hero__copy {
    padding: 0 0 2rem;
  }
  body.theme-procession.lb-shore .lb-shore-hero > img {
    height: min(50vw, 280px);
    max-width: 100%;
    object-position: center 58%;
  }
  body.theme-procession.lb-shore .lb-shore-details {
    padding: 1.75rem 20px;
  }
  body.theme-procession.lb-shore .lb-shore-details img {
    height: min(43vw, 220px);
  }
  body.theme-procession.lb-shore .lb-shore-story__images {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }
  body.theme-procession.lb-shore .lb-shore-story__images img {
    height: min(63vw, 320px);
    max-height: 320px;
  }
}
