:root {
  --emerald-950: #073c36;
  --emerald-900: #0a4a42;
  --emerald-800: #0e5a50;
  --emerald-700: #1b6a5c;
  --cream: #f8f0e3;
  --ivory: #fffaf1;
  --blush: #f2e4dc;
  --gold: #c59a34;
  --gold-light: #e2c36e;
  --berry: #7e123d;
  --cranberry-vivid: #a3194d;
  --ink: #20312c;
  --shadow: 0 24px 60px rgb(3 35 31 / 22%);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-snap-type: y proximity;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: "Trebuchet MS", Arial, sans-serif;
  line-height: 1.65;
}

a {
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
}

.section {
  position: relative;
  min-height: 100vh;
  scroll-margin-top: 0;
  scroll-snap-align: start;
  overflow: hidden;
}

.site-header {
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding: 22px clamp(24px, 5vw, 72px);
  color: var(--cream);
  pointer-events: none;
  transition: background 220ms ease, padding 220ms ease, box-shadow 220ms ease;
}

.site-header.scrolled {
  padding-block: 12px;
  background: rgb(7 60 54 / 95%);
  box-shadow: 0 8px 22px rgb(0 0 0 / 12%);
  backdrop-filter: blur(10px);
}

.wordmark,
.menu-button,
.menu-panel {
  pointer-events: auto;
}

.wordmark {
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(0.85rem, 1.25vw, 1.1rem);
  letter-spacing: 0.24em;
  text-decoration: none;
}

.brand-name {
  font-family: Georgia, "Times New Roman", serif;
}

.brand-name-inline {
  color: inherit;
  font-weight: 600;
  letter-spacing: 0.035em;
}

.menu-button {
  width: 42px;
  height: 42px;
  padding: 10px;
  border: 1px solid rgb(197 154 52 / 72%);
  border-radius: 50%;
  background: var(--emerald-950);
  box-shadow:
    0 0 0 3px rgb(7 60 54 / 88%),
    0 8px 18px rgb(0 20 18 / 18%);
  cursor: pointer;
}

.menu-button span {
  display: block;
  width: 100%;
  height: 1px;
  margin: 5px 0;
  background: var(--gold);
  transition: transform 180ms ease, opacity 180ms ease;
}

.menu-button[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.menu-button[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.menu-button[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.menu-panel {
  position: absolute;
  top: 76px;
  right: clamp(24px, 5vw, 72px);
  display: grid;
  min-width: 290px;
  padding: 18px 22px 20px;
  border: 1px solid rgb(197 154 52 / 72%);
  border-radius: 2px 2px 34px 34px;
  background:
    linear-gradient(145deg, rgb(18 91 79 / 97%), rgb(5 52 47 / 98%)),
    var(--emerald-950);
  box-shadow:
    0 24px 54px rgb(0 20 18 / 32%),
    inset 0 0 0 4px rgb(197 154 52 / 8%);
  opacity: 0;
  transform: translateY(-8px);
  visibility: hidden;
  transition: 180ms ease;
}

.menu-panel::before {
  color: var(--gold-light);
  content: "◆";
  font-size: 0.55rem;
  text-align: center;
  text-shadow: 18px 0 0 rgb(197 154 52 / 45%), -18px 0 0 rgb(197 154 52 / 45%);
}

.menu-panel::after {
  width: 72%;
  height: 1px;
  margin: 9px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  content: "";
}

.menu-panel.open {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
}

.menu-panel a {
  padding: 12px 10px;
  border-bottom: 1px solid rgb(197 154 52 / 20%);
  color: var(--cream);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.9rem;
  letter-spacing: 0.12em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease, letter-spacing 160ms ease, background 160ms ease;
}

.menu-panel a:hover,
.menu-panel a:focus-visible {
  color: var(--gold-light);
  background: linear-gradient(90deg, transparent, rgb(197 154 52 / 9%), transparent);
  letter-spacing: 0.15em;
}

.menu-panel a:last-child {
  border-bottom: 0;
}

.hero {
  display: grid;
  height: 100svh;
  min-height: 620px;
  place-items: center;
  padding: clamp(72px, 9vh, 96px) 24px clamp(22px, 5vh, 52px);
  color: var(--cream);
  text-align: center;
  background:
    radial-gradient(circle at 50% 35%, rgb(34 120 103 / 35%), transparent 43%),
    linear-gradient(145deg, var(--emerald-950), #0c5148 62%, #073b36);
}

.hero::before,
.hero::after {
  position: absolute;
  z-index: 1;
  top: 52px;
  bottom: 0;
  width: 38vw;
  background-image: url("assets/hero-floral-reference.webp");
  background-repeat: no-repeat;
  background-size: 100vw 100svh;
  content: "";
  opacity: 0.94;
  pointer-events: none;
}

.hero::before {
  left: 0;
  background-position: left -52px;
  -webkit-mask-image: linear-gradient(to right, #000 0 77%, transparent 100%);
  mask-image: linear-gradient(to right, #000 0 77%, transparent 100%);
}

.hero::after {
  right: 0;
  background-position: right -52px;
  -webkit-mask-image: linear-gradient(to left, #000 0 77%, transparent 100%);
  mask-image: linear-gradient(to left, #000 0 77%, transparent 100%);
}

.paper-texture {
  position: absolute;
  inset: 0;
  opacity: 0.18;
  background-image:
    repeating-radial-gradient(circle at 0 0, transparent 0, #fff 1px, transparent 2px, transparent 7px),
    repeating-linear-gradient(130deg, transparent 0, transparent 8px, rgb(255 255 255 / 5%) 9px);
  mix-blend-mode: soft-light;
}

.botanical {
  position: absolute;
  fill: none;
  stroke: var(--gold-light);
  stroke-width: 2;
  opacity: 0.28;
}

.botanical .leaves {
  fill: var(--gold-light);
  stroke: none;
}

.botanical {
  display: none;
}

.botanical .fine-stem {
  stroke-width: 1.35;
}

.botanical .flowers {
  fill: none;
  stroke: var(--gold-light);
  stroke-width: 1.8;
}

.botanical .flowers circle {
  fill: var(--gold-light);
}

.botanical-left {
  left: 2%;
}

.botanical-right {
  right: 2%;
  transform: scaleX(-1);
}

.hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  max-width: 760px;
  flex-direction: column;
  align-items: center;
}

.hero-logo-frame {
  position: relative;
  z-index: 1;
  width: clamp(234px, min(25vw, 37vh), 346px);
  padding: 6px;
  border: 1px solid rgb(197 154 52 / 84%);
  border-radius: 50%;
  box-shadow:
    0 0 0 5px rgb(197 154 52 / 8%),
    0 0 0 6px rgb(197 154 52 / 38%);
}

.hero-logo {
  width: 100%;
  filter: drop-shadow(0 16px 26px rgb(0 0 0 / 23%));
}

.ornament {
  display: flex;
  width: min(340px, 64vw);
  align-items: center;
  gap: 13px;
  margin: clamp(9px, 1.8vh, 18px) 0 6px;
  color: var(--gold-light);
}

.ornament span {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, var(--gold-light));
}

.ornament span:last-child {
  background: linear-gradient(90deg, var(--gold-light), transparent);
}

.ornament i {
  font-size: 0.6rem;
  font-style: normal;
}

.eyebrow,
.section-kicker {
  margin: 0 0 8px;
  color: var(--gold-light);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

h1,
h2,
h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
}

h1 {
  font-size: clamp(2.1rem, 4.15vw, 3.9rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  text-shadow: 0 4px 26px rgb(0 0 0 / 15%);
}

.hero h1 em {
  display: inline-block;
  margin-top: clamp(4px, 1vh, 10px);
  color: var(--gold-light);
  font-family: "Pinyon Script", "Edwardian Script ITC", "Bickham Script Pro 3", "Palace Script MT", "Snell Roundhand", Georgia, serif;
  font-size: 1.25em;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.9;
}

.hero blockquote {
  max-width: 660px;
  margin: clamp(10px, 2vh, 19px) auto clamp(14px, 2.5vh, 24px);
  color: rgb(255 250 241 / 90%);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(0.92rem, 1.35vw, 1.08rem);
  font-style: italic;
}

.hero cite {
  display: block;
  margin-top: 6px;
  color: var(--gold-light);
  font-family: "Trebuchet MS", Arial, sans-serif;
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 13px 26px;
  border: 1px solid transparent;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform 180ms ease, background 180ms ease, color 180ms ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
}

.button-cream {
  color: var(--emerald-950);
  background: var(--cream);
  box-shadow: 0 10px 28px rgb(0 0 0 / 18%);
}

.button-cream:hover,
.button-cream:focus-visible {
  color: var(--cream);
  border-color: var(--gold-light);
  background: transparent;
}

.what-we-do {
  display: grid;
  grid-template-columns: minmax(0, 0.93fr) minmax(0, 1.07fr);
  background: var(--emerald-900);
}

.what-we-do::before {
  position: absolute;
  z-index: 4;
  top: 0;
  bottom: 0;
  left: 0;
  width: 14px;
  background: linear-gradient(
    to right,
    transparent 0 2px,
    var(--gold-light) 2px 3px,
    transparent 3px 6px,
    var(--gold-light) 6px 7px,
    transparent 7px 10px,
    var(--gold-light) 10px 11px,
    transparent 11px 14px
  );
  background-color: var(--cranberry-vivid);
  content: "";
  opacity: 1;
}

.what-copy {
  position: relative;
  display: flex;
  padding: 120px clamp(42px, 7vw, 108px) 80px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  color: var(--cream);
  background:
    radial-gradient(circle at 0 100%, rgb(226 195 110 / 12%), transparent 37%),
    var(--emerald-900);
}

.what-copy > * {
  position: relative;
  z-index: 1;
}

.what-copy h2,
.approach h2 {
  color: var(--cream);
  font-size: clamp(2.8rem, 5.3vw, 5.3rem);
  line-height: 1;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.what-copy h2 {
  position: relative;
  width: fit-content;
  margin-top: clamp(45px, 5.6vh, 57px);
  color: var(--cream);
  font-family: "Pinyon Script", "Edwardian Script ITC", "Bickham Script Pro 3", "Palace Script MT", "Snell Roundhand", Georgia, serif;
  font-size: clamp(4.25rem, 5.9vw, 6.45rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.92;
  text-align: left;
  text-transform: none;
}

.what-copy h2::after {
  position: absolute;
  left: 0;
  bottom: -12px;
  width: 62%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold) 14%, var(--gold-light) 78%, transparent);
  content: "";
}

.what-heading {
  width: 100%;
}

.what-copy .lead {
  position: relative;
  max-width: 610px;
  margin: 28px 0 30px;
  padding: 17px 22px 18px 20px;
  border-left: 2px solid var(--gold);
  color: var(--gold-light);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.14rem, 1.8vw, 1.48rem);
  font-style: italic;
  line-height: 1.7;
}

.what-copy .lead::before,
.what-copy .lead::after {
  position: absolute;
  left: 0;
  width: 78%;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), rgb(197 154 52 / 26%), transparent);
  content: "";
}

.what-copy .lead::before {
  top: 0;
}

.what-copy .lead::after {
  bottom: 0;
}

.what-copy > p:not(.section-kicker):not(.lead) {
  max-width: 620px;
  margin: 0 0 34px;
  color: rgb(255 250 241 / 86%);
  font-size: clamp(0.9rem, 1.1vw, 1rem);
  line-height: 1.95;
}

.button-gold {
  color: var(--emerald-950);
  background: var(--gold-light);
}

.button-gold:hover,
.button-gold:focus-visible {
  border-color: var(--gold-light);
  color: var(--gold-light);
  background: transparent;
}

.what-image-wrap {
  position: relative;
  min-height: 100vh;
  margin: 0;
  overflow: hidden;
}

.what-image-wrap::before {
  position: absolute;
  z-index: 3;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  background: rgb(197 154 52 / 72%);
  content: "";
}

.what-image-wrap::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgb(7 60 54 / 25%), transparent 25%);
  content: "";
}

.what-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.what-image-wrap figcaption {
  position: absolute;
  z-index: 2;
  right: 32px;
  bottom: 30px;
  max-width: 300px;
  padding: 15px 19px;
  border-left: 2px solid var(--gold-light);
  color: var(--cream);
  font-family: Georgia, serif;
  font-size: 0.88rem;
  font-style: italic;
  text-align: right;
  text-shadow: 0 2px 10px rgb(0 0 0 / 70%);
}

.approach {
  display: flex;
  padding: 90px clamp(30px, 7vw, 110px) 70px;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  background:
    radial-gradient(circle at 50% 25%, rgb(255 255 255 / 75%), transparent 42%),
    linear-gradient(145deg, var(--cream), #f3e6d8);
}

.approach-inner {
  position: relative;
  z-index: 2;
  width: min(1180px, 100%);
  text-align: center;
}

.approach .section-kicker {
  position: relative;
  margin-bottom: 12px;
  padding-bottom: 8px;
  color: var(--berry);
}

.approach .section-kicker::after {
  position: absolute;
  right: -8%;
  bottom: 0;
  left: -8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold) 15%, var(--gold) 85%, transparent);
  content: "";
}

.approach h2 {
  color: var(--emerald-950);
  font-family: "Pinyon Script", "Edwardian Script ITC", "Bickham Script Pro 3", "Palace Script MT", "Snell Roundhand", Georgia, serif;
  font-size: clamp(4.2rem, 5.8vw, 6.4rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.9;
  text-transform: none;
}

.approach-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.approach-photo {
  width: min(460px, 72vw);
  aspect-ratio: 2.65 / 1;
  margin: 22px auto 30px;
  padding: 5px;
  border: 1px solid var(--gold);
  border-radius: 999px;
  background: var(--ivory);
  box-shadow: 0 14px 34px rgb(44 50 33 / 16%);
  overflow: hidden;
}

.approach-photo img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  object-position: center 43%;
}

.approach-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 20px;
}

.approach-card {
  position: relative;
  min-height: 235px;
  padding: 35px 30px 28px;
  border: 1px solid rgb(197 154 52 / 47%);
  background: rgb(255 250 241 / 72%);
  box-shadow: 0 16px 38px rgb(55 50 28 / 9%);
  text-align: left;
}

.approach-card:not(.featured) {
  transform: translateY(-20px);
}

.approach-card.featured {
  color: var(--cream);
  background: var(--emerald-900);
  transform: translateY(9px);
}

.card-number {
  position: absolute;
  top: 18px;
  right: 20px;
  color: var(--gold);
  font-family: Georgia, serif;
  font-size: 0.82rem;
  letter-spacing: 0.12em;
}

.card-number::after {
  position: absolute;
  right: 0;
  bottom: -6px;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold) 18%, var(--gold-light) 82%, transparent);
  content: "";
}

.approach-card h3 {
  position: relative;
  margin-bottom: 10px;
  padding-bottom: 15px;
  color: var(--berry);
  font-size: clamp(1.6rem, 2.4vw, 2.15rem);
  text-align: center;
}

.approach-card h3::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 84px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold) 18%, var(--gold-light) 82%, transparent);
  content: "";
  transform: translateX(-50%);
}

.approach-card.featured h3 {
  color: var(--gold-light);
}

.approach-card p {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.7;
}

.approach-card.featured p {
  color: rgb(255 250 241 / 86%);
}

.vision-line {
  display: flex;
  margin: 27px auto 0;
  align-items: center;
  justify-content: center;
  gap: 15px;
  color: var(--emerald-900);
}

.vision-line span {
  color: var(--berry);
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

.vision-line p {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 0.97rem;
  font-style: italic;
}

.approach-side-ornament {
  position: absolute;
  z-index: 1;
  top: 10%;
  bottom: 12%;
  display: flex;
  width: min(11vw, 150px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
}

.approach-side-ornament-left {
  left: 1.25%;
}

.approach-side-ornament-right {
  right: 1.25%;
}

.approach-silhouette {
  width: min(100%, 118px);
  height: auto;
  object-fit: contain;
  opacity: 0.24;
}

.approach-silhouette-left {
  transform: scaleX(-1);
}

.side-ornament-line {
  position: relative;
  width: 1px;
  height: min(12vh, 92px);
  flex: 0 1 92px;
  background: linear-gradient(to bottom, transparent, rgb(197 154 52 / 68%) 24%, rgb(197 154 52 / 68%) 76%, transparent);
}

.side-ornament-line::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border: 1px solid rgb(197 154 52 / 74%);
  background: var(--cream);
  content: "";
  transform: translate(-50%, -50%) rotate(45deg);
}

.site-footer {
  position: absolute;
  z-index: 3;
  bottom: 0;
  left: 0;
  display: flex;
  width: 100%;
  min-height: 45px;
  padding: 10px clamp(24px, 5vw, 72px);
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: rgb(255 250 241 / 82%);
  background: var(--emerald-950);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
}

.site-footer span:first-child {
  color: var(--gold-light);
  font-family: Georgia, serif;
  font-size: 0.92rem;
}

.site-footer a {
  text-decoration: none;
}

/* About Us — Version 1 */
.about-page-body {
  height: 100svh;
  overflow: hidden;
  color: var(--cream);
  background: var(--emerald-950);
}

.about-page-body .site-header {
  min-height: 70px;
  padding-block: 14px;
  background: var(--emerald-950);
  box-shadow: 0 8px 24px rgb(0 24 21 / 18%);
}

.about-page-body .site-header.scrolled {
  background: rgb(7 60 54 / 95%);
}

.about-page-body .menu-panel a[aria-current="page"] {
  color: var(--gold-light);
  background: linear-gradient(90deg, transparent, rgb(197 154 52 / 12%), transparent);
}

.about-page {
  --about-page-inset: clamp(22px, 3.4vh, 34px);
  position: relative;
  display: grid;
  height: 100svh;
  padding: 70px 0 45px;
  grid-template-columns: minmax(0, 0.93fr) minmax(0, 1.07fr);
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, rgb(226 195 110 / 8%), transparent 31%),
    var(--emerald-900);
}

.about-visual {
  position: relative;
  min-height: 0;
  margin: var(--about-page-inset) 0 var(--about-page-inset) clamp(30px, 4.6vw, 72px);
  border: 1px solid rgb(226 195 110 / 72%);
  overflow: hidden;
  background: var(--emerald-950);
  box-shadow: 0 22px 52px rgb(0 25 22 / 28%);
}

.about-visual::before {
  display: none;
}

.about-visual::after {
  display: none;
}

.about-visual img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center 43%;
}

.about-story {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 0;
  padding: var(--about-page-inset) clamp(36px, 5vw, 72px);
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, rgb(226 195 110 / 11%), transparent 34%),
    radial-gradient(circle at 0 100%, rgb(126 18 61 / 15%), transparent 39%),
    var(--emerald-900);
}

.about-story::before,
.about-story::after {
  position: absolute;
  width: 175px;
  height: 245px;
  background-image: url("assets/hero-botanical.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  opacity: 0.1;
  pointer-events: none;
}

.about-story::before {
  top: -18px;
  right: -54px;
  transform: rotate(-7deg);
}

.about-story::after {
  display: none;
}

.about-story > * {
  position: relative;
  z-index: 1;
}

.about-story .section-kicker {
  margin-bottom: 22px;
  color: var(--gold-light);
  text-align: center;
}

.about-heading {
  position: relative;
  display: flex;
  width: min(100%, 760px);
  min-height: clamp(108px, 15vh, 144px);
  align-self: flex-start;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.about-heading-copy {
  position: relative;
  z-index: 2;
}

.about-logo-emblem {
  position: absolute;
  z-index: 1;
  top: 50%;
  width: clamp(92px, 9.2vw, 132px);
  height: auto;
  opacity: 0.88;
  pointer-events: none;
}

.about-logo-emblem-left {
  left: clamp(0px, 2vw, 24px);
  transform: translateY(-50%);
}

.about-logo-emblem-right {
  right: clamp(0px, 2vw, 24px);
  transform: translateY(-50%) scaleX(-1);
}

.about-title {
  width: fit-content;
  margin: 0;
  color: var(--cream);
  font-family: "Pinyon Script", "Edwardian Script ITC", "Bickham Script Pro 3", "Palace Script MT", "Snell Roundhand", Georgia, serif;
  font-size: clamp(4rem, 6.2vw, 6.25rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.86;
}

.about-title::after {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 9px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light) 50%, var(--gold));
  content: "";
}

.about-copy {
  display: flex;
  max-width: 760px;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  gap: clamp(18px, 2.5vh, 28px);
  padding-block: clamp(10px, 1.8vh, 20px);
}

.about-copy p {
  margin: 0;
  color: rgb(255 250 241 / 88%);
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: clamp(calc(1.22rem + 2px), calc(1.45vw + 2px), calc(1.38rem + 2px));
  font-weight: 500;
  line-height: 1.8;
}

.about-copy .about-team-note {
  margin: 0;
  padding-inline: 17px;
  border-left: 2px solid rgb(226 195 110 / 76%);
  border-right: 2px solid rgb(226 195 110 / 76%);
  color: rgb(255 250 241 / 74%);
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: clamp(1.08rem, 1.22vw, 1.2rem);
  font-style: italic;
  line-height: 1.7;
  text-align: center;
}

.about-copy .brand-name-inline {
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-weight: 600;
}

.about-quote {
  position: relative;
  width: min(100%, 690px);
  max-width: 690px;
  margin: 0;
  align-self: center;
  padding: 0 clamp(30px, 3vw, 44px);
  border: 0;
  color: var(--gold-light);
  background: transparent;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: clamp(1.55rem, 2.15vw, 2.05rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.35;
  text-align: center;
}

.about-quote::after {
  display: none;
}

.quote-text {
  position: relative;
  z-index: 1;
}

.quote-mark {
  display: inline;
  color: var(--gold-light);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.34em;
  font-style: normal;
  line-height: 1;
  text-shadow: 0 4px 16px rgb(0 0 0 / 22%);
  vertical-align: -0.08em;
}

.about-spine-lines {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  bottom: 0;
  width: 14px;
  background: linear-gradient(
    to right,
    transparent 0 2px,
    var(--gold-light) 2px 3px,
    transparent 3px 6px,
    var(--gold-light) 6px 7px,
    transparent 7px 10px,
    var(--gold-light) 10px 11px,
    transparent 11px 14px
  );
  background-color: var(--cranberry-vivid);
  opacity: 1;
  pointer-events: none;
}

.about-page-body .site-footer {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  html {
    scroll-snap-type: none;
  }

  .section {
    min-height: auto;
  }

  .hero {
    height: auto;
    min-height: 100svh;
  }

  .botanical {
    width: 22vw;
    opacity: 0.18;
  }

  .hero::before,
  .hero::after {
    top: 58px;
    width: 43vw;
    background-size: auto 100%;
    opacity: 0.34;
  }

  .what-we-do {
    grid-template-columns: 1fr;
  }

  .what-copy {
    min-height: 680px;
    padding: 110px 9vw 80px;
  }

  .what-image-wrap {
    min-height: 62svh;
  }

  .approach {
    padding: 95px 7vw 100px;
  }

  .approach-cards {
    grid-template-columns: 1fr;
  }

  .approach-card {
    min-height: 0;
  }

  .approach-card,
  .approach-card.featured {
    transform: none;
  }

  .approach-side-ornament {
    display: none;
  }

  .site-footer {
    flex-wrap: wrap;
    gap: 6px 14px;
  }

  .about-page {
    height: auto;
    min-height: 100svh;
    padding: 70px 0 0;
    grid-template-columns: 1fr;
    overflow: visible;
  }

  .about-visual {
    min-height: 64svh;
    margin: 28px 8vw 0;
  }

  .about-visual img {
    height: 64svh;
    min-height: 0;
    object-position: center 40%;
  }

  .about-visual::after {
    top: auto;
    left: 0;
    width: 100%;
    height: 5px;
    border-right: 0;
    border-bottom: 1px solid rgb(226 195 110 / 82%);
    box-shadow: 0 4px 0 rgb(197 154 52 / 22%);
  }

  .about-story {
    min-height: auto;
    padding: 88px 9vw 92px;
    gap: 26px;
  }

  .about-page-body .site-footer {
    position: relative;
  }

  .about-page-body {
    height: auto;
    min-height: 100svh;
    overflow: visible;
  }
}

/* Version 88 — tighter Services alignment, connected Events cards, and refined contrast */

/* Home — quotation treatment */
.what-section-quote {
  color: var(--cream);
}

/* Services — compact the cards and align their top edge with “How We Help” */
.services-shell .services-grid {
  align-self: center;
  height: 86%;
  padding: 0;
}
.services-shell .service-card,
.services-shell .service-card:nth-child(n) {
  width: 95%;
  height: 94%;
  padding: clamp(10px, 1.2vh, 14px) clamp(13px, 1.1vw, 17px);
}
.services-shell .service-icon {
  width: clamp(34px, 3.8vh, 41px);
  height: clamp(34px, 3.8vh, 41px);
}
.services-shell .service-card h2 {
  font-size: clamp(1rem, 1.78vh, 1.2rem);
}
.services-shell .service-card p {
  font-size: clamp(.72rem, 1.27vh, .84rem);
}
.services-shell .service-explore {
  min-height: 25px;
  margin-top: 6px;
  padding-block: 3px;
}

/* Speaking Engagements — branded invitation button */
.speaking-button {
  border-color: var(--gold-light);
  color: var(--gold-light);
  background: var(--cranberry-vivid);
}
.speaking-button:hover,
.speaking-button:focus-visible {
  color: var(--cream);
  background: #861744;
}

/* Events — richer burgundy balance */
.support-events {
  background:
    linear-gradient(90deg, rgb(163 25 77 / 48%) 0 8px, transparent 8px calc(100% - 8px), rgb(163 25 77 / 48%) calc(100% - 8px)),
    radial-gradient(circle at 50% 40%, rgb(27 106 92 / 35%), transparent 42%),
    var(--emerald-950);
}
.support-events .schedule-card {
  border-top: 3px solid var(--cranberry-vivid);
  box-shadow: 0 20px 38px rgb(0 20 17 / 22%), inset 0 4px 0 rgb(163 25 77 / 10%);
}
.support-events .schedule-card:nth-child(even) {
  border-top-color: var(--gold-light);
}

/* Let the burgundy/cream/burgundy connector appear only in the gaps. */
.event-schedule-grid::before,
.dora-event-grid::before {
  position: absolute;
  z-index: 0;
  top: 50%;
  height: 1px;
  background: var(--cranberry-vivid);
  box-shadow: 0 4px 0 var(--cream), 0 8px 0 var(--cranberry-vivid);
  content: "";
  pointer-events: none;
}
.event-schedule-grid::before {
  right: 12.5%;
  left: 12.5%;
}
.dora-event-grid::before {
  right: 16.666%;
  left: 16.666%;
}
.schedule-card,
.dora-event-card {
  position: relative;
  z-index: 1;
}
.schedule-card::after { display: none; }

/* Workshops — remove the tall side stripes and unify the closing quotation. */
.workshop-events::before,
.workshop-events::after {
  display: none;
}
.event-section-mantra,
.support-mantra,
.workshop-mantra {
  color: var(--cream);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.98rem, 1.85vh, 1.16rem);
  font-style: italic;
  font-weight: 500;
  letter-spacing: .035em;
  text-transform: none;
}
.workshop-events .schedule-card:nth-child(odd) {
  border-bottom: 3px solid var(--cranberry-vivid);
}
.workshop-events .schedule-card:nth-child(even) {
  border-bottom: 3px solid var(--cream);
}

/* Experiences — retain the elegant heading fillers and deepen the burgundy note. */
.dora-events-heading::before,
.dora-events-heading::after {
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--cranberry-vivid) 18% 48%, var(--gold-light) 48% 82%, transparent);
  box-shadow: 0 5px 0 rgb(248 240 227 / 60%);
}
.dora-event-card {
  border-color: rgb(163 25 77 / 72%);
  box-shadow: 0 24px 44px rgb(0 18 15 / 28%), 0 0 0 1px rgb(226 195 110 / 45%);
}

/* Bible Study — remove the triple connector lines above the two panels. */
.bible-show-layout::before,
.bible-show-layout::after {
  display: none;
}

/* Navigation — restore the Version 86 diamond treatment and distinguish the panel. */
.menu-panel {
  border-color: rgb(226 195 110 / 82%);
  background:
    radial-gradient(circle at 50% 0, rgb(226 195 110 / 10%), transparent 36%),
    linear-gradient(145deg, rgb(105 18 55 / 98%), rgb(62 12 37 / 98%));
  box-shadow:
    0 24px 54px rgb(0 15 13 / 40%),
    inset 0 0 0 4px rgb(226 195 110 / 9%);
}
.menu-panel::before {
  color: var(--gold-light);
  text-shadow: 18px 0 0 rgb(197 154 52 / 45%), -18px 0 0 rgb(197 154 52 / 45%);
}
.menu-panel a {
  border-bottom-color: rgb(226 195 110 / 28%);
}
.menu-panel a:hover,
.menu-panel a:focus-visible,
.menu-panel a[aria-current="page"] {
  color: var(--gold-light);
  background: linear-gradient(90deg, transparent, rgb(248 240 227 / 9%), transparent);
}

@media (max-width: 900px) {
  .services-shell .services-grid { height: auto; }
  .services-shell .service-card,
  .services-shell .service-card:nth-child(n) { width: 100%; height: auto; }
  .event-schedule-grid::before,
  .dora-event-grid::before { display: none; }
}

@media (min-width: 901px) {
  .services-shell .services-grid { height: 74%; }
}

@media (min-width: 901px) {
  .services-shell .services-grid { height: 74%; }
}

@media (min-width: 901px) {
  .section {
    height: 100svh;
    min-height: 620px;
  }

  .what-copy,
  .what-image-wrap {
    height: 100%;
    min-height: 0;
  }

  .what-copy {
    padding-top: clamp(94px, 12vh, 118px);
    padding-bottom: clamp(54px, 8vh, 78px);
    justify-content: space-between;
  }

  .about-heading {
    transform: translateX(-20px);
  }

  .what-copy .lead,
  .what-copy > p:not(.section-kicker):not(.lead) {
    margin-top: 0;
    margin-bottom: 0;
  }

  .approach {
    padding-top: clamp(68px, 8vh, 90px);
    padding-bottom: clamp(54px, 7vh, 70px);
  }
}

/* Services — Version 17 */
.support-groups-heading::before,
.support-groups-heading::after {
  position: absolute;
  top: clamp(38px, 5.2vh, 50px);
  width: clamp(92px, 20vw, 310px);
  height: 20px;
  border-top: 2px solid rgb(163 25 77 / 88%);
  border-bottom: 1px solid rgb(163 25 77 / 58%);
  content: "";
  opacity: 0.92;
  pointer-events: none;
}
.support-groups-heading::before { left: 0; }
.support-groups-heading::after { right: 0; }
.support-tab:nth-child(1) { border-left: 4px solid var(--cream); color: var(--cream); }
.support-tab:nth-child(2) { border-left: 4px solid var(--gold-light); color: var(--gold-light); }
.support-tab:nth-child(3) { border-left: 4px solid var(--cranberry-vivid); color: #e4a0b6; }
.support-tab:nth-child(4) { border-left: 4px solid var(--gold-light); color: var(--gold-light); }
.support-tab:nth-child(5) { border-left: 4px solid var(--cream); color: var(--cream); }
.support-tab.is-active { color: var(--emerald-950); }
.support-group-description a {
  color: var(--gold-light);
  font-weight: 600;
  text-decoration-color: rgb(226 195 110 / 62%);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.support-group-description a:hover,
.support-group-description a:focus-visible { color: var(--cream); outline: none; }

@media (max-width: 900px) {
  .support-groups-heading::before,
  .support-groups-heading::after { display: none; }
}

/* Services — Version 18 */
.support-groups-heading::before,
.support-groups-heading::after {
  background:
    radial-gradient(circle at calc(50% - 12px) 50%, var(--gold-light) 0 2px, transparent 2.5px),
    radial-gradient(circle at 50% 50%, var(--gold-light) 0 2px, transparent 2.5px),
    radial-gradient(circle at calc(50% + 12px) 50%, var(--gold-light) 0 2px, transparent 2.5px);
  background-repeat: no-repeat;
}

@media (min-width: 901px) and (max-height: 760px) {
  .site-header {
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .hero {
    padding-top: 66px;
    padding-bottom: 16px;
  }

  .hero-logo-frame {
    width: clamp(226px, 36vh, 265px);
  }

  h1 {
    font-size: clamp(2.25rem, 6.2vh, 3.35rem);
  }

  .hero blockquote {
    margin-block: 8px 12px;
  }

  .button {
    min-height: 42px;
    padding: 10px 22px;
  }

  .what-copy {
    padding-top: 86px;
    padding-bottom: 42px;
  }

  .what-copy .lead {
    margin: 0;
    line-height: 1.55;
  }

  .what-copy > p:not(.section-kicker):not(.lead) {
    margin-bottom: 0;
    line-height: 1.7;
  }

  .what-copy h2,
  .approach h2 {
    font-size: clamp(2.55rem, 7vh, 4rem);
  }

  .what-copy h2 {
    margin-top: 37px;
    font-size: clamp(3.8rem, 9vh, 5.1rem);
  }

  .approach h2 {
    font-size: clamp(3.8rem, 9vh, 5.15rem);
  }

  .approach-photo {
    width: min(390px, 60vw);
    margin-top: 12px;
    margin-bottom: 18px;
  }

  .approach-card {
    min-height: 190px;
    padding: 25px 24px 20px;
  }

  .vision-line {
    margin-top: 15px;
  }

  .about-story {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .about-title {
    margin-bottom: 10px;
    font-size: clamp(3.45rem, 8vh, 4.7rem);
  }

  .about-copy p {
    margin-bottom: 7px;
    font-size: 1.125rem;
    line-height: 1.5;
  }

  .about-copy {
    padding-block: 7px;
  }

  .about-copy .about-team-note {
    margin-bottom: 8px;
    font-size: 0.92rem;
    line-height: 1.35;
  }

  .about-quote {
    margin-bottom: 9px;
    padding-block: 9px;
    font-size: clamp(1.05rem, 2.6vh, 1.4rem);
  }

}

@media (max-width: 560px) {
  .site-header {
    padding: 17px 20px;
  }

  .wordmark {
    font-size: 0.73rem;
  }

  .menu-panel {
    top: 65px;
    right: 20px;
    min-width: min(290px, calc(100vw - 40px));
  }

  .hero {
    padding-inline: 18px;
  }

  .hero-logo-frame {
    width: 196px;
  }

  .what-copy h2,
  .approach h2 {
    font-size: clamp(2.4rem, 13vw, 3.5rem);
  }

  .what-copy h2 {
    margin-top: 39px;
    font-size: clamp(3.8rem, 18vw, 5.1rem);
  }

  .approach h2 {
    font-size: clamp(3.75rem, 17vw, 5rem);
  }

  .what-image-wrap {
    min-height: 56svh;
  }

  .what-image-wrap figcaption {
    right: 18px;
    bottom: 18px;
  }

  .approach-photo {
    width: 86vw;
    aspect-ratio: 2.15 / 1;
  }

  .vision-line {
    flex-direction: column;
    gap: 2px;
  }

  .site-footer {
    position: relative;
    margin: 50px -7vw -100px;
    width: auto;
    padding: 14px 20px;
  }

  .about-page-body .site-footer {
    margin: 0;
  }

  .about-visual,
  .about-visual img {
    height: 58svh;
    min-height: 430px;
  }

  .about-story {
    padding: 78px 7vw 76px;
  }

  .about-quote {
    width: calc(100% - 38px);
    padding-inline: 24px;
  }

  .quote-mark {
    font-size: 1.34em;
  }

  .about-spine-lines {
    width: 10px;
  }

  .about-heading {
    min-height: 122px;
  }

  .about-logo-emblem {
    width: 72px;
  }

  .about-title {
    font-size: clamp(4.25rem, 21vw, 5.6rem);
  }

  .about-story::before,
  .about-story::after {
    width: 125px;
    height: 185px;
    opacity: 0.07;
  }

}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
  }
}

/* Services — Version 1 */
.services-page-body { height: 100svh; overflow: hidden; color: var(--cream); background: var(--emerald-950); }
.services-page-body .site-header { min-height: 70px; padding-block: 14px; background: var(--emerald-950); box-shadow: 0 8px 24px rgb(0 24 21 / 18%); }
.services-page-body .menu-panel a[aria-current="page"] { color: var(--gold-light); background: linear-gradient(90deg, transparent, rgb(197 154 52 / 12%), transparent); }
.services-page { position: relative; height: 100svh; padding: 70px 0 45px; overflow: hidden; background: radial-gradient(circle at 50% 0, rgb(226 195 110 / 9%), transparent 31%), linear-gradient(145deg, var(--emerald-950), var(--emerald-900) 52%, #083f39); }
.services-shell { position: relative; display: flex; height: 100%; padding: clamp(10px, 1.8vh, 18px) clamp(36px, 5vw, 78px) clamp(12px, 2vh, 20px); flex-direction: column; overflow: hidden; }
.services-heading { position: relative; z-index: 2; display: flex; flex: 0 0 auto; align-items: center; flex-direction: column; text-align: center; }
.services-heading .section-kicker { margin-bottom: 1px; }
.services-heading h1 { width: fit-content; color: var(--cream); font-family: "Pinyon Script", "Edwardian Script ITC", "Bickham Script Pro 3", "Palace Script MT", "Snell Roundhand", Georgia, serif; font-size: clamp(3.2rem, 7.2vh, 5.25rem); font-weight: 400; letter-spacing: 0; line-height: 0.82; text-shadow: 0 5px 24px rgb(0 0 0 / 18%); }
.services-heading h1::after { display: block; width: 82%; height: 1px; margin: 8px auto 0; background: linear-gradient(90deg, transparent, var(--gold-light) 18% 82%, transparent); content: ""; }
.services-photo-ornament { display: flex; width: min(580px, 62vw); height: clamp(44px, 7.2vh, 68px); align-items: center; gap: 13px; margin: clamp(3px, 0.7vh, 7px) auto 2px; }
.services-photo-ornament > span { height: 1px; flex: 1; background: linear-gradient(90deg, transparent, var(--gold-light)); }
.services-photo-ornament > span:last-child { background: linear-gradient(90deg, var(--gold-light), transparent); }
.services-photo-ornament figure { width: clamp(172px, 20vw, 260px); height: 100%; margin: 0; border: 1px solid rgb(226 195 110 / 82%); border-radius: 50%; overflow: hidden; box-shadow: 0 7px 18px rgb(0 18 16 / 28%); }
.services-photo-ornament img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.services-motto { margin: 0; color: var(--cream); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(1.18rem, 2.5vh, 1.72rem); font-weight: 600; line-height: 1; }
.services-motto i { padding-inline: 5px; color: var(--gold-light); font-style: normal; }
.services-intro { margin: 4px 0 clamp(8px, 1.35vh, 13px); color: rgb(255 250 241 / 78%); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(0.9rem, 1.8vh, 1.08rem); line-height: 1.15; }
.services-grid { position: relative; z-index: 2; display: grid; min-height: 0; flex: 1; grid-template-columns: repeat(8, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: clamp(8px, 1.3vh, 13px) clamp(9px, 0.9vw, 15px); }
.service-card { position: relative; display: flex; min-width: 0; min-height: 0; padding: clamp(9px, 1.45vh, 14px) clamp(12px, 1.5vw, 22px) clamp(8px, 1.25vh, 13px); grid-column: span 2; align-items: center; flex-direction: column; overflow: hidden; border: 1px solid rgb(226 195 110 / 72%); border-radius: 16px; background: radial-gradient(circle at 50% 0, rgb(226 195 110 / 8%), transparent 46%), rgb(7 60 54 / 72%); box-shadow: 0 12px 26px rgb(0 25 22 / 20%); text-align: center; }
.service-card:nth-child(5) { grid-column: 2 / span 2; }
.service-card:nth-child(6) { grid-column: 4 / span 2; }
.service-card:nth-child(7) { grid-column: 6 / span 2; }
.service-card::after { position: absolute; right: 10px; bottom: 9px; width: 7px; height: 7px; border: 1px solid rgb(163 25 77 / 92%); content: ""; opacity: 0.86; transform: rotate(45deg); }
.service-icon { display: grid; width: clamp(38px, 5.4vh, 50px); aspect-ratio: 1; flex: 0 0 auto; border: 1px solid rgb(197 154 52 / 78%); border-radius: 50%; place-items: center; color: var(--berry); background: var(--cream); box-shadow: 0 5px 14px rgb(0 0 0 / 14%); }
.service-icon svg { width: 66%; height: 66%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; }
.service-card h2 { margin-top: clamp(3px, 0.65vh, 6px); color: var(--gold-light); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(1.04rem, 2.35vh, 1.38rem); font-weight: 600; line-height: 1; }
.service-rule { width: 38px; height: 1px; margin: clamp(3px, 0.6vh, 6px) 0; background: linear-gradient(90deg, transparent, var(--cranberry-vivid), transparent); }
.service-card p { max-width: 260px; margin: 0; color: rgb(255 250 241 / 84%); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(0.78rem, 1.7vh, 1rem); font-weight: 500; line-height: 1.22; }
.services-corner { position: absolute; z-index: 1; top: clamp(13px, 2vh, 20px); width: clamp(62px, 7.5vw, 110px); height: clamp(42px, 6.3vh, 64px); border-top: 2px solid rgb(163 25 77 / 68%); opacity: 0.78; pointer-events: none; }
.services-corner::before, .services-corner::after { position: absolute; content: ""; }
.services-corner::before { top: 8px; width: 72%; height: 30px; border-top: 1px solid rgb(226 195 110 / 52%); }
.services-corner::after { top: 4px; width: 7px; height: 7px; border: 1px solid var(--gold-light); background: var(--emerald-950); transform: rotate(45deg); }
.services-corner-left { left: clamp(18px, 3vw, 46px); border-left: 2px solid rgb(163 25 77 / 68%); }
.services-corner-left::before { left: 8px; border-left: 1px solid rgb(226 195 110 / 52%); }
.services-corner-left::after { left: 18px; }
.services-corner-right { right: clamp(18px, 3vw, 46px); border-right: 2px solid rgb(163 25 77 / 68%); }
.services-corner-right::before { right: 8px; border-right: 1px solid rgb(226 195 110 / 52%); }
.services-corner-right::after { right: 18px; }
.services-page-body .site-footer { position: absolute; }

/* Services — Version 2 */
.services-heading h1::after { margin-top: 2px; }
.service-card { padding-bottom: clamp(7px, 1vh, 10px); }
.service-explore {
  display: inline-flex;
  min-width: 82px;
  min-height: clamp(24px, 3.3vh, 30px);
  margin-top: auto;
  padding: 4px 15px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(226 195 110 / 82%);
  border-radius: 999px 999px 7px 7px;
  color: var(--cream);
  background: linear-gradient(180deg, rgb(163 25 77 / 88%), rgb(126 18 61 / 94%));
  box-shadow: 0 5px 12px rgb(0 20 18 / 22%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(0.76rem, 1.55vh, 0.94rem);
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: none;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease;
}
.service-explore:hover,
.service-explore:focus-visible {
  border-color: var(--gold-light);
  color: var(--emerald-950);
  background: var(--gold-light);
  outline: none;
  transform: translateY(-1px);
}
.service-explore:focus-visible { box-shadow: 0 0 0 3px rgb(248 240 227 / 25%); }

/* Services — Version 3 */
.services-photo-ornament { height: clamp(56px, 8.4vh, 82px); }
.services-photo-ornament img { object-position: center top; }
.services-grid { --service-row-gap: clamp(8px, 1.3vh, 13px); }
.services-grid::before,
.services-grid::after {
  position: absolute;
  z-index: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(248 240 227 / 74%) 5% 95%, transparent);
  content: "";
  pointer-events: none;
}
.services-grid::before {
  top: calc((100% - var(--service-row-gap)) / 4);
  right: 12.5%;
  left: 12.5%;
}
.services-grid::after {
  top: calc(75% + (var(--service-row-gap) / 4));
  right: 25%;
  left: 25%;
}
.service-card {
  z-index: 1;
  background: radial-gradient(circle at 50% 0, rgb(226 195 110 / 8%), transparent 46%), #073c36;
}
.service-card::after { display: none; }
.service-icon {
  border-color: rgb(226 195 110 / 88%);
  color: var(--cream);
  background: var(--cranberry-vivid);
}
.service-explore { border-radius: 5px; }

/* Services — Version 4 */
.service-icon {
  display: grid;
  width: clamp(46px, 6.2vh, 58px);
  height: clamp(46px, 6.2vh, 58px);
  flex: 0 0 auto;
  border: 0;
  border-radius: 0;
  color: var(--cream);
  background: transparent;
  box-shadow: none;
  filter: drop-shadow(0 1px 2px rgb(248 240 227 / 22%));
  place-items: center;
}
.service-icon svg {
  width: 78%;
  height: 78%;
  stroke-width: 3.15;
}

/* Services — Version 5 */
.services-photo-ornament {
  width: min(650px, 68vw);
  height: clamp(70px, 10.3vh, 102px);
  margin-bottom: clamp(5px, 0.8vh, 8px);
}
.services-photo-ornament figure { width: clamp(190px, 22vw, 300px); }
.services-photo-ornament img { object-position: center top; }
.services-intro { margin-top: 0; }

@media (max-width: 900px) {
  .services-photo-ornament {
    width: min(610px, 92vw);
    height: 96px;
  }
}

/* Services — Version 6 */
.service-card h2 {
  position: relative;
  margin-bottom: 0;
  padding-bottom: clamp(5px, 0.7vh, 7px);
}
.service-card h2::after {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: clamp(4px, 0.55vh, 6px);
  background: linear-gradient(90deg, rgb(197 154 52 / 72%), var(--gold-light) 12% 88%, rgb(197 154 52 / 72%));
  content: "";
}
.service-rule { display: none; }
.services-corner {
  width: clamp(96px, 11vw, 165px);
  height: clamp(62px, 9vh, 92px);
  border-top-color: rgb(163 25 77 / 84%);
  opacity: 0.86;
}
.services-corner::before {
  top: 13px;
  width: 80%;
  height: 52px;
  border-top-color: rgb(226 195 110 / 68%);
}
.services-corner::after {
  top: 9px;
  width: 8px;
  height: 8px;
  border-color: var(--gold-light);
}
.services-corner-left { left: clamp(20px, 3.2vw, 52px); }
.services-corner-left::before { left: 13px; border-left-color: rgb(226 195 110 / 68%); }
.services-corner-left::after { left: 9px; }
.services-corner-right { right: clamp(20px, 3.2vw, 52px); }
.services-corner-right::before { right: 13px; border-right-color: rgb(226 195 110 / 68%); }
.services-corner-right::after { right: 9px; }

/* Services — Version 11 */
.service-card {
  width: 94%;
  height: 94%;
  align-self: center;
  justify-self: center;
  border-color: rgb(197 154 52 / 78%);
  border-radius: 0;
  background: linear-gradient(145deg, #fff9ed 0%, #f8efdf 58%, #f1e5d1 100%);
  box-shadow: 0 12px 26px rgb(0 25 22 / 24%), inset 0 1px 0 rgb(255 255 255 / 72%);
}
.services-grid {
  --service-row-gap: clamp(12px, 1.75vh, 18px);
  column-gap: clamp(13px, 1.35vw, 22px);
  row-gap: clamp(12px, 1.75vh, 18px);
}
.service-icon {
  color: var(--cranberry-vivid);
  filter: drop-shadow(0 1px 1px rgb(84 13 39 / 16%));
}
.service-card h2 { color: var(--emerald-950); }
.service-card h2::after {
  background: linear-gradient(90deg, rgb(197 154 52 / 66%), var(--gold) 12% 88%, rgb(197 154 52 / 66%));
}
.service-card p { color: #164b44; }
.service-explore {
  border-color: rgb(126 18 61 / 72%);
  color: var(--cream);
  background: linear-gradient(180deg, var(--cranberry-vivid), #7e123d);
}
.services-logo-emblem {
  position: absolute;
  z-index: 1;
  top: 47%;
  width: clamp(92px, 9.2vw, 132px);
  height: auto;
  opacity: 0.88;
  pointer-events: none;
}
.services-logo-emblem-left {
  left: clamp(74px, 11vw, 190px);
  transform: translateY(-50%);
}
.services-logo-emblem-right {
  right: clamp(74px, 11vw, 190px);
  transform: translateY(-50%) scaleX(-1);
}
.services-corner {
  width: clamp(118px, 13.5vw, 202px);
  height: clamp(76px, 11vh, 112px);
}
.services-corner::before {
  width: 82%;
  height: 64px;
}

/* Services — Version 12 */
.service-card {
  padding-top: clamp(6px, 1vh, 10px);
  padding-bottom: clamp(6px, 0.9vh, 9px);
}
.service-icon {
  width: clamp(41px, 5.6vh, 52px);
  height: clamp(41px, 5.6vh, 52px);
}
.service-card h2 {
  margin-top: clamp(2px, 0.4vh, 4px);
  padding-bottom: clamp(3px, 0.45vh, 5px);
}
.service-card h2::after {
  margin-top: clamp(3px, 0.4vh, 4px);
}
.service-card p { line-height: 1.16; }
.service-explore {
  max-width: 100%;
  flex: 0 0 auto;
  margin-bottom: 2px;
}

/* Services — Version 13 */
.service-card {
  width: 98%;
  height: 98%;
  border-radius: 13px;
}

/* Services — Version 14 */
.service-card {
  background: linear-gradient(145deg, #f2e4cb 0%, #ead8ba 58%, #dfc8a4 100%);
}

/* Homepage — Version 28 */
.hero-logo-frame::before,
.hero-logo-frame::after {
  position: absolute;
  top: 14%;
  width: 2px;
  height: 72%;
  background: linear-gradient(
    to bottom,
    transparent,
    var(--cranberry-vivid) 14% 86%,
    transparent
  );
  box-shadow: 0 0 8px rgb(163 25 77 / 18%);
  content: "";
  pointer-events: none;
}
.hero-logo-frame::before { left: -28px; }
.hero-logo-frame::after { right: -28px; }

/* About Us — Version 14 */
.about-heading {
  width: 100%;
  max-width: none;
  align-self: stretch;
}

/* Services — Version 15: Support Groups foundation */
.services-page-body {
  height: auto;
  overflow: visible;
}
.services-page {
  height: auto;
  min-height: 100svh;
  padding-bottom: 0;
  overflow: visible;
  scroll-snap-type: y proximity;
}
.services-shell {
  height: calc(100svh - 115px);
  min-height: 620px;
  scroll-margin-top: 70px;
  scroll-snap-align: start;
}
.services-page-body .site-footer { position: relative; }
.support-groups-section {
  position: relative;
  display: flex;
  min-height: calc(100svh - 70px);
  padding: clamp(24px, 3.2vh, 38px) clamp(38px, 5vw, 78px) clamp(30px, 4vh, 48px);
  flex-direction: column;
  overflow: hidden;
  scroll-margin-top: 70px;
  scroll-snap-align: start;
  color: var(--cream);
  background:
    radial-gradient(circle at 11% 14%, rgb(163 25 77 / 12%), transparent 27%),
    radial-gradient(circle at 90% 85%, rgb(226 195 110 / 9%), transparent 30%),
    linear-gradient(145deg, var(--emerald-950), var(--emerald-900) 56%, #083f39);
}
.support-groups-section::before,
.support-groups-section::after {
  position: absolute;
  width: clamp(150px, 18vw, 260px);
  height: clamp(240px, 42vh, 410px);
  background: url("assets/hero-botanical.svg") center / contain no-repeat;
  content: "";
  opacity: 0.12;
  pointer-events: none;
}
.support-groups-section::before { top: -55px; left: -78px; transform: rotate(-13deg); }
.support-groups-section::after { right: -82px; bottom: -88px; transform: scaleX(-1) rotate(-8deg); }
.support-groups-heading {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  text-align: center;
}
.support-groups-heading .section-kicker { margin-bottom: 7px; }
.support-groups-heading h2 {
  width: fit-content;
  margin: 0 auto;
  color: var(--cream);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.35rem, 5.1vh, 3.7rem);
  font-weight: 600;
  letter-spacing: 0.11em;
  line-height: 0.96;
  text-transform: uppercase;
}
.support-groups-heading h2::after {
  display: block;
  width: 74%;
  height: 1px;
  margin: 10px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light) 15% 85%, transparent);
  content: "";
}
.support-groups-heading > p:last-child {
  margin: 10px auto clamp(16px, 2.4vh, 26px);
  color: rgb(255 250 241 / 78%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1rem, 1.9vh, 1.18rem);
}
.support-groups-layout {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(1380px, 100%);
  min-height: 0;
  margin: 0 auto;
  flex: 1;
  grid-template-columns: minmax(235px, 0.31fr) minmax(0, 1fr);
  gap: clamp(14px, 1.6vw, 24px);
}
.support-tabs {
  display: grid;
  min-height: 0;
  grid-template-rows: repeat(4, minmax(0, 1fr));
  gap: clamp(8px, 1.15vh, 12px);
}
.support-tab {
  display: grid;
  width: 100%;
  min-height: 0;
  padding: 12px clamp(14px, 1.6vw, 24px);
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  border: 1px solid rgb(226 195 110 / 82%);
  border-radius: 12px;
  color: var(--cream);
  background: rgb(4 48 43 / 78%);
  box-shadow: 0 8px 20px rgb(0 22 19 / 15%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(0.92rem, 1.9vh, 1.14rem);
  font-weight: 600;
  letter-spacing: 0.045em;
  line-height: 1.08;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 160ms ease, color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.support-tab b { color: var(--gold-light); font-size: 1.65em; font-weight: 400; line-height: 0.6; }
.support-tab:hover,
.support-tab:focus-visible { outline: none; transform: translateX(3px); box-shadow: 0 0 0 2px rgb(226 195 110 / 18%), 0 10px 24px rgb(0 22 19 / 22%); }
.support-tab.is-active {
  border-color: var(--gold);
  color: var(--emerald-950);
  background: linear-gradient(145deg, #f2e4cb, #dfc8a4);
  box-shadow: inset 0 0 0 2px rgb(163 25 77 / 12%), 0 10px 24px rgb(0 22 19 / 21%);
}
.support-tab.is-active b { color: var(--cranberry-vivid); }
.support-group-panel {
  display: grid;
  min-width: 0;
  min-height: 0;
  padding: clamp(18px, 2.5vh, 28px);
  grid-template-columns: minmax(210px, 0.42fr) minmax(0, 0.58fr);
  align-items: center;
  gap: clamp(20px, 2.6vw, 38px);
  border: 1px solid rgb(226 195 110 / 86%);
  border-radius: 18px;
  background: linear-gradient(145deg, rgb(5 51 46 / 96%), rgb(7 60 54 / 94%));
  box-shadow: 0 22px 46px rgb(0 23 20 / 28%), inset 0 0 0 1px rgb(248 240 227 / 4%);
}
.support-group-photo {
  position: relative;
  height: min(100%, 430px);
  min-height: 300px;
  margin: 0;
  border: 1px solid rgb(226 195 110 / 84%);
  border-radius: 44% 44% 16px 16px;
  overflow: hidden;
  box-shadow: 0 14px 30px rgb(0 18 16 / 30%);
}
.support-group-photo::after {
  position: absolute;
  inset: 0;
  border: 6px solid rgb(163 25 77 / 8%);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}
.support-group-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.support-group-panel--square-photo {
  grid-template-columns: minmax(285px, 0.48fr) minmax(0, 0.52fr);
}
.support-group-panel--square-photo .support-group-photo {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 1 / 1;
  align-self: center;
  border-radius: 12px;
}
.support-group-panel--square-photo .support-group-photo img { object-position: center; }
.support-group-details { display: flex; min-width: 0; height: 100%; flex-direction: column; justify-content: center; }
.support-group-label {
  margin: 0 0 6px;
  color: var(--gold-light);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.support-group-details h3 {
  margin: 0;
  color: var(--cream);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.85rem, 3.7vh, 2.9rem);
  font-weight: 600;
  letter-spacing: 0.025em;
  line-height: 0.98;
  text-transform: uppercase;
}
.support-group-details h3::after {
  display: block;
  width: min(190px, 58%);
  height: 1px;
  margin: 12px 0 13px;
  background: linear-gradient(90deg, var(--gold-light), transparent);
  content: "";
}
.support-group-description { color: rgb(255 250 241 / 84%); font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(0.9rem, 1.62vh, 1.04rem); line-height: 1.34; }
.support-group-description p { margin: 0 0 0.7em; }
.support-group-description p:last-child { margin-bottom: 0; }
.support-calendar-button {
  display: inline-flex;
  min-height: 36px;
  margin-top: auto;
  padding: 7px 19px;
  align-self: flex-end;
  align-items: center;
  gap: 10px;
  border: 1px solid rgb(197 154 52 / 85%);
  border-radius: 999px;
  color: var(--emerald-950);
  background: linear-gradient(145deg, #f2e4cb, #d9bc7e);
  box-shadow: 0 7px 17px rgb(0 18 16 / 25%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
}
.support-calendar-button span { color: var(--cranberry-vivid); font-size: 1.4em; line-height: 0.6; }

@media (max-width: 900px) {
  .support-groups-section { min-height: auto; padding: 58px 7vw 70px; }
  .support-groups-layout { grid-template-columns: 1fr; }
  .support-tabs { grid-template-rows: none; }
  .support-tab { min-height: 62px; }
  .support-group-panel { min-height: 620px; grid-template-columns: 1fr; }
  .support-group-photo { height: 300px; min-height: 300px; border-radius: 26px 26px 12px 12px; }
  .support-group-panel--square-photo { grid-template-columns: 1fr; }
  .support-group-panel--square-photo .support-group-photo { height: auto; min-height: 0; border-radius: 12px; }
}

@media (max-width: 560px) {
  .support-groups-section { padding-inline: 6vw; }
  .support-groups-heading h2 { font-size: clamp(2rem, 10vw, 3rem); letter-spacing: 0.07em; }
  .support-group-panel { min-height: 0; padding: 16px; }
  .support-group-photo { height: 240px; min-height: 240px; }
  .support-group-panel--square-photo .support-group-photo { height: auto; min-height: 0; }
  .support-group-details h3 { font-size: clamp(1.65rem, 8vw, 2.3rem); }
  .support-calendar-button { margin-top: 18px; align-self: stretch; justify-content: center; }
}

/* Services — Version 16 */
@media (min-width: 901px) {
  .services-shell {
    height: calc(100svh - 70px);
    min-height: 0;
    max-height: calc(100svh - 70px);
  }
}

@media (max-width: 900px) {
  .services-page-body { height: auto; min-height: 100svh; overflow: visible; }
  .services-page { height: auto; min-height: 100svh; padding-bottom: 0; overflow: visible; }
  .services-shell { height: auto; min-height: calc(100svh - 70px); padding: 48px 7vw 74px; }
  .services-heading h1 { font-size: clamp(4.1rem, 15vw, 6.2rem); }
  .services-photo-ornament { width: min(560px, 90vw); height: 72px; }
  .services-grid { margin-top: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; gap: 16px; }
  .service-card, .service-card:nth-child(5), .service-card:nth-child(6), .service-card:nth-child(7) { min-height: 225px; padding: 24px 22px; grid-column: auto; }
  .service-explore { min-height: 34px; margin-top: 17px; padding-inline: 19px; }
  .service-card:nth-child(7) { grid-column: 1 / -1; width: calc(50% - 8px); justify-self: center; }
  .services-page-body .site-footer { position: relative; }
  .services-grid::before, .services-grid::after { display: none; }
  .services-logo-emblem { display: none; }
}

@media (max-width: 560px) {
  .services-shell { padding-inline: 6vw; }
  .services-corner { opacity: 0.48; }
  .services-grid { grid-template-columns: 1fr; }
  .service-card, .service-card:nth-child(7) { width: 100%; grid-column: auto; }
}

/* Services — Version 21: one-screen Support Groups section */
@media (min-width: 901px) {
  .support-groups-section {
    height: calc(100svh - 70px);
    min-height: 0;
    max-height: calc(100svh - 70px);
    padding-top: clamp(16px, 2vh, 24px);
    padding-bottom: clamp(18px, 2.4vh, 28px);
  }

  .support-groups-heading .section-kicker { margin-bottom: 4px; }
  .support-groups-heading h2 { font-size: clamp(2.2rem, 4.5vh, 3.3rem); }
  .support-groups-heading h2::after { margin-top: 7px; }
  .support-groups-heading > p:last-child {
    margin-top: 7px;
    margin-bottom: clamp(10px, 1.5vh, 16px);
    font-size: clamp(0.94rem, 1.65vh, 1.08rem);
  }

  .support-groups-layout { min-height: 0; }
  .support-tabs { gap: clamp(6px, 0.85vh, 10px); }
  .support-tab { padding-block: 9px; }
  .support-group-panel { padding: clamp(14px, 1.8vh, 22px); }
  .support-group-photo {
    height: 100%;
    min-height: 0;
    max-height: none;
  }
  .support-group-details h3 { font-size: clamp(1.75rem, 3.2vh, 2.6rem); }
  .support-group-details h3::after { margin-top: 8px; margin-bottom: 9px; }
  .support-group-description {
    font-size: clamp(0.86rem, 1.45vh, 0.98rem);
    line-height: 1.27;
  }
  .support-group-description p { margin-bottom: 0.58em; }
  .support-calendar-button { min-height: 34px; padding-block: 6px; }
}

/* Services — Version 31: interactive Workshops section */
.workshops-section {
  position: relative;
  display: flex;
  min-height: calc(100svh - 70px);
  padding: clamp(20px, 2.6vh, 30px) clamp(38px, 5vw, 78px) clamp(24px, 3vh, 36px);
  flex-direction: column;
  overflow: hidden;
  scroll-margin-top: 70px;
  scroll-snap-align: start;
  color: var(--cream);
  background:
    linear-gradient(90deg, transparent 0 5%, rgb(163 25 77 / 13%) 5% 5.35%, transparent 5.35% 94.65%, rgb(163 25 77 / 13%) 94.65% 95%, transparent 95%),
    radial-gradient(circle at 82% 16%, rgb(226 195 110 / 10%), transparent 28%),
    linear-gradient(155deg, #073d37, var(--emerald-950) 52%, #063832);
}
.workshops-section::before,
.workshops-section::after {
  display: none;
}
.workshop-corner-mark {
  position: absolute;
  top: clamp(58px, 7.4vh, 72px);
  z-index: 2;
  width: clamp(138px, 14vw, 198px);
  height: clamp(34px, 4.8vh, 46px);
  background: url("assets/workshop-corner-filigree.svg") center / contain no-repeat;
  opacity: 0.92;
  pointer-events: none;
}
.workshop-corner-mark::before {
  display: none;
}
.workshop-corner-mark::after {
  display: none;
}
.workshop-corner-mark--left {
  left: clamp(38px, 5.5vw, 84px);
}
.workshop-corner-mark--right {
  right: clamp(38px, 5.5vw, 84px);
}
.workshops-heading {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  text-align: center;
}
.workshops-heading .section-kicker {
  margin-bottom: 4px;
  color: var(--gold-light);
}
.workshops-heading h2 {
  width: fit-content;
  margin: 0 auto;
  color: var(--cream);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.25rem, 4.6vh, 3.45rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 0.96;
  text-transform: uppercase;
}
.workshops-heading h2::after {
  display: block;
  width: 76%;
  height: 1px;
  margin: 7px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light) 14% 86%, transparent);
  content: "";
}
.workshops-heading > p:last-child {
  margin: 7px auto clamp(10px, 1.4vh, 15px);
  color: rgb(255 250 241 / 78%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(0.94rem, 1.65vh, 1.08rem);
}
.workshops-shell {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(1380px, 100%);
  min-height: 0;
  margin: 0 auto;
  flex: 1;
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(10px, 1.35vh, 15px);
}
.workshop-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(8px, 1vw, 14px);
}
.workshop-tab {
  position: relative;
  display: grid;
  min-height: clamp(68px, 8.7vh, 86px);
  padding: 11px 15px 11px 55px;
  align-items: center;
  border: 1px solid rgb(226 195 110 / 76%);
  border-radius: 4px;
  color: var(--emerald-950);
  background: linear-gradient(145deg, #f0dfc2, #d9bd91);
  box-shadow: 0 8px 20px rgb(0 20 17 / 18%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(0.88rem, 1.65vh, 1.05rem);
  font-weight: 700;
  letter-spacing: 0.035em;
  line-height: 1.08;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 160ms ease, background 160ms ease, color 160ms ease;
}
.workshop-title {
  display: block;
  width: fit-content;
  max-width: 100%;
  justify-self: center;
  text-align: center;
}
.workshop-title > span { display: inline-block; }
.workshop-title::after {
  display: block;
  width: 100%;
  height: 1px;
  margin: 5px auto 0;
  background: linear-gradient(90deg, transparent, var(--cranberry-vivid) 12% 88%, transparent);
  content: "";
}
.workshop-number {
  position: absolute;
  left: 15px;
  color: var(--cranberry-vivid);
  font-size: 1.55em;
  font-weight: 500;
  letter-spacing: 0;
}
.workshop-tab::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--cranberry-vivid), var(--gold-light));
  content: "";
  opacity: 0.68;
}
.workshop-tab:hover,
.workshop-tab:focus-visible {
  outline: none;
  transform: translateY(-2px);
  box-shadow: 0 0 0 2px rgb(226 195 110 / 18%), 0 12px 24px rgb(0 20 17 / 24%);
}
.workshop-tab.is-active {
  border-color: var(--gold-light);
  color: var(--cream);
  background: linear-gradient(145deg, #8f173f, var(--cranberry-vivid));
}
.workshop-tab.is-active .workshop-number { color: var(--gold-light); }
.workshop-tab.is-active .workshop-title::after {
  background: linear-gradient(90deg, transparent, var(--gold-light) 12% 88%, transparent);
}
.workshop-tab.is-active::after { height: 5px; opacity: 1; }
.workshop-panel {
  display: grid;
  min-width: 0;
  min-height: 0;
  padding: clamp(16px, 2vh, 24px);
  grid-template-columns: minmax(0, 0.56fr) minmax(300px, 0.44fr);
  align-items: center;
  gap: clamp(22px, 3vw, 42px);
  border: 1px solid rgb(226 195 110 / 86%);
  border-radius: 18px;
  background: linear-gradient(145deg, rgb(5 51 46 / 98%), rgb(7 60 54 / 96%));
  box-shadow: 0 22px 46px rgb(0 23 20 / 30%), inset 0 0 0 1px rgb(248 240 227 / 4%);
}
.workshop-details {
  display: flex;
  min-width: 0;
  height: 100%;
  padding-left: clamp(6px, 1vw, 15px);
  flex-direction: column;
  justify-content: center;
}
.workshop-label {
  margin: 0 0 5px;
  color: var(--gold-light);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.workshop-details h3 {
  margin: 0;
  color: var(--cream);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.85rem, 3.35vh, 2.75rem);
  font-weight: 600;
  letter-spacing: 0.025em;
  line-height: 0.98;
  text-transform: uppercase;
}
.workshop-details h3::after {
  display: block;
  width: min(220px, 58%);
  height: 1px;
  margin: 9px 0 10px;
  background: linear-gradient(90deg, var(--gold-light), transparent);
  content: "";
}
.workshop-description {
  color: rgb(255 250 241 / 86%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(0.86rem, 1.42vh, 0.98rem);
  line-height: 1.28;
}
.workshop-description p { margin: 0 0 0.58em; }
.workshop-description p:last-child { margin-bottom: 0; }
.workshop-photo {
  position: relative;
  width: min(100%, 450px);
  max-height: 100%;
  margin: 0;
  aspect-ratio: 1 / 1;
  justify-self: end;
  border: 1px solid rgb(226 195 110 / 86%);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 34px rgb(0 18 16 / 32%);
}
.workshop-photo::after {
  position: absolute;
  inset: 0;
  border: 6px solid rgb(163 25 77 / 9%);
  content: "";
  pointer-events: none;
}
.workshop-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.workshop-photo--landscape,
.workshop-panel--landscape-photo .workshop-photo {
  width: 100%;
  aspect-ratio: 2.05 / 1;
}
.workshop-calendar-button {
  display: inline-flex;
  min-height: 34px;
  margin-top: auto;
  padding: 6px 19px;
  align-self: flex-start;
  align-items: center;
  border: 1px solid var(--gold);
  border-radius: 999px;
  color: var(--emerald-950);
  background: linear-gradient(145deg, #f2e4cb, #dfc8a4);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}
.workshop-calendar-button span { color: var(--cranberry-vivid); font-size: 1.4em; line-height: 0.6; }

@media (min-width: 901px) {
  .workshops-section {
    height: calc(100svh - 70px);
    min-height: 0;
    max-height: calc(100svh - 70px);
  }
}

@media (max-width: 900px) {
  .workshops-section { min-height: auto; padding: 58px 7vw 70px; }
  .workshop-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workshop-panel { min-height: 720px; grid-template-columns: 1fr; }
  .workshop-photo { width: min(100%, 560px); justify-self: center; grid-row: 1; }
  .workshop-calendar-button { margin-top: 18px; }
  .workshop-corner-mark { display: none; }
}

@media (max-width: 560px) {
  .workshops-section { padding-inline: 6vw; }
  .workshops-heading h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .workshop-tabs { grid-template-columns: 1fr; }
  .workshop-tab { min-height: 64px; }
  .workshop-panel { min-height: 0; padding: 16px; }
  .workshop-details h3 { font-size: clamp(1.65rem, 8vw, 2.3rem); }
  .workshop-photo { width: 100%; }
  .workshop-calendar-button { align-self: stretch; justify-content: center; }
}

/* Services — Version 43: Life Coaching */
.life-coaching-section {
  position: relative;
  display: flex;
  min-height: calc(100svh - 70px);
  padding: clamp(22px, 2.7vh, 32px) clamp(38px, 5vw, 78px) clamp(24px, 3vh, 36px);
  flex-direction: column;
  overflow: hidden;
  scroll-margin-top: 70px;
  scroll-snap-align: start;
  color: var(--cream);
  background:
    radial-gradient(circle at 14% 24%, rgb(226 195 110 / 10%), transparent 28%),
    radial-gradient(circle at 88% 78%, rgb(163 25 77 / 12%), transparent 30%),
    linear-gradient(150deg, #073f38 0%, var(--emerald-950) 52%, #052f2b 100%);
}
.life-coaching-heading {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  text-align: center;
}
.life-coaching-heading .section-kicker {
  margin: 0 0 3px;
  color: var(--gold-light);
  letter-spacing: 0.28em;
}
.life-coaching-heading h2 {
  width: fit-content;
  margin: 0 auto;
  color: var(--cream);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.5rem, 5.2vh, 3.9rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 0.95;
  text-transform: uppercase;
  text-shadow: 0 2px 0 rgb(197 154 52 / 35%);
}
.life-coaching-heading h2::after {
  display: block;
  width: 72%;
  height: 1px;
  margin: 8px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light) 14% 86%, transparent);
  content: "";
}
.life-coaching-heading > p:last-child {
  margin: 7px auto clamp(16px, 2.2vh, 22px);
  color: rgb(255 250 241 / 79%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(0.95rem, 1.65vh, 1.08rem);
}
.life-coaching-hand {
  position: absolute;
  top: clamp(28px, 4.6vh, 48px);
  z-index: 1;
  width: clamp(150px, 18vw, 250px);
  height: clamp(90px, 11vh, 116px);
  background-image: url("assets/life-coaching-hands-elegant-v3.webp");
  background-repeat: no-repeat;
  background-size: 200% 100%;
  opacity: 0.9;
  pointer-events: none;
}
.life-coaching-hand::before {
  position: absolute;
  top: 0;
  width: 78%;
  height: 28%;
  content: "";
}
.life-coaching-hand--left {
  left: clamp(22px, 4vw, 65px);
  background-position: left bottom;
}
.life-coaching-hand--left::before {
  left: 0;
  border-top: 2px solid var(--cranberry-vivid);
  border-left: 2px solid var(--cranberry-vivid);
}
.life-coaching-hand--right {
  right: clamp(22px, 4vw, 65px);
  background-position: right bottom;
}
.life-coaching-hand--right::before {
  right: 0;
  border-top: 2px solid var(--cranberry-vivid);
  border-right: 2px solid var(--cranberry-vivid);
}
.life-coaching-layout {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(1160px, 88%);
  min-height: 0;
  margin: 0 auto;
  flex: 1;
  grid-template-columns: minmax(320px, 0.54fr) minmax(350px, 0.46fr);
  align-items: center;
  gap: clamp(16px, 2.5vw, 34px);
}
.life-coaching-photo {
  position: relative;
  width: 100%;
  min-height: 0;
  margin: 0;
  aspect-ratio: 4 / 3;
  border: 1px solid rgb(226 195 110 / 86%);
  border-radius: 18px 4px 18px 4px;
  overflow: hidden;
  box-shadow: 0 22px 44px rgb(0 20 17 / 32%);
}
.life-coaching-photo::after {
  position: absolute;
  inset: 8px;
  border: 1px solid rgb(248 240 227 / 30%);
  content: "";
  pointer-events: none;
}
.life-coaching-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.life-coaching-content {
  display: flex;
  min-height: 0;
  padding: clamp(11px, 1.45vh, 17px) clamp(15px, 1.6vw, 22px);
  flex-direction: column;
  justify-content: center;
  border: 1px solid rgb(226 195 110 / 84%);
  border-radius: 4px 18px 4px 18px;
  background: linear-gradient(145deg, rgb(5 51 46 / 96%), rgb(8 65 57 / 92%));
  box-shadow: 0 22px 44px rgb(0 20 17 / 28%);
}
.life-coaching-intro,
.life-coaching-close {
  margin: 0;
  color: rgb(255 250 241 / 86%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(0.8rem, 1.24vh, 0.9rem);
  line-height: 1.22;
}
.life-coaching-intro .brand-name-inline { color: var(--gold-light); }
.life-coaching-steps {
  display: grid;
  margin: clamp(7px, 0.9vh, 10px) 0;
  gap: clamp(5px, 0.7vh, 8px);
}
.life-coaching-steps article {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}
.life-coaching-steps article > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--gold-light);
  border-radius: 50%;
  color: var(--gold-light);
  background: rgb(163 25 77 / 12%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 0.9rem;
}
.life-coaching-steps h3 {
  width: fit-content;
  margin: 0 0 1px;
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.2rem, 2vh, 1.55rem);
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}
.life-coaching-steps h3::after {
  display: block;
  height: 1px;
  margin-top: 3px;
  background: linear-gradient(90deg, var(--cranberry-vivid), transparent);
  content: "";
}
.life-coaching-steps p {
  margin: 0;
  color: rgb(255 250 241 / 80%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(0.76rem, 1.15vh, 0.86rem);
  line-height: 1.22;
}
.life-coaching-close {
  padding-top: 8px;
  border-top: 1px solid rgb(226 195 110 / 42%);
  font-style: italic;
  text-align: center;
}
.life-coaching-button {
  display: inline-flex;
  min-height: 36px;
  margin-top: clamp(10px, 1.4vh, 15px);
  padding: 7px 21px;
  align-self: center;
  align-items: center;
  border: 1px solid var(--gold);
  border-radius: 999px;
  color: var(--emerald-950);
  background: linear-gradient(145deg, #f2e4cb, #dfc8a4);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}
.life-coaching-button span { margin-left: 8px; color: var(--cranberry-vivid); font-size: 1.35em; line-height: 0.6; }

@media (min-width: 901px) {
  .life-coaching-section {
    height: calc(100svh - 70px);
    min-height: 0;
    max-height: calc(100svh - 70px);
  }
}

@media (max-width: 900px) {
  .life-coaching-section { min-height: auto; padding: 62px 7vw 70px; }
  .life-coaching-hand { display: none; }
  .life-coaching-layout { grid-template-columns: 1fr; }
  .life-coaching-photo { min-height: 460px; }
  .life-coaching-content { padding: 26px; }
}

@media (max-width: 560px) {
  .life-coaching-section { padding-inline: 6vw; }
  .life-coaching-heading h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .life-coaching-photo { min-height: 360px; }
  .life-coaching-steps article { grid-template-columns: 38px minmax(0, 1fr); }
  .life-coaching-steps article > span { width: 36px; height: 36px; }
  .life-coaching-button { align-self: stretch; justify-content: center; text-align: center; }
}

/* Services — Version 47: consultation and transitional housing */
.intake-section,.transitional-section{position:relative;min-height:calc(100svh - 70px);padding:clamp(20px,2.4vh,28px) clamp(26px,4.2vw,66px) clamp(18px,2.2vh,26px);overflow:hidden;scroll-margin-top:70px;scroll-snap-align:start;color:var(--cream);background:linear-gradient(rgb(6 58 51 / 96%),rgb(4 48 43 / 98%)),url("assets/hero-botanical.svg") center/cover no-repeat}
.intake-section::before,.transitional-section::before{position:absolute;inset:8px;border:1px solid rgb(226 195 110 / 72%);content:"";pointer-events:none}
.intake-heading,.transitional-heading{position:relative;z-index:2;text-align:center}
.intake-heading h2,.transitional-heading h2{width:fit-content;margin:0 auto;color:var(--gold-light);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.1rem,4.6vh,3.45rem);font-weight:600;letter-spacing:.04em;line-height:.95;text-transform:uppercase;text-shadow:0 2px 2px rgb(0 0 0 / 30%)}
.intake-heading h2::after,.transitional-heading h2::after{display:block;width:78%;height:1px;margin:7px auto 0;background:linear-gradient(90deg,transparent,var(--gold-light) 16% 84%,transparent);content:""}
.intake-heading>p,.transitional-heading>p{margin:4px auto 12px;color:rgb(255 250 241 / 90%);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(.95rem,1.75vh,1.15rem)}
.intake-layout{position:relative;z-index:2;display:grid;width:min(1180px,92%);margin:0 auto;grid-template-columns:minmax(250px,.38fr) minmax(520px,.62fr);gap:clamp(12px,1.8vw,22px);align-items:stretch}
.intake-intro,.intake-form,.transitional-copy,.transitional-photo,.transitional-footer-card{border:1px solid var(--gold-light);box-shadow:0 18px 40px rgb(0 20 17 / 28%)}
.intake-intro{padding:clamp(15px,2vh,22px);border-radius:14px 3px 14px 3px;background:rgb(5 61 53 / 78%)}
.intake-intro h3{margin:0 0 9px;color:var(--gold-light);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.45rem,2.7vh,2rem);line-height:.95;text-align:center;text-transform:uppercase}
.intake-intro>p:not(.intake-disclaimer):not(.eligibility-message){margin:0;color:rgb(255 250 241 / 88%);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(.82rem,1.27vh,.94rem);line-height:1.25}
.intake-benefits{display:grid;margin:12px 0 0;padding:0;gap:10px;list-style:none}.intake-benefits li{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px}.intake-benefits li>span{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--gold-light);border-radius:50%;color:var(--gold-light);font-size:1.1rem}.intake-benefits strong{display:block;color:var(--gold-light);font-family:"Cormorant Garamond",Georgia,serif;font-size:1rem}.intake-benefits small{display:block;color:rgb(255 250 241 / 78%);font-family:"Cormorant Garamond",Georgia,serif;font-size:.75rem;line-height:1.17}.intake-disclaimer{margin:13px 0 0;padding-top:8px;border-top:1px solid rgb(226 195 110 / 62%);color:rgb(255 250 241 / 68%);font-family:"Cormorant Garamond",Georgia,serif;font-size:.78rem;font-style:italic;text-align:center}
.intake-form{display:flex;padding:clamp(12px,1.5vh,17px);flex-direction:column;border-width:2px;border-radius:3px 14px 3px 14px;color:#20312d;background:linear-gradient(145deg,#fffdf8,#f6efe3)}.form-grid{display:grid;gap:7px 12px}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.intake-form label{display:grid;align-content:start;gap:3px;color:#283b35;font-family:"Cormorant Garamond",Georgia,serif;font-size:.77rem;font-weight:700}.intake-form label>span{color:var(--cranberry-vivid)}.intake-form input,.intake-form select,.intake-form textarea{width:100%;min-height:28px;padding:5px 7px;border:1px solid #d6d6d1;border-radius:3px;color:#233a34;background:rgb(255 255 255 / 84%);font:inherit;font-weight:500}.intake-form textarea{min-height:43px;resize:vertical}.form-grid-spacer{min-height:0}.form-note{margin:8px 0;padding:7px 10px;border:1px solid var(--gold);border-radius:7px;color:#42391f;background:#fff8e8;font-family:"Cormorant Garamond",Georgia,serif;font-size:.72rem;line-height:1.2;text-align:center}.intake-form button{min-height:35px;padding:7px 16px;border:1px solid var(--gold);border-radius:6px;color:#2f2919;background:linear-gradient(145deg,#e6c36a,#c99a35);font-family:"Cormorant Garamond",Georgia,serif;font-size:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.form-status{min-height:0;margin:4px 0 0;color:#315f52;font-family:"Cormorant Garamond",Georgia,serif;font-size:.76rem;font-weight:700;text-align:center}
.intake-signature{position:relative;z-index:2;display:grid;margin:8px auto 0;color:var(--gold-light);font-family:"Cormorant Garamond",Georgia,serif;letter-spacing:.16em;text-align:center;text-transform:uppercase}.intake-signature small{color:rgb(255 250 241 / 78%);font-size:.64rem;font-style:italic;letter-spacing:.02em;text-transform:none}
.transitional-section{display:flex;flex-direction:column}.transitional-main{position:relative;z-index:2;display:grid;width:min(1320px,94%);min-height:0;margin:0 auto;flex:1;grid-template-columns:minmax(420px,.58fr) minmax(390px,.42fr);gap:10px;align-items:stretch}.transitional-photo{min-height:0;margin:0;border-radius:18px 3px 3px 18px;overflow:hidden}.transitional-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.transitional-copy{padding:clamp(12px,1.6vh,18px);border-radius:3px 18px 18px 3px;background:rgb(5 55 48 / 88%)}.transitional-copy>p{margin:0 0 9px;color:rgb(255 250 241 / 88%);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(.76rem,1.18vh,.88rem);line-height:1.2}.transitional-steps{display:grid;gap:7px}.transitional-steps>div{display:grid;padding-top:6px;grid-template-columns:54px minmax(0,1fr);gap:8px;border-top:1px solid rgb(226 195 110 / 48%)}.transitional-steps>div>span{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--gold-light);border-radius:50%;color:var(--gold-light);font-size:.85rem}.transitional-steps p{margin:0;color:rgb(255 250 241 / 82%);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(.7rem,1.07vh,.8rem);line-height:1.16}.transitional-steps strong{display:block;color:var(--gold-light);font-size:1.08rem;letter-spacing:.04em;text-transform:uppercase}
.transitional-footer-card{position:relative;z-index:2;display:grid;width:min(1180px,88%);margin:8px auto 0;padding:9px 12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;border-radius:12px 3px 12px 3px;background:rgb(5 55 48 / 90%)}.transitional-footer-card strong{color:var(--gold-light);font-family:"Cormorant Garamond",Georgia,serif;font-size:1rem;text-transform:uppercase}.transitional-footer-card p{margin:2px 0 0;color:rgb(255 250 241 / 80%);font-family:"Cormorant Garamond",Georgia,serif;font-size:.7rem;line-height:1.15}.transitional-footer-card a{padding:9px 16px;border:1px solid var(--gold-light);border-radius:7px;color:#2f2919;background:linear-gradient(145deg,#ead080,#c99a35);font-family:"Cormorant Garamond",Georgia,serif;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.eligibility-layout{width:min(1260px,94%);grid-template-columns:minmax(230px,.31fr) minmax(650px,.69fr)}.eligibility-form{padding:10px 14px}.eligibility-form>h3{margin:0 0 5px;color:#345a4f;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.2rem;letter-spacing:.05em;text-align:center;text-transform:uppercase}.eligibility-fields{gap:4px 12px}.eligibility-fields input,.eligibility-fields select{min-height:24px;padding-block:3px}.eligibility-fields textarea{min-height:37px}.eligibility-needs{grid-column:2}.eligibility-benefits{margin-top:18px;gap:15px}.eligibility-message{margin:20px 0 0!important;padding-top:12px;border-top:1px solid var(--gold-light);color:var(--gold-light)!important;font-family:"Cormorant Garamond",Georgia,serif!important;font-size:clamp(1.3rem,2.5vh,1.8rem)!important;font-style:italic;line-height:1!important;text-align:center}.form-confirm{display:flex!important;margin-top:5px;align-items:center;gap:7px!important;font-size:.68rem!important;font-weight:500!important}.form-confirm input{width:auto;min-height:auto}
@media (min-width:901px){.intake-section,.transitional-section{height:calc(100svh - 70px);min-height:0;max-height:calc(100svh - 70px)}}
@media (max-width:900px){.intake-section,.transitional-section{min-height:auto;max-height:none;padding:62px 6vw 70px}.intake-layout,.transitional-main,.transitional-footer-card{grid-template-columns:1fr}.form-grid--two{grid-template-columns:1fr}.form-grid-spacer{display:none!important}.eligibility-needs{grid-column:auto}.transitional-photo{min-height:420px}.transitional-footer-card a{justify-self:center}}

/* Services — Version 48: one-screen forms and crisp Life Coaching hands */
.life-coaching-hand {
  background-image: url("assets/life-coaching-hands-elegant-v3.webp");
  opacity: .96;
}

@media (min-width: 901px) {
  .consultation-section,
  .eligibility-section {
    display: flex;
    height: calc(100svh - 70px);
    min-height: 0;
    max-height: calc(100svh - 70px);
    padding: clamp(12px, 1.6vh, 18px) clamp(24px, 3.5vw, 54px) clamp(10px, 1.4vh, 16px);
    flex-direction: column;
  }

  .consultation-section .intake-heading h2,
  .eligibility-section .intake-heading h2 {
    font-size: clamp(1.85rem, 3.8vh, 2.75rem);
  }

  .consultation-section .intake-heading > p,
  .eligibility-section .intake-heading > p {
    margin: 3px auto 7px;
    font-size: clamp(.82rem, 1.35vh, .98rem);
  }

  .consultation-section .intake-layout,
  .eligibility-section .intake-layout {
    width: min(1220px, 94%);
    min-height: 0;
    margin: 0 auto;
    flex: 1;
    gap: clamp(9px, 1.2vw, 15px);
  }

  .consultation-section .intake-intro,
  .eligibility-section .intake-intro {
    min-height: 0;
    padding: clamp(10px, 1.25vh, 14px);
  }

  .consultation-section .intake-intro h3,
  .eligibility-section .intake-intro h3 {
    margin-bottom: 6px;
    font-size: clamp(1.25rem, 2.25vh, 1.7rem);
  }

  .consultation-section .intake-intro > p:not(.intake-disclaimer),
  .eligibility-section .intake-intro > p:not(.eligibility-message) {
    font-size: clamp(.74rem, 1.08vh, .84rem);
    line-height: 1.18;
  }

  .consultation-section .intake-benefits,
  .eligibility-section .intake-benefits {
    margin-top: 8px;
    gap: 6px;
  }

  .consultation-section .intake-benefits li,
  .eligibility-section .intake-benefits li {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 7px;
  }

  .consultation-section .intake-benefits li > span,
  .eligibility-section .intake-benefits li > span {
    width: 31px;
    height: 31px;
    font-size: .92rem;
  }

  .consultation-section .intake-benefits strong,
  .eligibility-section .intake-benefits strong { font-size: .88rem; }
  .consultation-section .intake-benefits small { font-size: .67rem; line-height: 1.08; }
  .consultation-section .intake-disclaimer { margin-top: 8px; padding-top: 6px; font-size: .7rem; }

  .consultation-section .intake-form,
  .eligibility-section .intake-form {
    min-height: 0;
    padding: 9px 12px;
    justify-content: flex-start;
  }

  .consultation-section .form-grid { gap: 4px 10px; }
  .consultation-section .intake-form label,
  .eligibility-section .intake-form label { gap: 2px; font-size: .69rem; }
  .consultation-section .intake-form input,
  .consultation-section .intake-form select,
  .eligibility-section .intake-form input,
  .eligibility-section .intake-form select { min-height: 24px; padding: 3px 6px; }
  .consultation-section .intake-form textarea { min-height: 34px; padding: 4px 6px; }
  .consultation-section .form-note,
  .eligibility-section .form-note { margin: 5px 0; padding: 5px 8px; font-size: .64rem; line-height: 1.12; }
  .consultation-section .intake-form button,
  .eligibility-section .intake-form button { min-height: 30px; padding: 5px 14px; font-size: .78rem; }
  .consultation-section .intake-signature,
  .eligibility-section .intake-signature { margin-top: 4px; font-size: .74rem; }

  .eligibility-section .eligibility-layout {
    width: min(1280px, 95%);
    grid-template-columns: minmax(210px, .27fr) minmax(670px, .73fr);
  }
  .eligibility-section .eligibility-form { padding: 7px 11px; }
  .eligibility-section .eligibility-form > h3 { margin-bottom: 3px; font-size: 1rem; }
  .eligibility-section .eligibility-fields { gap: 2px 10px; }
  .eligibility-section .eligibility-fields input,
  .eligibility-section .eligibility-fields select { min-height: 21px; padding-block: 2px; }
  .eligibility-section .eligibility-fields textarea { min-height: 30px; }
  .eligibility-section .eligibility-benefits { margin-top: 10px; gap: 9px; }
  .eligibility-section .eligibility-message { margin-top: 10px!important; padding-top: 8px; font-size: clamp(1.05rem, 2vh, 1.4rem)!important; }
  .eligibility-section .form-confirm { margin-top: 3px; font-size: .61rem!important; }
}

/* Services — Version 49: balanced forms and Speaking Engagements */
.form-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.form-column {
  display: grid;
  align-content: start;
  gap: 5px;
}

.intake-form .field-label {
  display: flex;
  align-items: baseline;
  gap: 3px;
  color: #283b35;
  line-height: 1.08;
}

.intake-form .field-label b {
  color: var(--cranberry-vivid);
  font: inherit;
}

.word-counter {
  justify-self: end;
  color: #65736e;
  font-size: .59rem;
  font-weight: 500;
  line-height: 1;
}

.interactive-options {
  display: flex;
  margin: 5px 0;
  padding: 4px 7px;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 13px;
  border: 1px solid #d7cab3;
  border-radius: 4px;
}

.interactive-options legend {
  padding: 0 4px;
  color: #283b35;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: .68rem;
  font-weight: 700;
}

.interactive-options label {
  display: flex;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 4px;
  font-size: .63rem;
  font-weight: 500;
}

.interactive-options input {
  width: auto;
  min-height: auto;
  margin: 0;
  accent-color: var(--cranberry-vivid);
}

.form-confirm input {
  width: 14px!important;
  height: 14px;
  min-height: 14px!important;
  flex: 0 0 14px;
  accent-color: var(--cranberry-vivid);
}

.transitional-copy > p > strong:first-child { color: var(--gold-light); }

.speaking-section {
  position: relative;
  display: flex;
  min-height: calc(100svh - 70px);
  padding: clamp(18px, 2.2vh, 26px) clamp(28px, 4.5vw, 72px) clamp(14px, 1.8vh, 22px);
  flex-direction: column;
  overflow: hidden;
  scroll-margin-top: 70px;
  scroll-snap-align: start;
  color: var(--cream);
  background:
    radial-gradient(circle at 14% 18%, rgb(163 25 77 / 12%), transparent 25%),
    linear-gradient(rgb(5 57 49 / 96%), rgb(3 47 41 / 98%)),
    url("assets/hero-botanical.svg") center / cover no-repeat;
}

.speaking-section::before {
  position: absolute;
  inset: 8px;
  border: 1px solid rgb(226 195 110 / 74%);
  content: "";
  pointer-events: none;
}

.speaking-heading {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  text-align: center;
}

.speaking-heading::before,
.speaking-heading::after {
  position: absolute;
  top: 50%;
  width: clamp(72px, 9vw, 132px);
  height: 22px;
  background:
    linear-gradient(90deg, transparent, rgb(255 250 241 / 88%) 14% 86%, transparent) top center / 100% 1px no-repeat,
    radial-gradient(circle, var(--cranberry-vivid) 0 3px, transparent 3.6px) bottom center / 18px 12px repeat-x;
  content: "";
  opacity: .92;
  transform: translateY(-50%);
}

.speaking-heading::before { left: clamp(8px, 3vw, 44px); }
.speaking-heading::after { right: clamp(8px, 3vw, 44px); }

.speaking-heading .section-kicker {
  margin: 0 0 3px;
  color: var(--gold-light);
  font-size: clamp(.68rem, 1.15vh, .82rem);
  letter-spacing: .22em;
}

.speaking-heading h2 {
  width: fit-content;
  margin: 0 auto;
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.4rem, 5.2vh, 4rem);
  font-weight: 600;
  letter-spacing: .055em;
  line-height: .92;
  text-transform: uppercase;
  text-shadow: 0 3px 12px rgb(0 0 0 / 28%);
}

.speaking-heading h2::after {
  display: block;
  width: 74%;
  height: 1px;
  margin: 7px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light) 18% 82%, transparent);
  content: "";
}

.speaking-heading > p:last-child {
  margin: 3px 0 10px;
  color: rgb(255 250 241 / 88%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.9rem, 1.6vh, 1.08rem);
  font-style: italic;
}

.speaking-layout {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(1250px, 93%);
  min-height: 0;
  margin: 0 auto;
  flex: 1;
  grid-template-columns: minmax(330px, .43fr) minmax(410px, .57fr);
  gap: clamp(12px, 1.8vw, 24px);
  align-items: stretch;
}

.speaking-photo,
.speaking-copy {
  border: 1px solid var(--gold-light);
  box-shadow: 0 20px 42px rgb(0 20 17 / 30%);
}

.speaking-photo {
  min-height: 0;
  margin: 0;
  border-radius: 18px 3px 3px 18px;
  overflow: hidden;
}

.speaking-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 36%;
}

.speaking-copy {
  display: flex;
  min-height: 0;
  padding: clamp(14px, 1.9vh, 22px) clamp(17px, 2vw, 26px);
  flex-direction: column;
  justify-content: center;
  border-radius: 3px 18px 18px 3px;
  background: rgb(5 55 48 / 88%);
}

.speaking-copy p {
  margin: 0 0 clamp(6px, .9vh, 9px);
  color: rgb(255 250 241 / 86%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.78rem, 1.22vh, .91rem);
  line-height: 1.22;
}

.speaking-copy .brand-name-inline { color: var(--gold-light); }

.speaking-button {
  display: inline-flex;
  min-height: 36px;
  margin-top: 4px;
  padding: 7px 24px;
  align-self: center;
  align-items: center;
  border: 1px solid var(--gold-light);
  border-radius: 7px;
  color: #2f2919;
  background: linear-gradient(145deg, #f1db9e, #c99a35);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: .86rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

.speaking-button span { margin-left: 8px; font-size: 1.2em; }

.speaking-photo,
.speaking-copy { box-shadow: 0 20px 42px rgb(0 20 17 / 30%), 0 0 0 2px rgb(163 25 77 / 24%); }

.time-range {
  color: #2b2a20;
  font-weight: 800;
  white-space: nowrap;
}

.intake-signature--tagline {
  display: block;
  color: rgb(255 250 241 / 82%);
  font-size: .69rem;
  font-style: italic;
  letter-spacing: .05em;
  text-transform: none;
}

.speaking-request-intro { text-align: center; }
.speaking-request-quote {
  margin-top: 12px!important;
  padding-top: 10px;
  border-top: 1px solid var(--gold-light);
  color: var(--gold-light)!important;
  font-size: clamp(1.15rem, 2.15vh, 1.55rem)!important;
  font-style: italic;
  line-height: 1!important;
}

.speaking-form > h3 {
  margin: 0 0 4px;
  color: #345a4f;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.05rem;
  letter-spacing: .06em;
  text-align: center;
  text-transform: uppercase;
}

@media (min-width: 901px) {
  .speaking-section {
    height: calc(100svh - 70px);
    min-height: 0;
    max-height: calc(100svh - 70px);
  }

  .consultation-section .intake-layout {
    width: min(1120px, 90%);
    grid-template-columns: minmax(280px, .39fr) minmax(510px, .61fr);
    align-items: center;
  }

  .consultation-section .intake-intro h3 {
    font-size: clamp(1.8rem, 3.7vh, 2.65rem);
    line-height: .9;
  }

  .consultation-section .intake-intro > p:not(.intake-disclaimer) {
    font-size: clamp(.83rem, 1.3vh, .96rem);
    line-height: 1.25;
  }

  .consultation-section .intake-benefits strong { font-size: 1rem; }
  .consultation-section .intake-benefits small { font-size: .72rem; line-height: 1.13; }
  .consultation-section .intake-form { padding: 7px 10px; }
  .consultation-section .form-column { gap: 3px; }
  .consultation-section .intake-form textarea { min-height: 30px; }
  .consultation-section .form-note { margin-block: 4px; }

  .eligibility-section .intake-layout {
    width: min(1200px, 92%);
    grid-template-columns: minmax(270px, .34fr) minmax(620px, .66fr);
    align-items: center;
  }

  .eligibility-section .intake-intro {
    padding: 18px;
  }

  .eligibility-section .intake-intro h3 {
    font-size: clamp(1.65rem, 3.1vh, 2.2rem);
  }

  .eligibility-section .intake-intro > p:not(.eligibility-message) {
    font-size: clamp(.85rem, 1.35vh, .98rem);
    line-height: 1.27;
  }

  .eligibility-section .intake-benefits strong { font-size: .98rem; }
  .eligibility-section .eligibility-message { font-size: clamp(1.35rem, 2.65vh, 1.85rem)!important; }
  .eligibility-section .form-column { gap: 2px; }
  .eligibility-section .intake-form textarea { min-height: 27px; }
  .eligibility-section .intake-signature { margin-top: 2px; }

  .speaking-request-section {
    display: flex;
    height: calc(100svh - 70px);
    min-height: 0;
    max-height: calc(100svh - 70px);
    padding: clamp(10px, 1.35vh, 15px) clamp(22px, 3vw, 48px) clamp(8px, 1.1vh, 13px);
    flex-direction: column;
  }

  .speaking-request-section .intake-heading h2 { font-size: clamp(1.85rem, 3.7vh, 2.7rem); }
  .speaking-request-section .intake-heading > p { margin: 2px auto 6px; font-size: .86rem; }
  .speaking-request-layout {
    width: min(1300px, 96%);
    min-height: 0;
    margin: 0 auto;
    flex: 1;
    grid-template-columns: minmax(235px, .26fr) minmax(720px, .74fr);
    gap: 10px;
    align-items: center;
  }

  .speaking-request-intro { padding: 14px; }
  .speaking-request-intro h3 { font-size: clamp(1.35rem, 2.7vh, 1.9rem); }
  .speaking-request-intro > p:not(.speaking-request-quote) { font-size: .78rem; line-height: 1.2; }
  .speaking-request-intro .intake-benefits { margin-top: 9px; gap: 8px; text-align: left; }
  .speaking-request-intro .intake-benefits li { grid-template-columns: 35px 1fr; }
  .speaking-request-intro .intake-benefits li > span { width: 32px; height: 32px; }
  .speaking-form { padding: 7px 10px; }
  .speaking-form .form-column { gap: 2px; }
  .speaking-form label { gap: 1px; font-size: .64rem; }
  .speaking-form input,
  .speaking-form select { min-height: 21px; padding: 2px 5px; }
  .speaking-form textarea { min-height: 29px; padding: 3px 5px; }
  .speaking-form .word-counter { font-size: .54rem; }
  .speaking-form .form-note { margin: 3px 0; padding: 4px 7px; font-size: .59rem; }
  .speaking-form .form-confirm { margin-top: 2px; font-size: .59rem!important; }
  .speaking-form button { min-height: 27px; padding: 4px 13px; font-size: .72rem; }
  .speaking-request-section .intake-signature { margin-top: 2px; font-size: .7rem; }
}

@media (max-width: 900px) {
  .form-columns,
  .speaking-layout { grid-template-columns: 1fr; }
  .speaking-section { min-height: auto; padding: 62px 6vw 70px; }
  .speaking-photo { min-height: 520px; border-radius: 18px 18px 3px 3px; }
  .speaking-copy { border-radius: 3px 3px 18px 18px; }
  .speaking-request-section { min-height: auto; max-height: none; padding: 62px 6vw 70px; }
}

/* Services — Version 52: Programs and revised service order */
.programs-section {
  position: relative;
  display: flex;
  min-height: calc(100svh - 70px);
  padding: clamp(17px, 2.2vh, 26px) clamp(28px, 4.5vw, 72px) clamp(15px, 2vh, 24px);
  flex-direction: column;
  overflow: hidden;
  scroll-margin-top: 70px;
  scroll-snap-align: start;
  color: var(--cream);
  background:
    radial-gradient(circle at 50% 8%, rgb(226 195 110 / 9%), transparent 31%),
    linear-gradient(145deg, #063f38, var(--emerald-950) 58%, #063a34);
}

.programs-section::before {
  position: absolute;
  inset: 9px;
  border: 1px solid rgb(226 195 110 / 70%);
  content: "";
  pointer-events: none;
}

.programs-heading {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  text-align: center;
}

.programs-heading .section-kicker {
  margin: 0 0 2px;
  color: var(--gold-light);
  font-size: clamp(.68rem, 1.1vh, .8rem);
  letter-spacing: .2em;
}

.programs-heading :is(h1, h2) {
  width: fit-content;
  margin: 0 auto;
  color: var(--cream);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.7rem, 5.6vh, 4.2rem);
  font-weight: 600;
  letter-spacing: .07em;
  line-height: .9;
  text-transform: uppercase;
}

.programs-heading :is(h1, h2)::after {
  display: block;
  width: 82%;
  height: 1px;
  margin: 6px auto 0;
  background: var(--gold-light);
  content: "";
}

.programs-heading > p:last-child {
  margin: 4px 0 10px;
  color: rgb(255 250 241 / 80%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.78rem, 1.28vh, .94rem);
}

.programs-layout {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(1260px, 94%);
  min-height: 0;
  margin: 0 auto;
  flex: 1;
  grid-template-columns: minmax(210px, .22fr) minmax(650px, .78fr);
  gap: clamp(16px, 2vw, 30px);
  align-items: stretch;
}

.program-tabs {
  display: flex;
  min-height: 0;
  padding: 3vh 0;
  flex-direction: column;
  justify-content: space-evenly;
  gap: 12px;
}

.program-tab {
  min-height: 70px;
  padding: 11px 17px;
  border: 1px solid var(--gold-light);
  border-radius: 3px;
  color: var(--gold-light);
  background: rgb(3 43 38 / 64%);
  box-shadow: 0 10px 24px rgb(0 22 19 / 22%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.95rem, 1.8vh, 1.22rem);
  font-weight: 600;
  line-height: 1.05;
  text-transform: uppercase;
  transition: color 180ms ease, background 180ms ease, transform 180ms ease;
}

.program-tab:hover,
.program-tab:focus-visible,
.program-tab.is-active {
  color: #203c35;
  background: linear-gradient(145deg, #fffaf0, #ead9bd);
  outline: none;
  transform: translateX(7px);
}

.program-panel {
  display: grid;
  min-height: 0;
  grid-template-rows: minmax(190px, 48%) minmax(0, 52%);
  overflow: hidden;
  border: 2px solid var(--gold-light);
  border-radius: 5px;
  color: #173f38;
  background: linear-gradient(145deg, #fffaf0, #f1e3cb);
  box-shadow: 0 20px 42px rgb(0 22 19 / 28%);
}

.program-photo { min-height: 0; margin: 0; overflow: hidden; }
.program-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }

.program-copy {
  display: flex;
  min-height: 0;
  padding: clamp(10px, 1.45vh, 16px) clamp(14px, 1.8vw, 24px);
  flex-direction: column;
}

.program-copy h3 {
  margin: 0 0 4px;
  color: #183f38;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.55rem, 3vh, 2.35rem);
  font-weight: 600;
  letter-spacing: .035em;
  line-height: .95;
  text-transform: uppercase;
}

#program-description { min-height: 0; }
#program-description p {
  margin: 0 0 6px;
  color: #244b44;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.75rem, 1.18vh, .89rem);
  font-weight: 500;
  line-height: 1.2;
}

.program-learn-more {
  display: inline-flex;
  min-width: 150px;
  min-height: 32px;
  margin-top: auto;
  padding: 6px 22px;
  align-self: center;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--gold);
  border-radius: 3px;
  color: var(--gold-light);
  background: var(--emerald-950);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

.program-learn-more span { margin-left: 8px; }
.program-learn-more:hover,
.program-learn-more:focus-visible { color: var(--cream); background: var(--cranberry-vivid); outline: none; }

.programs-flower {
  position: absolute;
  z-index: 1;
  top: 13%;
  width: clamp(70px, 7vw, 110px);
  height: 73%;
  border-color: rgb(226 195 110 / 34%);
  pointer-events: none;
}

.programs-flower::before,
.programs-flower::after {
  position: absolute;
  border: 1px solid rgb(226 195 110 / 38%);
  border-radius: 50% 50% 12% 50%;
  content: "";
  transform: rotate(44deg);
}

.programs-flower::before { top: 7%; width: 38px; height: 55px; }
.programs-flower::after { bottom: 7%; width: 28px; height: 43px; }
.programs-flower--left { left: 1.3vw; border-left: 1px solid rgb(226 195 110 / 34%); }
.programs-flower--left::before,
.programs-flower--left::after { left: -8px; }
.programs-flower--right { right: 1.3vw; border-right: 1px solid rgb(226 195 110 / 34%); }
.programs-flower--right::before,
.programs-flower--right::after { right: -8px; transform: rotate(-44deg); }

.program-interest-section {
  position: relative;
  display: flex;
  min-height: calc(100svh - 70px);
  padding: clamp(12px, 1.6vh, 18px) clamp(25px, 4vw, 58px) clamp(9px, 1.2vh, 14px);
  flex-direction: column;
  overflow: hidden;
  scroll-margin-top: 70px;
  scroll-snap-align: start;
  background:
    radial-gradient(circle at 12% 20%, rgb(163 25 77 / 10%), transparent 22%),
    linear-gradient(145deg, #06433b, var(--emerald-950));
}

.program-interest-heading .section-kicker { margin: 0 0 2px; color: var(--gold-light); font-size: .66rem; letter-spacing: .21em; }
.program-interest-heading h2 { color: var(--cream); font-size: clamp(2rem, 4.4vh, 3.4rem); text-transform: uppercase; }
.program-interest-heading > p:last-child { margin: 1px 0 7px; color: rgb(255 250 241 / 82%); font-family: "Cormorant Garamond", Georgia, serif; font-size: .85rem; }

.program-interest-form {
  width: min(1160px, 92%);
  min-height: 0;
  margin: 0 auto;
  padding: clamp(10px, 1.4vh, 15px) clamp(15px, 2vw, 25px);
  flex: 1;
  justify-content: center;
  border: 2px solid var(--gold-light);
}

.program-interest-fields { gap: 5px 16px; }
.program-interest-form .form-column { gap: 4px; }
.program-interest-form label { gap: 2px; font-size: .7rem; }
.program-interest-form input,
.program-interest-form select { min-height: 27px; padding: 4px 7px; }
.program-interest-form textarea { min-height: 48px; padding: 5px 7px; }
.program-interest-form .form-note { margin: 6px 0; padding: 6px 10px; }
.program-interest-form button { min-height: 32px; padding: 6px 18px; }
.program-interest-section .intake-signature { margin-top: 4px; color: var(--gold-light); }
.program-interest-section .intake-signature small { color: rgb(255 250 241 / 75%); }

@media (min-width: 901px) {
  .programs-section,
  .program-interest-section {
    height: calc(100svh - 70px);
    min-height: 0;
    max-height: calc(100svh - 70px);
  }
}

@media (max-width: 900px) {
  .programs-section,
  .program-interest-section { min-height: auto; max-height: none; padding: 72px 6vw 70px; }
  .programs-layout { grid-template-columns: 1fr; }
  .program-tabs { padding: 0; }
  .program-tab { min-height: 54px; }
  .program-tab:hover,
  .program-tab:focus-visible,
  .program-tab.is-active { transform: none; }
  .program-panel { min-height: 720px; grid-template-rows: 360px auto; }
  .program-interest-form { width: 100%; }
  .programs-flower { display: none; }
}

/* Services — Version 53: Support Groups styling for Programs */
.programs-section {
  background:
    radial-gradient(circle at 11% 18%, rgb(163 25 77 / 11%), transparent 24%),
    radial-gradient(circle at 89% 82%, rgb(226 195 110 / 7%), transparent 25%),
    linear-gradient(145deg, var(--emerald-950), #073f38 58%, #05352f);
}

.programs-heading::before,
.programs-heading::after {
  position: absolute;
  top: clamp(38px, 5.2vh, 50px);
  width: clamp(92px, 20vw, 310px);
  height: 20px;
  border-top: 2px solid rgb(163 25 77 / 88%);
  border-bottom: 1px solid rgb(163 25 77 / 58%);
  content: "";
  opacity: .92;
  pointer-events: none;
}

.programs-heading::before { left: 0; }
.programs-heading::after { right: 0; }
.programs-heading :is(h1, h2) { color: var(--cream); letter-spacing: .11em; }
.programs-heading :is(h1, h2)::after { width: 74%; background: linear-gradient(90deg, transparent, var(--gold-light) 15% 85%, transparent); }

.programs-flower {
  top: 24%;
  height: 58%;
  opacity: .72;
}

.programs-layout {
  width: min(1380px, 100%);
  grid-template-columns: minmax(235px, .31fr) minmax(0, 1fr);
  gap: clamp(14px, 1.6vw, 24px);
}

.program-tabs {
  display: grid;
  min-height: 0;
  padding: 0;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: clamp(8px, 1.15vh, 12px);
}

.program-tab {
  display: grid;
  width: 100%;
  min-height: 0;
  padding: 12px clamp(14px, 1.6vw, 24px);
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  border: 1px solid rgb(226 195 110 / 82%);
  border-radius: 12px;
  color: var(--cream);
  background: rgb(4 48 43 / 78%);
  box-shadow: 0 8px 20px rgb(0 22 19 / 15%);
  font-size: clamp(.92rem, 1.9vh, 1.14rem);
  letter-spacing: .045em;
  line-height: 1.08;
  text-align: left;
  cursor: pointer;
}

.program-tab b { color: var(--gold-light); font-size: 1.65em; font-weight: 400; line-height: .6; }
.program-tab:nth-child(1) { border-left: 4px solid var(--cream); color: var(--cream); }
.program-tab:nth-child(2) { border-left: 4px solid var(--gold-light); color: var(--gold-light); }
.program-tab:nth-child(3) { border-left: 4px solid var(--cranberry-vivid); color: #e4a0b6; }

.program-tab:hover,
.program-tab:focus-visible { outline: none; transform: translateX(3px); box-shadow: 0 0 0 2px rgb(226 195 110 / 18%), 0 10px 24px rgb(0 22 19 / 22%); }

.program-tab.is-active {
  border-color: var(--gold);
  color: var(--emerald-950);
  background: linear-gradient(145deg, #f2e4cb, #dfc8a4);
  box-shadow: inset 0 0 0 2px rgb(163 25 77 / 12%), 0 10px 24px rgb(0 22 19 / 21%);
}

.program-tab.is-active b { color: var(--cranberry-vivid); }

.program-panel {
  padding: clamp(14px, 1.8vh, 22px);
  grid-template-rows: minmax(210px, 54%) minmax(0, 46%);
  gap: clamp(10px, 1.2vh, 14px);
  border: 1px solid rgb(226 195 110 / 86%);
  border-radius: 18px;
  color: var(--cream);
  background: linear-gradient(145deg, rgb(5 51 46 / 96%), rgb(7 60 54 / 94%));
  box-shadow: 0 22px 46px rgb(0 23 20 / 28%), inset 0 0 0 1px rgb(248 240 227 / 4%);
}

.program-photo {
  border: 1px solid rgb(226 195 110 / 84%);
  border-radius: 16px;
  background: #073c36;
  box-shadow: 0 14px 30px rgb(0 18 16 / 30%);
}

.program-photo img {
  object-fit: contain;
  object-position: center;
}

.program-copy {
  padding: 0 clamp(4px, .7vw, 10px) 2px;
  justify-content: center;
}

.program-copy h3 {
  width: fit-content;
  margin: 0 auto 7px;
  color: var(--cream);
  font-size: clamp(1.55rem, 2.8vh, 2.3rem);
  letter-spacing: .055em;
  text-align: center;
}

.program-copy h3::after {
  display: block;
  width: 74%;
  height: 1px;
  margin: 6px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light) 15% 85%, transparent);
  content: "";
}

#program-description p {
  color: rgb(255 250 241 / 84%);
  font-size: clamp(.73rem, 1.12vh, .86rem);
  line-height: 1.2;
}

.program-learn-more { min-height: 31px; margin-top: 4px; }

.speaking-photo { background: #f4ead8; }
.speaking-photo img { object-fit: contain; object-position: center; }

.program-interest-form .form-column:first-child { grid-template-rows: repeat(4, auto); }
.program-interest-form .form-column:last-child { align-content: center; }
.program-interest-form textarea { min-height: 92px; }

@media (max-width: 900px) {
  .programs-heading::before,
  .programs-heading::after { display: none; }
  .program-panel { min-height: 760px; grid-template-rows: 380px auto; }
  .program-tab { min-height: 62px; }
  .program-interest-form textarea { min-height: 110px; }
}

/* Services — Version 54: refined Programs, Speaking Engagements, and Community Outreach */
.programs-heading::before,
.programs-heading::after {
  border-top-color: var(--cranberry-vivid);
  border-bottom-color: var(--cranberry-vivid);
  background: linear-gradient(90deg, transparent, var(--gold-light) 12% 88%, transparent) center / 100% 1px no-repeat;
}

.programs-flower { display: none; }

.program-panel {
  padding-inline: clamp(10px, 1.35vw, 18px);
}

.program-photo {
  position: relative;
  display: flex;
  border: 0;
  border-radius: 0;
  align-items: stretch;
  justify-content: center;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
}

.program-photo::before,
.program-photo::after {
  position: absolute;
  z-index: 0;
  top: 9%;
  bottom: 9%;
  width: 7.5%;
  border-top: 1px solid var(--gold-light);
  border-bottom: 1px solid var(--gold-light);
  background:
    linear-gradient(135deg, transparent 0 22%, var(--cranberry-vivid) 22% 27%, transparent 27% 46%, rgb(255 250 241 / 88%) 46% 50%, transparent 50% 69%, var(--gold-light) 69% 74%, transparent 74%),
    linear-gradient(45deg, transparent 0 31%, rgb(163 25 77 / 72%) 31% 38%, transparent 38% 62%, rgb(226 195 110 / 72%) 62% 69%, transparent 69%);
  content: "";
  opacity: .9;
}

.program-photo::before { left: 1%; }
.program-photo::after { right: 1%; transform: scaleX(-1); }

.program-photo img {
  position: relative;
  z-index: 1;
  width: 82%;
  height: 100%;
  border: 0;
  border-radius: 10px;
  object-fit: contain;
  object-position: center;
  box-shadow: 0 14px 30px rgb(0 18 16 / 24%);
}

.speaking-copy {
  justify-content: space-between;
}

.speaking-copy p {
  margin-bottom: clamp(7px, 1vh, 11px);
  font-size: clamp(.91rem, 1.48vh, 1.06rem);
  line-height: 1.3;
}

.community-outreach-section {
  position: relative;
  display: flex;
  min-height: calc(100svh - 70px);
  padding: clamp(16px, 2vh, 24px) clamp(30px, 4.8vw, 76px) clamp(12px, 1.6vh, 19px);
  flex-direction: column;
  overflow: hidden;
  scroll-margin-top: 70px;
  scroll-snap-align: start;
  color: var(--cream);
  background:
    radial-gradient(circle at 8% 18%, rgb(163 25 77 / 14%), transparent 24%),
    radial-gradient(circle at 92% 80%, rgb(226 195 110 / 9%), transparent 26%),
    linear-gradient(145deg, #073f38, var(--emerald-950) 55%, #04322d);
}

.community-outreach-section::before {
  position: absolute;
  inset: 9px;
  border: 1px solid rgb(226 195 110 / 72%);
  content: "";
  pointer-events: none;
}

.community-corner {
  position: absolute;
  z-index: 1;
  top: 12px;
  width: clamp(75px, 9vw, 138px);
  height: clamp(75px, 9vw, 138px);
  border-top: 3px solid var(--cranberry-vivid);
  opacity: .84;
}

.community-corner::before,
.community-corner::after {
  position: absolute;
  content: "";
}

.community-corner::before {
  top: 7px;
  width: 76%;
  border-top: 1px solid var(--gold-light);
}

.community-corner::after {
  top: 15px;
  width: 55%;
  border-top: 1px solid var(--cream);
  opacity: .76;
}

.community-corner--left { left: 9px; border-left: 3px solid var(--cranberry-vivid); }
.community-corner--left::before,
.community-corner--left::after { left: 7px; }
.community-corner--right { right: 9px; border-right: 3px solid var(--cranberry-vivid); }
.community-corner--right::before,
.community-corner--right::after { right: 7px; }

.community-outreach-heading {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  text-align: center;
}

.community-outreach-heading .section-kicker {
  margin: 0 0 3px;
  color: var(--gold-light);
  font-size: clamp(.65rem, 1.08vh, .8rem);
  letter-spacing: .2em;
}

.community-outreach-heading h2 {
  width: fit-content;
  margin: 0 auto;
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.35rem, 5vh, 3.9rem);
  font-weight: 600;
  letter-spacing: .06em;
  line-height: .92;
  text-transform: uppercase;
  text-shadow: 0 3px 12px rgb(0 0 0 / 26%);
}

.community-outreach-heading h2::after {
  display: block;
  width: 78%;
  height: 1px;
  margin: 7px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light) 16% 84%, transparent);
  content: "";
}

.community-outreach-heading > p:last-child {
  margin: 3px 0 10px;
  color: rgb(255 250 241 / 90%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.9rem, 1.55vh, 1.08rem);
  font-style: italic;
}

.community-outreach-layout {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(1300px, 94%);
  min-height: 0;
  margin: 0 auto;
  flex: 1;
  grid-template-columns: minmax(390px, .49fr) minmax(420px, .51fr);
  gap: clamp(12px, 1.8vw, 24px);
  align-items: stretch;
}

.community-outreach-photo {
  min-height: 0;
  margin: 0;
  border: 1px solid var(--gold-light);
  border-radius: 18px 3px 3px 18px;
  overflow: hidden;
  background: #f2e6d2;
  box-shadow: 0 20px 42px rgb(0 20 17 / 30%);
}

.community-outreach-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.community-outreach-copy {
  display: flex;
  min-height: 0;
  padding: clamp(13px, 1.65vh, 20px) clamp(17px, 2vw, 27px);
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid var(--gold-light);
  border-radius: 3px 18px 18px 3px;
  background: linear-gradient(145deg, rgb(255 250 241 / 96%), rgb(238 222 194 / 96%));
  box-shadow: 0 20px 42px rgb(0 20 17 / 30%);
}

.community-outreach-copy h3 {
  margin: 0 0 7px;
  color: #153f37;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.4rem, 2.65vh, 2rem);
  font-weight: 600;
  letter-spacing: .035em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.community-outreach-copy h3::after {
  display: block;
  width: 62%;
  height: 1px;
  margin: 7px auto 0;
  background: linear-gradient(90deg, transparent, var(--cranberry-vivid) 15% 85%, transparent);
  content: "";
}

.community-outreach-copy p {
  margin: 0 0 clamp(6px, .82vh, 9px);
  color: #24483f;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.82rem, 1.31vh, .98rem);
  font-weight: 500;
  line-height: 1.25;
}

.community-outreach-copy .brand-name-inline { color: #8e183e; }

.community-outreach-copy .community-outreach-highlight {
  margin-top: 1px;
  padding: 7px 10px;
  border-left: 3px solid var(--cranberry-vivid);
  border-right: 3px solid var(--cranberry-vivid);
  color: #5f1730;
  font-size: clamp(.88rem, 1.42vh, 1.03rem);
  font-style: italic;
  text-align: center;
}

.community-outreach-button {
  display: inline-flex;
  min-height: 34px;
  margin-top: 2px;
  padding: 6px 22px;
  align-self: center;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--gold);
  border-radius: 5px;
  color: var(--cream);
  background: linear-gradient(145deg, #a3194d, #761335);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: .83rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-decoration: none;
  text-transform: uppercase;
}

.community-outreach-button span { margin-left: 8px; }
.community-outreach-button:hover,
.community-outreach-button:focus-visible { background: #5f102d; outline: 2px solid var(--gold-light); outline-offset: 2px; }

.community-outreach-signature {
  position: relative;
  z-index: 2;
  margin: 6px 0 0;
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: .72rem;
  font-style: italic;
  letter-spacing: .14em;
  text-align: center;
  text-transform: uppercase;
}

@media (min-width: 901px) {
  .community-outreach-section {
    height: calc(100svh - 70px);
    min-height: 0;
    max-height: calc(100svh - 70px);
  }
}

@media (max-width: 900px) {
  .program-photo::before,
  .program-photo::after { display: none; }
  .program-photo img { width: 100%; }

  .speaking-copy p { font-size: 1rem; }

  .community-outreach-section {
    min-height: auto;
    padding: 68px 6vw 70px;
    overflow: visible;
  }

  .community-corner { display: none; }
  .community-outreach-layout { width: 100%; grid-template-columns: 1fr; }
  .community-outreach-photo { min-height: 360px; border-radius: 18px 18px 3px 3px; }
  .community-outreach-copy { border-radius: 3px 3px 18px 18px; }
  .community-outreach-copy p { font-size: 1rem; line-height: 1.42; }
}

/* Services — Version 55: full-width soft abstract backgrounds for Programs */
.program-photo {
  padding: clamp(8px, 1.1vh, 13px) 0;
  border-radius: 12px;
  background:
    linear-gradient(118deg, rgb(163 25 77 / 24%) 0 12%, transparent 12% 29%, rgb(226 195 110 / 15%) 29% 36%, transparent 36% 64%, rgb(255 250 241 / 9%) 64% 72%, transparent 72% 88%, rgb(163 25 77 / 20%) 88%),
    repeating-linear-gradient(135deg, rgb(255 250 241 / 7%) 0 1px, transparent 1px 19px),
    linear-gradient(145deg, #073c36, #0a4a42 52%, #063832);
}

.program-photo::before,
.program-photo::after {
  top: 0;
  bottom: 0;
  width: 12%;
  border: 0;
  background:
    linear-gradient(145deg, transparent 0 18%, rgb(226 195 110 / 46%) 18% 21%, transparent 21% 39%, rgb(163 25 77 / 56%) 39% 45%, transparent 45% 63%, rgb(255 250 241 / 34%) 63% 66%, transparent 66%),
    linear-gradient(35deg, transparent 0 33%, rgb(163 25 77 / 38%) 33% 40%, transparent 40% 66%, rgb(226 195 110 / 38%) 66% 73%, transparent 73%);
  opacity: .72;
}

.program-photo::before { left: 0; }
.program-photo::after { right: 0; }

.program-photo img {
  width: 78%;
  box-sizing: border-box;
  border: 2px solid var(--gold-light);
  border-radius: 8px;
  box-shadow:
    0 0 0 3px rgb(109 73 18 / 34%),
    0 14px 30px rgb(0 18 16 / 27%);
}

.about-copy {
  gap: clamp(9px, 1.25vh, 14px);
  padding-block: clamp(5px, .8vh, 9px);
}

.about-copy .about-team-note {
  margin-bottom: 0;
  padding-block: 4px;
  line-height: 1.35;
}

@media (max-width: 900px) {
  .program-photo { padding: 0; background: transparent; }
  .program-photo img { width: 100%; }
}

/* Services — Version 58: clean split Programs layout */
.programs-title-flourish { display: none; }

.programs-heading :is(h1, h2)::after {
  width: 74%;
  margin-top: 7px;
  background: linear-gradient(90deg, transparent, var(--gold-light) 15% 85%, transparent);
}

.programs-heading > p:last-child {
  margin: 6px auto clamp(10px, 1.35vh, 14px);
}

.programs-layout {
  display: grid;
  width: min(1380px, 100%);
  min-height: 0;
  grid-template-columns: 1fr;
  grid-template-rows: auto minmax(0, 1fr);
  gap: clamp(10px, 1.35vh, 15px);
}

.program-tabs {
  display: grid;
  min-height: 0;
  padding: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: none;
  gap: clamp(8px, 1vw, 14px);
}

.program-tab {
  position: relative;
  min-height: clamp(64px, 8vh, 80px);
  padding: 11px 42px 11px 18px;
  border: 1px solid rgb(226 195 110 / 76%);
  border-left-width: 4px;
  border-radius: 4px;
  background: rgb(4 48 43 / 82%);
  font-size: clamp(.88rem, 1.65vh, 1.05rem);
  letter-spacing: .05em;
  text-align: center;
}

.program-tab span {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
}

.program-tab span::after {
  display: block;
  width: 100%;
  height: 1px;
  margin: 6px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light) 12% 88%, transparent);
  content: "";
}

.program-tab b {
  position: absolute;
  right: 18px;
}

.program-tab:hover,
.program-tab:focus-visible { transform: translateY(-2px); }

.program-tab.is-active {
  color: var(--cream);
  background: linear-gradient(145deg, #8f173f, var(--cranberry-vivid));
  transform: none;
}

.program-tab.is-active b { color: var(--gold-light); }

.program-panel {
  display: grid;
  min-width: 0;
  min-height: 0;
  padding: clamp(16px, 2vh, 24px);
  grid-template-columns: minmax(360px, .48fr) minmax(0, .52fr);
  grid-template-rows: minmax(0, 1fr);
  align-items: center;
  gap: clamp(22px, 3vw, 42px);
  border: 1px solid rgb(226 195 110 / 86%);
  border-radius: 18px;
  background: linear-gradient(145deg, rgb(5 51 46 / 98%), rgb(7 60 54 / 96%));
  box-shadow: 0 22px 46px rgb(0 23 20 / 30%), inset 0 0 0 1px rgb(248 240 227 / 4%);
}

.program-photo {
  position: relative;
  display: block;
  width: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  aspect-ratio: 1.52 / 1;
  border: 2px solid var(--gold-light);
  border-radius: 12px;
  overflow: hidden;
  background: #073c36;
  box-shadow: 0 16px 34px rgb(0 18 16 / 32%);
}

.program-photo::before,
.program-photo::after { display: none; }

.program-photo img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center;
  box-shadow: none;
}

.program-copy {
  display: flex;
  min-width: 0;
  height: 100%;
  padding: clamp(3px, .5vh, 7px) clamp(4px, .7vw, 10px);
  flex-direction: column;
  justify-content: center;
}

.program-label {
  margin: 0 0 5px;
  color: var(--gold-light);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.program-copy h3 {
  width: auto;
  margin: 0;
  color: var(--cream);
  font-size: clamp(1.85rem, 3.35vh, 2.75rem);
  letter-spacing: .025em;
  line-height: .98;
  text-align: left;
}

.program-copy h3::after {
  width: min(220px, 58%);
  margin: 9px 0 10px;
  background: linear-gradient(90deg, var(--gold-light), transparent);
}

#program-description p {
  margin: 0 0 .62em;
  color: rgb(255 250 241 / 86%);
  font-size: clamp(.84rem, 1.36vh, .96rem);
  line-height: 1.28;
}

#program-description p:last-child { margin-bottom: 0; }

.program-learn-more {
  min-height: 34px;
  margin-top: auto;
  align-self: flex-start;
  border-radius: 999px;
  color: var(--emerald-950);
  background: linear-gradient(145deg, #f2e4cb, #dfc8a4);
}

@media (max-width: 900px) {
  .program-tabs { grid-template-columns: 1fr; }
  .program-tab { min-height: 58px; }
  .program-tab:hover,
  .program-tab:focus-visible { transform: none; }
  .program-panel {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
  .program-photo { aspect-ratio: 1.55 / 1; }
  .program-copy { min-height: 420px; }
}

/* Services and Programs — Version 59: separate Programs page */
@media (min-width: 901px) {
  .services-shell .services-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }

  .services-shell .service-card,
  .services-shell .service-card:nth-child(5),
  .services-shell .service-card:nth-child(6),
  .services-shell .service-card:nth-child(7) {
    grid-column: span 2;
  }

  .services-shell .services-grid::before,
  .services-shell .services-grid::after {
    right: 16.666%;
    left: 16.666%;
  }
}

.programs-page {
  padding-bottom: 0;
}

.programs-page .programs-section {
  min-height: calc(100svh - 70px);
}

.programs-page .program-interest-form .form-column:first-child {
  grid-template-rows: repeat(5, auto);
}

.programs-page .program-interest-form .form-column:last-child {
  align-content: center;
  grid-template-rows: repeat(5, auto);
}

.transitional-footer-actions {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
}

.transitional-footer-actions > a {
  justify-content: center;
  white-space: nowrap;
}

.transitional-footer-actions > a:last-child {
  border-color: rgb(226 195 110 / 76%);
  color: var(--gold-light);
  background: rgb(4 48 43 / 74%);
}

@media (max-width: 900px) {
  .services-shell .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .services-shell .service-card,
  .services-shell .service-card:nth-child(5),
  .services-shell .service-card:nth-child(6),
  .services-shell .service-card:nth-child(7) {
    width: 100%;
    grid-column: auto;
  }
  .programs-page .programs-section { min-height: auto; }
  .transitional-footer-actions { width: 100%; }
}

@media (max-width: 620px) {
  .services-shell .services-grid { grid-template-columns: 1fr; }
}

/* Services — Version 62: compact, balanced overview */
@media (min-width: 901px) {
  .services-shell {
    justify-content: center;
    gap: clamp(10px, 1.35vh, 14px);
  }

  .services-photo-ornament {
    width: min(820px, 78vw);
    height: clamp(120px, 14.1vh, 136px);
    margin-top: clamp(5px, .8vh, 8px);
    margin-bottom: clamp(4px, .6vh, 7px);
  }

  .services-photo-ornament figure {
    width: clamp(290px, 31vw, 410px);
  }

  .services-intro {
    margin: 2px 0 0;
  }

  .services-shell .services-grid {
    height: clamp(424px, 48vh, 452px);
    flex: 0 0 auto;
    column-gap: clamp(15px, 1.45vw, 23px);
    row-gap: clamp(11px, 1.45vh, 15px);
  }

  .services-shell .service-card {
    width: 97%;
    height: 100%;
    padding: clamp(7px, .9vh, 9px) clamp(15px, 1.55vw, 22px) clamp(8px, 1vh, 10px);
  }

  .services-shell .service-icon {
    width: clamp(39px, 4.8vh, 45px);
    height: clamp(39px, 4.8vh, 45px);
  }

  .services-shell .service-card h2 {
    margin-top: 1px;
    padding-bottom: 3px;
  }

  .services-shell .service-card h2::after {
    margin-top: 3px;
  }

  .services-shell .service-card p {
    min-height: 3.48em;
    line-height: 1.16;
  }

  .services-shell .service-explore {
    margin-top: clamp(6px, .8vh, 8px);
    margin-bottom: 0;
  }
}

/* Services — Version 63: strict one-screen correction */
@media (min-width: 901px) {
  .services-shell {
    box-sizing: border-box;
    height: calc(100svh - 115px);
    min-height: 0;
    padding-top: clamp(7px, 1vh, 10px);
    padding-bottom: clamp(7px, 1vh, 10px);
    justify-content: center;
    gap: clamp(7px, .9vh, 10px);
  }

  .services-heading h1 {
    line-height: .9;
  }

  .services-photo-ornament {
    height: clamp(112px, 13vh, 124px);
    margin-top: 3px;
    margin-bottom: 2px;
  }

  .services-photo-ornament figure {
    width: clamp(285px, 30vw, 400px);
  }

  .services-shell .services-grid {
    height: clamp(350px, 39.5vh, 372px);
    row-gap: clamp(9px, 1.15vh, 12px);
  }

  .services-shell .service-card {
    width: 96%;
    height: 100%;
    padding: clamp(5px, .65vh, 7px) clamp(14px, 1.45vw, 20px) clamp(6px, .75vh, 8px);
  }

  .services-shell .service-icon {
    width: clamp(34px, 4.1vh, 39px);
    height: clamp(34px, 4.1vh, 39px);
  }

  .services-shell .service-card h2 {
    margin-top: 0;
    padding-bottom: 2px;
    font-size: clamp(1.08rem, 2.15vh, 1.26rem);
  }

  .services-shell .service-card h2::after {
    margin-top: 2px;
  }

  .services-shell .service-card p {
    min-height: 3.35em;
    font-size: clamp(.84rem, 1.72vh, 1.01rem);
    line-height: 1.12;
  }

  .services-shell .service-explore {
    min-height: 27px;
    margin-top: 4px;
    padding: 3px 14px;
  }

  .services-shell .services-grid::before,
  .services-shell .services-grid::after {
    height: 1px;
    background: rgb(248 240 227 / 88%);
    box-shadow:
      0 -3px 0 rgb(163 25 77 / 84%),
      0 3px 0 rgb(163 25 77 / 84%);
  }
}

/* Services — Version 64: significantly smaller cards with a clean section ending */
@media (min-width: 901px) {
  .services-shell {
    box-sizing: border-box;
    height: calc(100svh - 70px);
    min-height: 0;
    padding: clamp(10px, 1.2vh, 13px) clamp(36px, 5vw, 78px);
    justify-content: flex-start;
    gap: clamp(8px, 1vh, 11px);
  }

  .services-shell .services-grid {
    width: 88%;
    height: clamp(282px, 32vh, 306px);
    flex: 0 0 auto;
    align-self: center;
    column-gap: clamp(15px, 1.5vw, 22px);
    row-gap: clamp(8px, 1vh, 10px);
  }

  .services-shell .service-card {
    width: 96%;
    height: 100%;
    padding: 4px clamp(11px, 1.15vw, 16px) 5px;
    justify-self: center;
  }

  .services-shell .service-icon {
    width: clamp(28px, 3.35vh, 32px);
    height: clamp(28px, 3.35vh, 32px);
  }

  .services-shell .service-card h2 {
    margin-top: 0;
    padding-bottom: 1px;
    font-size: clamp(1rem, 1.9vh, 1.14rem);
    line-height: 1;
  }

  .services-shell .service-card h2::after {
    margin-top: 2px;
  }

  .services-shell .service-card p {
    min-height: 0;
    font-size: clamp(.78rem, 1.52vh, .9rem);
    line-height: 1.08;
  }

  .services-shell .service-explore {
    min-width: 76px;
    min-height: 24px;
    margin-top: 3px;
    padding: 2px 12px;
    font-size: clamp(.72rem, 1.35vh, .84rem);
  }
}

/* Services — Version 70: exact Version 68 contours as a flat antique-gold silhouette */
.services-side-laurel {
  position: absolute;
  z-index: 1;
  bottom: clamp(70px, 8vh, 80px);
  width: clamp(158px, 13.5vw, 198px);
  height: clamp(430px, 54vh, 505px);
  opacity: .34;
  object-fit: contain;
  pointer-events: none;
}

.services-side-laurel-left {
  left: clamp(-12px, .5vw, 10px);
}

.services-side-laurel-right {
  right: clamp(-12px, .5vw, 10px);
}

.services-scripture {
  position: absolute;
  z-index: 3;
  right: 50%;
  bottom: clamp(19px, 2.7vh, 28px);
  width: min(700px, 66vw);
  color: var(--cream);
  text-align: center;
  transform: translateX(50%);
}

.services-scripture-reference {
  display: flex;
  margin: 0 0 4px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.72rem, 1.35vh, .84rem);
  font-weight: 600;
  letter-spacing: .25em;
  line-height: 1;
  text-transform: uppercase;
}

.services-scripture-reference span {
  display: block;
  width: clamp(38px, 4.5vw, 66px);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-light));
}

.services-scripture-reference span:last-child {
  transform: scaleX(-1);
}

.services-scripture > p:last-child {
  margin: 0;
  color: rgb(255 250 241 / 92%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1rem, 2vh, 1.24rem);
  font-style: italic;
  font-weight: 500;
  letter-spacing: .025em;
  line-height: 1.15;
}

@media (min-width: 901px) {
  .services-shell .service-card h2 {
    font-size: clamp(1.08rem, 2.05vh, 1.24rem);
  }

  .services-shell .service-card p {
    font-size: clamp(.84rem, 1.66vh, .97rem);
  }
}

@media (max-width: 900px) {
  .services-side-laurel,
  .services-scripture { display: none; }
}

/* Events — Version 70 */
.events-page-body {
  color: var(--cream);
  background: var(--emerald-950);
}

.events-page-body .site-header {
  min-height: 70px;
  padding-block: 14px;
  background: var(--emerald-950);
  box-shadow: 0 8px 24px rgb(0 24 21 / 18%);
}

.events-page-body .menu-panel a[aria-current="page"] {
  color: var(--gold-light);
  background: linear-gradient(90deg, transparent, rgb(197 154 52 / 12%), transparent);
}

.events-page {
  overflow-x: hidden;
}

.event-screen {
  position: relative;
  width: 100%;
  min-height: 100svh;
  height: 100svh;
  padding: clamp(80px, 10vh, 96px) clamp(28px, 5vw, 76px) clamp(28px, 4vh, 42px);
  scroll-margin-top: 0;
  scroll-snap-align: start;
  overflow: hidden;
}

.events-portal {
  display: flex;
  flex-direction: column;
  align-items: center;
  background:
    radial-gradient(circle at 50% 36%, rgb(31 112 98 / 36%), transparent 35%),
    linear-gradient(135deg, #073c36, #0a4a42 52%, #06372f);
}

.events-portal::before {
  position: absolute;
  inset: 70px 0 0;
  border-top: 1px solid rgb(226 195 110 / 24%);
  background-image: linear-gradient(90deg, transparent 49.85%, rgb(226 195 110 / 7%) 50%, transparent 50.15%);
  content: "";
  pointer-events: none;
}

.events-corner {
  position: absolute;
  z-index: 1;
  top: 88px;
  width: clamp(110px, 14vw, 220px);
  height: 72px;
  border-top: 2px solid var(--cranberry-vivid);
  opacity: .86;
}

.events-corner::before,
.events-corner::after {
  position: absolute;
  top: 8px;
  height: 1px;
  content: "";
}

.events-corner::before {
  width: 100%;
  background: var(--gold-light);
}

.events-corner::after {
  top: 15px;
  width: 72%;
  background: var(--cranberry-vivid);
}

.events-corner-left { left: 0; }
.events-corner-right { right: 0; transform: scaleX(-1); }

.events-hero-heading,
.event-section-heading {
  position: relative;
  z-index: 3;
  margin: 0 auto;
  text-align: center;
}

.events-hero-heading .section-kicker,
.event-section-heading .section-kicker {
  margin: 0 0 2px;
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.78rem, 1.6vh, .94rem);
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.events-hero-heading h1,
.event-section-heading h2 {
  margin: 0;
  color: var(--cream);
  font-family: "Pinyon Script", cursive;
  font-size: clamp(3.15rem, 7vh, 5.4rem);
  font-weight: 400;
  line-height: .9;
  text-shadow: 0 4px 18px rgb(0 0 0 / 22%);
}

.events-hero-heading > p:last-child,
.event-section-heading > p:last-child {
  margin: 8px auto 0;
  max-width: 760px;
  color: rgb(248 240 227 / 86%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1rem, 2.1vh, 1.3rem);
  letter-spacing: .025em;
  line-height: 1.25;
}

.event-doors {
  position: relative;
  z-index: 3;
  display: grid;
  width: min(860px, 82vw);
  margin: clamp(18px, 2.6vh, 26px) auto 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(36px, 5vw, 72px);
  perspective: 1500px;
}

.event-door {
  position: relative;
  display: block;
  height: clamp(320px, 45vh, 390px);
  color: var(--cream);
  text-decoration: none;
  filter: drop-shadow(0 24px 24px rgb(0 15 13 / 32%));
  transform-style: preserve-3d;
}

.event-door::before {
  position: absolute;
  z-index: -1;
  inset: -9px -10px -12px;
  border: 1px solid rgb(226 195 110 / 44%);
  border-radius: 110px 110px 4px 4px;
  background: #052f2a;
  box-shadow: 0 0 0 4px rgb(3 35 31 / 72%), 0 0 0 5px rgb(226 195 110 / 22%);
  content: "";
}

.door-face {
  position: absolute;
  inset: 0;
  display: flex;
  border: 3px solid var(--gold);
  border-radius: 100px 100px 2px 2px;
  align-items: center;
  flex-direction: column;
  overflow: hidden;
  transform-origin: left center;
  transition: transform 480ms cubic-bezier(.2,.72,.25,1), box-shadow 300ms ease, filter 300ms ease;
}

.event-door-support .door-face {
  background: linear-gradient(155deg, #8d1747 0%, #6f0f36 45%, #073f39 100%);
}

.event-door-workshop .door-face {
  color: var(--emerald-950);
  background: linear-gradient(155deg, #fff8e9 0%, #e9d5af 62%, #d5b66e 100%);
}

.event-door-dora .door-face {
  background: linear-gradient(155deg, #0f6559, #073c36 58%, #061f1d);
}

.event-door:hover .door-face,
.event-door:focus-visible .door-face {
  box-shadow: 0 0 0 2px rgb(226 195 110 / 70%), 0 0 24px rgb(226 195 110 / 28%);
  filter: brightness(1.06);
  transform: rotateY(-4deg) translateX(-2px);
}

.event-door.is-opening .door-face {
  box-shadow: 18px 5px 28px rgb(0 0 0 / 38%);
  transform: rotateY(-17deg) translateX(-5px);
}

.door-crown {
  position: relative;
  width: 66px;
  height: 34px;
  margin-top: 36px;
  border: 1px solid rgb(226 195 110 / 78%);
  border-radius: 50% 50% 45% 45%;
}

.door-crown::before,
.door-crown::after {
  position: absolute;
  top: 50%;
  width: 24px;
  height: 1px;
  background: var(--gold-light);
  content: "";
}

.door-crown::before { left: -32px; }
.door-crown::after { right: -32px; }

.door-title {
  position: relative;
  z-index: 2;
  max-width: 90%;
  margin-top: 12px;
  color: inherit;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.15rem, 2.6vh, 1.65rem);
  font-weight: 600;
  line-height: 1;
  text-align: center;
}

.door-subtitle {
  position: relative;
  z-index: 2;
  margin-top: 8px;
  color: inherit;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.66rem, 1.35vh, .82rem);
  font-weight: 600;
  letter-spacing: .09em;
  text-align: center;
  text-transform: uppercase;
}

.door-subtitle b { color: var(--gold-light); }

.door-panel {
  position: absolute;
  right: 16%;
  left: 16%;
  border: 1px solid rgb(226 195 110 / 58%);
  box-shadow: inset 0 0 0 5px rgb(0 25 21 / 10%), inset 0 0 20px rgb(0 0 0 / 12%);
}

.door-panel-upper { top: 40%; height: 22%; }
.door-panel-lower { bottom: 8%; height: 23%; }

.event-door-workshop .door-panel {
  border-color: rgb(7 60 54 / 70%);
  background: rgb(7 60 54 / 12%);
}

.door-handle {
  position: absolute;
  z-index: 4;
  right: 10%;
  top: 57%;
  width: 11px;
  height: 11px;
  border: 2px solid #6f4b12;
  border-radius: 50%;
  background: var(--gold-light);
  box-shadow: 0 0 0 3px rgb(226 195 110 / 24%);
  transition: filter 240ms ease, box-shadow 240ms ease;
}

.event-door:hover .door-handle,
.event-door:focus-visible .door-handle {
  filter: brightness(1.2);
  box-shadow: 0 0 12px rgb(226 195 110 / 70%);
}

.events-door-note {
  position: relative;
  z-index: 3;
  margin: clamp(14px, 2vh, 20px) 0 0;
  color: rgb(226 195 110 / 84%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.9rem, 1.7vh, 1.05rem);
  font-style: italic;
  letter-spacing: .06em;
}

.event-listing-section,
.dora-events {
  display: flex;
  flex-direction: column;
  background:
    linear-gradient(90deg, rgb(126 18 61 / 26%) 0 7px, transparent 7px),
    radial-gradient(circle at 50% 40%, rgb(27 106 92 / 35%), transparent 42%),
    var(--emerald-950);
}

.workshop-events {
  background:
    linear-gradient(90deg, transparent calc(100% - 7px), rgb(126 18 61 / 26%) calc(100% - 7px)),
    radial-gradient(circle at 50% 40%, rgb(197 154 52 / 11%), transparent 46%),
    #083f38;
}

.event-section-heading h2 {
  font-size: clamp(2.8rem, 6vh, 4.7rem);
}

.event-schedule-grid {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(1280px, 92vw);
  margin: clamp(22px, 3.6vh, 36px) auto 0;
  gap: clamp(14px, 1.8vw, 26px);
}

.event-schedule-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.schedule-card {
  position: relative;
  display: flex;
  min-height: clamp(360px, 50vh, 460px);
  padding: clamp(18px, 2.8vh, 28px) clamp(16px, 1.8vw, 24px);
  border: 1px solid rgb(226 195 110 / 68%);
  border-radius: 18px 18px 5px 5px;
  color: var(--ink);
  background: linear-gradient(150deg, #fff8e9, #ead8b8);
  box-shadow: 0 20px 38px rgb(0 20 17 / 22%);
  flex-direction: column;
  overflow: hidden;
}

.schedule-card::after {
  position: absolute;
  right: -40px;
  bottom: -50px;
  width: 130px;
  height: 130px;
  border: 1px solid rgb(126 18 61 / 24%);
  border-radius: 50%;
  content: "";
}

.schedule-number {
  color: var(--cranberry-vivid);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .24em;
}

.schedule-card h3 {
  min-height: 2.1em;
  margin: 7px 0 12px;
  color: var(--emerald-950);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.2rem, 2.6vh, 1.58rem);
  font-weight: 600;
  line-height: 1.05;
}

.schedule-card > p {
  min-height: 4.5em;
  margin: -2px 0 12px;
  color: #39544d;
  font-size: clamp(.72rem, 1.45vh, .86rem);
  line-height: 1.35;
}

.schedule-card dl,
.dora-event-card dl {
  display: grid;
  margin: 0;
  gap: 4px;
}

.schedule-card dl div,
.dora-event-card dl div {
  display: flex;
  padding: 5px 0;
  border-bottom: 1px solid rgb(197 154 52 / 28%);
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.schedule-card dt,
.dora-event-card dt {
  color: var(--berry);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.schedule-card dd,
.dora-event-card dd {
  margin: 0;
  color: #314a44;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.77rem, 1.45vh, .9rem);
  font-weight: 600;
  text-align: right;
}

.schedule-card dd strong,
.dora-event-card dd strong,
.offering-price strong {
  font-weight: 800;
}

.offering-price {
  margin-top: 12px !important;
  color: var(--berry);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.05em;
  letter-spacing: .02em;
}


.schedule-card button,
.schedule-card .event-ticket-link,
.dora-event-card button {
  position: relative;
  z-index: 2;
  min-height: 34px;
  margin-top: auto;
  padding: 7px 12px;
  border: 1px solid rgb(226 195 110 / 72%);
  border-radius: 3px;
  color: var(--cream);
  background: var(--berry);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.72rem, 1.4vh, .84rem);
  font-weight: 600;
  letter-spacing: .05em;
}

.schedule-card .event-ticket-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.schedule-card .event-ticket-link:hover,
.schedule-card .event-ticket-link:focus-visible {
  color: var(--cream);
  border-color: var(--gold);
  background: #8f1738;
}

.schedule-card button:disabled,
.dora-event-card button:disabled {
  cursor: default;
  opacity: .82;
}

.dora-events {
  padding-bottom: 70px;
  background:
    radial-gradient(circle at 50% 44%, rgb(27 106 92 / 42%), transparent 46%),
    linear-gradient(135deg, #073c36, #0b5148 55%, #06332e);
}

.dora-event-grid {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(1260px, 92vw);
  margin: clamp(18px, 2.7vh, 28px) auto 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
}

.dora-event-card {
  display: grid;
  min-height: clamp(440px, 61vh, 555px);
  border: 1px solid rgb(226 195 110 / 64%);
  border-radius: 20px 20px 5px 5px;
  color: var(--ink);
  background: #f3e5cb;
  box-shadow: 0 24px 44px rgb(0 18 15 / 28%);
  grid-template-rows: minmax(150px, 42%) 1fr;
  overflow: hidden;
}

.dora-event-card figure {
  position: relative;
  margin: 0;
  overflow: hidden;
}

.dora-event-card figure::after {
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(transparent, rgb(7 60 54 / 55%));
  content: "";
}

.dora-event-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 520ms ease;
}

.dora-event-card:hover img { transform: scale(1.035); }

.dora-event-card > div {
  display: flex;
  padding: clamp(12px, 1.8vh, 18px) clamp(16px, 1.8vw, 24px) clamp(14px, 2vh, 20px);
  flex-direction: column;
}

.dora-event-type {
  margin: 0;
  color: var(--cranberry-vivid);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.dora-event-card h3 {
  margin: 1px 0 4px;
  color: var(--emerald-950);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.55rem, 3.2vh, 2.1rem);
  line-height: 1;
}

.dora-event-card > div > p:not(.dora-event-type) {
  margin: 0 0 8px;
  color: #385149;
  font-size: clamp(.72rem, 1.38vh, .85rem);
  line-height: 1.3;
}

.dora-event-card button { margin-top: 10px; }

.events-page-body .dora-events .site-footer {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 46px;
}

@media (prefers-reduced-motion: reduce) {
  .event-door .door-face,
  .event-door:hover .door-face,
  .event-door:focus-visible .door-face,
  .event-door.is-opening .door-face,
  .dora-event-card img,
  .dora-event-card:hover img {
    transition: none;
    transform: none;
  }
}

@media (max-width: 1050px) and (min-width: 701px) {
  .event-screen { padding-inline: 28px; }
  .event-doors { width: min(760px, 88vw); gap: 30px; }
  .event-schedule-grid { width: 94vw; gap: 10px; }
  .schedule-card { padding-inline: 12px; }
  .schedule-card h3 { font-size: 1.08rem; }
  .dora-event-grid { width: 94vw; gap: 12px; }
}

@media (max-width: 700px) {
  .events-page-body .site-header { min-height: 62px; }

  .event-screen {
    height: auto;
    min-height: 100svh;
    padding: 92px 20px 42px;
    overflow: visible;
  }

  .events-corner { display: none; }

  .event-doors,
  .event-schedule-grid-four,
  .dora-event-grid {
    width: min(100%, 430px);
    grid-template-columns: 1fr;
  }

  .event-doors { gap: 34px; }
  .event-door { height: 380px; }
  .schedule-card { min-height: 380px; }
  .dora-event-card { min-height: 540px; }

  .dora-events { padding-bottom: 110px; }

  .events-page-body .dora-events .site-footer {
    position: absolute;
    min-height: 78px;
  }
}

/* Website Version 71 — balanced Services frame, refined Events portal, script Programs title */
.services-lower-corner {
  position: absolute;
  z-index: 0;
  bottom: clamp(150px, 17vh, 172px);
  width: clamp(150px, 14vw, 202px);
  height: 10px;
  border-bottom: 2px solid rgb(163 25 77 / 84%);
  opacity: .82;
  pointer-events: none;
}

.services-lower-corner::before,
.services-lower-corner::after {
  position: absolute;
  content: "";
}

.services-lower-corner::before {
  bottom: 5px;
  width: 88%;
  height: 0;
  border-bottom: 1px solid rgb(226 195 110 / 68%);
}

.services-lower-corner::after {
  display: none;
}

.services-lower-corner-left {
  left: clamp(160px, 17.5vw, 252px);
}

.services-lower-corner-left::before {
  left: 6%;
}

.services-lower-corner-right {
  right: clamp(160px, 17.5vw, 252px);
}

.services-lower-corner-right::before {
  right: 6%;
}

.events-hero-heading h1 {
  width: fit-content;
  margin-inline: auto;
  letter-spacing: .025em;
  transform: scaleX(1.05);
}

.events-hero-heading h1::after {
  display: block;
  width: 62%;
  height: 1px;
  margin: 6px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light) 16% 84%, transparent);
  content: "";
}

.events-logo-emblem {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: clamp(108px, 11.5vw, 174px);
  height: auto;
  opacity: .34;
  pointer-events: none;
}

.events-logo-emblem-left {
  left: clamp(12px, 3vw, 46px);
  transform: translateY(-37%);
}

.events-logo-emblem-right {
  right: clamp(12px, 3vw, 46px);
  transform: translateY(-37%) scaleX(-1);
}

.door-face::before {
  position: absolute;
  z-index: 1;
  inset: 7px;
  border: 1px solid rgb(226 195 110 / 72%);
  border-radius: 92px 92px 1px 1px;
  box-shadow:
    0 0 0 1px rgb(163 25 77 / 48%),
    0 0 0 2px rgb(248 240 227 / 34%),
    0 0 0 3px rgb(201 132 112 / 30%);
  content: "";
  pointer-events: none;
}

.door-crown {
  box-shadow:
    0 0 0 1px rgb(163 25 77 / 46%),
    0 0 0 2px rgb(248 240 227 / 28%);
}

.door-panel {
  right: 22%;
  left: 16%;
  box-shadow:
    inset 0 0 0 1px rgb(248 240 227 / 22%),
    inset 0 0 0 3px rgb(163 25 77 / 16%),
    inset 0 0 0 5px rgb(0 25 21 / 10%),
    inset 0 0 20px rgb(0 0 0 / 12%);
}

.event-door-workshop .door-panel {
  box-shadow:
    inset 0 0 0 1px rgb(226 195 110 / 50%),
    inset 0 0 0 3px rgb(163 25 77 / 13%),
    inset 0 0 0 5px rgb(7 60 54 / 11%),
    inset 0 0 20px rgb(7 60 54 / 10%);
}

.door-overline {
  position: relative;
  z-index: 2;
  margin-top: 8px;
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.58rem, 1.12vh, .7rem);
  font-weight: 600;
  letter-spacing: .16em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.door-overline + .door-title {
  margin-top: 5px;
  font-size: clamp(1.08rem, 2.35vh, 1.48rem);
}

.event-door-dora .door-subtitle {
  max-width: 92%;
  font-size: clamp(.55rem, 1.05vh, .68rem);
  letter-spacing: .06em;
  white-space: nowrap;
}

.events-door-note {
  margin-top: clamp(32px, 4.2vh, 40px);
}

.programs-heading :is(h1, h2) {
  color: var(--cream);
  font-family: "Pinyon Script", "Edwardian Script ITC", "Bickham Script Pro 3", "Palace Script MT", "Snell Roundhand", Georgia, serif;
  font-size: clamp(3.15rem, 6.5vh, 4.9rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: .88;
  text-transform: none;
}

@media (max-width: 1050px) {
  .events-logo-emblem {
    width: clamp(74px, 9vw, 96px);
    opacity: .27;
  }
}

@media (max-width: 900px) {
  .services-lower-corner { display: none; }
}

@media (max-width: 700px) {
  .events-logo-emblem { display: none; }
  .events-door-note { margin-top: 24px; }
}

/* Version 72 — homepage botanicals, numbered portals, and faith-led Events framing */
.services-side-laurel { display: none; }

.services-side-botanical {
  position: absolute;
  z-index: 1;
  bottom: clamp(76px, 8.5vh, 88px);
  width: clamp(108px, 10.5vw, 158px);
  height: clamp(400px, 49vh, 466px);
  overflow: visible;
  fill: none;
  stroke: var(--gold-light);
  stroke-width: 2;
  opacity: .3;
  pointer-events: none;
}

.services-side-botanical .leaves {
  fill: rgb(226 195 110 / 24%);
  stroke: var(--gold-light);
  stroke-width: 1.1;
}

.services-side-botanical .flowers { fill: rgb(226 195 110 / 9%); }
.services-side-botanical-left { left: clamp(7px, 1.35vw, 22px); }
.services-side-botanical-right { right: clamp(7px, 1.35vw, 22px); transform: scaleX(-1); }

.support-tab { grid-template-columns: auto minmax(0, 1fr) auto; }

.support-tab-number {
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.78rem, 1.45vh, .92rem);
  font-style: normal;
  font-weight: 600;
  letter-spacing: .16em;
}

.support-tab.is-active .support-tab-number { color: var(--cranberry-vivid); }

.events-heading-dots {
  position: absolute;
  z-index: 2;
  top: 48%;
  display: flex;
  align-items: center;
  gap: 10px;
  transform: translateY(-50%);
}

.events-heading-dots-left { right: calc(100% + clamp(72px, 8vw, 126px)); }
.events-heading-dots-right { left: calc(100% + clamp(72px, 8vw, 126px)); }

.events-heading-dots i {
  display: block;
  width: 5px;
  height: 5px;
  border: 1px solid rgb(226 195 110 / 72%);
  border-radius: 50%;
  background: var(--cranberry-vivid);
  box-shadow: 0 0 0 2px rgb(163 25 77 / 10%);
}

.events-heading-dots i:nth-child(2),
.events-heading-dots i:nth-child(4) {
  width: 4px;
  height: 4px;
  background: var(--gold-light);
}

.events-pillar {
  position: absolute;
  z-index: 1;
  top: 43%;
  width: clamp(78px, 8vw, 118px);
  height: clamp(330px, 39vh, 400px);
  object-fit: contain;
  opacity: .36;
  pointer-events: none;
}

.events-pillar-left { left: clamp(18px, 3.6vw, 58px); }
.events-pillar-right { right: clamp(18px, 3.6vw, 58px); transform: scaleX(-1); }

.events-logo-emblem-left { transform: translateY(-76%); }
.events-logo-emblem-right { transform: translateY(-76%) scaleX(-1); }

.door-crown { display: grid; place-items: center; }

.door-crown b {
  position: relative;
  z-index: 2;
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.72rem, 1.35vh, .86rem);
  font-weight: 600;
  letter-spacing: .18em;
  line-height: 1;
  text-indent: .18em;
}

.event-door-workshop .door-crown b { color: var(--emerald-900); }

.events-scripture {
  position: absolute;
  z-index: 4;
  right: 50%;
  bottom: clamp(20px, 2.7vh, 28px);
  width: min(790px, 70vw);
  color: var(--cream);
  text-align: center;
  transform: translateX(50%);
}

.events-scripture-reference {
  display: flex;
  margin: 0 0 5px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.72rem, 1.35vh, .84rem);
  font-weight: 600;
  letter-spacing: .25em;
  line-height: 1;
  text-transform: uppercase;
}

.events-scripture-reference span {
  display: block;
  width: clamp(38px, 4.5vw, 66px);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-light));
}

.events-scripture-reference span:last-child { transform: scaleX(-1); }

.events-scripture > p:last-child {
  margin: 0;
  color: rgb(255 250 241 / 92%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.95rem, 1.8vh, 1.18rem);
  font-style: italic;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.15;
}

.events-bottom-flourish {
  position: absolute;
  z-index: 1;
  bottom: 8px;
  width: clamp(92px, 10vw, 145px);
  height: clamp(72px, 9vh, 92px);
  background: url("assets/hero-botanical.svg") center / contain no-repeat;
  opacity: .18;
  pointer-events: none;
}

.events-bottom-flourish-left { left: clamp(18px, 3vw, 46px); transform: rotate(77deg); }
.events-bottom-flourish-right { right: clamp(18px, 3vw, 46px); transform: scaleX(-1) rotate(77deg); }

@media (max-width: 1050px) {
  .events-pillar { width: 72px; opacity: .28; }
  .events-heading-dots { display: none; }
}

@media (max-width: 900px) {
  .services-side-botanical,
  .events-pillar,
  .events-bottom-flourish { display: none; }
}

@media (max-width: 700px) {
  .events-scripture {
    position: relative;
    right: auto;
    bottom: auto;
    width: min(92%, 620px);
    margin: 24px auto 0;
    transform: none;
  }
}

/* Version 73 — refined Events portals */
.services-side-botanical { display: none; }

.events-logo-emblem { top: calc(50% - 38px); }

.door-crown {
  width: 60px;
  height: 39px;
}

.door-crown b {
  font-size: clamp(.92rem, 1.75vh, 1.08rem);
  letter-spacing: .16em;
}

.door-crown b::after {
  position: absolute;
  top: calc(100% + 5px);
  left: 50%;
  width: 26px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-light) 28%, var(--gold-light) 72%, transparent);
  content: "";
  transform: translateX(-50%);
}

.event-door-workshop .door-crown b::after {
  background: linear-gradient(90deg, transparent, var(--gold-deep) 28%, var(--gold-deep) 72%, transparent);
}

.door-title {
  display: grid;
  width: min(76%, 178px);
  min-height: 40px;
  margin-top: 10px;
  padding: 5px 9px;
  place-items: center;
  border: 1px solid rgb(226 195 110 / 78%);
  box-shadow:
    inset 0 0 0 2px rgb(255 250 241 / 9%),
    inset 0 0 0 3px rgb(163 25 77 / 16%),
    0 0 0 1px rgb(199 137 116 / 16%);
  font-size: clamp(1rem, 2.05vh, 1.27rem);
  line-height: 1;
  text-align: center;
}

.door-subtitle,
.event-door-dora .door-subtitle {
  max-width: 94%;
  margin-top: 7px;
  font-size: clamp(.52rem, 1vh, .65rem);
  font-weight: 600;
  letter-spacing: .045em;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

/* Version 82 — mirrored logo-inspired Services side ornaments */
.services-geometric-ornament {
  position: absolute;
  z-index: 1;
  top: clamp(215px, 25vh, 235px);
  width: clamp(112px, 9.2vw, 138px);
  height: clamp(292px, 34vh, 326px);
  object-fit: contain;
  object-position: center;
  pointer-events: none;
}

.services-geometric-ornament-left {
  left: clamp(4px, .8vw, 14px);
}

.services-geometric-ornament-right {
  right: clamp(4px, .8vw, 14px);
  transform: scaleX(-1);
}

@media (max-width: 1050px) {
  .services-geometric-ornament {
    top: clamp(225px, 26vh, 245px);
    width: clamp(82px, 8.5vw, 102px);
    height: clamp(270px, 31vh, 298px);
  }
}

@media (max-width: 900px) {
  .services-geometric-ornament { display: none; }
}

/* Version 83 — restrained Services accents and a stronger Events entrance */
.services-geometric-ornament { display: none; }

.services-side-accent {
  position: absolute;
  z-index: 1;
  top: clamp(330px, 39vh, 365px);
  width: clamp(66px, 5.4vw, 82px);
  height: clamp(205px, 24vh, 232px);
  object-fit: contain;
  pointer-events: none;
}

.services-side-accent-left { left: clamp(20px, 2.2vw, 36px); }
.services-side-accent-right {
  right: clamp(20px, 2.2vw, 36px);
  transform: scaleX(-1);
}

.services-lower-corner {
  bottom: clamp(13px, 1.8vh, 19px);
  width: clamp(92px, 10.5vw, 158px);
  height: clamp(52px, 7.6vh, 76px);
  border-bottom: 2px solid rgb(163 25 77 / 84%);
  opacity: .82;
}

.services-lower-corner::before {
  bottom: 12px;
  width: 80%;
  height: 44px;
  border-bottom: 1px solid rgb(226 195 110 / 68%);
}

.services-lower-corner::after {
  display: block;
  bottom: 8px;
  width: 8px;
  height: 8px;
  border: 1px solid var(--gold-light);
  background: var(--emerald-950);
  transform: rotate(45deg);
}

.services-lower-corner-left {
  left: clamp(20px, 3.2vw, 52px);
  border-left: 2px solid rgb(163 25 77 / 84%);
}
.services-lower-corner-left::before {
  left: 12px;
  border-left: 1px solid rgb(226 195 110 / 68%);
}
.services-lower-corner-left::after { left: 8px; }

.services-lower-corner-right {
  right: clamp(20px, 3.2vw, 52px);
  border-right: 2px solid rgb(163 25 77 / 84%);
}
.services-lower-corner-right::before {
  right: 12px;
  border-right: 1px solid rgb(226 195 110 / 68%);
}
.services-lower-corner-right::after { right: 8px; }

.events-corner,
.events-heading-dots { display: none; }

.events-pillar {
  top: 39%;
  width: clamp(104px, 10.4vw, 154px);
  height: clamp(350px, 42vh, 430px);
  opacity: .5;
}
.events-pillar-left { left: clamp(12px, 2.2vw, 36px); }
.events-pillar-right { right: clamp(12px, 2.2vw, 36px); }

.events-logo-emblem {
  top: calc(39% - 2px);
  width: clamp(116px, 12vw, 182px);
  opacity: .4;
}
.events-logo-emblem-left { left: clamp(8px, 1.8vw, 30px); transform: translateY(-92%); }
.events-logo-emblem-right { right: clamp(8px, 1.8vw, 30px); transform: translateY(-92%) scaleX(-1); }

.door-title,
.door-overline + .door-title {
  display: block;
  width: auto;
  min-height: 0;
  margin-top: 11px;
  padding: 0;
  border: 0;
  box-shadow: none;
  font-size: clamp(1.08rem, 2.2vh, 1.4rem);
  line-height: 1;
}

.event-door-workshop .door-crown b::after {
  background: linear-gradient(90deg, transparent, var(--cranberry-vivid) 28%, var(--cranberry-vivid) 72%, transparent);
}

.door-panel::before,
.door-panel::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  pointer-events: none;
}

.door-panel::before {
  z-index: 2;
  width: 15px;
  height: 15px;
  border: 1px solid rgb(226 195 110 / 76%);
  background: rgb(163 25 77 / 18%);
  box-shadow: 0 0 0 4px rgb(226 195 110 / 7%);
  transform: translate(-50%, -50%) rotate(45deg);
}

.door-panel::after {
  z-index: 1;
  width: 54%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(226 195 110 / 58%) 18% 82%, transparent);
  transform: translate(-50%, -50%);
}

.door-panel-lower::before {
  width: 12px;
  height: 12px;
  background: rgb(163 25 77 / 12%);
}

.event-door-workshop .door-panel::before {
  border-color: rgb(163 25 77 / 72%);
  background: rgb(7 60 54 / 12%);
  box-shadow: 0 0 0 4px rgb(163 25 77 / 6%);
}
.event-door-workshop .door-panel::after {
  background: linear-gradient(90deg, transparent, rgb(163 25 77 / 48%) 18% 82%, transparent);
}

@media (max-width: 1050px) {
  .events-pillar { width: clamp(82px, 8.7vw, 104px); opacity: .42; }
  .events-logo-emblem { width: clamp(82px, 9vw, 108px); opacity: .32; }
  .services-side-accent { width: 62px; }
}

@media (max-width: 900px) {
  .services-side-accent,
  .services-lower-corner { display: none; }
}

/* Version 84 — completed Services accents, refined Events sections, Bible Study Talk Show */
.services-side-accent {
  top: clamp(342px, 40vh, 365px);
  width: clamp(34px, 3vw, 42px);
  height: clamp(70px, 9vh, 82px);
}
.services-side-accent-left { left: clamp(38px, 4vw, 62px); }
.services-side-accent-right { right: clamp(38px, 4vw, 62px); }

.events-emblem-swing {
  position: absolute;
  z-index: 1;
  top: 70px;
  width: clamp(48px, 5vw, 70px);
  height: clamp(160px, 21vh, 190px);
  fill: none;
  stroke: rgb(226 195 110 / 68%);
  stroke-linecap: round;
  stroke-width: 1.15;
  pointer-events: none;
}
.events-emblem-swing-left { left: clamp(72px, 7.7vw, 112px); }
.events-emblem-swing-right { right: clamp(72px, 7.7vw, 112px); transform: scaleX(-1); }

.event-section-heading h2 {
  width: fit-content;
  margin-inline: auto;
}
.event-section-heading h2::after {
  display: block;
  width: 68%;
  height: 1px;
  margin: 5px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light) 16% 84%, transparent);
  content: "";
}

.dora-events {
  padding-top: clamp(76px, 8.8vh, 86px);
  padding-bottom: 58px;
}
.dora-events-heading .section-kicker { margin-bottom: 0; }
.dora-events-heading h2 { font-size: clamp(2.65rem, 5.5vh, 4.2rem); }
.dora-events-heading > p:last-child { margin-top: 5px; }

.dora-event-grid {
  min-height: 0;
  margin-top: clamp(10px, 1.6vh, 15px);
  flex: 1;
}
.dora-event-card {
  min-height: 0;
  height: clamp(420px, 53vh, 478px);
  grid-template-rows: minmax(142px, 39%) 1fr;
}
.dora-event-card > div {
  min-height: 0;
  padding: clamp(9px, 1.25vh, 13px) clamp(14px, 1.6vw, 21px) clamp(10px, 1.35vh, 14px);
}
.dora-event-card h3 { font-size: clamp(1.42rem, 2.7vh, 1.82rem); }
.dora-event-card > div > p:not(.dora-event-type) {
  margin-bottom: 5px;
  font-size: clamp(.68rem, 1.2vh, .79rem);
  line-height: 1.2;
}
.dora-event-card dl { gap: 0; }
.dora-event-card dl div { padding: 3px 0; }
.dora-event-card button { min-height: 30px; margin-top: auto; padding-block: 5px; }

.bible-page-body {
  min-height: 100svh;
  color: var(--cream);
  background: var(--emerald-950);
}
.bible-page-body .menu-panel a[aria-current="page"] {
  color: var(--gold-light);
  background: linear-gradient(90deg, transparent, rgb(197 154 52 / 12%), transparent);
}
.bible-page { min-height: 100svh; }
.bible-show-screen {
  position: relative;
  display: flex;
  height: 100svh;
  min-height: 100svh;
  padding: clamp(80px, 9vh, 92px) clamp(34px, 5vw, 78px) 58px;
  align-items: center;
  flex-direction: column;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 42%, rgb(226 195 110 / 10%), transparent 35%),
    linear-gradient(135deg, #073c36, #0a4b42 52%, #06352f);
}
.bible-show-heading {
  position: relative;
  z-index: 2;
  text-align: center;
}
.bible-show-heading .section-kicker {
  margin: 0 0 2px;
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.75rem, 1.4vh, .9rem);
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.bible-show-heading h1 {
  width: fit-content;
  margin: 0 auto;
  color: var(--cream);
  font-family: "Pinyon Script", cursive;
  font-size: clamp(3.1rem, 6.5vh, 5rem);
  font-weight: 400;
  line-height: .92;
}
.bible-show-heading h1::after {
  display: block;
  width: 62%;
  height: 1px;
  margin: 6px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold-light) 16% 84%, transparent);
  content: "";
}
.bible-show-heading > p:last-child {
  margin: 7px 0 0;
  color: rgb(248 240 227 / 88%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1rem, 2vh, 1.22rem);
}
.bible-show-layout {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(1280px, 92vw);
  min-height: 0;
  margin: clamp(15px, 2.2vh, 22px) auto 0;
  flex: 1;
  grid-template-columns: .92fr 1.08fr;
  gap: clamp(24px, 4vw, 62px);
  align-items: center;
}
.bible-show-copy {
  color: rgb(255 250 241 / 91%);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.92rem, 1.8vh, 1.18rem);
  line-height: 1.28;
}
.bible-show-copy p { margin: 0 0 clamp(8px, 1.2vh, 13px); }
.bible-show-copy strong { color: var(--gold-light); }
.bible-show-copy em { color: var(--gold-light); font-style: normal; font-weight: 600; }
.bible-youtube-button {
  display: inline-flex;
  min-height: 36px;
  margin-top: 4px;
  padding: 7px 25px;
  border: 1px solid rgb(226 195 110 / 78%);
  border-radius: 4px;
  align-items: center;
  color: var(--cream);
  background: var(--cranberry-vivid);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}
.bible-show-visual {
  height: clamp(330px, 47vh, 445px);
  margin: 0;
  border: 1px solid rgb(226 195 110 / 76%);
  border-radius: 48% 48% 5px 5px / 16% 16% 5px 5px;
  overflow: hidden;
  box-shadow: 0 24px 44px rgb(0 18 15 / 32%);
}
.bible-show-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.bible-show-signoff {
  position: relative;
  z-index: 2;
  margin: 8px 0 0;
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.85rem, 1.55vh, 1rem);
  font-style: italic;
  letter-spacing: .04em;
}
.bible-corner {
  position: absolute;
  z-index: 1;
  top: 92px;
  width: clamp(105px, 13vw, 190px);
  height: 70px;
  border-top: 2px solid rgb(163 25 77 / 76%);
  border-left: 2px solid rgb(163 25 77 / 76%);
  opacity: .78;
}
.bible-corner::after {
  position: absolute;
  top: 9px;
  left: 9px;
  width: 82%;
  height: 44px;
  border-top: 1px solid rgb(226 195 110 / 64%);
  border-left: 1px solid rgb(226 195 110 / 64%);
  content: "";
}
.bible-corner-left { left: clamp(18px, 3vw, 46px); }
.bible-corner-right { right: clamp(18px, 3vw, 46px); transform: scaleX(-1); }
.bible-page-body .site-footer {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
}

@media (max-width: 900px) {
  .events-emblem-swing { display: none; }
  .bible-show-screen { height: auto; min-height: 100svh; overflow: visible; }
  .bible-show-layout { grid-template-columns: 1fr; }
  .bible-show-visual { height: min(52vw, 420px); }
  .bible-corner { display: none; }
  .bible-show-signoff { margin-bottom: 55px; }
}

@media (max-width: 700px) {
  .bible-show-heading h1 { font-size: clamp(2.8rem, 13vw, 4rem); }
  .bible-show-layout { width: min(92vw, 560px); }
  .bible-show-copy { text-align: left; }
}

/* Version 85 — editorial split-screen Services overview */
.services-page {
  height: 100svh;
  padding: 70px 0 0;
}

.services-shell {
  display: block;
  height: 100%;
  padding: clamp(20px, 2.8vh, 28px) clamp(42px, 4.6vw, 72px) clamp(28px, 3.5vh, 38px);
}

.services-overview-layout {
  position: relative;
  z-index: 2;
  display: grid;
  width: 100%;
  height: 100%;
  grid-template-columns: minmax(330px, .77fr) 1px minmax(590px, 1.23fr);
  gap: clamp(24px, 2.8vw, 44px);
  align-items: stretch;
}

.services-feature-panel {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.services-overview-divider {
  align-self: stretch;
  width: 1px;
  margin-block: clamp(28px, 5vh, 50px);
  background: linear-gradient(180deg, transparent, var(--cranberry-vivid) 15%, var(--gold-light) 38% 62%, var(--cranberry-vivid) 85%, transparent);
  box-shadow: 4px 0 0 rgb(226 195 110 / 10%);
}

.services-shell .services-heading {
  width: 100%;
  flex: 0 0 auto;
}

.services-shell .services-heading .section-kicker {
  margin: 0 0 2px;
  font-size: clamp(.72rem, 1.35vh, .88rem);
  letter-spacing: .25em;
}

.services-shell .services-heading h1 {
  font-size: clamp(3.9rem, 7.7vh, 5.8rem);
  line-height: .82;
}

.services-shell .services-heading h1::after {
  width: 68%;
  margin-top: 8px;
}

.services-shell .services-photo-ornament {
  width: min(100%, 530px);
  height: clamp(285px, 40vh, 380px);
  margin: clamp(15px, 2.2vh, 22px) auto 0;
}

.services-shell .services-photo-ornament > span { display: none; }

.services-shell .services-photo-ornament figure {
  width: 88%;
  height: 100%;
  border: 1px solid rgb(226 195 110 / 84%);
  border-radius: 48% 48% 8px 8px / 19% 19% 8px 8px;
  box-shadow: 0 22px 40px rgb(0 18 15 / 30%), 0 0 0 5px rgb(163 25 77 / 10%);
}

.services-shell .services-photo-ornament img {
  object-fit: cover;
  object-position: center top;
}

.services-shell .services-intro {
  max-width: 480px;
  margin: clamp(10px, 1.5vh, 15px) auto 0;
  color: rgb(255 250 241 / 86%);
  font-size: clamp(.98rem, 1.85vh, 1.18rem);
  line-height: 1.2;
}

.services-feature-panel .services-scripture {
  position: relative;
  right: auto;
  bottom: auto;
  width: min(100%, 500px);
  margin: clamp(16px, 2.3vh, 23px) auto 0;
  transform: none;
}

.services-feature-panel .services-scripture-reference {
  font-size: clamp(.68rem, 1.15vh, .8rem);
}

.services-feature-panel .services-scripture > p:last-child {
  font-size: clamp(.92rem, 1.65vh, 1.12rem);
}

.services-shell .services-grid {
  position: relative;
  display: grid;
  min-height: 0;
  height: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: clamp(12px, 1.7vh, 17px) clamp(14px, 1.3vw, 22px);
}

.services-shell .services-grid::before,
.services-shell .services-grid::after { display: none; }

.services-shell .service-card,
.services-shell .service-card:nth-child(n) {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: clamp(16px, 2vh, 21px) clamp(17px, 1.6vw, 24px);
  grid-column: auto !important;
  grid-row: auto !important;
  grid-template-columns: clamp(42px, 4vw, 52px) minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  column-gap: clamp(12px, 1.1vw, 17px);
  align-items: start;
  align-self: stretch;
  justify-self: stretch;
  border: 1px solid rgb(226 195 110 / 72%);
  border-radius: 14px;
  background: linear-gradient(145deg, #fff9ed 0%, #f4e8d4 68%, #ebdcc3 100%);
  box-shadow: 0 16px 28px rgb(0 22 19 / 22%), inset 0 1px 0 rgb(255 255 255 / 72%);
  overflow: hidden;
  text-align: left;
}

.services-shell .service-card::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--cranberry-vivid), rgb(163 25 77 / 42%), transparent 88%);
  content: "";
}

.services-shell .service-card:nth-child(even)::before {
  background: linear-gradient(90deg, var(--gold-light), rgb(226 195 110 / 42%), transparent 88%);
}

.services-shell .service-icon {
  width: clamp(38px, 4.4vh, 46px);
  height: clamp(38px, 4.4vh, 46px);
  grid-column: 1;
  grid-row: 1 / 4;
  align-self: start;
  color: var(--cranberry-vivid);
  filter: drop-shadow(0 1px 1px rgb(84 13 39 / 14%));
}

.services-shell .service-icon svg { width: 86%; height: 86%; stroke-width: 3; }

.services-shell .service-card h2 {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding: 0 0 6px;
  color: var(--emerald-950);
  font-size: clamp(1.08rem, 2.05vh, 1.35rem);
  line-height: 1;
}

.services-shell .service-card h2::after {
  width: 100%;
  margin-top: 6px;
  background: linear-gradient(90deg, var(--gold), rgb(197 154 52 / 32%), transparent);
}

.services-shell .service-card p {
  max-width: none;
  margin: 0;
  grid-column: 2;
  grid-row: 2;
  color: #244f48;
  font-size: clamp(.78rem, 1.45vh, .94rem);
  line-height: 1.22;
}

.services-shell .service-explore {
  min-width: 88px;
  min-height: 28px;
  margin: 8px 0 0;
  padding: 5px 17px;
  grid-column: 2;
  grid-row: 3;
  justify-self: start;
  border-radius: 4px;
  font-size: clamp(.72rem, 1.25vh, .84rem);
}

.services-shell :is(.services-logo-emblem, .services-side-accent) { display: none; }
.services-shell .services-corner-right,
.services-shell .services-lower-corner-left { display: none; }

.services-shell .services-corner-left {
  top: 15px;
  left: 20px;
  width: clamp(90px, 9vw, 135px);
  height: clamp(55px, 7vh, 72px);
  opacity: .7;
}

.services-shell .services-lower-corner-right {
  display: block;
  right: 20px;
  bottom: 14px;
  width: clamp(90px, 9vw, 135px);
  height: clamp(50px, 6.5vh, 68px);
  opacity: .7;
}

/* Version 106 — reuse the exact Our Approach silhouette ornaments on Services. */
.services-shell .services-approach-side-ornament {
  z-index: 1;
}

.door-panel > i {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  width: 2.5px;
  height: 2.5px;
  border-radius: 50%;
  background: transparent;
  box-shadow: 0 -5px 0 var(--gold-light), 0 5px 0 var(--gold-light);
  content: "";
  transform: translate(-50%, -50%);
}

.event-door-workshop .door-panel > i {
  box-shadow: 0 -5px 0 var(--cranberry-vivid), 0 5px 0 var(--cranberry-vivid);
}
+

/* Version 86 — unified overlines and final site accents */
.eyebrow,.section-kicker,
.services-shell .services-heading .section-kicker,.approach .section-kicker,
.about-story .section-kicker,.workshops-heading .section-kicker,
.life-coaching-heading .section-kicker,.speaking-heading .section-kicker,
.programs-heading .section-kicker,.program-interest-heading .section-kicker,
.community-outreach-heading .section-kicker,.bible-show-heading .section-kicker,
.events-hero-heading .section-kicker,.event-section-heading .section-kicker{
  color:var(--gold-light);font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(.76rem,1.5vh,.92rem);font-weight:600;letter-spacing:.22em;
  line-height:1.1;text-transform:uppercase
}

/* Home */
.hero .button-cream{border-color:rgb(226 195 110 / 76%);color:var(--cream);background:var(--cranberry-vivid);box-shadow:0 10px 28px rgb(0 0 0 / 22%)}
.hero .button-cream:hover,.hero .button-cream:focus-visible{border-color:var(--gold-light);color:var(--gold-light);background:#731137}
.what-we-do::before{display:none}
.what-copy::after{position:absolute;z-index:0;inset:clamp(25px,3.4vw,48px) clamp(22px,3vw,42px);border:1px solid rgb(226 195 110 / 62%);border-left:3px solid var(--cranberry-vivid);box-shadow:inset 7px 0 0 rgb(226 195 110 / 11%),0 0 0 1px rgb(163 25 77 / 12%);content:"";pointer-events:none}
.approach-photo{width:min(520px,76vw);aspect-ratio:2.08/1}
.approach-photo img{object-fit:contain;object-position:center;background:#f3e6d8}
.approach-card:first-child::before,.approach-card:last-child::before{position:absolute;top:-28px;left:50%;width:82px;height:15px;background:radial-gradient(circle at 50% 50%,var(--cranberry-vivid) 0 3px,transparent 3.6px),linear-gradient(90deg,transparent,var(--gold) 18% 45%,transparent 45% 55%,var(--gold) 55% 82%,transparent) center/100% 1px no-repeat;content:"";transform:translateX(-50%)}

/* Services overview */
.services-shell .services-corner-right,.services-shell .services-lower-corner-left{display:block}
.services-shell .services-corner-right{top:15px;right:20px;width:clamp(90px,9vw,135px);height:clamp(55px,7vh,72px);opacity:.7}
.services-shell .services-lower-corner-left{left:20px;bottom:14px;width:clamp(90px,9vw,135px);height:clamp(50px,6.5vh,68px);opacity:.7}
.services-shell .services-grid{padding:clamp(8px,1vh,11px) clamp(10px,1vw,15px)}
.services-shell .service-card,.services-shell .service-card:nth-child(n){padding:clamp(13px,1.65vh,18px) clamp(15px,1.35vw,21px)}
.services-shell .service-icon{width:clamp(35px,4vh,43px);height:clamp(35px,4vh,43px)}
.services-shell .service-card h2{font-size:clamp(1.02rem,1.86vh,1.25rem)}
.services-shell .service-card p{font-size:clamp(.75rem,1.32vh,.88rem)}
.services-shell .service-explore{margin-top:6px}

/* Support Groups */
.support-groups-section::before,.support-groups-section::after{display:none}
.support-tabs{padding:clamp(11px,1.5vh,16px);border:1px solid rgb(226 195 110 / 76%);border-radius:16px 5px 16px 5px;background:linear-gradient(155deg,#f4e7d1,#ddc59f);box-shadow:0 18px 35px rgb(0 22 19 / 24%),inset 0 0 0 4px rgb(163 25 77 / 6%)}
.support-tab{border-color:rgb(126 18 61 / 42%);color:var(--emerald-950);background:rgb(255 250 241 / 72%);box-shadow:0 7px 17px rgb(85 57 28 / 10%)}
.support-tab b,.support-tab-number{color:var(--cranberry-vivid)}
.support-tab.is-active{color:var(--cream);background:linear-gradient(145deg,#8f173f,#731137)}
.support-tab.is-active b,.support-tab.is-active .support-tab-number{color:var(--gold-light)}

/* Forms and burgundy balance */
.consultation-section::after,.eligibility-section::after,.speaking-request-section::after{position:absolute;z-index:1;top:8px;bottom:8px;left:8px;width:5px;background:linear-gradient(180deg,transparent,var(--cranberry-vivid) 10% 90%,transparent);content:"";pointer-events:none}
.consultation-section .intake-intro,.eligibility-section .intake-intro,.speaking-request-section .intake-intro{border-left:4px solid var(--cranberry-vivid)}
.consultation-section .intake-form,.eligibility-section .intake-form,.speaking-request-section .intake-form{border-top:4px solid var(--cranberry-vivid)}
.consultation-section .intake-heading h2::after,.eligibility-section .intake-heading h2::after,.speaking-request-section .intake-heading h2::after{background:linear-gradient(90deg,transparent,var(--cranberry-vivid) 10% 25%,var(--gold-light) 25% 75%,var(--cranberry-vivid) 75% 90%,transparent)}
.consultation-section .intake-form button,.eligibility-section .intake-form button,.speaking-request-section .intake-form button{border-color:var(--gold);color:var(--cream);background:var(--cranberry-vivid)}
.consultation-section .form-note,.eligibility-section .form-note,.speaking-request-section .form-note{border-color:rgb(163 25 77 / 48%);box-shadow:inset 4px 0 0 var(--cranberry-vivid)}
.speaking-request-section .speaking-form>h3{color:var(--cranberry-vivid)}

/* Speaking Engagements */
.speaking-layout::after{position:absolute;z-index:4;top:50%;left:43%;width:clamp(26px,2.8vw,44px);height:1px;background:var(--cranberry-vivid);box-shadow:0 4px 0 var(--cream),0 8px 0 var(--cranberry-vivid);content:"";transform:translate(-50%,-50%);pointer-events:none}

/* Programs */
.program-copy{justify-content:flex-start}
#program-description{display:flex;min-height:0;flex:1;flex-direction:column;justify-content:space-evenly}
#program-description p{margin-bottom:clamp(.8em,1.7vh,1.25em);line-height:1.48}

/* Events opening */
.events-hero-heading>p:last-child{position:relative;padding-inline:clamp(60px,8vw,120px)}
.events-hero-heading>p:last-child::before,.events-hero-heading>p:last-child::after{position:absolute;top:50%;width:clamp(44px,6vw,88px);height:1px;background:var(--cranberry-vivid);box-shadow:0 4px 0 var(--gold-light),0 8px 0 var(--cranberry-vivid);content:"";transform:translateY(-50%)}
.events-hero-heading>p:last-child::before{left:0}.events-hero-heading>p:last-child::after{right:0}

/* Events listings */
.schedule-card::after{display:none}
.schedule-card h3,.dora-event-card h3{width:fit-content}
.schedule-card h3::after,.dora-event-card h3::after{display:block;width:76%;height:1px;margin-top:5px;background:linear-gradient(90deg,var(--cranberry-vivid),var(--gold),transparent);content:""}
.support-events .event-section-heading h2{position:relative}
.support-events .event-section-heading h2::before,.support-events .event-section-heading h2::after{position:absolute;top:46%;width:5px;height:5px;border-radius:50%;background:var(--cranberry-vivid);box-shadow:-13px 0 0 var(--gold-light),13px 0 0 var(--gold-light),-26px 0 0 var(--cranberry-vivid),26px 0 0 var(--cranberry-vivid);content:""}
.support-events .event-section-heading h2::before{right:calc(100% + 42px)}.support-events .event-section-heading h2::after{left:calc(100% + 42px)}
.event-listing-section{position:relative}
.event-section-mantra{position:absolute;z-index:3;right:0;bottom:clamp(12px,1.8vh,18px);left:0;margin:0;color:var(--gold-light);font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(.75rem,1.45vh,.9rem);font-weight:600;letter-spacing:.22em;text-align:center;text-transform:uppercase}
.workshop-mantra{font-size:clamp(.82rem,1.65vh,1rem)}
.workshop-events .event-section-heading::before,.workshop-events .event-section-heading::after{position:absolute;top:54%;width:clamp(105px,13vw,205px);height:1px;background:var(--cranberry-vivid);box-shadow:0 4px 0 var(--cream),0 8px 0 var(--cranberry-vivid);content:""}
.workshop-events .event-section-heading::before{right:calc(100% + clamp(45px,6vw,90px))}
.workshop-events .event-section-heading::after{left:calc(100% + clamp(45px,6vw,90px))}

/* Bible Study Talk Show */
.bible-show-copy{position:relative;padding:clamp(22px,3vh,34px) clamp(24px,2.7vw,38px);border-top:1px solid rgb(226 195 110 / 74%);border-left:1px solid rgb(226 195 110 / 74%);border-bottom:1px solid rgb(226 195 110 / 42%);line-height:1.52}
.bible-show-copy::after{position:absolute;right:0;bottom:0;width:42%;height:1px;background:linear-gradient(90deg,transparent,var(--gold-light));content:""}
.bible-show-copy p{margin-bottom:clamp(12px,1.8vh,19px)}
.bible-youtube-button{margin-top:clamp(10px,1.8vh,18px)}

@media(max-width:900px){
 .what-copy::after{inset:18px}
 .approach-card:first-child::before,.approach-card:last-child::before,.speaking-layout::after,
 .events-hero-heading>p:last-child::before,.events-hero-heading>p:last-child::after,
 .workshop-events .event-section-heading::before,.workshop-events .event-section-heading::after{display:none}
 .services-shell :is(.services-corner,.services-lower-corner){display:none}
 .support-tabs{padding:10px}
 .event-section-mantra{position:relative;bottom:auto;margin-top:22px}
 .bible-show-copy{padding:22px}
}
@media(max-width:700px){.events-hero-heading>p:last-child{padding-inline:0}}


@media (max-width: 1100px) {
  .services-overview-layout {
    grid-template-columns: minmax(300px, .68fr) 1px minmax(540px, 1.32fr);
    gap: 20px;
  }
  .services-shell { padding-inline: 28px; }
  .services-shell .services-photo-ornament { height: clamp(260px, 37vh, 330px); }
  .services-shell .service-card { padding: 14px 15px; }
}

@media (max-width: 900px) {
  .services-page-body { height: auto; overflow: auto; }
  .services-page { height: auto; min-height: 100svh; }
  .services-shell { height: auto; min-height: calc(100svh - 70px); overflow: visible; }
  .services-overview-layout { grid-template-columns: 1fr; height: auto; }
  .services-overview-divider { width: 70%; height: 1px; margin: 0 auto; }
  .services-shell .services-grid { height: auto; grid-template-columns: 1fr; grid-template-rows: none; }
  .services-shell .service-card { min-height: 160px; }
  .services-shell .services-photo-ornament { height: min(72vw, 420px); }
  .services-shell :is(.services-corner, .services-lower-corner) { display: none; }
}

/* Version 87 — balanced connections, unified typography, and refined burgundy accents */

/* Navigation */
.menu-panel::before {
  color: var(--gold-light);
  text-shadow: 18px 0 0 var(--cranberry-vivid), -18px 0 0 var(--cranberry-vivid);
}
.menu-panel a:not(:last-child) { border-bottom-color: rgb(163 25 77 / 72%); }
.menu-panel::after { background: linear-gradient(90deg, transparent, var(--gold-light), transparent); }

/* One shared overline treatment throughout the site */
.eyebrow,
.section-kicker,
.services-shell .services-heading .section-kicker,
.approach .section-kicker,
.about-story .section-kicker,
.workshops-heading .section-kicker,
.life-coaching-heading .section-kicker,
.speaking-heading .section-kicker,
.programs-heading .section-kicker,
.program-interest-heading .section-kicker,
.community-outreach-heading .section-kicker,
.bible-show-heading .section-kicker,
.events-hero-heading .section-kicker,
.event-section-heading .section-kicker {
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.76rem, 1.5vh, .92rem);
  font-style: normal;
  font-weight: 600;
  letter-spacing: .22em;
  line-height: 1.1;
  text-transform: uppercase;
}

/* Home — What We Do */
.what-we-do {
  position: relative;
  display: grid;
  height: 100svh;
  min-height: 660px;
  padding: clamp(92px, 10.5vh, 112px) clamp(42px, 6vw, 90px) clamp(32px, 4.8vh, 48px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(0, 1fr) auto;
  column-gap: clamp(34px, 4vw, 58px);
  row-gap: clamp(15px, 2.1vh, 22px);
  align-items: stretch;
}
.what-copy {
  min-height: 0;
  padding: clamp(34px, 4.3vh, 48px) clamp(38px, 4vw, 58px);
}
.what-copy::after {
  inset: 0;
  border: 1px solid rgb(226 195 110 / 72%);
  border-right: 3px solid var(--cranberry-vivid);
  border-bottom-color: var(--gold-light);
  border-left: 3px solid var(--cranberry-vivid);
  box-shadow: inset 7px 0 0 rgb(226 195 110 / 8%), inset -7px 0 0 rgb(226 195 110 / 8%);
}
.what-copy h2 { margin-top: clamp(26px, 3vh, 34px); }
.what-copy .lead { margin: 24px 0 22px; padding-block: 13px; font-size: clamp(1.02rem, 1.5vw, 1.32rem); line-height: 1.52; }
.what-copy > p:not(.section-kicker):not(.lead) { margin-bottom: 24px; line-height: 1.65; }
.what-image-wrap { height: auto; min-height: 0; border: 1px solid rgb(226 195 110 / 72%); }
.what-image-wrap::before { display: none; }
.what-image-wrap::after { background: linear-gradient(90deg, rgb(7 60 54 / 18%), transparent 24%); }
.what-image-wrap img { object-position: center; }
.what-section-connector {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  width: clamp(20px, 2.5vw, 34px);
  height: 1px;
  background: var(--cranberry-vivid);
  box-shadow: 0 4px 0 var(--cream), 0 8px 0 var(--cranberry-vivid);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.what-section-quote {
  position: relative;
  z-index: 2;
  margin: 0;
  grid-column: 1 / -1;
  color: var(--gold-light);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1rem, 1.8vh, 1.18rem);
  font-style: italic;
  letter-spacing: .025em;
  text-align: center;
}

/* Home — Our Approach */
.approach { padding-top: clamp(96px, 10.8vh, 112px); }
.approach h2 {
  position: relative;
  padding-top: .08em;
  line-height: 1.04;
}
.approach h2::after {
  display: block;
  width: 66%;
  height: 1px;
  margin: 2px auto 0;
  background: linear-gradient(90deg, transparent, var(--gold) 16% 84%, transparent);
  content: "";
}

/* Services overview — centered inside the four-corner frame */
.services-shell { padding-inline: clamp(52px, 5.8vw, 88px); }
.services-overview-layout {
  width: min(1240px, calc(100% - 24px));
  margin-inline: auto;
  grid-template-columns: minmax(330px, .79fr) 1px minmax(560px, 1.21fr);
  gap: clamp(22px, 2.5vw, 38px);
}
@media (min-width: 1101px) {
  .services-overview-layout { transform: translateX(clamp(34px, 3.5vw, 50px)); }
}
.services-shell .services-grid { padding: clamp(5px, .7vh, 8px); }
.services-shell .service-card,
.services-shell .service-card:nth-child(n) {
  width: 96%;
  height: 96%;
  padding: clamp(12px, 1.45vh, 16px) clamp(14px, 1.25vw, 19px);
  place-self: center;
}

/* Support Group tabs */
.support-tabs .support-tab:not(.is-active) { color: #171412; }
.support-tab span {
  text-decoration: underline;
  text-decoration-color: rgb(197 154 52 / 78%);
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.support-tab.is-active { color: var(--cream); }
.support-tab.is-active span { text-decoration-color: var(--gold-light); }
.support-tab.is-active .support-tab-number,
.support-tab.is-active b { color: var(--gold-light); }

/* Transitional Housing burgundy balance */
.transitional-section::after {
  position: absolute;
  z-index: 1;
  top: 8px;
  right: 8px;
  bottom: 8px;
  width: 5px;
  background: linear-gradient(180deg, transparent, var(--cranberry-vivid) 10% 90%, transparent);
  content: "";
  pointer-events: none;
}
.transitional-heading h2::after {
  background: linear-gradient(90deg, transparent, var(--cranberry-vivid) 8% 24%, var(--gold-light) 24% 76%, var(--cranberry-vivid) 76% 92%, transparent);
}
.transitional-photo { border-left: 4px solid var(--cranberry-vivid); }
.transitional-copy { border-right: 4px solid var(--cranberry-vivid); }
.transitional-footer-card { border-top: 3px solid var(--cranberry-vivid); }

/* Speaking connector — only the small bridge inside the gap */
.speaking-layout::after {
  left: 43%;
  width: clamp(12px, 1.25vw, 19px);
  box-shadow: 0 4px 0 var(--cream), 0 8px 0 var(--cranberry-vivid);
}

/* Events — Support Groups */
.support-events .event-section-heading h2::before,
.support-events .event-section-heading h2::after { display: none; }
.support-events .event-section-heading::before,
.support-events .event-section-heading::after {
  position: absolute;
  top: 52%;
  width: clamp(108px, 13vw, 190px);
  height: 1px;
  background: var(--gold-light);
  box-shadow: 0 5px 0 var(--cranberry-vivid);
  content: "";
}
.support-events .event-section-heading::before { right: calc(100% + clamp(36px, 5vw, 72px)); }
.support-events .event-section-heading::after { left: calc(100% + clamp(36px, 5vw, 72px)); }
.support-mantra::before {
  display: block;
  width: clamp(180px, 24vw, 340px);
  height: 1px;
  margin: 0 auto 9px;
  background: var(--gold-light);
  box-shadow: 0 4px 0 var(--cranberry-vivid);
  content: "";
}

/* Events — Workshops */
.workshop-events::before,
.workshop-events::after {
  position: absolute;
  z-index: 1;
  top: 24%;
  bottom: 18%;
  width: 2px;
  background: var(--cranberry-vivid);
  box-shadow: 5px 0 0 var(--cream), 10px 0 0 var(--gold-light);
  content: "";
  opacity: .75;
}
.workshop-events::before { left: 25px; }
.workshop-events::after { right: 25px; transform: scaleX(-1); }
.workshop-events .schedule-card {
  border-top: 3px solid var(--gold-light);
  box-shadow: 0 15px 32px rgb(0 20 17 / 22%), inset 0 4px 0 rgb(163 25 77 / 11%);
}
.workshop-events .schedule-card:first-child,
.workshop-events .schedule-card:last-child { border-top-color: var(--cranberry-vivid); }
.workshop-mantra {
  font-size: clamp(.88rem, 1.65vh, 1.05rem);
  font-style: italic;
  letter-spacing: .08em;
  text-transform: none;
}
.workshop-mantra::before {
  display: block;
  width: clamp(160px, 21vw, 300px);
  height: 1px;
  margin: 0 auto 8px;
  background: var(--cranberry-vivid);
  box-shadow: 0 4px 0 var(--cream), 0 8px 0 var(--gold-light);
  content: "";
}

/* Events — Experiences */
.dora-events-heading::before,
.dora-events-heading::after {
  position: absolute;
  top: 48%;
  width: clamp(112px, 15vw, 220px);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-light) 18% 78%, var(--cranberry-vivid));
  box-shadow: 0 5px 0 rgb(163 25 77 / 82%);
  content: "";
}
.dora-events-heading::before { right: calc(100% + clamp(30px, 4vw, 58px)); }
.dora-events-heading::after { left: calc(100% + clamp(30px, 4vw, 58px)); transform: scaleX(-1); }

/* Bible Study Talk Show */
.bible-show-layout::before,
.bible-show-layout::after {
  position: absolute;
  z-index: 3;
  top: -18px;
  width: 36%;
  height: 1px;
  background: var(--cranberry-vivid);
  box-shadow: 0 5px 0 var(--gold-light), 0 10px 0 var(--cranberry-vivid);
  content: "";
}
.bible-show-layout::before { left: 0; }
.bible-show-layout::after { right: 0; }

@media (max-width: 1050px) {
  .services-overview-layout { width: calc(100% - 12px); grid-template-columns: minmax(300px, .72fr) 1px minmax(520px, 1.28fr); }
  .services-shell { padding-inline: 38px; }
  .what-we-do { padding-inline: 44px; }
}

@media (max-width: 900px) {
  .what-we-do { height: auto; min-height: 100svh; padding: 88px 7vw 56px; grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .what-copy { padding: 34px 30px; }
  .what-image-wrap { min-height: 420px; }
  .what-section-connector { display: none; }
  .what-section-quote { grid-column: 1; }
  .services-overview-layout { width: 100%; grid-template-columns: 1fr; }
  .services-shell .service-card { width: 100%; height: auto; }
  .support-events .event-section-heading::before,
  .support-events .event-section-heading::after,
  .workshop-events::before,
  .workshop-events::after,
  .dora-events-heading::before,
  .dora-events-heading::after,
  .bible-show-layout::before,
  .bible-show-layout::after { display: none; }
}

/* Version 88 final overrides */
.what-section-quote { color: var(--cream); }

.services-shell .services-grid {
  align-self: center;
  height: 86%;
  padding: 0;
}
.services-shell .service-card,
.services-shell .service-card:nth-child(n) {
  width: 95%;
  height: 94%;
  padding: clamp(10px, 1.2vh, 14px) clamp(13px, 1.1vw, 17px);
}
.services-shell .service-icon { width: clamp(34px, 3.8vh, 41px); height: clamp(34px, 3.8vh, 41px); }
.services-shell .service-card h2 { font-size: clamp(1rem, 1.78vh, 1.2rem); }
.services-shell .service-card p { font-size: clamp(.72rem, 1.27vh, .84rem); }
.services-shell .service-explore { min-height: 25px; margin-top: 6px; padding-block: 3px; }

.speaking-button {
  border-color: var(--gold-light);
  color: var(--gold-light);
  background: var(--cranberry-vivid);
}
.speaking-button:hover,
.speaking-button:focus-visible { color: var(--cream); background: #861744; }

.support-events {
  background:
    linear-gradient(90deg, rgb(163 25 77 / 48%) 0 8px, transparent 8px calc(100% - 8px), rgb(163 25 77 / 48%) calc(100% - 8px)),
    radial-gradient(circle at 50% 40%, rgb(27 106 92 / 35%), transparent 42%),
    var(--emerald-950);
}
.support-events .schedule-card {
  border-top: 3px solid var(--cranberry-vivid);
  box-shadow: 0 20px 38px rgb(0 20 17 / 22%), inset 0 4px 0 rgb(163 25 77 / 10%);
}
.support-events .schedule-card:nth-child(even) { border-top-color: var(--gold-light); }

.event-schedule-grid::before,
.dora-event-grid::before {
  position: absolute;
  z-index: 0;
  top: 50%;
  height: 1px;
  background: var(--cranberry-vivid);
  box-shadow: 0 4px 0 var(--cream), 0 8px 0 var(--cranberry-vivid);
  content: "";
  pointer-events: none;
}
.event-schedule-grid::before { right: 12.5%; left: 12.5%; }
.dora-event-grid::before { right: 16.666%; left: 16.666%; }
.schedule-card,
.dora-event-card { position: relative; z-index: 1; }
.schedule-card::after { display: none; }

.workshop-events::before,
.workshop-events::after { display: none; }
.event-section-mantra,
.support-mantra,
.workshop-mantra {
  color: var(--cream);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(.98rem, 1.85vh, 1.16rem);
  font-style: italic;
  font-weight: 500;
  letter-spacing: .035em;
  text-transform: none;
}
.workshop-events .schedule-card:nth-child(odd) { border-bottom: 3px solid var(--cranberry-vivid); }
.workshop-events .schedule-card:nth-child(even) { border-bottom: 3px solid var(--cream); }

.dora-events-heading::before,
.dora-events-heading::after {
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--cranberry-vivid) 18% 48%, var(--gold-light) 48% 82%, transparent);
  box-shadow: 0 5px 0 rgb(248 240 227 / 60%);
}
.dora-event-card {
  border-color: rgb(163 25 77 / 72%);
  box-shadow: 0 24px 44px rgb(0 18 15 / 28%), 0 0 0 1px rgb(226 195 110 / 45%);
}

.bible-show-layout::before,
.bible-show-layout::after { display: none; }

.menu-panel {
  border-color: rgb(226 195 110 / 82%);
  background:
    radial-gradient(circle at 50% 0, rgb(226 195 110 / 10%), transparent 36%),
    linear-gradient(145deg, rgb(105 18 55 / 98%), rgb(62 12 37 / 98%));
  box-shadow: 0 24px 54px rgb(0 15 13 / 40%), inset 0 0 0 4px rgb(226 195 110 / 9%);
}
.menu-panel::before {
  color: var(--gold-light);
  text-shadow: 18px 0 0 rgb(197 154 52 / 45%), -18px 0 0 rgb(197 154 52 / 45%);
}
.menu-panel a { border-bottom-color: rgb(226 195 110 / 28%); }
.menu-panel a:hover,
.menu-panel a:focus-visible,
.menu-panel a[aria-current="page"] {
  color: var(--gold-light);
  background: linear-gradient(90deg, transparent, rgb(248 240 227 / 9%), transparent);
}

@media (max-width: 900px) {
  .services-shell .services-grid { height: auto; }
  .services-shell .service-card,
  .services-shell .service-card:nth-child(n) { width: 100%; height: auto; }
  .event-schedule-grid::before,
  .dora-event-grid::before { display: none; }
}
