/*!***************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/styles/main.scss ***!
  \***************************************************************************************************************/
@charset "UTF-8";
:root {
  --primary-medium-blue: #244562;
  --primary-light-blue: #678BA8;
  --neutral-light-blue-gray: #EBF2F8;
  --neutral-off-white: #F7F2EF;
  --accent-soft-gold: #E2BD7D;
  --accent-classic-gold: #D6AC65;
  --accent-deep-bronze: #C89743;
  --accent-text: #6D4D19;
  --accent-text-hover: #6D4D19;
  --darkened-primary-medium-blue-50: rgb(18, 34.5, 49);
  --color-white: #ffffff;
  --color-text-secondary: #5A7A94;
  --btn-primary-text: #2A2A2A;
  --btn-secondary-text: #9B6E27;
  --btn-disabled-bg: #E2D7CD;
  --btn-disabled-text: rgba(42, 42, 42, 0.4);
  --btn-secondary-disabled-text: rgba(155, 110, 39, 0.4);
  --btn-link-disabled-text: rgba(155, 110, 39, 0.4);
  --btn-toggle-border: rgba(31, 58, 78, 0.15);
  --overlay-dark: rgba(31, 58, 78, 0.7);
  --social-facebook: #1877F2;
  --input-error: #D0522F;
  --input-border: rgba(31, 58, 78, 0.15);
  --input-placeholder: rgba(31, 58, 78, 0.4);
  --input-disabled-text: rgba(6, 33, 53, 0.3);
}

.btn-link, .btn-link-mobile, .btn-secondary, .btn-secondary-mobile, .btn-primary, .btn-primary-mobile {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  font-family: Inter, sans-serif;
  user-select: none;
}
.btn-link:disabled, .btn-link-mobile:disabled, .btn-secondary:disabled, .btn-secondary-mobile:disabled, .btn-primary:disabled, .btn-primary-mobile:disabled {
  cursor: not-allowed;
}
.btn-link:not([data-text]):active, .btn-link-mobile:not([data-text]):active, .btn-secondary:not([data-text]):active, .btn-secondary-mobile:not([data-text]):active, .btn-primary:not([data-text]):active, .btn-primary-mobile:not([data-text]):active {
  text-shadow: 0 0 0.5px currentColor;
}
[data-text].btn-link, [data-text].btn-link-mobile, [data-text].btn-secondary, [data-text].btn-secondary-mobile, [data-text].btn-primary, [data-text].btn-primary-mobile {
  display: flex;
  flex-direction: column;
  gap: 0;
  justify-content: center;
  align-items: center;
}
[data-text].btn-link:after, [data-text].btn-link-mobile:after, [data-text].btn-secondary:after, [data-text].btn-secondary-mobile:after, [data-text].btn-primary:after, [data-text].btn-primary-mobile:after {
  content: attr(data-text);
  height: 0;
  min-height: 0;
  line-height: 0;
  padding: 0;
  margin: 0;
  white-space: pre;
  display: block;
  color: transparent;
  overflow: hidden;
  user-select: none;
  pointer-events: none;
  font-weight: 500;
}
@media speech {
  [data-text].btn-link:after, [data-text].btn-link-mobile:after, [data-text].btn-secondary:after, [data-text].btn-secondary-mobile:after, [data-text].btn-primary:after, [data-text].btn-primary-mobile:after {
    display: none;
  }
}
[data-text].btn-link:active, [data-text].btn-link-mobile:active, [data-text].btn-secondary:active, [data-text].btn-secondary-mobile:active, [data-text].btn-primary:active, [data-text].btn-primary-mobile:active {
  font-weight: 500;
}

.btn-primary, .btn-primary-mobile {
  padding: 10px 24px;
  background: var(--accent-soft-gold, #E2BD7D);
  border-radius: 8px;
  color: var(--btn-primary-text, #2A2A2A);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  gap: 10px;
}
.btn-primary:hover, .btn-primary-mobile:hover {
  background: var(--accent-classic-gold, #D6AC65);
}
.btn-primary:active, .btn-primary-mobile:active {
  background: var(--accent-deep-bronze, #C89743);
}
.btn-primary:disabled, .btn-primary-mobile:disabled {
  background: var(--btn-disabled-bg, #E2D7CD);
  color: var(--btn-disabled-text, rgba(42, 42, 42, 0.4));
}
.btn-primary--icon {
  gap: 8px;
}

.btn-secondary, .btn-secondary-mobile {
  padding: 10px 24px;
  background: transparent;
  border-radius: 8px;
  outline: 1px var(--accent-soft-gold, #E2BD7D) solid;
  outline-offset: -1px;
  color: var(--btn-secondary-text, #9B6E27);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  gap: 10px;
}
.btn-secondary:hover, .btn-secondary-mobile:hover {
  outline-color: var(--accent-classic-gold, #D6AC65);
  color: var(--accent-text, #6D4D19);
}
.btn-secondary:active, .btn-secondary-mobile:active {
  outline-color: var(--accent-deep-bronze, #C89743);
  color: var(--accent-text, #6D4D19);
}
.btn-secondary:disabled, .btn-secondary-mobile:disabled {
  outline-color: var(--btn-disabled-bg, #E2D7CD);
  color: var(--btn-secondary-disabled-text, rgba(155, 110, 39, 0.4));
}
.btn-secondary--icon {
  gap: 8px;
}

.btn-link, .btn-link-mobile {
  padding: 10px 0;
  background: transparent;
  border-radius: 6px;
  color: var(--btn-secondary-text, #9B6E27);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  gap: 10px;
}
.btn-link > a, .btn-link-mobile > a {
  text-decoration: none;
  color: inherit;
}
.btn-link:hover, .btn-link-mobile:hover {
  color: var(--accent-text-hover, #6D4D19);
}
.btn-link:active, .btn-link-mobile:active {
  color: var(--accent-text, #6D4D19);
}
.btn-link:disabled, .btn-link-mobile:disabled {
  color: var(--btn-link-disabled-text, rgba(155, 110, 39, 0.4));
}
.btn-link--icon {
  gap: 8px;
}

.btn-toggle-group {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
}
.btn-toggle-group .btn-toggle {
  padding: 10px 24px;
  background: transparent;
  border: 1px var(--btn-toggle-border, rgba(31, 58, 78, 0.15)) solid;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
  color: var(--primary-medium-blue, #244562);
  gap: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn-toggle-group .btn-toggle:first-child {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  border-right: none;
}
.btn-toggle-group .btn-toggle:last-child {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}
.btn-toggle-group .btn-toggle--active {
  background: var(--neutral-light-blue-gray, #EBF2F8);
  font-weight: 500;
}

.btn-toggle-group-3 {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
}
.btn-toggle-group-3:not(:has(.btn-toggle:hover)) .btn-toggle--active {
  background: var(--neutral-light-blue-gray, #EBF2F8);
}
.btn-toggle-group-3:not(:has(.btn-toggle:active)) .btn-toggle--active {
  font-weight: 500;
}
.btn-toggle-group-3 .btn-toggle {
  flex: 1 1 0;
  padding: 10px 24px;
  background: transparent;
  border: 1px var(--btn-toggle-border, rgba(31, 58, 78, 0.15)) solid;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
  color: var(--primary-medium-blue, #244562);
  gap: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn-toggle-group-3 .btn-toggle:first-child {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  border-right: none;
}
.btn-toggle-group-3 .btn-toggle:nth-child(2) {
  border-right: none;
}
.btn-toggle-group-3 .btn-toggle:last-child {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}
.btn-toggle-group-3 .btn-toggle:hover {
  background: var(--neutral-light-blue-gray, #EBF2F8);
}
.btn-toggle-group-3 .btn-toggle:active {
  background-color: var(--overlay-dark, rgba(31, 58, 78, 0.7));
  color: var(--darkened-primary-medium-blue-50, rgb(18, 34.5, 49));
  font-weight: 500;
}

.btn-toggle-group-icons {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
}
.btn-toggle-group-icons .btn-toggle-icon {
  padding: 10px 24px;
  background: transparent;
  border: 1px var(--btn-toggle-border, rgba(31, 58, 78, 0.15)) solid;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: center;
  color: var(--primary-medium-blue, #244562);
  gap: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn-toggle-group-icons .btn-toggle-icon:first-child {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  border-right: none;
}
.btn-toggle-group-icons .btn-toggle-icon:last-child {
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}
.btn-toggle-group-icons .btn-toggle-icon--active {
  background: var(--neutral-light-blue-gray, #EBF2F8);
  font-weight: 500;
}

@media (max-width: 768px) {
  .btn-primary, .btn-primary-mobile,
  .btn-secondary,
  .btn-secondary-mobile,
  .btn-link,
  .btn-link-mobile {
    font-size: 16px;
    line-height: 24px;
  }
  .btn-toggle-group .btn-toggle,
  .btn-toggle-group-3 .btn-toggle,
  .btn-toggle-group-icons .btn-toggle-icon {
    font-size: 16px;
    line-height: 24px;
  }
}
.btn-primary-mobile {
  font-size: 16px;
  line-height: 24px;
}

.btn-secondary-mobile {
  font-size: 16px;
  line-height: 24px;
}

.btn-link-mobile {
  font-size: 16px;
  line-height: 24px;
}

.calendar-grid {
  width: 100%;
  min-width: 0;
  display: block;
  height: 100%;
}
.calendar-grid__table {
  width: 100%;
  height: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  border: 1px solid #EBF2F8;
  background: #ffffff;
}
.calendar-grid__table thead tr th {
  padding: 12px 8px;
  border: 1px solid #EBF2F8;
  background: #F9FBFD;
  color: var(--primary-medium-blue, #244562);
  font: 500 14px/20px Inter, sans-serif;
  text-align: center;
}
.calendar-grid__table tbody tr .calendar-grid__cell {
  border: 1px solid #EBF2F8;
  padding: 10px 12px 8px 12px;
  vertical-align: top;
  text-align: center;
  color: var(--primary-medium-blue, #244562);
  box-sizing: border-box;
  background: #ffffff;
}
.calendar-grid__table tbody tr .calendar-grid__cell--outside {
  border-top: 1px solid var(--Neutral-Light-Blue-Gray, #EBF2F8);
  border-right: 1px solid var(--Neutral-Light-Blue-Gray, #EBF2F8);
  border-left: 1px solid var(--Neutral-Light-Blue-Gray, #EBF2F8);
  background: #FFF;
  color: var(--Neutral-Light-Blue-Gray, #EBF2F8);
}
.calendar-grid__table tbody tr .calendar-grid__cell--outside .calendar-grid__date,
.calendar-grid__table tbody tr .calendar-grid__cell--outside .calendar-grid__hebrew {
  color: rgba(31, 58, 78, 0.4);
}
.calendar-grid__table tbody tr .calendar-grid__cell--today {
  background: rgba(103, 139, 168, 0.18);
  box-shadow: inset 0 0 0 1px rgba(103, 139, 168, 0.45);
  border-radius: 4px;
}
.calendar-grid__table tbody tr .calendar-grid__cell .calendar-grid__date {
  display: block;
  font: 400 20px/31px Inter, sans-serif;
  margin-bottom: 6px;
}
.calendar-grid__table tbody tr .calendar-grid__cell .calendar-grid__hebrew {
  display: block;
  font: 400 12px/18px Inter, sans-serif;
  margin-bottom: 6px;
}
.calendar-grid__table tbody tr .calendar-grid__cell .calendar-grid__chips {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
}
.calendar-grid__table tbody tr .calendar-grid__cell .calendar-grid__chips .calendar-grid__chip {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 1 auto;
  min-width: 0;
  padding: 2px 10px;
  border-radius: 8px;
  background: #EBF2F8;
  color: var(--primary-medium-blue, #244562);
  font: 400 12px/16px Inter, sans-serif;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
  align-self: flex-start;
}
.calendar-grid__table tbody tr .calendar-grid__cell .calendar-grid__chips .calendar-grid__chip--secondary {
  background: #F7F2EF;
}
.calendar-grid__table tbody tr .calendar-grid__cell .calendar-grid__chips .calendar-grid__chip .calendar-grid__chip-text {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calendar-grid--max-chips-0 .calendar-grid__cell {
  height: calc(57px + 20px);
}
.calendar-grid--max-chips-0 .calendar-grid__cell--content {
  height: 57px;
}
.calendar-grid--max-chips-1 .calendar-grid__cell {
  height: calc(75px + 20px);
}
.calendar-grid--max-chips-1 .calendar-grid__cell--content {
  height: 75px;
}
.calendar-grid--max-chips-2 .calendar-grid__cell {
  height: calc(93px + 20px);
}
.calendar-grid--max-chips-2 .calendar-grid__cell--content {
  height: 93px;
}
.calendar-grid--max-chips-3 .calendar-grid__cell {
  height: calc(111px + 20px);
}
.calendar-grid--max-chips-3 .calendar-grid__cell--content {
  height: 111px;
}
.calendar-grid--max-chips-4 .calendar-grid__cell {
  height: calc(129px + 20px);
}
.calendar-grid--max-chips-4 .calendar-grid__cell--content {
  height: 129px;
}
.calendar-grid--max-chips-5 .calendar-grid__cell {
  height: calc(147px + 20px);
}
.calendar-grid--max-chips-5 .calendar-grid__cell--content {
  height: 147px;
}
.calendar-grid--max-chips-6 .calendar-grid__cell {
  height: calc(165px + 20px);
}
.calendar-grid--max-chips-6 .calendar-grid__cell--content {
  height: 165px;
}
.calendar-grid--max-chips-7 .calendar-grid__cell {
  height: calc(183px + 20px);
}
.calendar-grid--max-chips-7 .calendar-grid__cell--content {
  height: 183px;
}
.calendar-grid--max-chips-8 .calendar-grid__cell {
  height: calc(201px + 20px);
}
.calendar-grid--max-chips-8 .calendar-grid__cell--content {
  height: 201px;
}
.calendar-grid--max-chips-9 .calendar-grid__cell {
  height: calc(219px + 20px);
}
.calendar-grid--max-chips-9 .calendar-grid__cell--content {
  height: 219px;
}
.calendar-grid--max-chips-10 .calendar-grid__cell {
  height: calc(237px + 20px);
}
.calendar-grid--max-chips-10 .calendar-grid__cell--content {
  height: 237px;
}
.calendar-grid--max-chips-11 .calendar-grid__cell {
  height: calc(255px + 20px);
}
.calendar-grid--max-chips-11 .calendar-grid__cell--content {
  height: 255px;
}
.calendar-grid--max-chips-12 .calendar-grid__cell {
  height: calc(273px + 20px);
}
.calendar-grid--max-chips-12 .calendar-grid__cell--content {
  height: 273px;
}
.calendar-grid--max-chips-13 .calendar-grid__cell {
  height: calc(291px + 20px);
}
.calendar-grid--max-chips-13 .calendar-grid__cell--content {
  height: 291px;
}
.calendar-grid--max-chips-14 .calendar-grid__cell {
  height: calc(309px + 20px);
}
.calendar-grid--max-chips-14 .calendar-grid__cell--content {
  height: 309px;
}
.calendar-grid--max-chips-15 .calendar-grid__cell {
  height: calc(327px + 20px);
}
.calendar-grid--max-chips-15 .calendar-grid__cell--content {
  height: 327px;
}

@media (max-width: 834px) {
  .h1-display {
    color: var(--primary-medium-blue, #244562);
    font-size: 32px;
    font-family: Lora, serif;
    font-weight: 600;
    line-height: 41px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .h1-display {
    color: var(--primary-medium-blue, #244562);
    font-size: 52px;
    font-family: Lora, serif;
    font-weight: 600;
    line-height: 61px;
    word-wrap: break-word;
  }
}

@media (max-width: 834px) {
  .h2-display-small {
    color: var(--primary-medium-blue, #244562);
    font-size: 22px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 28px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .h2-display-small {
    color: var(--primary-medium-blue, #244562);
    font-size: 26px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 34px;
    word-wrap: break-word;
  }
}

@media (max-width: 834px) {
  .h3-subhead {
    color: var(--primary-medium-blue, #244562);
    font-size: 20px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 26px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .h3-subhead {
    color: var(--primary-medium-blue, #244562);
    font-size: 20px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 26px;
    word-wrap: break-word;
  }
}

@media (max-width: 834px) {
  .h4-head {
    color: var(--primary-medium-blue, #244562);
    font-size: 18px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 24px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .h4-head {
    color: var(--primary-medium-blue, #244562);
    font-size: 16px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 24px;
    word-wrap: break-word;
  }
}

@media (max-width: 834px) {
  .body-medium {
    color: var(--primary-medium-blue, #244562);
    font-size: 16px;
    font-family: Inter, sans-serif;
    font-weight: 500;
    line-height: 24px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .body-medium {
    color: var(--primary-medium-blue, #244562);
    font-size: 14px;
    font-family: Inter, sans-serif;
    font-weight: 500;
    line-height: 20px;
    word-wrap: break-word;
  }
}

@media (max-width: 834px) {
  .body-base {
    color: var(--primary-medium-blue, #244562);
    font-size: 16px;
    font-family: Inter, sans-serif;
    font-weight: 400;
    line-height: 24px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .body-base {
    color: var(--primary-medium-blue, #244562);
    font-size: 14px;
    font-family: Inter, sans-serif;
    font-weight: 400;
    line-height: 20px;
    word-wrap: break-word;
  }
}

@media (max-width: 834px) {
  .caption-small {
    color: var(--primary-medium-blue, #244562);
    font-size: 14px;
    font-family: Inter, sans-serif;
    font-weight: 400;
    line-height: 20px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .caption-small {
    color: var(--primary-medium-blue, #244562);
    font-size: 12px;
    font-family: Inter, sans-serif;
    font-weight: 400;
    line-height: 18px;
    word-wrap: break-word;
  }
}

.torah-section {
  width: 1192px;
  margin: 0 auto;
  position: relative;
  margin-bottom: 32px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 32px;
}
.torah-section .torah-weekly {
  width: 580px;
  padding-top: 24px;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 22px;
}
.torah-section .torah-weekly .torah-content {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
}
.torah-section .torah-weekly .torah-content .torah-title {
  align-self: stretch;
  display: inline-flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
}
.torah-section .torah-weekly .torah-content .torah-summary {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 12px;
}
.torah-section .torah-weekly .torah-content .torah-summary .torah-headline {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4px;
}
.torah-section .torah-weekly .torah-content .torah-summary .torah-date {
  align-self: stretch;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.torah-section .torah-weekly .torah-content .torah-summary .torah-date .icon-calendar {
  width: 20px;
  height: 20px;
  position: relative;
  overflow: hidden;
  stroke: var(--primary-medium-blue, #244562);
}
.torah-section .torah-weekly .torah-content .torah-summary .torah-date .torah-date__value {
  flex: 1 1 0;
}
.torah-section .torah-weekly .torah-actions {
  display: inline-flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
}
.torah-section .shabbat-times {
  width: 580px;
  padding-top: 24px;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
}
.torah-section .shabbat-times > div:first-child {
  align-self: stretch;
}
.torah-section .shabbat-times .shabbat-content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
}
.torah-section .shabbat-times .shabbat-content .shabbat-grid {
  display: inline-flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 58px;
}
.torah-section .shabbat-times .shabbat-content .shabbat-grid .shabbat-candles,
.torah-section .shabbat-times .shabbat-content .shabbat-grid .shabbat-havdalah {
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
}
.torah-section .shabbat-times .shabbat-content .shabbat-grid .shabbat-candles .shabbat-candles__list,
.torah-section .shabbat-times .shabbat-content .shabbat-grid .shabbat-candles .shabbat-havdalah__list,
.torah-section .shabbat-times .shabbat-content .shabbat-grid .shabbat-havdalah .shabbat-candles__list,
.torah-section .shabbat-times .shabbat-content .shabbat-grid .shabbat-havdalah .shabbat-havdalah__list {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 12px;
}
.torah-section .shabbat-times .shabbat-content .shabbat-grid .shabbat-candles .shabbat-havdalah__list,
.torah-section .shabbat-times .shabbat-content .shabbat-grid .shabbat-havdalah .shabbat-havdalah__list {
  gap: 4px;
}
.torah-section .shabbat-times .shabbat-content .HebcalCom {
  width: 245px;
}
@media (max-width: 834px) {
  .torah-section .shabbat-times .shabbat-content .HebcalCom {
    color: var(--primary-medium-blue, #244562);
    font-size: 14px;
    font-family: Inter, sans-serif;
    font-weight: 400;
    line-height: 20px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .torah-section .shabbat-times .shabbat-content .HebcalCom {
    color: var(--primary-medium-blue, #244562);
    font-size: 12px;
    font-family: Inter, sans-serif;
    font-weight: 400;
    line-height: 18px;
    word-wrap: break-word;
  }
}
.torah-section .shabbat-times .shabbat-content .HebcalCom {
  color: var(--color-text-secondary, #5A7A94);
}

.site-header {
  width: 100%;
  max-width: 1440px;
  padding: 16px 124px;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: 0;
  position: absolute;
  overflow: hidden;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 10px;
  box-sizing: border-box;
  z-index: 10;
}
.site-header .site-header__bar {
  align-self: stretch;
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
}
.site-header .site-header__bar .site-nav {
  width: 950px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 32px;
}
.site-header .site-header__bar .site-nav .site-logo {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4px;
}
.site-header .site-header__bar .site-nav .site-logo .logo-text {
  width: 85px;
  text-align: center;
  color: var(--accent-soft-gold, #E2BD7D);
  font-size: 17px;
  font-family: Lora, serif;
  font-weight: 700;
  text-transform: uppercase;
  word-wrap: break-word;
}
.site-header .site-header__bar .site-nav .site-menu {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 32px;
}
.site-header .site-header__bar .site-nav .site-menu > div {
  color: var(--accent-soft-gold, #E2BD7D);
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 20px;
  word-wrap: break-word;
}
.site-header .site-header__bar .site-nav .site-menu .site-menu__item {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}
.site-header .site-header__bar .site-nav .site-menu .site-menu__item > div {
  color: var(--accent-soft-gold, #E2BD7D);
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 20px;
  word-wrap: break-word;
}
.site-header .site-header__bar .site-nav .site-menu .site-menu__item.has-dropdown {
  align-items: flex-end;
}
.site-header .site-header__bar .site-nav .site-menu .site-menu__item .ChevronDown {
  width: 18px;
  height: 18px;
  position: relative;
  overflow: hidden;
}
.site-header .site-header__bar .site-nav .site-menu .site-menu__item .ChevronDown .icon-safearea {
  width: 15px;
  height: 15px;
  left: 1.5px;
  top: 1.5px;
  position: absolute;
}
.site-header .site-header__bar .site-nav .site-menu .site-menu__item .ChevronDown .icon-vector {
  width: 4px;
  height: 8px;
  transform: rotate(-90deg);
  transform-origin: top left;
  outline: 1.2px var(--accent-soft-gold, #E2BD7D) solid;
  outline-offset: -0.6px;
}
.site-header .site-header__bar .site-header__actions {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}
.site-header .site-header__bar .site-header__actions .action-hitbox {
  width: 44px;
  height: 44px;
}
.site-header .site-header__bar .site-header__actions .icon-search {
  width: 24px;
  height: 24px;
  position: relative;
  overflow: hidden;
}
.site-header .site-header__bar .site-header__actions .icon-search .icon-safearea {
  width: 20px;
  height: 20px;
  left: 2px;
  top: 2px;
  position: relative;
}
.site-header .site-header__bar .site-header__actions .icon-instagram,
.site-header .site-header__bar .site-header__actions .icon-facebook {
  width: 20px;
  height: 20px;
  position: relative;
}

.hero {
  --hero-padding-x: 124px;
  --hero-padding-y: 72px;
  --hero-min-height: 387px;
  --hero-bg: var(--neutral-off-white, #F7F2EF);
  --hero-text: var(--primary-medium-blue, #244562);
  --hero-divider-line: 37px;
  --hero-divider-bg: var(--hero-bg);
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  color: var(--hero-text);
  background: var(--hero-bg);
  overflow: hidden;
}

.hero-stack {
  position: relative;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
}

.hero-stack__header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  background: transparent !important;
  pointer-events: auto;
}

.hero__surface {
  position: relative;
  min-height: var(--hero-min-height);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--hero-padding-y) var(--hero-padding-x);
  box-sizing: border-box;
  text-align: center;
  z-index: 1;
}

.hero--with-header .hero__surface {
  padding-top: calc(var(--hero-padding-y) + 82px);
}

.hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__media-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(22, 23, 27, 0.85) 0%, rgba(22, 23, 27, 0.36) 100%);
  mix-blend-mode: multiply;
}

.hero__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: min(100%, 640px);
  z-index: 1;
}

.hero__title {
  margin: 0;
  font-family: Lora, serif;
  font-size: 52px;
  font-weight: 600;
  line-height: 61px;
  color: inherit;
}

.hero__subtitle {
  margin: 0;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: inherit;
  max-width: 563px;
}

.hero__cta {
  margin-top: 8px;
}

.hero__divider {
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin-top: 16px;
  position: relative;
}
.hero__divider .hero__divider-line {
  width: var(--hero-divider-line);
  height: 1px;
  background: var(--accent-soft-gold, #E2BD7D);
}
.hero__divider .hero__divider-diamond {
  width: 9px;
  height: 9px;
  border: 1px solid var(--accent-soft-gold, #E2BD7D);
  transform: rotate(45deg);
  background: var(--hero-divider-bg);
}

.hero__divider--single {
  width: 80px;
  justify-content: flex-start;
}
.hero__divider--single .hero__divider-line:first-child {
  width: 80px;
}
.hero__divider--single .hero__divider-line:last-child {
  display: none;
}
.hero__divider--single .hero__divider-diamond {
  position: absolute;
  left: 35px;
}

.hero__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 4px;
  color: inherit;
}
.hero__meta .hero__meta-row {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.hero__meta .hero__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: inherit;
}
.hero__meta .hero__meta-icon {
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
}
.hero__meta .hero__meta-icon img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  display: block;
}
.hero__meta .hero__meta-icon--calendar,
.hero__meta .hero__meta-icon--clock,
.hero__meta .hero__meta-icon--map-pin {
  background: var(--primary-medium-blue, #244562);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}
.hero__meta .hero__meta-icon--calendar img,
.hero__meta .hero__meta-icon--clock img,
.hero__meta .hero__meta-icon--map-pin img {
  display: none;
}
.hero__meta .hero__meta-icon--calendar {
  -webkit-mask-image: url(06f6b0da9bfddc4a423a.svg);
  mask-image: url(06f6b0da9bfddc4a423a.svg);
}
.hero__meta .hero__meta-icon--clock {
  -webkit-mask-image: url(3c17c90cc27c5d4a83cc.svg);
  mask-image: url(3c17c90cc27c5d4a83cc.svg);
}
.hero__meta .hero__meta-icon--map-pin {
  -webkit-mask-image: url(f5eb9f3c419cbcf4b23b.svg);
  mask-image: url(f5eb9f3c419cbcf4b23b.svg);
}
.hero__meta .hero__meta-text {
  color: inherit;
}
.hero__meta .hero__meta-separator {
  font-family: Inter, sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: inherit;
  opacity: 0.8;
}

.hero--main {
  --hero-bg: var(--primary-medium-blue, #244562);
  --hero-text: var(--neutral-off-white, #F7F2EF);
  --hero-divider-bg: transparent;
}

.hero--secondary {
  --hero-bg: var(--neutral-off-white, #F7F2EF);
  --hero-text: var(--primary-medium-blue, #244562);
}

.hero--tertiary {
  --hero-min-height: 200px;
  --hero-padding-y: 32px;
  --hero-divider-line: 80px;
}

.hero--info,
.hero--info-range {
  --hero-min-height: 200px;
  --hero-padding-y: 32px;
  --hero-divider-line: 80px;
}
.hero--info .hero__content,
.hero--info-range .hero__content {
  width: min(100%, 760px);
  gap: 10px;
}
.hero--info .hero__title,
.hero--info-range .hero__title {
  font-size: 26px;
  font-weight: 500;
  line-height: 34px;
}

@media (max-width: 1280px) {
  .hero {
    --hero-padding-x: 64px;
  }
}
@media (max-width: 1080px) {
  .hero {
    --hero-padding-x: 32px;
  }
}
@media (max-width: 768px) {
  .hero {
    --hero-padding-x: 16px;
    --hero-padding-y: 48px;
  }
  .hero__content {
    width: 100%;
  }
  .hero__title {
    font-size: 32px;
    line-height: 100%;
  }
  .hero__subtitle {
    font-size: 16px;
    line-height: 24px;
    max-width: none;
  }
  .hero--main .hero__cta,
  .hero--secondary .hero__cta {
    font-size: 16px;
    line-height: 24px;
    padding: 12px 24px;
  }
  .hero--info .hero__title,
  .hero--info-range .hero__title {
    font-size: 22px;
    line-height: 30px;
  }
  .hero--tertiary .hero__divider--single {
    width: auto;
    gap: 0;
  }
  .hero--tertiary .hero__divider--single .hero__divider-line {
    display: inline-block;
    width: 37px;
  }
  .hero--tertiary .hero__divider--single .hero__divider-diamond {
    position: static;
  }
}
.hero-section {
  width: 100%;
  height: 387px;
  position: relative;
  box-sizing: border-box;
  background: var(--primary-medium-blue, #244562);
  overflow: hidden;
}
.hero-section .hero-image {
  width: 1450.99px;
  height: 967px;
  left: -7px;
  top: -24px;
  position: relative;
}
.hero-section .hero-overlay {
  width: 1440px;
  height: 387px;
  left: 0;
  top: 0;
  position: absolute;
  background: linear-gradient(180deg, rgba(21.89, 22.65, 26.95, 0.85) 0%, rgba(22, 23, 27, 0.36) 100%);
  background-blend-mode: multiply;
}
.hero-section .signup-button {
  left: 610px;
  top: 264px;
  position: absolute;
  text-decoration: none;
}
.hero-section .signup-button > div {
  color: var(--btn-primary-text, #2A2A2A);
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 20px;
  word-wrap: break-word;
}
.hero-section .hero-text {
  width: 563px;
  left: 439px;
  top: 133px;
  position: absolute;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
}
.hero-section .hero-text .logo-text {
  text-align: center;
  color: var(--neutral-off-white, #F7F2EF);
  font-size: 52px;
  font-family: Lora, serif;
  font-weight: 600;
  line-height: 61px;
  word-wrap: break-word;
}
.hero-section .hero-text > div:last-child {
  align-self: stretch;
  text-align: center;
  color: var(--neutral-off-white, #F7F2EF);
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 20px;
  word-wrap: break-word;
}
.hero-section .hero-divider {
  width: 37px;
  height: 1px;
  position: absolute;
  top: 337px;
  background: var(--accent-soft-gold, #E2BD7D);
  left: 680px;
}
.hero-section .hero-divider.hero-divider--figure {
  top: 333px;
  height: 0;
  left: 716px;
}
.hero-section .hero-divider.hero-divider--right {
  left: 724px;
}
.hero-section .hero-topbar {
  width: 1440px;
  height: 98px;
  left: 0;
  top: 0;
  position: absolute;
}

.visual-divider {
  width: 1440px;
  height: 38px;
  left: 0;
  top: 56px;
  position: absolute;
}
.visual-divider .divider-line-left {
  width: 705px;
  height: 1px;
  left: 0;
  top: 19px;
  position: absolute;
  background: var(--accent-soft-gold, #E2BD7D);
}
.visual-divider .divider-figure {
  left: 705px;
  top: 4px;
  height: 0;
  position: absolute;
  background: var(--accent-soft-gold, #E2BD7D);
}
.visual-divider .divider-line-right {
  width: 705px;
  height: 1px;
  left: 735px;
  top: 19px;
  position: absolute;
  background: var(--accent-soft-gold, #E2BD7D);
}

.gallery-section {
  width: 1192px;
  margin: 0 auto;
  position: relative;
  padding: 16px 0 42px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.gallery-section[data-test-mode=true]::before {
  content: "⚠ Test Mode";
  display: block;
  background: #fef3cd;
  color: #856404;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 12px;
  margin-bottom: 8px;
}

.gallery-header {
  width: 100%;
  max-width: 1192px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.gallery-header__title {
  flex: 1 1 0;
}
@media (max-width: 834px) {
  .gallery-header__title {
    color: var(--primary-medium-blue, #244562);
    font-size: 20px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 26px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .gallery-header__title {
    color: var(--primary-medium-blue, #244562);
    font-size: 20px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 26px;
    word-wrap: break-word;
  }
}

.gallery-wrapper {
  width: 100%;
  max-width: 1192px;
  display: flex;
  justify-content: center;
}

.gallery-page {
  width: 1192px;
  margin: 0 auto;
  position: relative;
  padding: 0 0 64px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.gallery-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
}
.gallery-breadcrumb a {
  color: var(--btn-secondary-text, #9B6E27);
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-decoration: none;
}
.gallery-breadcrumb a:hover {
  color: var(--accent-text-hover, #6D4D19);
}
.gallery-breadcrumb span {
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
.gallery-breadcrumb span:nth-child(2) {
  color: var(--accent-soft-gold, #E2BD7D);
  font-weight: 500;
}
.gallery-breadcrumb span:last-child {
  color: rgba(31, 58, 78, 0.7);
}

.gallery-filters {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.gallery-filters__row {
  display: flex;
  align-items: center;
  gap: 24px;
}

.gallery-search {
  flex: 1;
  max-width: 816px;
  position: relative;
}
.gallery-search input {
  width: 100%;
  padding: 10px 48px 10px 24px;
  background: var(--color-white, #ffffff);
  border: none;
  border-radius: 8px;
  outline: 1px var(--btn-toggle-border, rgba(31, 58, 78, 0.15)) solid;
  outline-offset: -1px;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--primary-medium-blue, #244562);
}
.gallery-search input::placeholder {
  color: rgba(31, 58, 78, 0.4);
}
.gallery-search input:focus {
  outline-color: var(--primary-medium-blue, #244562);
}
.gallery-search svg {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  color: var(--primary-medium-blue, #244562);
  pointer-events: none;
}

.gallery-sort {
  display: flex;
  align-items: center;
  gap: 8px;
}
.gallery-sort > span {
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #000;
  white-space: nowrap;
}

.gallery-select {
  position: relative;
  min-width: 200px;
}
.gallery-select select {
  width: 100%;
  padding: 10px 40px 10px 24px;
  background: var(--color-white, #ffffff);
  border: none;
  border-radius: 8px;
  outline: 1px var(--btn-toggle-border, rgba(31, 58, 78, 0.15)) solid;
  outline-offset: -1px;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--primary-medium-blue, #244562);
  appearance: none;
  cursor: pointer;
}
.gallery-select select:focus {
  outline-color: var(--primary-medium-blue, #244562);
}
.gallery-select svg {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: var(--primary-medium-blue, #244562);
  pointer-events: none;
}

.gallery-filter-bar {
  display: flex;
  flex: 1;
}
.gallery-filter-bar .gallery-select {
  flex: 1;
  min-width: 0;
}
.gallery-filter-bar .gallery-select select {
  border-radius: 0;
}
.gallery-filter-bar .gallery-select--first select {
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}
.gallery-filter-bar .gallery-select--middle select {
  border-left: none;
}
.gallery-filter-bar__submit {
  border-radius: 0 8px 8px 0;
  white-space: nowrap;
}

.gallery-grid-strict {
  display: grid;
  grid-template-columns: repeat(3, 376px);
  grid-auto-rows: 240px;
  gap: 32px;
  margin-top: 16px;
  justify-content: center;
}
.gallery-grid-strict .gallery-cell {
  width: 100%;
  height: 100%;
  background: var(--primary-medium-blue, #244562);
}
.gallery-grid-strict .gallery-cell__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.gallery-grid-strict .gallery-cell--portrait .gallery-cell__img {
  object-fit: contain;
}

.gallery-cell {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  background: var(--neutral-light-blue-gray, #EBF2F8);
  cursor: pointer;
}
.gallery-cell:hover .gallery-cell__img {
  transform: scale(1.03);
}
.gallery-cell--album:hover .gallery-cell__overlay, .gallery-cell--video:hover .gallery-cell__overlay {
  opacity: 1;
}
.gallery-cell--video .gallery-cell__play {
  opacity: 1;
}
.gallery-cell--video:hover .gallery-cell__play {
  background: rgba(36, 69, 98, 0.9);
}

.gallery-cell__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
  border-radius: 8px;
}

.gallery-cell__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 2px 12px;
  background: var(--color-white, #ffffff);
  border-radius: 8px;
  font-family: Inter, sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
  color: var(--primary-medium-blue, #244562);
  z-index: 3;
}

.gallery-cell__play {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(36, 69, 98, 0.7);
  border-radius: 8px;
  z-index: 2;
  transition: background 0.3s ease;
}
.gallery-cell__play svg {
  width: 64px;
  height: 64px;
  color: var(--neutral-light-blue-gray, #EBF2F8);
}

.gallery-cell__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  background: rgba(36, 69, 98, 0.9);
  border-radius: 8px;
  z-index: 4;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.gallery-cell__title {
  color: var(--color-white, #ffffff);
  font-family: Lora, serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  margin-bottom: 16px;
}

.gallery-cell__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gallery-cell__date,
.gallery-cell__location {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-white, #ffffff);
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
.gallery-cell__date svg,
.gallery-cell__location svg {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.gallery-cell__location svg {
  width: 12px;
  height: 15px;
}

.gallery-load-more {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  flex-direction: column;
}
.gallery-lightbox[aria-hidden=true] {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: visibility 0s 0.3s, opacity 0.3s ease;
}
.gallery-lightbox[aria-hidden=false] {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: visibility 0s, opacity 0.3s ease;
}

.gallery-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 32, 49, 0.9);
  cursor: pointer;
}

.gallery-lightbox__close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 10;
}
.gallery-lightbox__close svg {
  width: 18px;
  height: 18px;
  color: var(--color-white, #ffffff);
}
.gallery-lightbox__close:hover svg {
  opacity: 0.7;
}

.gallery-lightbox__main {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 24px 24px 0;
  position: relative;
  z-index: 1;
}

.gallery-lightbox__nav {
  flex-shrink: 0;
  width: 32px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 4px solid var(--color-white, #ffffff);
  cursor: pointer;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
}
.gallery-lightbox__nav svg {
  width: 32px;
  height: 64px;
  color: var(--color-white, #ffffff);
}
.gallery-lightbox__nav:hover:not(:disabled) {
  opacity: 0.8;
}
.gallery-lightbox__nav:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.gallery-lightbox__content {
  flex: 1;
  max-width: calc(100% - 128px);
  max-height: calc(100vh - 220px);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.gallery-lightbox__image,
.gallery-lightbox__video {
  max-width: 100%;
  max-height: 100%;
  border-radius: 8px;
  box-shadow: 0 16px 32px -8px rgba(12, 12, 13, 0.4);
  object-fit: contain;
}
.gallery-lightbox__image[style*="display: none"],
.gallery-lightbox__video[style*="display: none"] {
  display: none;
}

.gallery-lightbox__video {
  background: #000;
}

.gallery-lightbox__info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 80px 16px 16px;
  background: linear-gradient(180deg, rgba(36, 69, 98, 0) 0%, rgba(36, 69, 98, 0.8) 100%);
  border-radius: 0 0 8px 8px;
  pointer-events: none;
}
.gallery-lightbox__info[style*="display: none"] {
  display: none;
}

.gallery-lightbox__title {
  color: var(--color-white, #ffffff);
  font-family: Lora, serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  margin-bottom: 8px;
}

.gallery-lightbox__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gallery-lightbox__date,
.gallery-lightbox__location {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--color-white, #ffffff);
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
.gallery-lightbox__date svg,
.gallery-lightbox__location svg {
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}
.gallery-lightbox__date[style*="display: none"],
.gallery-lightbox__location[style*="display: none"] {
  display: none;
}

.gallery-lightbox__location svg {
  width: 12px;
  height: 15px;
}

.gallery-lightbox__thumbs {
  display: flex;
  gap: 16px;
  padding: 16px 124px;
  overflow-x: auto;
  position: relative;
  z-index: 1;
}
.gallery-lightbox__thumbs::-webkit-scrollbar {
  height: 4px;
}
.gallery-lightbox__thumbs::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
}
.gallery-lightbox__thumbs::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 2px;
}

.gallery-lightbox__thumb {
  flex-shrink: 0;
  width: 126px;
  height: 81px;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 4px 4px -1px rgba(12, 12, 13, 0.05);
  transition: transform 0.2s ease;
}
.gallery-lightbox__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery-lightbox__thumb:hover {
  transform: translateY(-2px);
}
.gallery-lightbox__thumb.is-active {
  transform: scale(1.15);
  box-shadow: 0 8px 16px -4px rgba(12, 12, 13, 0.2);
}

@media (max-width: 1240px) {
  .gallery-section,
  .gallery-page {
    padding-left: 24px;
    padding-right: 24px;
    width: 100%;
  }
  .gallery-wrapper {
    overflow-x: auto;
    justify-content: flex-start;
  }
  .gallery-wrapper::after {
    content: "";
    flex: 0 0 24px;
  }
  .gallery-grid {
    min-width: max-content;
  }
  .gallery-lightbox__thumbs {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media (max-width: 1024px) {
  .gallery-grid-strict {
    grid-template-columns: repeat(2, 376px);
    grid-auto-rows: 240px;
    gap: 24px;
  }
  .gallery-filters__row {
    flex-wrap: wrap;
  }
  .gallery-search {
    max-width: 100%;
    flex: 1 1 100%;
  }
  .gallery-filter-bar {
    flex-wrap: wrap;
  }
  .gallery-filter-bar .gallery-select {
    flex: 1 1 calc(50% - 12px);
  }
  .gallery-filter-bar .gallery-select select {
    border-radius: 8px;
  }
  .gallery-filter-bar .gallery-select--middle select {
    border-left: 1px var(--btn-toggle-border, rgba(31, 58, 78, 0.15)) solid;
  }
  .gallery-filter-bar__submit {
    flex: 1 1 100%;
    border-radius: 8px;
    margin-top: 8px;
  }
}
@media (max-width: 768px) {
  .gallery-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .gallery-grid-strict {
    grid-template-columns: 376px;
    grid-auto-rows: 240px;
    gap: 16px;
    justify-content: center;
  }
  .gallery-filters__row {
    flex-direction: column;
    gap: 12px;
  }
  .gallery-sort {
    width: 100%;
  }
  .gallery-sort .gallery-select {
    flex: 1;
  }
  .gallery-filter-bar {
    width: 100%;
  }
  .gallery-filter-bar .gallery-select {
    flex: 1 1 100%;
  }
  .gallery-lightbox__nav {
    width: 24px;
    height: 48px;
  }
  .gallery-lightbox__nav svg {
    width: 24px;
    height: 48px;
  }
  .gallery-lightbox__thumb {
    width: 80px;
    height: 52px;
  }
  .gallery-lightbox__thumb.is-active {
    transform: scale(1.1);
  }
}
.gallery-cell.is-loading {
  background: linear-gradient(90deg, #d0dce5 25%, #e5ecf1 50%, #d0dce5 75%);
  background-size: 200% 100%;
  animation: gallery-shimmer 1.5s infinite;
}

@keyframes gallery-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@media print {
  .gallery-lightbox {
    display: none;
  }
  .gallery-cell__play,
  .gallery-cell__overlay {
    display: none;
  }
}
.events-section {
  width: 100%;
  padding: 16px 0;
  position: relative;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
  display: flex;
  background: var(--neutral-light-blue-gray, #EBF2F8);
}
.events-section .events-header {
  width: 1192px;
  margin: 0 auto;
  position: relative;
  align-self: stretch;
  justify-content: space-between;
  align-items: flex-end;
  display: inline-flex;
}
.events-section .events-calendar {
  width: 1192px;
  margin: 0 auto;
  position: relative;
  margin-bottom: 32px;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row;
  box-shadow: 0px 4px 4px -4px rgba(12, 12, 13, 0.05);
}
.events-section .events-calendar .calendar-panel__left {
  width: 596px;
  left: 0px;
  top: 0px;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  background: white;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 24px;
  display: inline-flex;
}
.events-section .events-calendar .calendar-panel__left .calendar-header {
  width: 596px;
  justify-content: space-between;
  align-items: center;
  display: inline-flex;
  flex-direction: row;
}
.events-section .events-calendar .calendar-panel__left .general-calendar-title {
  padding: 10px;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  display: inline-flex;
}
.events-section .events-calendar .calendar-panel__left .general-calendar-title .icon-calendar {
  width: 20px;
  height: 20px;
  stroke: var(--btn-secondary-text, #9B6E27);
  position: relative;
  overflow: hidden;
}
.events-section .events-calendar .calendar-panel__left .general-calendar-title {
  color: var(--btn-secondary-text, #9B6E27);
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 20px;
  word-wrap: break-word;
}
.events-section .events-calendar .calendar-panel__left .calendar-today {
  padding-left: 32px;
  padding-right: 32px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: inline-flex;
}
@media (max-width: 834px) {
  .events-section .events-calendar .calendar-panel__left .calendar-today__label {
    color: var(--primary-medium-blue, #244562);
    font-size: 18px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 24px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .events-section .events-calendar .calendar-panel__left .calendar-today__label {
    color: var(--primary-medium-blue, #244562);
    font-size: 16px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 24px;
    word-wrap: break-word;
  }
}
.events-section .events-calendar .calendar-panel__left .calendar-switcher {
  align-self: stretch;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
  display: flex;
  flex: 1;
}
.events-section .events-calendar .calendar-panel__left .calendar-switcher .btn-toggle-group {
  width: 532px;
}
.events-section .events-calendar .calendar-panel__left .calendar-switcher .btn-toggle-group .button-chip {
  flex: 1 1 0;
  padding: 10px 24px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: flex;
  border-top: 1px rgba(31, 58, 78, 0.15) solid;
  border-bottom: 1px rgba(31, 58, 78, 0.15) solid;
  border-right: 1px rgba(31, 58, 78, 0.15) solid;
}
.events-section .events-calendar .calendar-panel__left .calendar-switcher .calendar-body {
  width: 596px;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  display: flex;
  flex: 1;
}
.events-section .events-calendar .calendar-panel__left .calendar-switcher .calendar-body .calendar-grid-wrapper {
  width: 596px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  display: flex;
  flex: 1;
}
.events-section .events-calendar .calendar-panel__left .calendar-switcher .calendar-body .calendar-grid-wrapper .calendar-nav {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  width: 532px;
  flex-direction: row;
}
.events-section .events-calendar .calendar-panel__left .calendar-switcher .calendar-body .calendar-grid-wrapper .calendar-nav .calendar-month {
  display: flex;
  align-items: center;
  text-align: center;
}
.events-section .events-calendar .calendar-panel__left .calendar-switcher .calendar-body .calendar-grid-wrapper .calendar-nav .calendar-nav__chevron {
  width: 45.21px;
  height: 48px;
  border: 1px #EBF2F8 solid;
  cursor: pointer;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  background-image: url(28edaf91098cfc6577ca.svg);
  padding: 0;
  overflow: hidden;
}
.events-section .events-calendar .calendar-panel__left .calendar-switcher .calendar-body .calendar-grid-wrapper .calendar-nav .calendar-nav__chevron:hover {
  background: var(--neutral-light-blue-gray, #EBF2F8);
  background-image: url(28edaf91098cfc6577ca.svg);
}
.events-section .events-calendar .calendar-panel__left .calendar-switcher .calendar-body .calendar-grid-wrapper .calendar-nav .calendar-nav__chevron:active {
  background: var(--overlay-dark, rgba(31, 58, 78, 0.7));
  background-image: url(28edaf91098cfc6577ca.svg);
  background-size: calc(100% + 4px) calc(100% + 4px);
  background-position: -2px -2px;
  border-color: var(--overlay-dark, rgba(31, 58, 78, 0.7));
}
.events-section .events-calendar .calendar-panel__left .calendar-switcher .calendar-body .calendar-grid-wrapper .calendar-nav .calendar-nav__chevron--right {
  transform: rotate(180deg);
  transform-origin: center;
}
.events-section .events-calendar > .section-background {
  min-height: 768px;
  background: var(--primary-medium-blue, #244562);
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}

.events-panel__right {
  width: calc(100% - 596px);
  display: inline-flex;
  flex-direction: column;
  background: var(--primary-medium-blue, #244562);
  gap: 32px;
}
.events-panel__right > div:first-child {
  color: white;
  font-size: 16px;
  font-family: Lora, serif;
  font-weight: 500;
  line-height: 24px;
}
.events-panel__right .events-list {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 4px 0;
}
.events-panel__right .events-list .h4-head {
  color: white;
  padding: 32px 32px 0 32px;
}
.events-panel__right .events-list .news-card {
  width: 532px;
  padding: 0 32px 32px 32px;
  border-bottom: 1px #5A7A94 solid;
  display: inline-flex;
}
.events-panel__right .events-list .news-card:last-child {
  border-bottom: none;
}
.events-panel__right .events-list .news-card .event-card {
  width: 532px;
  display: inline-flex;
  flex-direction: column;
  gap: 16px;
}
.events-panel__right .events-list .news-card .event-card > div:first-child {
  color: white;
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 500;
  line-height: 20px;
}
.events-panel__right .events-list .news-card .event-card__body {
  width: 532px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: var(--color-white, #ffffff);
}
.events-panel__right .events-list .news-card .event-card__details {
  width: 532px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.events-panel__right .events-list .news-card .event-card__meta {
  align-self: stretch;
  display: inline-flex;
}
.events-panel__right .events-list .news-card .event-card__datetime {
  width: 290px;
  display: inline-flex;
  flex-direction: column;
  gap: 12px;
}
.events-panel__right .events-list .news-card .event-card__datetime-line {
  align-self: stretch;
  display: inline-flex;
  align-items: flex-end;
  gap: 10px;
}
.events-panel__right .events-list .news-card .event-card__datetime-line .icon-calendar svg {
  stroke: var(--color-white, #ffffff);
}
.events-panel__right .events-list .news-card .event-card__datetime-line .icon-calendar .icon-safearea .icon-vector {
  width: 15px;
  height: 15px;
  left: 0.83px;
  top: 0.83px;
  position: absolute;
  outline: 1.4px #EBF2F8 solid;
  outline-offset: -0.7px;
}
.events-panel__right .events-list .news-card .event-card__date-text {
  flex: 1 1 0;
  color: var(--neutral-light-blue-gray, #EBF2F8);
  font-size: 12px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 18px;
}
.events-panel__right .events-list .news-card .event-card__location {
  width: 242px;
  display: inline-flex;
  flex-direction: column;
  gap: 12px;
}
.events-panel__right .events-list .news-card .event-card__location-line {
  width: 262px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.events-panel__right .events-list .news-card .event-card__location-line .icon-map-pin {
  width: 20px;
  height: 20px;
  position: relative;
  overflow: hidden;
  stroke: var(--color-white, #ffffff);
}
.events-panel__right .events-list .news-card .event-card__address {
  flex: 1 1 0;
  color: var(--neutral-light-blue-gray, #EBF2F8);
  font-size: 12px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 18px;
}
.events-panel__right .events-list .news-card .event-card__footer {
  width: 532px;
  display: inline-flex;
  justify-content: space-between;
  align-items: flex-end;
}
.events-panel__right .events-list .news-card .event-card__footer > div:first-child {
  width: 452px;
  color: var(--color-white, #ffffff) !important;
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 20px;
}
.events-panel__right .events-list .news-card .event-card__footer > div:last-child {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: var(--accent-soft-gold, #E2BD7D);
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 20px;
}
.events-panel__right .events-list .news-card .event-card__footer > div:last-child a {
  color: var(--accent-soft-gold, #E2BD7D);
}

.footer-background {
  width: 100%;
  position: relative;
  background: var(--neutral-off-white, #F7F2EF);
}
.footer-background .visual-divider {
  height: 38px;
  top: -19px;
}
.footer-background .site-footer {
  width: 100%;
  padding: 0 124px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--primary-medium-blue, #244562);
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
}
.footer-background .site-footer a {
  color: inherit;
  text-decoration: none;
  font-weight: 500;
}
.footer-background .site-footer a:hover {
  text-decoration: none;
}
.footer-background .site-footer .footer-columns {
  align-self: stretch;
  padding: 32px 0;
  display: flex;
  gap: 32px;
}
.footer-background .site-footer .footer-links {
  width: 580px;
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
}
.footer-background .site-footer .footer-links .footer-menu {
  align-self: stretch;
  display: inline-flex;
  gap: 32px;
}
.footer-background .site-footer .footer-links .footer-menu__column {
  color: var(--btn-secondary-text, #9B6E27);
  line-height: 32px;
}
.footer-background .site-footer .footer-links .footer-menu__column:nth-child(1), .footer-background .site-footer .footer-links .footer-menu__column:nth-child(2) {
  width: 172px;
}
.footer-background .site-footer .footer-links .footer-menu__column:nth-child(2) {
  width: 173px;
}
.footer-background .site-footer .footer-side {
  display: flex;
  gap: 32px;
}
.footer-background .site-footer .footer-side .footer-columns {
  width: 274px;
  height: auto;
  padding: 0;
}
.footer-background .site-footer .footer-contacts {
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
}
.footer-background .site-footer .footer-contacts__title {
  font-family: Lora, serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}
.footer-background .site-footer .footer-contacts__list {
  width: 274px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.footer-background .site-footer .footer-contacts__address, .footer-background .site-footer .footer-contacts__hours {
  align-self: stretch;
  line-height: 24px;
}
.footer-background .site-footer .footer-contacts__phone, .footer-background .site-footer .footer-contacts__email {
  width: 172px;
  line-height: 32px;
}
.footer-background .site-footer .footer-social {
  width: 172px;
  display: inline-flex;
  flex-direction: column;
  gap: 12px;
}
.footer-background .site-footer .footer-social__title {
  font-family: Lora, serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}
.footer-background .site-footer .footer-social__icons {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}
.footer-background .site-footer .social-icon {
  width: 20px;
  height: 20px;
  position: relative;
}
.footer-background .site-footer .social-icon--instagram .icon-vector {
  width: 20px;
  height: 20px;
  left: 0;
  top: 0;
  position: absolute;
}
.footer-background .site-footer .social-icon--instagram .icon-vector:nth-child(1) {
  background: radial-gradient(ellipse 99.11% 92.18% at 26.56% 107.7%, #FFDD55 0%, #FFDD55 10%, #FF543E 50%, #C837AB 100%);
}
.footer-background .site-footer .social-icon--instagram .icon-vector:nth-child(2) {
  background: radial-gradient(ellipse 44.3% 182.61% at -16.75% 7.2%, #3771C8 0%, #3771C8 13%, rgba(102, 0, 255, 0) 100%);
}
.footer-background .site-footer .social-icon--facebook .icon-path {
  position: absolute;
  left: 0;
  top: 0;
}
.footer-background .site-footer .social-icon--facebook .icon-path:nth-child(1) {
  width: 20px;
  height: 19.88px;
  background: var(--social-facebook, #1877F2);
}
.footer-background .site-footer .social-icon--facebook .icon-path:nth-child(2) {
  width: 8.55px;
  height: 16.09px;
  left: 5.9px;
  top: 3.91px;
  background: white;
}
.footer-background .site-footer .footer-copyright {
  align-self: stretch;
  text-align: center;
  color: var(--color-text-secondary, #5A7A94);
  line-height: 20px;
}

.column-factory {
  width: 1192px;
  margin: 0 auto;
  position: relative;
  background: var(--color-white, #ffffff);
  border: 1px solid #ebf2f8;
  border-radius: 12px;
  padding: 32px 32px 24px;
  box-shadow: 0 6px 16px rgba(8, 15, 52, 0.06);
  display: grid;
  gap: 12px;
}
.column-factory__header {
  display: grid;
  gap: 4px;
}
.column-factory__title {
  margin: 0;
  color: var(--primary-medium-blue, #244562);
}
@media (max-width: 834px) {
  .column-factory__title {
    color: var(--primary-medium-blue, #244562);
    font-size: 20px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 26px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .column-factory__title {
    color: var(--primary-medium-blue, #244562);
    font-size: 20px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 26px;
    word-wrap: break-word;
  }
}
.column-factory__subtitle {
  margin: 0;
  color: var(--color-text-secondary, #5A7A94);
}
@media (max-width: 834px) {
  .column-factory__subtitle {
    color: var(--primary-medium-blue, #244562);
    font-size: 16px;
    font-family: Inter, sans-serif;
    font-weight: 500;
    line-height: 24px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .column-factory__subtitle {
    color: var(--primary-medium-blue, #244562);
    font-size: 14px;
    font-family: Inter, sans-serif;
    font-weight: 500;
    line-height: 20px;
    word-wrap: break-word;
  }
}
.column-factory__grid {
  column-gap: 32px;
  line-height: 1.7;
  color: var(--primary-medium-blue, #244562);
}
.column-factory__grid p {
  margin-top: 0;
  margin-bottom: 16px;
  break-inside: avoid;
}
.column-factory__grid--1-cols {
  column-count: 1;
}
.column-factory__grid--2-cols {
  column-count: 2;
}

@media (max-width: 960px) {
  .column-factory {
    padding: 24px;
  }
  .column-factory__grid {
    column-count: 1;
  }
}
/* Virtual Rabbi Widget Styles - Based on Figma Design */
#virtual-rabbi-widget {
  /* Main widget container - fixed position */
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 1000;
}

/* Hover Greeting Bubble */
.rabbi-hover-bubble {
  /* Speech bubble */
  position: absolute;
  right: 100px;
  bottom: -16px;
  width: 306px;
  min-height: 112px;
  opacity: 0;
  transform: translate3d(100px, 0, 0) scaleX(0.65) scaleY(0.92);
  transition: transform 0.56s cubic-bezier(0.24, 0.94, 0.32, 1.2), opacity 0.32s ease;
  pointer-events: none;
  will-change: transform, opacity;
  /* Bubble content wrapper */
}
.rabbi-hover-bubble__content {
  background: #244562;
  border-radius: 8px 8px 0 8px;
  box-shadow: 0px 16px 16px -8px rgba(12, 12, 13, 0.1), 0px 4px 4px -4px rgba(12, 12, 13, 0.05);
  padding: 1rem 1rem 1.5rem 1rem;
  position: relative;
  transform: translateX(-12px) scaleX(0.92);
  transition: transform 0.56s cubic-bezier(0.24, 0.94, 0.32, 1.2);
  /* Curved speech bubble tail */
}
.rabbi-hover-bubble__content::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  margin-right: -60px;
  width: 60px;
  height: 30px;
  background-image: radial-gradient(farthest-side circle at top right, transparent 30px, #244562 31px, #244562);
  background-position: 0% 100%, 100% 100%;
  background-size: 50.1% 100%;
  background-repeat: no-repeat;
}
.rabbi-hover-bubble__close {
  position: absolute;
  top: 8px;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  width: 18px;
  height: 18px;
}
.rabbi-hover-bubble__close:hover {
  opacity: 0.8;
}
.rabbi-hover-bubble__text {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: white;
  margin: 0;
  padding-right: 2rem;
  width: 252px;
  word-wrap: break-word;
}
.rabbi-hover-bubble {
  /* Show state - controlled by JS */
}
.rabbi-hover-bubble.show {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  pointer-events: auto;
}
.rabbi-hover-bubble.show .rabbi-hover-bubble__content {
  transform: translateX(0) scaleX(1);
}

/* Rabbi Dialog Window */
.rabbi-dialog {
  /* Dialog container - 376px × 500px */
  position: absolute;
  right: 100px;
  bottom: 0;
  width: 376px;
  height: 500px;
  background: white;
  border: 1px solid rgba(31, 58, 78, 0.15);
  border-radius: 8px;
  box-shadow: 0px 16px 16px -8px rgba(12, 12, 13, 0.1), 0px 4px 4px -4px rgba(12, 12, 13, 0.05);
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  display: flex;
  flex-direction: column;
}
.rabbi-dialog__header {
  /* Header - 71px tall with dark blue background */
  height: 71px;
  background: #244562;
  border-radius: 8px 8px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0 24px;
}
.rabbi-dialog__star {
  /* Star of David icon */
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 37px;
  height: 38px;
}
.rabbi-dialog__star svg {
  width: 100%;
  height: 100%;
}
.rabbi-dialog__star svg path {
  fill: #E2BD7D;
}
.rabbi-dialog__title {
  /* Title text */
  font-family: "Lora", serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  color: white;
  margin: 0;
}
.rabbi-dialog__close {
  /* Close button */
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rabbi-dialog__close:hover {
  opacity: 0.8;
}
.rabbi-dialog__greeting {
  /* Greeting section */
  padding: 16px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.rabbi-dialog__avatar {
  /* Avatar circle - mini version of rabbi button */
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  position: relative;
}
.rabbi-dialog__avatar-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #244562;
  box-shadow: 0px 4px 4px -2px rgba(12, 12, 13, 0.1), 0px 1px 1px -1px rgba(12, 12, 13, 0.05);
}
.rabbi-dialog__avatar-container {
  position: relative;
  width: 100%;
  height: 100%;
}
.rabbi-dialog__avatar-star {
  position: absolute;
  left: 50%;
  top: 20%;
  transform: translateX(-50%);
  width: 30%;
  height: auto;
}
.rabbi-dialog__avatar-star svg {
  width: 100%;
  height: auto;
}
.rabbi-dialog__avatar-star svg path {
  fill: #ffffff;
}
.rabbi-dialog__avatar-hand {
  position: absolute;
  top: 35%;
  width: 22%;
  height: auto;
}
.rabbi-dialog__avatar-hand svg {
  width: 100%;
  height: auto;
}
.rabbi-dialog__avatar-hand svg path {
  fill: #ffffff;
}
.rabbi-dialog__avatar-hand--left {
  left: 18%;
}
.rabbi-dialog__avatar-hand--right {
  right: 18%;
  transform: scaleX(-1);
}
.rabbi-dialog__greeting-bubble {
  /* Greeting text bubble */
  flex: 1;
  background: white;
  padding: 0;
}
.rabbi-dialog__greeting-text {
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #244562;
  margin: 0 0 8px 0;
}
.rabbi-dialog__greeting-text:last-child {
  margin-bottom: 0;
}
.rabbi-dialog__form {
  /* Form section */
  padding: 0 16px 16px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: flex-end;
}
.rabbi-dialog__tld-bypass {
  display: none;
  padding: 10px 12px;
  background: rgba(226, 189, 125, 0.1);
  border-radius: 4px;
  border: 1px solid #E2BD7D;
  animation: slideDown 0.3s ease;
}
.rabbi-dialog__tld-bypass.active {
  display: block;
}
.rabbi-dialog__tld-bypass .tld-bypass-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #6D4D19;
  margin: 0;
}
.rabbi-dialog__tld-bypass .tld-bypass-label input[type=checkbox] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  accent-color: #E2BD7D;
  margin: 0;
}
.rabbi-dialog__tld-bypass .tld-bypass-label .tld-bypass-text {
  flex: 1;
}
.rabbi-dialog__error {
  display: none;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  line-height: 20px;
  color: #D32F2F;
  padding: 8px 12px;
  background: rgba(211, 47, 47, 0.1);
  border-radius: 4px;
  animation: slideDown 0.3s ease;
}
.rabbi-dialog__error.active {
  display: block;
}
.rabbi-dialog__error.tld-warning {
  color: #6D4D19;
  background: rgba(226, 189, 125, 0.1);
  border: 1px solid #E2BD7D;
}
.rabbi-dialog__loading, .rabbi-dialog__success {
  position: absolute;
  inset: 0;
  background: white;
  display: none;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  z-index: 10;
}
.rabbi-dialog__loading.active, .rabbi-dialog__success.active {
  display: flex;
}
.rabbi-dialog__spinner {
  width: 60px;
  height: 60px;
  position: relative;
  border-radius: 50%;
  background: conic-gradient(#244562 0deg 80deg, transparent 80deg 180deg, #244562 180deg 260deg, transparent 260deg 360deg);
  mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px));
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 5px), #000 calc(100% - 4px));
  animation: spinner-rotate 1s linear infinite, fadeIn 0.3s ease;
}
.rabbi-dialog__success-icon {
  width: 60px;
  height: 60px;
  color: #4CAF50;
  animation: successPop 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.rabbi-dialog__success-icon svg {
  width: 100%;
  height: 100%;
}
.rabbi-dialog__success-icon svg circle {
  stroke-dasharray: 47;
  stroke-dashoffset: 47;
  animation: drawCircle 0.4s ease-out forwards;
}
.rabbi-dialog__success-icon svg path {
  stroke-dasharray: 14;
  stroke-dashoffset: 14;
  animation: drawCheck 0.3s ease-out 0.3s forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes spinner-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes successPop {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes drawCircle {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes drawCheck {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Virtual Rabbi Button (unchanged from original) */
#virtual-rabbi {
  position: relative;
  width: 80px;
  height: 80px;
  cursor: pointer;
  transition: transform 0.28s cubic-bezier(0.3, 0.7, 0.4, 1.3);
}
#virtual-rabbi::after {
  content: "";
  position: absolute;
  inset: 12% 8%;
  border-radius: 100%;
  background: rgba(255, 255, 255, 0.12);
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.48s cubic-bezier(0.45, 0.05, 0.55, 0.95), transform 0.48s cubic-bezier(0.45, 0.05, 0.55, 0.95);
  pointer-events: none;
}
#virtual-rabbi .container {
  position: absolute;
  inset: 0;
  z-index: 1001;
}
#virtual-rabbi .container > div {
  position: absolute;
  margin: 0;
}
#virtual-rabbi .container > div svg {
  width: 100%;
  height: auto;
}
#virtual-rabbi .container > div svg path {
  fill: #ffffff;
}
#virtual-rabbi .container .magen-david {
  left: 50%;
  top: 20%;
  transform: translateX(-50%);
  width: 30%;
  height: auto;
}
#virtual-rabbi .container .left-hand {
  left: 18%;
  top: 35%;
  width: 22%;
  height: auto;
}
#virtual-rabbi .container .right-hand {
  right: 18%;
  top: 35%;
  width: 22%;
  height: auto;
}
#virtual-rabbi .container .right-hand svg {
  transform: scaleX(-1);
}
#virtual-rabbi .ellipse {
  position: absolute;
  height: 80px;
  left: 0%;
  right: 0%;
  top: 0px;
  border-radius: 50%;
  box-shadow: 0px 16px 16px -8px rgba(12, 12, 13, 0.1), 0px 4px 4px -4px rgba(12, 12, 13, 0.05);
  background: #244562;
  z-index: 1000;
  transition: transform 0.28s cubic-bezier(0.3, 0.7, 0.4, 1.3);
}

/* Open state */
#virtual-rabbi-widget.is-open .rabbi-dialog {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
#virtual-rabbi-widget.is-open #virtual-rabbi {
  transform: translateY(6px) scale(0.94);
}
#virtual-rabbi-widget.is-open #virtual-rabbi .ellipse {
  transform: scale(0.95);
}
#virtual-rabbi-widget.is-open #virtual-rabbi::after {
  opacity: 1;
  transform: scale(1);
}

.dropdown {
  position: relative;
  display: inline-block;
  width: 100%;
}
.dropdown__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 10px 16px 10px 24px;
  background: var(--color-white, #ffffff);
  border: 1px solid var(--btn-toggle-border, rgba(31, 58, 78, 0.15));
  border-radius: 8px;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--primary-medium-blue, #244562);
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.dropdown__trigger:hover {
  border-color: rgba(31, 58, 78, 0.25);
}
.dropdown__trigger:focus {
  outline: none;
  border-color: var(--accent-soft-gold, #E2BD7D);
}
.dropdown__trigger[aria-expanded=true] {
  border-color: var(--accent-soft-gold, #E2BD7D);
}
.dropdown__trigger[aria-expanded=true] .dropdown__icon {
  transform: rotate(180deg);
}
.dropdown__trigger:disabled {
  background-color: var(--neutral-light-blue-gray, #EBF2F8);
  color: rgba(31, 58, 78, 0.4);
  cursor: not-allowed;
}
.dropdown__trigger:disabled .dropdown__icon {
  opacity: 0.4;
}
.dropdown__value {
  flex: 1;
  text-align: left;
}
.dropdown__icon {
  flex-shrink: 0;
  margin-left: 10px;
  width: 18px;
  height: 18px;
  color: var(--primary-medium-blue, #244562);
  transition: transform 0.2s ease;
}
.dropdown__list {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 1000;
  display: none;
  flex-direction: column;
  padding: 8px 0;
  margin: 0;
  list-style: none;
  background: var(--color-white, #ffffff);
  border: 1px solid var(--btn-toggle-border, rgba(31, 58, 78, 0.15));
  border-radius: 8px;
  box-shadow: 0px 4px 4px -4px rgba(12, 12, 13, 0.05), 0px 16px 32px -4px rgba(12, 12, 13, 0.1);
  max-height: 320px;
  overflow-y: auto;
}
.dropdown__list--open {
  display: flex;
}
.dropdown__item {
  padding: 10px 16px 10px 24px;
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: var(--primary-medium-blue, #244562);
  cursor: pointer;
  transition: background-color 0.15s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}
.dropdown__item:hover {
  background-color: rgba(36, 69, 98, 0.05);
}
.dropdown__item:focus {
  outline: none;
  background-color: rgba(36, 69, 98, 0.08);
}
.dropdown__item[aria-selected=true] {
  background-color: rgba(36, 69, 98, 0.1);
  font-weight: 500;
}
.dropdown__item--selected .dropdown__checkbox {
  background-color: var(--accent-soft-gold, #E2BD7D);
  border-color: var(--accent-soft-gold, #E2BD7D);
}
.dropdown__item--selected .dropdown__checkbox .dropdown__checkbox-icon {
  opacity: 1;
}
.dropdown__checkbox {
  width: 16px;
  height: 16px;
  border: 1.5px solid rgba(36, 69, 98, 0.3);
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background-color: var(--color-white, #ffffff);
  transition: all 0.2s ease;
}
.dropdown__checkbox-icon {
  width: 16px;
  height: 16px;
  color: var(--primary-medium-blue, #244562);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.dropdown__item-text {
  flex: 1;
}

.input,
.textarea {
  width: 100%;
  padding: 10px 24px;
  background: var(--color-white, #ffffff);
  border-radius: 8px;
  outline: 1px solid var(--input-border, rgba(31, 58, 78, 0.15));
  outline-offset: -1px;
  border: none;
  font-family: "Inter", sans-serif;
  font-weight: 400;
  color: var(--primary-medium-blue, #244562);
  transition: outline-color 0.2s ease;
  box-sizing: border-box;
  font-size: 14px;
  line-height: 20px;
}
.input::placeholder,
.textarea::placeholder {
  color: var(--input-placeholder, rgba(31, 58, 78, 0.4));
}
.input:focus,
.textarea:focus {
  outline: 1px solid var(--accent-soft-gold, #E2BD7D);
  outline-offset: -1px;
}
.input:disabled,
.textarea:disabled {
  background: var(--neutral-light-blue-gray, #EBF2F8);
  color: var(--input-disabled-text, rgba(6, 33, 53, 0.3));
  cursor: not-allowed;
}
.input:disabled::placeholder,
.textarea:disabled::placeholder {
  color: var(--input-disabled-text, rgba(6, 33, 53, 0.3));
}
.input.error,
.textarea.error {
  outline: 1px solid var(--input-error, #D0522F);
  outline-offset: -1px;
}

.input {
  height: 40px;
}

.textarea {
  min-height: 100px;
  resize: vertical;
  padding-top: 10px;
  padding-bottom: 10px;
}

.input-wrapper {
  position: relative;
  width: 100%;
}
.input-wrapper.error .input,
.input-wrapper.error .textarea {
  outline: 1px solid var(--input-error, #D0522F);
  outline-offset: -1px;
  padding-right: 48px;
}
.input-wrapper.error .input-error-icon {
  display: block;
}
.input-wrapper.error .input-error-icon svg path {
  fill: var(--input-error, #D0522F);
}
.input-wrapper.tld-warning .input,
.input-wrapper.tld-warning .textarea {
  outline: 1px solid var(--accent-soft-gold, #E2BD7D);
  outline-offset: -1px;
  padding-right: 48px;
}
.input-wrapper.tld-warning .input-error-icon {
  display: block;
}
.input-wrapper.tld-warning .input-error-icon svg path {
  fill: var(--accent-soft-gold, #E2BD7D);
}

.input-confirmed {
  width: 100%;
  padding: 12px 16px;
  background: var(--color-white, #ffffff);
  border-radius: 8px;
  outline: 1px solid var(--input-border, rgba(31, 58, 78, 0.15));
  outline-offset: -1px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.input-confirmed__text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.input-confirmed__label {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 16px;
  color: var(--input-placeholder, rgba(31, 58, 78, 0.4));
}

.input-confirmed__value {
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  color: var(--primary-medium-blue, #244562);
  word-break: break-word;
}

.input-confirmed__status img {
  width: 20px;
  height: 20px;
}

.input-error-icon {
  display: none;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 19px;
  height: 16px;
  pointer-events: none;
}
.input-error-icon svg {
  width: 100%;
  height: 100%;
}
.textarea-wrapper .input-error-icon {
  top: 20px;
  transform: none;
}

@media (max-width: 768px) {
  .input,
  .textarea {
    font-size: 16px;
    line-height: 24px;
  }
  .input-confirmed {
    padding: 12px 16px;
  }
  .input-confirmed__label {
    font-size: 13px;
    line-height: 18px;
  }
  .input-confirmed__value {
    font-size: 16px;
    line-height: 24px;
  }
  .input-error-icon {
    width: 25px;
    height: 22px;
  }
}
.card {
  background: #ffffff;
  box-shadow: 0px 4px 4px -1px rgba(12, 12, 13, 0.05);
  border-radius: 8px;
  outline: 1px #EBF2F8 solid;
  outline-offset: -1px;
  display: flex;
  overflow: hidden;
}
.card__image {
  width: 100%;
  height: 160px;
  object-fit: cover;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.card__image-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card__image-wrapper {
  position: relative;
  overflow: hidden;
}
.card__image-centered {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.card__image-avatar {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  object-fit: cover;
}
.card__body {
  background: #ffffff;
  display: flex;
  flex-direction: column;
}
.card__content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.card__meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.card__title {
  color: #244562;
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 500;
  line-height: 20px;
}
.card__title--large {
  font-size: 16px;
  font-family: Lora, serif;
  font-weight: 500;
  line-height: 24px;
}
.card__date {
  color: #5A7A94;
  font-size: 12px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 18px;
}
.card__date-range {
  color: #5A7A94;
  font-size: 12px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 18px;
}
.card__excerpt {
  color: #244562;
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 20px;
}
.card__actions {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
}
.card__actions--dual {
  gap: 24px;
}
.card__badge {
  padding: 2px 12px;
  background: #ffffff;
  border-radius: 8px;
  height: 22px;
  width: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card__badge div {
  color: #244562;
  font-size: 12px;
  font-family: Inter, sans-serif;
  font-weight: 500;
  line-height: 18px;
  width: 30px;
  height: 18px;
}
.card__info-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.card__info-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.card__icon {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card__icon svg {
  width: 100%;
  height: 100%;
}
.card__icon svg path {
  stroke: #244562;
}
.card__info-text {
  flex: 1;
  color: #244562;
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 20px;
}
.card__name {
  text-align: center;
  color: #244562;
  font-size: 20px;
  font-family: Lora, serif;
  font-weight: 500;
  line-height: 26px;
}
.card__divider {
  display: flex;
  justify-content: center;
  align-items: center;
}
.card__position {
  text-align: center;
  color: #C89743;
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 500;
  line-height: 20px;
}

.card--news {
  width: 320px;
  flex-direction: column;
  gap: 16px;
}
.card--news .card__image-wrapper {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  position: relative;
  width: 100%;
}
.card--news .card__image {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 160px;
}
.card--news .card__badge {
  grid-column: 1;
  grid-row: 1;
  margin-left: 16px;
  margin-top: 16px;
  align-self: start;
  justify-self: start;
  z-index: 1;
}
.card--news .card__body {
  padding: 0 16px 16px 16px;
  gap: 8px;
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
}
.card--news .card__content {
  height: 116px;
}

.card--education {
  width: 320px;
  flex-direction: column;
  gap: 16px;
}
.card--education .card__image-wrapper {
  width: 320px;
  height: 160px;
  background: #FDFBF5;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card--education .card__image-centered {
  max-width: 166px;
  max-height: 119px;
}
.card--education .card__body {
  padding: 0 16px 24px 16px;
  gap: 24px;
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 8px;
}
.card--education .card__content {
  gap: 16px;
}
.card--education .card__meta {
  gap: 8px;
}
.card--education .card__excerpt {
  height: 60px;
  overflow: hidden;
}

.card--leader {
  width: 320px;
  flex-direction: column;
  padding: 24px 32px 32px 32px;
  align-items: center;
  gap: 24px;
}
.card--leader .card__body {
  padding: 0;
  align-items: center;
  gap: 24px;
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
}
.card--leader .card__content {
  align-items: center;
  gap: 16px;
}
.card--leader .card__meta {
  align-items: center;
  gap: 12px;
}

.card--event {
  max-width: 1192px;
  width: 100%;
  flex-direction: row;
}
.card--event .card__image-wrapper {
  width: 580px;
  height: 292px;
  background: #D1DFE8;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  flex-shrink: 0;
}
.card--event .card__body {
  flex: 1;
  padding: 16px 32px 32px 32px;
  justify-content: space-between;
}
.card--event .card__content {
  gap: 16px;
}
.card--event .card__info-list {
  gap: 24px;
}
@media (max-width: 768px) {
  .card--event {
    flex-direction: column;
  }
  .card--event .card__image-wrapper {
    width: 100%;
    min-width: unset;
    height: 200px;
    border-top-right-radius: 8px;
    border-bottom-left-radius: 0;
  }
  .card--event .card__body {
    padding: 16px;
  }
}

.card--education-wide {
  max-width: 1192px;
  width: 100%;
  flex-direction: row;
}
.card--education-wide .card__image-wrapper {
  width: 580px;
  height: 292px;
  background: #D1E0E7;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card--education-wide .card__image-centered {
  max-width: 336px;
  max-height: 224px;
}
.card--education-wide .card__body {
  flex: 1;
  padding: 16px 32px 32px 32px;
  justify-content: space-between;
}
.card--education-wide .card__content {
  gap: 16px;
}
.card--education-wide .card__info-list {
  gap: 24px;
}
@media (max-width: 768px) {
  .card--education-wide {
    flex-direction: column;
  }
  .card--education-wide .card__image-wrapper {
    width: 100%;
    min-width: unset;
    height: 200px;
    border-top-right-radius: 8px;
    border-bottom-left-radius: 0;
  }
  .card--education-wide .card__body {
    padding: 16px;
  }
}

.search-component {
  width: 100%;
  max-width: 528px;
}
.search-component__wrapper {
  display: flex;
  align-items: center;
  position: relative;
}
.search-component__input-container {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(31, 58, 78, 0.15);
  border-radius: 8px 0 0 8px;
  border-right: none;
  padding: 10px 24px;
  transition: border-color 0.2s ease;
}
.search-component__input-container:has(input:focus) {
  border-color: #E2BD7D;
}
.search-component__input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  color: #244562;
  padding: 0;
  margin: 0;
}
.search-component__input::placeholder {
  color: rgba(31, 58, 78, 0.4);
}
.search-component__input:focus {
  outline: none;
}
.search-component__clear {
  display: none;
  margin-left: 8px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease;
}
.search-component__clear:hover {
  opacity: 0.7;
}
.search-component__clear svg {
  width: 100%;
  height: 100%;
}
.search-component__clear svg path {
  stroke: #244562;
}
.search-component__clear.show {
  display: flex;
}
.search-component__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 24px;
  border-radius: 0 8px 8px 0;
  margin-left: -1px;
  flex-shrink: 0;
}
.search-component__icon {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-component__icon svg {
  width: 100%;
  height: 100%;
}
.search-component__icon svg path {
  stroke: #2A2A2A;
}

.nav-divider {
  --nav-divider-color: var(--accent-soft-gold, #E2BD7D);
  --nav-divider-bg: var(--color-white, #ffffff);
  --nav-divider-opacity: 0.6;
  --nav-divider-icon-size: 22px;
  --nav-divider-icon-inner-size: 6px;
  width: 100%;
  height: 38px;
  display: flex;
  align-items: center;
  gap: 0;
}
.nav-divider__line {
  flex: 1 1 0;
  height: 1px;
  background: var(--nav-divider-color);
  opacity: var(--nav-divider-opacity);
}
.nav-divider__icon {
  position: relative;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.nav-divider__diamond {
  position: absolute;
  transform: rotate(45deg);
  border: 1px solid var(--nav-divider-color);
  box-sizing: border-box;
}
.nav-divider__diamond--outer {
  width: var(--nav-divider-icon-size);
  height: var(--nav-divider-icon-size);
  background: var(--nav-divider-bg);
}
.nav-divider__diamond--inner {
  width: var(--nav-divider-icon-inner-size);
  height: var(--nav-divider-icon-inner-size);
  background: transparent;
}
.nav-divider--transparent {
  --nav-divider-bg: transparent;
}

.nav-header {
  --nav-header-bg: #244562;
  --nav-header-color: var(--accent-soft-gold, #E2BD7D);
  width: 100%;
  padding: 16px 124px;
  color: var(--nav-header-color);
  box-sizing: border-box;
  background: var(--nav-header-bg);
}
.nav-header .nav-header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.nav-header .nav-header__content {
  display: flex;
  align-items: center;
  gap: 32px;
}
.nav-header .nav-header__brand {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}
.nav-header .nav-header__logo-text {
  text-transform: uppercase;
  color: inherit;
  font-family: Lora, serif;
  font-size: 17px;
  font-weight: 700;
  line-height: normal;
  text-align: center;
  width: 85px;
  white-space: pre-wrap;
}
.nav-header .nav-header__menu {
  display: flex;
  align-items: center;
  gap: 32px;
}
.nav-header .nav-header__menu .nav-header__item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: inherit;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 0;
  transition: color 0.2s ease;
}
.nav-header .nav-header__menu .nav-header__item:hover {
  color: var(--accent-classic-gold, #D6AC65);
}
.nav-header .nav-header__menu .nav-header__item-wrapper {
  position: relative;
}
.nav-header .nav-header__chevron {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: inherit;
  transition: transform 0.2s ease;
}
.nav-header .nav-header__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 0;
}
.nav-header .nav-header__actions .nav-header__action {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
  color: inherit;
  transition: transform 0.15s ease, opacity 0.15s ease;
}
.nav-header .nav-header__actions .nav-header__action:hover {
  transform: translateY(-1px);
  opacity: 0.85;
}
.nav-header .nav-header__actions .nav-header__action .nav-header__icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
}
.nav-header .nav-header__actions .nav-header__action .nav-header__burger-icon {
  width: 24px;
  height: 24px;
  color: inherit;
}
.nav-header .nav-header__actions .nav-header__action.nav-header__burger {
  display: none;
}
.nav-header .nav-header__divider {
  margin-top: 6px;
  width: 100%;
}

.nav-header--light {
  --nav-header-bg: #ffffff;
  --nav-header-color: var(--accent-soft-gold, #E2BD7D);
}

/* Large screens - reduce padding */
@media (max-width: 1280px) {
  .nav-header {
    padding: 16px 64px;
  }
}
/* Tablet - collapse menu to hamburger */
@media (max-width: 1080px) {
  .nav-header {
    padding: 16px 32px;
  }
  .nav-header .nav-header__menu {
    display: none;
  }
  .nav-header .nav-header__actions .nav-header__action.nav-header__burger {
    display: inline-flex;
  }
}
/* Mobile - 428px */
@media (max-width: 768px) {
  .nav-header {
    padding: 8px 16px;
  }
  .nav-header .nav-header__actions {
    gap: 16px;
  }
  .nav-header .nav-header__actions .nav-header__action.nav-header__action--instagram, .nav-header .nav-header__actions .nav-header__action.nav-header__action--facebook {
    display: none;
  }
}
.nav-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 200px;
  background: #ffffff;
  border: 1px solid rgba(31, 58, 78, 0.15);
  border-radius: 8px;
  padding: 8px 0;
  box-shadow: 0 16px 32px -4px rgba(12, 12, 13, 0.1), 0 4px 4px -4px rgba(12, 12, 13, 0.05);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  z-index: 9999;
}
.nav-dropdown--open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nav-dropdown__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 24px 10px 24px;
  color: #6D4D19;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.15s ease;
  white-space: nowrap;
}
.nav-dropdown__item:hover {
  background-color: rgba(226, 189, 125, 0.1);
}
.nav-dropdown__item:active {
  background-color: rgba(226, 189, 125, 0.2);
}

.nav-mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s;
}
.nav-mobile-menu.nav-mobile-menu--open {
  visibility: visible;
  opacity: 1;
}
.nav-mobile-menu.nav-mobile-menu--open .nav-mobile-menu__panel {
  transform: translateX(0);
}
.nav-mobile-menu__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
}
.nav-mobile-menu__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 85%;
  max-width: 400px;
  background: #ffffff;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  overflow-y: auto;
  overflow-x: hidden;
}
.nav-mobile-menu__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(31, 58, 78, 0.1);
  flex-shrink: 0;
}
.nav-mobile-menu__header .nav-header__logo-text {
  font-family: Lora, serif;
  font-size: 17px;
  font-weight: 700;
  line-height: normal;
  text-align: center;
  text-transform: uppercase;
  color: #E2BD7D;
  width: 85px;
}
.nav-mobile-menu__close {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: #244562;
  cursor: pointer;
  border-radius: 8px;
  transition: background-color 0.15s ease;
}
.nav-mobile-menu__close:hover {
  background-color: rgba(36, 69, 98, 0.05);
}
.nav-mobile-menu__close:active {
  background-color: rgba(36, 69, 98, 0.1);
}
.nav-mobile-menu__nav {
  flex: 1;
  padding: 8px 0;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
}
.nav-mobile-menu__item-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  box-sizing: border-box;
}
.nav-mobile-menu__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 24px;
  color: #244562;
  font-family: Inter, sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  text-decoration: none;
  background: transparent;
  border: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.15s ease;
  box-sizing: border-box;
  min-width: 0;
}
.nav-mobile-menu__item > span {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nav-mobile-menu__item:hover {
  background-color: rgba(226, 189, 125, 0.08);
}
.nav-mobile-menu__item:active {
  background-color: rgba(226, 189, 125, 0.15);
}
.nav-mobile-menu__item--dropdown {
  font-weight: 500;
}
.nav-mobile-menu__chevron {
  width: 20px;
  height: 20px;
  color: #E2BD7D;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.nav-mobile-menu__item--expanded .nav-mobile-menu__chevron {
  transform: rotate(90deg);
}
.nav-mobile-menu__submenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background-color: rgba(226, 189, 125, 0.03);
  width: 100%;
  box-sizing: border-box;
}
.nav-mobile-menu__submenu--open {
  max-height: 500px;
}
.nav-mobile-menu__subitem {
  display: block;
  padding: 12px 24px 12px 48px;
  color: #6D4D19;
  font-family: Inter, sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 22px;
  text-decoration: none;
  transition: background-color 0.15s ease;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav-mobile-menu__subitem:hover {
  background-color: rgba(226, 189, 125, 0.1);
}
.nav-mobile-menu__subitem:active {
  background-color: rgba(226, 189, 125, 0.2);
}
.nav-mobile-menu__social {
  display: none;
  padding: 20px 24px;
  border-top: 1px solid rgba(31, 58, 78, 0.1);
  gap: 16px;
  align-items: center;
  justify-content: center;
}
.nav-mobile-menu__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  transition: background-color 0.15s ease;
}
.nav-mobile-menu__social-link:hover {
  background-color: rgba(226, 189, 125, 0.1);
}
.nav-mobile-menu__social-link img {
  width: 24px;
  height: 24px;
}

@media (max-width: 768px) {
  .nav-mobile-menu__social {
    display: flex;
  }
}
.modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 2000;
}
.modal.is-open {
  display: flex;
}
.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(5, 32, 49, 0.9);
}
.modal__content {
  position: relative;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 32px 64px rgba(12, 12, 13, 0.4);
  overflow: hidden;
  width: 1192px;
  max-width: 95vw;
}
.modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  color: #244562;
}
.modal__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 447px;
}

@media (max-width: 1024px) {
  .subscription-modal .modal__body {
    grid-template-columns: 1fr;
  }
}
.subscription-modal__image {
  position: relative;
}
.subscription-modal__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.subscription-modal__form {
  background: #F7F2EF;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  color: #244562;
}
.subscription-modal__form h3 {
  font-family: Lora, serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 26px;
  margin: 0;
}
.subscription-modal__form p {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: #244562;
}
.subscription-modal__form label {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  color: #244562;
  display: block;
  margin-bottom: 8px;
}
.subscription-modal__form label span {
  font-weight: 400;
  color: rgba(31, 58, 78, 0.7);
}
.subscription-modal__form .subscription-status {
  display: none;
  font-size: 14px;
  line-height: 20px;
}
.subscription-modal__form .subscription-status [data-status=success] {
  color: #2e7d32;
}
.subscription-modal__form .subscription-status [data-status=error] {
  color: #c62828;
}
.subscription-modal__form .subscription-actions {
  width: 100%;
}
.subscription-modal__form .subscription-actions .btn-primary {
  width: 100%;
  justify-content: center;
}
.subscription-modal__form .subscription-note {
  font-size: 14px;
  line-height: 20px;
  color: #244562;
}
.subscription-modal__form .subscription-note a {
  color: #6D4D19;
  text-decoration: none;
}

.home-layout {
  max-width: 1440px;
  position: relative;
  background: var(--color-white, #ffffff);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
}
.home-layout > .background-accent {
  max-width: 1440px;
  left: 0;
  position: relative;
  background: var(--neutral-off-white, #F7F2EF);
  display: flex;
  flex-direction: column;
}
.home-layout > .background-accent .news-section {
  width: 1192px;
  margin: 0 auto;
  position: relative;
  padding: 16px 0 48px 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
  background: var(--neutral-off-white, #F7F2EF);
}
.home-layout > .background-accent .news-section .news-header {
  align-self: stretch;
  display: inline-flex;
  justify-content: space-between;
  align-items: flex-end;
}
.home-layout > .background-accent .news-section .news-header > div:first-child {
  flex: 1 1 0;
}
@media (max-width: 834px) {
  .home-layout > .background-accent .news-section .news-header > div:first-child {
    color: var(--primary-medium-blue, #244562);
    font-size: 20px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 26px;
    word-wrap: break-word;
  }
}
@media (min-width: 835px) {
  .home-layout > .background-accent .news-section .news-header > div:first-child {
    color: var(--primary-medium-blue, #244562);
    font-size: 20px;
    font-family: Lora, serif;
    font-weight: 500;
    line-height: 26px;
    word-wrap: break-word;
  }
}
.home-layout > .background-accent .news-section .news-cards {
  align-self: stretch;
  display: grid;
  grid-template-columns: repeat(3, 376px);
  grid-template-rows: repeat(4, auto);
  justify-content: flex-start;
  column-gap: 32px;
  row-gap: 0;
}
.home-layout > .background-accent .news-section .news-card {
  width: 376px;
  background: var(--color-white, #ffffff);
  box-shadow: 0 4px 4px -1px rgba(12, 12, 13, 0.05);
  border-radius: 8px;
  outline: 1px #EBF2F8 solid;
  outline-offset: -1px;
  display: grid;
  grid-column: auto;
  grid-row: 1/5;
  grid-template-rows: subgrid;
  overflow: hidden;
  position: relative;
}
.home-layout > .background-accent .news-section .news-card__image {
  align-self: stretch;
  width: 100%;
  aspect-ratio: 2.35;
  display: block;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  object-fit: cover;
}
.home-layout > .background-accent .news-section .news-card__body {
  align-self: stretch;
  padding: 0 16px 16px;
  background: var(--color-white, #ffffff);
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
  display: contents;
}
.home-layout > .background-accent .news-section .news-card__content {
  display: contents;
}
.home-layout > .background-accent .news-section .news-card__content .news-card__meta {
  grid-row: 2;
  display: grid;
  grid-template-rows: minmax(40px, auto) 1fr auto;
  /* title | spacer | date */
  gap: 4px;
  padding: 16px 16px 0;
}
.home-layout > .background-accent .news-section .news-card__content .news-card__meta > .news-card__title {
  align-self: stretch;
  color: var(--primary-medium-blue, #244562);
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  /* 142.857% */
  word-wrap: break-word;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  min-block-size: 2lh;
}
.home-layout > .background-accent .news-section .news-card__content .news-card__meta .news-card__date {
  color: var(--color-text-secondary, #5A7A94);
  font-size: 12px;
  font-family: Inter, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 18px;
  /* 150% */
  word-wrap: break-word;
  align-self: end;
}
.home-layout > .background-accent .news-section .news-card__content .news-card__excerpt {
  align-self: stretch;
  grid-row: 3;
  color: var(--primary-medium-blue, #244562);
  font-size: 14px;
  font-family: Inter, sans-serif;
  font-weight: 400;
  line-height: 20px;
  word-wrap: break-word;
  padding: 8px 16px 8px 16px;
}
.home-layout > .background-accent .news-section .news-card__button-group {
  grid-row: 4;
  align-self: end;
  padding: 10px;
  border-radius: 0 0 6px 6px;
  padding: 0 16px 16px 16px;
  align-items: flex-start;
  display: flex;
  justify-content: flex-start;
}
.home-layout > .background-accent .news-section .news-card__button-group a,
.home-layout > .background-accent .news-section .news-card__button-group > div {
  padding: 10px 0px;
}
.home-layout > .background-accent .news-section .news-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  background: var(--color-white, #ffffff);
  border-radius: 8px;
  color: var(--primary-medium-blue, #244562);
  font-size: 12px;
  font-family: Inter, sans-serif;
  font-weight: 500;
  line-height: 18px;
  box-shadow: 0 4px 10px rgba(36, 69, 98, 0.12);
}

.go-to-top {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.2);
  position: fixed;
  right: 12px;
  bottom: 12px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s;
}
.go-to-top.is-visible {
  opacity: 1;
  visibility: visible;
}
.go-to-top:hover {
  background: rgba(0, 0, 0, 0.3);
}
.go-to-top svg {
  stroke: #fff;
  width: 24px;
  height: 24px;
}
