/* ==========================================================================
   Section system (home, about, events) — one rhythm for every section.
   ========================================================================== */
:root { --wh-y: 96px; }
.wh-section { padding: var(--wh-y) 32px; background: #fff; }
.wh-section--tint { background: linear-gradient(180deg, #eef4fb 0%, #f7fafd 100%); }
.wh-section--soft { background: var(--wa-soft); }
.wh-section--navy { background: var(--wa-navy); background-image: radial-gradient(circle at 85% 0%, rgba(74,127,213,.35), transparent 45%); color: #fff; }
.wh-wrap { max-width: 1200px; margin: 0 auto; }

/* Section heading */
.wh-head { text-align: center; max-width: 720px; margin: 0 auto 52px; }
.wh-head--left { text-align: left; margin: 0 0 22px; }
.wh-eyebrow { margin: 0 0 12px; font: 700 12px/1 var(--wa-head); letter-spacing: .16em; text-transform: uppercase; color: var(--wa-red); }
.wh-title { margin: 0; font: 800 clamp(28px, 3vw, 40px)/1.15 var(--wa-head); color: var(--wa-navy); letter-spacing: -.015em; }
.wh-sub { margin: 16px 0 0; font-size: 18px; line-height: 1.65; color: var(--wa-body); }
.wh-sub strong { color: var(--wa-red); font-weight: 700; }
.wh-head--light .wh-eyebrow { color: #9cc0ff; }
.wh-head--light .wh-title { color: #fff; }
.wh-head--light .wh-sub { color: rgba(255,255,255,.85); }
.wh-head--light .wh-sub strong { color: #fff; }
.wh-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.wh-more { text-align: center; margin: 36px 0 0; }
.wh-more a { font: 700 15px/1 var(--wa-head); color: var(--wa-navy); }
.wh-more a:hover { color: var(--wa-red); }

/* How we help — feature cards */
.wh-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.wh-feature { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--wa-line); border-radius: 14px; overflow: hidden;
  text-decoration: none !important; color: inherit; box-shadow: 0 4px 18px rgba(0,49,97,.06); transition: transform .2s, box-shadow .2s; }
.wh-feature:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(0,49,97,.14); }
.wh-feature__media { position: relative; aspect-ratio: 16 / 10; background: var(--accent); overflow: hidden; display: block; }
.wh-feature__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, var(--accent)); opacity: .55; }
.wh-feature__media img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: 50% 30%; display: block; transition: transform .5s; }
.wh-feature:hover .wh-feature__media img { transform: scale(1.04); }
.wh-feature__body { display: flex; flex-direction: column; gap: 12px; padding: 26px 26px 28px; flex: 1; border-top: 4px solid var(--accent); }
.wh-feature__title { font: 800 21px/1.25 var(--wa-head); color: var(--wa-navy); }
.wh-feature__text { font-size: 15.5px; line-height: 1.65; color: var(--wa-body);
  display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.wh-feature__link { margin-top: auto; padding-top: 6px; font: 700 13px/1 var(--wa-head); letter-spacing: .06em; text-transform: uppercase; color: var(--wa-red); }

/* Founder */
.wh-founder__grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 72px; align-items: center; }
.wh-founder__lead { margin: 0 0 24px; font-size: 18px; line-height: 1.7; color: var(--wa-body); }
.wh-founder__lead a { color: var(--wa-red); font-weight: 700; }
.wh-creds { list-style: none; margin: 0 0 30px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
.wh-creds li { position: relative; padding-left: 30px; font-size: 15px; line-height: 1.45; color: var(--wa-ink); font-weight: 600; }
.wh-creds li::before { content: ""; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; background: var(--wa-navy)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat; }
.wh-fine { margin: 26px 0 0; font-size: 13px; color: var(--wa-muted); }
.wh-video { position: relative; margin: 0; }
.wh-video::before { content: ""; position: absolute; inset: 28px -28px -28px 28px; border-radius: 22px; background: var(--wa-navy); z-index: 0; }
.wh-video__frame { position: relative; z-index: 1; aspect-ratio: 9 / 14; border-radius: 22px; overflow: hidden; background: #0b1a2e;
  box-shadow: 0 30px 60px rgba(0,20,45,.30); border: 6px solid #fff; }
/* the clip has black bars baked in — scale it to fill the frame */
.wh-video__frame iframe { position: absolute; top: 50%; left: 50%; width: 100%; height: 138%; transform: translate(-50%, -50%); border: 0; }
.wh-video__cap { position: relative; z-index: 1; display: flex; align-items: center; gap: 10px; margin-top: 18px; padding: 0 0 0 48px; font: 700 14px/1 var(--wa-head); color: #fff; }
.wh-video__dot { width: 10px; height: 10px; border-radius: 50%; background: var(--wa-red); box-shadow: 0 0 0 5px rgba(181,18,27,.15); }

/* Voices */
.wh-voices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.wh-voice { margin: 0; padding: 32px 30px 28px; border-radius: 14px; background: var(--wa-soft); border: 1px solid var(--wa-line); display: flex; flex-direction: column; }
.wh-voice__mark { color: var(--wa-red); margin-bottom: 18px; }
.wh-voice blockquote { margin: 0 0 22px; font-size: 17px; line-height: 1.65; color: var(--wa-ink); flex: 1; }
.wh-voice figcaption strong { display: block; font: 800 15px/1.3 var(--wa-head); color: var(--wa-navy); }
.wh-voice figcaption span { display: block; font-size: 13px; color: var(--wa-muted); margin-top: 2px; }

/* Ways to help */
.wh-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.wh-way { display: flex; flex-direction: column; gap: 14px; padding: 34px 30px; border-radius: 14px; background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14); text-decoration: none !important; transition: background .2s, transform .2s, border-color .2s; }
.wh-way:hover { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); transform: translateY(-4px); }
.wh-way__icon { width: 56px; height: 56px; border-radius: 14px; background: var(--wa-red); color: #fff; display: flex; align-items: center; justify-content: center; }
.wh-way__title { font: 800 22px/1.2 var(--wa-head); color: #fff; text-transform: capitalize; }
.wh-way__text { font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.82); flex: 1; }
.wh-way__link { font: 700 13px/1 var(--wa-head); letter-spacing: .06em; text-transform: uppercase; color: #fff; }
.wh-way:hover .wh-way__link { color: #ffb3b8; }

/* Partners */
/* Partners */
.wh-pcards { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin-bottom: 40px; }
.wh-pcards > * { flex: 1 1 200px; max-width: 228px; }
.wh-pcard { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; padding: 28px 18px 24px; border-radius: 14px; background: #fff;
  border: 1px solid var(--wa-line); color: inherit; text-decoration: none !important; box-shadow: 0 4px 16px rgba(0,49,97,.05); transition: transform .2s, box-shadow .2s, border-color .2s; }
a.wh-pcard:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0,49,97,.12); border-color: var(--wa-sky); }
.wh-pcard__mark { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: var(--wa-navy); color: #fff;
  font: 800 18px/1 var(--wa-head); letter-spacing: .03em; box-shadow: 0 0 0 5px rgba(0,49,97,.08); }
.wh-pcard__mark.is-long { font-size: 14px; }
.wh-pcard:nth-child(3n+2) .wh-pcard__mark { background: var(--wa-red); box-shadow: 0 0 0 5px rgba(181,18,27,.08); }
.wh-pcard:nth-child(3n+3) .wh-pcard__mark { background: var(--wa-sky); box-shadow: 0 0 0 5px rgba(74,127,213,.12); }
.wh-pcard__name { font: 700 15px/1.35 var(--wa-head); color: var(--wa-navy); flex: 1; }
.wh-pcard__go { font: 700 12px/1 var(--wa-head); letter-spacing: .08em; text-transform: uppercase; color: var(--wa-red); }

/* Branches panel */
.wh-branches { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 48px; align-items: center; padding: 44px 48px; border-radius: 20px;
  background: var(--wa-navy); background-image: radial-gradient(circle at 100% 0%, rgba(74,127,213,.35), transparent 55%); color: #fff; margin-bottom: 40px; }
.wh-branches .wh-eyebrow { color: #9cc0ff; }
.wh-branches h3 { margin: 0 0 12px; font: 800 26px/1.2 var(--wa-head); color: #fff; }
.wh-branches__copy > p:last-child { margin: 0; font-size: 15.5px; line-height: 1.65; color: rgba(255,255,255,.82); }
.wh-branches__seals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.wh-seal { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.wh-seal__ring { width: 104px; height: 104px; border-radius: 50%; background: #fff; display: grid; place-items: center; padding: 6px;
  box-shadow: 0 0 0 4px rgba(255,255,255,.15), 0 10px 24px rgba(0,0,0,.25); transition: transform .3s; }
.wh-seal:hover .wh-seal__ring { transform: translateY(-4px); }
.wh-seal img { width: 100% !important; height: 100% !important; object-fit: contain; }
.wh-seal__name { font: 700 12px/1 var(--wa-head); letter-spacing: .12em; text-transform: uppercase; color: #fff; }

/* Trust strip */
.wh-trust { text-align: center; }
.wh-trust__line { margin: 0 0 16px; font-size: 15px; font-weight: 600; color: var(--wa-navy); }
.wh-trust ul { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.wh-trust li { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--wa-line);
  font: 700 13px/1.2 var(--wa-head); color: var(--wa-navy); }
.wh-trust li svg { color: #2e9a5a; flex: 0 0 20px; }
.wh-trust a { color: var(--wa-navy) !important; }
.wh-trust a:hover { color: var(--wa-red) !important; }
.wh-gfm { background: var(--wa-soft); padding: 0 32px 72px; }
.wh-gfm__card { display: flex; align-items: center; gap: 22px; padding: 26px 30px; border-radius: 16px; background: #fff; border: 1px solid var(--wa-line); border-left: 5px solid var(--wa-red); box-shadow: 0 10px 30px rgba(0,49,97,.08); }
.wh-gfm__icon { flex: 0 0 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: rgba(181,18,27,.09); color: var(--wa-red); }
.wh-gfm__text { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.wh-gfm__text strong { font: 800 20px/1.3 var(--wa-head); color: var(--wa-navy); }
.wh-gfm__text span { font-size: 15.5px; color: var(--wa-body); }
@media (max-width: 680px) { .wh-gfm__card { flex-direction: column; text-align: center; } }

/* Responsive */
@media (max-width: 1024px) {
  :root { --wh-y: 72px; }
  .wh-features, .wh-voices, .wh-ways { grid-template-columns: 1fr 1fr; }
  .wh-founder__grid { grid-template-columns: 1fr; gap: 56px; }
  .wh-video { max-width: 360px; margin: 0 auto; }
}
@media (max-width: 680px) {
  :root { --wh-y: 56px; }
  .wh-section { padding-left: 20px; padding-right: 20px; }
  .wh-features, .wh-voices, .wh-ways, .wh-creds { grid-template-columns: 1fr; }
  .wh-head { margin-bottom: 36px; }
  .wh-video::before { inset: 18px -14px -18px 14px; }
  .wh-branches { grid-template-columns: 1fr; padding: 32px 24px; text-align: center; gap: 28px; }
  .wh-branches__seals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wh-seal__ring { width: 88px; height: 88px; }
  .wh-pcards { gap: 10px; }
  .wh-pcards > * { flex: 1 1 100%; max-width: none; }
  .wh-pcard { flex-direction: row; text-align: left; gap: 14px; padding: 14px 16px; }
  .wh-pcard__mark { width: 48px; height: 48px; flex: 0 0 48px; font-size: 14px; box-shadow: none !important; }
  .wh-pcard__mark.is-long { font-size: 11px; }
  .wh-pcard__go { font-size: 0; }
  .wh-pcard__go span { font-size: 16px; }
}

/* ==========================================================================
   Events page
   ========================================================================== */
.ev-feature { display: grid; grid-template-columns: 240px minmax(0, 1fr); background: #fff; border: 1px solid var(--wa-line); border-radius: 16px; overflow: hidden; box-shadow: 0 10px 34px rgba(0,49,97,.08); scroll-margin-top: 120px; }
.ev-feature__date { background: var(--wa-navy); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 36px 20px; gap: 6px;
  background-image: radial-gradient(circle at 30% 0%, rgba(74,127,213,.45), transparent 60%); }
.ev-feature__wd { font: 700 13px/1 var(--wa-head); letter-spacing: .14em; text-transform: uppercase; color: #9cc0ff; }
.ev-feature__d { font: 800 84px/1 var(--wa-head); }
.ev-feature__my { font: 700 16px/1.2 var(--wa-head); }
.ev-feature__past { margin-top: 10px; padding: 5px 10px; border-radius: 4px; background: rgba(255,255,255,.15); font: 700 11px/1 var(--wa-head); letter-spacing: .1em; text-transform: uppercase; }
.ev-feature__body { padding: 38px 42px; }
.ev-feature__label { margin: 0 0 8px; font: 700 12px/1 var(--wa-head); letter-spacing: .14em; text-transform: uppercase; color: var(--wa-red); }
.ev-feature__title { margin: 0 0 14px; font: 800 clamp(22px, 2.2vw, 30px)/1.2 var(--wa-head); color: var(--wa-navy); }
.ev-feature__desc { margin: 0 0 22px; font-size: 17px; line-height: 1.65; color: var(--wa-body); }
.ev-meta { list-style: none; margin: 0 0 26px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; }
.ev-meta li { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: var(--wa-ink); }
.ev-meta svg { color: var(--wa-red); flex: 0 0 auto; }
.ev-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ev-zoom { margin: 18px 0 0; display: flex; flex-wrap: wrap; gap: 10px; font-size: 14px; color: var(--wa-muted); }
.ev-zoom span { padding: 8px 12px; border-radius: 6px; background: var(--wa-soft); }
.ev-zoom strong { color: var(--wa-ink); margin-left: 4px; font-family: ui-monospace, Menlo, Consolas, monospace; }
.ev-subhead { margin: 0 0 18px; font: 800 20px/1.2 var(--wa-head); color: var(--wa-navy); }
.ev-videos { margin-top: 48px; }
.ev-videos__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.ev-video { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border: 1px solid var(--wa-line); border-radius: 12px; background: #fff; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
.ev-video:hover { border-color: var(--wa-navy); box-shadow: 0 6px 18px rgba(0,49,97,.08); }
.ev-video__play { flex: 0 0 40px; height: 40px; border-radius: 50%; background: var(--wa-red); color: #fff; display: flex; align-items: center; justify-content: center; }
.ev-video strong { display: block; font: 700 15px/1.3 var(--wa-head); color: var(--wa-navy); }
.ev-video small { display: block; margin-top: 4px; font-size: 13px; line-height: 1.45; color: var(--wa-muted); }
.ev-empty { text-align: center; color: var(--wa-muted); font-size: 16px; }

.ev-schedule { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 40px; align-items: start; }
.ev-list { display: flex; flex-direction: column; gap: 10px; }
.ev-row { display: flex; align-items: center; gap: 16px; padding: 14px 16px; background: #fff; border: 1px solid var(--wa-line); border-radius: 12px; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
.ev-row:hover { border-color: var(--wa-navy); box-shadow: 0 6px 18px rgba(0,49,97,.08); }
.ev-row.is-current { border-color: var(--wa-red); box-shadow: inset 4px 0 0 var(--wa-red); }
.ev-row__date { flex: 0 0 58px; height: 58px; border-radius: 10px; background: var(--wa-soft); display: flex; flex-direction: column; align-items: center; justify-content: center;
  font: 700 11px/1 var(--wa-head); letter-spacing: .1em; text-transform: uppercase; color: var(--wa-muted); }
.ev-row__date b { font: 800 22px/1 var(--wa-head); color: var(--wa-navy); margin-bottom: 3px; letter-spacing: 0; }
.ev-row__text strong { display: block; font: 700 16px/1.3 var(--wa-head); color: var(--wa-ink); }
.ev-row__text small { display: block; margin-top: 4px; font-size: 13px; color: var(--wa-muted); }
.ev-cal { background: #fff; border: 1px solid var(--wa-line); border-radius: 16px; padding: 24px; box-shadow: 0 4px 18px rgba(0,49,97,.05); }
.ev-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.ev-cal__head h3 { margin: 0; font: 800 18px/1 var(--wa-head); color: var(--wa-navy); }
.ev-cal__nav { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--wa-line); display: flex; align-items: center; justify-content: center; color: var(--wa-navy) !important; font-weight: 700; }
.ev-cal__nav:hover { background: var(--wa-navy); color: #fff !important; border-color: var(--wa-navy); }
.ev-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; text-align: center; }
.ev-cal__wd { font: 700 11px/1 var(--wa-head); letter-spacing: .1em; color: var(--wa-muted); padding: 6px 0; }
.ev-cal__day { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; border-radius: 10px; font: 600 14px/1 var(--wa-head); color: var(--wa-body); }
.ev-cal__day.is-today { box-shadow: inset 0 0 0 2px var(--wa-sky); color: var(--wa-navy); }
a.ev-cal__day.has-event { background: var(--wa-red); color: #fff !important; font-weight: 800; }
a.ev-cal__day.has-event:hover { background: var(--wa-red-2); }
.ev-cal__legend { margin: 14px 0 0; font-size: 13px; color: var(--wa-muted); display: flex; align-items: center; gap: 8px; }
.ev-dot { width: 12px; height: 12px; border-radius: 4px; background: var(--wa-red); display: inline-block; }

.ev-res { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ev-res__card { position: relative; display: flex; flex-direction: column; gap: 6px; min-height: 96px; padding: 20px 44px 20px 20px; background: #fff; border: 1px solid var(--wa-line);
  border-left: 4px solid var(--wa-navy); border-radius: 10px; text-decoration: none !important; transition: border-color .15s, box-shadow .15s, transform .15s; }
.ev-res__card:nth-child(4n+2) { border-left-color: var(--wa-red); }
.ev-res__card:nth-child(4n+3) { border-left-color: var(--wa-sky); }
.ev-res__card:nth-child(4n+4) { border-left-color: #c8962e; }
.ev-res__card:hover { box-shadow: 0 8px 22px rgba(0,49,97,.1); transform: translateY(-2px); }
.ev-res__card strong { font: 700 15px/1.35 var(--wa-head); color: var(--wa-navy); }
.ev-res__card small { font-size: 13px; color: var(--wa-muted); }
.ev-res__go { position: absolute; top: 18px; right: 18px; color: var(--wa-muted); font-weight: 700; }
.ev-res__card:hover .ev-res__go { color: var(--wa-red); }
@media (max-width: 1024px) {
  .ev-schedule { grid-template-columns: 1fr; }
  .ev-res { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .ev-feature { grid-template-columns: 1fr; }
  .ev-feature__date { flex-direction: row; gap: 12px; padding: 20px; }
  .ev-feature__d { font-size: 44px; }
  .ev-feature__body { padding: 26px 22px; }
  .ev-res { grid-template-columns: 1fr; }
}

/* ==========================================================================
   About page
   ========================================================================== */
.ab-founder { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 72px; align-items: start; }
.ab-portrait { margin: 0; position: sticky; top: 140px; }
.ab-portrait__frame { position: relative; border-radius: 20px; overflow: hidden; aspect-ratio: 4 / 5; background: var(--wa-soft); box-shadow: 0 24px 50px rgba(0,30,70,.18); border: 6px solid #fff; z-index: 1; }
.ab-portrait__frame img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: top; display: block; }
.ab-portrait::before { content: ""; position: absolute; inset: 24px -24px 64px 24px; border-radius: 20px; background: var(--wa-red); opacity: .9; z-index: 0; }
.ab-portrait figcaption { position: relative; z-index: 1; margin-top: 22px; }
.ab-portrait figcaption strong { display: block; font: 800 19px/1.25 var(--wa-head); color: var(--wa-navy); }
.ab-portrait figcaption span { display: block; margin-top: 4px; font-size: 14px; color: var(--wa-muted); }
.ab-lead { margin: 0 0 26px; font-size: 19px; line-height: 1.7; color: var(--wa-ink); }
.ab-more { border-top: 1px solid var(--wa-line); padding-top: 18px; }
.ab-more summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 8px; font: 700 14px/1 var(--wa-head); letter-spacing: .06em; text-transform: uppercase; color: var(--wa-red); }
.ab-more summary::-webkit-details-marker { display: none; }
.ab-more summary::after { content: ""; display: inline-block; width: 14px; height: 14px; vertical-align: -2px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .2s; }
.ab-more[open] summary::after { transform: rotate(180deg); }
.ab-more__close, .ab-more[open] .ab-more__open { display: none; }
.ab-more[open] .ab-more__close { display: inline; }
.ab-more__body { margin-top: 18px; }
.ab-more__body p { margin: 0 0 16px; font-size: 16px; line-height: 1.75; color: var(--wa-body); }

.ab-videos .waiv-section { padding: 0 !important; background: none !important; }
.ab-videos .waiv-header { display: none; }

.ab-team { padding-top: var(--wh-y) !important; padding-bottom: var(--wh-y) !important; max-width: none !important; }
.ab-controls { display: flex !important; justify-content: center; gap: 10px; margin: -12px 0 36px !important; }
.ab-controls .wait-search, .ab-controls .wait-sort { height: 46px; border: 1px solid var(--wa-line) !important; border-radius: 10px !important; background: #fff; padding: 0 14px !important; font-size: 15px; }
.ab-controls .wait-search { width: 320px; max-width: 100%; }
.ab-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 22px !important; }
.ab-card { display: flex !important; flex-direction: column; align-items: center; text-align: center; padding: 30px 22px 24px !important; background: #fff !important; border: 1px solid var(--wa-line) !important;
  border-radius: 14px !important; box-shadow: 0 4px 16px rgba(0,49,97,.05) !important; transition: box-shadow .2s, transform .2s; }
.ab-card:hover { box-shadow: 0 14px 30px rgba(0,49,97,.12) !important; transform: translateY(-3px); }
.ab-card__avatar { width: 112px; height: 112px; border-radius: 50%; overflow: hidden; background: linear-gradient(135deg, var(--wa-navy), var(--wa-sky)); display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px; box-shadow: 0 0 0 5px #fff, 0 0 0 6px var(--wa-line); flex: 0 0 auto; }
.ab-card__avatar img { width: 100% !important; height: 100% !important; object-fit: cover; }
.ab-card__avatar span { font: 800 32px/1 var(--wa-head); color: #fff; letter-spacing: .04em; }
.ab-card__body { padding: 0 !important; width: 100%; }
.ab-card .wait-card-name { margin: 0 0 6px !important; font: 800 18px/1.3 var(--wa-head) !important; color: var(--wa-navy) !important; }
.ab-card .wait-card-title { margin: 0 0 12px !important; font: 700 12px/1.4 var(--wa-head) !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--wa-red) !important; min-height: 0 !important; }
.ab-card .wait-card-bio { font-size: 14.5px !important; line-height: 1.6 !important; color: var(--wa-body) !important; text-align: left; }

.ab-board { display: flex; align-items: center; gap: 32px; padding: 40px 44px; border-radius: 18px; background: var(--wa-navy); color: #fff;
  background-image: radial-gradient(circle at 90% 0%, rgba(74,127,213,.45), transparent 50%); }
.ab-board__icon { flex: 0 0 72px; height: 72px; border-radius: 18px; background: var(--wa-red); display: flex; align-items: center; justify-content: center; }
.ab-board__text { flex: 1; }
.ab-board__text .wh-eyebrow { color: #9cc0ff; margin-bottom: 8px; }
.ab-board__title { margin: 0 0 8px; font: 800 clamp(22px, 2.2vw, 28px)/1.25 var(--wa-head); color: #fff; }
.ab-board__text p { margin: 0; color: rgba(255,255,255,.85); font-size: 16px; line-height: 1.6; }
.ab-board__sub { margin-top: 6px !important; font-size: 14px !important; }
.ab-board .wa-btn { flex: 0 0 auto; }
@media (max-width: 1100px) { .ab-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 1024px) {
  .ab-founder { grid-template-columns: 1fr; gap: 48px; }
  .ab-portrait { position: relative; top: 0; max-width: 340px; margin: 0 auto; }
}
@media (max-width: 820px) { .ab-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } .ab-board { flex-direction: column; align-items: flex-start; padding: 30px 26px; } }
@media (max-width: 520px) { .ab-grid { grid-template-columns: 1fr !important; } .ab-controls { flex-direction: column; } .ab-controls .wait-search { width: 100%; } }

/* ==========================================================================
   Inner pages — What We Do, Why/Where, Testimonials, Membership, Sponsors,
   Jobs, GoFundMe
   ========================================================================== */
.wh-prose { font-size: 17px; line-height: 1.75; color: var(--wa-body); }
.wh-prose p { margin: 0 0 1em; }
.wh-prose p:last-child { margin-bottom: 0; }
.wh-prose a { color: var(--wa-red); font-weight: 600; }
.wh-textlink { display: inline-flex; gap: 6px; align-items: center; font: 700 14px/1 var(--wa-head); color: var(--wa-red) !important; text-decoration: none !important; }
.wh-textlink:hover { gap: 10px; }

/* Intro + quick links */
.wh-intro { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 64px; align-items: start; }
.wh-quick { background: var(--wa-soft); border: 1px solid var(--wa-line); border-radius: 14px; padding: 26px; display: flex; flex-direction: column; gap: 4px; }
.wh-quick__title { margin: 0 0 8px; font: 700 12px/1 var(--wa-head); letter-spacing: .16em; text-transform: uppercase; color: var(--wa-red); }
.wh-quick > a { display: flex; justify-content: space-between; align-items: center; padding: 13px 4px; border-bottom: 1px solid var(--wa-line);
  font: 700 15px/1.3 var(--wa-head); color: var(--wa-navy) !important; text-decoration: none !important; }
.wh-quick > a:hover { color: var(--wa-red) !important; }
.wh-quick__help { margin-top: 18px; padding: 20px; border-radius: 12px; background: var(--wa-navy); color: #fff; display: flex; flex-direction: column; gap: 6px; }
.wh-quick__help strong { font: 800 17px/1.3 var(--wa-head); }
.wh-quick__help > span:not(.wh-quick__links) { font-size: 14px; line-height: 1.55; color: rgba(255,255,255,.82); }
.wh-quick__links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.wh-quick__links a { padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.12); font: 700 13px/1 var(--wa-head); color: #fff !important; text-decoration: none !important; }
.wh-quick__links a:hover { background: #fff; color: var(--wa-navy) !important; }

/* Zigzag rows */
.wh-rows { display: flex; flex-direction: column; gap: 72px; }
.wh-row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 64px; align-items: center; }
.wh-row.is-flip .wh-row__media { order: 2; }
.wh-row__media { position: relative; border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--wa-navy); box-shadow: 0 20px 44px rgba(0,49,97,.14); }
.wh-row__media img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.wh-row__ph { position: absolute; inset: 0; display: grid; place-items: center; font: 800 96px/1 var(--wa-head); color: rgba(255,255,255,.25); }
.wh-row__num { margin: 0 0 10px; font: 800 14px/1 var(--wa-head); letter-spacing: .12em; color: var(--wa-red); }
.wh-row__title { margin: 0 0 16px; font: 800 clamp(22px, 2.2vw, 30px)/1.2 var(--wa-head); color: var(--wa-navy); }
.wh-row__text { font-size: 16.5px; line-height: 1.75; color: var(--wa-body); }
.wh-row__text p { margin: 0 0 .9em; }
.wh-row .wh-textlink { margin-top: 18px; }
.wh-ticks { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.wh-ticks li { position: relative; padding-left: 30px; font-size: 15.5px; line-height: 1.55; color: var(--wa-ink); }
.wh-ticks li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--wa-navy)
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }

/* Partner duo */
.wh-duo { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 28px; }
.wh-duo__card { padding: 34px; border-radius: 16px; background: #fff; border: 1px solid var(--wa-line); border-top: 4px solid var(--wa-navy); box-shadow: 0 6px 22px rgba(0,49,97,.06); }
.wh-duo__card:nth-child(2n) { border-top-color: var(--wa-red); }
.wh-duo__logo { max-height: 64px; width: auto !important; margin-bottom: 18px; }
.wh-duo__card h3 { margin: 0 0 12px; font: 800 22px/1.25 var(--wa-head); color: var(--wa-navy); }
.wh-duo__card p { margin: 0 0 18px; font-size: 15.5px; line-height: 1.7; color: var(--wa-body); }

/* Quote band */
.wh-quote { padding: var(--wh-y) 32px; background: var(--wa-navy); background-image: radial-gradient(circle at 15% 0%, rgba(74,127,213,.35), transparent 50%); color: #fff; text-align: center; }
.wh-quote .wh-wrap { max-width: 860px; }
.wh-quote__mark { color: #9cc0ff; margin: 0 auto 20px; display: block; }
.wh-quote blockquote { margin: 0; font: 600 clamp(20px, 2.2vw, 27px)/1.5 var(--wa-head); }
.wh-quote__by { margin: 26px 0 0; font-size: 15px; color: rgba(255,255,255,.8); }
.wh-quote__by strong { color: #fff; }
.wh-quote__more { display: inline-block; margin-top: 20px; font: 700 14px/1 var(--wa-head); color: #9cc0ff !important; }

/* FAQ */
.wh-faq { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; align-items: start; }
.wh-faq__list { display: flex; flex-direction: column; gap: 12px; }
.wh-q { background: #fff; border: 1px solid var(--wa-line); border-radius: 12px; overflow: hidden; }
.wh-q summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 20px 22px;
  font: 700 16.5px/1.4 var(--wa-head); color: var(--wa-navy); }
.wh-q summary::-webkit-details-marker { display: none; }
.wh-q__icon { flex: 0 0 28px; height: 28px; border-radius: 50%; background: var(--wa-soft); position: relative; }
.wh-q__icon::before, .wh-q__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; background: var(--wa-navy); transform: translate(-50%, -50%); transition: transform .2s; }
.wh-q__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.wh-q[open] .wh-q__icon { background: var(--wa-red); }
.wh-q[open] .wh-q__icon::before, .wh-q[open] .wh-q__icon::after { background: #fff; }
.wh-q[open] .wh-q__icon::after { transform: translate(-50%, -50%) rotate(0); }
.wh-q__a { padding: 0 22px 20px; font-size: 15.5px; line-height: 1.7; color: var(--wa-body); }
.wh-q__a p { margin: 0 0 .8em; }
.wh-crisis { position: sticky; top: 110px; padding: 30px; border-radius: 16px; background: #fff; border: 1px solid var(--wa-line); border-left: 5px solid var(--wa-red); box-shadow: 0 8px 26px rgba(0,49,97,.08); }
.wh-crisis h3 { margin: 0 0 10px; font: 800 21px/1.25 var(--wa-head); color: var(--wa-navy); }
.wh-crisis p { margin: 0 0 18px; font-size: 15px; line-height: 1.65; color: var(--wa-body); }
.wh-crisis .wa-btn { width: 100%; justify-content: center; }
.wh-crisis .wh-crisis__alt { margin: 16px 0 0; font-size: 14px; }
.wh-crisis__alt a { color: var(--wa-red); font-weight: 700; }

/* Testimonials page — photo in caption */
.wh-voice figcaption { display: flex; align-items: center; gap: 12px; }
.wh-voice__photo { width: 48px !important; height: 48px !important; border-radius: 50%; object-fit: cover; flex: 0 0 48px; }

/* Paths (membership & sponsors) */
.wh-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.wh-path { display: flex; flex-direction: column; gap: 10px; padding: 30px; border-radius: 16px; background: #fff; border: 1px solid var(--wa-line);
  text-decoration: none !important; color: inherit; box-shadow: 0 4px 18px rgba(0,49,97,.06); transition: transform .2s, box-shadow .2s, border-color .2s; }
.wh-path:hover { transform: translateY(-4px); box-shadow: 0 16px 36px rgba(0,49,97,.14); border-color: var(--wa-sky); }
.wh-path__icon { width: 54px; height: 54px; border-radius: 14px; display: grid; place-items: center; background: var(--wa-soft); color: var(--wa-navy); margin-bottom: 6px; }
.wh-path:nth-child(2) .wh-path__icon { color: #c8962e; }
.wh-path:nth-child(3) .wh-path__icon { color: var(--wa-red); }
.wh-path strong { font: 800 20px/1.25 var(--wa-head); color: var(--wa-navy); }
.wh-path span:not(.wh-path__icon) { font-size: 15px; line-height: 1.6; color: var(--wa-body); flex: 1; }
.wh-path em { font: 700 13px/1 var(--wa-head); font-style: normal; letter-spacing: .05em; text-transform: uppercase; color: var(--wa-red); margin-top: 6px; }

/* Plans */
.wh-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; align-items: stretch; }
.wh-plan { position: relative; display: flex; flex-direction: column; padding: 34px 28px 28px; border-radius: 16px; background: #fff; border: 1px solid var(--wa-line); box-shadow: 0 4px 18px rgba(0,49,97,.06); }
.wh-plan.is-featured { border: 2px solid var(--wa-navy); box-shadow: 0 18px 40px rgba(0,49,97,.16); transform: translateY(-8px); }
.wh-plan__badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); padding: 7px 14px; border-radius: 999px; background: var(--wa-red); color: #fff;
  font: 700 11px/1 var(--wa-head); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.wh-plan__name { margin: 0 0 14px; font: 800 14px/1 var(--wa-head); letter-spacing: .14em; text-transform: uppercase; color: var(--wa-red); }
.wh-plan__price { margin: 0; font: 800 40px/1 var(--wa-head); color: var(--wa-navy); letter-spacing: -.02em; }
.wh-plan__note { margin: 8px 0 0; min-height: 1.4em; font-size: 14px; color: var(--wa-muted); }
.wh-plan__desc { margin: 20px 0 24px; padding-top: 20px; border-top: 1px solid var(--wa-line); font-size: 15px; line-height: 1.65; color: var(--wa-body); flex: 1; }
.wh-plan__desc a { color: var(--wa-red); font-weight: 600; }
.wh-plan__btn { width: 100%; justify-content: center; }
.wh-note { max-width: 820px; margin: 36px auto 0; padding: 18px 22px; border-radius: 12px; background: rgba(74,127,213,.08); font-size: 14.5px; line-height: 1.65; color: var(--wa-body); text-align: center; }
.wh-note p { margin: 0 0 .5em; }
.wh-note p:last-child { margin: 0; }
.wh-note a { color: var(--wa-red); font-weight: 600; }

/* Benefit cards */
.wh-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.wh-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--wa-line); border-radius: 14px; overflow: hidden; box-shadow: 0 4px 18px rgba(0,49,97,.06); }
.wh-card__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--wa-navy); }
.wh-card__media img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.wh-card__body { padding: 24px 24px 26px; border-top: 4px solid var(--wa-navy); flex: 1; }
.wh-card:nth-child(3n+2) .wh-card__body { border-top-color: var(--wa-red); }
.wh-card:nth-child(3n+3) .wh-card__body { border-top-color: var(--wa-sky); }
.wh-card__title { margin: 0 0 10px; font: 800 19px/1.3 var(--wa-head); color: var(--wa-navy); }
.wh-card__text { margin: 0; font-size: 15px; line-height: 1.65; color: var(--wa-body); }

/* Jobs */
.wh-jobs .waicr-board { background: #fff; border: 1px solid var(--wa-line); border-radius: 16px; padding: 28px; box-shadow: 0 6px 24px rgba(0,49,97,.07); max-width: none; margin: 0; }
.wh-jobs__foot { margin: 28px 0 0; text-align: center; font-size: 15px; color: var(--wa-body); }
.wh-jobs__foot a { color: var(--wa-red); font-weight: 700; }

/* GoFundMe */
.wh-gfp { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 56px; align-items: start; }
.wh-gfp__img { width: 100% !important; height: auto !important; border-radius: 18px; margin-bottom: 32px; box-shadow: 0 20px 44px rgba(0,49,97,.14); }
.wh-gfp__card { position: sticky; top: 110px; padding: 30px; border-radius: 16px; background: #fff; border: 1px solid var(--wa-line); box-shadow: 0 16px 40px rgba(0,49,97,.12); }
.wh-gfp__raised { margin: 0 0 12px; font-size: 16px; color: var(--wa-body); }
.wh-gfp__raised strong { display: block; font: 800 36px/1.1 var(--wa-head); color: var(--wa-navy); }
.wh-gfp__bar { height: 10px; border-radius: 999px; background: #e6edf5; overflow: hidden; }
.wh-gfp__bar span { display: block; height: 100%; border-radius: inherit; background: var(--gf); }
.wh-gfp__goal { margin: 10px 0 22px; font-size: 14px; color: var(--wa-muted); }
.wh-gfp__btn { display: block; padding: 16px; border-radius: 10px; background: var(--gf); color: #fff !important; text-align: center; text-decoration: none !important; font: 800 16px/1 var(--wa-head); transition: filter .2s; }
.wh-gfp__btn:hover { filter: brightness(1.08); }
.wh-gfp__small { margin: 10px 0 0; text-align: center; font-size: 13px; color: var(--wa-muted); }
.wh-gfp__card hr { border: 0; border-top: 1px solid var(--wa-line); margin: 22px 0 18px; }
.wh-gfp__alt { margin: 0; font-size: 14.5px; color: var(--wa-body); }
.wh-gfp__alt a { color: var(--wa-red); font-weight: 700; }

@media (max-width: 1024px) {
  .wh-intro, .wh-faq, .wh-gfp { grid-template-columns: 1fr; gap: 40px; }
  .wh-row { gap: 40px; }
  .wh-cards, .wh-paths { grid-template-columns: 1fr 1fr; }
  .wh-crisis, .wh-gfp__card { position: static; }
}
@media (max-width: 760px) {
  .wh-row { grid-template-columns: 1fr; gap: 24px; }
  .wh-row.is-flip .wh-row__media { order: 0; }
  .wh-rows { gap: 56px; }
  .wh-cards, .wh-paths { grid-template-columns: 1fr; }
  .wh-plan.is-featured { transform: none; }
  .wh-jobs .waicr-board { padding: 16px; }
}

/* Payment rail */
.wh-rail { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 18px; }
.wh-rail__card { padding: 30px; border-radius: 16px; background: #fff; border: 1px solid var(--wa-line); box-shadow: 0 8px 26px rgba(0,49,97,.08); }
.wh-rail__tag { margin: 0 0 12px; font: 800 22px/1.25 var(--wa-head); color: var(--wa-navy); }
.wh-rail__tag span, .wh-rail__tag em, .wh-rail__tag strong { color: var(--wa-red); }
.wh-rail__lead { margin: 0 0 6px; font-size: 15px; line-height: 1.7; color: var(--wa-body); }
.wh-rail .wh-ticks { margin-top: 18px; }
.wh-rail .wh-ticks li { font-size: 14.5px; }
.wh-rail__cta { margin-top: 24px; width: 100%; justify-content: center; }
.wh-rail__help { padding: 24px; border-radius: 14px; background: var(--wa-navy); color: #fff; display: flex; flex-direction: column; gap: 6px; }
.wh-rail__help strong { font: 800 17px/1.3 var(--wa-head); }
.wh-rail__help span { font-size: 14px; color: rgba(255,255,255,.8); margin-bottom: 6px; }
.wh-rail__help a { font: 700 15px/1.5 var(--wa-head); color: #fff !important; }
@media (max-width: 1024px) { .wh-rail { position: static; } }

/* Community band (home) */
.wh-community { background: #fff; padding-bottom: calc(var(--wh-y) - 8px); }
.wh-community .wh-head { margin-bottom: 20px; }
.wh-community__art { margin: 0 auto; max-width: 1080px; }
.wh-community__art img { width: 100% !important; height: auto !important; display: block; }
.wh-community__actions { justify-content: center; margin-top: 12px; }

/* About — community gallery */
.ab-gallery__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 220px; gap: 16px; }
.ab-shot { position: relative; margin: 0; border-radius: 14px; overflow: hidden; background: var(--wa-navy); box-shadow: 0 8px 22px rgba(0,49,97,.10); }
.ab-shot.is-wide { grid-column: span 2; grid-row: span 2; }
.ab-shot img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; transition: transform .5s; }
.ab-shot:hover img { transform: scale(1.04); }
.ab-shot figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 28px 16px 14px; background: linear-gradient(180deg, transparent, rgba(0,20,45,.85));
  color: #fff; font: 700 13.5px/1.35 var(--wa-head); }
@media (max-width: 1024px) { .ab-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 200px; } }
@media (max-width: 560px) { .ab-gallery__grid { grid-template-columns: 1fr; grid-auto-rows: 240px; } .ab-shot.is-wide { grid-column: auto; grid-row: auto; } }

/* DAN logo badge */
.wh-dan-logo { display: block; width: 100%; max-width: 260px; height: auto !important; margin: 0 0 18px; border-radius: 8px; }
