:where([data-etch-element="container"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  max-inline-size: var(--content-width, 1366px);
  align-self: center; margin-inline: auto;
}
:where([data-etch-element="flex-div"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
}
:where([data-etch-element="iframe"]) {
  inline-size: 100%;
  height: auto;
 aspect-ratio: 16/9;
}
:where([data-etch-element="section"]) {
  inline-size: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.site-header {
  
  padding-block: var(--space-s);
  padding-inline: var(--gutter);
  border-block-end: 1px solid var(--border-color-light);
  background-color: var(--bg-dark);
}
.site-header__inner {
  
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-s) var(--space-l);
}
.site-header__brand {
  
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  color: var(--text-light);
  text-decoration: none;
}
.site-header__logo {
  
  flex-shrink: 0;
  inline-size: 2rem;
  block-size: 2rem;
}
.site-header__logo-ridge {
  
  fill: var(--white);
}
.site-header__logo-sun {
  
  fill: var(--accent);
}
.site-header__brand-text {
  
  display: flex;
  flex-direction: column;
}
.site-header__name {
  
  font-family: var(--heading-font-family);
  font-size: var(--text-l);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.site-header__place {
  
  color: var(--text-light-muted);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.site-header__nav {
  
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-s) var(--space-l);
}
.site-header__menu {
  
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs) var(--space-l);
}
.site-header__link {
  
  color: var(--text-light);
  font-size: var(--text-s);
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s ease;
  &:hover {
    color: var(--accent);
  }
}
.site-header__lang {
  
  padding: 0;
  border: 0;
  background-color: transparent;
  color: var(--text-light-muted);
  font: inherit;
  font-size: var(--text-s);
  cursor: pointer;
  &:hover {
    color: var(--accent);
  }
  &:focus-visible {
    outline: 2px solid var(--focus-color);
    outline-offset: 4px;
  }
}
.site-footer {
  
  padding-block: var(--space-xxl) var(--space-l);
  padding-inline: var(--gutter);
  background-color: var(--bg-ultra-dark);
  color: var(--text-light-muted);
  --eyebrow-color: var(--accent);
}
.site-footer__inner {
  
  gap: var(--space-xxl);
}
.site-footer__top {
  
  display: grid;
  gap: var(--space-xl) var(--space-xxl);
  @media (width >= 62rem) {
    grid-template-columns: minmax(0, 22.5rem) auto;
    justify-content: space-between;
  }
}
.site-footer__about {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.site-footer__name {
  
  color: var(--text-light);
  font-family: var(--heading-font-family);
  font-size: var(--h4);
  font-weight: 600;
  line-height: 1.2;
}
.site-footer__text {
  
  color: var(--text-light-muted);
  font-size: var(--text-s);
}
.site-footer__nav {
  
  display: grid;
  gap: var(--space-l) var(--space-xxl);
  @media (width >= 40rem) {
    grid-template-columns: repeat(3, auto);
  }
}
.site-footer__group {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.eyebrow {
  
  color: var(--eyebrow-color, var(--primary));
  font-family: var(--text-font-family);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}
.site-footer__links {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}
.site-footer__link {
  
  color: var(--text-light);
  font-size: var(--text-s);
  text-decoration: none;
  transition: color 0.2s ease;
  &:hover {
    color: var(--accent);
  }
}
.site-footer__bottom {
  
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-s) var(--space-l);
  padding-block-start: var(--space-m);
  border-block-start: 1px solid var(--border-color-light);
  font-size: var(--text-s);
}
.site-footer__address {
  
  color: var(--text-light-muted);
}
.site-footer__legal {
  
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-s);
}
.site-footer__legal-link {
  
  color: var(--text-light-muted);
  text-decoration: none;
  &:hover {
    color: var(--text-light);
  }
}
.section-intro {
  
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-s);
  &[data-theme="dark"] {
    --eyebrow-color: var(--accent);
    --section-intro-heading-color: var(--text-light);
    --section-intro-text-color: var(--text-light-muted);
  }
}
.section-intro__heading {
  
  color: var(--section-intro-heading-color, var(--text-dark));
  text-wrap: balance;
}
.section-intro__text {
  
  max-inline-size: 40em;
  color: var(--section-intro-text-color, var(--text-dark-muted));
}
.text-link {
  
  display: inline-block;
  align-self: flex-start;
  padding-block-end: 0.125rem;
  border-block-end: 2px solid var(--text-link-line, currentColor);
  color: var(--text-link-color, var(--text-dark));
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
  &:hover {
    color: var(--text-link-hover, var(--primary));
  }
}
.page-intro {
  
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-m);
}
.page-intro__title {
  
  color: var(--text-dark);
  text-wrap: balance;
}
.page-intro__accent {
  
  color: var(--primary);
  font-style: italic;
  font-weight: 400;
}
.page-intro__text {
  
  color: var(--text-dark-muted);
}
.page-hero {
  
  --page-hero-title-color: var(--text-dark);
  --page-hero-accent-color: var(--primary);
  --page-hero-text-color: var(--text-dark-muted);
  --page-hero-rule-color: var(--primary);
  &[data-theme="dark"] {
    background-color: var(--bg-ultra-dark);
    --eyebrow-color: var(--accent);
    --page-hero-title-color: var(--text-light);
    --page-hero-accent-color: var(--accent);
    --page-hero-text-color: var(--text-light-muted);
    --page-hero-rule-color: var(--accent);
  }
}
.page-hero__inner {
  
  display: grid;
  gap: var(--space-xl) var(--space-xxl);
  @media (width >= 62rem) {
    grid-template-columns: var(--grid-2-1);
    align-items: end;
  }
}
.page-hero__intro {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.page-hero__title {
  
  color: var(--page-hero-title-color);
  text-wrap: balance;
}
.page-hero__accent {
  
  color: var(--page-hero-accent-color);
  font-style: italic;
  font-weight: 400;
}
.page-hero__aside {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-l);
}
.page-hero__text {
  
  color: var(--page-hero-text-color);
  font-size: var(--text-l);
}
.page-hero__quote {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.page-hero__blockquote {
  
  --blockquote-border-color: var(--page-hero-rule-color);
  --blockquote-text-color: var(--page-hero-title-color);
  --blockquote-text-font-size: var(--text-xl);
}
.page-hero__cite {
  
  padding-inline-start: var(--space-m);
  color: var(--page-hero-text-color);
  font-size: var(--text-s);
  font-weight: 600;
}
.feature-band {
  
  position: relative;
  overflow: hidden;
  background-color: var(--bg-dark);
  --eyebrow-color: var(--accent);
  --feature-band-heading-color: var(--text-light);
  --feature-band-accent-color: var(--text-light);
  --feature-band-text-color: var(--text-light-muted);
  --text-link-color: var(--white);
  --text-link-line: var(--accent);
  --text-link-hover: var(--accent);
  &[data-theme="light"] {
    background-color: var(--bg-light);
    --eyebrow-color: var(--primary);
    --feature-band-heading-color: var(--text-dark);
    --feature-band-accent-color: var(--primary);
    --feature-band-text-color: var(--text-dark-muted);
    --text-link-color: var(--text-dark);
    --text-link-line: var(--text-dark);
    --text-link-hover: var(--primary);
  }
  &[data-style="quote"] {
    --feature-band-heading-size: var(--h2);
    --feature-band-heading-weight: 400;
    --feature-band-heading-style: italic;
    --feature-band-heading-leading: 1.35;
  }
  &[data-style="statement"] {
    --feature-band-heading-size: var(--h3);
    --feature-band-heading-weight: 400;
    --feature-band-heading-leading: 1.4;
  }
  &[data-ridge="yes"] {
    --feature-band-ridge-space: clamp(3rem, 8vw, 7rem);
  }
}
.feature-band__inner {
  
  position: relative;
  z-index: 1;
  align-items: center;
  gap: var(--space-m);
  padding-block-end: var(--feature-band-ridge-space, 0);
  text-align: center;
}
.feature-band__heading {
  
  max-inline-size: 60rem;
  color: var(--feature-band-heading-color);
  font-size: var(--feature-band-heading-size, var(--h1));
  font-style: var(--feature-band-heading-style, normal);
  font-weight: var(--feature-band-heading-weight, var(--heading-weight));
  line-height: var(--feature-band-heading-leading, var(--heading-line-height));
  text-wrap: balance;
}
.feature-band__accent {
  
  color: var(--feature-band-accent-color);
  font-style: italic;
  font-weight: 400;
}
.feature-band__text {
  
  max-inline-size: 40em;
  color: var(--feature-band-text-color);
}
.feature-band__ridge {
  
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  inline-size: 100%;
  block-size: clamp(4rem, 11vw, 10rem);
  pointer-events: none;
}
.feature-band__ridge-path {
  
  fill: var(--primary-dark);
}
.cta-bar {
  
  background-color: var(--bg-light);
}
.cta-bar__inner {
  
  gap: var(--space-l);
  @media (width >= 48rem) {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.cta-bar__copy {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.cta-bar__heading {
  
  color: var(--text-dark);
  font-size: var(--h3);
  text-wrap: balance;
}
.cta-bar__text {
  
  color: var(--text-dark-muted);
}
.cta-bar__actions {
  
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  gap: var(--space-m);
}
.visit-cta {
  
  &[data-theme="light"] {
    background-color: var(--bg-light);
    --visit-cta-map-color: color-mix(in oklch, var(--primary) 9%, var(--white));
  }
}
.visit-cta__inner {
  
  display: grid;
  gap: var(--space-xl) var(--space-xxl);
  @media (width >= 62rem) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 32.5rem);
  }
}
.visit-cta__content {
  
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-m);
}
.visit-cta__heading {
  
  color: var(--text-dark);
  text-wrap: balance;
}
.visit-cta__text {
  
  max-inline-size: 34em;
  color: var(--text-dark-muted);
}
.visit-cta__details {
  
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-m) var(--space-xl);
  padding-block: var(--space-xs);
}
.visit-cta__detail {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.visit-cta__label {
  
  --eyebrow-color: var(--text-dark-muted);
}
.visit-cta__value {
  
  display: flex;
  flex-direction: column;
  color: var(--text-dark);
  font-weight: 500;
}
.visit-cta__link {
  
  color: var(--text-dark);
  text-decoration: none;
  &:hover {
    color: var(--primary);
  }
}
.visit-cta__map {
  
  position: relative;
  display: grid;
  place-items: center;
  min-block-size: 20rem;
  overflow: hidden;
  border-radius: var(--radius);
  background-color: var(--visit-cta-map-color, var(--bg-light));
  text-decoration: none;
}
.visit-cta__roads {
  
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
}
.visit-cta__road {
  
  fill: none;
  stroke: var(--white);
}
.visit-cta__pin {
  
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
}
.visit-cta__pin-icon {
  
  inline-size: 2.25rem;
  block-size: 2.875rem;
}
.visit-cta__pin-shape {
  
  fill: var(--primary);
}
.visit-cta__pin-dot {
  
  fill: var(--accent);
}
.visit-cta__pin-label {
  
  padding-block: var(--space-xs);
  padding-inline: var(--space-s);
  border-radius: 999px;
  background-color: var(--white);
  color: var(--text-dark);
  font-size: var(--text-s);
  font-weight: 600;
}
.meeting-row {
  
  border-block-end: 1px solid var(--border-color-dark);
}
.meeting-row__link {
  
  display: grid;
  align-items: baseline;
  gap: var(--space-xs) var(--space-l);
  padding-block: var(--space-m);
  color: var(--text-dark);
  text-decoration: none;
  transition: color 0.2s ease;
  @media (width >= 48rem) {
    grid-template-columns: 12.5rem minmax(0, 1fr) auto;
  }
  &:hover {
    color: var(--primary);
    --meeting-row-arrow-shift: var(--space-xs);
  }
}
.meeting-row__body {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.meeting-row__title {
  
  color: inherit;
  font-size: var(--h3);
}
.meeting-row__text {
  
  color: var(--text-dark-muted);
}
.meeting-row__arrow {
  
  display: none;
  font-size: var(--text-xl);
  line-height: 1;
  translate: var(--meeting-row-arrow-shift, 0) 0;
  transition: translate 0.2s ease;
  @media (width >= 48rem) {
    display: block;
  }
}
.announcement-row {
  
  display: grid;
  align-items: baseline;
  gap: var(--space-xs) var(--space-l);
  padding-block: var(--space-m);
  border-block-end: 1px solid var(--border-color-dark);
  @media (width >= 48rem) {
    grid-template-columns: 6rem minmax(0, 1fr);
  }
}
.announcement-row__date {
  
  display: flex;
  align-items: baseline;
  gap: var(--space-xs);
  @media (width >= 48rem) {
    flex-direction: column;
    gap: 0;
  }
}
.announcement-row__day {
  
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: var(--h2);
  font-weight: 600;
  line-height: 1.1;
}
.announcement-row__month {
  
  --eyebrow-color: var(--text-dark-muted);
}
.announcement-row__body {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.announcement-row__title {
  
  color: var(--text-dark);
  font-size: var(--h4);
}
.announcement-row__text {
  
  color: var(--text-dark-muted);
}
.info-card {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  padding-block-start: var(--space-m);
  border-block-start: 3px solid var(--info-card-accent, var(--primary));
  &[data-accent="accent"] {
    --info-card-accent: var(--accent);
    --eyebrow-color: var(--text-dark-muted);
  }
}
.info-card__number {
  
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: var(--h1);
  font-weight: 300;
  line-height: 1;
}
.info-card__title {
  
  color: var(--text-dark);
  font-size: var(--h3);
}
.info-card__text {
  
  color: var(--text-dark-muted);
}
.info-card__link {
  
  align-self: flex-start;
  margin-block-start: auto;
  color: var(--primary);
  font-size: var(--text-s);
  font-weight: 600;
  text-decoration: none;
  &:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
  }
}
.numbered-item {
  
  display: flex;
  gap: var(--space-l);
  padding-block: var(--space-m);
  border-block-end: 1px solid var(--border-color-dark);
  --numbered-item-number-size: var(--h2);
  --numbered-item-number-width: 4.5rem;
  --numbered-item-text-size: var(--h4);
  &[data-size="m"] {
    --numbered-item-number-size: var(--h3);
    --numbered-item-number-width: 3rem;
    --numbered-item-text-size: var(--text-xl);
  }
  &[data-size="s"] {
    gap: var(--space-m);
    padding-block: var(--space-s);
    --numbered-item-number-size: var(--text-l);
    --numbered-item-number-width: 2rem;
    --numbered-item-text-size: var(--text-m);
    --numbered-item-text-family: var(--text-font-family);
    --numbered-item-text-weight: 400;
  }
}
.numbered-item__number {
  
  flex-shrink: 0;
  inline-size: var(--numbered-item-number-width);
  color: var(--primary);
  font-family: var(--heading-font-family);
  font-size: var(--numbered-item-number-size);
  font-weight: 300;
  line-height: 1.1;
}
.numbered-item__body {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.numbered-item__text {
  
  color: var(--text-dark);
  font-family: var(--numbered-item-text-family, var(--heading-font-family));
  font-size: var(--numbered-item-text-size);
  font-weight: var(--numbered-item-text-weight, 500);
  line-height: 1.45;
}
.numbered-item__refs {
  
  color: var(--text-dark-muted);
  font-size: var(--text-s);
  font-weight: 600;
  letter-spacing: 0.04em;
}
.faq-item {
  
  border-block-end: 1px solid var(--border-color-dark);
}
.faq-item__details {
  
  &[open] {
    --faq-item-question-color: var(--primary);
    --faq-item-icon-turn: 0deg;
  }
}
.faq-item__question {
  
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-m);
  padding-block: var(--space-m);
  color: var(--faq-item-question-color, var(--text-dark));
  font-family: var(--heading-font-family);
  font-size: var(--h4);
  font-weight: 600;
  line-height: 1.3;
  list-style: none;
  cursor: pointer;
  transition: color 0.2s ease;
  &::-webkit-details-marker {
    display: none;
  }
  &:hover {
    color: var(--primary);
  }
  &:focus-visible {
    outline: 2px solid var(--focus-color);
    outline-offset: 4px;
  }
}
.faq-item__icon {
  
  --empty-element-size: 0;
  position: relative;
  flex-shrink: 0;
  inline-size: 1rem;
  block-size: 1rem;
  &::before,
  &::after {
    content: "";
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 0;
    inline-size: 100%;
    block-size: 2px;
    background-color: currentColor;
    translate: 0 -50%;
    transition: rotate 0.2s ease;
  }
  &::after {
    rotate: var(--faq-item-icon-turn, 90deg);
  }
}
.faq-item__answer {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
  max-inline-size: 40em;
  padding-block-end: var(--space-m);
  color: var(--text-dark-muted);
}
.verse-item {
  
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-s);
  padding-block: var(--space-s);
  border-block-start: 1px solid var(--border-color-light);
}
.verse-item__phrase {
  
  color: var(--text-light);
  font-family: var(--heading-font-family);
  font-size: var(--text-xl);
  font-style: italic;
  line-height: 1.35;
}
.verse-item__ref {
  
  flex-shrink: 0;
  color: var(--accent);
  font-size: var(--text-xs);
  font-weight: 600;
}
.schedule-card {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  padding: var(--space-xl);
  border-radius: var(--radius);
  background-color: var(--white);
}
.schedule-card__title {
  
  color: var(--text-dark);
  font-size: var(--h3);
}
.schedule-card__text {
  
  color: var(--text-dark-muted);
}
.schedule-card__rows {
  
  border-block-start: 1px solid var(--border-color-dark);
}
.schedule-card__row {
  
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-xs) var(--space-m);
  padding-block: var(--space-s);
  border-block-end: 1px solid var(--border-color-dark);
  font-size: var(--text-s);
}
.schedule-card__label {
  
  color: var(--text-dark);
  font-weight: 600;
}
.schedule-card__detail {
  
  color: var(--text-dark-muted);
}
.schedule-card__note {
  
  color: var(--text-dark-muted);
  font-size: var(--text-xs);
}
.stat-item {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  &[data-accent="yes"] {
    --stat-item-value-color: var(--accent);
  }
}
.stat-item__value {
  
  color: var(--stat-item-value-color, var(--text-light));
  font-family: var(--heading-font-family);
  font-size: var(--h1);
  font-weight: 300;
  line-height: 1;
}
.stat-item__label {
  
  color: var(--text-light-muted);
}
.person-item {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding-block-start: var(--space-m);
  border-block-start: 1px solid var(--border-color-dark);
}
.person-item__name {
  
  color: var(--text-dark);
  font-size: var(--h4);
}
.person-item__years {
  
  margin-inline-start: var(--space-xs);
  color: var(--text-dark-muted);
  font-family: var(--text-font-family);
  font-size: var(--text-s);
  font-weight: 400;
}
.person-item__text {
  
  color: var(--text-dark-muted);
}
.detail-row {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding-block: var(--space-m);
  border-block-end: 1px solid var(--border-color-dark);
}
.detail-row__label {
  
  --eyebrow-color: var(--text-dark-muted);
}
.detail-row__value {
  
  color: var(--text-dark);
  font-weight: 500;
  text-decoration: none;
  &:hover {
    color: var(--primary);
  }
}
.split-layout {
  
  display: grid;
  gap: var(--space-xl) var(--space-xxl);
  @media (width >= 62rem) {
    grid-template-columns: minmax(0, 25rem) minmax(0, 1fr);
    align-items: start;
  }
}
.ruled-list {
  
  display: flex;
  flex-direction: column;
  border-block-start: 1px solid var(--text-dark);
}
.ruled-list--narrow {
  
  inline-size: 100%;
  max-inline-size: 60rem;
  margin-inline: auto;
  border-block-start-color: var(--border-color-dark);
}
.card-grid {
  
  display: grid;
  gap: var(--grid-gap);
  @media (width >= 48rem) {
    grid-template-columns: var(--card-grid-columns, var(--grid-3));
  }
}
.card-grid--2 {
  
  --card-grid-columns: var(--grid-2);
}
.stack-list {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}
.verse-grid {
  
  display: grid;
  column-gap: var(--grid-gap);
  @media (width >= 40rem) {
    grid-template-columns: var(--grid-2);
  }
  @media (width >= 62rem) {
    grid-template-columns: var(--grid-3);
  }
}
.hero__inner {
  
  display: grid;
  align-items: center;
  gap: var(--space-xl) var(--space-xxl);
  @media (width >= 62rem) {
    grid-template-columns: var(--grid-2);
  }
}
.hero__content {
  
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-m);
}
.hero__title {
  
  color: var(--text-dark);
  text-wrap: balance;
}
.hero__accent {
  
  color: var(--primary);
  font-style: italic;
  font-weight: 400;
}
.hero__text {
  
  max-inline-size: 30em;
  color: var(--text-dark-muted);
  font-size: var(--text-l);
}
.hero__actions {
  
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-m);
  padding-block-start: var(--space-xs);
}
.hero__media {
  
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--radius);
  background-color: var(--bg-light);
  @media (width >= 62rem) {
    aspect-ratio: auto;
    block-size: 100%;
    min-block-size: 32.5rem;
  }
}
.hero__image {
  
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.meetings--tinted {
  
  background-color: var(--bg-light);
}
.families__inner {
  
  gap: var(--space-xxl);
}
.families__header {
  
  display: grid;
  align-items: end;
  gap: var(--space-m) var(--space-xl);
  @media (width >= 62rem) {
    grid-template-columns: minmax(0, 40rem) minmax(0, 23.75rem);
    justify-content: space-between;
  }
}
.families__quote {
  
  color: var(--text-dark-muted);
}
.announcements {
  
  background-color: var(--bg-light);
}
.story__inner {
  
  display: grid;
  align-items: center;
  gap: var(--space-xl) var(--space-xxl);
  @media (width >= 62rem) {
    grid-template-columns: var(--grid-2);
  }
}
.story__media {
  
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--radius);
  background-color: var(--bg-light);
}
.story__image {
  
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.story__content {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.story__heading {
  
  color: var(--text-dark);
  text-wrap: balance;
}
.story__text {
  
  color: var(--text-dark-muted);
}
.stats-band {
  
  background-color: var(--bg-dark);
}
.small-groups {
  
  background-color: var(--bg-dark);
}
.small-groups__inner {
  
  gap: var(--space-xxl);
}
.small-groups__header {
  
  display: grid;
  align-items: end;
  gap: var(--space-m) var(--space-xl);
  @media (width >= 62rem) {
    grid-template-columns: minmax(0, 40rem) minmax(0, 26.25rem);
    justify-content: space-between;
  }
}
.small-groups__text {
  
  color: var(--text-light-muted);
}
.programs {
  
  background-color: var(--bg-light);
}
.contact {
  
  background-color: var(--bg-light);
}
.contact__aside {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}
.contact-form {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
  padding: var(--space-xl);
  border-radius: var(--radius);
  background-color: var(--white);
}
.contact-form__title {
  
  color: var(--text-dark);
  font-size: var(--h3);
}
.contact-form__row {
  
  display: grid;
  gap: var(--space-m);
  @media (width >= 40rem) {
    grid-template-columns: var(--grid-2);
  }
}
.contact-form__field {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}
.contact-form__group {
  
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  min-inline-size: 0;
  padding: 0;
  border: 0;
}
.contact-form__label {
  
  padding: 0;
  color: var(--text-dark);
  font-size: var(--text-s);
  font-weight: 600;
}
.contact-form__input {
  
  inline-size: 100%;
  min-block-size: 3.25rem;
  padding-block: var(--space-xs);
  padding-inline: var(--space-s);
  border: 1px solid var(--border-color-dark);
  border-radius: var(--radius);
  background-color: var(--white);
  color: var(--text-dark);
  &:focus-visible {
    border-color: var(--primary);
    outline: 2px solid var(--focus-color);
    outline-offset: 2px;
  }
}
.contact-form__input--textarea {
  
  min-block-size: 8.25rem;
  resize: vertical;
}
.contact-form__chips {
  
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}
.contact-form__chip {
  
  position: relative;
  display: inline-flex;
  cursor: pointer;
  &:has(:checked) {
    --contact-form-chip-bg: var(--primary);
    --contact-form-chip-border: var(--primary);
    --contact-form-chip-color: var(--white);
  }
  &:has(:focus-visible) {
    outline: 2px solid var(--focus-color);
    outline-offset: 2px;
    border-radius: 999px;
  }
}
.contact-form__chip-input {
  
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.contact-form__chip-text {
  
  padding-block: var(--space-xs);
  padding-inline: var(--space-s);
  border: 1px solid var(--contact-form-chip-border, var(--border-color-dark));
  border-radius: 999px;
  background-color: var(--contact-form-chip-bg, transparent);
  color: var(--contact-form-chip-color, var(--text-dark));
  font-size: var(--text-s);
  font-weight: 500;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.contact-form__submit {
  
  align-self: flex-start;
}
.lang-block {
  
  :root:not([data-lang="zh"]) &[data-show="zh-Hans"] {
    display: none;
  }
  :root[data-lang="zh"] &[data-show="en"] {
    display: none;
  }
}