/*
 * Get Involved Page Styles
 * Tekvera Initiative Theme
 */

/* ── Hero way-finder cards ─────────────────────────────────── */
.tv-gi-hero-ways {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}

.tv-hero-way {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 1.25rem 1rem;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  transition: all .22s var(--tv-ease-default);
  text-decoration: none;
  cursor: pointer;
}

.tv-hero-way:hover { background: rgba(255,255,255,.11); border-color: rgba(255,255,255,.2); transform: translateY(-2px); }

.tv-hw-ico { width: 36px; height: 36px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tv-hw-ico--amber { background: rgba(240,165,0,.2); }
.tv-hw-ico--teal  { background: rgba(57,173,130,.18); }
.tv-hw-ico--blue  { background: rgba(106,159,245,.18); }
.tv-hw-ico--green { background: rgba(39,144,104,.18); }
.tv-hw-label { font-size: .88rem; font-weight: 600; color: #fff; line-height: 1.25; }
.tv-hw-sub   { font-size: .85rem; color: rgba(255,255,255,.42); line-height: 1.25; }

/* ── Ways navigation strip ─────────────────────────────────── */
.tv-ways-strip { background: var(--tv-white); border-bottom: 1px solid var(--tv-border); }

.tv-ways-strip-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.tv-ws-item {
  padding: 1.85rem 2rem;
  border-right: 1px solid var(--tv-border);
  display: flex;
  flex-direction: column;
  gap: .5rem;
  transition: background .18s;
  cursor: pointer;
  text-decoration: none;
}

.tv-ws-item:hover { background: var(--tv-green-50); }
.tv-ws-item:last-child { border-right: none; }

.tv-ws-num   { font-family: var(--tv-font-serif); font-size: 2.2rem; font-weight: 600; color: var(--tv-green-200); line-height: 1; letter-spacing: -.02em; transition: color .2s; }
.tv-ws-item:hover .tv-ws-num { color: var(--tv-green-400); }
.tv-ws-title { font-size: .9rem; font-weight: 600; color: var(--tv-text-primary); line-height: 1.3; }
.tv-ws-sub   { font-size: .75rem; color: var(--tv-text-tertiary); line-height: 1.45; }

/* ── Donate / Invest section ───────────────────────────────── */
.tv-donate-sec { background: var(--tv-cream); }

.tv-donate-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5.5rem;
  align-items: center;
}

.tv-donate-grid h2 { font-size: clamp(2rem, 3vw, 2.9rem); font-weight: 300; margin-top: 1rem; margin-bottom: 1.25rem; }
.tv-donate-grid p  { font-size: .96rem; color: var(--tv-text-secondary); line-height: 1.82; margin-bottom: 1.1rem; }

/* Amount selector */
.tv-donate-amounts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
  margin-bottom: 1.35rem;
}

.tv-d-amt {
  padding: 1rem; border: 1.5px solid var(--tv-border); border-radius: 12px;
  text-align: center; cursor: pointer; transition: all .2s; background: var(--tv-white);
}

.tv-d-amt:hover { border-color: var(--tv-green-400); }
.tv-d-amt.is-selected { border-color: var(--tv-green-700); background: var(--tv-green-50); }
.tv-d-amt-n { font-family: var(--tv-font-serif); font-size: 1.35rem; font-weight: 600; color: var(--tv-green-800); display: block; line-height: 1; }
.tv-d-amt-l { font-size: .86rem; color: var(--tv-text-tertiary); margin-top: .28rem; line-height: 1.3; display: block; }

.tv-d-custom {
  border: 1.5px dashed var(--tv-border-dark); display: flex; align-items: center; gap: .5rem;
  padding: 1rem 1.1rem; border-radius: 12px; background: var(--tv-white); transition: all .2s;
}

.tv-d-custom:hover { border-color: var(--tv-green-400); }
.tv-d-custom input { flex: 1; border: none; outline: none; font-family: var(--tv-font-sans); font-size: .9rem; color: var(--tv-text-primary); background: transparent; width: 0; }
.tv-d-custom input::placeholder { color: var(--tv-text-muted); }

/* What donations fund */
.tv-donate-uses { display: flex; flex-direction: column; gap: .65rem; margin: 1.75rem 0; }
.tv-du-item { display: flex; align-items: center; gap: .85rem; padding: .9rem 1.1rem; background: var(--tv-white); border: 1px solid var(--tv-border); border-radius: 11px; font-size: .95rem; color: var(--tv-text-secondary); }
.tv-du-ico  { width: 32px; height: 32px; border-radius: 8px; background: var(--tv-green-50); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* Impact panel */
.tv-donate-impact { background: var(--tv-green-800); border-radius: 22px; padding: 2.75rem; position: relative; overflow: hidden; }
.tv-donate-impact::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 28px 28px; }
.tv-donate-grid .tv-donate-impact p { color: #9fa9a4; }
.tv-di-title { font-family: var(--tv-font-serif); font-size: 1.5rem; font-weight: 400; color: #fff; margin-bottom: .6rem; position: relative; z-index: 1; }
.tv-di-sub   { font-size: .85rem; color: #8d9792; line-height: 1.72; margin-bottom: 2rem; position: relative; z-index: 1; }
.tv-di-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-bottom: 2rem; position: relative; z-index: 1; }
.tv-di-stat  { background: rgba(255,255,255,.06); border-radius: 14px; padding: 1.35rem; }
.tv-di-stat-n { font-family: var(--tv-font-serif); font-size: 2rem; font-weight: 600; color: var(--tv-amber-300); line-height: 1; margin-bottom: .3rem; }
.tv-di-stat-l { font-size: .85rem; color: rgba(255,255,255,.52); line-height: 1.45; }
.tv-di-note   { font-size: .78rem; color: rgba(255,255,255,.32); line-height: 1.65; position: relative; z-index: 1; border-top: 1px solid rgba(255,255,255,.08); padding-top: 1.25rem; }

/* ── Volunteer / Mentor ─────────────────────────────────────── */
.tv-mentor-sec { background: var(--tv-white); border-top: 1px solid var(--tv-border); }

.tv-mentor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5.5rem; align-items: center; }
.tv-mentor-grid h2 { font-size: clamp(2rem, 3vw, 2.9rem); font-weight: 300; margin-top: 1rem; margin-bottom: 1.25rem; }
.tv-mentor-grid p  { font-size: .96rem; color: var(--tv-text-secondary); line-height: 1.82; margin-bottom: 1.1rem; }

/* Skills visual */
.tv-mentor-visual { position: relative; border-radius: 24px; overflow: hidden; aspect-ratio: 4/5; }
.tv-mentor-fill   { width: 100%; height: 100%; background: linear-gradient(145deg, #061C13, #0C3D2E 50%, #279068); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 2rem; padding: 3rem; position: relative; }
.tv-mentor-fill::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 26px 26px; }
.tv-mentor-visual-caption { font-family: var(--tv-font-serif); font-size: 1.1rem; font-weight: 300; font-style: italic; color: rgba(255,255,255,.55); text-align: center; position: relative; z-index: 1; max-width: 200px; line-height: 1.5; }

.tv-skill-tags { display: flex; flex-wrap: wrap; gap: .55rem; justify-content: center; position: relative; z-index: 1; max-width: 260px; }
.tv-skill-tag  { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.15); border-radius: 9999px; padding: .32rem .85rem; font-size: .73rem; font-weight: 600; color: rgba(255,255,255,.78); white-space: nowrap; transition: all .3s; }
.tv-skill-tag:hover { background: rgba(255,255,255,.18); }

.tv-mentor-stat { position: absolute; bottom: 1.5rem; left: 1.5rem; right: 1.5rem; background: rgba(6,28,19,.82); border-radius: 12px; padding: 1rem 1.2rem; }
.tv-ms-n { font-family: var(--tv-font-serif); font-size: 1.8rem; font-weight: 600; color: var(--tv-amber-300); line-height: 1; margin-bottom: .22rem; }
.tv-ms-l { font-size: .86rem; color: rgba(255,255,255,.5); line-height: 1.42; }

/* Mentor role cards */
.tv-mentor-roles { display: flex; flex-direction: column; gap: .75rem; margin: 1.75rem 0 2rem; }
.tv-mrole { display: flex; align-items: flex-start; gap: 1rem; padding: 1.25rem; background: var(--tv-green-50); border: 1px solid var(--tv-green-100); border-radius: 14px; transition: all .22s; }
.tv-mrole:hover { border-color: var(--tv-green-200); box-shadow: var(--tv-shadow-sm); }
.tv-mrole-ico { width: 40px; height: 40px; border-radius: 10px; background: var(--tv-green-100); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tv-mrole h4 { font-family: var(--tv-font-serif); font-size: .96rem; font-weight: 600; color: var(--tv-text-primary); margin-bottom: .3rem; }
.tv-mrole p  { font-size: .92rem; color: var(--tv-text-secondary); line-height: 1.45; }

/* ── Sponsor section ────────────────────────────────────────── */
.tv-sponsor-sec { background: var(--tv-green-900); position: relative; overflow: hidden; }
.tv-sponsor-sec::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 60px 60px; }

.tv-sponsor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5.5rem; align-items: center; position: relative; z-index: 1; }
.tv-sponsor-grid h2 { font-size: clamp(2rem, 3vw, 2.9rem); font-weight: 300; color: #fff; margin: 1rem 0 1.25rem; letter-spacing: -.02em; }
.tv-sponsor-grid > div > p { font-size: .96rem; color: rgba(255,255,255,.52); line-height: 1.82; margin-bottom: 1.25rem; }

/* Sponsorship tiers */
.tv-sponsor-tiers { display: flex; flex-direction: column; gap: .75rem; margin-bottom: 2.5rem; }
.tv-sponsor-tier { border-radius: 14px; padding: 1.25rem 1.5rem; display: flex; align-items: center; gap: 1.25rem; }
.tv-sponsor-tier--amber { background: rgba(240,165,0,.12); border: 1px solid rgba(240,165,0,.22); }
.tv-sponsor-tier--teal  { background: rgba(57,173,130,.1);  border: 1px solid rgba(57,173,130,.2); }
.tv-sponsor-tier--plain { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); }
.tv-st-amount { font-family: var(--tv-font-serif); font-size: 1.5rem; font-weight: 600; flex-shrink: 0; min-width: 64px; }
.tv-sponsor-tier--amber .tv-st-amount { color: var(--tv-amber-300); }
.tv-sponsor-tier--teal  .tv-st-amount { color: var(--tv-green-300); }
.tv-sponsor-tier--plain .tv-st-amount { color: rgba(255,255,255,.55); }
.tv-st-title { font-size: .88rem; font-weight: 600; color: #fff; margin-bottom: .18rem; }
.tv-st-desc  { font-size: .92rem; color: rgba(255,255,255,.46); line-height: 1.25; }

/* Project sponsor cards */
.tv-sponsor-cards { display: flex; flex-direction: column; gap: 1rem; }
.tv-scard { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); border-radius: 18px; padding: 1.5rem; display: flex; align-items: flex-start; gap: 1.1rem; transition: all .25s; cursor: pointer; text-decoration: none; }
.tv-scard:hover { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.16); transform: translateX(4px); }
.tv-scard:hover .tv-scard-arrow { color: var(--tv-amber-300); transform: translateX(3px); }
.tv-scard-ico { width: 46px; height: 46px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.tv-scard-ico--amber { background: rgba(240,165,0,.15); }
.tv-scard-ico--teal  { background: rgba(57,173,130,.12); }
.tv-scard-ico--blue  { background: rgba(106,159,245,.12); }
.tv-scard-body h4 { font-family: var(--tv-font-serif); font-size: 1.05rem; font-weight: 500; color: #fff; margin-bottom: .35rem; line-height: 1.28; }
.tv-scard-body p  { font-size: .92rem; color: rgba(255,255,255,.46); line-height: 1.5; margin-bottom: .75rem; }
.tv-scard-tag      { display: inline-block; border-radius: 9999px; padding: .2rem .65rem; font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.tv-scard-tag--teal  { background: rgba(57,173,130,.12); border: 1px solid rgba(57,173,130,.2); color: var(--tv-green-300); }
.tv-scard-tag--amber { background: rgba(240,165,0,.12); border: 1px solid rgba(240,165,0,.22); color: var(--tv-amber-300); }
.tv-scard-arrow { margin-left: auto; color: rgba(255,255,255,.28); transition: all .22s; flex-shrink: 0; margin-top: .2rem; }

/* ── Member signup ──────────────────────────────────────────── */
.tv-member-sec { background: var(--tv-cream); }
.tv-member-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 5.5rem; align-items: center; }
.tv-member-grid h2 { font-size: clamp(2rem, 3vw, 2.9rem); font-weight: 300; margin-top: 1rem; margin-bottom: 1.25rem; }
.tv-member-grid p  { font-size: .96rem; color: var(--tv-text-secondary); line-height: 1.82; margin-bottom: 1.1rem; }

.tv-member-benefits { display: flex; flex-direction: column; gap: 1rem; margin: 1.75rem 0 2.25rem; }
.tv-mb       { display: flex; align-items: flex-start; gap: 1rem; }
.tv-mb-ico   { width: 36px; height: 36px; border-radius: 9px; background: var(--tv-green-50); border: 1px solid var(--tv-green-100); display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: .12rem; }
.tv-mb-body h4 { font-size: .95rem; font-weight: 600; color: var(--tv-text-primary); margin-bottom: .22rem; }
.tv-mb-body p  { font-size: .9rem; color: var(--tv-text-secondary); line-height: 1.6; }

/* Membership card */
.tv-member-card { background: var(--tv-green-800); border-radius: 24px; padding: 3rem; position: relative; overflow: hidden; }
.tv-member-card::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 28px 28px; }
.tv-member-grid .tv-member-card p { color: #93a09a; }

/* Sign-up status messages */
.tv-mc-status {
  position: relative;
  z-index: 1;
  padding: .5rem 1rem;
  border-radius: 10px;
  font-size: .92rem;
  line-height: 1.35;
  margin-bottom: 1.25rem;
  border: 1px solid transparent;
}
.tv-mc-status--success {
  background: rgba(57, 173, 130, 0.14);
  border-color: rgba(57, 173, 130, 0.35);
  color: #c9efde;
}
.tv-mc-status--error {
  background: rgba(229, 36, 59, 0.14);
  border-color: rgba(229, 36, 59, 0.4);
  color: #f5c2c8;
}
.tv-mc-inner { position: relative; z-index: 1; }
.tv-mc-title { font-family: var(--tv-font-serif); font-size: 1.6rem; font-weight: 400; color: #fff; margin-bottom: .55rem; }
.tv-mc-sub   { font-size: .88rem; color: rgba(255,255,255,.5); line-height: 1.72; margin-bottom: 2rem; }
.tv-mc-form  { display: flex; flex-direction: column; gap: 1rem; }
.tv-mc-row   { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.tv-mc-input { padding: .82rem 1.15rem; border: 1.5px solid rgba(255,255,255,.12); border-radius: 12px; font-family: var(--tv-font-sans); font-size: .875rem; color: #fff; background: rgba(255,255,255,.07); outline: none; transition: border-color .2s, background .2s; }
.tv-mc-input::placeholder { color: rgba(255,255,255,.28); }
.tv-mc-input:focus { border-color: var(--tv-green-400); }
.tv-mc-input.is-invalid { border-color: #f0807e; background: rgba(229, 36, 59, 0.12); }
.tv-mc-input.is-invalid::placeholder { color: #f5b5b5; }
.tv-mc-check { display: flex; align-items: center; gap: .75rem; cursor: pointer; }
.tv-mc-check input[type=checkbox] { width: 16px; height: 16px; accent-color: var(--tv-amber-400); cursor: pointer; }
.tv-mc-check-label { font-size: .95rem; color: rgba(255,255,255,.5); line-height: 1.35; cursor: pointer; }
.tv-mc-note { font-size: .72rem; color: rgba(255,255,255,.28); margin-top: .5rem; line-height: 1.55; }

/* ── Ways overview cards ────────────────────────────────────── */
.tv-gi-ways-overview { background: var(--tv-white); border-top: 1px solid var(--tv-border); }

.tv-gi-ways-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.15rem; }

.tv-gi-way-card {
  border: 1px solid var(--tv-border);
  border-radius: 20px;
  padding: 2.25rem 1.85rem;
  display: flex;
  flex-direction: column;
  transition: all .28s var(--tv-ease-default);
  background: var(--tv-white);
}

.tv-gi-way-card:hover { box-shadow: var(--tv-shadow-lg); transform: translateY(-4px); border-color: var(--tv-border-dark); }

.tv-gi-way-num  { font-family: var(--tv-font-serif); font-size: 2.8rem; font-weight: 600; color: var(--tv-cream-dark); letter-spacing: -.04em; line-height: 1; margin-bottom: 1.5rem; transition: color .25s; }
.tv-gi-way-card:hover .tv-gi-way-num { color: var(--tv-green-200); }
.tv-gi-way-ico  { width: 50px; height: 50px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; }
.tv-gi-way-ico--a { background: var(--tv-amber-50);  border: 1px solid var(--tv-amber-100); }
.tv-gi-way-ico--t { background: var(--tv-green-50);  border: 1px solid var(--tv-green-100); }
.tv-gi-way-ico--b { background: #EEF3FF; border: 1px solid #D4E0FF; }
.tv-gi-way-ico--g { background: var(--tv-green-50);  border: 1px solid var(--tv-green-100); }
.tv-gi-way-card h3 { font-family: var(--tv-font-serif); font-size: 1.2rem; font-weight: 500; color: var(--tv-text-primary); margin-bottom: .6rem; line-height: 1.25; }
.tv-gi-way-card p  { font-size: .83rem; color: var(--tv-text-secondary); line-height: 1.68; flex: 1; margin-bottom: 1.5rem; }
.tv-gi-way-link { font-size: .8rem; font-weight: 700; color: var(--tv-green-700); display: inline-flex; align-items: center; gap: .32rem; margin-top: auto; transition: all .2s; text-decoration: none; }
.tv-gi-way-link:hover { color: var(--tv-green-500); gap: .55rem; }

/* ── FAQ ────────────────────────────────────────────────────── */
.tv-gi-faq { background: #fff; }

.tv-gi-faq-grid { display: grid; grid-template-columns: 380px 1fr; gap: 5.5rem; align-items: start; }
.tv-gi-faq-grid h2 { font-size: clamp(1.85rem, 3vw, 2.65rem); font-weight: 300; margin-top: 1rem; margin-bottom: 1.25rem; }
.tv-gi-faq-grid p  { font-size: .94rem; color: var(--tv-text-secondary); line-height: 1.82; margin-bottom: 2rem; }

.tv-faq-list { display: flex; flex-direction: column; gap: 0; }
.tv-faq-item { border-bottom: 1px solid var(--tv-border); overflow: hidden; }
.tv-faq-item:first-child { border-top: 1px solid var(--tv-border); }

.tv-faq-q {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1.35rem 0; cursor: pointer;
  font-size: .96rem; font-weight: 600; color: var(--tv-text-primary);
  transition: color .2s;
}

.tv-faq-q:hover { color: var(--tv-green-700); }

.tv-faq-toggle {
  width: 28px; height: 28px; border-radius: 50%;
  border: 1.5px solid var(--tv-border);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: all .25s; color: var(--tv-text-tertiary);
}

.tv-faq-item.is-open .tv-faq-toggle { background: var(--tv-green-800); border-color: var(--tv-green-800); color: #fff; transform: rotate(45deg); }

.tv-faq-a {
  font-size: .96rem;
  color: var(--tv-text-secondary);
  line-height: 1.6;
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s var(--tv-ease-default), padding .35s;
  padding: 0;
    padding-bottom: 0px;
}

.tv-faq-item.is-open .tv-faq-a { max-height: 220px; padding-bottom: 1.35rem; }

/* ── Get Involved helpers (extracted from inline styles) ─────────────────── */
.tv-eyebrow--green-400 { color: var(--tv-green-400); }

.tv-gi-hero { min-height: 100vh; }
.tv-gi-hero-glow {
  position: absolute;
  bottom: -80px;
  right: -60px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(240,165,0,.09) 0%, transparent 70%);
  pointer-events: none;
}

.tv-gi-hero-arrow {
  color: var(--tv-amber-300);
  margin-top: auto;
  opacity: .65;
}
.tv-gi-ways-hd { margin-bottom: 3rem; }
.tv-gi-ways-title {
  margin-top: .85rem;
  font-size: clamp(1.75rem, 2.8vw, 2.5rem);
  font-weight: 300;
}

.tv-faq-email-link {
  color: var(--tv-green-600);
  font-weight: 600;
}
.tv-faq-cta { margin-top: 1.5rem; }

.tv-btn-row {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.tv-align-self-center { align-self: center; }

.tv-donate-amount-wrap {
  margin-top: 1.75rem;
  margin-bottom: 1rem;
}
.tv-donate-label {
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tv-text-tertiary);
  margin-bottom: .85rem;
}
.tv-donate-dollar {
  font-size: .8rem;
  font-weight: 600;
  color: var(--tv-text-tertiary);
  flex-shrink: 0;
}
.tv-donate-submit {
  padding: 1rem 2.1rem;
  font-size: 1rem;
}
.tv-donate-fine {
  font-size: .75rem;
  color: var(--tv-text-tertiary);
  margin-top: .85rem;
  line-height: 1.6;
}

.tv-sponsor-title {
  color: #fff;
  font-size: clamp(2rem, 3vw, 2.9rem);
  font-weight: 300;
  margin: 1rem 0 1.25rem;
  letter-spacing: -.02em;
}
.tv-sponsor-lead {
  font-size: .96rem;
  color: rgba(255,255,255,.52);
  line-height: 1.82;
  margin-bottom: 1.25rem;
}
.tv-sponsor-body {
  font-size: .88rem;
  color: rgba(255,255,255,.4);
  line-height: 1.78;
  margin-bottom: 2.25rem;
}
.tv-sponsor-eyebrow-light {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.35);
  margin-bottom: 1.25rem;
}
.tv-sponsor-cta-btn {
  padding: 1rem 2.1rem;
  font-size: 1rem;
}

.tv-member-submit {
  width: 100%;
  justify-content: center;
  padding: 1rem 2.1rem;
  font-size: 1rem;
}

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .tv-gi-hero-ways    { grid-template-columns: repeat(2, 1fr); }
  .tv-ways-strip-inner { grid-template-columns: repeat(2, 1fr); }
  .tv-ws-item:nth-child(2) { border-right: none; }
  .tv-ws-item:nth-child(3) { border-top: 1px solid var(--tv-border); }
  .tv-donate-grid, .tv-mentor-grid, .tv-sponsor-grid, .tv-member-grid { grid-template-columns: 1fr; gap: 3rem; }
  .tv-gi-ways-grid    { grid-template-columns: repeat(2, 1fr); }
  .tv-gi-faq-grid     { grid-template-columns: 1fr; gap: 3rem; }
}

@media (max-width: 768px) {
  .tv-gi-hero-ways    { grid-template-columns: 1fr 1fr; }
  .tv-donate-amounts   { grid-template-columns: 1fr 1fr; }
  .tv-di-stats, .tv-mc-row { grid-template-columns: 1fr; }
  .tv-ways-strip-inner { grid-template-columns: 1fr; }
  .tv-ws-item { border-right: none; border-bottom: 1px solid var(--tv-border); }

  .tv-hw-label { font-size: 0.96rem; letter-spacing: 0.15px; }

  .tv-hw-sub { font-size: 0.94rem; color: rgba(255, 255, 255, 0.42); line-height: 1.25; }

  .tv-donate-grid p { font-size: 0.98rem; line-height: 1.65; }

  .tv-d-amt-l { font-size: 0.92rem; line-height: 1.25; display: block; }

  .tv-du-item { font-size: 0.95rem; line-height: 1.35; }

  .tv-di-stat-l { font-size: 0.925rem; line-height: 1.4; }

  .tv-mrole p { font-size: 0.98rem; line-height: 1.55; }

  .tv-mrole h4 { font-size: 1.05rem; }

  .tv-sponsor-grid > div > p { font-size: 0.98rem; line-height: 1.65; margin-bottom: 1.25rem; font-weight: 400; }

  .tv-st-desc { font-size: 0.95rem; color: rgba(255, 255, 255, 0.46); line-height: 1.35; }

  .tv-st-title { font-size: 0.92rem; font-weight: 600; color: #fff; margin-bottom: 0.18rem; letter-spacing: 0.15px; }

  .tv-scard-body p { font-size: 0.96rem; color: rgba(255, 255, 255, 0.46); line-height: 1.5; margin-bottom: 0.75rem; }

  .tv-scard-body h4 {
    font-family: var(--tv-font-serif);
    font-size: 1.08rem;
    font-weight: 500;
    color: #fff;
    margin-bottom: 0.35rem;
    line-height: 1.28;
  }

  /* Icon beside title; description + tag span full width below */
  .tv-scard {
    display: grid;
    grid-template-columns: auto 1fr auto;
    column-gap: 0.9rem;
    row-gap: 0.4rem;
    align-items: center;
  }
  .tv-scard-ico    { grid-row: 1; grid-column: 1; }
  .tv-scard-body   { display: contents; }
  .tv-scard-body h4 { grid-row: 1; grid-column: 2; margin-bottom: 0; align-self: center; }
  .tv-scard-body p  { grid-row: 2; grid-column: 1 / -1; margin-top: 0.5rem; }
  .tv-scard-tag    { grid-row: 3; grid-column: 1 / -1; justify-self: start; }
  .tv-scard-arrow  { grid-row: 1; grid-column: 3; margin-top: 0; }

  .tv-member-grid p { font-size: 0.98rem; color: var(--tv-text-secondary); line-height: 1.6; margin-bottom: 1.1rem; }

  .tv-mb-body h4 { font-size: 1.08rem; font-weight: 600; color: var(--tv-text-primary); margin-bottom: 0.22rem; letter-spacing: 0.1px; }

  .tv-mb-body p { font-size: 0.98rem; color: var(--tv-text-secondary); line-height: 1.5; }

  .tv-member-card { padding: 2rem 1.75rem; }

  .tv-mc-check-label { font-size: 0.98rem; line-height: 1.42; }

  .tv-gi-faq-grid p { font-size: 0.98rem; line-height: 1.65; margin-bottom: 2rem; }

  .tv-faq-cta { margin-top: 0.15rem; }

  .tv-faq-a { font-size: 0.98rem; line-height: 1.55; }

  .tv-faq-q { font-size: 0.98rem; }

  .tv-donate-impact { padding: 2.5rem 2rem; }
}

/* Mobile: icon sits next to title; num floats at top, desc + link span full width */
@media (max-width: 768px) {
  .tv-gi-way-card {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "num  num"
      "icon title"
      "desc desc"
      "link link";
    column-gap: 1rem;
    row-gap: 0.5rem;
    align-items: center;
  }
  .tv-gi-way-num  { grid-area: num;   margin-bottom: 0; font-size: 2rem; }
  .tv-gi-way-ico  { grid-area: icon;  margin-bottom: 0; }
  .tv-gi-way-card h3 { grid-area: title; margin-bottom: 0; font-size: 1.14rem; letter-spacing: 0.15px; }
  .tv-gi-way-card p  { grid-area: desc;  margin-bottom: 0; }
  .tv-gi-way-link    { grid-area: link;  justify-self: start; margin-top: 0; }
}

@media (max-width: 560px) {
  .tv-gi-hero-ways, .tv-gi-ways-grid { grid-template-columns: 1fr; }
}
