:root {
  --ink: #17172b;
  --muted: #536170;
  --paper: #fffdf8;
  --cream: #fff5e4;
  --teal: #00877f;
  --green: #4a9645;
  --rose: #0f5cc0;
  --gold: #f28a18;
  --violet: #124a9c;
  --line: #e7dfd2;
  --focus: #0f5cc0;
}

* { box-sizing: border-box; }
html {
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  overflow-x: clip;
}
a { color: inherit; }
a:hover { color: var(--teal); }
.icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
.inline-icon,
.card-icon,
.icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.inline-icon {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 4px solid var(--focus);
  outline-offset: 3px;
}
.skip-link {
  position: absolute;
  left: 1rem;
  top: -4rem;
  background: var(--ink);
  color: white;
  padding: .65rem 1rem;
  z-index: 10;
}
.skip-link:focus { top: 1rem; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 5;
  background: rgba(255, 253, 248, .96);
  border-bottom: 1px solid var(--line);
}
.nav-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: .8rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  min-width: 0;
}
.brand-logo {
  display: block;
  width: min(310px, 42vw);
  height: 64px;
  object-fit: contain;
  object-position: left center;
}
.site-menu {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-menu li {
  position: relative;
}
.site-menu a {
  display: block;
  padding: .65rem .8rem;
  text-decoration: none;
  font-weight: 700;
  white-space: nowrap;
}
.has-submenu > a::after {
  content: "";
  display: inline-block;
  width: .42rem;
  height: .42rem;
  margin-left: .42rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-.18rem) rotate(45deg);
}
.site-menu a[aria-current="page"] {
  color: var(--teal);
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: .35em;
}
.site-menu .nav-cta[aria-current="page"] {
  color: white;
  box-shadow: inset 0 0 0 3px var(--gold);
  text-decoration: none;
}
.nav-cta {
  background: var(--ink);
  color: white;
  border-radius: 999px;
}
.submenu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 10;
  display: none;
  min-width: 240px;
  max-width: min(320px, calc(100vw - 2rem));
  margin: 0;
  padding: .45rem;
  list-style: none;
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 38px rgba(23, 23, 43, .16);
}
.has-submenu::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: .45rem;
  display: none;
}
.has-submenu:hover .submenu,
.has-submenu:focus-within .submenu,
.has-submenu:hover::after,
.has-submenu:focus-within::after {
  display: block;
}
.site-menu > .has-submenu:nth-last-child(2) .submenu {
  right: 0;
  left: auto;
}
.submenu a,
.submenu-button {
  display: block;
  width: 100%;
  padding: .62rem .7rem;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 700;
  text-align: left;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
}
.submenu a:hover,
.submenu-button:hover,
.submenu a:focus-visible,
.submenu-button:focus-visible {
  background: #edf8f7;
  color: var(--teal);
}
.nav-toggle { display: none; }
.hero {
  max-width: 1240px;
  margin: 0 auto;
  min-height: min(660px, calc(100svh - 112px));
  padding: clamp(1.25rem, 3vw, 2.5rem) clamp(1rem, 4vw, 2.5rem);
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr);
  gap: clamp(1.75rem, 4vw, 3.25rem);
  align-items: center;
  overflow: hidden;
}
.hero > * { min-width: 0; }
.hero-copy {
  max-width: min(100%, 34rem);
}
.eyebrow {
  margin: 0 0 .6rem;
  color: var(--rose);
  font-weight: 800;
  text-transform: uppercase;
  font-size: .82rem;
  letter-spacing: 0;
}
h1, h2, h3 { line-height: 1.1; letter-spacing: 0; }
h1 {
  font-size: clamp(2.75rem, 5.2vw, 4.85rem);
  margin: 0 0 1rem;
  max-width: 10ch;
  overflow-wrap: anywhere;
}
h2 { font-size: clamp(1.45rem, 3vw, 2.15rem); }
.hero-text { font-size: clamp(1.08rem, 1.45vw, 1.2rem); max-width: 31rem; overflow-wrap: anywhere; }
.short-line { font-weight: 800; color: var(--teal); }
.hero-art img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 34px;
  box-shadow: 0 20px 50px rgba(23, 23, 43, .08);
}
.hero-art {
  width: min(660px, 44vw);
  max-width: none;
  justify-self: end;
  transform: none;
  transform-origin: center right;
}
.button-row { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.35rem; }
.button-row.center { justify-content: center; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 999px;
  padding: .75rem 1.05rem;
  font-weight: 800;
  text-decoration: none;
  border: 2px solid var(--ink);
  max-width: 100%;
  text-align: center;
  white-space: normal;
}
.button.primary { background: var(--ink); color: white; }
.button.secondary { background: white; color: var(--ink); }
.sunday-strip {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: white;
}
.sunday-strip-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: .9rem 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem 1.25rem;
}
.sunday-strip p {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
}
.sunday-strip a {
  font-weight: 800;
}
.sunday-strip-links {
  margin-left: auto;
}
.sunday-strip-links a + a {
  margin-left: .8rem;
}
.section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 2.25rem 1rem;
}
.color-band {
  max-width: none;
  background: #edf8f7;
}
.color-band > * {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: end;
  margin-bottom: 1rem;
}
.section-heading h2 {
  margin: 0;
}
.section-intro {
  max-width: 34rem;
  margin: 0;
  color: #536170;
  font-size: 1rem;
  line-height: 1.5;
  font-style: italic;
}
.card-grid, .pathway-grid, .content-grid, .value-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
  gap: 1rem;
}
.pathway-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.card-grid > *, .pathway-grid > *, .content-grid > *, .value-grid > *, .split > * {
  min-width: 0;
}
.three { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.identity-card, .info-card, .pathway-card, .value-grid article {
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 1.1rem;
  box-shadow: 0 8px 22px rgba(34, 34, 59, .06);
}
.identity-card { border-top: 8px solid var(--teal); }
.identity-card.rainbow { border-top-color: var(--rose); }
.identity-card.green { border-top-color: var(--green); }
.identity-card.gold { border-top-color: var(--gold); }
.identity-heading {
  display: flex;
  align-items: center;
  gap: .85rem;
  margin-bottom: 1.15rem;
}
.identity-heading h2 {
  margin: 0;
}
.icon {
  display: inline-grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: var(--cream);
  font-weight: 900;
  flex: 0 0 auto;
}
.icon svg {
  width: 42px;
  height: 42px;
  stroke-width: 2.2;
}
.icon-rainbow {
  color: var(--rose);
  background: #eef5ff;
}
.icon-paths {
  color: var(--teal);
  background: #e8f7f4;
}
.icon-question {
  color: var(--gold);
  background: #fff7e8;
}
.pathway-card {
  min-height: 172px;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}
.pathway-card::after {
  content: "";
  position: absolute;
  right: -30px;
  bottom: -34px;
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: rgba(29, 127, 117, .08);
}
.card-icon {
  width: 46px;
  height: 46px;
  color: var(--teal);
  background: var(--cream);
  border-radius: 16px;
  padding: .62rem;
}
.pathway-card small { color: var(--muted); font-size: .98rem; }
.split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr);
  gap: 1.25rem;
}
.mini-list {
  background: var(--cream);
  border-radius: 8px;
  padding: 1rem;
}
.mini-list a {
  display: block;
  padding: .85rem 0;
  border-top: 1px solid #ead5ad;
  text-decoration: none;
}
.mini-list span { display: block; color: var(--muted); }
.sunday-feature {
  grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr);
  align-items: stretch;
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.sunday-summary {
  position: relative;
  overflow: hidden;
}
.sunday-summary::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(340px, 58%);
  aspect-ratio: 1;
  opacity: .1;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.sunday-summary > * {
  position: relative;
  z-index: 1;
}
.sunday-feature > * {
  position: relative;
  z-index: 1;
}
.soft-cta {
  margin: 2rem auto 0;
  padding: 3rem 1rem;
  text-align: center;
  background: linear-gradient(135deg, #fff5e4 0%, #e8f7f4 100%);
  color: var(--ink);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.soft-cta p { max-width: 40rem; margin-left: auto; margin-right: auto; }
.soft-cta .button.primary {
  background: var(--ink);
  color: white;
  border-color: var(--ink);
}
.soft-cta .button.secondary {
  background: white;
  color: var(--ink);
  border-color: var(--ink);
}
.soft-cta .button.primary:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}
.soft-cta .button.secondary:hover {
  background: #eef5ff;
  color: var(--ink);
}
.page-hero {
  background: linear-gradient(135deg, #fff5e4 0%, #e8f7f4 100%);
  padding: 3.5rem 1rem;
}
.page-hero > * {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.page-hero h1 { max-width: 14ch; }
.page-hero p:not(.eyebrow) { font-size: 1.2rem; }
.visit-hero {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  padding: clamp(2.25rem, 4vw, 3.25rem) 1rem;
  overflow: hidden;
}
.visit-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .5;
}
.visit-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 253, 248, .99) 0%, rgba(255, 253, 248, .9) 42%, rgba(255, 253, 248, .42) 100%);
}
.visit-hero-copy {
  max-width: 1180px;
  min-height: 180px;
  display: grid;
  align-content: center;
}
.visit-hero h1 {
  max-width: none;
  margin-bottom: .75rem;
}
.visit-hero p:not(.eyebrow) {
  max-width: 34rem;
  margin: 0;
}
.faq-hero {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  padding: clamp(2.25rem, 4vw, 3.25rem) 1rem;
  overflow: hidden;
}
.faq-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .5;
}
.faq-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 253, 248, .99) 0%, rgba(255, 253, 248, .9) 42%, rgba(255, 253, 248, .42) 100%);
}
.what-to-expect-hero {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  padding: clamp(2rem, 3.5vw, 2.85rem) 1rem;
  overflow: hidden;
}
.what-to-expect-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .5;
}
.what-to-expect-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 253, 248, .99) 0%, rgba(255, 253, 248, .9) 42%, rgba(255, 253, 248, .42) 100%);
}
.what-to-expect-hero h1 {
  font-size: clamp(2.55rem, 4.5vw, 4.2rem);
  max-width: 14ch;
  margin-bottom: .75rem;
}
.what-to-expect-hero p:not(.eyebrow) {
  max-width: 34rem;
  margin: 0;
}
.what-expect-intro {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(280px, .55fr);
  gap: clamp(1rem, 4vw, 2.25rem);
  align-items: start;
}
.what-expect-intro h2 {
  max-width: 16ch;
  margin-top: 0;
}
.what-expect-intro p:last-child {
  max-width: 720px;
  font-size: 1.08rem;
}
.reassurance-panel {
  padding: clamp(1rem, 2.4vw, 1.35rem);
  background: #edf8f7;
  border: 1px solid var(--line);
  border-left: 7px solid var(--gold);
  border-radius: 8px;
}
.reassurance-panel h2 {
  margin: 0 0 .75rem;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
}
.reassurance-list {
  display: grid;
  gap: .7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.reassurance-list li {
  position: relative;
  padding-left: 1.45rem;
  color: var(--ink);
  font-weight: 700;
}
.reassurance-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: .58rem;
  height: .58rem;
  border-radius: 50%;
  background: var(--teal);
  box-shadow: 0 0 0 4px rgba(255, 253, 248, .82);
}
.what-expect-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: .75rem;
}
.what-expect-card-grid .info-card {
  --expect-accent: var(--teal);
  --expect-orb: rgba(0, 135, 127, .1);
  --expect-icon-bg: #edf8f7;
  position: relative;
  min-height: 218px;
  padding: 1.2rem 1.15rem 1.15rem;
  border: 0;
  border-left: 8px solid var(--expect-accent);
  background: linear-gradient(135deg, #ffffff 0%, #fff9ee 100%);
  box-shadow: none;
  overflow: hidden;
}
.what-expect-card-grid .info-card::after {
  content: "";
  position: absolute;
  right: -28px;
  top: -30px;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  background: var(--expect-orb);
}
.what-expect-card-grid .info-card:nth-child(1) {
  --expect-accent: var(--teal);
  --expect-orb: rgba(0, 135, 127, .1);
  --expect-icon-bg: #edf8f7;
}
.what-expect-card-grid .info-card:nth-child(2) {
  --expect-accent: var(--gold);
  --expect-orb: rgba(242, 138, 24, .12);
  --expect-icon-bg: #fff5e4;
}
.what-expect-card-grid .info-card:nth-child(3) {
  --expect-accent: var(--rose);
  --expect-orb: rgba(15, 92, 192, .1);
  --expect-icon-bg: #eef5ff;
}
.what-expect-card-grid .info-card:nth-child(4) {
  --expect-accent: var(--green);
  --expect-orb: rgba(74, 150, 69, .12);
  --expect-icon-bg: #edf8ec;
}
.what-expect-card-grid .info-card:nth-child(5) {
  --expect-accent: var(--violet);
  --expect-orb: rgba(18, 74, 156, .1);
  --expect-icon-bg: #eef3ff;
}
.what-expect-card-grid .info-card:nth-child(6) {
  --expect-accent: #c7472f;
  --expect-orb: rgba(199, 71, 47, .1);
  --expect-icon-bg: #fff1ec;
}
.what-expect-card-grid .card-icon {
  position: relative;
  z-index: 1;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: var(--expect-accent);
  background: var(--expect-icon-bg);
}
.what-expect-card-grid .info-card h2,
.what-expect-card-grid .info-card p {
  position: relative;
  z-index: 1;
}
.what-expect-card-grid .info-card h2 {
  font-size: clamp(1.3rem, 2.2vw, 1.75rem);
}
.about-hero {
  position: relative;
  isolation: isolate;
  min-height: 300px;
  padding: clamp(2.35rem, 4vw, 3.45rem) 1rem;
  overflow: hidden;
}
.about-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .5;
}
.about-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 253, 248, .99) 0%, rgba(255, 253, 248, .91) 42%, rgba(255, 253, 248, .42) 100%);
}
.about-hero h1 {
  max-width: 15ch;
  margin-bottom: .75rem;
}
.about-hero p:not(.eyebrow) {
  max-width: 37rem;
  margin: 0;
}
.about-intro {
  display: grid;
  grid-template-columns: minmax(240px, .55fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 4vw, 3rem);
  align-items: start;
}
.about-intro-heading {
  position: sticky;
  top: 96px;
}
.about-intro-heading h2 {
  max-width: 16ch;
  margin-top: .25rem;
}
.about-intro-copy {
  max-width: 780px;
  font-size: 1.07rem;
  line-height: 1.72;
}
.about-intro-copy p:first-child {
  font-size: 1.18rem;
  color: var(--ink);
}
.about-snapshot-band {
  background: #fff5e4;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.about-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .95rem;
}
.about-snapshot-card {
  --about-accent: var(--teal);
  --about-ring: rgba(0, 135, 127, .2);
  position: relative;
  min-width: 0;
  min-height: 245px;
  padding: 1.1rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .82) 100%),
    linear-gradient(135deg, var(--about-accent), transparent 58%);
  border: 1px solid rgba(231, 223, 210, .95);
  border-radius: 8px;
  overflow: hidden;
}
.about-snapshot-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: var(--about-accent);
}
.about-snapshot-card::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -38px;
  width: 126px;
  height: 126px;
  border: 2px solid var(--about-ring);
  border-radius: 50%;
}
.about-snapshot-card:nth-child(2) {
  --about-accent: var(--gold);
  --about-ring: rgba(242, 138, 24, .22);
}
.about-snapshot-card:nth-child(3) {
  --about-accent: var(--rose);
  --about-ring: rgba(15, 92, 192, .18);
}
.about-snapshot-card:nth-child(4) {
  --about-accent: var(--green);
  --about-ring: rgba(74, 150, 69, .2);
}
.about-snapshot-card .card-icon {
  position: relative;
  z-index: 1;
  width: 44px;
  height: 44px;
  color: var(--about-accent);
  background: white;
  border: 1px solid rgba(231, 223, 210, .86);
  border-radius: 50%;
}
.about-snapshot-card h3,
.about-snapshot-card p {
  position: relative;
  z-index: 1;
}
.about-snapshot-card h3 {
  margin: .9rem 0 .45rem;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
}
.about-snapshot-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.52;
}
.about-community-section {
  padding-top: 2.75rem;
  padding-bottom: 2.75rem;
}
.about-community-panel {
  position: relative;
  max-width: 940px;
  padding: clamp(1.25rem, 3vw, 1.8rem);
  border-left: 8px solid var(--teal);
  border-radius: 8px;
  background: #edf8f7;
  overflow: hidden;
}
.about-community-panel::after {
  content: "";
  position: absolute;
  right: -46px;
  top: -46px;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: rgba(242, 138, 24, .12);
}
.about-community-panel > * {
  position: relative;
  z-index: 1;
  max-width: 760px;
}
.about-community-panel h2 {
  margin-top: 0;
  max-width: 20ch;
}
.about-links-band {
  background: white;
  border-top: 1px solid var(--line);
}
.about-link-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.about-link-group {
  --about-link-accent: var(--teal);
  --about-link-icon-bg: #edf8f7;
  min-width: 0;
  padding: 1.1rem;
  border-radius: 8px;
  background: #fffdf8;
  border: 1px solid var(--line);
}
.about-link-group:nth-child(2) {
  --about-link-accent: var(--rose);
  --about-link-icon-bg: #eef5ff;
}
.about-link-group:nth-child(3) {
  --about-link-accent: var(--green);
  --about-link-icon-bg: #edf8ec;
}
.about-link-heading {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-height: 52px;
  margin-bottom: .95rem;
  padding-bottom: .85rem;
  border-bottom: 2px solid var(--line);
}
.about-link-heading .card-icon {
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  color: var(--about-link-accent);
  background: var(--about-link-icon-bg);
  border-radius: 50%;
}
.about-link-group h3 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.18rem, 2vw, 1.35rem);
  font-weight: 900;
}
.about-link-group a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .7rem 0;
  border-top: 1px solid var(--line);
  color: var(--ink);
  font-weight: 800;
  text-decoration: none;
}
.about-link-heading + a {
  border-top: 0;
}
.about-link-group a::after {
  content: "";
  width: .55rem;
  height: .55rem;
  border-right: 3px solid var(--gold);
  border-bottom: 3px solid var(--gold);
  transform: rotate(-45deg);
  flex: 0 0 auto;
}
.about-link-group a:hover {
  color: var(--teal);
}
.about-visit-cta {
  margin-top: 0;
}
.organization-hero {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  padding: clamp(2.25rem, 4vw, 3.25rem) 1rem;
  overflow: hidden;
}
.organization-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .5;
}
.organization-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 253, 248, .99) 0%, rgba(255, 253, 248, .9) 42%, rgba(255, 253, 248, .42) 100%);
}
.organization-hero h1 {
  max-width: 14ch;
  margin-bottom: .75rem;
}
.organization-hero p:not(.eyebrow) {
  max-width: 36rem;
  margin: 0;
}
.organization-intro {
  display: grid;
  grid-template-columns: minmax(240px, .52fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 4vw, 3rem);
  align-items: start;
}
.organization-intro-heading {
  position: sticky;
  top: 96px;
}
.organization-intro-heading h2 {
  max-width: 14ch;
  margin-top: .25rem;
}
.organization-intro-copy {
  max-width: 760px;
  font-size: 1.07rem;
  line-height: 1.72;
}
.organization-intro-copy p:first-child {
  font-size: 1.18rem;
  color: var(--ink);
}
.organization-flow-band {
  background: #edf8f7;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.organization-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .85rem;
  align-items: stretch;
}
.organization-flow article {
  position: relative;
  min-width: 0;
  padding: 1rem;
  background: white;
  border: 1px solid rgba(231, 223, 210, .9);
  border-radius: 8px;
  overflow: hidden;
}
.organization-flow article::after {
  content: "";
  position: absolute;
  right: -26px;
  top: -30px;
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: rgba(0, 135, 127, .08);
}
.organization-flow article:nth-child(2)::after {
  background: rgba(242, 138, 24, .11);
}
.organization-flow article:nth-child(3)::after {
  background: rgba(15, 92, 192, .09);
}
.organization-flow article:nth-child(4)::after {
  background: rgba(74, 150, 69, .1);
}
.organization-flow article:nth-child(5)::after {
  background: rgba(199, 71, 47, .09);
}
.organization-flow .card-icon {
  position: relative;
  z-index: 1;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: var(--teal);
  background: #e8f7f4;
}
.organization-flow article:nth-child(2) .card-icon {
  color: var(--gold);
  background: #fff5e4;
}
.organization-flow article:nth-child(3) .card-icon {
  color: var(--rose);
  background: #eef5ff;
}
.organization-flow article:nth-child(4) .card-icon {
  color: var(--green);
  background: #edf8ec;
}
.organization-flow article:nth-child(5) .card-icon {
  color: #c7472f;
  background: #fff1ec;
}
.organization-flow h3,
.organization-flow p {
  position: relative;
  z-index: 1;
}
.organization-flow h3 {
  margin: .85rem 0 .45rem;
  font-size: 1.12rem;
}
.organization-flow p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}
.organization-role-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.organization-role-card {
  --role-accent: var(--teal);
  min-width: 0;
  padding: 1.1rem;
  background: white;
  border: 1px solid var(--line);
  border-bottom: 7px solid var(--role-accent);
  border-radius: 8px;
}
.organization-role-card.board { --role-accent: var(--gold); }
.organization-role-card.committees { --role-accent: var(--teal); }
.organization-role-card.members { --role-accent: var(--rose); }
.organization-role-card.volunteers { --role-accent: var(--green); }
.organization-role-card .card-icon {
  width: 46px;
  height: 46px;
  color: var(--role-accent);
  background: var(--cream);
  border-radius: 50%;
}
.organization-role-card h3 {
  margin: .85rem 0 .45rem;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
}
.organization-role-card p {
  margin: 0;
  color: var(--muted);
}
.organization-care-band {
  background: linear-gradient(135deg, #fff5e4 0%, #edf8f7 100%);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.organization-care-panel {
  position: relative;
  overflow: hidden;
}
.organization-care-panel::after {
  content: "";
  position: absolute;
  right: clamp(1rem, 8vw, 7rem);
  top: 50%;
  width: min(260px, 32vw);
  aspect-ratio: 1;
  opacity: .08;
  transform: translateY(-50%);
  pointer-events: none;
}
.organization-care-panel > * {
  position: relative;
  z-index: 1;
  max-width: 760px;
}
.organization-details-cta {
  margin-top: 0;
}
.leadership-hero,
.board-committees-hero {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  padding: clamp(2.25rem, 4vw, 3.25rem) 1rem;
  overflow: hidden;
}
.leadership-hero::before,
.board-committees-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .5;
}
.leadership-hero::before {
}
.board-committees-hero::before {
}
.leadership-hero::after,
.board-committees-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 253, 248, .99) 0%, rgba(255, 253, 248, .9) 42%, rgba(255, 253, 248, .42) 100%);
}
.visit-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
}
.visit-card-grid .info-card {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  min-height: 230px;
  border-top: 6px solid var(--teal);
}
.visit-card-grid .info-card:nth-child(3n + 2) {
  border-top-color: var(--gold);
}
.visit-card-grid .info-card:nth-child(3n + 3) {
  border-top-color: var(--rose);
}
.visit-card-grid .info-card h2,
.visit-card-grid .info-card p {
  margin: 0;
}
.visit-card-grid .info-card h2 {
  margin-top: .2rem;
}
.leadership-section,
.committee-background-card {
  scroll-margin-top: 96px;
}
.leadership-grid {
  grid-template-columns: repeat(auto-fit, minmax(225px, 1fr));
}
.leadership-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
}
.leadership-card img,
.leadership-card > .person-placeholder {
  width: 92px;
  height: 92px;
  object-fit: cover;
  border-radius: 50%;
}
.leadership-card-button {
  appearance: none;
  min-height: 100%;
  font: inherit;
  text-align: center;
}
.leadership-card-button:hover,
.leadership-card-button:focus-visible {
  border-color: var(--teal);
  box-shadow: 0 8px 24px rgba(34,34,59,.12);
  transform: translateY(-2px);
}
.leadership-card-button:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}
.leadership-card-copy,
.leadership-role-list {
  display: grid;
  gap: .25rem;
}
.leadership-card-name { font-size: 1.12rem; }
.leadership-role-list { color: var(--muted); font-size: .92rem; }
.leadership-dialog-roles {
  display: grid;
  gap: .35rem;
  margin: .5rem 0 1.25rem;
  padding-left: 1.25rem;
}
.leadership-dialog-bio p:last-child { margin-bottom: 0; }
.leadership-empty { grid-column: 1 / -1; }
.leadership-card h3,
.leadership-card h4,
.leadership-card p {
  margin: 0;
}
.committee-leadership-group {
  margin-top: 1.5rem;
}
.committee-group-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .85rem;
}
.committee-group-heading h3,
.committee-group-heading p {
  margin: 0;
}
.leadership-section h2 a,
.committee-group-heading h3 a {
  color: inherit;
  text-decoration-color: rgba(35, 95, 91, .35);
  text-decoration-thickness: .08em;
  text-underline-offset: .14em;
}
.committee-group-heading p {
  color: var(--muted);
}
.committee-group-heading a {
  font-weight: 800;
  white-space: nowrap;
}
.leadership-background h2 {
  margin-top: 0;
}
.board-role-list,
.committee-background-list {
  display: grid;
  gap: .85rem;
  margin-top: 1rem;
}
.governance-overview .governance-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: clamp(1rem, 2vw, 1.35rem);
  margin-top: 1.5rem;
}
.governance-overview .governance-group-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 17rem;
  border: 1px solid rgba(35, 95, 91, .12);
  border-radius: clamp(20px, 2vw, 24px);
  background: #edf8f5;
}
.governance-overview .governance-group-card:nth-child(even) { background: #fff4df; }
.governance-overview .governance-group-card:nth-child(3n) { background: #f8edf1; }
.governance-overview .governance-group-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -2.5rem;
  bottom: -3rem;
  width: 9rem;
  aspect-ratio: 1;
  border: 1.25rem solid rgba(35, 95, 91, .08);
  border-radius: 50%;
  pointer-events: none;
}
.governance-overview .governance-group-card:nth-child(even)::after {
  right: -1rem;
  bottom: -4.5rem;
  border-radius: 38% 62% 55% 45%;
  transform: rotate(24deg);
}
.governance-overview .governance-group-card > * { position: relative; z-index: 1; }
.governance-overview .governance-group-card h3,
.governance-overview .governance-group-card p { margin-top: 0; }
.governance-overview .governance-group-card .button { margin-top: auto; }
.governance-overview .governance-kind {
  padding: .35rem .7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: #285d59;
}
.board-role-list {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.board-role-list article {
  padding: .95rem;
  background: white;
  border: 1px solid var(--line);
  border-left: 6px solid var(--gold);
  border-radius: 8px;
}
.board-role-list strong,
.board-role-list span {
  display: block;
}
.board-role-list span {
  color: var(--muted);
}
.committee-background-card {
  border-top: 6px solid var(--teal);
}
.committee-background-card:nth-child(3n + 2) {
  border-top-color: var(--gold);
}
.committee-background-card:nth-child(3n + 3) {
  border-top-color: var(--rose);
}
.committee-background-card h3,
.committee-background-card p {
  margin-top: 0;
}
.committee-meta {
  display: flex;
  gap: .35rem;
  flex-wrap: wrap;
  color: var(--muted);
}
.committee-meta strong {
  color: var(--ink);
}
.committee-meta span + span::before {
  content: ", ";
}
.contact-hero {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  padding: clamp(2.25rem, 4vw, 3.25rem) 1rem;
  overflow: hidden;
}
.contact-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .5;
}
.contact-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 253, 248, .99) 0%, rgba(255, 253, 248, .9) 42%, rgba(255, 253, 248, .42) 100%);
}
.contact-section {
  display: grid;
  justify-items: center;
  gap: 1rem;
}
.contact-note {
  max-width: 640px;
  padding: .9rem 1rem;
  background: #edf8f7;
  border-left: 6px solid var(--gold);
  border-radius: 8px;
  color: var(--ink);
}
.contact-note p {
  margin: 0;
}
.contact-form {
  width: min(100%, 640px);
}
.vision-mission-hero {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  padding: clamp(2.25rem, 4vw, 3.25rem) 1rem;
  overflow: hidden;
}
.vision-mission-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .5;
}
.vision-mission-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 253, 248, .99) 0%, rgba(255, 253, 248, .9) 42%, rgba(255, 253, 248, .42) 100%);
}
.history-hero {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  padding: clamp(2.25rem, 4vw, 3.25rem) 1rem;
  overflow: hidden;
}
.history-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .5;
}
.history-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 253, 248, .99) 0%, rgba(255, 253, 248, .9) 42%, rgba(255, 253, 248, .42) 100%);
}
.vision-mission-section {
  display: grid;
  grid-template-columns: minmax(230px, .5fr) minmax(0, 1fr);
  gap: clamp(1rem, 4vw, 2.5rem);
  align-items: start;
}
.vision-mission-heading {
  position: sticky;
  top: 96px;
}
.vision-mission-heading h2 {
  max-width: 13ch;
  margin-top: .25rem;
}
.vision-mission-statements {
  display: grid;
  gap: 1rem;
}
.statement-panel {
  padding: clamp(1.15rem, 3vw, 1.6rem);
  background: white;
  border: 1px solid var(--line);
  border-left: 7px solid var(--teal);
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(23, 23, 43, .06);
}
.mission-panel {
  border-left-color: var(--gold);
}
.statement-label {
  margin: 0 0 .45rem;
  color: var(--teal);
  font-weight: 900;
  text-transform: uppercase;
  font-size: .82rem;
}
.mission-panel .statement-label {
  color: var(--gold);
}
.statement-panel p:last-child {
  margin-bottom: 0;
  font-size: 1.12rem;
  line-height: 1.7;
}
.beloved-community-note {
  max-width: 900px;
}
.beloved-community-note blockquote {
  margin: 0;
  padding: 1.15rem 1.25rem;
  background: var(--cream);
  border-left: 6px solid var(--gold);
  border-radius: 8px;
}
.beloved-community-note cite {
  display: block;
  margin-top: .75rem;
  color: var(--muted);
  font-style: normal;
}
.history-intro {
  display: grid;
  grid-template-columns: minmax(240px, .55fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 4vw, 3rem);
  align-items: start;
}
.history-intro h2 {
  max-width: 14ch;
  margin-top: .3rem;
}
.history-intro-copy {
  max-width: 760px;
  font-size: 1.08rem;
  line-height: 1.72;
}
.history-story-band {
  background: #edf8f7;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.history-story-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.history-story-card {
  padding: clamp(1.1rem, 2.5vw, 1.5rem);
  background: white;
  border: 1px solid var(--line);
  border-left: 7px solid var(--teal);
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(23, 23, 43, .05);
}
.history-story-card:nth-child(2n) {
  border-left-color: var(--gold);
}
.history-story-card:nth-child(3n) {
  border-left-color: var(--rose);
}
.history-story-card.wide {
  grid-column: 1 / -1;
}
.history-story-card h2,
.history-story-card p {
  margin-top: 0;
}
.history-help {
  max-width: 980px;
}
.history-help > div {
  position: relative;
  padding: clamp(1.25rem, 3vw, 2rem);
  background: linear-gradient(135deg, #fff5e4 0%, #edf8f7 100%);
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
}
.history-help > div::after {
  content: "";
  position: absolute;
  right: -44px;
  top: -58px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: conic-gradient(var(--gold), var(--teal), var(--rose), var(--gold));
  opacity: .14;
}
.history-help h2,
.history-help p,
.history-help a {
  position: relative;
  z-index: 1;
}
.history-timeline {
  display: grid;
  gap: .85rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.history-timeline li {
  display: grid;
  grid-template-columns: minmax(115px, .22fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding: 1rem;
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(23, 23, 43, .04);
}
.history-timeline time {
  color: var(--teal);
  font-weight: 900;
}
.history-timeline span {
  color: var(--ink);
}
.welcoming-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(340px, 42vw, 500px);
  padding: clamp(2.75rem, 5vw, 4.75rem) 1rem;
  overflow: hidden;
}
.welcoming-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: .5;
}
.welcoming-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 253, 248, .99) 0%, rgba(255, 253, 248, .9) 42%, rgba(255, 253, 248, .42) 100%);
}
.welcoming-hero .visit-hero-copy {
  min-height: 260px;
}
.welcoming-hero h1 {
  max-width: 11ch;
}
.welcoming-hero p:not(.eyebrow) {
  max-width: 42rem;
}
.welcoming-recognition {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
  gap: 1.5rem;
  align-items: center;
}
.welcoming-recognition h2,
.welcoming-recognition p {
  margin-top: 0;
}
.welcoming-recognition img {
  width: min(100%, 240px);
  justify-self: end;
  opacity: .9;
}
.welcome-means-section {
  max-width: 1080px;
}
.welcome-means-heading {
  justify-content: center;
  text-align: center;
}
.welcome-means-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.welcome-meaning {
  --welcome-card-color: var(--teal);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .35rem 1rem;
  align-items: start;
  min-width: 0;
  padding: clamp(1rem, 2vw, 1.3rem);
  background: white;
  border: 1px solid var(--line);
  border-left: 7px solid var(--welcome-card-color);
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(23, 23, 43, .06);
}
.welcome-meaning:nth-child(even) {
  border-radius: 10px;
}
.welcome-meaning-icon {
  display: inline-grid;
  place-items: center;
  grid-row: 1 / span 2;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #edf8f7;
  color: var(--welcome-card-color);
}
.welcome-meaning:nth-child(1) { --welcome-card-color: #e6483e; }
.welcome-meaning:nth-child(2) { --welcome-card-color: var(--gold); }
.welcome-meaning:nth-child(3) { --welcome-card-color: var(--green); }
.welcome-meaning:nth-child(4) { --welcome-card-color: var(--rose); }
.welcome-meaning:nth-child(1) .welcome-meaning-icon { background: #fff1ef; }
.welcome-meaning:nth-child(2) .welcome-meaning-icon { background: #fff5e4; }
.welcome-meaning:nth-child(3) .welcome-meaning-icon { background: #eff8ec; }
.welcome-meaning:nth-child(4) .welcome-meaning-icon { background: #eef5ff; }
.welcome-meaning-icon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.welcome-meaning h2,
.welcome-meaning p {
  grid-column: 2;
  margin: 0;
}
.welcome-meaning h2 {
  max-width: none;
  font-size: clamp(1.25rem, 2vw, 1.55rem);
}
.welcome-meaning p {
  color: var(--muted);
  line-height: 1.55;
}
.welcoming-story-band {
  position: relative;
  overflow: hidden;
  background: #edf8f7;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.welcoming-story-band::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -130px;
  width: min(420px, 42vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(from 210deg, #e6483e, var(--gold), var(--green), var(--rose), #6d56b8, #e6483e);
  opacity: .12;
}
.welcoming-story {
  position: relative;
  z-index: 1;
  max-width: 900px;
  text-align: center;
}
.welcoming-story p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.1rem;
}
.welcoming-commitments {
  display: grid;
  grid-template-columns: minmax(220px, .45fr) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}
.commitments-heading {
  position: sticky;
  top: 96px;
  padding: 1rem;
  background: var(--cream);
  border-left: 6px solid var(--gold);
  border-radius: 8px;
}
.commitments-heading h2,
.commitments-heading p {
  margin-top: 0;
}
.pledge-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pledge-list li {
  position: relative;
  padding: .9rem .95rem .9rem 2.4rem;
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(23, 23, 43, .04);
}
.pledge-list li::before {
  content: "";
  position: absolute;
  left: .9rem;
  top: 1rem;
  width: .7rem;
  height: .7rem;
  border-radius: 50%;
  background: var(--teal);
  box-shadow: 0 0 0 4px #edf8f7;
}
.pledge-list li:nth-child(3n + 2)::before {
  color: var(--gold);
  background: var(--gold);
  box-shadow: 0 0 0 4px #fff5e4;
}
.pledge-list li:nth-child(3n + 3)::before {
  background: var(--rose);
  box-shadow: 0 0 0 4px #eef5ff;
}
.welcoming-growth {
  max-width: 980px;
}
.welcoming-growth > div {
  position: relative;
  padding: clamp(1.25rem, 3vw, 2rem);
  background: linear-gradient(135deg, #fff5e4 0%, #edf8f7 100%);
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}
.welcoming-growth > div::after {
  content: "";
  position: absolute;
  right: -36px;
  top: -42px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: conic-gradient(#e6483e, var(--gold), var(--green), var(--rose), #6d56b8, #e6483e);
  opacity: .16;
}
.welcoming-growth h2,
.welcoming-growth p {
  position: relative;
  z-index: 1;
  max-width: 780px;
}
.prose {
  max-width: 820px;
  font-size: 1.08rem;
}
.note { background: var(--cream); padding: 1rem; border-left: 6px solid var(--gold); }
.faq-list {
  max-width: 920px;
}
.faq-list details {
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0;
  margin-bottom: .75rem;
  box-shadow: 0 8px 22px rgba(23, 23, 43, .05);
  overflow: hidden;
}
.faq-list details[open] {
  border-color: rgba(0, 135, 127, .38);
  box-shadow: 0 12px 28px rgba(23, 23, 43, .08);
}
.faq-list summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  color: var(--ink);
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
.faq-list summary::-webkit-details-marker {
  display: none;
}
.faq-list summary::after {
  content: "";
  width: .7rem;
  height: .7rem;
  border-right: 3px solid var(--gold);
  border-bottom: 3px solid var(--gold);
  transform: rotate(45deg);
  transition: transform .18s ease;
  flex: 0 0 auto;
}
.faq-list details[open] summary {
  background: #edf8f7;
}
.faq-list details[open] summary::after {
  transform: rotate(225deg);
}
.faq-list details p {
  margin: 0;
  padding: .2rem 1.1rem 1.1rem;
  color: var(--muted);
}
.site-form {
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 1.25rem;
  max-width: 640px;
}
.site-form label { display: block; font-weight: 800; margin-bottom: .25rem; }
.site-form input, .site-form textarea, .site-form select {
  width: 100%;
  border: 2px solid #cfc7bb;
  border-radius: 6px;
  padding: .72rem;
  font: inherit;
}
.site-form input[type="checkbox"] {
  width: auto;
}
.site-form p:has(input[type="checkbox"]) {
  display: flex;
  align-items: start;
  gap: .6rem;
}
.site-form p:has(input[type="checkbox"]) label {
  margin: 0;
  font-weight: 600;
}
.site-form p:has(input[type="checkbox"]) input {
  margin-top: .35rem;
}
.site-form .checkbox-row {
  margin: 0 0 1rem;
}
.site-form .checkbox-row input {
  flex: 0 0 auto;
}
.site-form .button {
  margin-top: .35rem;
}
.site-form p:focus-within label {
  color: var(--teal);
}
.site-form .errorlist {
  margin: 0 0 .4rem;
  padding: .65rem .85rem;
  border-left: 6px solid #b42318;
  background: #fff1ef;
  color: #71150f;
  list-style-position: inside;
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.portal-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(242, 138, 24, .18), transparent 20rem),
    linear-gradient(135deg, #fff5e4 0%, #e8f7f4 100%);
}
.portal-section,
.portal-list-section,
.portal-form-section {
  display: grid;
  gap: 1rem;
}
.portal-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.portal-tool-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .85rem;
  align-items: start;
  min-height: 142px;
  padding: 1rem;
  color: var(--ink);
  text-decoration: none;
  background: white;
  border: 1px solid var(--line);
  border-left: 7px solid var(--teal);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(34, 34, 59, .05);
}
.portal-tool-card:nth-child(2) { border-left-color: var(--gold); }
.portal-tool-card:nth-child(3) { border-left-color: var(--rose); }
.portal-tool-card:nth-child(4) { border-left-color: var(--green); }
.portal-tool-card:nth-child(5) { border-left-color: var(--violet); }
.portal-tool-card:hover {
  color: var(--ink);
  transform: translateY(-1px);
}
.portal-tool-icon {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #edf8f7;
  color: var(--teal);
}
.portal-tool-card:nth-child(2) .portal-tool-icon { background: #fff5e4; color: var(--gold); }
.portal-tool-card:nth-child(3) .portal-tool-icon { background: #eef5ff; color: var(--rose); }
.portal-tool-card:nth-child(4) .portal-tool-icon { background: #edf8ec; color: var(--green); }
.portal-tool-card:nth-child(5) .portal-tool-icon { background: #eef3ff; color: var(--violet); }
.portal-tool-card strong {
  display: block;
  margin-bottom: .3rem;
  font-size: 1.12rem;
}
.portal-tool-card small {
  display: block;
  color: var(--muted);
  font-size: .96rem;
  line-height: 1.45;
}
.portal-form {
  width: min(100%, 780px);
  max-width: none;
}
.portal-event-form,
.occurrence-form {
  width: min(100%, 1060px);
}
.portal-form p {
  margin: 0 0 1rem;
}
.portal-form small,
.form-help {
  display: block;
  margin-top: .3rem;
  color: var(--muted);
}
.portal-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: center;
  margin-top: 1.25rem;
}
.portal-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1fr);
  gap: 1rem;
}
.portal-invite-list {
  display: grid;
  gap: .75rem;
  margin-top: 1rem;
}
.portal-invite-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: start;
  padding-top: .75rem;
  border-top: 1px solid var(--line);
}
.portal-invite-row small,
.portal-invite-row code {
  display: block;
  margin-top: .2rem;
}
.portal-invite-row code {
  max-width: 100%;
  padding: .35rem .45rem;
  overflow-wrap: anywhere;
  border-radius: 6px;
  background: #f7f3ec;
  color: var(--ink);
}
.portal-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}
.portal-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 660px;
}
.portal-table th,
.portal-table td {
  padding: .85rem 1rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.portal-table th {
  background: #fff5e4;
  font-size: .88rem;
  text-transform: uppercase;
  letter-spacing: 0;
}
.portal-table tr:last-child td {
  border-bottom: 0;
}
.portal-table td small {
  display: block;
  margin-top: .2rem;
  color: var(--muted);
}
.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: .15rem .55rem;
  border-radius: 999px;
  background: #edf8f7;
  color: #075f59;
  font-size: .85rem;
  font-weight: 800;
}
.status-pill.muted {
  background: #f7f3ec;
  color: var(--muted);
}
.status-pill.neutral {
  background: #fff5e4;
  color: #6f4e00;
}
.event-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.event-form-panel {
  padding: 1.15rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.event-form-panel-wide {
  grid-column: 1 / -1;
}
.event-form-panel h2 {
  margin: .15rem 0 1rem;
  font-size: 1.25rem;
}
.event-form-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}
.event-form-advanced {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
}
.event-form-advanced summary {
  cursor: pointer;
  font-weight: 900;
}
.event-form-advanced summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}
.occurrence-summary {
  max-width: 1060px;
  margin-bottom: 1rem;
}
.table-action {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: .25rem .7rem;
  border: 2px solid var(--ink);
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
}
.table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.table-action.danger,
.danger-button {
  border-color: #b42318;
  color: #71150f;
  background: #fff1ef;
}
.table-action.danger:hover,
.danger-button:hover {
  color: #71150f;
  background: #ffe2dd;
}
.year-filter { display: flex; gap: .5rem; align-items: center; }
.calendar-section {
  display: grid;
  gap: 1.1rem;
}
.calendar-filters,
.calendar-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  align-items: end;
  justify-content: space-between;
}
.calendar-filters {
  padding: 1rem;
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.calendar-filters label {
  display: grid;
  gap: .25rem;
  font-weight: 800;
}
.calendar-filters select,
.calendar-filters input {
  min-height: 42px;
  border: 2px solid #cfc7bb;
  border-radius: 6px;
  padding: .45rem .55rem;
  font: inherit;
}
.calendar-nav h2 {
  margin: 0;
}
.calendar-grid {
  display: grid;
  gap: .35rem;
}
.calendar-weekdays,
.calendar-week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: .35rem;
}
.calendar-weekdays span {
  color: var(--muted);
  font-size: .85rem;
  font-weight: 800;
  text-align: center;
}
.calendar-day {
  min-height: 135px;
  padding: .55rem;
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}
.calendar-day.muted {
  background: #f7f3ec;
  color: var(--muted);
}
.calendar-day h3 {
  margin: 0 0 .35rem;
  font-size: .95rem;
}
.calendar-item {
  display: block;
  margin-top: .3rem;
  padding: .35rem .45rem;
  border-left: 4px solid var(--teal);
  border-radius: 5px;
  background: #edf8f7;
  color: var(--ink);
  font-size: .82rem;
  line-height: 1.25;
  text-decoration: none;
}
.calendar-item small {
  display: block;
  color: var(--muted);
}
.calendar-item-sunday_service { border-left-color: var(--gold); background: #fff5e4; }
.calendar-item-community_cafe { border-left-color: var(--rose); background: #eef5ff; }
.calendar-item-club { border-left-color: var(--teal); }
.calendar-item-club_meeting { border-left-color: var(--teal); background: #edf8f7; }
.calendar-item-cafe_meeting { border-left-color: var(--rose); background: #eef5ff; }
.calendar-item-board_meeting,
.calendar-item-committee_meeting { border-left-color: var(--violet); background: #f0f4ff; }
.calendar-empty {
  color: var(--muted);
  font-size: .82rem;
}
.agenda-list {
  display: grid;
  gap: .85rem;
}
.agenda-day {
  display: grid;
  grid-template-columns: minmax(160px, .28fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding-top: .85rem;
  border-top: 1px solid var(--line);
}
.agenda-day h3 {
  margin-top: 0;
}
.agenda-items {
  display: grid;
  gap: .75rem;
}
.agenda-item {
  padding: 1rem;
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(34, 34, 59, .05);
}
.agenda-item h4,
.agenda-item p {
  margin-top: 0;
}
.event-signup-form {
  padding: 0;
  border: 0;
  box-shadow: none;
}
.detail-image, .person-card img {
  max-width: 100%;
  border-radius: 8px;
}

/* Event detail experience */
.event-detail-hero {
  position: relative;
  min-height: 280px;
  display: flex;
  align-items: end;
  overflow: hidden;
  background-image: linear-gradient(90deg, rgba(25, 27, 48, .9) 0%, rgba(25, 27, 48, .72) 48%, rgba(25, 27, 48, .2) 100%), var(--event-hero-image);
  background-position: center;
  background-size: cover;
  color: white;
}
.event-detail-hero-copy {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2.1rem 0;
}
.event-detail-hero h1 {
  max-width: 18ch;
  margin: .35rem 0 .45rem;
  color: white;
  font-size: clamp(2.15rem, 5vw, 4.1rem);
  line-height: 1.02;
  letter-spacing: 0;
}
.event-detail-hero-copy > p {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255,.92);
  font-size: 1.05rem;
}
.event-detail-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .8rem;
  align-items: center;
  font-size: .82rem;
  font-weight: 900;
  text-transform: uppercase;
}
.event-detail-kicker a { color: #fff4c8; }
.event-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: .12rem .55rem;
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 900;
  text-transform: uppercase;
}
.event-status.canceled,
.status-pill.canceled {
  color: #71150f;
  background: #ffe2dd;
  border-color: #d92d20;
}
.event-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
}
.event-detail-main { min-width: 0; }
.event-copy {
  max-width: 760px;
  font-size: 1.05rem;
  line-height: 1.72;
}
.event-copy h2 { margin-top: 0; }
.event-facts {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  box-shadow: 0 10px 28px rgba(34,34,59,.08);
  overflow: hidden;
}
.event-fact {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: .8rem;
  padding: 1rem;
  border-bottom: 1px solid var(--line);
}
.event-fact svg {
  width: 24px;
  height: 24px;
  color: var(--teal);
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.event-fact span,
.event-contact span {
  display: block;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
}
.event-fact strong { display: block; margin-top: .1rem; }
.event-online,
.event-contact,
.event-questions { padding: 1rem; border-bottom: 1px solid var(--line); }
.event-online { display: grid; gap: .45rem; }
.event-questions { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 0; }
.event-cancellation {
  padding: 1rem 1.1rem;
  margin-bottom: 1.5rem;
  border-left: 5px solid #d92d20;
  border-radius: 6px;
  background: #fff1ef;
  color: #71150f;
}
.event-cancellation p { margin: .35rem 0 0; }
.event-resources-public,
.event-signup-panel { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.compact-heading { margin-bottom: .8rem; }
.event-resource-group { margin-top: 1rem; }
.event-resource-group h3 { margin-bottom: .4rem; font-size: 1rem; }
.event-resource-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
  padding: .8rem 0;
  border-top: 1px solid var(--line);
}
.resource-access {
  display: inline-flex;
  margin-left: .45rem;
  color: var(--muted);
  font-size: .75rem;
  font-weight: 800;
}
.resource-rich-text { flex: 1 0 100%; }
.resource-rich-text summary { cursor: pointer; font-weight: 800; }
.resource-rich-text .prose { padding: .8rem 0 0; }
.compact-button { min-height: 36px; padding: .35rem .75rem; }
.event-signup-panel { max-width: 760px; }
.event-signup-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.agenda-cancellation { padding: .55rem .7rem; background: #fff1ef; color: #71150f; border-radius: 6px; }
.calendar-item.canceled { background: #fff1ef; border-left-color: #d92d20; }
.calendar-item.canceled > span { text-decoration: line-through; text-decoration-thickness: 1px; }
.calendar-status { color: #8b1d14 !important; font-weight: 900; text-transform: uppercase; }

/* Event portal controls */
.event-image-settings { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.event-theme-picker {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .6rem;
  margin: .55rem 0 1rem;
}
.event-theme-picker button {
  position: relative;
  min-height: 92px;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 8px;
  background-image: var(--theme-image);
  background-position: center;
  background-size: cover;
  cursor: pointer;
}
.event-theme-picker button::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent, rgba(25,27,48,.82));
}
.event-theme-picker button span {
  position: absolute;
  z-index: 1;
  left: .5rem;
  bottom: .35rem;
  color: white;
  font-weight: 900;
}
.event-theme-picker button.selected { border-color: var(--focus); box-shadow: 0 0 0 2px white, 0 0 0 5px var(--focus); }
.event-theme-picker button:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.rich-editor { border: 2px solid #cfc7bb; border-radius: 6px; overflow: hidden; background: white; }
.rich-editor-toolbar { display: flex; flex-wrap: wrap; gap: .35rem; padding: .5rem; border-bottom: 1px solid var(--line); background: #f7f3ec; }
.rich-editor-toolbar button { min-height: 34px; padding: .3rem .55rem; border: 1px solid var(--line); border-radius: 5px; background: white; font: inherit; font-weight: 800; cursor: pointer; }
.rich-editor-toolbar button:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.rich-editor-content { min-height: 240px; padding: .8rem; line-height: 1.6; }
.rich-editor-content:focus { outline: 3px solid var(--focus); outline-offset: -3px; }

@media (max-width: 800px) {
  .event-detail-layout { grid-template-columns: 1fr; }
  .event-facts { position: static; grid-row: 1; }
  .event-detail-hero { min-height: 235px; }
  .event-theme-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .event-detail-hero-copy { width: min(100% - 1.5rem, 1180px); padding: 1.5rem 0; }
  .event-detail-hero h1 { font-size: 2.25rem; }
  .event-signup-grid { grid-template-columns: 1fr; }
  .event-resource-row { align-items: flex-start; }
  .event-theme-picker { grid-template-columns: 1fr 1fr; }
}
.person-placeholder {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--teal);
  color: white;
  font-size: 2rem;
  font-weight: 900;
}
.values-hero {
  padding: clamp(2.25rem, 5vw, 4.25rem) 1rem;
  background:
    radial-gradient(circle at 76% 28%, rgba(255, 190, 59, .22), transparent 26rem),
    linear-gradient(135deg, #fff8eb 0%, #e8f7f4 100%);
  overflow: hidden;
}
.values-hero-inner {
  max-width: 1180px;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(260px, .7fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}
.values-hero-copy h1 {
  max-width: none;
  margin-bottom: .85rem;
}
.values-hero-copy p:not(.eyebrow) {
  max-width: 42rem;
}
.values-hero-visual {
  display: grid;
  place-items: center;
  min-width: 0;
}
.values-hero-visual img {
  width: min(100%, 430px);
  height: auto;
  display: block;
  padding: clamp(.7rem, 2vw, 1.2rem);
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(234, 213, 173, .8);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(34, 34, 59, .12);
}
.values-intro {
  display: grid;
  grid-template-columns: minmax(240px, .62fr) minmax(0, 1fr);
  gap: clamp(1.4rem, 4vw, 4rem);
  align-items: start;
}
.values-intro-copy {
  position: sticky;
  top: 92px;
}
.values-intro-copy h2 {
  max-width: 12ch;
  margin-top: .3rem;
}
.values-intro-text {
  max-width: 760px;
  font-size: 1.05rem;
  line-height: 1.75;
}
.values-intro-text p:first-child {
  font-size: 1.18rem;
  color: var(--ink);
}
.values-shared {
  padding-top: .75rem;
}
.values-love-panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  padding: 1.2rem;
  margin-bottom: 1.1rem;
  border: 1px solid var(--line);
  border-left: 8px solid var(--rose);
  border-radius: 10px;
  background: linear-gradient(135deg, #fff 0%, #fff5e4 100%);
  box-shadow: 0 12px 30px rgba(34, 34, 59, .07);
}
.values-love-panel .card-icon {
  width: 60px;
  height: 60px;
  color: var(--rose);
}
.values-love-panel h2,
.values-love-panel p {
  margin-top: 0;
}
.values-love-panel p:last-child {
  margin-bottom: 0;
}
.values-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .95rem;
}
.value-row {
  --value-color: var(--teal);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .9rem;
  align-items: start;
  min-width: 0;
  padding: 1.05rem;
  border: 1px solid var(--line);
  border-left: 7px solid var(--value-color);
  border-radius: 10px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 8px 22px rgba(34, 34, 59, .05);
}
.value-row .card-icon {
  width: 48px;
  height: 48px;
  color: var(--value-color);
  background: #fff5e4;
}
.value-row h3,
.value-row p {
  margin-top: 0;
}
.value-row p {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.55;
}
.value-interdependence { --value-color: #343a96; }
.value-pluralism { --value-color: #a31945; }
.value-justice { --value-color: #e69a00; }
.value-transformation { --value-color: #0a91bd; }
.value-generosity { --value-color: #e6388a; }
.value-equity { --value-color: #79b82a; }
.value-grid article:nth-child(1) { border-top: 8px solid var(--rose); }
.value-grid article:nth-child(2) { border-top: 8px solid var(--gold); }
.value-grid article:nth-child(3) { border-top: 8px solid var(--teal); }
.value-grid article:nth-child(4) { border-top: 8px solid var(--violet); }
.value-grid article:nth-child(5) { border-top: 8px solid var(--green); }
.value-grid article:nth-child(6) { border-top: 8px solid #2670b8; }
.value-grid article:nth-child(7) { border-top: 8px solid #c7472f; }
.messages { max-width: 1180px; margin: 1rem auto; padding: 0 1rem; }
.message { padding: .8rem 1rem; border-radius: 8px; background: #e8f7f4; border: 1px solid #a4d8cf; }
.site-footer {
  margin-top: 0;
  background: #17172b;
  color: white;
  padding: 1.15rem 1rem;
  display: grid;
  grid-template-columns: minmax(360px, 1.2fr) minmax(120px, .5fr) minmax(420px, .9fr);
  gap: 1.5rem;
  align-items: center;
}
.footer-brand {
  display: flex;
  align-items: center;
  gap: .8rem;
}
.footer-brand img {
  width: 72px;
  height: 72px;
  padding: 6px;
  border-radius: 50%;
  background: white;
  flex: 0 0 auto;
}
.footer-brand h2,
.footer-brand p,
.footer-info p {
  margin: .15rem 0;
}
.footer-brand h2 {
  font-size: clamp(.8rem, 1vw, .95rem);
  line-height: 1.15;
  font-weight: 800;
}
.footer-motto {
  color: var(--gold);
  font-style: italic;
  font-weight: 400;
}
.footer-info {
  margin-top: .65rem;
  font-size: .95rem;
}
.footer-social {
  display: flex;
  gap: .5rem;
  margin-top: .55rem;
}
.footer-social a {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 50%;
  color: white;
  text-decoration: none;
}
.footer-social a:hover {
  color: var(--gold);
  border-color: var(--gold);
}
.footer-social svg {
  display: block;
  width: 1.15rem;
  height: 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.footer-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem 1.2rem;
  grid-column: 3;
}
.footer-links a, .footer-links span, .footer-info a { color: white; }
.footer-links a,
.footer-links span,
.footer-link-button {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
}
.footer-link-button {
  padding: 0;
  border: 0;
  background: transparent;
  color: white;
  font: inherit;
  text-align: left;
  text-decoration: underline;
  cursor: pointer;
}
.footer-icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  color: var(--gold);
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-top: .8rem;
  padding-top: .8rem;
  border-top: 1px solid rgba(255, 255, 255, .16);
  color: rgba(255, 255, 255, .72);
  font-size: .85rem;
}
.footer-bottom p {
  margin: 0;
}
.footer-bottom nav {
  display: flex;
  gap: .9rem;
  flex-wrap: wrap;
}
.footer-bottom a {
  color: rgba(255, 255, 255, .86);
}
.modal {
  width: min(92vw, 520px);
  padding: 0;
  border: 0;
  border-radius: 8px;
  box-shadow: 0 24px 70px rgba(23, 23, 43, .28);
}
.modal::backdrop {
  background: rgba(23, 23, 43, .55);
}
.modal-card {
  display: block;
  padding: 1.25rem;
  background: var(--paper);
  color: var(--ink);
}
.modal-header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
}
.modal-header h2 {
  margin: 0;
}
.icon-button {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 2px solid var(--line);
  border-radius: 50%;
  background: white;
  color: var(--ink);
  cursor: pointer;
  font-weight: 900;
}
.modal label {
  display: block;
  font-weight: 800;
  margin-bottom: .25rem;
}
.modal input[type="text"],
.modal input[type="email"],
.modal input:not([type]) {
  width: 100%;
  border: 2px solid #cfc7bb;
  border-radius: 6px;
  padding: .72rem;
  font: inherit;
}
.checkbox-row {
  display: flex !important;
  gap: .6rem;
  align-items: start;
  font-weight: 600 !important;
}
.checkbox-row input {
  margin-top: .3rem;
}
.modal-actions {
  display: flex;
  justify-content: end;
  gap: .65rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

@media (max-width: 1060px) {
  .site-menu a,
  .submenu-button {
    padding-left: .55rem;
    padding-right: .55rem;
    font-size: .95rem;
  }
}

@media (max-width: 960px) {
  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: 2.5rem;
    gap: 1.25rem;
  }
  .hero-art {
    max-height: 410px;
    overflow: hidden;
    border-radius: 28px 28px 0 0;
    justify-self: center;
    width: 100%;
    transform: none;
  }
  .hero-art img {
    margin-top: -4%;
  }
  .hero h1 {
    max-width: 14ch;
  }
  .hero-text {
    max-width: 36rem;
  }
  .sunday-feature {
    grid-template-columns: 1fr;
  }
  .sunday-summary::before {
    width: 220px;
    opacity: .07;
  }
}

@media (max-width: 820px) {
  .nav-toggle {
    display: inline-flex;
    border: 2px solid var(--ink);
    background: white;
    border-radius: 999px;
    padding: .55rem .8rem;
    font-weight: 800;
  }
  .site-menu {
    display: none;
    position: absolute;
    left: 1rem;
    right: 1rem;
    top: 70px;
    max-height: calc(100svh - 86px);
    overflow-y: auto;
    background: white;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: .6rem;
    box-shadow: 0 14px 32px rgba(34, 34, 59, .15);
  }
  .site-menu.is-open { display: block; }
  .site-menu > li + li {
    margin-top: .35rem;
    padding-top: .35rem;
    border-top: 1px solid var(--line);
  }
  .site-menu a {
    white-space: normal;
  }
  .has-submenu > a {
    font-size: 1rem;
  }
  .has-submenu > a::after {
    transform: translateY(-.08rem) rotate(45deg);
  }
  .submenu,
  .has-submenu:hover .submenu,
  .has-submenu:focus-within .submenu,
  .site-menu > .has-submenu:nth-last-child(2) .submenu {
    position: static;
    display: block;
    min-width: 0;
    max-width: none;
    margin: .15rem 0 0;
    padding: 0 0 0 .65rem;
    border: 0;
    border-left: 3px solid #edf8f7;
    border-radius: 0;
    box-shadow: none;
  }
  .submenu a,
  .submenu-button {
    padding: .5rem .65rem;
    font-size: .95rem;
    font-weight: 650;
  }
  .split, .site-footer { grid-template-columns: 1fr; }
  h1 { font-size: 2.65rem; }
  .section-heading { display: block; }
  .section-intro {
    margin-top: .45rem;
  }
  .visit-hero {
    min-height: 230px;
  }
  .what-expect-intro {
    grid-template-columns: 1fr;
  }
  .what-expect-intro h2 {
    max-width: 18ch;
  }
  .what-expect-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .about-intro,
  .organization-intro {
    grid-template-columns: 1fr;
  }
  .about-intro-heading,
  .organization-intro-heading {
    position: static;
  }
  .about-intro-heading h2,
  .organization-intro-heading h2 {
    max-width: 18ch;
  }
  .about-snapshot-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .portal-detail-grid {
    grid-template-columns: 1fr;
  }
  .portal-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .event-form-grid,
  .event-form-two {
    grid-template-columns: 1fr;
  }
  .event-form-panel-wide {
    grid-column: auto;
  }
  .about-link-grid {
    grid-template-columns: 1fr;
  }
  .organization-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .organization-flow article:last-child {
    grid-column: 1 / -1;
  }
  .organization-role-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .values-hero-inner,
  .values-intro,
  .values-list {
    grid-template-columns: 1fr;
  }
  .values-hero-copy p:not(.eyebrow),
  .values-intro-text {
    max-width: 42rem;
  }
  .values-hero-visual {
    justify-content: start;
  }
  .values-hero-visual img {
    width: min(100%, 340px);
  }
  .values-intro-copy {
    position: static;
  }
  .values-intro-copy h2 {
    max-width: 18ch;
  }
  .vision-mission-hero::before,
  .history-hero::before {
    background-position: 68% center;
    opacity: .36;
  }
  .vision-mission-section {
    grid-template-columns: 1fr;
  }
  .vision-mission-heading {
    position: static;
  }
  .vision-mission-heading h2 {
    max-width: 18ch;
  }
  .history-intro,
  .history-story-grid {
    grid-template-columns: 1fr;
  }
  .history-intro h2 {
    max-width: 20ch;
  }
  .history-story-card.wide {
    grid-column: auto;
  }
  .visit-hero::before,
  .faq-hero::before,
  .what-to-expect-hero::before,
  .about-hero::before,
  .organization-hero::before,
  .contact-hero::before,
  .leadership-hero::before,
  .board-committees-hero::before {
    background-position: 68% center;
    opacity: .36;
  }
  .visit-hero::after,
  .faq-hero::after,
  .what-to-expect-hero::after,
  .about-hero::after,
  .organization-hero::after,
  .contact-hero::after,
  .leadership-hero::after,
  .board-committees-hero::after,
  .vision-mission-hero::after,
  .history-hero::after,
  .welcoming-hero::after {
    background: linear-gradient(90deg, rgba(255, 253, 248, .98) 0%, rgba(255, 253, 248, .86) 48%, rgba(255, 253, 248, .5) 100%);
  }
  .welcoming-hero {
    min-height: 300px;
  }
  .welcoming-hero::before {
    background-position: 68% center;
    opacity: .36;
  }
  .welcoming-hero .visit-hero-copy {
    min-height: 190px;
  }
  .welcoming-recognition {
    grid-template-columns: 1fr;
  }
  .welcoming-recognition img {
    justify-self: start;
    width: min(220px, 72vw);
  }
  .welcome-means-grid,
  .welcoming-commitments,
  .pledge-list {
    grid-template-columns: 1fr;
  }
  .welcome-meaning,
  .welcome-meaning:nth-child(even) {
    border-radius: 8px;
  }
  .commitments-heading {
    position: static;
  }
  .visit-hero-copy,
  .faq-hero,
  .what-to-expect-hero,
  .about-hero,
  .organization-hero,
  .leadership-hero,
  .board-committees-hero {
    min-height: 230px;
  }
  .visit-hero-copy {
    min-height: 150px;
  }
  .committee-group-heading {
    display: block;
  }
  .committee-group-heading a {
    display: inline-block;
    margin-top: .45rem;
  }
  .footer-brand img {
    width: 62px;
    height: 62px;
  }
  .footer-links {
    grid-column: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .footer-bottom {
    align-items: start;
    flex-direction: column;
  }
  .calendar-weekdays {
    display: none;
  }
  .calendar-week {
    grid-template-columns: 1fr;
  }
  .calendar-day {
    min-height: auto;
  }
  .calendar-day.muted:has(.calendar-empty) {
    display: none;
  }
  .agenda-day {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .nav-wrap {
    padding: .65rem .8rem;
  }
  .brand-logo {
    width: min(230px, 58vw);
    height: 54px;
  }
  .hero,
  .section,
  .sunday-strip-inner,
  .page-hero {
    padding-left: .85rem;
    padding-right: .85rem;
  }
  .hero h1,
  .page-hero h1 {
    font-size: clamp(2.05rem, 12vw, 2.55rem);
    max-width: 11ch;
  }
  .about-hero h1 {
    max-width: 15ch;
  }
  .hero-text,
  .page-hero p:not(.eyebrow) {
    font-size: 1.08rem;
  }
  .button-row,
  .button {
    width: 100%;
  }
  .values-hero-visual img {
    width: min(100%, 290px);
    justify-self: center;
  }
  .values-love-panel,
  .value-row {
    grid-template-columns: 1fr;
  }
  .history-timeline li {
    grid-template-columns: 1fr;
    gap: .35rem;
  }
  .card-grid, .pathway-grid, .content-grid, .value-grid {
    grid-template-columns: 1fr;
  }
  .what-expect-card-grid {
    grid-template-columns: 1fr;
  }
  .about-snapshot-grid {
    grid-template-columns: 1fr;
  }
  .portal-card-grid {
    grid-template-columns: 1fr;
  }
  .event-form-panel {
    padding: .95rem;
  }
  .portal-form-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .about-community-panel::after {
    right: -70px;
    width: 145px;
    height: 145px;
  }
  .organization-flow,
  .organization-role-grid {
    grid-template-columns: 1fr;
  }
  .organization-flow article:last-child {
    grid-column: auto;
  }
  .organization-care-panel::after {
    right: -2rem;
    width: 180px;
    opacity: .05;
  }
  .year-filter {
    align-items: start;
    flex-direction: column;
  }
  .footer-links {
    grid-template-columns: 1fr;
  }
}

/* Occurrence management */
.portal-record-header {
  width: min(1180px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2rem 0 1.25rem;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  border-bottom: 1px solid var(--line);
}
.portal-record-header h1 {
  max-width: none;
  margin: .2rem 0 .35rem;
  font-size: clamp(2rem, 5vw, 3.3rem);
  letter-spacing: 0;
}
.portal-record-header p:last-child { margin-bottom: 0; }
.occurrence-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
}
.occurrence-title-row h1 { margin-bottom: 0; }
.occurrence-action-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .55rem;
}
.occurrence-date-link {
  display: inline-flex;
  font-size: 1rem;
  font-weight: 900;
}
.status-pill.delayed,
.event-status.delayed {
  color: #744500;
  background: #fff1bf;
  border-color: #d89b16;
}
.calendar-item.delayed {
  background: #fff8dc;
  border-left-color: #d89b16;
}
.calendar-status.delayed { color: #744500 !important; }
.agenda-delay,
.event-delay,
.delayed-update {
  padding: .8rem 1rem;
  border-left: 5px solid #d89b16;
  border-radius: 6px;
  background: #fff8dc;
  color: #5f3c00;
}
.agenda-delay { margin-bottom: 0; }
.event-delay { margin-bottom: 1.5rem; }
.event-delay p,
.occurrence-public-update p { margin: .35rem 0 0; }
.occurrence-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 330px);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}
.occurrence-detail-main {
  display: grid;
  gap: 1.6rem;
  min-width: 0;
}
.occurrence-detail-section {
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
}
.occurrence-detail-section:first-child { padding-top: 0; border-top: 0; }
.occurrence-detail-section h2 { margin-top: .2rem; }
.occurrence-lead { font-size: 1.08rem; }
.occurrence-public-update { padding: .9rem 1rem; border-left: 5px solid var(--teal); background: #edf8f7; border-radius: 6px; }
.occurrence-public-update.canceled-update { border-left-color: #d92d20; background: #fff1ef; color: #71150f; }
.occurrence-facts {
  display: grid;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  box-shadow: 0 10px 28px rgba(34,34,59,.07);
  overflow: hidden;
}
.occurrence-facts > div {
  display: grid;
  gap: .18rem;
  padding: 1rem;
  border-bottom: 1px solid var(--line);
}
.occurrence-facts > div:last-child { border-bottom: 0; }
.occurrence-facts span {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
}
.occurrence-facts small { color: var(--muted); }
.occurrence-resource-list { display: grid; gap: .5rem; }
.occurrence-resource-list article {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .8rem 0;
  border-top: 1px solid var(--line);
}
.occurrence-resource-list small { display: block; color: var(--muted); }
.internal-note { color: var(--muted); }
.occurrence-edit-section { padding-top: 1.25rem; }
.occurrence-scope-notice {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem .6rem;
  max-width: 1060px;
  margin-bottom: 1rem;
  padding: .8rem 1rem;
  border-left: 5px solid var(--teal);
  border-radius: 6px;
  background: #edf8f7;
}
.occurrence-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.occurrence-form-grid .event-form-panel-wide { grid-column: 1 / -1; }

@media (max-width: 800px) {
  .portal-record-header {
    align-items: start;
    flex-direction: column;
  }
  .occurrence-action-bar { justify-content: flex-start; }
  .occurrence-detail-layout,
  .occurrence-form-grid { grid-template-columns: 1fr; }
  .occurrence-form-grid .event-form-panel-wide { grid-column: auto; }
  .occurrence-facts { grid-row: 1; }
}

@media (max-width: 560px) {
  .portal-record-header { width: min(100% - 1.5rem, 1180px); padding-top: 1.35rem; }
  .portal-record-header h1 { font-size: 2.15rem; }
  .occurrence-action-bar { width: 100%; }
  .occurrence-action-bar .button { width: 100%; }
  .occurrence-resource-list article { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.governance-overview .board-role-list, .governance-roster { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; }
.governance-detail-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 3rem; align-items: start; }
.person-card { display: flex; align-items: center; gap: 1rem; width: 100%; padding: 1rem; border: 1px solid var(--line); border-radius: 8px; background: white; color: inherit; text-align: left; cursor: pointer; }
.person-card:hover, .person-card:focus-visible { border-color: var(--teal); box-shadow: 0 8px 24px rgba(34,34,59,.08); }
.person-card img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.person-card span, .person-card small { display: block; }
.person-card small { color: var(--muted); margin-top: .2rem; }
.person-dialog { width: min(92vw, 580px); padding: 2rem; border: 0; border-radius: 10px; box-shadow: 0 20px 70px rgba(0,0,0,.3); }
.person-dialog::backdrop { background: rgba(20,25,35,.68); }
.person-dialog > img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; }
.person-dialog .dialog-placeholder { width: 120px; height: 120px; display: grid; place-items: center; border-radius: 50%; font-size: 2rem; }
.dialog-close { float: right; border: 0; background: transparent; font-size: 2rem; cursor: pointer; }
.meeting-card { display: grid; gap: .25rem; padding: 1rem 0; border-top: 1px solid var(--line); }
@media (max-width: 760px) { .governance-detail-grid { grid-template-columns: 1fr; } }
.governance-detail-hero {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  padding: clamp(2.5rem, 6vw, 4.5rem) 1rem;
  overflow: hidden;
}
.governance-detail-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--governance-hero-image) right center / cover no-repeat;
}
.governance-detail-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 253, 248, .99) 0%, rgba(255, 253, 248, .94) 43%, rgba(255, 253, 248, .48) 76%, rgba(255, 253, 248, .18) 100%);
}
.governance-detail-hero-copy {
  display: grid;
  align-content: center;
  width: min(100%, 1180px);
  min-height: 180px;
  margin: 0 auto;
}
.governance-detail-hero h1 { max-width: 18ch; margin-bottom: .75rem; }
.governance-detail-hero p:not(.eyebrow) { max-width: 38rem; margin: 0; font-size: 1.15rem; }
.governance-section { width: min(calc(100% - 2rem), 1080px); padding-block: clamp(2.25rem, 5vw, 4rem); }
.governance-section + .governance-section { border-top: 1px solid var(--line); }
.governance-about { padding-top: clamp(2.5rem, 5vw, 4.5rem); }
.governance-contact-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid rgba(35, 95, 91, .18);
  border-radius: 18px;
  background: linear-gradient(120deg, #edf8f5, #fff8e9);
}
.governance-contact-band h2,
.governance-contact-band p { margin-top: 0; }
.governance-contact-band p:last-child { margin-bottom: 0; }
.governance-contact-dialog { width: min(92vw, 620px); }
.governance-contact-dialog .site-form { max-width: none; border: 0; border-radius: 0; }
.governance-contact-dialog textarea,
.governance-contact-dialog input[type="tel"] {
  width: 100%;
  border: 2px solid #cfc7bb;
  border-radius: 6px;
  padding: .72rem;
  font: inherit;
}
.governance-contact-dialog textarea { resize: vertical; }
.governance-contact-dialog .checkbox-row input { width: auto; flex: 0 0 auto; }
.inline-form { display: inline; margin-inline-start: .5rem; }
.governance-dialog, .portal-dialog { max-width: min(42rem, calc(100vw - 2rem)); border: 0; border-radius: 1rem; padding: 1.5rem; box-shadow: 0 1.5rem 4rem rgb(0 0 0 / .3); }
.governance-dialog::backdrop, .portal-dialog::backdrop { background: rgb(0 0 0 / .55); }
.governance-editor { display: flex; flex-direction: column; gap: 2rem; }
.governance-editor-block { width: 100%; }
.governance-editor .portal-card {
  background: #fff;
  border: 1px solid #ded8cf;
  border-radius: 1rem;
  padding: clamp(1rem, 3vw, 2rem);
  box-shadow: 0 .4rem 1.4rem rgb(36 31 25 / .08);
}
.governance-editor .site-form { max-width: none; }
.governance-roster-dialog { width: min(44rem, calc(100vw - 2rem)); padding: 0; }
.governance-roster-dialog .dialog-card { position: relative; padding: clamp(1.25rem, 4vw, 2rem); }
.governance-roster-dialog .dialog-close {
  position: absolute; top: .75rem; right: .75rem; width: 2.25rem; height: 2.25rem;
  display: grid; place-items: center; border: 0; border-radius: 50%; background: #eee9e1;
  color: #302a23; font-size: 1.5rem; line-height: 1; cursor: pointer;
}
.governance-roster-dialog h2 { padding-right: 2.5rem; }
.governance-roster-dialog .site-form { max-width: none; border: 0; padding: 0; }
.governance-roster-dialog .portal-input,
.governance-roster-dialog input:not([type="checkbox"]),
.governance-roster-dialog select,
.governance-roster-dialog textarea { width: 100%; }
.governance-roster-dialog .portal-form-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.governance-editor .table-actions { white-space: nowrap; }
.governance-editor .button.small { padding: .45rem .7rem; }
.governance-roster-dialog .link-button { margin-top: .5rem; }
.governance-meetings { color: var(--muted); }
@media (max-width: 700px) {
  .governance-detail-hero { min-height: 0; padding-block: 2.5rem; }
  .governance-detail-hero::before { background-position: 68% center; }
  .governance-detail-hero::after { background: linear-gradient(90deg, rgba(255, 253, 248, .98) 0%, rgba(255, 253, 248, .9) 70%, rgba(255, 253, 248, .65) 100%); }
  .governance-detail-hero-copy { min-height: 150px; }
  .governance-detail-hero h1 { max-width: 15ch; }
  .governance-contact-band { align-items: flex-start; flex-direction: column; }
  .governance-roster-dialog { width: calc(100vw - 1rem); max-width: none; }
  .governance-editor .table-actions { white-space: normal; }
}

/* Sunday services experience */
.sunday-services-hero {
  position: relative; isolation: isolate; min-height: 320px; overflow: hidden;
  padding: clamp(2.5rem, 5vw, 4rem) 1rem;
}
.sunday-services-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; }
.sunday-services-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(255,253,248,.98) 0%, rgba(255,253,248,.9) 45%, rgba(255,253,248,.2) 100%); }
.sunday-services-hero h1 { max-width: 14ch; margin-bottom: .75rem; }
.sunday-services-hero p:not(.eyebrow) { max-width: 38rem; margin: 0; }
.service-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.4rem); }
.service-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 12px 30px rgba(34,34,59,.08); transition: transform .18s ease, box-shadow .18s ease; }
.service-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(34,34,59,.13); }
.service-card-image { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #e8f7f4; }
.service-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.service-card:hover .service-card-image img { transform: scale(1.025); }
.service-card-date { position: absolute; left: .85rem; bottom: .85rem; display: grid; min-width: 3.35rem; padding: .35rem .55rem; border-radius: 9px; background: rgba(255,253,248,.94); color: var(--ink); text-align: center; text-transform: uppercase; line-height: 1; box-shadow: 0 5px 15px rgba(34,34,59,.14); }
.service-card-date strong { font-size: 1.45rem; margin-bottom: .18rem; }
.service-card-body { display: flex; flex-direction: column; gap: .55rem; padding: 1.15rem; }
.service-card-body p, .service-card-body h3 { margin: 0; }
.service-card-kicker { color: var(--teal-dark, #006c65); font-size: .82rem; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.service-card-body h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.15; }
.service-card-body h3 a { color: inherit; text-decoration: none; }
.service-card-people, .service-card-location { color: #495666; font-size: .94rem; }
.service-card-description { color: #536170; line-height: 1.55; }
.service-card-actions { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: .35rem; padding-top: .7rem; border-top: 1px solid var(--line); }
.service-card-actions a { font-weight: 750; }
.service-card--past { background: #fffdf8; }
.services-archive-hero { background: linear-gradient(135deg, #eef8f6, #fff4e4); }
.services-archive { display: grid; gap: 1.4rem; }
.service-filters { display: grid; gap: 1rem; padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(34,34,59,.06); }
.service-filter-main, .service-filter-grid { display: grid; grid-template-columns: minmax(240px, 2fr) repeat(2, minmax(150px, 1fr)); gap: 1rem; }
.service-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1rem; }
.service-filters label { display: grid; align-content: start; gap: .35rem; font-weight: 700; }
.service-filters input, .service-filters select { width: 100%; min-height: 45px; padding: .62rem .7rem; border: 1px solid #aeb8c2; border-radius: 7px; background: white; color: var(--ink); font: inherit; }
.service-filters select[multiple] { min-height: 8rem; }
.service-filter-more summary { cursor: pointer; color: var(--teal-dark, #006c65); font-weight: 750; }
.service-filter-actions, .filter-pills, .pagination { display: flex; gap: .65rem; align-items: center; flex-wrap: wrap; }
.filter-pill, .tag-pill { display: inline-flex; align-items: center; gap: .4rem; padding: .42rem .68rem; border: 1px solid #acd7d1; border-radius: 999px; background: #edf8f7; color: #075e59; font-weight: 700; text-decoration: none; }
.services-result-heading p { margin: 0; color: #536170; }
.service-empty { grid-column: 1 / -1; }
.pagination { justify-content: center; padding-top: .6rem; }
.pagination a, .pagination span { padding: .55rem .8rem; }
.service-editor fieldset { display: grid; gap: .7rem; margin: 0 0 1.25rem; padding: 1.2rem; border: 1px solid var(--line); border-radius: 10px; }
.service-editor legend { padding: 0 .4rem; color: var(--ink); font-family: var(--heading-font); font-size: 1.25rem; font-weight: 750; }
.participant-formset { display: grid; gap: .8rem; }
.participant-row { display: grid; grid-template-columns: 1fr 1.35fr 1.35fr .55fr auto; gap: .7rem; align-items: end; padding: .8rem; border-radius: 8px; background: #f7faf9; }
.participant-row p { margin: 0; }
.service-image-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.service-image-picker label { position: relative; display: grid; gap: .35rem; cursor: pointer; font-weight: 700; }
.service-image-picker img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border: 3px solid transparent; border-radius: 8px; }
.service-image-picker input { position: absolute; opacity: 0; }
.service-image-picker input:checked + img { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(0,135,127,.18); }
.service-image-picker input:focus-visible + img { outline: 3px solid #0f5cc0; outline-offset: 2px; }
.tag-pills { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .5rem; }
.tag-pill { cursor: pointer; font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 800px) {
  .service-card-grid, .service-filter-main, .service-filter-grid { grid-template-columns: 1fr; }
  .participant-row { grid-template-columns: 1fr 1fr; }
  .service-image-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sunday-services-hero::before { background-position: 65% center; }
}
@media (max-width: 480px) { .service-image-picker, .participant-row { grid-template-columns: 1fr; } }
/* Sunday service archive modal and participant bios */
.services-archive-hero { position: relative; isolation: isolate; overflow: hidden; background: #f5faf8; }
.services-archive-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .18; }
.services-archive-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(255,253,248,.97), rgba(255,253,248,.84) 55%, rgba(255,253,248,.55)); }
.services-archive-hero h1 { max-width: 18ch; }
.service-search-form { position: relative; }
.service-search-bar { display: grid; grid-template-columns: minmax(230px, 1fr) minmax(145px,auto) auto auto; gap: .7rem; padding: .85rem; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: 0 7px 20px rgba(34,34,59,.055); }
.service-search-bar label { min-width: 0; }
.service-search-bar input,.service-search-bar select { width: 100%; height: 100%; min-height: 44px; padding: .65rem .8rem; border: 1px solid #aeb8c2; border-radius: 7px; background:#fff; font: inherit; }
.filter-count { display: inline-grid; place-items: center; min-width: 1.45rem; height: 1.45rem; margin-left: .25rem; padding: 0 .35rem; border-radius: 999px; background: var(--teal); color: white; font-size: .78rem; }
.service-filter-dialog { width: min(900px, calc(100% - 2rem)); max-height: min(86vh, 760px); padding: 0; border: 0; border-radius: 15px; color: var(--ink); box-shadow: 0 24px 70px rgba(20,28,45,.3); }
.service-filter-dialog::backdrop { background: rgba(20,28,45,.58); backdrop-filter: blur(3px); }
.service-filter-dialog-header, .service-filter-dialog-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem 1.35rem; background: #fffdf8; }
.service-filter-dialog-header { position: sticky; top: 0; z-index: 2; border-bottom: 1px solid var(--line); }
.service-filter-dialog-header h2, .service-filter-dialog-header p { margin: 0; }
.dialog-close { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border: 0; border-radius: 50%; background: #edf3f2; color: var(--ink); font-size: 1.65rem; cursor: pointer; }
.service-filter-dialog-body { padding: 1.25rem 1.35rem; overflow-y: auto; }
.service-filter-dialog .service-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.service-filter-dialog label { display: grid; align-content: start; gap: .35rem; font-weight: 700; }
.service-filter-dialog input, .service-filter-dialog select { width: 100%; min-height: 44px; padding: .62rem .7rem; border: 1px solid #aeb8c2; border-radius: 7px; background: white; color: var(--ink); font: inherit; }
.service-multi-filter { display:grid; align-content:start; gap:.5rem; }.service-multi-filter .filter-pills { min-height:1px; }.service-multi-filter .filter-pill { cursor:pointer; }
.service-filter-dialog-actions { position: sticky; bottom: 0; justify-content: flex-end; border-top: 1px solid var(--line); }
.filter-help { margin: .85rem 0 0; color: #536170; font-size: .9rem; }
.participant-row { grid-template-columns: minmax(130px,.8fr) minmax(180px,1fr) minmax(180px,1fr) auto; align-items: start; }
.participant-row > p:has(textarea) { grid-column: span 2; }
.participant-bio-toggle { align-self: center; padding-top: 1.8rem; }
.service-participant-details { margin: 1.5rem 0; padding: 1.1rem 1.2rem; border-left: 5px solid var(--teal); border-radius: 0 9px 9px 0; background: #f3faf8; }
.service-participant-details h2 { margin: 0 0 .8rem; font-size: 1.4rem; }
.service-participant + .service-participant { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.service-participant h3, .service-participant p { margin: 0; }
.service-participant p { margin-top: .35rem; color: #495666; }
@media (max-width: 700px) {
.services-result-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }.services-result-heading label { display:flex; align-items:center; gap:.5rem; font-weight:700; }.services-result-heading select { min-height:40px; padding:.45rem .6rem; border:1px solid #aeb8c2; border-radius:7px; background:#fff; font:inherit; }
  .service-search-bar { grid-template-columns: 1fr auto; }
  .service-search-bar label { grid-column: 1 / -1; }
  .service-filter-dialog .service-filter-grid, .participant-row { grid-template-columns: 1fr; }
  .participant-row > p:has(textarea) { grid-column: auto; }
  .participant-bio-toggle { padding-top: 0; }
}
.services-result-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }
.services-result-heading label { display:flex; align-items:center; gap:.65rem; color:#536170; font-size:.9rem; font-weight:800; }
.services-result-heading select { min-width:74px; min-height:42px; padding:.5rem .75rem; border:2px solid #acd7d1; border-radius:999px; background:#edf8f7; color:#075e59; box-shadow:0 3px 10px rgba(34,34,59,.06); font:inherit; font-weight:800; cursor:pointer; }
/* Sunday service detail image hero and schedule */
.service-detail-image-hero { position: relative; isolation: isolate; min-height: clamp(300px, 42vw, 440px); display: flex; align-items: end; overflow: hidden; }
.service-detail-image-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: var(--service-detail-image) center / cover no-repeat; filter: saturate(.8) contrast(.88); transform: scale(1.015); }
.service-detail-image-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(255,253,248,.96) 0%, rgba(255,253,248,.78) 45%, rgba(255,253,248,.28) 100%), linear-gradient(0deg, rgba(25,27,48,.08), transparent 55%); }
.service-detail-hero-copy { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(2rem, 5vw, 3.5rem) 0; }
.service-detail-hero-copy h1 { max-width: 16ch; margin: 0; text-wrap: balance; }
.service-detail-layout { display: grid; grid-template-columns: minmax(230px, .34fr) minmax(0, 1fr); gap: clamp(1.4rem, 4vw, 3rem); align-items: start; }
.service-schedule-card { display: grid; gap: 1.15rem; padding: 1.2rem; border: 1px solid var(--line); border-top: 6px solid var(--gold); border-radius: 10px; background: #fffdf8; box-shadow: 0 9px 24px rgba(34,34,59,.07); }
.service-schedule-card > div { display: grid; gap: .28rem; }
.service-schedule-card > div + div { padding-top: 1rem; border-top: 1px solid var(--line); }
.service-schedule-label { color: #617080; font-size: .78rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.service-schedule-card strong { font-size: 1.05rem; }
.service-location-link { display: grid; gap: .25rem; color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.service-location-link span { color: #536170; font-weight: 500; }
.service-share-actions { display:flex; gap:.55rem; }.service-share-button { display:inline-grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #aeb8c2; border-radius:50%; background:#fff; color:var(--teal-dark,#006c65); cursor:pointer; }.service-share-button svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:2; }.service-share-button:hover { color:#fff; background:var(--teal); }.service-share-button:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }.service-share-status { min-height:1.25em; color:#536170; font-size:.85rem; }
#service-recording { scroll-margin-top:1rem; }
@media(max-width:700px){.service-status-main{grid-column:auto!important}.service-search-bar{grid-template-columns:1fr 1fr}.service-search-bar>label:first-child{grid-column:1/-1}.service-search-bar .button{width:100%}}

.service-detail-content { max-width: 760px; }
.service-description { font-size: 1.08rem; line-height: 1.7; }
@media (max-width: 760px) {
  .service-detail-image-hero { min-height: 270px; }
  .service-detail-image-hero::after { background: linear-gradient(90deg, rgba(255,253,248,.94), rgba(255,253,248,.64)); }
  .service-detail-layout { grid-template-columns: 1fr; }
}
/* Interactive Sunday service media */
.service-media-section{padding-top:1rem}.service-media-workspace{--video-share:60%;display:grid;gap:0;align-items:stretch}.service-media-workspace.has-video.has-transcript{grid-template-columns:minmax(0,var(--video-share)) 14px minmax(0,1fr)}.service-video-panel,.service-transcript-panel{min-width:0}.service-video-frame{aspect-ratio:16/9;background:#171522;border-radius:1rem;overflow:hidden;box-shadow:var(--shadow)}.service-video-frame>div,.service-video-frame iframe{width:100%;height:100%;border:0}.service-media-resizer{cursor:col-resize;display:grid;place-items:center;touch-action:none}.service-media-resizer span{width:4px;height:4rem;border-radius:2rem;background:var(--color-primary,#68486d);opacity:.45}.service-media-resizer:focus-visible{outline:3px solid #d59c48;outline-offset:2px}.service-transcript-panel{--transcript-font:'Open Sans',sans-serif;--transcript-size:18px;--transcript-color:#22223b;--transcript-background:#fffdf8;--transcript-highlight:#ffe08a;display:flex;flex-direction:column;height:min(35vw,520px);min-height:300px;border:1px solid rgba(62,44,65,.16);border-radius:1rem;overflow:hidden;background:var(--transcript-background);box-shadow:var(--shadow)}.has-transcript:not(.has-video){max-width:980px}.has-transcript:not(.has-video) .service-transcript-panel{height:min(65vh,700px)}.has-video:not(.has-transcript){max-width:980px}.transcript-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid rgba(62,44,65,.15);background:rgba(255,255,255,.65)}.transcript-toolbar>div{display:flex;align-items:baseline;gap:.25rem}.button.compact{padding:.45rem .8rem}.transcript-scroll{flex:1;overflow:auto;padding:1.1rem 1.25rem;color:var(--transcript-color);background:var(--transcript-background);font-family:var(--transcript-font);font-size:var(--transcript-size);line-height:1.75;scroll-behavior:smooth}.transcript-content{font:inherit;color:inherit}.transcript-paragraph{margin:0 0 1.15em;padding:.2rem;border-radius:.35rem}.transcript-paragraph:focus-visible{outline:2px solid #7d587f;outline-offset:2px}.transcript-speaker{display:inline;margin-right:.45em;color:inherit}.transcript-word{appearance:none;border:0;background:transparent;color:inherit;font:inherit;line-height:inherit;padding:.04em .08em;margin:0;border-radius:.22em;cursor:pointer}.transcript-word:hover{background:color-mix(in srgb,var(--transcript-highlight) 55%,transparent)}.transcript-word.is-active{background:var(--transcript-highlight);box-shadow:0 0 0 2px var(--transcript-highlight)}.transcript-status{font-style:italic}.media-error{margin:.75rem 0}.transcript-display-dialog{width:min(92vw,620px);max-height:88vh;border:0;border-radius:1rem;padding:0;box-shadow:0 24px 70px rgba(31,20,35,.35)}.transcript-display-dialog::backdrop{background:rgba(25,18,29,.58)}.transcript-display-header,.transcript-display-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem}.transcript-display-header{border-bottom:1px solid #ddd}.transcript-display-header h2,.transcript-display-header p{margin:0}.dialog-close{border:0;background:transparent;font-size:2rem;cursor:pointer}.transcript-display-body{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.25rem}.transcript-setting{display:flex;flex-direction:column;gap:.4rem;font-weight:700}.transcript-setting input[type=color]{width:100%;height:2.6rem}.font-picker{position:relative}.font-picker-button{width:100%;padding:.7rem;text-align:left;background:white;border:1px solid #aaa;border-radius:.4rem}.font-picker-options{position:absolute;z-index:4;inset:calc(100% + 4px) 0 auto;background:white;border:1px solid #aaa;border-radius:.4rem;box-shadow:var(--shadow);max-height:230px;overflow:auto}.font-picker-options button{display:block;width:100%;border:0;background:white;padding:.65rem;text-align:left;font-size:1rem}.font-picker-options button:hover,.font-picker-options button:focus{background:#f3edf4}.transcript-display-preview{grid-column:1/-1;padding:1rem;border-radius:.5rem;font-family:var(--transcript-font);font-size:var(--transcript-size);color:var(--transcript-color);background:var(--transcript-background)}.preview-highlight{background:var(--transcript-highlight)}.contrast-warning{grid-column:1/-1;margin:0;color:#8b311d}.transcript-display-actions{border-top:1px solid #ddd}.portal-transcript-speakers{display:grid;gap:.75rem}.portal-transcript-speaker-row{display:grid;grid-template-columns:minmax(100px,.35fr) 1fr;gap:1rem;align-items:end}
@media(max-width:899px){.service-media-workspace.has-video.has-transcript{display:flex;flex-direction:column;gap:1rem}.service-media-resizer{display:none}.service-transcript-panel{height:min(60vh,620px)}.transcript-display-body{grid-template-columns:1fr}}
@media print{.service-video-panel,.service-media-resizer,.transcript-toolbar{display:none!important}.service-media-workspace.has-video.has-transcript{display:block}.service-transcript-panel{height:auto;box-shadow:none}.transcript-scroll{overflow:visible}}
/* Transcript editing */
.transcript-editor-status-card,.transcript-editor-notice{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid rgba(62,44,65,.16);border-radius:.75rem;background:#faf6ef}.transcript-editor-status-card p,.transcript-editor-notice span{margin:.25rem 0 0;display:block}.transcript-editor-player{max-width:760px;margin:1.5rem 0}.transcript-editor-player iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:1rem}.transcript-editor-roster{margin:2rem 0}.transcript-roster-row{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:end;padding:.75rem 0;border-bottom:1px solid rgba(62,44,65,.14)}.transcript-roster-row label{display:grid;gap:.35rem}.drag-handle{align-self:center;color:#807482}.transcript-passage-editor{display:grid;gap:1rem}.transcript-passage-card{padding:1rem;border:1px solid rgba(62,44,65,.18);border-radius:.8rem;background:#fff}.transcript-passage-heading{display:grid;grid-template-columns:1fr minmax(180px,.5fr) auto;align-items:center;gap:.75rem;margin-bottom:.8rem}.transcript-passage-card>label{display:grid;gap:.35rem;font-weight:700}.transcript-split-words{margin:.8rem 0;padding:.7rem;max-height:140px;overflow:auto;border-radius:.5rem;background:#f7f2ea;line-height:1.9}.transcript-split-word{border:0;background:transparent;padding:.05rem .12rem;border-radius:.2rem;cursor:pointer}.transcript-split-word:hover,.transcript-split-word.is-selected{background:#ffe08a}.transcript-passage-actions,.transcript-editor-actions{display:flex;gap:.6rem;flex-wrap:wrap}.button.danger{background:#8b311d;color:#fff}.transcript-auto-scroll .checkbox-row{font-weight:400}
@media(max-width:760px){.transcript-passage-heading{grid-template-columns:1fr}.transcript-roster-row{grid-template-columns:1fr}.drag-handle{display:none}.transcript-editor-status-card,.transcript-editor-notice{align-items:flex-start;flex-direction:column}}
/* Continuous transcript studio */
.transcript-studio{max-width:1500px;margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.transcript-studio-header,.transcript-studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.transcript-studio-header h1{margin:.15rem 0}.transcript-studio-toolbar{position:sticky;top:0;z-index:20;margin:1rem 0 0;padding:.7rem 1rem;border:1px solid rgba(62,44,65,.14);border-radius:.75rem .75rem 0 0;background:rgba(255,253,248,.96);backdrop-filter:blur(10px);box-shadow:0 5px 20px rgba(46,34,49,.08)}.transcript-history-tools,.transcript-save-tools{display:flex;align-items:center;gap:.55rem}.icon-button{width:2.25rem;height:2.25rem;border:1px solid rgba(62,44,65,.2);border-radius:.45rem;background:#fff;font-size:1.3rem}.icon-button:disabled{opacity:.35}.text-button{border-color:transparent;background:transparent;color:#7a3024}.transcript-save-status{font-size:.9rem;color:#625866}.transcript-save-status.is-dirty{color:#8a5a18}.transcript-save-status.is-saving{color:#5b4b85}.transcript-save-status.is-saved{color:#28724d}.transcript-save-status.is-error{max-width:320px;color:#9b241b;font-weight:700}.transcript-studio-notice{padding:.65rem 1rem;border-inline:1px solid rgba(62,44,65,.14);background:#f6f0e7;color:#5b505d;font-size:.92rem}.transcript-studio-workspace{display:grid;grid-template-columns:minmax(300px,38%) minmax(0,1fr);align-items:start;gap:1.25rem;padding-top:1.25rem}.transcript-studio-video{position:sticky;top:5.5rem}.transcript-playback-readout{display:flex;align-items:baseline;gap:.55rem;padding:.75rem .25rem;color:#655b68}.transcript-playback-readout strong{font-variant-numeric:tabular-nums}.transcript-document{min-width:0;border:1px solid rgba(62,44,65,.14);border-radius:.8rem;background:#fff;box-shadow:0 10px 32px rgba(46,34,49,.08);overflow:hidden}.transcript-document-heading{display:flex;justify-content:space-between;gap:1rem;padding:1.15rem 1.4rem;border-bottom:1px solid rgba(62,44,65,.12);background:#fbf8f2}.transcript-document-heading h2,.transcript-document-heading p{margin:.15rem 0}.transcript-document-heading>p{max-width:360px;color:#6d626f;font-size:.9rem}.transcript-document-row{display:grid;grid-template-columns:4.6rem minmax(8.5rem,11rem) minmax(0,1fr);align-items:start;gap:.8rem;padding:1rem 1.25rem;border-bottom:1px solid rgba(62,44,65,.09);transition:background .2s,box-shadow .2s}.transcript-document-row:last-child{border-bottom:0}.transcript-document-row:hover{background:#fdfbf7}.transcript-document-row.is-active{background:#fff8dc;box-shadow:inset 4px 0 #d49b39}.transcript-timecode{border:0;background:transparent;color:#75697a;font:700 .82rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;padding:.35rem .2rem;cursor:pointer}.transcript-timecode:hover,.transcript-timecode:focus-visible{color:#624568;text-decoration:underline}.transcript-speaker-chip{border:0;border-radius:.35rem;background:transparent;color:#624568;font-weight:800;text-align:left;padding:.35rem .45rem;cursor:pointer}.transcript-speaker-chip::after{content:' ▾';font-size:.7em}.transcript-speaker-chip:hover,.transcript-speaker-chip:focus-visible{background:#eee5ef}.transcript-editable-text{min-height:2.2rem;padding:.3rem .4rem;border-radius:.35rem;color:#28232b;font:1rem/1.75 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;outline:none}.transcript-editable-text:hover{background:#faf8f4}.transcript-editable-text:focus{background:#fff;box-shadow:0 0 0 2px #b594bb}.speaker-popover{position:fixed;z-index:80;width:min(300px,calc(100vw - 2rem));max-height:calc(100vh - 24px);overflow:auto;padding:.55rem;border:1px solid rgba(62,44,65,.2);border-radius:.65rem;background:#fff;box-shadow:0 18px 45px rgba(35,26,38,.24)}.speaker-popover [role=listbox]{max-height:240px;overflow:auto;margin:.4rem 0}.speaker-popover [role=option],.speaker-popover-actions button{display:block;width:100%;border:0;background:transparent;padding:.6rem .65rem;border-radius:.35rem;text-align:left}.speaker-popover [role=option]:hover,.speaker-popover [role=option]:focus,.speaker-popover-actions button:hover{background:#f0e8f1}.speaker-popover-actions{padding-top:.35rem;border-top:1px solid #e4dde5}.speaker-manager-dialog{width:min(94vw,760px);max-height:88vh;padding:0;border:0;border-radius:1rem;box-shadow:0 25px 75px rgba(35,26,38,.34)}.speaker-manager-dialog::backdrop{background:rgba(28,21,31,.58)}.speaker-manager-body{padding:1.2rem;overflow:auto}.speaker-manager-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.4fr) auto;align-items:end;gap:.75rem;padding:.75rem 0;border-bottom:1px solid #e5dfe6}.speaker-manager-row label{display:grid;gap:.3rem;font-weight:700}.inline-form{display:inline}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:899px){.transcript-studio-workspace{grid-template-columns:1fr}.transcript-studio-video{position:relative;top:auto}.transcript-studio-toolbar{top:0}.transcript-document-row{grid-template-columns:4.2rem minmax(7rem,9rem) minmax(0,1fr)}}
@media(max-width:640px){.transcript-studio-header,.transcript-studio-toolbar,.transcript-document-heading{align-items:flex-start;flex-direction:column}.transcript-save-tools{width:100%;flex-wrap:wrap}.transcript-document-row{grid-template-columns:4rem 1fr;gap:.35rem;padding:.85rem}.transcript-editable-text{grid-column:1/-1}.speaker-manager-row{grid-template-columns:1fr}}
/* Homepage Explore UUCF */
.explore-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.explore-card{--pathway-accent:#00796b;--pathway-icon-bg:#e5f4f1;--pathway-orb-bg:rgba(0,121,107,.13);min-height:184px;padding:1.2rem;border-color:color-mix(in srgb,var(--pathway-accent) 20%,var(--line));transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.explore-card>*{position:relative;z-index:1}.explore-card::after{background:var(--pathway-orb-bg);width:124px;height:124px;right:-34px;bottom:-39px}.explore-card .card-icon{color:var(--pathway-accent);background:var(--pathway-icon-bg)}.explore-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--pathway-accent) 48%,var(--line));box-shadow:0 13px 28px rgba(34,34,59,.1)}.explore-card:focus-visible{outline:3px solid var(--pathway-accent);outline-offset:3px}
.explore-card.accent-teal{--pathway-accent:#00796b;--pathway-icon-bg:#e2f3ef;--pathway-orb-bg:rgba(0,121,107,.14)}
.explore-card.accent-gold{--pathway-accent:#8a5a00;--pathway-icon-bg:#fff0c9;--pathway-orb-bg:repeating-linear-gradient(45deg,rgba(138,90,0,.16) 0 7px,rgba(138,90,0,.06) 7px 14px)}
.explore-card.accent-rose{--pathway-accent:#a33a6b;--pathway-icon-bg:#f8e4ed;--pathway-orb-bg:radial-gradient(circle at 7px 7px,rgba(163,58,107,.2) 0 3px,transparent 3.5px) 0 0/15px 15px,rgba(163,58,107,.06)}
.explore-card.accent-blue{--pathway-accent:#0067a5;--pathway-icon-bg:#e3f0f8;--pathway-orb-bg:radial-gradient(circle,transparent 42%,rgba(0,103,165,.18) 43% 53%,transparent 54%),rgba(0,103,165,.05)}
.explore-card.accent-green{--pathway-accent:#4f6f1e;--pathway-icon-bg:#edf3df;--pathway-orb-bg:repeating-linear-gradient(0deg,rgba(79,111,30,.15) 0 3px,transparent 3px 10px),rgba(79,111,30,.06)}
.explore-card.accent-orange{--pathway-accent:#b34a00;--pathway-icon-bg:#fce8dc;--pathway-orb-bg:conic-gradient(from 45deg,rgba(179,74,0,.18) 0 25%,rgba(179,74,0,.05) 0 50%,rgba(179,74,0,.18) 0 75%,rgba(179,74,0,.05) 0)}
.explore-card.accent-purple{--pathway-accent:#6f4a8e;--pathway-icon-bg:#eee5f4;--pathway-orb-bg:radial-gradient(circle,rgba(111,74,142,.08) 0 25%,rgba(111,74,142,.2) 26% 32%,transparent 33% 48%,rgba(111,74,142,.14) 49% 56%,transparent 57%)}
.explore-card.accent-coral{--pathway-accent:#475569;--pathway-icon-bg:#e9edf2;--pathway-orb-bg:repeating-linear-gradient(90deg,rgba(71,85,105,.17) 0 5px,rgba(71,85,105,.05) 5px 13px)}
@media(max-width:1050px){.explore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.explore-grid{grid-template-columns:1fr}.explore-card{min-height:166px}}
/* Community pages visual refresh */
.community-page-hero,.cafe-page>.page-hero,.calendar-page>.page-hero{position:relative;isolation:isolate;min-height:clamp(245px,30vw,350px);display:flex;align-items:center;overflow:hidden;background:#f7f0e7}.community-page-hero::before,.cafe-page>.page-hero::before,.calendar-page>.page-hero::before{content:"";position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;background-repeat:no-repeat}.community-page-hero::after,.cafe-page>.page-hero::after,.calendar-page>.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,253,248,.98) 0%,rgba(255,253,248,.9) 43%,rgba(255,253,248,.24) 78%)}
.community-page-hero>div,.cafe-page>.page-hero>*{position:relative;z-index:1}.community-page-hero h1,.cafe-page>.page-hero h1,.calendar-page>.page-hero h1{max-width:16ch}.community-page-hero p:last-child,.cafe-page>.page-hero p:last-child,.calendar-page>.page-hero p:last-child{max-width:54ch}
.connect-pathways{grid-template-columns:repeat(3,minmax(0,1fr))}.connect-pathways .pathway-card{--path-accent:#00796b;position:relative;isolation:isolate;min-height:180px;overflow:hidden;border:1px solid color-mix(in srgb,var(--path-accent) 28%,var(--line));background:#fff}.connect-pathways .pathway-card::after{content:"";position:absolute;z-index:-1;width:145px;height:145px;right:-38px;bottom:-45px;border-radius:48% 52% 58% 42%;background:var(--path-texture);opacity:.9;transform:rotate(-12deg)}
.connect-pathways .pathway-card:nth-child(1){--path-accent:#00796b;--path-texture:repeating-radial-gradient(circle,#cce9e4 0 5px,#e9f6f3 6px 13px)}.connect-pathways .pathway-card:nth-child(2){--path-accent:#a45140;--path-texture:repeating-linear-gradient(45deg,#f4d8cf 0 7px,#faeee9 7px 14px)}.connect-pathways .pathway-card:nth-child(3){--path-accent:#72558a;--path-texture:radial-gradient(circle,#d9cce5 2px,#f1ebf5 3px)}.connect-pathways .pathway-card:nth-child(4){--path-accent:#b27412;--path-texture:repeating-linear-gradient(90deg,#f7dfae 0 3px,#fff3d7 3px 11px)}.connect-pathways .pathway-card:nth-child(5){--path-accent:#397846;--path-texture:radial-gradient(ellipse,#cfe8d2 0 48%,#edf7ee 50%)}.connect-pathways .pathway-card:nth-child(6){--path-accent:#315f9a;--path-texture:repeating-linear-gradient(-35deg,#d8e5f5 0 2px,#eef4fb 2px 9px)}
.connect-pathways .pathway-card strong{color:var(--path-accent)}.connect-pathways .pathway-card:focus-visible,.club-card:focus-within{outline:3px solid var(--focus);outline-offset:4px}.community-card-grid{align-items:stretch}.community-list-section{display:grid;gap:1.4rem}
.club-card{--club-accent:#00796b;position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:245px;overflow:hidden;border-top:5px solid var(--club-accent)}.club-card::after{content:"";position:absolute;z-index:-1;width:155px;height:155px;right:-48px;bottom:-54px;border-radius:46% 54% 42% 58%;background:var(--club-texture);opacity:.88}.club-card-kicker{color:var(--club-accent);font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.club-card-link{margin-top:auto;padding-top:.8rem;color:var(--club-accent);font-weight:850}
.club-theme-books{--club-accent:#72558a;--club-texture:repeating-linear-gradient(12deg,#ded1e8 0 7px,#f2edf6 7px 14px)}.club-theme-fiber-arts{--club-accent:#a45140;--club-texture:repeating-radial-gradient(circle,#efcfc5 0 4px,#faebe6 5px 10px)}.club-theme-conversation{--club-accent:#315f9a;--club-texture:radial-gradient(ellipse,#ceddf0 0 35%,#eaf0f8 37%)}.club-theme-games{--club-accent:#b27412;--club-texture:conic-gradient(from 45deg,#f3d99d 0 25%,#fff0cd 0 50%,#e7c77d 0 75%,#fae7bb 0)}.club-theme-outdoors{--club-accent:#397846;--club-texture:repeating-linear-gradient(-35deg,#cfe6d2 0 3px,#edf6ee 3px 10px)}.club-theme-general{--club-accent:#00796b;--club-texture:repeating-radial-gradient(circle,#cce8e3 0 5px,#edf7f5 6px 13px)}
.club-detail-hero{position:relative;isolation:isolate;min-height:clamp(280px,38vw,430px);display:flex;align-items:end;overflow:hidden;background:#f7f0e7}.club-detail-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--club-hero-image) center/cover no-repeat}.club-detail-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,253,248,.97),rgba(255,253,248,.86) 48%,rgba(255,253,248,.2))}.club-detail-hero-copy{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:clamp(2rem,5vw,3.5rem) 0}.club-detail-hero-copy h1{max-width:15ch;margin:.15rem 0 .5rem}.club-detail-hero-copy p:last-child{max-width:52ch;font-size:1.08rem}
.club-detail-layout,.cafe-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.34fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}.club-detail-copy,.cafe-detail-copy{max-width:760px}.club-facts,.cafe-detail-layout .mini-list{display:grid;gap:1rem;padding:1.2rem;border:1px solid var(--line);border-top:6px solid var(--teal);border-radius:10px;background:#fffdf8;box-shadow:0 9px 24px rgba(34,34,59,.07)}.club-facts>div{display:grid;gap:.25rem;padding-top:.9rem;border-top:1px solid var(--line)}.club-facts span{color:#617080;font-size:.78rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.club-meetings-section{padding-top:1rem}.club-detail-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}
.cafe-detail-layout{grid-template-columns:minmax(0,1fr) minmax(245px,.32fr)}.cafe-detail-layout .mini-list{align-self:start}.cafe-detail-layout .mini-list a{border-radius:8px}.calendar-page .calendar-section{padding-top:clamp(1.5rem,4vw,3rem)}
@media(max-width:850px){.connect-pathways,.card-grid.three.community-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.club-detail-layout,.cafe-detail-layout{grid-template-columns:1fr}.club-facts,.cafe-detail-layout .mini-list{grid-row:auto}}
@media(max-width:580px){.community-page-hero,.cafe-page>.page-hero,.calendar-page>.page-hero{min-height:260px}.community-page-hero::after,.cafe-page>.page-hero::after,.calendar-page>.page-hero::after,.club-detail-hero::after{background:linear-gradient(90deg,rgba(255,253,248,.97),rgba(255,253,248,.74))}.connect-pathways,.card-grid.three.community-card-grid{grid-template-columns:1fr}.connect-pathways .pathway-card{min-height:155px}.club-detail-actions .button{width:100%}}
.cafe-page>.page-hero>* ,.calendar-page>.page-hero>*{width:min(1180px,calc(100% - 2rem));max-width:1180px!important;margin-left:auto;margin-right:auto;box-sizing:border-box}
.cafe-page>.page-hero>h1,.cafe-page>.page-hero>p,.calendar-page>.page-hero>h1,.calendar-page>.page-hero>p{padding-right:35%}
.community-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.club-card-link{display:inline-flex;align-self:flex-start;align-items:center;gap:.35rem}
@media(max-width:850px){.community-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cafe-page>.page-hero>h1,.cafe-page>.page-hero>p,.calendar-page>.page-hero>h1,.calendar-page>.page-hero>p{padding-right:18%}}@media(max-width:580px){.community-card-grid{grid-template-columns:1fr}.cafe-page>.page-hero>h1,.cafe-page>.page-hero>p,.calendar-page>.page-hero>h1,.calendar-page>.page-hero>p{padding-right:0}}


/* Unified public hero system */
.public-hero,
.public-detail-hero,
.service-detail-image-hero,
.event-detail-hero,
.club-detail-hero,
.governance-detail-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(280px, 30vw, 340px);
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: clamp(2.25rem, 4vw, 3.4rem) 1rem;
  background: #f7f0e7;
}
.public-hero::before,
.public-detail-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: var(--public-hero-image) 72% center / cover no-repeat;
  opacity: 1;
}
.public-hero::after,
.public-detail-hero::after,
.service-detail-image-hero::after,
.event-detail-hero::after,
.club-detail-hero::after,
.governance-detail-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255,253,248,.985) 0%, rgba(255,253,248,.93) 38%, rgba(255,253,248,.58) 58%, rgba(255,253,248,.12) 100%);
}
.public-hero > div,
.public-hero-copy,
.public-detail-hero > div {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  max-width: 1180px !important;
  min-height: 0;
  margin: 0 auto;
  display: grid;
  align-content: center;
}
.public-hero h1,
.public-detail-hero h1 {
  max-width: 16ch;
  margin: .15rem 0 .7rem;
  text-wrap: balance;
}
.public-hero p:not(.eyebrow),
.public-detail-hero p:not(.eyebrow) {
  max-width: 36rem;
  margin: 0;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
}
.visit-overview-hero { --public-hero-image: url("/static/img/uucf-visit-overview-hero-v2.771c3b595f99.webp"); }
.visit-hero { --public-hero-image: url("/static/img/uucf-plan-visit-hero-v2.f13bd92f29bf.webp"); }
.what-to-expect-hero { --public-hero-image: url("/static/img/uucf-what-to-expect-hero-v2.552111b65983.webp"); }
.faq-hero { --public-hero-image: url("/static/img/uucf-faq-hero-v2.9bfc83ed4e8b.webp"); }
.contact-hero { --public-hero-image: url("/static/img/uucf-contact-hero-v2.ac22d686b4fa.webp"); }
.sunday-services-hero { --public-hero-image: url("/static/img/uucf-services-upcoming-hero-v2.6a3064967b80.webp"); }
.services-archive-hero { --public-hero-image: url("/static/img/uucf-services-archive-hero-v2.a5cc82cddd4a.webp"); }
.about-hero { --public-hero-image: url("/static/img/uucf-about-hero-v2.143fec54427a.webp"); }
.organization-hero { --public-hero-image: url("/static/img/uucf-organization-hero-v2.d9d6ddbe1db2.webp"); }
.leadership-hero { --public-hero-image: url("/static/img/uucf-leadership-hero-v2.0ef1b6c8ab4a.webp"); }
.board-committees-hero { --public-hero-image: url("/static/img/uucf-board-committees-hero-v2.c78c178a413c.webp"); }
.vision-mission-hero { --public-hero-image: url("/static/img/uucf-mission-vision-hero-v2.98d36ac27182.webp"); }
.history-hero { --public-hero-image: url("/static/img/uucf-history-hero-v2.666f3f82539d.webp"); }
.welcoming-hero { --public-hero-image: url("/static/img/uucf-welcoming-hero-v2.c612ff98c32f.webp"); }
.donate-hero { --public-hero-image: url("/static/img/uucf-donate-hero-v2.3489aeaf80f2.webp"); }
.accessibility-hero { --public-hero-image: url("/static/img/uucf-accessibility-hero-v2.ebc12382e7cf.webp"); }
.privacy-hero { --public-hero-image: url("/static/img/uucf-privacy-hero-v2.7aa2a7fe08a2.webp"); }
.volunteer-list-hero { --public-hero-image: url("/static/img/uucf-volunteer-list-hero-v2.aec1f288edd8.webp"); }
.cafe-hero { --public-hero-image: url("/static/img/uucf-community-cafe-hero-background.73742ad1118f.webp"); }
.calendar-hero { --public-hero-image: url("/static/img/uucf-calendar-hero-background.6df26124ce06.webp"); }
.connect-page-hero { --public-hero-image: url("/static/img/uucf-connect-hero-background.babb610cc7fc.webp"); }
.clubs-page-hero { --public-hero-image: url("/static/img/uucf-clubs-hero-background.54b2c187e813.webp"); }
.events-list-page-hero { --public-hero-image: url("/static/img/uucf-events-list-hero-background.7b62de54f9cf.webp"); }
.public-detail-hero::before { background-image: var(--public-detail-image); }
.public-detail-hero .public-hero-copy { width: min(1180px, calc(100% - 2rem)); }
.service-detail-image-hero,
.event-detail-hero,
.club-detail-hero,
.governance-detail-hero { min-height: clamp(300px, 36vw, 390px); align-items: end; }
.service-detail-hero-copy,
.event-detail-hero-copy,
.club-detail-hero-copy,
.governance-detail-hero-copy { padding-block: clamp(2rem, 4vw, 3.25rem); }
@media (max-width: 700px) {
  .public-hero,
  .public-detail-hero,
  .service-detail-image-hero,
  .event-detail-hero,
  .club-detail-hero,
  .governance-detail-hero { min-height: 280px; padding-block: 2rem; }
  .public-hero::before,
  .public-detail-hero::before { background-position: 62% center; }
  .public-hero::after,
  .public-detail-hero::after,
  .service-detail-image-hero::after,
  .event-detail-hero::after,
  .club-detail-hero::after,
  .governance-detail-hero::after {
    background: linear-gradient(90deg, rgba(255,253,248,.985), rgba(255,253,248,.88) 62%, rgba(255,253,248,.5));
  }
}

.values-hero { position:relative; isolation:isolate; overflow:hidden; background:#f7f0e7; }
.values-hero::before { content:''; position:absolute; inset:0; z-index:-2; background:url("/static/img/uucf-values-hero-v2.5498eb1d4234.webp") 72% center/cover no-repeat; }
.values-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(255,253,248,.97),rgba(255,253,248,.78) 55%,rgba(255,253,248,.2)); }
