:root { --cream: #f7f1e6; --cream-dark: #efe5d2; --navy: #16263f; --navy-deep: #0e1a2e; --teal: #3fa3a8; --teal-dark: #2b6e73; --gold: #c9a254; --gold-light: #e3c98b; --white: #fffdf8; --ink: #22314a; --text-secondary: #5a667f; --text-muted: #6b7690; --text-on-dark: #e9e2d2; --text-on-dark-muted: #cfc7b4; --font-serif: "Frank Ruhl Libre", "Times New Roman", serif; --font-sans: "Heebo", "Segoe UI", Arial, sans-serif; --fs-xs: 0.85rem; --fs-s: 0.95rem; --fs-base: 1.06rem; --fs-m: 1.2rem; --fs-l: clamp(1.4rem, 2.4vw, 1.7rem); --fs-xl: clamp(1.7rem, 4vw, 2.4rem); --fs-hero: clamp(2.2rem, 5.4vw, 3.5rem); --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px; --radius-s: 10px; --radius: 14px; --radius-l: 20px; --shadow-s: 0 3px 12px rgba(14, 26, 46, 0.07); --shadow: 0 8px 24px rgba(14, 26, 46, 0.1); --shadow-l: 0 18px 44px rgba(4, 10, 20, 0.35); --dur-fast: 0.15s; --dur: 0.25s; --dur-slow: 0.6s; --ease: cubic-bezier(0.33, 1, 0.68, 1); --container: 1320px; --container-text: 720px; }
*, ::before, ::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, ::before, ::after { animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
}
body { margin: 0px; font-family: var(--font-sans); font-size: 1.06rem; line-height: 1.7; color: var(--ink); background: var(--cream); }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3 { font-family: var(--font-serif); color: var(--navy); line-height: 1.25; margin: 0px 0px 0.5em; }
h2 { font-size: clamp(1.7rem, 4vw, 2.4rem); }
h3 { font-size: 1.2rem; }
p { margin: 0px 0px 1em; }
a { color: var(--teal-dark); }
.container { max-width: var(--container); margin-inline: auto; padding-inline: 20px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px; }
.skip-link { position: absolute; top: -48px; right: 16px; background: var(--navy); color: var(--white); padding: 10px 18px; border-radius: 0px 0px 10px 10px; z-index: 100; transition: top 0.2s; }
.skip-link:focus { top: 0px; }
:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 26px; border-radius: 999px; font-weight: 600; font-size: 1rem; text-decoration: none; border: 2px solid transparent; cursor: pointer; transition: transform var(--dur-fast) var(--ease),
              box-shadow var(--dur-fast) var(--ease),
              background var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease); }
.btn:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.btn:active { transform: translateY(0px); box-shadow: var(--shadow-s); }
.btn:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }
.btn-gold { background: linear-gradient(135deg, var(--gold), var(--gold-light)); color: var(--navy-deep); }
.btn-gold:hover { background: linear-gradient(135deg, rgb(211, 173, 96), rgb(236, 212, 155)); }
.btn-outline { background: transparent; color: var(--btn-outline-c, var(--navy)); border-color: var(--btn-outline-c, var(--navy)); }
.btn-outline:hover { background: var(--btn-outline-c, var(--navy)); color: var(--btn-outline-hover-text, var(--cream)); }
.btn-link { background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; padding: 6px 4px; border-radius: var(--radius-s); color: var(--teal-dark); text-decoration: underline; text-underline-offset: 4px; font-weight: 600; cursor: pointer; font-size: 1rem; }
.btn-link:hover { color: var(--navy); transform: none; box-shadow: none; }
.hero .btn-outline, .section-vision .btn-outline, .section-cta .btn-outline, .sticky-cta .btn-outline { --btn-outline-c: rgba(247, 241, 230, 0.85); --btn-outline-hover-text: var(--navy-deep); }
.btn.is-disabled, .btn:disabled { opacity: 0.55; cursor: not-allowed; pointer-events: none; transform: none !important; box-shadow: none !important; }
.btn-lg { padding: 16px 38px; font-size: 1.15rem; }
.icon { flex: 0 0 auto; width: 1.2em; height: 1.2em; }
.icon-lg { width: 30px; height: 30px; }
.site-header { position: fixed; top: 0px; inset-inline: 0px; z-index: 50; background: transparent; transition: background var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.site-header.is-scrolled { background: rgba(14, 26, 46, 0.88); backdrop-filter: blur(10px); box-shadow: rgba(10, 19, 33, 0.3) 0px 4px 18px; }
.header-inner { display: flex; align-items: center; gap: 18px; padding-block: 7px; }
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; color: var(--cream); }
.brand img { width: 52px; height: 52px; border-radius: 50%; box-shadow: rgba(227, 201, 139, 0.45) 0px 0px 0px 2px; }
.brand-text { display: flex; flex-direction: column; line-height: 1.2; }
.brand-text strong { font-family: var(--font-serif); font-size: 1.18rem; }
.brand-text small { color: var(--gold-light); font-size: 0.72rem; }
.site-nav { margin-inline-start: auto; }
.nav-menu { display: flex; gap: 4px; list-style: none; margin: 0px; padding: 0px; align-items: center; }
.nav-menu a { display: block; padding: 8px 12px; border-radius: 8px; color: var(--cream); text-decoration: none; font-weight: 500; font-size: 1rem; white-space: nowrap; border-bottom: 2px solid transparent; transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.nav-menu a:hover { background: rgba(247, 241, 230, 0.14); }
.nav-menu a.is-active { color: var(--gold-light); border-bottom-color: var(--gold); border-radius: 8px 8px 0px 0px; }
.nav-toggle { display: none; background: none; border: 2px solid var(--cream); border-radius: 8px; padding: 8px 10px; cursor: pointer; }
.nav-toggle-bar, .nav-toggle-bar::before, .nav-toggle-bar::after { display: block; width: 22px; height: 2px; background: var(--cream); content: ""; }
.nav-toggle-bar { position: relative; }
.nav-toggle-bar::before { position: absolute; top: -7px; }
.nav-toggle-bar::after { position: absolute; top: 7px; }
.btn-header { padding: 9px 20px; font-size: 0.95rem; }
.menu-donate-item { display: none; }
body.menu-open { overflow: hidden; }
.hero { position: relative; background: linear-gradient(115deg, var(--navy-deep) 0%, #14304a 55%, #1d3a55 100%); color: var(--cream); overflow: hidden; padding-top: 76px; }
.hero-eyebrow { margin: 0px 0px 12px; color: var(--gold-light); font-size: 0.95rem; font-weight: 600; letter-spacing: 0.05em; }
.hero h1 { color: var(--cream); font-size: clamp(2.2rem, 5.4vw, 3.5rem); font-weight: 900; }
.hero h1 span { display: block; }
.hero-line2 { color: var(--teal); }
.hero-subtitle { font-size: clamp(1.02rem, 1.6vw, 1.15rem); max-width: 26em; color: rgb(233, 226, 210); line-height: 1.65; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(250px, 330px) minmax(0, 0.95fr); gap: clamp(22px, 3vw, 44px); align-items: center; padding-block: clamp(28px, 4vw, 52px); }
.hero-content { min-width: 0; }
.hero h1 { font-size: clamp(2.1rem, 3.6vw, 3.2rem); }
.hero-vision-points { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; }
.hero-vision-points li { position: relative; padding-inline-start: 26px; color: var(--text-on-dark); font-size: 1rem; }
.hero-vision-points li::before { content: ""; position: absolute; inset-inline-start: 0; top: .55em; width: 12px; height: 12px; border-radius: 50%; background: radial-gradient(circle, var(--gold-light) 35%, rgba(227, 201, 139, .25) 40%); }
.hero-video { margin: 0; min-width: 0; text-align: center; }
.hero-video-frame { position: relative; width: 100%; aspect-ratio: 9 / 16; max-height: min(78vh, 620px); margin-inline: auto; overflow: hidden; border: 1px solid rgba(227, 201, 139, .45); border-radius: 26px; background: #000; box-shadow: 0 24px 60px rgba(4, 10, 20, .55), 0 0 0 8px rgba(247, 241, 230, .05); }
.hero-video-player { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #000; }
.hero-video-sound { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border: 1px solid rgba(247, 241, 230, .45); border-radius: 999px; background: rgba(7, 17, 31, .72); color: var(--cream); font: 600 .88rem var(--font-sans); cursor: pointer; backdrop-filter: blur(6px); }
.hero-video-sound:hover { background: var(--teal-dark); }
.hero-video-sound:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 2px; }
.hero-video-sound .icon { width: 1.1em; height: 1.1em; }
.hero-video figcaption { margin-top: 12px; color: var(--text-on-dark-muted); font-size: .88rem; }
.video-fallback { text-align: center; padding: 12px 8px 0; font-size: 0.95rem; color: var(--cream); }
.video-fallback a { color: var(--gold-light); font-weight: 600; }
.hero-panel { min-width: 0; padding: clamp(22px, 2.4vw, 30px); border: 1px solid rgba(227, 201, 139, .38); border-top: 4px solid var(--gold); border-radius: var(--radius-l); background: linear-gradient(160deg, rgba(247, 241, 230, .09), rgba(247, 241, 230, .03)); box-shadow: 0 18px 44px rgba(4, 10, 20, .3); backdrop-filter: blur(4px); display: flex; flex-direction: column; gap: 14px; }
.hero-panel-kicker { margin: 0; color: var(--gold-light); font-size: .88rem; font-weight: 700; letter-spacing: .05em; }
.hero-panel h2 { margin: 0; color: var(--cream); font-size: clamp(1.4rem, 2.2vw, 1.8rem); line-height: 1.25; }
.hero-panel-text { margin: 0; color: var(--text-on-dark); font-size: .98rem; line-height: 1.6; }
.hero-panel-amounts { list-style: none; margin: 2px 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.hero-panel-amounts li { display: grid; justify-items: center; padding: 10px 4px; border: 1px solid rgba(227, 201, 139, .3); border-radius: var(--radius-s); background: rgba(7, 17, 31, .35); }
.hero-panel-amounts strong { color: var(--gold-light); font: 700 1.15rem var(--font-serif); }
.hero-panel-amounts span { color: var(--text-on-dark-muted); font-size: .78rem; }
.hero-panel #hero-donate { width: 100%; justify-content: center; }
.hero-panel-link { align-self: center; color: var(--cream); font-weight: 600; text-underline-offset: 4px; }
.hero-panel-link:hover { color: var(--gold-light); }
.hero-microcopy { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; font-size: .9rem; color: var(--text-on-dark-muted); }
.hero-microcopy .icon { color: var(--gold-light); }
.reveal { opacity: 0; transform: translateY(16px); transition: opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; }
}
.hero-stats { position: relative; z-index: 2; background: rgba(10, 19, 33, 0.82); border-top: 1px solid rgba(201, 162, 84, 0.35); backdrop-filter: blur(6px); }
.hero-stats-inner { display: grid; grid-template-columns: auto 1fr auto auto; gap: 28px; align-items: center; padding-block: 18px; }
.stat { display: flex; flex-direction: column; gap: 2px; }
.stat-label { font-size: 0.82rem; color: var(--gold-light); }
.stat-value { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 700; color: var(--cream); }
.stat-small { font-size: 1.1rem; }
.progress-head { display: flex; justify-content: space-between; align-items: baseline; }
.progress-track { height: 14px; border-radius: 999px; background: rgba(247, 241, 230, 0.18); overflow: hidden; margin-top: 6px; }
.progress-fill { height: 100%; width: 0px; border-radius: 999px; background: linear-gradient(90deg, var(--teal-dark), var(--teal)); transition: width 1s; }
.progress-track.is-pending .progress-fill { width: 100%; background: repeating-linear-gradient(45deg, rgba(63, 163, 168, 0.35) 0px, rgba(63, 163, 168, 0.35) 12px, rgba(63, 163, 168, 0.15) 12px, rgba(63, 163, 168, 0.15) 24px); }
.progress-note { font-size: 0.95rem; color: rgb(207, 199, 180); margin-top: 4px; }
.back-to-top { position: fixed; bottom: 22px; inset-inline-end: 22px; z-index: 55; width: 46px; height: 46px; border-radius: 50%; background: var(--navy); color: var(--gold-light); border: 1px solid rgba(227, 201, 139, 0.5); cursor: pointer; display: grid; place-items: center; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease),
              visibility var(--dur), background var(--dur-fast); box-shadow: var(--shadow); }
.back-to-top.is-shown { opacity: 1; visibility: visible; transform: none; }
.back-to-top:hover { background: var(--navy-deep); }
.back-to-top .icon { width: 20px; height: 20px; }
@media (max-width: 768px) {
  .back-to-top { bottom: calc(88px + env(safe-area-inset-bottom, 0px)); inset-inline-end: 14px; }
}
.sticky-cta { display: none; position: fixed; bottom: 0px; inset-inline: 0px; z-index: 60; padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); background: rgba(10, 19, 33, 0.94); backdrop-filter: blur(8px); border-top: 1px solid rgba(201, 162, 84, 0.4); transform: translateY(105%); visibility: hidden; transition: transform var(--dur) var(--ease), visibility var(--dur); }
.sticky-cta.is-active { transform: none; visibility: visible; }
@media (prefers-reduced-motion: reduce) {
  .sticky-cta { transform: none; }
  .sticky-cta:not(.is-active) { display: none !important; }
}
.sticky-cta-btn { width: 100%; justify-content: center; font-size: 1rem; padding: 13px 18px; }
.sticky-cta-pending { margin: 0px; text-align: center; color: rgb(207, 199, 180); font-size: 1rem; padding: 10px 0px; }
.section { padding-block: clamp(52px, 8vw, 88px); }
.section-header { max-width: 720px; margin-bottom: 36px; }
.section-kicker { color: var(--gold); font-weight: 700; letter-spacing: 0.06em; font-size: 0.9rem; margin-bottom: 4px; }
.section-lead { font-size: 1.12rem; color: rgb(74, 86, 112); }
.section-story { background: var(--white); }
.story-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 48px; align-items: start; }
.story-text { max-width: var(--container-text); }
.story-quote { position: relative; margin: 28px 0px; padding: 26px 24px 20px; background: var(--cream); border: 1px solid rgba(201, 162, 84, 0.45); border-inline-start: 4px solid var(--gold); border-radius: 0 var(--radius) var(--radius) 0; font-family: var(--font-serif); font-size: 1.12rem; color: var(--navy); }
.story-quote .quote-icon { position: absolute; top: -14px; inset-inline-start: 16px; width: 34px; height: 34px; color: var(--gold); background: var(--white); border-radius: 50%; padding: 3px; }
.story-quote p { margin-bottom: 10px; }
.story-quote cite { font-style: normal; font-size: 0.92rem; font-weight: 600; font-family: var(--font-sans); color: var(--teal-dark); display: block; }
.story-quote cite::before { content: "— "; }
.story-media-editorial { display: block; position: relative; }
.story-media figure { margin: 0px; position: relative; }
.story-media img { border-radius: var(--radius); box-shadow: var(--shadow); width: 100%; height: auto; }
.figure-secondary { width: 78%; margin-inline-start: auto; margin-top: -34px; }
.figure-secondary img { border: 5px solid var(--white); box-shadow: var(--shadow-l); }
.media-chip { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; background: rgba(10, 19, 33, 0.72); color: var(--gold-light); padding: 4px 13px; border-radius: 999px; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.03em; backdrop-filter: blur(4px); }
figcaption { font-size: 0.85rem; color: var(--text-muted); margin-top: 8px; }
.vision-media { margin: 0px; }
.vision-media img { border-radius: var(--radius); box-shadow: var(--shadow); }
.features-grid { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: stretch; }
.axis-card { display: flex; flex-direction: column; background: var(--white); border-radius: var(--radius); padding: 26px 24px; box-shadow: var(--shadow-s); border-top: 3px solid var(--teal); transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.axis-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.axis-title { font-size: 1.28rem; color: var(--navy); margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--cream-dark); }
.axis-items { list-style: none; margin: 0px; padding: 0px; display: grid; gap: 18px; }
.axis-item { display: flex; gap: 14px; align-items: flex-start; }
.feature-icon { width: 46px; height: 46px; border-radius: 50%; flex: 0 0 auto; display: grid; place-items: center; background: linear-gradient(135deg, var(--navy), var(--teal-dark)); color: var(--gold-light); }
.feature-icon .icon { width: 22px; height: 22px; }
.axis-item h4 { font-family: var(--font-serif); font-size: 1.05rem; color: var(--navy); margin: 0px 0px 4px; line-height: 1.3; }
.axis-item p { margin: 0px; font-size: 0.92rem; color: rgb(67, 80, 107); }
.section-vision { background: var(--navy); color: var(--cream); }
.section-vision .section-kicker { color: var(--gold-light); }
.section-vision h2 { color: var(--cream); }
.vision-grid { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 44px; align-items: center; }
.vision-text p { color: rgb(220, 213, 196); font-size: 1.1rem; }
.vision-text .btn { margin-top: 10px; background: var(--gold); color: var(--navy-deep); }
.vision-media figcaption { color: rgb(168, 176, 194); }
.vision-compare { position: relative; }
.compare-frame { position: relative; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow-l); aspect-ratio: 4 / 3; background: var(--navy-deep); }
.compare-frame img { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; object-position: center center; border-radius: 0px; box-shadow: none; }
.compare-before-wrap { position: absolute; inset: 0px; clip-path: inset(0 0 0 calc(100% - var(--pos, 50%))); }
.vision-compare.is-animated .compare-before-wrap { transition: clip-path 0.45s var(--ease); }
.vision-compare.is-animated .compare-handle { transition: inset-inline-start 0.45s var(--ease); }
.compare-before-wrap img { filter: saturate(0.95); }
.compare-handle { position: absolute; top: 0px; bottom: 0px; inset-inline-start: var(--pos, 50%); width: 3px; margin-inline-start: -1.5px; background: var(--gold-light); box-shadow: rgba(10, 19, 33, 0.6) 0px 0px 10px; pointer-events: none; }
.compare-handle::after { content: ""; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 34px; height: 34px; border-radius: 50%; background: var(--gold-light); border: 3px solid var(--white); box-shadow: var(--shadow); }
.compare-label { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; background: rgba(10, 19, 33, 0.72); color: var(--cream); padding: 3px 12px; border-radius: 999px; font-size: 0.8rem; font-weight: 600; backdrop-filter: blur(4px); }
.compare-label-after { inset-inline: auto 12px; color: var(--gold-light); }
.vision-badge { position: absolute; bottom: 12px; inset-inline-end: 12px; z-index: 2; background: rgba(10, 19, 33, 0.72); color: var(--gold-light); padding: 4px 14px; border-radius: 999px; font-size: 0.82rem; font-weight: 600; letter-spacing: 0.03em; backdrop-filter: blur(4px); }
.compare-range { width: 100%; margin-top: 14px; accent-color: var(--gold); cursor: ew-resize; height: 26px; }
.compare-range:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; border-radius: 6px; }
.compare-buttons { display: flex; gap: 10px; margin-top: 10px; }
.compare-btn { padding: 8px 20px; font-size: 0.92rem; }
.compare-btn[aria-pressed="true"] { background: var(--btn-outline-c, var(--cream)); color: var(--navy-deep); }
#vision-caption { font-size: 0.95rem; margin-top: 12px; }
.compare-hint { font-size: 0.82rem; color: rgb(168, 176, 194); margin: 4px 0px 0px; }
.journey-grid { list-style: none; counter-reset: step 0; margin: 0px; padding: 46px 0px 0px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; position: relative; }
.journey-grid::before { content: ""; position: absolute; top: 18px; inset-inline: 60px; height: 2px; background: var(--cream-dark); border-radius: 2px; }
.journey-grid::after { content: ""; position: absolute; top: 18px; inset-inline-end: 60px; height: 2px; width: 0px; background: linear-gradient(to left, var(--gold), var(--gold-light)); border-radius: 2px; transition: width 1.1s var(--ease) 0.2s; }
.journey-grid.is-filled::after { width: calc(100% - 120px); }
.journey-card { counter-increment: step 1; background: var(--white); border-radius: var(--radius); padding: 30px 24px 28px; box-shadow: var(--shadow-s); position: relative; transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.journey-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.journey-card::before { content: counter(step); position: absolute; top: -46px; inset-inline-start: calc(50% - 19px); width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: var(--white); color: var(--navy); border: 2px solid var(--gold); font-weight: 700; font-family: var(--font-serif); box-shadow: rgba(201, 162, 84, 0.35) 0px 3px 10px; z-index: 1; }
.journey-card.is-done::before { background: var(--gold); color: var(--navy-deep); }
.journey-card.is-current { border-top: 3px solid var(--gold); box-shadow: rgba(201, 162, 84, 0.2) 0px 10px 30px; }
.journey-card.is-current::before { background: var(--navy); color: var(--gold-light); border-color: var(--gold); box-shadow: rgba(201, 162, 84, 0.25) 0px 0px 0px 5px; }
.journey-card h3 { margin-bottom: 2px; }
.journey-sub { color: var(--teal-dark); font-size: 0.88rem; font-weight: 600; display: block; margin-bottom: 10px; }
.journey-card p { margin: 0px; font-size: 0.98rem; color: rgb(67, 80, 107); }
.journey-cta { text-align: center; margin: 36px 0px 0px; }
.section-plans { background: var(--white); }

.section-gala-memories { overflow: hidden; background: linear-gradient(180deg, var(--cream) 0%, #eee3d1 100%); }
.gala-featured { max-width: 1060px; margin: 0 auto 34px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 18px; align-items: stretch; }
.gala-featured-card { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: var(--radius-l); background: var(--navy-deep); box-shadow: var(--shadow-l); }
.gala-featured-card-primary { transform: translateY(-8px); }
.gala-featured-card img { width: 100%; height: 100%; min-height: 310px; display: block; object-fit: cover; }
.gala-featured-card-secondary img { object-position: center 42%; }
.gala-featured-card::after { content: ""; position: absolute; inset: 42% 0 0; background: linear-gradient(transparent, rgba(7, 17, 31, .92)); pointer-events: none; }
.gala-featured-card figcaption { position: absolute; z-index: 1; inset-inline: 24px; bottom: 20px; display: grid; color: var(--cream); text-shadow: 0 2px 12px rgba(0, 0, 0, .65); }
.gala-featured-card figcaption strong { color: var(--gold-light); font: 700 clamp(1.35rem, 3vw, 2rem) var(--font-serif); }
.gala-featured-card figcaption span { font-size: .92rem; }
.gala-gallery { max-width: 1060px; margin-inline: auto; }
.gala-gallery-stage { position: relative; overflow: hidden; aspect-ratio: 3 / 2; border: 6px solid var(--white); border-radius: var(--radius-l); background: var(--navy-deep); box-shadow: var(--shadow-l); touch-action: pan-y; }
.gala-gallery-stage > img { width: 100%; height: 100%; display: block; object-fit: cover; }
.gala-gallery-arrow { position: absolute; top: 50%; width: 48px; height: 48px; display: grid; place-items: center; transform: translateY(-50%); border: 1px solid rgba(255, 255, 255, .5); border-radius: 50%; background: rgba(7, 17, 31, .78); color: var(--white); font: 500 1.65rem var(--font-sans); cursor: pointer; backdrop-filter: blur(6px); transition: transform var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease); }
.gala-gallery-arrow:hover { background: var(--teal-dark); transform: translateY(-50%) scale(1.06); }
.gala-gallery-arrow:focus-visible, .gala-gallery-thumbs button:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 3px; }
.gala-gallery-prev { inset-inline-start: 18px; }
.gala-gallery-next { inset-inline-end: 18px; }
.gala-gallery-counter { position: absolute; left: 18px; bottom: 16px; margin: 0; padding: 6px 13px; border-radius: 999px; background: rgba(7, 17, 31, .78); color: var(--cream); direction: rtl; font-weight: 600; backdrop-filter: blur(6px); }
.gala-gallery-thumbs { max-width: 100%; display: flex; gap: 9px; margin-top: 16px; padding: 4px 4px 12px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-color: var(--gold) transparent; }
.gala-gallery-thumbs button { flex: 0 0 104px; padding: 0; overflow: hidden; aspect-ratio: 3 / 2; border: 3px solid transparent; border-radius: 10px; background: var(--navy-deep); opacity: .64; cursor: pointer; transition: opacity var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease); }
.gala-gallery-thumbs button:hover { opacity: .9; transform: translateY(-2px); }
.gala-gallery-thumbs button[aria-pressed="true"] { border-color: var(--gold); opacity: 1; }
.gala-gallery-thumbs img { width: 100%; height: 100%; display: block; object-fit: cover; }
.gala-memories-thanks { max-width: 44em; margin: 12px auto 0; color: var(--text-secondary); }
.gala-gallery-hint { margin: 4px 0 0; color: var(--text-muted); font-size: .88rem; text-align: center; }
.gala-gallery-stage > img { transition: opacity var(--dur) var(--ease); }
.gala-gallery-stage > img.is-changing { opacity: .35; }
.bank-transfer { max-width: 860px; margin: 28px auto 0; padding: clamp(22px, 3.5vw, 34px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(18px, 3vw, 34px); align-items: center; border: 1px solid rgba(201, 162, 84, .48); border-radius: var(--radius-l); background: linear-gradient(135deg, var(--navy-deep), #17324b); color: var(--cream); box-shadow: 0 14px 34px rgba(14, 26, 46, .15); }
.bank-transfer h3 { margin: 4px 0 10px; color: var(--cream); font-size: clamp(1.3rem, 2.6vw, 1.7rem); }
.bank-transfer .section-kicker { color: var(--gold-light); }
.bank-transfer-copy p { margin: 0 0 10px; color: var(--text-on-dark); }
.bank-transfer-copy strong { color: var(--gold-light); }
.bank-transfer-note { font-size: .92rem; color: var(--text-on-dark-muted) !important; }
.bank-transfer-note a { color: var(--gold-light); font-weight: 600; }
.bank-transfer-details { margin: 0; padding: 6px 18px; border-radius: var(--radius); background: rgba(247, 241, 230, .07); border: 1px solid rgba(227, 201, 139, .28); }
.bank-transfer-details > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(227, 201, 139, .18); }
.bank-transfer-details > div:last-child { border-bottom: 0; }
.bank-transfer-details dt { color: var(--text-on-dark-muted); font-size: .9rem; }
.bank-transfer-details dd { margin: 0; display: flex; align-items: center; gap: 10px; color: var(--cream); font-weight: 700; font-size: 1.05rem; }
.bank-transfer-account dd span { font-family: var(--font-serif); font-size: 1.25rem; color: var(--gold-light); letter-spacing: .04em; }
.bank-copy-btn { padding: 5px 12px; border: 1px solid rgba(227, 201, 139, .6); border-radius: 999px; background: transparent; color: var(--gold-light); font: 600 .82rem var(--font-sans); cursor: pointer; }
.bank-copy-btn:hover { background: var(--gold); color: var(--navy-deep); }
.bank-copy-btn:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 2px; }
.section-header-center { margin-inline: auto; text-align: center; }
.donation-builder { max-width: 860px; margin: 0 auto; padding: 34px; background: linear-gradient(145deg, rgb(255, 253, 248), rgb(247, 241, 230)); border: 1px solid var(--cream-dark); border-top: 4px solid var(--gold); border-radius: var(--radius-l); box-shadow: 0 18px 44px rgba(14, 26, 46, 0.11); }
.donation-builder-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.donation-field { display: grid; gap: 9px; }
.donation-field > label, .custom-donation-field label { color: var(--navy); font-weight: 700; }
.donation-field select, .custom-donation-field input { width: 100%; min-height: 54px; padding: 11px 14px; border: 1px solid rgb(195, 204, 216); border-radius: 12px; background: var(--white); color: var(--ink); font: inherit; font-weight: 500; }
.donation-field select { appearance: none; padding-inline-end: 46px; background-image: linear-gradient(45deg, transparent 50%, var(--navy) 50%), linear-gradient(135deg, var(--navy) 50%, transparent 50%); background-position: calc(18px) calc(50% - 3px), calc(12px) calc(50% - 3px); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; cursor: pointer; }
.donation-field select:focus, .custom-donation-field input:focus { border-color: var(--teal); outline: 3px solid rgba(63, 163, 168, 0.23); outline-offset: 1px; }
.custom-donation-field { display: grid; gap: 7px; margin-top: 4px; padding: 14px; background: rgba(255, 253, 248, 0.75); border: 1px solid var(--cream-dark); border-radius: 12px; }
.custom-donation-field label { font-size: 0.92rem; }
.input-with-suffix { position: relative; }
.input-with-suffix input { padding-inline-end: 42px; }
.input-with-suffix span { position: absolute; top: 50%; inset-inline-end: 16px; transform: translateY(-50%); color: var(--teal-dark); font-weight: 700; pointer-events: none; }
.donation-summary { margin: 28px 0 22px; padding: 22px; border-radius: var(--radius); background: var(--navy); color: var(--cream); text-align: center; }
.donation-summary-intro { margin: 0; color: var(--text-on-dark-muted); }
.donation-summary-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; }
.donation-summary-values > div { padding: 2px 18px; border-inline-start: 1px solid rgba(247, 241, 230, 0.18); }
.donation-summary-values > div:first-child { border-inline-start: none; }
.donation-summary-values dt { color: var(--text-on-dark-muted); font-size: 0.88rem; }
.donation-summary-values dd { margin: 3px 0 0; color: var(--white); font-family: var(--font-serif); font-size: 1.35rem; font-weight: 700; }
.donation-summary-values .donation-summary-total dd { color: var(--gold-light); font-size: 1.65rem; }
.donation-validation { max-width: 560px; margin: -8px auto 18px; padding: 10px 14px; border-radius: 9px; background: rgb(253, 240, 238); color: rgb(138, 50, 38); text-align: center; font-size: 0.92rem; }
.donation-actions { display: grid; justify-items: center; gap: 12px; }
.donation-actions .btn { min-width: min(100%, 330px); }
.donation-payment-note { display: flex; align-items: flex-start; justify-content: center; gap: 7px; max-width: 650px; margin: 0; color: var(--text-secondary); text-align: center; font-size: 0.88rem; line-height: 1.55; }
.donation-payment-note .icon { margin-top: 3px; color: var(--teal-dark); }
.plans-explanation { display: flex; align-items: center; gap: 14px; max-width: 720px; margin: 0px auto 26px; background: rgb(238, 243, 249); border: 1px solid rgb(212, 224, 238); border-inline-start: 4px solid var(--teal-dark); border-radius: var(--radius); padding: 14px 18px; color: var(--navy); }
.plans-explanation .explanation-icon { flex: 0 0 auto; color: var(--teal-dark); }
.plans-explanation p { margin: 0px; font-weight: 600; font-size: 1rem; }
.plans-accordion { max-width: 860px; margin: 0px auto 26px; display: grid; gap: 14px; }
.accordion-item { background: rgb(242, 245, 250); border: 1px solid rgb(217, 226, 238); border-radius: var(--radius); overflow: hidden; transition: border-color 0.2s, background 0.2s; }
.accordion-item.is-open { background: var(--white); border-color: var(--gold); box-shadow: rgba(201, 162, 84, 0.16) 0px 8px 26px; }
.accordion-header { margin: 0px; }
.accordion-toggle { display: flex; align-items: center; gap: 18px; width: 100%; text-align: start; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 18px 22px; font: inherit; color: var(--ink); }
.accordion-head-main { display: flex; flex-direction: column; gap: 2px; flex: 1 1 0%; }
.accordion-plan-title { font-family: var(--font-serif); font-weight: 700; font-size: 1.25rem; color: var(--navy); }
.accordion-plan-desc { font-size: 0.92rem; color: rgb(90, 102, 127); }
.accordion-head-amount { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; }
.accordion-monthly { font-family: var(--font-serif); font-size: 1.55rem; font-weight: 700; color: var(--teal-dark); }
.accordion-keva { font-size: 0.85rem; font-weight: 600; color: var(--navy); }
.accordion-durations-hint { font-size: 0.8rem; color: rgb(107, 118, 144); }
.accordion-arrow { flex: 0 0 auto; color: var(--gold); transition: transform var(--dur) var(--ease); }
.accordion-arrow .icon { width: 20px; height: 20px; display: block; }
.accordion-item.is-open .accordion-arrow { transform: rotate(180deg); }
.accordion-panel { padding: 4px 22px 22px; }
.duration-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.duration-card { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; background: var(--cream); border: 1px solid var(--cream-dark); border-radius: 12px; padding: 16px 16px 14px; }
.duration-monthly { font-family: var(--font-serif); font-size: 1.25rem; font-weight: 700; color: var(--navy); margin: 0px; }
.duration-length { font-size: 0.95rem; color: rgb(90, 102, 127); margin: 0px 0px 6px; }
.duration-total { font-size: 0.92rem; font-weight: 600; color: var(--teal-dark); margin: 0px 0px 12px; }
.duration-select { justify-content: center; width: 100%; font-size: 0.92rem; padding: 10px 14px; margin-top: auto; }
.plans-disclaimer { max-width: 760px; margin: 0px auto 26px; font-size: 0.9rem; color: rgb(107, 118, 144); text-align: center; background: var(--cream); border-radius: var(--radius); padding: 14px 20px; }
.donation-category-heading { text-align: center; font-size: 1.15rem; color: var(--navy); margin: 0px 0px 18px; }
.flexible-options { max-width: 950px; margin: 40px auto 0px; border-top: 1px solid var(--cream-dark); padding-top: 34px; }
.flexible-options .section-header { margin-bottom: 24px; }
.flexible-options h3 { font-size: 1.3rem; }
.flexible-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; align-items: stretch; }
.flexible-card { display: flex; flex-direction: column; align-items: center; text-align: center; background: var(--cream); border: 1px solid var(--cream-dark); border-radius: var(--radius); padding: 28px 24px; box-shadow: var(--shadow-s); transition: transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease); }
.flexible-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.flexible-card-icon { width: 40px; height: 40px; color: var(--teal-dark); margin-bottom: 14px; }
.flexible-card h4 { font-family: var(--font-serif); font-size: 1.15rem; color: var(--navy); margin: 0px 0px 8px; }
.flexible-card p { font-size: 0.96rem; color: rgb(67, 80, 107); margin: 0px 0px 18px; max-width: 30em; }
.flexible-card-btn { margin-top: auto; width: 100%; max-width: 280px; justify-content: center; }
.flexible-card-note { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 12px 0px 0px; font-size: 0.86rem; color: var(--text-muted); }
.flexible-card-note .icon { width: 16px; height: 16px; color: var(--teal-dark); flex: 0 0 auto; }
.major-dedications-teaser { max-width: 560px; margin: 34px auto 0px; text-align: center; border-top: 1px solid var(--cream-dark); padding-top: 26px; }
.major-dedications-teaser h3 { font-size: 1.1rem; color: var(--navy); margin-bottom: 14px; }
.dedication-modal { border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: var(--radius); padding: 0px; max-width: 520px; width: calc(100% - 32px); box-shadow: rgba(4, 10, 20, 0.45) 0px 30px 80px; }
.dedication-modal::backdrop { background: rgba(10, 19, 33, 0.62); backdrop-filter: blur(3px); }
.dedication-form { padding: 28px 26px; position: relative; max-height: 86vh; overflow-y: auto; }
.modal-close { position: absolute; top: 14px; inset-inline-end: 14px; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; font-size: 1.1rem; cursor: pointer; color: rgb(90, 102, 127); padding: 6px 10px; border-radius: 8px; }
.modal-close:hover { background: var(--cream); color: var(--navy); }
.modal-plan-title { margin-bottom: 8px; }
.modal-plan-summary { display: grid; grid-template-columns: auto 1fr; gap: 3px 14px; background: var(--cream); border-radius: 10px; padding: 12px 16px; margin: 0px 0px 12px; font-size: 0.95rem; }
.modal-plan-summary dt { color: rgb(90, 102, 127); }
.modal-plan-summary dd { margin: 0px; font-weight: 600; color: var(--navy); }
.modal-plan-desc { font-size: 0.95rem; color: rgb(67, 80, 107); margin-bottom: 16px; }
.modal-payment-note { font-size: 0.88rem; color: var(--teal-dark); font-weight: 600; margin: 0px 0px 14px; }
.modal-fieldset { border-width: medium; border-style: none; border-color: currentcolor; border-image: none; margin: 0px 0px 6px; padding: 0px; }
.modal-fieldset legend { font-family: var(--font-serif); font-weight: 700; color: var(--navy); font-size: 1.08rem; margin-bottom: 2px; }
.modal-sub { font-size: 0.88rem; color: rgb(107, 118, 144); margin-bottom: 10px; }
.dedication-types { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.dedication-type-option { display: inline-flex; align-items: center; gap: 6px; background: var(--cream); border: 1px solid var(--cream-dark); border-radius: 999px; padding: 7px 14px; font-size: 0.9rem; cursor: pointer; }
.dedication-type-option:has(input:checked) { background: var(--navy); color: var(--cream); border-color: var(--navy); }
.modal-fields { display: grid; gap: 4px; margin-bottom: 12px; }
.modal-fields label { font-size: 0.9rem; font-weight: 600; color: var(--navy); margin-top: 8px; }
.modal-fields input, .modal-fields textarea, .modal-fields select { font: inherit; padding: 10px 12px; border: 1px solid var(--cream-dark); border-radius: 10px; background: var(--white); color: var(--ink); }
.modal-validation { background: rgb(253, 240, 238); color: rgb(138, 50, 38); border-inline-start: 4px solid rgb(192, 86, 63); padding: 10px 14px; border-radius: 8px; font-size: 0.92rem; }
.modal-notice { background: var(--cream); border-radius: 10px; padding: 12px 14px; font-size: 0.88rem; color: rgb(90, 102, 127); margin: 12px 0px 16px; }
.modal-actions { display: flex; }
.modal-actions .btn { flex: 1 1 0%; justify-content: center; }
.video-fallback { text-align: center; padding: 18px 8px 6px; font-size: 0.95rem; color: var(--cream); }
.video-fallback a { color: var(--gold-light); font-weight: 600; }
.section-major-dedications { background: var(--cream); }
.major-grid { list-style: none; margin: 0px 0px 22px; padding: 0px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
.major-card { display: flex; flex-direction: column; background: var(--white); border-radius: var(--radius); padding: 24px 22px; box-shadow: rgba(14, 26, 46, 0.07) 0px 4px 16px; border-top: 3px solid var(--gold); }
.major-card h3 { margin-bottom: 6px; }
.major-desc { font-size: 0.94rem; color: rgb(67, 80, 107); margin-bottom: 10px; }
.major-exclusive { color: var(--gold); font-weight: 700; font-size: 0.85rem; margin: 0px 0px 4px; }
.major-price { margin: auto 0px 14px; font-weight: 600; color: var(--teal-dark); font-size: 0.95rem; }
.major-contact { justify-content: center; font-size: 0.92rem; padding: 10px 18px; }
.major-show-all { text-align: center; margin: 0px 0px 10px; }
.dedications-cta { margin-top: 8px; font-size: 1.05rem; }
.section-benefits { background: var(--white); }
.benefits-list { list-style: none; margin: 0px 0px 16px; padding: 0px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 24px; max-width: 820px; }
.benefit-item { position: relative; padding-inline-start: 26px; font-size: 1rem; color: rgb(67, 80, 107); }
.benefit-item::before { content: ""; position: absolute; inset-inline-start: 2px; top: 0.5em; width: 8px; height: 8px; background: var(--gold); transform: rotate(45deg); border-radius: 1.5px; }
.benefits-caveat { font-size: 0.88rem; color: rgb(107, 118, 144); margin: 0px; }
.section-faq { background: var(--white); }
.faq-list { max-width: 820px; display: grid; gap: 12px; }
.faq-item { background: var(--cream); border: 1px solid var(--cream-dark); border-radius: var(--radius-s); overflow: hidden; transition: border-color var(--dur-fast) var(--ease); }
.faq-item.is-open { border-color: var(--gold); background: var(--white); }
.faq-q { margin: 0px; }
.faq-toggle { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; cursor: pointer; padding: 15px 18px; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; text-align: start; font-weight: 600; color: var(--navy); font-size: 1.02rem; }
.faq-toggle .icon { color: var(--gold); transition: transform var(--dur) var(--ease); width: 18px; height: 18px; }
.faq-item.is-open .faq-toggle .icon { transform: rotate(180deg); }
.faq-panel { padding: 0px 18px 16px; }
.faq-panel p { margin: 0px; color: rgb(67, 80, 107); font-size: 0.98rem; }
@keyframes fade-up { 
  0% { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: none; }
}
.accordion-item.is-open .duration-card { animation: fade-up 0.4s var(--ease) both; }
.accordion-item.is-open .duration-card:nth-child(2) { animation-delay: 0.07s; }
.accordion-item.is-open .duration-card:nth-child(3) { animation-delay: 0.14s; }
html.js img[loading="lazy"] { opacity: 0; transition: opacity 0.45s var(--ease); }
html.js img[loading="lazy"].is-loaded { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  html.js img[loading="lazy"] { opacity: 1; }
}
.section-partners-wall { background: var(--cream); }
.partners-placeholder { background: var(--white); border-radius: var(--radius); padding: 22px 24px; max-width: 640px; box-shadow: rgba(14, 26, 46, 0.06) 0px 4px 16px; color: rgb(74, 86, 112); }
.partners-names { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 10px; }
.partners-names li { background: var(--white); border-radius: 999px; padding: 8px 18px; box-shadow: rgba(14, 26, 46, 0.06) 0px 3px 10px; }
.trust-grid { list-style: none; margin: 0px 0px 20px; padding: 0px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.trust-card { background: var(--white); border-radius: var(--radius); padding: 20px 22px; border-inline-start: 4px solid var(--gold); box-shadow: rgba(14, 26, 46, 0.06) 0px 4px 16px; }
.trust-card strong { display: block; color: var(--navy); margin-bottom: 4px; }
.trust-card span { font-size: 0.95rem; color: rgb(74, 86, 112); }
.trust-note { background: var(--cream-dark); border-radius: var(--radius); padding: 16px 20px; font-size: 0.98rem; margin: 0px; }
.section-cta { background: linear-gradient(115deg, var(--navy-deep), var(--teal-dark)); text-align: center; }
.section-cta h2 { color: var(--cream); max-width: 22em; margin-inline: auto; }
.cta-inner .btn { margin-top: 18px; }
.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; max-width: 820px; }
.contact-card { background: var(--white); border-radius: var(--radius); padding: 26px 24px; box-shadow: rgba(14, 26, 46, 0.07) 0px 4px 16px; }
.contact-card h3 { margin-bottom: 2px; }
.contact-role { color: rgb(90, 102, 127); font-size: 0.94rem; margin-bottom: 14px; }
.contact-card a.btn { font-size: 0.98rem; padding: 10px 22px; }
.contact-card-main { text-align: center; max-width: 460px; margin-inline: auto; }
.contact-card-main .contact-role { margin-bottom: 6px; }
.contact-card-main h3 { font-size: 1.5rem; margin-bottom: 4px; }
.contact-phone-display { font-family: var(--font-serif); font-size: 1.7rem; font-weight: 700; color: var(--teal-dark); margin: 0px 0px 16px; font-variant-numeric: tabular-nums; unicode-bidi: isolate; }
.contact-card-main .contact-call-btn { font-size: 1.1rem; }
.site-footer { background: var(--navy-deep); color: rgb(207, 199, 180); padding-block: 36px; }
.footer-inner { display: grid; gap: 12px; }
.footer-brand { display: flex; align-items: center; gap: 12px; }
.footer-brand img { border-radius: 50%; }
.footer-brand p, .footer-org, .footer-access { margin: 0px; font-size: 0.95rem; }
.footer-brand strong { color: var(--cream); }
.site-footer a { color: var(--gold-light); }
@media (max-width: 960px) {
  .story-grid, .vision-grid { grid-template-columns: 1fr; }
  .features-grid, .journey-grid, .trust-grid, .major-grid { grid-template-columns: repeat(2, 1fr); }
  .duration-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .brand-text small { display: none; }
  .journey-grid { grid-template-columns: 1fr; gap: 26px; padding: 6px 0px 0px; padding-inline-start: 56px; }
  .journey-grid::before { top: 6px; bottom: 6px; height: auto; width: 2px; inset-inline: 19px auto; }
  .journey-grid::after { top: 6px; height: 0px; width: 2px; inset-inline: 19px auto; background: linear-gradient(to bottom, var(--gold), var(--gold-light)); transition: height 1.1s var(--ease) 0.2s; }
  .journey-grid.is-filled::after { height: calc(100% - 12px); width: 2px; }
  .journey-card::before { top: 6px; inset-inline-start: -56px; }
  .hero-stats-inner { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 768px) {
  .header-inner { padding-block: 10px; flex-wrap: wrap; position: relative; }
  .brand img { width: 44px; height: 44px; }
  .brand-text strong { font-size: 1.1rem; }
  .btn-header { display: none; }
  .nav-toggle { display: block; margin-inline-start: auto; }
  .nav-menu { display: none; position: absolute; top: 100%; inset-inline: 0px; flex-direction: column; background: var(--navy-deep); border-bottom: 1px solid rgba(201, 162, 84, 0.4); padding: 10px 16px 16px; box-shadow: var(--shadow); }
  .nav-menu a { font-size: 1.05rem; padding: 12px; }
  .nav-menu.is-open { display: flex; }
  .site-nav { position: static; margin-inline-start: 0px; order: 3; }
  .menu-donate-item { display: block; margin-top: 6px; }
  .menu-donate-item .btn { width: 100%; padding: 12px; font-size: 1rem; }
  .hero { padding-top: 64px; }
  .hero-eyebrow { font-size: 1.05rem; margin-bottom: 14px; }
  .hero h1 { font-size: clamp(38px, 10.5vw, 46px); line-height: 1.15; margin-bottom: 16px; }
  .compare-range, .compare-handle, .compare-hint { display: none; }
  .compare-buttons { justify-content: center; }
  .compare-buttons .btn { flex: 1 1 0%; }
  .figure-secondary { width: 100%; margin-top: 16px; }
  .sticky-cta { display: block; }
  body { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 680px) {
  .features-grid, .journey-grid, .trust-grid, .contact-grid, .major-grid, .flexible-cards, .donation-builder-grid { grid-template-columns: 1fr; }
  .donation-builder { padding: 24px 18px; }
  .donation-summary-values { grid-template-columns: 1fr; }
  .donation-summary-values > div, .donation-summary-values > div:first-child { padding: 9px 6px; border-inline-start: none; border-top: 1px solid rgba(247, 241, 230, 0.18); }
  .donation-summary-values > div:first-child { border-top: none; }
  .donation-actions .btn { min-width: 100%; }
  .journey-grid { gap: 34px; }
  .benefits-list { grid-template-columns: 1fr; }
  .flexible-options { margin-top: 30px; padding-top: 28px; }
  .flexible-card-btn { max-width: none; }
  .accordion-toggle { flex-wrap: wrap; gap: 8px 14px; padding: 16px 18px; }
  .accordion-head-main { flex: 1 1 100%; }
  .accordion-head-amount { align-items: flex-start; }
  .accordion-arrow { margin-inline-start: auto; }
  .accordion-panel { padding: 2px 16px 18px; }
  .duration-grid { grid-template-columns: 1fr; }
  .dedication-form { padding: 22px 18px; }
  .dedication-types { gap: 6px; }
  .dedication-type-option { font-size: 0.88rem; padding: 7px 12px; }
  .contact-card-main .contact-call-btn { width: 100%; justify-content: center; padding: 16px 20px; font-size: 1.15rem; }
  .gala-featured { grid-template-columns: 1fr; gap: 14px; }
  .gala-featured-card-primary { transform: none; }
  .gala-featured-card img { min-height: 250px; }
  .gala-gallery-stage { border-width: 3px; border-radius: 16px; }
  .gala-gallery-arrow { width: 42px; height: 42px; }
  .gala-gallery-prev { inset-inline-start: 10px; }
  .gala-gallery-next { inset-inline-end: 10px; }
  .gala-gallery-counter { left: 10px; bottom: 10px; }
  .gala-gallery-thumbs button { flex-basis: 82px; }
  .bank-transfer { grid-template-columns: 1fr; }
  .bank-transfer-details { padding: 4px 14px; }
}
@media (max-width: 1100px) and (min-width: 769px) {
  .nav-faq-item { display: none; }
  .nav-menu { gap: 0; }
  .nav-menu a { padding: 8px 8px; font-size: .94rem; }
  .btn-header { padding: 8px 16px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(230px, 300px); }
  .hero-panel { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 28px; align-items: start; }
  .hero-panel > :nth-child(-n+3) { grid-column: 1; }
  .hero-panel > :nth-child(n+4) { grid-column: 2; }
  .hero-panel-amounts { grid-row: 1 / span 2; }
  .hero-panel #hero-donate { grid-row: 3; }
}
@media (max-width: 768px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-block: 30px 34px; }
  .hero-content { text-align: center; }
  .hero-subtitle { margin-inline: auto; max-width: 30em; }
  .hero-vision-points { justify-items: center; }
  .hero-video-frame { width: min(100%, 320px); max-height: none; }
  .hero-panel { max-width: 460px; width: 100%; margin-inline: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .gala-gallery-stage > img { transition: none; }
}
