@font-face {
  font-family: Lora;
  src: url('../fonts/lora-latin-variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
@font-face {
  font-family: Lora;
  src: url('../fonts/lora-latin-italic-variable.woff2') format('woff2');
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
}
.theme-emunah-v2 {
  --serif: Lora, Georgia, serif;
  --v2-gold: #e9ca8a;
  --v2-blue: #00285a;
  --seed-forest: var(--v2-blue);
  --seed-deep: var(--v2-blue);
  --ink: var(--v2-blue);
  --ticket-ink: var(--v2-blue);
  --v2-paper: #fff9e9;
  --v2-ivory: #f6f3ea;
  --v2-muted-blue: #425870;
  --v2-light-divider: #b8c5d2;
  --v2-edge: clamp(22px, 4.5vw, 76px);
}
.theme-emunah-v2 :is(.booking, .memory-video-dialog, .order-dialog) {
  --ink: var(--v2-blue);
}
.theme-emunah-v2 :is(.memory-video-dialog, .order-dialog)::backdrop {
  background: color-mix(in srgb, var(--v2-blue) 91%, transparent);
}
.theme-emunah-v2 .memory-cinema-shade {
  background: linear-gradient(0deg, color-mix(in srgb, var(--v2-blue) 77%, transparent), transparent 70%),
    radial-gradient(ellipse, color-mix(in srgb, var(--v2-blue) 16%, transparent), color-mix(in srgb, var(--v2-blue) 44%, transparent));
}
.theme-emunah-v2 .memory-watch:hover .memory-watch-label { text-decoration: underline; }
.theme-emunah-v2 .epic-hero {
  display: grid;
  grid-template-rows: auto 1fr auto;
  isolation: isolate;
  height: auto;
  min-height: 100svh;
  max-height: none;
  --hero-grain: url('./assets/grao-azul.webp') 0 0 / 192px 192px repeat;
  background: var(--hero-grain),
    radial-gradient(ellipse at 5% 0%, #2e7bb9, transparent 53%),
    radial-gradient(ellipse at 84% 68%, #215e99, transparent 44%),
    radial-gradient(ellipse at 0% 100%, #2269a7, transparent 35%),
    #0e213b;
  color: var(--v2-paper);
}
.theme-emunah-v2 .epic-hero::after { content: none; }
.theme-emunah-v2 .epic-header {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0 12px;
  height: auto;
  padding: clamp(12px, 3svh, 28px) var(--v2-edge) 0;
  background: none;
  pointer-events: auto;
}
.theme-emunah-v2 .scene-controls {
  position: static;
  justify-self: start;
  display: flex;
  flex-direction: row;
  gap: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}
.theme-emunah-v2 .scene-controls button {
  width: 44px;
  min-height: 44px;
  justify-content: center;
  padding: 0;
}
.theme-emunah-v2 .scene-controls button + button { border-left: 0; }
.theme-emunah-v2 .epic-header .scene-controls button:is(:hover, :active, [aria-pressed="true"]) {
  background: none;
}
.v2-motion-play,
[aria-pressed="true"] .v2-motion-pause { display: none; }
[aria-pressed="true"] .v2-motion-play { display: inline; }
.memory-preview-toggle .v2-motion-icon { width: 18px; height: 18px; flex: none; }
.theme-emunah-v2 .memory-preview-toggle { background: #082b53eb; }
.theme-emunah-v2 .memory-preview-toggle:hover { background: #082b53; }
.theme-emunah-v2 .epic-header nav {
  display: flex;
  grid-column: 1 / -1;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0 16px;
  font-size: 15px;
}
.theme-emunah-v2 .epic-header nav a { display: grid; align-items: center; min-height: 44px; padding: 5px 8px; }
.theme-emunah-v2 .v2-menu-toggle:not([hidden]) {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: inherit;
  border: 0;
  border-radius: 6px;
  background: none;
  cursor: pointer;
}
.theme-emunah-v2 .v2-menu-toggle:hover { color: var(--v2-gold); }
.theme-emunah-v2 .epic-header :is(.scene-controls button, .v2-menu-toggle) svg {
  width: 24px;
  height: 24px;
}
.theme-emunah-v2 .epic-header :is(.scene-controls button, .v2-menu-toggle, nav a):focus-visible {
  outline: 2px solid var(--v2-gold);
  outline-offset: 2px;
}
.v2-menu-close, [data-menu-open] .v2-menu-bars { display: none; }
[data-menu-open] .v2-menu-close { display: inline; }
.theme-emunah-v2 .epic-header[data-menu-ready] nav {
  display: none;
  position: absolute;
  grid-area: auto;
  inset: calc(100% + 8px) var(--v2-edge) auto auto;
  width: min(280px, calc(100% - var(--v2-edge) * 2));
  grid-template-columns: 1fr;
  gap: 0;
  padding: 5px 12px;
  border: 1px solid #e9ca8a70;
  border-radius: 6px;
  background: var(--v2-blue);
  box-shadow: 0 12px 26px #071a3666;
}
.theme-emunah-v2 .epic-header[data-menu-open] nav { display: grid; }
.theme-emunah-v2 .epic-header[data-menu-ready] nav a + a { border-top: 1px solid #e9ca8a35; }

.theme-emunah-v2 .stage { container-type: size; }
.v2-hero-circles {
  position: absolute;
  top: 49%;
  left: 50%;
  width: max(122cqh, 76cqw);
  aspect-ratio: 1;
  translate: -50% -50%;
}
@media (min-width: 701px) {
  .v2-hero-circles { width: max(134cqh, 76cqw); }
}
.v2-hero-circle {
  position: absolute;
  inset: var(--circle-inset, 0);
  border-radius: 50%;
  background: var(--circle-fill);
}
.v2-hero-circle--outer {
  --circle-fill: var(--hero-grain),
    radial-gradient(ellipse at 64% 88%, #15375f, transparent 59%),
    linear-gradient(140deg, #132f51, #091830 49%, #0b203d);
}
.v2-hero-circle--sky {
  --circle-inset: 8.5%;
  --olive-image: url('./assets/anel-oliveira-otimizado.webp');
  --circle-fill:
    radial-gradient(ellipse 52% 42% at 83% 13%, #277ba8e0, #3688b2a6 38%, transparent 90%),
    radial-gradient(ellipse 30% 22% at 33% 9%, #3688b2c2, #3688b27a 40%, transparent 92%),
    var(--olive-image) 75% center / cover no-repeat #76a6bf;
  background-blend-mode: color, color, normal;
}
.v2-hero-circle--sand { --circle-inset: 15.5%; --circle-fill: #c99c60; }
.v2-hero-dunes {
  position: absolute;
  inset: 8.5%;
  /* O raio bege é 69/83 do raio da oliveira. O avanço à direita se apaga antes do arco externo. */
  mask-image:
    radial-gradient(circle closest-side, #000 83.13%, transparent 83.13%),
    radial-gradient(ellipse 17% 19% at 87% 50%, #000 23%, transparent 76%);
}
.v2-hero-dunes::before {
  content: "";
  position: absolute;
  top: 38%;
  left: 0;
  height: 60%;
  aspect-ratio: 3000 / 934;
  background: url('./assets/anel-dunas-otimizado.webp') center / 100% 100% no-repeat;
  /* Contorno das cristas na imagem, que acompanha o deslocamento lateral. */
  clip-path: polygon(
    0% 8.8%, 3.75% 9.4%, 6.25% 11.5%, 8.75% 12.1%, 12.5% 8.3%,
    15% 5.9%, 17.5% 7.5%, 18.75% 6.4%, 22.5% 10.2%, 25% 7.5%,
    28.75% 3.8%, 32.5% 7.5%, 35% 12.1%, 37.5% 13.9%, 38.75% 12.6%,
    41.25% 15%, 46.25% 15.3%, 50% 13.9%, 52.5% 12.3%, 56.25% 9.4%,
    60% 10.2%, 65% 7.5%, 70% 2.7%, 73.75% 0%, 76.25% 2.4%, 80% 8.3%,
    85% 13.9%, 87.5% 12.1%, 91.25% 10.2%, 93.75% 11.5%, 97.5% 9.7%,
    100% 11.3%, 100% 100%, 0 100%
  );
  transform: translateX(-26%);
}
@media (prefers-reduced-motion: no-preference) {
  .v2-hero-dunes::before { animation: v2-dunes-drift 24s ease-in-out infinite alternate; }
}
@keyframes v2-dunes-drift {
  to { transform: translateX(-41%); }
}
html[data-motion="paused"] .v2-hero-dunes::before,
.scene-idle .v2-hero-dunes::before { animation-play-state: paused; }
.v2-hero-olive-branches {
  position: absolute;
  top: 23%;
  left: 14%;
  width: 25%;
  aspect-ratio: 3 / 2;
  background: url('./assets/galhos-oliveira-superior-otimizado.webp') center / contain no-repeat;
  mask-image: linear-gradient(90deg, transparent, #000 12%);
  transform-origin: 12% 92%;
  scale: 1.16;
  filter: hue-rotate(8deg) saturate(.92);
}
.v2-hero-olive-branches--middle {
  top: 33%;
  left: 10%;
  width: 25%;
  background-image: url('./assets/galhos-oliveira-medio-otimizado.webp');
  transform-origin: 12% 66%;
}
@media (prefers-reduced-motion: no-preference) {
  .v2-hero-olive-branches { animation: v2-olive-sway 7s ease-in-out infinite alternate; }
  .v2-hero-olive-branches--middle { animation-delay: -3s; }
}
@keyframes v2-olive-sway {
  from { transform: rotate(-2deg); }
  to { transform: rotate(3deg); }
}
html[data-motion="paused"] .v2-hero-olive-branches,
.scene-idle .v2-hero-olive-branches { animation-play-state: paused; }
.v2-hero-circle--blue {
  --circle-inset: 23%;
  --circle-fill: var(--hero-grain),
    radial-gradient(ellipse at 92% 66%, #2b77b4, transparent 68%),
    linear-gradient(118deg, #12365c, #0c203c 42%, #1d568e);
}
.v2-hero-circle--center {
  --circle-inset: 31%;
  --circle-fill: var(--hero-grain),
    linear-gradient(180deg, #06142666, transparent 56%),
    radial-gradient(ellipse at 61% 44%, #22629b, transparent 56%),
    linear-gradient(103deg, #0f2747, #0b1a32 29%, #194777 72%, #0d203a);
}
.theme-emunah-v2 .seed-foreground { opacity: .85; }
.v2-falling-seed {
  --edge-scale: 1;
  position: absolute;
  top: 0;
  width: var(--size);
  aspect-ratio: 112 / 222;
  transform: translateY(var(--rest)) rotate(var(--angle));
}
.v2-falling-seed--left { left: calc(var(--edge) * var(--edge-scale)); }
.v2-falling-seed--right { right: calc(var(--edge) * var(--edge-scale)); }
.v2-falling-seed img {
  display: block;
  width: 100%;
  height: auto;
}
/* Mantém a escala da semente original com 48 px de margem na arte desfocada. */
.v2-falling-seed .v2-seed-blurred {
  position: absolute;
  width: calc(100% * 208 / 112);
  max-width: none;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
@media (max-width: 700px) {
  .v2-hero-circle--sky { --olive-image: url('./assets/anel-oliveira-mobile.webp'); }
  .v2-hero-dunes::before { background-image: url('./assets/anel-dunas-mobile.webp'); }
  .v2-hero-olive-branches { background-image: url('./assets/galhos-oliveira-superior-mobile.webp'); }
  .v2-hero-olive-branches--middle { background-image: url('./assets/galhos-oliveira-medio-mobile.webp'); }
  .v2-falling-seed {
    --edge-scale: .65;
    width: calc(12px + var(--size) * .46);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .v2-falling-seed { animation: v2-seed-fall var(--duration) linear var(--phase) infinite; }
}
@keyframes v2-seed-fall {
  from { transform: translate3d(0, -160%, 0) rotate(var(--angle)); }
  to { transform: translate3d(var(--drift), calc(100cqh + 100%), 0) rotate(calc(var(--angle) + 100deg)); }
}
html[data-motion="paused"] .v2-falling-seed,
.scene-idle .v2-falling-seed { animation-play-state: paused; }

.v2-hero-content {
  position: relative;
  z-index: 4;
  align-self: center;
  width: min(620px, calc(100% - var(--v2-edge) * 2));
  margin-inline: auto;
  padding-block: clamp(28px, 5svh, 56px);
  text-align: center;
}
.theme-emunah-v2 .hero-title {
  --hero-logo-width: min(76vw, clamp(290px, 56svh, 530px));
  position: relative;
  inset: auto;
}
.v2-kicker {
  width: min(calc(var(--hero-logo-width) * .66), 66%);
  margin: 0 auto 1px;
  /* Compensa o arabesco que se projeta à esquerda no E. */
  translate: 4% 0;
}
.v2-kicker img {
  display: block;
  width: 100%;
  height: auto;
  filter: contrast(1.2) brightness(.92) saturate(1.16);
}
.theme-emunah-v2 .hero-title h1.hero-logo {
  width: var(--hero-logo-width);
  max-width: 100%;
  margin: 0 auto clamp(10px, 2svh, 18px);
}
.theme-emunah-v2 .hero-logo img { filter: drop-shadow(0 8px 12px #071a36a6); }
.theme-emunah-v2 .logo-sheen { mask: url('./assets/titulo-alpha.webp') center / 100% 100% no-repeat; }
.theme-emunah-v2 .hero-line {
  max-width: none;
  margin: 0;
  font-family: Lora, Georgia, serif;
  font-size: clamp(17px, 4.7vw, 32px);
  font-weight: 400;
  line-height: 1.26;
  letter-spacing: 0;
  color: inherit;
  text-shadow: none;
}
.theme-emunah-v2 .hero-line em { font-family: inherit; font-weight: 400; font-style: italic; color: inherit; }
.theme-emunah-v2 .hero-bottom {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
  justify-items: center;
  gap: clamp(12px, 2svh, 20px);
  margin: clamp(16px, 3svh, 27px) 0 0;
  text-shadow: none;
}
.theme-emunah-v2 .intro-running .hero-bottom { animation: v2-hero-details-in .8s 2.1s both; }
@keyframes v2-hero-details-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.v2-hero-dates {
  display: grid;
  grid-template-columns: 1fr 1.4fr 1fr;
  width: 100%;
  font-family: var(--sans);
  list-style: none;
  margin: 0;
  padding: clamp(12px, 2vw, 19px) 0;
  border: 1px solid #fff9e926;
  border-radius: 14px;
  background: #0a2242b8;
  backdrop-filter: blur(12px);
}
.v2-hero-dates li { display: grid; gap: 4px; align-content: start; padding-inline: 4px; line-height: 1.15; }
.v2-hero-dates li + li { border-inline-start: 1px solid #fff9e926; }
.v2-hero-dates strong { font-size: clamp(14.4px, 1.56vw, 20.4px); text-transform: uppercase; }
.v2-hero-dates span { color: #f9e6b7; font-size: clamp(14.4px, 1.38vw, 18px); }
.v2-hero-venue {
  margin: 0;
  font-size: clamp(14.4px, 1.26vw, 16.8px);
  line-height: 1.35;
}
.v2-hero-venue strong { font-weight: 650; }
.theme-emunah-v2 .gold-button { min-height: 48px; font-weight: 700; justify-content: center; text-decoration: none; }
.theme-emunah-v2 .mobile-ticket { justify-content: center; }
.theme-emunah-v2 .gold-button:focus-visible { outline-offset: 4px; }

.v2-supporters { display: flex; align-items: center; justify-content: center; gap: clamp(10px, 1.7vw, 26px); }
.v2-casa { height: auto; }
.v2-hero-marks {
  --institution-logo-base: clamp(96px, 26vw, 166px);
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: clamp(14px, 4.5vw, 38px);
  padding-bottom: clamp(22px, 4svh, 38px);
}
.v2-hero-marks::before {
  content: "";
  position: absolute;
  inset: calc(-1 * clamp(40px, 8svh, 80px)) 0 0;
  z-index: -1;
  background: linear-gradient(transparent, #071a3699 66%, #071a36ed);
  pointer-events: none;
}
.v2-hero-marks img { filter: brightness(0) invert(1); }
:is(.v2-hero-marks, .v2-institutions) .v2-casa { width: var(--institution-logo-base); }
:is(.v2-hero-marks, .v2-institutions) .v2-maringa {
  width: calc(var(--institution-logo-base) * .61);
  height: auto;
  /* Compensa a margem transparente abaixo de ENCANTADA. */
  translate: 0 calc(var(--institution-logo-base) * .014);
}
:is(.v2-hero-marks, .v2-institutions) .v2-prefeitura { width: calc(var(--institution-logo-base) * .675); height: auto; }
/* Alinha a área de texto à de Somos CASA, deixando o acento e o brasão acima da guia. */
.v2-hero-marks .v2-maringa {
  justify-self: end;
  width: calc(var(--institution-logo-base) * .66);
  translate: 0 calc(var(--institution-logo-base) * -.014);
}
.v2-hero-marks .v2-prefeitura {
  justify-self: start;
  width: calc(var(--institution-logo-base) * .69);
  translate: 0 calc(var(--institution-logo-base) * -.033);
}

.theme-emunah-v2 :is(.story-epic, .film-section, .city-section, .booking, .faq) { padding-block: clamp(52px, 7.2vw, 110px); }
.theme-emunah-v2 :is(.story-epic, .city-section, .booking, .faq) {
  --muted: var(--v2-muted-blue);
  --line: var(--v2-light-divider);
}
.theme-emunah-v2 .story-epic {
  background: radial-gradient(ellipse at 28% 48%, #b4cce34d, transparent 60%), var(--v2-ivory);
}
.theme-emunah-v2 :is(.city-section, .faq) { background: var(--v2-ivory); }
.theme-emunah-v2 .faq { border-top: 0; }
.theme-emunah-v2 .story-heading { text-align: center; }
.theme-emunah-v2 .journey-layout { align-items: center; gap: clamp(30px, 6vw, 95px); grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); max-width: 1100px; margin: clamp(28px, 5vw, 68px) auto 0; }
.v2-story-figure {
  width: 100%;
  max-width: 500px;
  justify-self: center;
}
.v2-story-figure figcaption {
  max-width: 36ch;
  margin: 0 auto;
  text-align: center;
  font-size: clamp(15px, 1.3vw, 18px);
}
.theme-emunah-v2 .v2-story-art {
  width: 100%;
  margin: 0;
  aspect-ratio: 1.05;
  align-items: center;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.theme-emunah-v2 .v2-story-art .journey-orbit {
  display: block;
  width: 92%;
  border: 0;
  background: radial-gradient(ellipse, #e4cf9a66, transparent 72%);
}
.theme-emunah-v2 .v2-story-art .journey-orbit::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #9e7d4d70;
  border-radius: inherit;
  mask: radial-gradient(circle at 50% 0, transparent 19px, #000 20px);
}
.theme-emunah-v2 .v2-story-art .journey-orbit::before {
  top: 0;
  transform: translate(-50%, -50%);
  color: #8b652d;
  background: none;
  font-size: clamp(21px, 2.6vw, 32px);
  line-height: 1;
}
.theme-emunah-v2 .v2-story-art .journey-people {
  width: 85%;
  filter: drop-shadow(0 8px 9px #17334e32);
}
.theme-emunah-v2 .journey-text p { font-size: clamp(15px, 1.3vw, 18px); }
.theme-emunah-v2 .journey-text .gold-button { margin-top: 9px; }
.theme-emunah-v2 .character-lines { max-width: 1100px; margin-inline: auto; }
.theme-emunah-v2 .character-lines article p { max-width: 32ch; }
.theme-emunah-v2 .character-emblem {
  display: grid;
  place-items: center;
  width: clamp(52px, 6vw, 72px);
  aspect-ratio: 1;
  height: auto;
  border: 1px solid #bfa471;
  border-radius: 50%;
  color: #765224;
  background: radial-gradient(circle, #fbf5df, #efe3c5);
}
.theme-emunah-v2 .character-emblem::before {
  content: "";
  width: 66%;
  aspect-ratio: 1;
  background: currentColor;
  mask: var(--character-icon) center / contain no-repeat;
}

.v2-section-heading { text-align: center; max-width: 880px; margin-inline: auto; }
.v2-section-heading h2 { margin: 0 0 13px; }
.v2-section-heading p { margin: 0; line-height: 1.6; }
.v2-film-caption-break { display: none; }
.theme-emunah-v2 .memory-cinema { margin: clamp(24px, 3.6vw, 48px) auto 0; max-width: 1110px; }
.theme-emunah-v2 :is(.memory-cinema, .v2-photo-open) {
  border-radius: clamp(7px, 1.2vw, 16px);
}
.v2-gallery { margin: clamp(40px, 6vw, 76px) auto 0; max-width: 1110px; }
.v2-overline { display: block; margin-bottom: 9px; font-weight: 700; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.v2-gallery h3 {
  max-width: 42ch;
  margin: 0 auto clamp(15px, 2.4vw, 28px);
  text-align: center;
  font: 500 clamp(21px, 3vw, 36px)/1.18 var(--display);
}
.v2-photos {
  --mosaic-gap: clamp(7px, 1vw, 14px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--mosaic-gap);
}
.v2-photo-group {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  grid-template-rows: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--mosaic-gap);
  aspect-ratio: 1.24;
}
.v2-photo-group:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
.v2-photo-open {
  display: block;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  background: transparent;
  cursor: zoom-in;
}
.v2-photo-open:first-child { grid-area: 1 / 1 / span 2; }
.v2-photo-open:nth-child(2) { grid-row: 1; }
.v2-photo-open:nth-child(3) { grid-row: 2; }
.v2-photo-group:nth-child(even) .v2-photo-open:first-child { grid-column: 2; }
.v2-photo-open:focus-visible { outline-offset: -4px; }
.v2-photo-open img { display: block; width: 100%; height: 100%; object-fit: cover; }
.v2-photo-open:hover img { filter: brightness(1.08); }
.v2-carousel-controls { display: flex; justify-content: center; align-items: center; gap: 16px; min-height: 65px; }
.v2-carousel-controls button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #e9ca8a99; border-radius: 50%; background: transparent; color: #fff3d5; font: 20px/1 var(--sans); cursor: pointer; }
.v2-carousel-controls button:hover { background: color-mix(in srgb, var(--v2-blue) 80%, white); }
.v2-photo-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.v2-photo-dialog {
  width: min(1100px, calc(100% - 20px));
  height: min(900px, calc(100dvh - 20px));
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 8px clamp(8px, 2vw, 22px);
  overflow: hidden;
  border: 1px solid #e9ca8a6e;
  border-radius: 5px;
  color: #fff3d5;
  background: var(--v2-blue);
}
.v2-photo-dialog[open] { display: grid; grid-template-rows: 44px minmax(0, 1fr) 52px; gap: 5px; }
.v2-photo-dialog::backdrop { background: color-mix(in srgb, var(--v2-blue) 91%, transparent); }
.v2-photo-close {
  justify-self: end;
  width: 44px;
  height: 44px;
  border: 1px solid #e9ca8a99;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font: 25px/1 var(--sans);
  cursor: pointer;
}
.v2-photo-close:hover { background: color-mix(in srgb, var(--v2-blue) 80%, white); }
.v2-photo-enlarged { min-width: 0; min-height: 0; touch-action: pan-y; }
.v2-photo-enlarged img { display: block; width: 100%; height: 100%; object-fit: contain; }
.v2-photo-dialog .v2-carousel-controls { min-height: 0; }
.v2-gallery-footer { text-align: center; margin-top: 17px; }
.v2-gallery-footer .v2-overline { margin: 0 0 3px; color: #f3dba2; }
.v2-photo-credit { margin: 0; font-size: 12px; color: #f1dcae; }
.v2-memory-invite { text-align: center; border-top: 1px solid #f3daa84d; padding-top: 26px; margin: clamp(32px, 4.5vw, 54px) auto 0; }
.v2-memory-invite p { font: 500 clamp(21px, 4.8vw, 43px)/1.15 var(--display); margin: 0 0 15px; }
.v2-memory-invite em { font-family: var(--serif); color: var(--v2-gold); }

.theme-emunah-v2 .city-section :is(.v2-overline, .v2-institutions h3) {
  color: #735125;
  font: 600 12px/1.3 var(--sans);
  text-transform: uppercase;
  letter-spacing: .16em;
}
.v2-institutions {
  --institution-logo-base: clamp(190px, 28vw, 230px);
  max-width: 720px;
  margin: clamp(22px, 3vw, 34px) auto 0;
  padding: clamp(24px, 3vw, 36px) 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(32px, 4vw, 46px);
  text-align: center;
}
.v2-institutions > div { display: grid; grid-template-rows: auto 1fr; }
.v2-institutions h3 { margin: 0 0 16px; }
.v2-institutions .v2-casa { margin-inline: auto; align-self: center; height: auto; }
.v2-institutions img { filter: brightness(0); }
.v2-institutions .v2-supporters { gap: clamp(36px, 5.5vw, 72px); }
.v2-institutions .v2-supporters img { width: min(43%, 155px); height: auto; translate: none; }

.v2-sponsors { max-width: 720px; margin: clamp(20px, 3vw, 36px) auto 0; scroll-margin-top: 28px; }
.v2-sponsor-carousel { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.v2-sponsor-next[hidden], .v2-sponsor-indicators[hidden] { display: none; }
.v2-sponsor-viewport { overflow: clip; touch-action: pan-y pinch-zoom; }
.v2-sponsor-slides {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  transform: translateX(var(--sponsor-offset, 0%));
  transition: transform 350ms ease;
}
.v2-sponsor-slide {
  flex: 0 0 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  align-items: center;
  gap: clamp(12px, 5vw, 50px);
  padding: clamp(14px, 3vw, 28px) clamp(4px, 2vw, 22px);
}
.v2-sponsor-slide img { width: min(100%, 245px); height: auto; justify-self: center; }
.v2-sponsor-slide p { font: 400 clamp(13px, 1.45vw, 17px)/1.55 var(--sans); }
.v2-sponsor-next, .v2-sponsor-indicators button {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--v2-blue);
}
.v2-sponsor-next { font: 30px/1 var(--sans); }
.v2-sponsor-next:hover, .v2-sponsor-indicators button:hover { background: #00285a12; }
.v2-sponsor-indicators { display: flex; align-items: center; justify-content: center; min-height: 20px; }
.v2-sponsor-dot, .v2-sponsor-indicators [data-sponsor-index]::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c3b295;
}
.v2-sponsor-dot, .v2-sponsor-indicators [aria-current]::before { background: #79561e; }
.theme-emunah-v2 .v2-city-note { margin: clamp(32px, 4.5vw, 58px) auto 0; text-align: center; font: 400 14px/1.5 var(--sans); }
.theme-emunah-v2 .booking {
  --v2-ticket-bg: color-mix(in srgb, var(--v2-ivory) 65%, #ede3cf);
  background: var(--v2-ticket-bg);
}
.theme-emunah-v2 .v2-booking { max-width: 1060px; }
.theme-emunah-v2 .booking .v2-section-heading h2 em { color: var(--seed-ochre); }
.v2-booking .v2-overline { color: #735125; }
.v2-ticket-form {
  margin: clamp(18px, 3vw, 36px) auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
  position: relative;
  border-radius: 7px;
  background: color-mix(in srgb, var(--v2-paper) 65%, white);
  box-shadow: 0 14px 28px #5244201d;
  font-family: var(--sans);
  font-weight: 400;
}
.v2-ticket-main, .v2-ticket-stub { padding: clamp(19px, 3.2vw, 40px); min-width: 0; }
.v2-ticket-heading { margin-bottom: 16px; }
.v2-ticket-heading img { width: clamp(90px, 11vw, 148px); height: auto; margin-inline: auto; }
.v2-ticket-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.v2-session-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.v2-session { position: relative; display: block; cursor: pointer; }
.v2-session input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.v2-session-card { min-height: 70px; height: 100%; display: flex; align-items: center; gap: clamp(7px, 1vw, 13px); padding: 7px clamp(7px, 1.3vw, 15px); border: 1px solid #baaa82; border-radius: 4px; }
.v2-session-date {
  --date-tracking: -.09em;
  flex: none;
  min-width: 1.25em;
  font: 500 clamp(27px, 3.3vw, 42px)/.87 var(--sans);
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--date-tracking);
  text-indent: var(--date-tracking);
  text-align: center;
}
.v2-session-date small { display: block; margin-top: 5px; font: 550 9px/1 var(--sans); text-transform: uppercase; letter-spacing: .11em; text-indent: .11em; }
.v2-session-time { display: grid; gap: 3px; padding-left: clamp(6px, 1vw, 12px); border-left: 1px solid #c1ac80; font-size: clamp(11px, 1.2vw, 15px); line-height: 1.12; }
.v2-session-time strong { font-size: clamp(14px, 1.4vw, 18px); font-weight: 600; font-variant-numeric: tabular-nums; }
.v2-session input:checked + span { background: var(--v2-blue); border-color: var(--v2-blue); color: var(--v2-paper); }
.v2-session input:checked + span .v2-session-date { color: #f5d99a; }
.v2-session input:focus-visible + span { outline: 2px solid #79561e; outline-offset: 2px; }
.v2-session:hover input:not(:checked) + span { background: #f3ecd8; }
#v2-limit { color: var(--v2-muted-blue); font-size: 13px; margin: 11px 0 0; }
.v2-ticket-stub { position: relative; display: grid; align-content: center; color: var(--v2-paper); background: var(--v2-blue); border-inline-start: 1px dashed #d9bd83; border-radius: 0 6px 6px 0; }
.v2-ticket-stub::before, .v2-ticket-stub::after { content: ""; position: absolute; z-index: 1; left: -9px; width: 17px; height: 17px; border-radius: 50%; background: var(--v2-ticket-bg); }
.v2-ticket-stub::before { top: -9px; border-bottom: 1px solid #b6a278; }
.v2-ticket-stub::after { bottom: -9px; border-top: 1px solid #b6a278; }
.v2-quantity { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 3px 10px; }
.v2-quantity label { font: 550 clamp(15px, 1.5vw, 20px)/1.2 var(--display); }
.v2-stepper { grid-row: 1 / span 2; grid-column: 2; display: flex; align-items: center; border: 1px solid #dfc68895; border-radius: 4px; overflow: hidden; }
.v2-stepper :is(button, input) { border: 0; background: transparent; color: inherit; text-align: center; width: 44px; height: 44px; font: inherit; }
.v2-stepper button { font-weight: 550; cursor: pointer; }
.v2-stepper button:disabled { opacity: .4; cursor: default; }
.v2-stepper input { appearance: textfield; border-inline: 1px solid #dfc68895; padding: 0; border-radius: 0; }
.v2-stepper input::-webkit-inner-spin-button, .v2-stepper input::-webkit-outer-spin-button { appearance: none; }
.theme-emunah-v2 .v2-stepper :is(button, input):focus-visible { outline-color: #ffe4a8; outline-offset: -3px; }
.v2-unit-price { margin: 0; color: #f2e5c4; font-size: 12px; }
.v2-stepper input, .v2-unit-price span { font-weight: 500; }
.v2-session-time strong, .v2-stepper input, .v2-unit-price span, .v2-total output { letter-spacing: -.025em; }
.v2-total { display: flex; justify-content: space-between; align-items: baseline; gap: 9px; border-top: 1px solid #d5c7a57a; margin-top: 16px; padding: 14px 0; font: 550 clamp(18px, 2.1vw, 24px)/1.15 var(--display); }
.v2-total strong { font-weight: inherit; }
.v2-total output { color: #ffe4a8; font-weight: 650; font-variant-numeric: tabular-nums; }
.theme-emunah-v2 .booking .v2-continue { width: 100%; justify-content: center; gap: 8px; text-align: center; background: linear-gradient(105deg, #f6dfa2, #dcb468); color: var(--v2-blue); font-family: var(--sans); font-weight: 600; }
.theme-emunah-v2 .booking .v2-continue:hover:not(:disabled) { background: linear-gradient(105deg, #ffeac0, #ecc87e); }
.theme-emunah-v2 .booking .v2-continue:focus-visible { outline-color: #ffe4a8; }
.theme-emunah-v2 .booking .v2-continue:disabled { background: color-mix(in srgb, var(--v2-blue) 75%, white); color: #f5e8c4; border-color: #d9bd8380; cursor: default; box-shadow: none; filter: none; }
.v2-faq-answer { padding: 2px 12px 16px 0; font-size: clamp(14px, 1.3vw, 17px); line-height: 1.62; }
.v2-faq-answer ul { padding-left: 20px; margin-bottom: 0; }

.theme-emunah-v2 .epic-footer { padding: clamp(24px, 4vw, 56px) 0 12px; }
.v2-footer-call, .v2-footer-main, .v2-footer-end { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
.v2-footer-call { padding-bottom: clamp(20px, 3vw, 37px); }
.v2-footer-call p { margin: 0; font-size: clamp(24px, 3.2vw, 41px); line-height: 1.12; }
.v2-footer-call em { color: var(--v2-gold); font-family: var(--serif); }
.v2-footer-main { border-block: 1px solid #e9ca8a43; padding: 18px 0; }
.v2-footer-brand { display: flex; align-items: center; gap: 12px; }
.v2-footer-brand a { flex: none; }
.v2-footer-brand img { width: clamp(96px, 11vw, 130px); height: auto; }
.v2-footer-brand p { margin: 0; padding-inline-start: 12px; border-inline-start: 1px solid #e9ca8a70; font-size: 12px; line-height: 1.4; }
.v2-footer-main nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.v2-footer-main nav a, .v2-footer-end a { display: inline-flex; align-items: center; min-height: 44px; }
.v2-footer-end { font-size: 12px; }

@media (max-width: 790px) {
  .v2-ticket-form { max-width: 600px; grid-template-columns: minmax(0, 1fr); }
  .v2-ticket-stub { border-inline-start: 0; border-top: 1px dashed #d9bd83; border-radius: 0 0 6px 6px; }
  .v2-ticket-stub::before, .v2-ticket-stub::after { top: -9px; bottom: auto; border: 0; }
  .v2-ticket-stub::before { left: -9px; border-right: 1px solid #b6a278; }
  .v2-ticket-stub::after { left: auto; right: -9px; border-left: 1px solid #b6a278; }
}
@media (max-width: 700px) {
  .theme-emunah-v2 { --v2-edge: clamp(23px, 6.5vw, 43px); }
  .theme-emunah-v2 .v2-hero-cta { min-height: 44px; padding-block: 9px; }
  .theme-emunah-v2 .journey-layout { grid-template-columns: 1fr; }
  .v2-story-figure { max-width: 400px; }
  .v2-section-heading h2 { font-size: clamp(34px, 9.2vw, 49px); }
  .theme-emunah-v2 .story-heading h2 { font-size: clamp(23px, 7.3vw, 42px); }
  .theme-emunah-v2 .journey-text .gold-button { display: flex; width: fit-content; margin-inline: auto; }
  .theme-emunah-v2 .film-section .v2-section-heading h2 { font-size: clamp(25px, 8vw, 49px); }
  .v2-film-caption-break { display: inline; }
  .v2-gallery h3 { max-width: none; font-size: clamp(12px, 3.65vw, 23px); text-wrap: balance; }
  .theme-emunah-v2 .booking .v2-section-heading h2 { font-size: clamp(34px, 9.2vw, 49px); }
  .theme-emunah-v2 .character-emblem { grid-column: 1; grid-row: 1 / span 3; }
  .theme-emunah-v2 .character-lines article { grid-template-columns: auto minmax(0, 1fr); gap: 4px 15px; }
  .theme-emunah-v2 .character-lines h3 { grid-column: 2; grid-row: 2; }
  .theme-emunah-v2 .character-lines article p { grid-row: 3; }
  .v2-photos { grid-template-columns: minmax(0, 1fr); }
  .v2-photo-dialog {
    width: 100%;
    height: 100dvh;
    padding: max(8px, env(safe-area-inset-top)) 0 max(8px, env(safe-area-inset-bottom));
    border: 0;
    border-radius: 0;
  }
  .v2-photo-close { margin-inline-end: 10px; }
  .theme-emunah-v2 .city-section .v2-section-heading h2 { font-size: clamp(26px, 8vw, 49px); }
  .theme-emunah-v2 .city-section :is(.v2-overline, .v2-institutions h3),
  .v2-booking .v2-overline { font-size: 10px; }
  .v2-institutions .v2-supporters {
    gap: clamp(16px, 6vw, 32px);
  }
  .v2-institutions .v2-supporters img { width: min(43%, 125px); }
  .v2-sponsor-carousel { grid-template-columns: 44px minmax(0, 1fr) 44px; }
  .v2-sponsor-viewport { grid-column: 2; }
  .v2-sponsor-slide {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    text-align: center;
  }
  .v2-sponsor-slide img { width: min(100%, 220px); }
  .v2-sponsor-slide p { margin: 0; }
  #v2-limit { text-align: center; }
  .v2-footer-call, .v2-footer-main {
    flex-direction: column;
    text-align: center;
  }
  .v2-footer-main nav { justify-content: center; }
  .v2-footer-end {
    flex-wrap: nowrap;
    gap: 12px;
    padding-top: 12px;
  }
  .v2-footer-end a { flex: none; }
  .theme-emunah-v2 .mobile-ticket { min-height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  .v2-sponsor-slides { transition: none; }
}
@media (forced-colors: active) {
  .v2-session input:checked + span { outline: 3px solid Highlight; }
}
