:root {
  --primary: #143e5d;
  --primary-strong: #08263d;
  --primary-soft: #1f5476;
  --accent: #3ecbb8;
  --accent-strong: #1fa996;
  --gold: #f0b94d;
  --gold-soft: #fff4d9;
  --coral: #ee7568;
  --ink: #102737;
  --muted: #667b8b;
  --muted-strong: #435d6e;
  --line: #dce7ed;
  --line-strong: #c8d8e1;
  --paper: #ffffff;
  --paper-soft: #f7fafc;
  --paper-warm: #fbfaf7;
  --soft-tint: #edf9f7;
  --shadow-sm: 0 10px 30px rgba(10, 39, 59, 0.08);
  --shadow: 0 24px 70px rgba(7, 34, 54, 0.16);
  --shadow-xl: 0 36px 110px rgba(7, 31, 49, 0.24);
  --radius-sm: 12px;
  --radius: 18px;
  --radius-lg: 28px;
  --radius-xl: 36px;
  --campaign-progress: 0%;
  font-family: "Heebo", "Noto Sans Hebrew", Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
  color-scheme: light;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--paper);
  font-family: inherit;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body::selection {
  color: #fff;
  background: var(--primary);
}

button,
input,
textarea,
select {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button {
  cursor: pointer;
}

img {
  max-width: 100%;
}

[hidden] {
  display: none !important;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.content-shell {
  width: min(1320px, calc(100% - 48px));
  margin-inline: auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 76px;
  display: flex;
  align-items: center;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid rgba(210, 224, 232, 0.84);
  box-shadow: 0 8px 24px rgba(7, 34, 54, 0.05);
  backdrop-filter: blur(18px);
}

.header-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
}

.brand-link {
  display: inline-flex;
  align-items: center;
  min-width: 126px;
  text-decoration: none;
}

.brand-link img {
  width: 128px;
  max-height: 42px;
  object-fit: contain;
}

.header-campaign-status {
  justify-self: center;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  padding: 7px 14px;
  color: var(--muted-strong);
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 0.9rem;
}

.header-campaign-status strong {
  color: var(--primary);
  font-weight: 900;
}

.live-dot,
.campaign-live-label > span:first-child,
.premium-card-live i,
.recent-live-pill i,
.home-metrics-live i,
.premium-campaign-card-status i {
  width: 8px;
  height: 8px;
  display: inline-block;
  flex: 0 0 8px;
  background: var(--accent);
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(62, 203, 184, 0.14);
  animation: livePulse 2.2s ease-in-out infinite;
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.header-donate-button,
.homepage-header-link {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 9px 17px;
  color: #092a24;
  background: var(--accent);
  border: 1px solid var(--accent);
  border-radius: 999px;
  text-decoration: none;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(62, 203, 184, 0.24);
}

.header-donate-button:hover,
.header-donate-button:focus-visible,
.homepage-header-link:hover,
.homepage-header-link:focus-visible {
  background: #58dac9;
  border-color: #58dac9;
  transform: translateY(-1px);
}

.icon-button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--primary);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 50%;
  transition: 160ms ease;
}

.icon-button:hover,
.icon-button:focus-visible {
  color: #fff;
  background: var(--primary);
  border-color: var(--primary);
  transform: translateY(-1px);
}

.icon-mask {
  width: 18px;
  height: 18px;
  display: block;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.icon-whatsapp {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a9.7 9.7 0 0 0-8.3 14.7L2.3 22l5.4-1.4A9.8 9.8 0 1 0 12 2Zm0 17.8a7.8 7.8 0 0 1-4-1.1l-.3-.2-3.2.8.9-3.1-.2-.3A7.8 7.8 0 1 1 12 19.8Zm4.3-5.8c-.2-.1-1.4-.7-1.6-.8-.2-.1-.4-.1-.6.1l-.7.9c-.1.2-.3.2-.5.1a6.4 6.4 0 0 1-1.9-1.2 7.3 7.3 0 0 1-1.3-1.6c-.1-.2 0-.4.1-.5l.4-.5.2-.4c.1-.1 0-.3 0-.4l-.7-1.7c-.2-.4-.4-.4-.6-.4h-.5c-.2 0-.5.1-.7.3-.3.3-1 1-1 2.4s1 2.8 1.2 3c.1.2 2 3.1 5 4.3.7.3 1.2.5 1.7.6.7.2 1.3.2 1.8.1.6-.1 1.4-.6 1.6-1.1.2-.6.2-1 .1-1.1-.1-.1-.3-.2-.5-.3Z'/%3E%3C/svg%3E");
}

.icon-copy {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 7V5a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3h-2v3a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-9a3 3 0 0 1 3-3h3Zm3-3a1 1 0 0 0-1 1v2h4a3 3 0 0 1 3 3v4h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-8ZM5 9a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1v-9a1 1 0 0 0-1-1H5Z'/%3E%3C/svg%3E");
}

.hero-section,
.premium-home-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 78% 18%, rgba(62, 203, 184, 0.23), transparent 29%),
    radial-gradient(circle at 14% 84%, rgba(240, 185, 77, 0.16), transparent 34%),
    linear-gradient(128deg, var(--primary-strong) 0%, var(--primary) 58%, #0e4b65 100%);
}

.hero-section.has-campaign-image {
  background-position: center;
  background-size: cover;
}

.hero-section.has-campaign-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, rgba(5, 25, 41, 0.94) 0%, rgba(8, 38, 59, 0.84) 52%, rgba(7, 33, 51, 0.9) 100%),
    linear-gradient(180deg, rgba(7, 31, 49, 0.08), rgba(7, 31, 49, 0.72));
}

.hero-visual,
.premium-home-hero-art {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.hero-grid,
.home-hero-grid {
  position: absolute;
  inset: 0;
  opacity: 0.22;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(90deg, transparent 0%, #000 22%, #000 86%, transparent 100%);
}

.hero-beam,
.home-hero-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(2px);
}

.hero-beam-one {
  width: 520px;
  height: 520px;
  inset-inline-end: -160px;
  top: -150px;
  background: radial-gradient(circle, rgba(62, 203, 184, 0.28), rgba(62, 203, 184, 0));
}

.hero-beam-two {
  width: 430px;
  height: 430px;
  inset-inline-start: -120px;
  bottom: -210px;
  background: radial-gradient(circle, rgba(240, 185, 77, 0.2), rgba(240, 185, 77, 0));
}

.hero-orbit,
.home-hero-ring,
.home-spotlight-orbit,
.premium-campaign-card-orbit {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
}

.hero-orbit::before,
.hero-orbit::after,
.home-hero-ring::before,
.home-hero-ring::after,
.home-spotlight-orbit::before,
.home-spotlight-orbit::after,
.premium-campaign-card-orbit::before,
.premium-campaign-card-orbit::after {
  content: "";
  position: absolute;
  inset: 13%;
  border: inherit;
  border-radius: inherit;
}

.hero-orbit::after,
.home-hero-ring::after,
.home-spotlight-orbit::after,
.premium-campaign-card-orbit::after {
  inset: 29%;
}

.hero-orbit span,
.home-hero-ring span,
.home-spotlight-orbit span,
.premium-campaign-card-orbit span {
  position: absolute;
  width: 13px;
  height: 13px;
  top: 18%;
  right: 13%;
  background: var(--accent);
  border-radius: 50%;
  box-shadow: 0 0 0 8px rgba(62, 203, 184, 0.12);
}

.hero-orbit-large {
  width: 360px;
  height: 360px;
  inset-inline-end: 4%;
  top: 9%;
  opacity: 0.65;
}

.hero-orbit-small {
  width: 180px;
  height: 180px;
  inset-inline-start: 4%;
  bottom: 12%;
  opacity: 0.44;
}

.campaign-hero-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(390px, 0.72fr);
  gap: clamp(40px, 5vw, 86px);
  align-items: center;
  min-height: 760px;
  padding: 72px 0 126px;
}

.campaign-hero-copy {
  max-width: 780px;
}

.campaign-live-label,
.premium-card-live,
.recent-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  padding: 6px 13px;
  border-radius: 999px;
  font-size: 0.87rem;
  font-weight: 850;
}

.campaign-live-label {
  color: #dffdf8;
  background: rgba(62, 203, 184, 0.12);
  border: 1px solid rgba(79, 224, 203, 0.34);
}

.campaign-brand-kicker,
.homepage-eyebrow {
  margin: 20px 0 12px;
  color: var(--accent);
  font-size: 0.96rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.campaign-hero-copy h1,
.premium-home-copy h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(3.2rem, 5.8vw, 6.2rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
  font-weight: 950;
  text-wrap: balance;
}

.hero-text,
.premium-home-lead {
  max-width: 700px;
  margin: 26px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  line-height: 1.72;
}

.hero-actions,
.form-actions,
.premium-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  align-items: center;
  margin-top: 30px;
}

.primary-action,
.secondary-action,
.text-action {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 21px;
  border-radius: 999px;
  font-weight: 900;
  text-decoration: none;
  transition: 180ms ease;
}

.primary-action {
  color: #092a24;
  background: var(--accent);
  border: 1px solid var(--accent);
  box-shadow: 0 14px 34px rgba(62, 203, 184, 0.27);
}

.primary-action:hover,
.primary-action:focus-visible {
  color: #08251f;
  background: #56dccb;
  border-color: #56dccb;
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(62, 203, 184, 0.34);
}

.primary-action-xl {
  min-height: 60px;
  padding-inline: 28px;
  font-size: 1.06rem;
}

.secondary-action {
  color: var(--primary);
  background: #fff;
  border: 1px solid var(--line);
}

.secondary-action:hover,
.secondary-action:focus-visible {
  color: #fff;
  background: var(--primary);
  border-color: var(--primary);
  transform: translateY(-1px);
}

.hero-secondary {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.28);
}

.hero-secondary:hover,
.hero-secondary:focus-visible {
  color: var(--primary-strong);
  background: #fff;
  border-color: #fff;
}

.text-action {
  min-height: 42px;
  padding: 0;
  color: var(--primary);
  background: transparent;
  border: 0;
}

.text-action:hover,
.text-action:focus-visible {
  color: var(--accent-strong);
  gap: 15px;
}

.button-icon {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 24px;
  color: var(--primary);
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  font-weight: 950;
}

.campaign-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-top: 32px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.92rem;
}

.campaign-trust-row span {
  position: relative;
  padding-inline-start: 18px;
}

.campaign-trust-row span::before {
  content: "✓";
  position: absolute;
  inset-inline-start: 0;
  color: var(--accent);
  font-weight: 950;
}

.campaign-trust-row strong {
  color: #fff;
}

.ambassador-hero-banner {
  display: grid;
  gap: 4px;
  max-width: 580px;
  margin-top: 22px;
  padding: 16px 18px;
  color: var(--primary-strong);
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(62, 203, 184, 0.54);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
}

.ambassador-hero-banner span {
  color: var(--muted);
}

.premium-donation-card {
  position: sticky;
  top: 102px;
  align-self: center;
  padding: 28px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-xl);
  backdrop-filter: blur(16px);
}

.premium-donation-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(145deg, rgba(62, 203, 184, 0.08), transparent 44%, rgba(240, 185, 77, 0.08));
}

.premium-card-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.premium-card-eyebrow {
  color: var(--muted-strong);
  font-size: 0.9rem;
  font-weight: 850;
}

.premium-card-live {
  min-height: 30px;
  padding: 4px 10px;
  color: var(--accent-strong);
  background: var(--soft-tint);
  border: 1px solid #cdece6;
}

.progress-ring-wrap {
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 24px;
  align-items: center;
}

.progress-ring {
  position: relative;
  width: 132px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--accent) var(--campaign-progress), #e7eef2 0);
  box-shadow: inset 0 0 0 1px rgba(16, 39, 55, 0.05);
}

.progress-ring::before {
  content: "";
  position: absolute;
  width: 104px;
  aspect-ratio: 1;
  background: #fff;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px var(--line);
}

.progress-ring-center {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  line-height: 1.1;
}

.progress-ring-center strong {
  color: var(--primary);
  font-size: 2rem;
  font-weight: 950;
}

.progress-ring-center span {
  color: var(--muted);
  font-size: 0.77rem;
}

.premium-raised-block {
  display: grid;
  gap: 4px;
}

.premium-raised-block > span {
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 800;
}

.premium-raised-block > strong {
  color: var(--primary);
  font-size: clamp(2.25rem, 3.6vw, 3.55rem);
  line-height: 1;
  letter-spacing: -0.035em;
  font-weight: 950;
}

.premium-raised-block small {
  color: var(--muted);
}

.premium-raised-block b {
  color: var(--ink);
}

.progress-track {
  width: 100%;
  height: 14px;
  overflow: hidden;
  background: #e6eef2;
  border-radius: 999px;
}

.premium-progress-track {
  height: 12px;
  margin-top: 22px;
}

.progress-fill {
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--accent), var(--gold));
  border-radius: inherit;
  box-shadow: 0 0 18px rgba(62, 203, 184, 0.4);
  transition: width 700ms cubic-bezier(.2, .8, .2, 1);
}

.premium-campaign-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 18px;
}

.premium-campaign-facts article {
  min-width: 0;
  padding: 12px 10px;
  text-align: center;
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.premium-campaign-facts span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
}

.premium-campaign-facts strong {
  display: block;
  overflow: hidden;
  margin-top: 3px;
  color: var(--primary);
  font-size: 1rem;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.premium-countdown-fact strong {
  font-size: 0.82rem;
}

.premium-quick-amounts {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.premium-quick-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.premium-quick-heading strong {
  color: var(--primary);
}

.premium-quick-heading span {
  color: var(--muted);
  font-size: 0.82rem;
}

.page-amount-grid,
.amount-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.page-amount-option,
.amount-option {
  min-height: 56px;
  display: grid;
  place-items: center;
  gap: 1px;
  padding: 8px;
  color: var(--primary);
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  transition: 160ms ease;
}

.page-amount-option strong,
.amount-option strong {
  font-size: 1rem;
  font-weight: 950;
}

.page-amount-option span,
.amount-option span {
  color: var(--muted);
  font-size: 0.68rem;
}

.page-amount-option:hover,
.page-amount-option:focus-visible,
.page-amount-option.is-selected,
.amount-option:hover,
.amount-option:focus-visible,
.amount-option.is-selected {
  color: #092a24;
  background: var(--accent);
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(62, 203, 184, 0.2);
}

.page-amount-option.is-selected span,
.amount-option.is-selected span,
.page-amount-option:hover span,
.amount-option:hover span {
  color: rgba(9, 42, 36, 0.72);
}

.premium-card-donate {
  width: 100%;
  min-height: 58px;
  margin-top: 16px;
  border-radius: var(--radius);
}

.premium-secure-note {
  margin: 12px 0 0;
  color: var(--muted);
  text-align: center;
  font-size: 0.78rem;
}

.live-donation-ribbon {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 64px;
  margin-top: -78px;
  padding: 14px 20px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(255, 255, 255, 0.86);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.live-donation-ribbon::before {
  content: "תרומה אחרונה";
  flex: 0 0 auto;
  padding: 6px 11px;
  color: #092a24;
  background: var(--accent);
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 900;
}

.live-donation-ribbon strong {
  color: var(--primary);
}

.live-donation-ribbon span {
  color: var(--muted);
}

.campaign-overview-strip {
  padding: 112px 0 34px;
  background: var(--paper);
}

.campaign-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.campaign-overview-grid article {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;
  padding: 22px;
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.overview-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  color: var(--primary);
  background: var(--soft-tint);
  border: 1px solid #cdece6;
  border-radius: 50%;
  font-weight: 950;
}

.campaign-overview-grid strong {
  color: var(--primary);
  font-size: 1.02rem;
}

.campaign-overview-grid p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
}

.section-kicker {
  margin: 0 0 10px;
  color: var(--accent-strong);
  font-size: 0.9rem;
  font-weight: 950;
  letter-spacing: 0.025em;
}

.section-description {
  max-width: 680px;
  margin: 10px 0 0;
  color: var(--muted);
}

.premium-story-section,
.premium-ambassadors-section,
.premium-recent-section {
  padding: 104px 0;
}

.premium-story-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 12%, rgba(62, 203, 184, 0.09), transparent 30%),
    var(--paper-warm);
}

.premium-story-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr);
  gap: 72px;
  align-items: start;
}

.premium-story-heading {
  position: sticky;
  top: 112px;
}

.premium-story-heading h2,
.premium-section-heading h2,
.premium-home-heading h2,
.home-how-it-works h2,
.premium-final-cta h2,
.dialog-heading h2 {
  margin: 0;
  color: var(--primary);
  font-size: clamp(2.25rem, 3.7vw, 4rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  font-weight: 950;
  text-wrap: balance;
}

.story-accent-line {
  width: 92px;
  height: 6px;
  margin-top: 26px;
  background: linear-gradient(90deg, var(--accent), var(--gold));
  border-radius: 999px;
}

.premium-story-card {
  position: relative;
  min-height: 380px;
  padding: clamp(30px, 5vw, 56px);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
}

.story-quote-mark {
  position: absolute;
  inset-inline-end: 28px;
  top: 10px;
  color: rgba(62, 203, 184, 0.18);
  font-family: Georgia, serif;
  font-size: 8rem;
  line-height: 1;
}

.story-body {
  position: relative;
  z-index: 1;
  color: #344f61;
  font-size: 1.1rem;
  line-height: 1.85;
}

.story-body p {
  margin: 0 0 18px;
}

.premium-ambassadors-section {
  background: #fff;
}

.section-heading-row,
.premium-section-heading,
.footer-inner,
.homepage-bottom-cta-inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
}

.premium-section-heading {
  margin-bottom: 34px;
}

.card-grid,
.premium-ambassador-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.ambassador-card {
  position: relative;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 18px;
  min-height: 310px;
  padding: 24px;
  background: linear-gradient(180deg, #fff, #fbfdfe);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: 180ms ease;
}

.ambassador-card::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0;
  width: 6px;
  height: 100%;
  background: linear-gradient(180deg, var(--accent), var(--gold));
  opacity: 0.92;
}

.ambassador-card:hover {
  transform: translateY(-5px);
  border-color: #c7ddd9;
  box-shadow: var(--shadow-sm);
}

.ambassador-card.is-selected {
  border-color: var(--accent);
  box-shadow: 0 22px 54px rgba(62, 203, 184, 0.2);
}

.ambassador-head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.avatar,
.donation-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #fff;
  background: linear-gradient(135deg, var(--primary), var(--accent));
  border-radius: 50%;
  font-weight: 950;
  box-shadow: 0 10px 24px rgba(20, 62, 93, 0.18);
}

.avatar {
  width: 62px;
  height: 62px;
  font-size: 1.15rem;
}

.donation-avatar {
  width: 48px;
  height: 48px;
  font-size: 0.9rem;
}

.ambassador-card h3 {
  margin: 0;
  color: var(--primary);
  font-size: 1.23rem;
  font-weight: 950;
}

.ambassador-card p {
  margin: 3px 0 0;
  color: var(--muted);
}

.mini-progress {
  align-self: end;
  display: grid;
  gap: 8px;
}

.mini-progress-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 0.85rem;
}

.mini-progress-line strong {
  color: var(--primary);
}

.mini-track {
  height: 10px;
  overflow: hidden;
  background: #e8eff3;
  border-radius: 999px;
}

.mini-track span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--accent), var(--gold));
  border-radius: inherit;
}

.ambassador-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.small-button,
.selected-badge {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 13px;
  border-radius: 999px;
  font-weight: 850;
}

.small-button {
  color: var(--primary);
  background: var(--paper-soft);
  border: 1px solid var(--line);
}

.small-button:hover,
.small-button:focus-visible {
  color: #fff;
  background: var(--primary);
  border-color: var(--primary);
}

.selected-badge {
  color: var(--primary);
  background: var(--soft-tint);
  border: 1px solid #cdece6;
}

.premium-recent-section {
  background:
    linear-gradient(180deg, rgba(247, 250, 252, 0.94), #fff),
    var(--paper-soft);
}

.recent-live-pill {
  min-height: 34px;
  color: var(--accent-strong);
  background: var(--soft-tint);
  border: 1px solid #cdece6;
}

.donation-list,
.premium-donation-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.donation-row {
  min-height: 146px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: 0 12px 34px rgba(7, 34, 54, 0.055);
}

.donation-identity {
  display: flex;
  align-items: center;
  gap: 13px;
}

.donation-identity strong {
  color: var(--primary);
}

.donation-row p {
  margin: 3px 0 0;
  color: var(--muted);
}

.donation-meta {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.donation-amount {
  color: var(--primary);
  font-size: 1.42rem;
  font-weight: 950;
}

.donation-time {
  color: var(--muted);
  font-size: 0.82rem;
}

.empty-state,
.error-state,
.homepage-status {
  width: 100%;
  padding: 24px;
  color: var(--muted);
  background: var(--paper-soft);
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius);
  text-align: center;
}

.error-state,
.homepage-status.is-error {
  color: #9a342d;
  background: #fff3f1;
  border-color: #f1b7b0;
}

.premium-final-cta {
  position: relative;
  overflow: hidden;
  padding: 84px 0;
  color: #fff;
  background: linear-gradient(120deg, var(--primary-strong), var(--primary), #0e4b65);
}

.final-cta-decoration,
.premium-home-bottom-art {
  position: absolute;
  inset: 0;
  opacity: 0.5;
  background:
    radial-gradient(circle at 82% 35%, rgba(62, 203, 184, 0.25), transparent 28%),
    radial-gradient(circle at 14% 85%, rgba(240, 185, 77, 0.18), transparent 30%);
}

.premium-final-cta-inner,
.premium-bottom-inner {
  position: relative;
  z-index: 1;
  align-items: center;
}

.premium-final-cta h2,
.premium-home-bottom-cta h2 {
  color: #fff;
  max-width: 850px;
}

.site-footer {
  padding: 32px 0 92px;
  color: var(--muted);
  background: #fff;
  border-top: 1px solid var(--line);
}

.footer-inner {
  align-items: center;
}

.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.footer-brand img {
  width: 94px;
}

.mobile-sticky-donate {
  position: fixed;
  inset-inline: 14px;
  bottom: 12px;
  z-index: 45;
  min-height: 58px;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #092a24;
  background: var(--accent);
  border: 1px solid var(--accent);
  border-radius: 999px;
  box-shadow: 0 18px 42px rgba(7, 34, 54, 0.28);
  font-weight: 950;
}

/* Premium homepage */
.premium-home-hero {
  padding-bottom: 0;
}

.premium-home-hero-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(430px, 0.84fr);
  gap: clamp(42px, 6vw, 94px);
  align-items: center;
  min-height: 720px;
  padding: 84px 0 128px;
}

.premium-home-copy {
  max-width: 760px;
}

.premium-home-copy h1 {
  font-size: clamp(3.7rem, 6.3vw, 7rem);
}

.premium-home-secure {
  color: rgba(255, 255, 255, 0.67);
  font-size: 0.9rem;
}

.home-hero-glow-one {
  width: 680px;
  height: 680px;
  inset-inline-end: -220px;
  top: -180px;
  background: radial-gradient(circle, rgba(62, 203, 184, 0.3), rgba(62, 203, 184, 0));
}

.home-hero-glow-two {
  width: 480px;
  height: 480px;
  inset-inline-start: -140px;
  bottom: -250px;
  background: radial-gradient(circle, rgba(240, 185, 77, 0.18), rgba(240, 185, 77, 0));
}

.home-hero-ring-one {
  width: 420px;
  height: 420px;
  inset-inline-end: 4%;
  top: 9%;
  opacity: 0.48;
}

.home-hero-ring-two {
  width: 210px;
  height: 210px;
  inset-inline-start: 4%;
  bottom: 14%;
  opacity: 0.34;
}

.home-spotlight-shell {
  position: relative;
  min-height: 520px;
}

.home-spotlight-loading,
.home-spotlight-empty {
  min-height: 500px;
  display: grid;
  place-content: center;
  gap: 8px;
  padding: 32px;
  color: rgba(255, 255, 255, 0.76);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--radius-xl);
  text-align: center;
  backdrop-filter: blur(14px);
}

.home-spotlight-empty strong {
  color: #fff;
  font-size: 1.6rem;
}

.home-spotlight-card {
  position: relative;
  overflow: hidden;
  min-height: 540px;
  display: grid;
  grid-template-rows: 240px 1fr;
  color: var(--ink);
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.64);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-xl);
  transform: rotate(-1.2deg);
}

.home-spotlight-card:hover {
  transform: rotate(0deg) translateY(-4px);
}

.home-spotlight-visual {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 70% 25%, var(--spotlight-accent), transparent 32%),
    linear-gradient(135deg, var(--spotlight-primary), color-mix(in srgb, var(--spotlight-primary), #071f32 30%));
}

.home-spotlight-monogram {
  position: relative;
  z-index: 2;
  color: #fff;
  font-size: 6rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -0.08em;
  text-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
}

.home-spotlight-orbit {
  width: 270px;
  height: 270px;
  inset-inline-end: -35px;
  top: -30px;
  opacity: 0.7;
}

.home-spotlight-badge {
  position: absolute;
  inset-inline-start: 22px;
  top: 22px;
  z-index: 3;
  padding: 7px 12px;
  color: #092a24;
  background: var(--spotlight-accent);
  border-radius: 999px;
  font-size: 0.77rem;
  font-weight: 950;
}

.home-spotlight-content {
  display: grid;
  align-content: start;
  padding: 28px;
}

.home-spotlight-kicker {
  color: var(--accent-strong);
  font-size: 0.82rem;
  font-weight: 950;
}

.home-spotlight-content h2 {
  margin: 8px 0 0;
  color: var(--primary);
  font-size: 2rem;
  line-height: 1.12;
  font-weight: 950;
}

.home-spotlight-content > p {
  margin: 10px 0 0;
  color: var(--muted);
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home-spotlight-progress-line,
.home-spotlight-footer,
.premium-campaign-numbers,
.premium-campaign-card-footer,
.premium-campaign-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.home-spotlight-progress-line {
  margin-top: 22px;
}

.home-spotlight-progress-line span,
.premium-campaign-numbers span {
  display: block;
  color: var(--muted);
  font-size: 0.75rem;
}

.home-spotlight-progress-line strong,
.premium-campaign-numbers strong {
  color: var(--primary);
  font-size: 1.2rem;
  font-weight: 950;
}

.home-spotlight-track,
.premium-campaign-progress {
  height: 11px;
  overflow: hidden;
  margin-top: 12px;
  background: #e8eff3;
  border-radius: 999px;
}

.home-spotlight-track span,
.premium-campaign-progress span {
  display: block;
  width: var(--spotlight-progress);
  height: 100%;
  background: linear-gradient(90deg, var(--spotlight-accent), var(--gold));
  border-radius: inherit;
}

.home-spotlight-footer {
  margin-top: 17px;
}

.home-spotlight-footer strong {
  color: var(--primary);
}

.home-spotlight-footer a {
  color: var(--accent-strong);
  text-decoration: none;
  font-weight: 950;
}

.home-metrics-rail {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(3, 1fr) 1.35fr;
  min-height: 110px;
  margin-top: -64px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.home-metrics-rail article {
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 22px 26px;
  border-inline-start: 1px solid var(--line);
}

.home-metrics-rail article:first-child {
  border-inline-start: 0;
}

.home-metrics-rail span {
  color: var(--muted);
  font-size: 0.78rem;
}

.home-metrics-rail strong {
  color: var(--primary);
  font-size: 1.72rem;
  font-weight: 950;
}

.home-metrics-rail .home-metrics-live {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--muted-strong);
}

.premium-home-campaigns {
  padding: 132px 0 108px;
  background: #fff;
}

.premium-home-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.homepage-count {
  flex: 0 0 auto;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 7px 13px;
  color: var(--primary);
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 850;
}

.homepage-toolbar,
.premium-home-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  margin: 34px 0 30px;
  padding: 12px;
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.homepage-search,
.homepage-sort {
  display: flex;
  align-items: center;
}

.homepage-search {
  gap: 10px;
  min-height: 50px;
  padding: 0 15px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.homepage-search-icon {
  color: var(--accent-strong);
  font-size: 1.4rem;
}

.homepage-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: none;
  background: transparent;
}

.homepage-sort {
  gap: 10px;
  padding-inline: 14px;
  color: var(--muted-strong);
  font-size: 0.88rem;
  font-weight: 850;
}

.homepage-sort select {
  min-height: 44px;
  padding: 8px 12px;
  color: var(--primary);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  font-weight: 800;
}

.premium-campaign-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.premium-campaign-card {
  --card-primary: #163e5b;
  --card-accent: #3fc8b7;
  --card-progress: 0%;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: 190ms ease;
}

.premium-campaign-card:hover {
  transform: translateY(-7px);
  border-color: #bdd5dc;
  box-shadow: var(--shadow);
}

.premium-campaign-card-link {
  height: 100%;
  display: grid;
  grid-template-rows: 210px 1fr;
  color: inherit;
  text-decoration: none;
}

.premium-campaign-card-visual {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 72% 22%, var(--card-accent), transparent 30%),
    linear-gradient(135deg, var(--card-primary), color-mix(in srgb, var(--card-primary), #071f32 30%));
}

.premium-campaign-card-number {
  position: absolute;
  inset-inline-start: 20px;
  top: 15px;
  color: rgba(255, 255, 255, 0.43);
  font-size: 2rem;
  font-weight: 950;
}

.premium-campaign-card-monogram {
  position: relative;
  z-index: 2;
  font-size: 4.4rem;
  line-height: 1;
  letter-spacing: -0.08em;
  font-weight: 950;
  text-shadow: 0 12px 30px rgba(0, 0, 0, 0.17);
}

.premium-campaign-card-orbit {
  width: 230px;
  height: 230px;
  inset-inline-end: -35px;
  top: -40px;
  opacity: 0.6;
}

.premium-campaign-card-status {
  position: absolute;
  inset-inline-end: 18px;
  bottom: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  color: #fff;
  background: rgba(5, 27, 43, 0.44);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 850;
  backdrop-filter: blur(8px);
}

.premium-campaign-card-body {
  display: flex;
  flex-direction: column;
  padding: 24px;
}

.premium-campaign-meta {
  color: var(--muted);
  font-size: 0.76rem;
}

.premium-campaign-meta span:first-child {
  color: var(--accent-strong);
  font-weight: 900;
}

.premium-campaign-card h3 {
  margin: 12px 0 0;
  color: var(--primary);
  font-size: 1.55rem;
  line-height: 1.18;
  font-weight: 950;
}

.premium-campaign-card p {
  display: -webkit-box;
  overflow: hidden;
  min-height: 48px;
  margin: 10px 0 0;
  color: var(--muted);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.premium-campaign-numbers {
  margin-top: 24px;
}

.premium-campaign-progress span {
  width: var(--card-progress);
  background: linear-gradient(90deg, var(--card-accent), var(--gold));
}

.premium-campaign-card-footer {
  margin-top: auto;
  padding-top: 18px;
}

.premium-campaign-card-footer strong {
  color: var(--primary);
}

.premium-campaign-card-footer > span {
  color: var(--accent-strong);
  font-weight: 900;
}

.home-how-it-works {
  padding: 104px 0;
  background: var(--paper-warm);
}

.centered-heading {
  justify-content: center;
  text-align: center;
}

.home-steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-top: 44px;
}

.home-steps-grid article {
  position: relative;
  overflow: hidden;
  min-height: 230px;
  padding: 28px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
}

.home-steps-grid article::after {
  content: "";
  position: absolute;
  inset-inline-end: -38px;
  bottom: -42px;
  width: 150px;
  height: 150px;
  border: 22px solid rgba(62, 203, 184, 0.08);
  border-radius: 50%;
}

.home-steps-grid span {
  color: var(--accent-strong);
  font-size: 2.6rem;
  font-weight: 950;
}

.home-steps-grid strong {
  display: block;
  margin-top: 20px;
  color: var(--primary);
  font-size: 1.35rem;
}

.home-steps-grid p {
  position: relative;
  z-index: 1;
  margin: 8px 0 0;
  color: var(--muted);
}

.premium-home-bottom-cta {
  position: relative;
  overflow: hidden;
  padding: 82px 0;
  color: #fff;
  background: linear-gradient(120deg, var(--primary-strong), var(--primary), #0e4b65);
}

/* Dialog and payment */
.donation-dialog {
  width: min(820px, calc(100% - 24px));
  max-height: min(94vh, 900px);
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xl);
}

.donation-dialog::backdrop {
  background: rgba(4, 19, 31, 0.72);
  backdrop-filter: blur(6px);
}

.dialog-shell {
  position: relative;
  max-height: min(94vh, 900px);
  overflow-y: auto;
  padding: 32px;
  background: #fff;
}

.dialog-close {
  position: absolute;
  inset-inline-end: 18px;
  top: 18px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--primary);
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: 50%;
  font-size: 1.5rem;
}

.dialog-heading {
  padding-inline-end: 52px;
}

.dialog-heading h2 {
  font-size: clamp(2rem, 4vw, 3.2rem);
}

.amount-grid {
  margin: 24px 0 14px;
}

.field {
  display: grid;
  gap: 7px;
  color: var(--primary);
  font-weight: 850;
}

.field input,
.field textarea,
.field select {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  outline: none;
}

.field textarea {
  resize: vertical;
}

.field input:focus,
.field textarea:focus,
.field select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(62, 203, 184, 0.14);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 16px 0 14px;
}

.custom-amount-field {
  max-width: 230px;
}

.selected-ambassador {
  margin-top: 16px;
  padding: 13px 15px;
  color: var(--primary);
  background: var(--soft-tint);
  border: 1px solid #cdece6;
  border-radius: var(--radius-sm);
}

.secure-note {
  max-width: 360px;
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
}

.payment-frame-section {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.payment-state {
  margin-bottom: 12px;
  padding: 12px 14px;
  color: var(--primary);
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.payment-state.is-error {
  color: #8f251d;
  background: #fff2ef;
  border-color: #efc0ba;
}

.payment-notice {
  position: sticky;
  top: 10px;
  z-index: 120;
  min-height: 48px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  margin-inline-end: 52px;
  padding: 11px 14px;
  color: #173b57;
  background: #eef8f6;
  border: 1px solid #a9dcd4;
  border-radius: 13px;
  box-shadow: 0 14px 34px rgba(7, 31, 46, 0.18);
  font-size: 0.9rem;
  font-weight: 850;
  line-height: 1.45;
}

.payment-notice::before {
  content: "✓";
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--accent-strong);
  border-radius: 9px;
  font-weight: 950;
}

.payment-notice.is-error {
  color: #7d211a;
  background: #fff1ee;
  border-color: #efb6af;
  box-shadow: 0 14px 36px rgba(112, 31, 23, 0.2);
}

.payment-notice.is-error::before {
  content: "!";
  background: #b63c31;
}

.payment-notice[hidden] {
  display: none;
}

#NedarimFrame {
  width: 100%;
  min-height: 420px;
  border: 0;
}

.toast {
  position: fixed;
  inset-inline-start: 50%;
  bottom: 24px;
  z-index: 80;
  max-width: min(440px, calc(100% - 32px));
  padding: 12px 18px;
  color: #fff;
  background: var(--primary-strong);
  border-radius: 999px;
  box-shadow: var(--shadow);
  opacity: 0;
  transform: translate(-50%, 18px);
  pointer-events: none;
  transition: 180ms ease;
}

.toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

@keyframes livePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(0.82); }
}

@media (max-width: 1180px) {
  .campaign-hero-layout,
  .premium-home-hero-layout {
    grid-template-columns: minmax(0, 1fr) minmax(350px, 0.78fr);
    gap: 40px;
  }

  .campaign-hero-copy h1,
  .premium-home-copy h1 {
    font-size: clamp(3.1rem, 5.5vw, 5.2rem);
  }

  .premium-campaign-grid,
  .card-grid,
  .premium-ambassador-grid,
  .donation-list,
  .premium-donation-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-metrics-rail {
    grid-template-columns: repeat(3, 1fr);
  }

  .home-metrics-live {
    grid-column: 1 / -1;
    justify-content: center;
    border-top: 1px solid var(--line);
  }
}

@media (max-width: 940px) {
  .content-shell {
    width: min(100% - 32px, 760px);
  }

  .header-inner {
    grid-template-columns: auto 1fr;
  }

  .header-campaign-status {
    display: none;
  }

  .campaign-hero-layout,
  .premium-home-hero-layout {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: 64px;
  }

  .campaign-hero-copy,
  .premium-home-copy {
    max-width: none;
    text-align: center;
  }

  .campaign-live-label,
  .premium-home-copy .campaign-live-label {
    margin-inline: auto;
  }

  .hero-text,
  .premium-home-lead {
    margin-inline: auto;
  }

  .hero-actions,
  .premium-home-actions,
  .campaign-trust-row {
    justify-content: center;
  }

  .premium-donation-card {
    position: relative;
    top: auto;
    max-width: 620px;
    margin-inline: auto;
  }

  .live-donation-ribbon {
    margin-top: -68px;
  }

  .campaign-overview-grid,
  .home-steps-grid {
    grid-template-columns: 1fr;
  }

  .premium-story-layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .premium-story-heading {
    position: static;
    text-align: center;
  }

  .story-accent-line {
    margin-inline: auto;
  }

  .premium-section-heading,
  .premium-home-heading,
  .premium-final-cta-inner,
  .premium-bottom-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .home-spotlight-shell {
    width: min(100%, 590px);
    margin-inline: auto;
  }

  .home-spotlight-card {
    transform: none;
  }

  .home-metrics-rail {
    margin-top: -60px;
  }
}

@media (max-width: 720px) {
  .content-shell {
    width: min(100% - 24px, 620px);
  }

  .site-header {
    min-height: 66px;
  }

  .brand-link img {
    width: 104px;
  }

  .header-donate-button {
    display: none;
  }

  .icon-button {
    width: 38px;
    height: 38px;
  }

  .campaign-hero-layout,
  .premium-home-hero-layout {
    padding: 44px 0 104px;
  }

  .campaign-hero-copy h1,
  .premium-home-copy h1 {
    font-size: clamp(2.75rem, 13vw, 4.2rem);
  }

  .hero-text,
  .premium-home-lead {
    font-size: 1.02rem;
  }

  .hero-actions,
  .premium-home-actions {
    flex-direction: column;
  }

  .hero-actions > *,
  .premium-home-actions > * {
    width: 100%;
  }

  .campaign-trust-row {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: start;
    width: fit-content;
    margin-inline: auto;
  }

  .premium-donation-card {
    padding: 22px;
    border-radius: var(--radius-lg);
  }

  .progress-ring-wrap {
    grid-template-columns: 108px 1fr;
    gap: 18px;
  }

  .progress-ring {
    width: 108px;
  }

  .progress-ring::before {
    width: 84px;
  }

  .progress-ring-center strong {
    font-size: 1.65rem;
  }

  .premium-raised-block > strong {
    font-size: 2.3rem;
  }

  .premium-campaign-facts {
    grid-template-columns: repeat(2, 1fr);
  }

  .premium-countdown-fact {
    grid-column: 1 / -1;
  }

  .page-amount-grid,
  .amount-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .live-donation-ribbon {
    flex-wrap: wrap;
    margin-top: -60px;
  }

  .campaign-overview-strip {
    padding-top: 100px;
  }

  .premium-story-section,
  .premium-ambassadors-section,
  .premium-recent-section,
  .premium-home-campaigns,
  .home-how-it-works {
    padding: 76px 0;
  }

  .premium-story-card {
    min-height: 0;
    padding: 28px 22px;
  }

  .premium-campaign-grid,
  .card-grid,
  .premium-ambassador-grid,
  .donation-list,
  .premium-donation-list {
    grid-template-columns: 1fr;
  }

  .ambassador-card {
    min-height: 0;
  }

  .home-metrics-rail {
    grid-template-columns: 1fr 1fr;
  }

  .home-metrics-rail article {
    border-inline-start: 0;
    border-bottom: 1px solid var(--line);
  }

  .home-metrics-rail .home-metrics-live {
    grid-column: 1 / -1;
  }

  .homepage-toolbar,
  .premium-home-toolbar {
    grid-template-columns: 1fr;
  }

  .homepage-sort {
    justify-content: space-between;
  }

  .homepage-sort select {
    flex: 1;
  }

  .home-spotlight-card {
    grid-template-rows: 205px 1fr;
  }

  .home-spotlight-monogram {
    font-size: 4.8rem;
  }

  .premium-final-cta,
  .premium-home-bottom-cta {
    padding: 66px 0;
  }

  .footer-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .custom-amount-field {
    max-width: none;
  }

  .mobile-sticky-donate {
    display: flex;
  }

  body:has(.donation-dialog[open]) .mobile-sticky-donate,
  body.donation-dialog-open .mobile-sticky-donate {
    display: none;
  }

  .site-footer {
    padding-bottom: 104px;
  }
}

@media (max-width: 440px) {
  .content-shell {
    width: calc(100% - 18px);
  }

  .site-header {
    min-height: 62px;
  }

  .header-actions {
    gap: 6px;
  }

  .homepage-header-link {
    min-height: 38px;
    padding: 7px 12px;
    font-size: 0.82rem;
  }

  .campaign-hero-copy h1,
  .premium-home-copy h1 {
    font-size: clamp(2.4rem, 14vw, 3.45rem);
  }

  .premium-donation-card {
    padding: 18px;
  }

  .progress-ring-wrap {
    grid-template-columns: 90px 1fr;
  }

  .progress-ring {
    width: 90px;
  }

  .progress-ring::before {
    width: 70px;
  }

  .progress-ring-center strong {
    font-size: 1.3rem;
  }

  .premium-raised-block > strong {
    font-size: 1.95rem;
  }

  .campaign-overview-grid article,
  .premium-campaign-card-body,
  .ambassador-card,
  .donation-row {
    padding: 18px;
  }

  .premium-story-heading h2,
  .premium-section-heading h2,
  .premium-home-heading h2,
  .home-how-it-works h2,
  .premium-final-cta h2,
  .dialog-heading h2 {
    font-size: 2.25rem;
  }

  .home-metrics-rail {
    grid-template-columns: 1fr;
  }

  .home-metrics-rail .home-metrics-live {
    grid-column: auto;
  }

  .home-spotlight-content,
  .home-steps-grid article {
    padding: 20px;
  }

  .dialog-shell {
    padding: 22px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ================================================================
   Gold Plus Campaigns Premium V2.1 — real-data polish
   Version: 20260715-premium-v21
   ================================================================ */

:root {
  --v21-section-space: clamp(64px, 7vw, 92px);
  --v21-card-border: rgba(183, 210, 220, 0.82);
  --v21-soft-shadow: 0 18px 55px rgba(7, 35, 54, 0.09);
}

.premium-campaign-v21 .site-header,
.premium-homepage-v21 .site-header {
  min-height: 70px;
}

.premium-campaign-v21 .brand-link img,
.premium-homepage-v21 .brand-link img {
  width: 142px;
}

/* Campaign hero: less empty height, stronger content hierarchy. */
.premium-campaign-v21 .campaign-hero-layout {
  min-height: 650px;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, 0.68fr);
  gap: clamp(42px, 6vw, 92px);
  padding: 58px 0 112px;
}

.premium-campaign-v21 .campaign-hero-copy h1 {
  max-width: 780px;
  font-size: clamp(3.4rem, 5.35vw, 5.65rem);
}

.premium-campaign-v21 .hero-text {
  max-width: 660px;
  margin-top: 20px;
}

.premium-campaign-v21 .premium-donation-card {
  width: min(100%, 455px);
  justify-self: end;
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow: 0 30px 90px rgba(3, 23, 38, 0.28);
}

.premium-campaign-v21 .premium-card-donate {
  min-height: 56px;
  font-size: 1.02rem;
}

.premium-campaign-v21 .page-amount-option {
  min-height: 62px;
}

.premium-campaign-v21 .page-amount-option strong {
  font-size: 1.05rem;
}

.premium-campaign-v21 .live-donation-ribbon {
  min-height: 62px;
  margin-top: -66px;
  box-shadow: 0 20px 50px rgba(6, 35, 53, 0.13);
}

.premium-campaign-v21 .campaign-overview-strip {
  padding: 68px 0 34px;
}

.premium-campaign-v21 .campaign-overview-grid {
  gap: 12px;
}

.premium-campaign-v21 .campaign-overview-grid article {
  min-height: 86px;
  padding: 18px 20px;
  background: linear-gradient(135deg, #fff, #f7fbfc);
  border-color: var(--v21-card-border);
}

/* Story: remove the large empty block when content is short. */
.premium-campaign-v21 .premium-story-section,
.premium-campaign-v21 .premium-ambassadors-section,
.premium-campaign-v21 .premium-recent-section {
  padding: var(--v21-section-space) 0;
}

.premium-campaign-v21 .premium-story-layout {
  grid-template-columns: minmax(290px, 0.68fr) minmax(0, 1.32fr);
  gap: clamp(38px, 5vw, 72px);
  align-items: center;
}

.premium-campaign-v21 .premium-story-heading {
  position: static;
}

.premium-campaign-v21 .premium-story-card {
  min-height: 0;
  padding: clamp(32px, 4vw, 50px);
  border-color: var(--v21-card-border);
  box-shadow: var(--v21-soft-shadow);
}

.premium-campaign-v21 .story-body {
  max-width: 820px;
}

.premium-campaign-v21 .story-body .story-lead {
  color: var(--primary);
  font-size: clamp(1.08rem, 1.5vw, 1.26rem);
  line-height: 1.9;
}

.campaign-story-short .premium-story-layout {
  grid-template-columns: minmax(250px, 0.62fr) minmax(0, 1.38fr);
}

.campaign-story-short .premium-story-card {
  padding-block: 36px;
}

.campaign-story-short .story-quote-mark {
  font-size: 6rem;
}

/* Section headings sit closer to their real content. */
.premium-campaign-v21 .premium-section-heading {
  margin-bottom: 32px;
}

.premium-campaign-v21 .premium-section-heading h2 {
  font-size: clamp(2.35rem, 3.4vw, 3.7rem);
}

/* Ambassadors: adapt to the actual number instead of leaving an empty sea. */
.premium-campaign-v21 .premium-ambassador-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr));
  gap: 18px;
}

.premium-campaign-v21 .ambassador-card {
  position: relative;
  min-height: 0;
  padding: 28px;
  border-color: var(--v21-card-border);
  box-shadow: 0 12px 35px rgba(7, 35, 54, 0.055);
  overflow: hidden;
}

.premium-campaign-v21 .ambassador-card::before {
  content: "";
  position: absolute;
  inset-inline-end: 0;
  top: 0;
  width: 5px;
  height: 100%;
  background: linear-gradient(180deg, var(--accent), var(--gold));
}

.premium-campaign-v21 .ambassador-rank {
  position: absolute;
  inset-inline-start: 22px;
  top: 18px;
  color: rgba(15, 57, 82, 0.16);
  font-size: 2.45rem;
  font-weight: 950;
  line-height: 1;
}

.premium-campaign-v21 .premium-ambassador-grid.is-single {
  grid-template-columns: minmax(0, 920px);
  justify-content: center;
}

.premium-campaign-v21 .premium-ambassador-grid.is-single .ambassador-card {
  display: grid;
  grid-template-columns: minmax(240px, 0.85fr) minmax(300px, 1.15fr);
  grid-template-areas:
    "head progress"
    "note progress"
    "actions actions";
  gap: 14px 42px;
  align-items: center;
  padding: 34px 38px;
  background:
    radial-gradient(circle at 8% 15%, rgba(62, 203, 184, 0.10), transparent 31%),
    #fff;
  box-shadow: var(--v21-soft-shadow);
}

.premium-campaign-v21 .premium-ambassador-grid.is-single .ambassador-head {
  grid-area: head;
}

.premium-campaign-v21 .premium-ambassador-grid.is-single .ambassador-card > p {
  grid-area: note;
  margin: 0;
}

.premium-campaign-v21 .premium-ambassador-grid.is-single .mini-progress {
  grid-area: progress;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 22px;
  background: var(--paper-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.premium-campaign-v21 .premium-ambassador-grid.is-single .ambassador-actions {
  grid-area: actions;
  justify-content: flex-end;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.campaign-single-ambassador .premium-ambassadors-section {
  background:
    linear-gradient(180deg, #fff 0%, #fbfdfd 100%);
}

/* Donations: highlight movement, but keep real data only. */
.premium-campaign-v21 .premium-donation-list {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
  gap: 16px;
}

.premium-campaign-v21 .premium-donation-list.is-few {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}

.premium-campaign-v21 .donation-row {
  position: relative;
  min-height: 132px;
  padding: 26px;
  border-color: var(--v21-card-border);
  box-shadow: 0 10px 30px rgba(7, 35, 54, 0.045);
  overflow: hidden;
}

.premium-campaign-v21 .donation-row.is-latest {
  border-color: rgba(62, 203, 184, 0.55);
  background:
    radial-gradient(circle at 6% 12%, rgba(62, 203, 184, 0.10), transparent 38%),
    #fff;
}

.premium-campaign-v21 .latest-donation-tag {
  position: absolute;
  inset-inline-start: 18px;
  top: 14px;
  padding: 5px 9px;
  color: #096f61;
  background: #e8fbf7;
  border: 1px solid #c7eee7;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 900;
}

.premium-campaign-v21 .donation-row.is-latest .donation-identity,
.premium-campaign-v21 .donation-row.is-latest .donation-meta {
  margin-top: 16px;
}

/* Homepage: cleaner hero and cards that can show actual campaign images. */
.premium-homepage-v21 .premium-home-hero-layout {
  min-height: 590px;
  padding: 58px 0 104px;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, 0.72fr);
  gap: clamp(42px, 6vw, 92px);
}

.premium-homepage-v21 .premium-home-copy h1 {
  font-size: clamp(3.5rem, 5.4vw, 5.7rem);
}

.premium-homepage-v21 .premium-home-lead {
  max-width: 650px;
  margin-top: 20px;
}

.premium-homepage-v21 .home-spotlight-card {
  transform: none;
  border-color: rgba(255, 255, 255, 0.72);
  box-shadow: 0 34px 90px rgba(3, 23, 38, 0.30);
}

.premium-homepage-v21 .home-spotlight-visual,
.premium-homepage-v21 .premium-campaign-card-visual {
  background-position: center;
  background-size: cover;
}

.premium-homepage-v21 .home-spotlight-image-shade,
.premium-homepage-v21 .premium-campaign-card-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.premium-homepage-v21 .home-spotlight-image-shade {
  background: linear-gradient(180deg, rgba(4, 22, 36, 0.08), rgba(4, 22, 36, 0.56));
}

.premium-homepage-v21 .premium-campaign-card-shade {
  background: linear-gradient(180deg, rgba(4, 22, 36, 0.04), rgba(4, 22, 36, 0.44));
}

.premium-homepage-v21 .home-spotlight-visual.has-image .home-spotlight-monogram,
.premium-homepage-v21 .premium-campaign-card-visual.has-image .premium-campaign-card-monogram {
  opacity: 0;
}

.premium-homepage-v21 .home-spotlight-badge,
.premium-homepage-v21 .home-spotlight-monogram,
.premium-homepage-v21 .home-spotlight-orbit,
.premium-homepage-v21 .premium-campaign-card-number,
.premium-homepage-v21 .premium-campaign-card-monogram,
.premium-homepage-v21 .premium-campaign-card-orbit,
.premium-homepage-v21 .premium-campaign-card-status {
  z-index: 2;
}

.premium-homepage-v21 .home-metrics-rail {
  margin-top: -58px;
  box-shadow: 0 18px 55px rgba(7, 35, 54, 0.12);
}

.premium-homepage-v21 .premium-home-campaigns,
.premium-homepage-v21 .home-how-it-works {
  padding: var(--v21-section-space) 0;
}

.premium-homepage-v21 .premium-home-toolbar {
  margin-bottom: 30px;
  padding: 10px;
}

.premium-homepage-v21 .premium-campaign-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.premium-homepage-v21 .premium-campaign-grid.is-pair {
  grid-template-columns: repeat(2, minmax(0, 520px));
  justify-content: center;
}

.premium-homepage-v21 .premium-campaign-grid.is-single {
  grid-template-columns: minmax(0, 640px);
  justify-content: center;
}

.premium-homepage-v21 .premium-campaign-card {
  border-color: var(--v21-card-border);
  box-shadow: 0 12px 35px rgba(7, 35, 54, 0.045);
}

.premium-homepage-v21 .premium-campaign-card-link {
  grid-template-rows: 190px 1fr;
}

.premium-homepage-v21 .premium-campaign-card-body {
  padding: 26px;
}

.premium-homepage-v21 .premium-campaign-card-body h3 {
  font-size: 1.55rem;
}

.premium-homepage-v21 .premium-campaign-card-footer span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--accent-strong);
  font-weight: 950;
}

.premium-homepage-v21 .home-steps-grid article {
  min-height: 190px;
  padding: 30px;
  box-shadow: 0 10px 30px rgba(7, 35, 54, 0.04);
}

.premium-homepage-v21 .homepage-status.is-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.premium-homepage-v21 .homepage-status.is-error button {
  min-height: 42px;
  padding: 8px 16px;
  color: #fff;
  background: var(--primary);
  border: 0;
  border-radius: 999px;
  font-weight: 900;
}

@media (max-width: 940px) {
  .premium-campaign-v21 .campaign-hero-layout,
  .premium-homepage-v21 .premium-home-hero-layout {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .premium-campaign-v21 .premium-donation-card {
    justify-self: center;
  }

  .premium-campaign-v21 .premium-ambassador-grid.is-single .ambassador-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "head"
      "note"
      "progress"
      "actions";
  }

  .premium-homepage-v21 .premium-campaign-grid,
  .premium-homepage-v21 .premium-campaign-grid.is-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .premium-campaign-v21 .site-header,
  .premium-homepage-v21 .site-header {
    min-height: 64px;
  }

  .premium-campaign-v21 .brand-link img,
  .premium-homepage-v21 .brand-link img {
    width: 108px;
  }

  .premium-campaign-v21 .campaign-hero-layout,
  .premium-homepage-v21 .premium-home-hero-layout {
    padding: 40px 0 92px;
  }

  .premium-campaign-v21 .premium-story-layout,
  .campaign-story-short .premium-story-layout {
    grid-template-columns: 1fr;
  }

  .premium-campaign-v21 .premium-story-section,
  .premium-campaign-v21 .premium-ambassadors-section,
  .premium-campaign-v21 .premium-recent-section,
  .premium-homepage-v21 .premium-home-campaigns,
  .premium-homepage-v21 .home-how-it-works {
    padding: 62px 0;
  }

  .premium-campaign-v21 .premium-ambassador-grid.is-single .ambassador-card {
    padding: 26px 22px;
  }

  .premium-campaign-v21 .premium-ambassador-grid.is-single .ambassador-actions {
    justify-content: stretch;
  }

  .premium-campaign-v21 .premium-ambassador-grid.is-single .ambassador-actions button {
    flex: 1;
  }

  .premium-homepage-v21 .premium-campaign-grid,
  .premium-homepage-v21 .premium-campaign-grid.is-pair,
  .premium-homepage-v21 .premium-campaign-grid.is-single {
    grid-template-columns: 1fr;
  }

  .premium-homepage-v21 .homepage-status.is-error {
    align-items: stretch;
    flex-direction: column;
  }
}

/* ================================================================
   Gold Plus Campaigns Premium V2.2
   Version: 20260715-premium-v22
   ================================================================ */

.premium-campaign-v22,
.premium-homepage-v22 {
  --v22-ink: #0b2a40;
  --v22-muted: #607888;
  --v22-surface: #ffffff;
  --v22-soft: #f4f8fa;
  --v22-warm: #fbfaf6;
  --v22-line: rgba(13, 54, 78, 0.12);
  --v22-shadow: 0 28px 80px rgba(6, 34, 53, 0.14);
  --v22-shadow-soft: 0 18px 48px rgba(6, 34, 53, 0.08);
}

.premium-campaign-v22 .site-header,
.premium-homepage-v22 .site-header {
  min-height: 74px;
  border-bottom: 1px solid rgba(12, 53, 76, 0.09);
  box-shadow: 0 8px 28px rgba(6, 34, 53, 0.04);
}

.premium-campaign-v22 .header-inner,
.premium-homepage-v22 .header-inner {
  min-height: 74px;
}

.premium-campaign-v22 .brand-link img,
.premium-homepage-v22 .brand-link img {
  width: 122px;
}

.homepage-main-nav {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  margin-inline-end: auto;
  background: #f4f8fa;
  border: 1px solid var(--v22-line);
  border-radius: 999px;
}

.homepage-main-nav a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 8px 17px;
  color: var(--v22-muted);
  border-radius: 999px;
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 900;
  transition: 160ms ease;
}

.homepage-main-nav a:hover,
.homepage-main-nav a:focus-visible {
  color: var(--v22-ink);
  background: #fff;
  box-shadow: 0 6px 18px rgba(6, 34, 53, 0.08);
}

/* Campaign hero with a real visual stage */
.premium-campaign-v22 .premium-campaign-hero {
  min-height: auto;
  background-position: center;
  background-size: cover;
}

.premium-campaign-v22 .premium-campaign-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(5, 28, 45, 0.98) 0%, rgba(5, 28, 45, 0.83) 48%, rgba(5, 28, 45, 0.62) 100%),
    linear-gradient(180deg, transparent 56%, rgba(5, 28, 45, 0.28));
}

.premium-campaign-v22 .hero-visual,
.premium-campaign-v22 .campaign-hero-layout,
.premium-campaign-v22 .live-donation-ribbon {
  position: relative;
  z-index: 2;
}

.premium-campaign-v22 .campaign-hero-layout {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
  gap: clamp(34px, 5vw, 74px);
  align-items: start;
  min-height: 0;
  padding-top: clamp(64px, 7vw, 104px);
  padding-bottom: 72px;
}

.premium-campaign-v22 .campaign-hero-copy {
  max-width: 820px;
  padding-top: 10px;
}

.premium-campaign-v22 .campaign-hero-copy h1 {
  max-width: 760px;
  margin-top: 16px;
  font-size: clamp(3.4rem, 6vw, 6.7rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.premium-campaign-v22 .hero-text {
  max-width: 720px;
  font-size: clamp(1.02rem, 1.45vw, 1.28rem);
  line-height: 1.72;
}

.campaign-media-stage {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 8.4;
  width: min(100%, 790px);
  margin: 30px 0 26px;
  background: #0c3149;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 28px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
  isolation: isolate;
}

.campaign-media-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, transparent 45%, rgba(5, 28, 45, 0.74)),
    linear-gradient(90deg, rgba(5, 28, 45, 0.2), transparent 42%);
}

.campaign-media-stage img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 600ms cubic-bezier(.2,.7,.2,1);
}

.campaign-media-stage:hover img {
  transform: scale(1.025);
}

.campaign-media-caption {
  position: absolute;
  inset-inline: 22px;
  bottom: 18px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.campaign-media-title {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 950;
  text-shadow: 0 4px 18px rgba(0, 0, 0, 0.34);
}

.campaign-media-label,
.sample-image-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 11px;
  color: #fff;
  background: rgba(7, 31, 50, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  backdrop-filter: blur(10px);
  font-size: 0.73rem;
  font-style: normal;
  font-weight: 900;
}

.premium-campaign-v22 .premium-donation-card {
  position: sticky;
  top: 98px;
  margin-top: 0;
  border-radius: 30px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.27);
}

.premium-campaign-v22 .premium-card-donate {
  min-height: 58px;
  font-size: 1rem;
  box-shadow: 0 14px 30px color-mix(in srgb, var(--accent), transparent 70%);
}

/* Sticky campaign navigation */
.campaign-page-nav {
  position: sticky;
  top: 73px;
  z-index: 35;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid var(--v22-line);
  box-shadow: 0 10px 30px rgba(6, 34, 53, 0.06);
  backdrop-filter: blur(16px);
}

.campaign-page-nav-inner {
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  scrollbar-width: none;
}

.campaign-page-nav-inner::-webkit-scrollbar {
  display: none;
}

.campaign-page-nav a,
.campaign-page-nav button {
  flex: 0 0 auto;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  color: var(--v22-muted);
  background: transparent;
  border: 0;
  border-radius: 999px;
  text-decoration: none;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 900;
  cursor: pointer;
}

.campaign-page-nav a:hover,
.campaign-page-nav a:focus-visible {
  color: var(--primary);
  background: var(--soft-tint);
}

.campaign-page-nav button {
  margin-inline-start: auto;
  color: #082d28;
  background: var(--accent);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--accent), transparent 72%);
}

/* More compact process strip */
.premium-campaign-v22 .campaign-overview-strip {
  padding: 26px 0;
  background: #fff;
}

.premium-campaign-v22 .campaign-overview-grid article {
  min-height: 88px;
  padding: 18px 22px;
  background: var(--v22-soft);
  border: 1px solid var(--v22-line);
  border-radius: 18px;
}

/* Milestones */
.campaign-milestones-section {
  padding: 82px 0;
  background:
    radial-gradient(circle at 85% 10%, rgba(62, 203, 184, 0.09), transparent 28%),
    var(--v22-warm);
  border-block: 1px solid var(--v22-line);
}

.campaign-milestones-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 38px;
}

.campaign-milestones-heading h2,
.contribution-options-copy h2 {
  margin: 0;
  color: var(--v22-ink);
  font-size: clamp(2.1rem, 3.6vw, 3.8rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
  font-weight: 950;
}

.campaign-milestones-heading > strong {
  max-width: 420px;
  padding: 12px 16px;
  color: var(--primary);
  background: #fff;
  border: 1px solid var(--v22-line);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(6, 34, 53, 0.05);
  font-size: 0.9rem;
  text-align: center;
}

.milestone-rail {
  --milestone-progress: 0%;
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  padding-top: 30px;
}

.milestone-rail::before,
.milestone-rail::after {
  content: "";
  position: absolute;
  inset-inline: 7%;
  top: 48px;
  height: 8px;
  border-radius: 999px;
}

.milestone-rail::before {
  background: #dfe9ed;
}

.milestone-rail::after {
  inset-inline-start: 7%;
  inset-inline-end: auto;
  width: var(--milestone-progress);
  max-width: 86%;
  background: linear-gradient(90deg, var(--accent), var(--gold));
  box-shadow: 0 0 20px color-mix(in srgb, var(--accent), transparent 55%);
}

.milestone-item {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 6px;
  color: var(--v22-muted);
  text-align: center;
}

.milestone-dot {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  margin-bottom: 8px;
  color: #fff;
  background: #dfe9ed;
  border: 6px solid var(--v22-warm);
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(13, 54, 78, 0.06);
  font-size: 0.9rem;
  font-weight: 950;
}

.milestone-item.is-reached .milestone-dot {
  background: var(--accent);
}

.milestone-item.is-goal .milestone-dot {
  background: var(--gold);
}

.milestone-item strong {
  color: var(--v22-ink);
  font-size: 0.92rem;
}

.milestone-item small {
  font-size: 0.76rem;
}

.campaign-open-goal {
  min-height: 160px;
  display: grid;
  place-items: center;
  gap: 8px;
  padding: 30px;
  background: #fff;
  border: 1px solid var(--v22-line);
  border-radius: 26px;
  box-shadow: var(--v22-shadow-soft);
  text-align: center;
}

.campaign-open-goal strong {
  color: var(--primary);
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  font-weight: 950;
}

/* Story section becomes visual without wasting space */
.premium-campaign-v22 .premium-story-section {
  padding: 92px 0;
}

.premium-campaign-v22 .premium-story-layout {
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 56px;
}

.premium-campaign-v22 .premium-story-card {
  min-height: 0;
  padding: clamp(28px, 4vw, 52px);
  overflow: hidden;
}

.campaign-has-image.premium-campaign-v22 .premium-story-card {
  padding-inline-end: min(40%, 360px);
}

.campaign-has-image.premium-campaign-v22 .premium-story-card::after {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  width: min(36%, 330px);
  background:
    linear-gradient(90deg, #fff 0%, transparent 46%),
    var(--campaign-image) center / cover no-repeat;
  opacity: .98;
}

.campaign-has-image.premium-campaign-v22 .premium-story-card > * {
  position: relative;
  z-index: 2;
}

/* Contribution options */
.contribution-options-section {
  padding: 94px 0;
  color: #fff;
  background:
    radial-gradient(circle at 12% 8%, rgba(62, 203, 184, 0.28), transparent 30%),
    linear-gradient(125deg, #071f32, #123f5b 56%, #0d5c64);
}

.contribution-options-layout {
  display: grid;
  grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr);
  gap: clamp(42px, 6vw, 82px);
  align-items: center;
}

.contribution-options-copy h2 {
  color: #fff;
}

.contribution-options-copy > p:not(.section-kicker) {
  max-width: 520px;
  margin: 18px 0 24px;
  color: rgba(255, 255, 255, .72);
  line-height: 1.75;
}

.contribution-options-copy .secondary-action {
  color: #fff;
  background: transparent;
  border-color: rgba(255, 255, 255, .28);
}

.contribution-options-copy .secondary-action:hover,
.contribution-options-copy .secondary-action:focus-visible {
  color: #082d28;
  background: #fff;
  border-color: #fff;
}

.contribution-option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.contribution-option-card {
  position: relative;
  min-height: 162px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 22px;
  color: var(--v22-ink);
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 24px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .14);
  cursor: pointer;
  text-align: start;
  transition: 180ms ease;
}

.contribution-option-card:hover,
.contribution-option-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 26px 58px rgba(0, 0, 0, .22);
}

.contribution-option-card.is-featured {
  background: linear-gradient(135deg, #fff, #edfffb);
  border-color: rgba(62, 203, 184, .62);
}

.contribution-option-index {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: var(--accent-strong);
  background: var(--soft-tint);
  border-radius: 50%;
  font-size: .8rem;
  font-weight: 950;
}

.contribution-option-copy {
  display: grid;
  gap: 4px;
}

.contribution-option-copy small {
  color: var(--accent-strong);
  font-weight: 900;
}

.contribution-option-copy strong {
  color: var(--v22-ink);
  font-size: 1.55rem;
  font-weight: 950;
}

.contribution-option-copy em {
  color: var(--v22-muted);
  font-size: .8rem;
  font-style: normal;
}

.contribution-option-arrow {
  color: var(--primary);
  font-size: 1.35rem;
  font-weight: 950;
}

/* Ambassador and donation improvements */
.premium-campaign-v22 .premium-ambassadors-section,
.premium-campaign-v22 .premium-recent-section {
  padding: 92px 0;
}

.premium-campaign-v22 .ambassador-card {
  min-height: 330px;
  padding: 26px;
  border-radius: 24px;
}

.premium-campaign-v22.campaign-single-ambassador .premium-ambassador-grid {
  max-width: 920px;
}

.premium-campaign-v22.campaign-single-ambassador .ambassador-card {
  grid-template-columns: minmax(220px, .62fr) minmax(0, 1.38fr);
  grid-template-rows: auto 1fr auto;
  align-items: center;
  column-gap: 36px;
}

.premium-campaign-v22.campaign-single-ambassador .ambassador-head {
  grid-row: 1 / span 2;
  align-self: stretch;
  align-content: center;
  padding: 26px;
  background: linear-gradient(135deg, var(--soft-tint), #fff);
  border: 1px solid #d6eee9;
  border-radius: 20px;
}

.premium-campaign-v22 .donation-row {
  min-height: 158px;
  border-radius: 22px;
}

.premium-campaign-v22 .donation-row.is-latest {
  border-color: rgba(62, 203, 184, .52);
  box-shadow: 0 22px 52px rgba(62, 203, 184, .13);
}

.premium-campaign-v22 .donation-row.is-latest::before {
  content: "התרומה האחרונה";
  align-self: flex-start;
  margin-bottom: -6px;
  padding: 5px 9px;
  color: var(--accent-strong);
  background: var(--soft-tint);
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 950;
}

/* Donation modal */
.premium-campaign-v22 .donation-dialog {
  max-width: min(760px, calc(100vw - 24px));
}

.premium-campaign-v22 .dialog-shell {
  border-radius: 28px;
}

.dialog-stepper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 22px;
}

.dialog-stepper span {
  min-height: 38px;
  display: grid;
  place-items: center;
  padding: 7px 10px;
  color: var(--v22-muted);
  background: var(--v22-soft);
  border: 1px solid var(--v22-line);
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 850;
}

.dialog-stepper span.is-active {
  color: #082d28;
  background: var(--accent);
  border-color: var(--accent);
}

/* Homepage V2.2 */
.premium-homepage-v22 .premium-home-hero-layout {
  min-height: 760px;
  grid-template-columns: minmax(0, 1fr) minmax(440px, .88fr);
  padding-top: 96px;
}

.premium-homepage-v22 .premium-home-copy h1 {
  max-width: 850px;
  font-size: clamp(4rem, 6.6vw, 7.4rem);
}

.premium-homepage-v22 .premium-home-lead {
  max-width: 700px;
  font-size: 1.16rem;
  line-height: 1.75;
}

.premium-homepage-v22 .home-spotlight-card {
  min-height: 600px;
  grid-template-rows: 300px 1fr;
  transform: rotate(-.45deg);
}

.premium-homepage-v22 .home-spotlight-visual,
.premium-homepage-v22 .premium-campaign-card-visual {
  background-position: center;
  background-size: cover;
}

.premium-homepage-v22 .home-spotlight-image-shade,
.premium-homepage-v22 .premium-campaign-card-shade {
  background: linear-gradient(180deg, rgba(6, 26, 42, .04), rgba(6, 26, 42, .78));
}

.premium-homepage-v22 .sample-image-badge {
  position: absolute;
  inset-inline-end: 18px;
  bottom: 18px;
  z-index: 4;
}

.premium-homepage-v22 .home-spotlight-content {
  padding: 30px;
}

.premium-homepage-v22 .home-metrics-rail {
  margin-top: -55px;
  min-height: 118px;
  border-radius: 24px;
}

.premium-homepage-v22 .premium-home-campaigns {
  padding-top: 118px;
}

.premium-homepage-v22 .premium-campaign-grid {
  gap: 24px;
}

.premium-homepage-v22 .premium-campaign-card {
  border-radius: 26px;
  box-shadow: 0 18px 48px rgba(6, 34, 53, .08);
}

.premium-homepage-v22 .premium-campaign-card-link {
  grid-template-rows: 260px 1fr;
}

.premium-homepage-v22 .premium-campaign-card-body {
  padding: 26px;
}

.premium-homepage-v22 .premium-campaign-card-body h3 {
  font-size: 1.55rem;
}

.premium-homepage-v22 .campaign-card-cta {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  color: #082d28;
  background: var(--card-accent);
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 950;
}

/* Anchor offset */
#story,
#donation-options,
#ambassadors,
#recent-donations,
#active-campaigns,
#how-it-works {
  scroll-margin-top: 150px;
}

@media (max-width: 1120px) {
  .premium-campaign-v22 .campaign-hero-layout,
  .premium-homepage-v22 .premium-home-hero-layout {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 390px);
    gap: 34px;
  }

  .premium-campaign-v22 .campaign-hero-copy h1 {
    font-size: clamp(3.1rem, 6vw, 5.2rem);
  }

  .contribution-options-layout {
    grid-template-columns: 1fr;
  }

  .contribution-options-copy {
    max-width: 720px;
  }
}

@media (max-width: 920px) {
  .homepage-main-nav {
    display: none;
  }

  .premium-campaign-v22 .campaign-hero-layout,
  .premium-homepage-v22 .premium-home-hero-layout {
    grid-template-columns: 1fr;
  }

  .premium-campaign-v22 .premium-donation-card {
    position: relative;
    top: auto;
    max-width: 620px;
    width: 100%;
    justify-self: center;
  }

  .premium-campaign-v22 .campaign-hero-copy {
    max-width: none;
  }

  .premium-homepage-v22 .home-spotlight-shell {
    max-width: 620px;
    width: 100%;
    justify-self: center;
  }

  .premium-campaign-v22 .premium-story-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .premium-campaign-v22 .premium-story-heading {
    position: static;
  }

  .campaign-has-image.premium-campaign-v22 .premium-story-card {
    padding-inline-end: 32px;
    padding-bottom: 280px;
  }

  .campaign-has-image.premium-campaign-v22 .premium-story-card::after {
    inset-block-start: auto;
    inset-inline: 0;
    bottom: 0;
    width: 100%;
    height: 240px;
    background:
      linear-gradient(180deg, #fff 0%, transparent 40%),
      var(--campaign-image) center / cover no-repeat;
  }

  .premium-campaign-v22.campaign-single-ambassador .ambassador-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .premium-campaign-v22.campaign-single-ambassador .ambassador-head {
    grid-row: auto;
  }
}

@media (max-width: 720px) {
  .premium-campaign-v22 .site-header,
  .premium-homepage-v22 .site-header,
  .premium-campaign-v22 .header-inner,
  .premium-homepage-v22 .header-inner {
    min-height: 64px;
  }

  .premium-campaign-v22 .brand-link img,
  .premium-homepage-v22 .brand-link img {
    width: 100px;
  }

  .campaign-page-nav {
    top: 63px;
  }

  .campaign-page-nav-inner {
    min-height: 56px;
  }

  .campaign-page-nav button {
    display: none;
  }

  .premium-campaign-v22 .campaign-hero-layout {
    padding-top: 54px;
    padding-bottom: 52px;
  }

  .premium-campaign-v22 .campaign-hero-copy h1 {
    font-size: clamp(2.8rem, 14vw, 4.4rem);
  }

  .campaign-media-stage {
    margin-top: 24px;
    border-radius: 22px;
    aspect-ratio: 4 / 3;
  }

  .campaign-media-caption {
    inset-inline: 14px;
    bottom: 12px;
  }

  .premium-campaign-v22 .campaign-overview-grid {
    grid-template-columns: 1fr;
  }

  .campaign-milestones-section {
    padding: 64px 0;
  }

  .campaign-milestones-heading {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 26px;
  }

  .milestone-rail {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0;
  }

  .milestone-rail::before,
  .milestone-rail::after {
    inset-block: 22px;
    inset-inline-start: 20px;
    top: 22px;
    width: 7px;
    height: auto;
  }

  .milestone-rail::after {
    max-width: none;
    width: 7px;
    height: var(--milestone-progress);
    max-height: 86%;
  }

  .milestone-item {
    grid-template-columns: 44px 1fr auto;
    justify-items: start;
    align-items: center;
    text-align: start;
  }

  .milestone-dot {
    margin: 0;
  }

  .contribution-options-section {
    padding: 70px 0;
  }

  .contribution-option-grid {
    grid-template-columns: 1fr;
  }

  .contribution-option-card {
    min-height: 132px;
  }

  .premium-homepage-v22 .premium-home-hero-layout {
    min-height: 0;
    padding-top: 68px;
  }

  .premium-homepage-v22 .premium-home-copy h1 {
    font-size: clamp(3.1rem, 15vw, 5rem);
  }

  .premium-homepage-v22 .home-spotlight-card {
    min-height: 0;
    grid-template-rows: 235px 1fr;
  }

  .premium-homepage-v22 .home-metrics-rail {
    margin-top: -26px;
    grid-template-columns: repeat(2, 1fr);
  }

  .premium-homepage-v22 .home-metrics-live {
    grid-column: 1 / -1;
  }

  .dialog-stepper {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 460px) {
  .premium-campaign-v22 .header-campaign-status {
    display: none;
  }

  .premium-campaign-v22 .header-actions .icon-button {
    display: none;
  }

  .premium-campaign-v22 .header-donate-button {
    min-height: 40px;
    padding-inline: 15px;
  }

  .campaign-page-nav a {
    padding-inline: 12px;
    font-size: .78rem;
  }

  .campaign-media-title {
    max-width: 62%;
    font-size: .86rem;
  }

  .premium-campaign-v22 .premium-donation-card {
    border-radius: 24px;
  }

  .premium-campaign-v22 .premium-story-section,
  .premium-campaign-v22 .premium-ambassadors-section,
  .premium-campaign-v22 .premium-recent-section {
    padding: 68px 0;
  }

  .campaign-has-image.premium-campaign-v22 .premium-story-card {
    padding-bottom: 230px;
  }

  .campaign-has-image.premium-campaign-v22 .premium-story-card::after {
    height: 200px;
  }

  .contribution-option-card {
    grid-template-columns: auto 1fr;
  }

  .contribution-option-arrow {
    display: none;
  }

  .premium-homepage-v22 .home-metrics-rail {
    grid-template-columns: 1fr;
  }

  .premium-homepage-v22 .home-metrics-live {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-media-stage img,
  .contribution-option-card,
  .premium-homepage-v22 .home-spotlight-card {
    transition: none !important;
  }
}


/* ================================================================
   Gold Plus Campaigns Premium V2.3 — Compact & Polished
   Version: 20260715-premium-v23-compact

   This pass standardizes density without changing data/payment logic.
   ================================================================ */

.premium-campaign-v23,
.premium-homepage-v23 {
  --v23-section-y: 64px;
  --v23-section-y-large: 72px;
  --v23-card-radius: 20px;
  --v23-card-padding: 22px;
  --v23-section-gap: 30px;
  --v23-compact-shadow: 0 16px 42px rgba(6, 34, 53, 0.09);
}

.premium-campaign-v23 .content-shell,
.premium-homepage-v23 .content-shell {
  width: min(1220px, calc(100% - 40px));
}

/* Header: smaller, cleaner, same actions */
.premium-campaign-v23 .site-header,
.premium-homepage-v23 .site-header,
.premium-campaign-v23 .header-inner,
.premium-homepage-v23 .header-inner {
  min-height: 66px;
}

.premium-campaign-v23 .brand-link img,
.premium-homepage-v23 .brand-link img {
  width: 108px;
  max-height: 36px;
}

.premium-campaign-v23 .header-campaign-status {
  min-height: 34px;
  padding: 5px 11px;
  font-size: .82rem;
}

.premium-campaign-v23 .header-donate-button,
.premium-homepage-v23 .homepage-header-link {
  min-height: 38px;
  padding: 7px 15px;
  font-size: .88rem;
}

.premium-campaign-v23 .icon-button {
  width: 38px;
  height: 38px;
}

/* Shared headings: more disciplined scale */
.premium-campaign-v23 .premium-story-heading h2,
.premium-campaign-v23 .premium-section-heading h2,
.premium-homepage-v23 .premium-home-heading h2,
.premium-homepage-v23 .home-how-it-works h2,
.premium-campaign-v23 .premium-final-cta h2,
.premium-homepage-v23 .premium-home-bottom-cta h2 {
  font-size: clamp(2rem, 3.15vw, 3.15rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.premium-campaign-v23 .section-description,
.premium-homepage-v23 .section-description {
  max-width: 650px;
  margin-top: 7px;
  line-height: 1.55;
}

.premium-campaign-v23 .section-kicker,
.premium-homepage-v23 .section-kicker {
  margin-bottom: 7px;
  font-size: .76rem;
}

/* Campaign hero: substantial, but no longer a full-page billboard */
.premium-campaign-v23 .campaign-hero-layout {
  grid-template-columns: minmax(0, 1fr) minmax(330px, 380px);
  gap: clamp(30px, 4vw, 48px);
  padding-top: 48px;
  padding-bottom: 48px;
}

.premium-campaign-v23 .campaign-hero-copy {
  max-width: 760px;
  padding-top: 4px;
}

.premium-campaign-v23 .campaign-hero-copy h1 {
  max-width: 700px;
  margin-top: 10px;
  font-size: clamp(3rem, 5.1vw, 5.35rem);
  line-height: 1;
}

.premium-campaign-v23 .hero-text {
  max-width: 650px;
  margin-top: 15px;
  font-size: clamp(.96rem, 1.25vw, 1.12rem);
  line-height: 1.58;
}

.premium-campaign-v23 .campaign-live-label {
  min-height: 30px;
  padding: 5px 11px;
  font-size: .79rem;
}

.premium-campaign-v23 .hero-actions {
  margin-top: 20px;
  gap: 10px;
}

.premium-campaign-v23 .primary-action-xl {
  min-height: 48px;
  padding: 10px 18px;
  font-size: .94rem;
}

.premium-campaign-v23 .campaign-trust-row {
  margin-top: 19px;
  gap: 8px 18px;
  font-size: .82rem;
}

.premium-campaign-v23 .campaign-media-stage {
  width: min(100%, 670px);
  aspect-ratio: 16 / 7.25;
  margin: 20px 0 17px;
  border-radius: 22px;
  box-shadow: 0 20px 55px rgba(0, 0, 0, .23);
}

.premium-campaign-v23 .campaign-media-caption {
  inset-inline: 16px;
  bottom: 13px;
}

.premium-campaign-v23 .campaign-media-title {
  font-size: .94rem;
}

/* Donation card: reduced height, tighter information groups */
.premium-campaign-v23 .premium-donation-card {
  top: 82px;
  padding: 22px;
  border-radius: 24px;
  box-shadow: 0 24px 68px rgba(0, 0, 0, .23);
}

.premium-campaign-v23 .premium-card-topline {
  margin-bottom: 14px;
}

.premium-campaign-v23 .premium-card-eyebrow {
  font-size: .82rem;
}

.premium-campaign-v23 .progress-ring-wrap {
  grid-template-columns: 110px 1fr;
  gap: 18px;
}

.premium-campaign-v23 .progress-ring {
  width: 110px;
}

.premium-campaign-v23 .progress-ring::before {
  width: 86px;
}

.premium-campaign-v23 .progress-ring-center strong {
  font-size: 1.7rem;
}

.premium-campaign-v23 .premium-raised-block > span {
  font-size: .8rem;
}

.premium-campaign-v23 .premium-raised-block > strong {
  font-size: clamp(2rem, 3vw, 2.65rem);
}

.premium-campaign-v23 .premium-progress-track {
  height: 9px;
  margin-top: 16px;
}

.premium-campaign-v23 .premium-campaign-facts {
  margin-top: 13px;
  gap: 6px;
}

.premium-campaign-v23 .premium-campaign-facts article {
  padding: 9px 7px;
  border-radius: 10px;
}

.premium-campaign-v23 .premium-campaign-facts span {
  font-size: .65rem;
}

.premium-campaign-v23 .premium-campaign-facts strong {
  font-size: .9rem;
}

.premium-campaign-v23 .premium-quick-amounts {
  margin-top: 15px;
  padding-top: 14px;
}

.premium-campaign-v23 .premium-quick-heading {
  margin-bottom: 8px;
}

.premium-campaign-v23 .page-amount-grid {
  gap: 6px;
}

.premium-campaign-v23 .page-amount-option {
  min-height: 48px;
  padding: 6px;
  border-radius: 10px;
}

.premium-campaign-v23 .page-amount-option strong {
  font-size: .9rem;
}

.premium-campaign-v23 .premium-card-donate {
  min-height: 50px;
  margin-top: 12px;
}

.premium-campaign-v23 .premium-secure-note {
  margin-top: 8px;
  font-size: .7rem;
  line-height: 1.45;
}

/* Compact ribbon and page navigation */
.premium-campaign-v23 .live-donation-ribbon {
  min-height: 54px;
  margin-top: -62px;
  padding: 11px 17px;
}

.premium-campaign-v23 .campaign-page-nav {
  top: 65px;
}

.premium-campaign-v23 .campaign-page-nav-inner {
  min-height: 52px;
}

.premium-campaign-v23 .campaign-page-nav a,
.premium-campaign-v23 .campaign-page-nav button {
  min-height: 34px;
  padding: 6px 13px;
  font-size: .8rem;
}

/* Three-step strip becomes a compact orientation aid */
.premium-campaign-v23 .campaign-overview-strip {
  padding: 17px 0;
}

.premium-campaign-v23 .campaign-overview-grid {
  gap: 10px;
}

.premium-campaign-v23 .campaign-overview-grid article {
  min-height: 70px;
  gap: 12px;
  padding: 13px 16px;
  border-radius: 14px;
}

.premium-campaign-v23 .overview-icon {
  width: 42px;
  height: 42px;
  font-size: .88rem;
}

.premium-campaign-v23 .campaign-overview-grid strong {
  font-size: .92rem;
}

.premium-campaign-v23 .campaign-overview-grid p {
  margin-top: 2px;
  font-size: .78rem;
}

/* Milestones */
.premium-campaign-v23 .campaign-milestones-section {
  padding: 56px 0;
}

.premium-campaign-v23 .campaign-milestones-heading {
  margin-bottom: 24px;
}

.premium-campaign-v23 .campaign-milestones-heading h2,
.premium-campaign-v23 .contribution-options-copy h2 {
  font-size: clamp(2rem, 3.2vw, 3.15rem);
}

.premium-campaign-v23 .campaign-milestones-heading > strong {
  padding: 9px 13px;
  font-size: .8rem;
}

.premium-campaign-v23 .milestone-rail {
  padding-top: 20px;
}

.premium-campaign-v23 .milestone-rail::before,
.premium-campaign-v23 .milestone-rail::after {
  top: 35px;
  height: 6px;
}

.premium-campaign-v23 .milestone-dot {
  width: 36px;
  height: 36px;
  margin-bottom: 5px;
  border-width: 5px;
  font-size: .76rem;
}

.premium-campaign-v23 .milestone-item strong {
  font-size: .84rem;
}

.premium-campaign-v23 .milestone-item small {
  font-size: .68rem;
}

/* Story */
.premium-campaign-v23 .premium-story-section {
  padding: 62px 0;
}

.premium-campaign-v23 .premium-story-layout {
  grid-template-columns: minmax(230px, .58fr) minmax(0, 1.42fr);
  gap: 34px;
}

.premium-campaign-v23 .premium-story-card {
  padding: 32px;
  border-radius: 22px;
}

.premium-campaign-v23 .story-quote-mark {
  font-size: 5.5rem;
}

.premium-campaign-v23 .story-body {
  font-size: 1rem;
  line-height: 1.68;
}

.premium-campaign-v23.campaign-story-short .premium-story-card {
  padding-block: 28px;
}

/* Contribution options */
.premium-campaign-v23 .contribution-options-section {
  padding: 62px 0;
}

.premium-campaign-v23 .contribution-options-layout {
  grid-template-columns: minmax(250px, .68fr) minmax(0, 1.32fr);
  gap: clamp(30px, 4vw, 50px);
}

.premium-campaign-v23 .contribution-options-copy > p:not(.section-kicker) {
  margin: 12px 0 18px;
  line-height: 1.58;
}

.premium-campaign-v23 .contribution-option-grid {
  gap: 10px;
}

.premium-campaign-v23 .contribution-option-card {
  min-height: 116px;
  gap: 12px;
  padding: 17px;
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .11);
}

.premium-campaign-v23 .contribution-option-index {
  width: 36px;
  height: 36px;
  font-size: .7rem;
}

.premium-campaign-v23 .contribution-option-copy strong {
  font-size: 1.28rem;
}

.premium-campaign-v23 .contribution-option-copy em {
  font-size: .72rem;
}

/* Ambassadors and donations: content-first, no oversized empty cards */
.premium-campaign-v23 .premium-ambassadors-section,
.premium-campaign-v23 .premium-recent-section {
  padding: 62px 0;
}

.premium-campaign-v23 .premium-section-heading {
  margin-bottom: 24px;
}

.premium-campaign-v23 .premium-ambassador-grid,
.premium-campaign-v23 .premium-donation-list {
  gap: 14px;
}

.premium-campaign-v23 .ambassador-card {
  min-height: 260px;
  padding: 21px;
  border-radius: 20px;
}

.premium-campaign-v23.campaign-single-ambassador .premium-ambassador-grid {
  max-width: 820px;
}

.premium-campaign-v23.campaign-single-ambassador .ambassador-card {
  grid-template-columns: minmax(190px, .56fr) minmax(0, 1.44fr);
  column-gap: 24px;
}

.premium-campaign-v23.campaign-single-ambassador .ambassador-head {
  padding: 20px;
  border-radius: 16px;
}

.premium-campaign-v23 .donation-row {
  min-height: 122px;
  padding: 18px;
  border-radius: 18px;
}

/* Final CTA and footer */
.premium-campaign-v23 .premium-final-cta,
.premium-homepage-v23 .premium-home-bottom-cta {
  padding: 58px 0;
}

.premium-campaign-v23 .site-footer,
.premium-homepage-v23 .site-footer {
  padding: 22px 0;
}

/* Homepage hero */
.premium-homepage-v23 .premium-home-hero-layout {
  min-height: 610px;
  grid-template-columns: minmax(0, 1fr) minmax(380px, .78fr);
  gap: clamp(34px, 4.6vw, 60px);
  padding-top: 58px;
  padding-bottom: 84px;
}

.premium-homepage-v23 .premium-home-copy h1 {
  max-width: 760px;
  font-size: clamp(3.45rem, 5.65vw, 5.85rem);
  line-height: .98;
}

.premium-homepage-v23 .premium-home-lead {
  max-width: 620px;
  font-size: 1.02rem;
  line-height: 1.58;
}

.premium-homepage-v23 .premium-home-actions {
  margin-top: 22px;
}

.premium-homepage-v23 .home-spotlight-shell {
  min-height: 0;
}

.premium-homepage-v23 .home-spotlight-card {
  min-height: 480px;
  grid-template-rows: 220px 1fr;
  border-radius: 26px;
  transform: rotate(-.25deg);
}

.premium-homepage-v23 .home-spotlight-loading,
.premium-homepage-v23 .home-spotlight-empty {
  min-height: 480px;
}

.premium-homepage-v23 .home-spotlight-content {
  padding: 22px;
}

.premium-homepage-v23 .home-spotlight-content h2 {
  font-size: 1.65rem;
}

.premium-homepage-v23 .home-spotlight-content > p {
  margin-top: 7px;
  font-size: .9rem;
}

.premium-homepage-v23 .home-spotlight-progress-line {
  margin-top: 15px;
}

.premium-homepage-v23 .home-spotlight-footer {
  margin-top: 12px;
}

/* Homepage metrics */
.premium-homepage-v23 .home-metrics-rail {
  min-height: 88px;
  margin-top: -44px;
  border-radius: 20px;
  box-shadow: var(--v23-compact-shadow);
}

.premium-homepage-v23 .home-metrics-rail article {
  padding: 15px 20px;
}

.premium-homepage-v23 .home-metrics-rail strong {
  font-size: 1.42rem;
}

/* Homepage campaign catalogue */
.premium-homepage-v23 .premium-home-campaigns {
  padding: 76px 0 68px;
}

.premium-homepage-v23 .premium-home-heading {
  gap: 18px;
}

.premium-homepage-v23 .premium-home-toolbar {
  margin: 24px 0 22px;
  padding: 8px;
  border-radius: 14px;
}

.premium-homepage-v23 .homepage-search {
  min-height: 44px;
}

.premium-homepage-v23 .homepage-sort select {
  min-height: 40px;
}

.premium-homepage-v23 .premium-campaign-grid {
  gap: 18px;
}

.premium-homepage-v23 .premium-campaign-card {
  border-radius: 20px;
  box-shadow: var(--v23-compact-shadow);
}

.premium-homepage-v23 .premium-campaign-card-link {
  grid-template-rows: 205px 1fr;
}

.premium-homepage-v23 .premium-campaign-card-body {
  padding: 20px;
}

.premium-homepage-v23 .premium-campaign-card-body h3 {
  margin-top: 8px;
  font-size: 1.35rem;
}

.premium-homepage-v23 .premium-campaign-card p {
  min-height: 42px;
  margin-top: 7px;
  font-size: .88rem;
  line-height: 1.48;
}

.premium-homepage-v23 .premium-campaign-numbers {
  margin-top: 17px;
}

.premium-homepage-v23 .premium-campaign-card-footer {
  padding-top: 13px;
}

.premium-homepage-v23 .campaign-card-cta {
  min-height: 38px;
  padding: 7px 12px;
}

/* Homepage explanation strip */
.premium-homepage-v23 .home-how-it-works {
  padding: 66px 0;
}

.premium-homepage-v23 .home-steps-grid {
  gap: 14px;
  margin-top: 28px;
}

.premium-homepage-v23 .home-steps-grid article {
  min-height: 172px;
  padding: 22px;
  border-radius: 20px;
}

.premium-homepage-v23 .home-steps-grid span {
  font-size: 2.15rem;
}

.premium-homepage-v23 .home-steps-grid strong {
  margin-top: 12px;
  font-size: 1.18rem;
}

.premium-homepage-v23 .home-steps-grid p {
  font-size: .88rem;
  line-height: 1.5;
}

/* Donation dialog */
.premium-campaign-v23 .donation-dialog {
  max-width: min(700px, calc(100vw - 24px));
}

.premium-campaign-v23 .dialog-shell {
  padding: 26px;
  border-radius: 22px;
}

.premium-campaign-v23 .dialog-stepper {
  margin-top: 15px;
}

.premium-campaign-v23 .dialog-stepper span {
  min-height: 32px;
  padding: 5px 8px;
}

/* Anchor offsets now match the smaller sticky header/nav */
.premium-campaign-v23 #story,
.premium-campaign-v23 #donation-options,
.premium-campaign-v23 #ambassadors,
.premium-campaign-v23 #recent-donations,
.premium-homepage-v23 #active-campaigns,
.premium-homepage-v23 #how-it-works {
  scroll-margin-top: 122px;
}

@media (max-width: 1120px) {
  .premium-campaign-v23 .campaign-hero-layout,
  .premium-homepage-v23 .premium-home-hero-layout {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
    gap: 28px;
  }

  .premium-homepage-v23 .premium-home-copy h1 {
    font-size: clamp(3.2rem, 6vw, 5rem);
  }
}

@media (max-width: 920px) {
  .premium-campaign-v23 .campaign-hero-layout,
  .premium-homepage-v23 .premium-home-hero-layout {
    grid-template-columns: 1fr;
  }

  .premium-homepage-v23 .premium-home-hero-layout {
    padding-top: 48px;
    padding-bottom: 72px;
  }

  .premium-campaign-v23 .premium-donation-card,
  .premium-homepage-v23 .home-spotlight-shell {
    max-width: 570px;
  }

  .premium-campaign-v23 .premium-story-layout {
    gap: 22px;
  }

  .premium-campaign-v23 .contribution-options-layout {
    grid-template-columns: 1fr;
    gap: 26px;
  }
}

@media (max-width: 720px) {
  .premium-campaign-v23 .content-shell,
  .premium-homepage-v23 .content-shell {
    width: min(100% - 28px, 1220px);
  }

  .premium-campaign-v23 .site-header,
  .premium-homepage-v23 .site-header,
  .premium-campaign-v23 .header-inner,
  .premium-homepage-v23 .header-inner {
    min-height: 60px;
  }

  .premium-campaign-v23 .campaign-page-nav {
    top: 59px;
  }

  .premium-campaign-v23 .campaign-page-nav-inner {
    min-height: 48px;
  }

  .premium-campaign-v23 .campaign-hero-layout {
    padding-top: 38px;
    padding-bottom: 40px;
  }

  .premium-campaign-v23 .campaign-hero-copy h1 {
    font-size: clamp(2.55rem, 12vw, 3.8rem);
  }

  .premium-campaign-v23 .campaign-media-stage {
    margin-top: 18px;
    aspect-ratio: 16 / 10;
  }

  .premium-campaign-v23 .premium-donation-card {
    padding: 18px;
  }

  .premium-campaign-v23 .campaign-overview-grid {
    grid-template-columns: 1fr;
  }

  .premium-campaign-v23 .campaign-overview-grid article {
    min-height: 62px;
  }

  .premium-campaign-v23 .campaign-milestones-section,
  .premium-campaign-v23 .premium-story-section,
  .premium-campaign-v23 .contribution-options-section,
  .premium-campaign-v23 .premium-ambassadors-section,
  .premium-campaign-v23 .premium-recent-section {
    padding: 46px 0;
  }

  .premium-campaign-v23 .campaign-milestones-heading {
    margin-bottom: 20px;
  }

  .premium-campaign-v23 .contribution-option-card {
    min-height: 104px;
    padding: 15px;
  }

  .premium-campaign-v23 .premium-story-card {
    padding: 24px;
  }

  .premium-homepage-v23 .premium-home-hero-layout {
    padding-top: 42px;
    padding-bottom: 60px;
  }

  .premium-homepage-v23 .premium-home-copy h1 {
    font-size: clamp(2.85rem, 13.5vw, 4.35rem);
  }

  .premium-homepage-v23 .home-spotlight-card {
    grid-template-rows: 205px 1fr;
  }

  .premium-homepage-v23 .home-metrics-rail {
    margin-top: -30px;
  }

  .premium-homepage-v23 .premium-home-campaigns,
  .premium-homepage-v23 .home-how-it-works {
    padding: 50px 0;
  }

  .premium-homepage-v23 .premium-home-toolbar {
    margin-block: 18px;
  }

  .premium-homepage-v23 .premium-campaign-card-link {
    grid-template-rows: 190px 1fr;
  }
}

@media (max-width: 460px) {
  .premium-campaign-v23 .campaign-page-nav a {
    padding-inline: 10px;
    font-size: .73rem;
  }

  .premium-campaign-v23 .progress-ring-wrap {
    grid-template-columns: 94px 1fr;
    gap: 14px;
  }

  .premium-campaign-v23 .progress-ring {
    width: 94px;
  }

  .premium-campaign-v23 .progress-ring::before {
    width: 73px;
  }

  .premium-campaign-v23 .premium-raised-block > strong {
    font-size: 1.85rem;
  }

  .premium-campaign-v23 .premium-campaign-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .premium-campaign-v23.campaign-single-ambassador .ambassador-card {
    grid-template-columns: 1fr;
  }

  .premium-homepage-v23 .home-metrics-rail article {
    padding: 13px 16px;
  }

  .premium-homepage-v23 .home-steps-grid article {
    min-height: 150px;
  }

  .premium-campaign-v23 .premium-final-cta,
  .premium-homepage-v23 .premium-home-bottom-cta {
    padding: 46px 0;
  }
}


/* ================================================================
   Gold Plus Campaigns Premium V2.4 — Rhythm & Conversion
   Version: 20260715-premium-v24-rhythm
   ================================================================ */

/* The V2.4 pass removes visual repetition and makes section height
   respond more closely to the amount of real content. */

.premium-campaign-v24,
.premium-homepage-v24 {
  --v24-section-y: 46px;
  --v24-section-y-large: 54px;
  --v24-radius: 18px;
  --v24-gap: 18px;
}

/* Header */
.premium-campaign-v24 .site-header,
.premium-homepage-v24 .site-header,
.premium-campaign-v24 .header-inner,
.premium-homepage-v24 .header-inner {
  min-height: 60px;
}

.premium-campaign-v24 .brand-link img,
.premium-homepage-v24 .brand-link img {
  width: 100px;
}

.premium-campaign-v24 .header-campaign-status {
  min-height: 30px;
  font-size: .76rem;
}

.premium-campaign-v24 .header-donate-button,
.premium-homepage-v24 .homepage-header-link {
  min-height: 36px;
}

/* Campaign hero */
.premium-campaign-v24 .campaign-hero-layout {
  grid-template-columns: minmax(0, 1fr) minmax(315px, 355px);
  gap: clamp(24px, 3.5vw, 42px);
  padding-top: 38px;
  padding-bottom: 42px;
}

.premium-campaign-v24 .campaign-hero-copy h1 {
  max-width: 660px;
  font-size: clamp(2.85rem, 4.6vw, 4.75rem);
}

.premium-campaign-v24 .hero-text {
  margin-top: 11px;
  font-size: 1rem;
}

.premium-campaign-v24 .campaign-media-stage {
  width: min(100%, 590px);
  aspect-ratio: 16 / 6.4;
  margin: 16px 0 13px;
  border-radius: 18px;
}

.premium-campaign-v24 .hero-actions {
  margin-top: 15px;
}

.premium-campaign-v24 .hero-secondary {
  min-height: 42px;
  padding: 7px 14px;
  font-size: .82rem;
}

.premium-campaign-v24 .campaign-trust-row {
  margin-top: 13px;
}

/* Donation card */
.premium-campaign-v24 .premium-donation-card {
  top: 72px;
  padding: 18px;
  border-radius: 20px;
}

.premium-campaign-v24 .progress-ring-wrap {
  grid-template-columns: 94px 1fr;
  gap: 13px;
}

.premium-campaign-v24 .progress-ring {
  width: 94px;
}

.premium-campaign-v24 .progress-ring::before {
  width: 72px;
}

.premium-campaign-v24 .progress-ring-center strong {
  font-size: 1.45rem;
}

.premium-campaign-v24 .premium-raised-block > strong {
  font-size: clamp(1.8rem, 2.7vw, 2.35rem);
}

.premium-campaign-v24 .premium-progress-track {
  margin-top: 12px;
}

.premium-campaign-v24 .premium-campaign-facts {
  margin-top: 10px;
}

.premium-campaign-v24 .premium-campaign-facts article {
  padding: 7px 5px;
}

.premium-campaign-v24 .premium-quick-amounts {
  margin-top: 11px;
  padding-top: 11px;
}

.premium-campaign-v24 .page-amount-grid {
  gap: 5px;
}

.premium-campaign-v24 .page-amount-option {
  min-height: 43px;
}

.premium-campaign-v24 .premium-card-donate {
  min-height: 46px;
  margin-top: 9px;
}

.premium-campaign-v24 .premium-secure-note {
  margin-top: 6px;
}

/* One live line is enough. The section nav should remain clean. */
.premium-campaign-v24 .live-donation-ribbon {
  min-height: 46px;
  margin-top: -52px;
  padding-block: 8px;
}

.premium-campaign-v24 .campaign-page-nav {
  top: 59px;
}

.premium-campaign-v24 .campaign-page-nav-inner {
  min-height: 46px;
}

.premium-campaign-v24 .campaign-page-nav button {
  display: none;
}

/* The three steps become a slim confidence strip, not a full section. */
.premium-campaign-v24 .campaign-overview-strip {
  padding: 7px 0;
  border-bottom: 1px solid var(--v22-line);
}

.premium-campaign-v24 .campaign-overview-grid {
  gap: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--v22-line);
  border-radius: 14px;
}

.premium-campaign-v24 .campaign-overview-grid article {
  min-height: 48px;
  gap: 8px;
  padding: 8px 14px;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.premium-campaign-v24 .campaign-overview-grid article + article {
  border-inline-start: 1px solid var(--v22-line);
}

.premium-campaign-v24 .overview-icon {
  width: 29px;
  height: 29px;
  font-size: .66rem;
}

.premium-campaign-v24 .campaign-overview-grid strong {
  font-size: .8rem;
}

.premium-campaign-v24 .campaign-overview-grid p {
  display: none;
}

/* Milestones become one compact horizontal unit. */
.premium-campaign-v24 .campaign-milestones-section {
  padding: 30px 0;
}

.premium-campaign-v24 .campaign-milestones-section > .content-shell {
  display: grid;
  grid-template-columns: minmax(210px, .42fr) minmax(0, 1.58fr);
  align-items: center;
  gap: 28px;
}

.premium-campaign-v24 .campaign-milestones-heading {
  display: grid;
  align-items: start;
  gap: 8px;
  margin: 0;
}

.premium-campaign-v24 .campaign-milestones-heading h2 {
  font-size: clamp(1.7rem, 2.6vw, 2.55rem);
}

.premium-campaign-v24 .campaign-milestones-heading > strong {
  width: fit-content;
  max-width: 100%;
  padding: 6px 10px;
  font-size: .7rem;
}

.premium-campaign-v24 .milestone-rail {
  padding-top: 8px;
}

.premium-campaign-v24 .milestone-rail::before,
.premium-campaign-v24 .milestone-rail::after {
  top: 22px;
  height: 5px;
}

.premium-campaign-v24 .milestone-dot {
  width: 29px;
  height: 29px;
  margin-bottom: 3px;
  border-width: 4px;
  font-size: .62rem;
}

.premium-campaign-v24 .milestone-item strong {
  font-size: .72rem;
}

.premium-campaign-v24 .milestone-item small {
  font-size: .6rem;
}

/* Story */
.premium-campaign-v24 .premium-story-section {
  padding: 46px 0;
}

.premium-campaign-v24 .premium-story-layout {
  grid-template-columns: minmax(200px, .42fr) minmax(0, 1.58fr);
  gap: 24px;
}

.premium-campaign-v24 .premium-story-heading h2 {
  font-size: clamp(1.9rem, 3vw, 2.85rem);
}

.premium-campaign-v24 .premium-story-card {
  padding: 24px;
  border-radius: 18px;
}

.premium-campaign-v24 .story-body {
  font-size: .94rem;
  line-height: 1.62;
}

.premium-campaign-v24.campaign-story-short .premium-story-card {
  min-height: 0;
  padding-block: 22px;
}

.premium-campaign-v24.campaign-story-short .story-quote-mark {
  font-size: 4rem;
}

/* Donation level section */
.premium-campaign-v24 .contribution-options-section {
  padding: 46px 0;
}

.premium-campaign-v24 .contribution-options-layout {
  grid-template-columns: minmax(215px, .46fr) minmax(0, 1.54fr);
  gap: 30px;
}

.premium-campaign-v24 .contribution-options-copy h2 {
  font-size: clamp(1.85rem, 3vw, 2.85rem);
}

.premium-campaign-v24 .contribution-options-copy > p:not(.section-kicker) {
  margin: 9px 0 13px;
  font-size: .88rem;
  line-height: 1.5;
}

.premium-campaign-v24 .contribution-option-grid {
  gap: 8px;
}

.premium-campaign-v24 .contribution-option-card {
  min-height: 86px;
  gap: 9px;
  padding: 12px;
  border-radius: 14px;
}

.premium-campaign-v24 .contribution-option-index {
  width: 29px;
  height: 29px;
  font-size: .58rem;
}

.premium-campaign-v24 .contribution-option-copy {
  gap: 1px;
}

.premium-campaign-v24 .contribution-option-copy small {
  font-size: .68rem;
}

.premium-campaign-v24 .contribution-option-copy strong {
  font-size: 1.08rem;
}

.premium-campaign-v24 .contribution-option-copy em {
  font-size: .66rem;
}

/* Ambassadors */
.premium-campaign-v24 .premium-ambassadors-section,
.premium-campaign-v24 .premium-recent-section {
  padding: 46px 0;
}

.premium-campaign-v24 .premium-section-heading {
  margin-bottom: 17px;
}

.premium-campaign-v24 .premium-section-heading h2 {
  font-size: clamp(1.9rem, 3vw, 2.8rem);
}

.premium-campaign-v24 .ambassador-card {
  min-height: 210px;
  padding: 17px;
  border-radius: 17px;
}

.premium-campaign-v24.campaign-single-ambassador .premium-ambassador-grid {
  max-width: 760px;
}

.premium-campaign-v24.campaign-single-ambassador .ambassador-card {
  grid-template-columns: minmax(160px, .5fr) minmax(0, 1.5fr);
  column-gap: 18px;
}

.premium-campaign-v24.campaign-single-ambassador .ambassador-head {
  padding: 16px;
  border-radius: 13px;
}

.premium-campaign-v24 .ambassador-actions {
  gap: 7px;
}

.premium-campaign-v24 .small-button {
  min-height: 34px;
  padding: 6px 11px;
}

/* Recent donations are activity rows, not oversized feature cards. */
.premium-campaign-v24 .premium-donation-list {
  gap: 10px;
}

.premium-campaign-v24 .donation-row {
  min-height: 92px;
  padding: 14px;
  border-radius: 14px;
}

.premium-campaign-v24 .donation-avatar {
  width: 38px;
  height: 38px;
}

.premium-campaign-v24 .donation-identity p {
  margin-top: 2px;
  font-size: .76rem;
}

.premium-campaign-v24 .donation-amount {
  font-size: 1.05rem;
}

.premium-campaign-v24 .latest-donation-tag {
  padding: 4px 7px;
  font-size: .6rem;
}

.premium-campaign-v24.campaign-low-activity .premium-ambassadors-section {
  padding-bottom: 34px;
}

.premium-campaign-v24.campaign-low-activity .premium-recent-section {
  padding-top: 34px;
}

/* Final conversion prompt */
.premium-campaign-v24 .premium-final-cta {
  padding: 39px 0;
}

.premium-campaign-v24 .premium-final-cta h2 {
  font-size: clamp(1.75rem, 2.8vw, 2.6rem);
}

/* Homepage hero */
.premium-homepage-v24 .premium-home-hero-layout {
  min-height: 520px;
  grid-template-columns: minmax(0, 1fr) minmax(345px, .72fr);
  gap: clamp(26px, 4vw, 48px);
  padding-top: 44px;
  padding-bottom: 64px;
}

.premium-homepage-v24 .premium-home-copy h1 {
  max-width: 700px;
  font-size: clamp(3.1rem, 5vw, 5.15rem);
}

.premium-homepage-v24 .premium-home-lead {
  max-width: 590px;
  font-size: .96rem;
}

.premium-homepage-v24 .premium-home-actions {
  margin-top: 17px;
}

.premium-homepage-v24 .home-spotlight-card {
  min-height: 398px;
  grid-template-rows: 174px 1fr;
  border-radius: 21px;
}

.premium-homepage-v24 .home-spotlight-loading,
.premium-homepage-v24 .home-spotlight-empty {
  min-height: 398px;
}

.premium-homepage-v24 .home-spotlight-content {
  padding: 18px;
}

.premium-homepage-v24 .home-spotlight-content h2 {
  font-size: 1.4rem;
}

.premium-homepage-v24 .home-spotlight-content > p {
  font-size: .82rem;
}

.premium-homepage-v24 .home-metrics-rail {
  min-height: 70px;
  margin-top: -35px;
  border-radius: 16px;
}

.premium-homepage-v24 .home-metrics-rail article {
  padding: 11px 16px;
}

.premium-homepage-v24 .home-metrics-rail strong {
  font-size: 1.18rem;
}

/* Homepage catalogue */
.premium-homepage-v24 .premium-home-campaigns {
  padding: 54px 0;
}

.premium-homepage-v24 .premium-home-heading h2 {
  font-size: clamp(1.95rem, 3vw, 2.85rem);
}

.premium-homepage-v24 .premium-home-toolbar {
  margin: 18px 0 16px;
}

.premium-homepage-v24.homepage-small-catalog .premium-home-toolbar {
  display: none;
}

.premium-homepage-v24.homepage-small-catalog .premium-home-heading {
  margin-bottom: 20px;
}

.premium-homepage-v24 .premium-campaign-grid {
  gap: 14px;
}

.premium-homepage-v24.homepage-two-campaigns .premium-campaign-grid {
  max-width: 900px;
  margin-inline: auto;
}

.premium-homepage-v24 .premium-campaign-card-link {
  grid-template-rows: 165px 1fr;
}

.premium-homepage-v24 .premium-campaign-card-body {
  padding: 17px;
}

.premium-homepage-v24 .premium-campaign-card-body h3 {
  font-size: 1.18rem;
}

.premium-homepage-v24 .premium-campaign-card p {
  min-height: 36px;
  font-size: .79rem;
}

.premium-homepage-v24 .premium-campaign-numbers {
  margin-top: 12px;
}

.premium-homepage-v24 .premium-campaign-card-footer {
  padding-top: 10px;
}

/* "How it works" becomes a compact horizontal explanation. */
.premium-homepage-v24 .home-how-it-works {
  padding: 43px 0;
}

.premium-homepage-v24 .home-how-it-works > .content-shell {
  display: grid;
  grid-template-columns: minmax(210px, .42fr) minmax(0, 1.58fr);
  align-items: center;
  gap: 24px;
}

.premium-homepage-v24 .home-how-it-works .centered-heading {
  text-align: start;
}

.premium-homepage-v24 .home-how-it-works h2 {
  font-size: clamp(1.85rem, 3vw, 2.75rem);
}

.premium-homepage-v24 .home-steps-grid {
  margin: 0;
  gap: 8px;
}

.premium-homepage-v24 .home-steps-grid article {
  min-height: 105px;
  padding: 14px;
  border-radius: 14px;
}

.premium-homepage-v24 .home-steps-grid span {
  font-size: 1.55rem;
}

.premium-homepage-v24 .home-steps-grid strong {
  margin-top: 5px;
  font-size: .92rem;
}

.premium-homepage-v24 .home-steps-grid p {
  margin-top: 4px;
  font-size: .73rem;
  line-height: 1.4;
}

.premium-homepage-v24 .premium-home-bottom-cta {
  padding: 38px 0;
}

.premium-homepage-v24 .premium-home-bottom-cta h2 {
  font-size: clamp(1.8rem, 2.8vw, 2.65rem);
}

.premium-campaign-v24 .site-footer,
.premium-homepage-v24 .site-footer {
  padding: 18px 0;
}

@media (max-width: 920px) {
  .premium-campaign-v24 .campaign-milestones-section > .content-shell,
  .premium-homepage-v24 .home-how-it-works > .content-shell {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .premium-campaign-v24 .campaign-milestones-heading {
    grid-template-columns: 1fr auto;
    align-items: end;
  }

  .premium-homepage-v24 .home-how-it-works .centered-heading {
    text-align: center;
  }
}

@media (max-width: 720px) {
  .premium-campaign-v24 .campaign-hero-layout,
  .premium-homepage-v24 .premium-home-hero-layout {
    padding-top: 32px;
    padding-bottom: 40px;
  }

  .premium-campaign-v24 .campaign-media-stage {
    aspect-ratio: 16 / 9;
  }

  .premium-campaign-v24 .campaign-page-nav {
    top: 59px;
  }

  .premium-campaign-v24 .campaign-overview-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .premium-campaign-v24 .campaign-overview-grid article {
    justify-content: center;
    padding-inline: 6px;
  }

  .premium-campaign-v24 .campaign-overview-grid article div {
    display: none;
  }

  .premium-campaign-v24 .overview-icon {
    width: 27px;
    height: 27px;
  }

  .premium-campaign-v24 .campaign-milestones-heading {
    grid-template-columns: 1fr;
  }

  .premium-campaign-v24 .premium-story-section,
  .premium-campaign-v24 .contribution-options-section,
  .premium-campaign-v24 .premium-ambassadors-section,
  .premium-campaign-v24 .premium-recent-section {
    padding: 38px 0;
  }

  .premium-homepage-v24 .premium-home-hero-layout {
    min-height: 0;
  }

  .premium-homepage-v24 .home-spotlight-card {
    grid-template-rows: 180px 1fr;
  }

  .premium-homepage-v24 .home-metrics-rail {
    margin-top: -26px;
  }

  .premium-homepage-v24 .premium-home-campaigns,
  .premium-homepage-v24 .home-how-it-works {
    padding: 40px 0;
  }

  .premium-homepage-v24 .home-steps-grid {
    grid-template-columns: 1fr;
  }

  .premium-homepage-v24 .home-steps-grid article {
    min-height: 82px;
  }
}

@media (max-width: 460px) {
  .premium-campaign-v24 .campaign-page-nav-inner {
    gap: 3px;
  }

  .premium-campaign-v24 .campaign-page-nav a {
    padding-inline: 8px;
    font-size: .68rem;
  }

  .premium-campaign-v24 .campaign-overview-strip {
    display: none;
  }

  .premium-campaign-v24 .campaign-milestones-section {
    padding: 25px 0;
  }

  .premium-campaign-v24 .milestone-item small {
    display: none;
  }

  .premium-campaign-v24 .contribution-option-grid {
    grid-template-columns: 1fr 1fr;
  }

  .premium-campaign-v24 .contribution-option-copy em {
    display: none;
  }

  .premium-campaign-v24 .donation-row {
    min-height: 82px;
  }

  .premium-homepage-v24 .premium-home-copy h1 {
    font-size: clamp(2.7rem, 13vw, 3.9rem);
  }

  .premium-homepage-v24 .home-metrics-rail article {
    padding: 10px 12px;
  }
}


/* ================================================================
   Gold Plus Campaigns Premium V2.5 — Adaptive Information Density
   Version: 20260715-premium-v25-adaptive
   ================================================================ */

/* Remove the last duplicated explanatory strip. The sticky section
   navigation and donation card already explain the journey. */
.premium-campaign-v25 .campaign-overview-strip {
  display: none;
}

/* Slightly calmer campaign top. */
.premium-campaign-v25 .campaign-hero-layout {
  grid-template-columns: minmax(0, 1fr) minmax(304px, 344px);
  gap: clamp(22px, 3.2vw, 38px);
  padding-top: 34px;
  padding-bottom: 38px;
}

.premium-campaign-v25 .campaign-hero-copy h1 {
  font-size: clamp(2.72rem, 4.35vw, 4.45rem);
}

.premium-campaign-v25 .campaign-media-stage {
  width: min(100%, 560px);
  margin-top: 14px;
}

.premium-campaign-v25 .premium-donation-card {
  top: 70px;
  padding: 17px;
}

.premium-campaign-v25 .premium-card-topline {
  margin-bottom: 10px;
}

.premium-campaign-v25 .premium-quick-heading {
  margin-bottom: 6px;
}

/* One community wrapper behaves like the old independent sections
   for busy campaigns. */
.premium-campaign-v25 .campaign-community-wrap {
  display: contents;
}

/* With one ambassador and up to three donations, show a compact
   two-column community dashboard rather than two large sections. */
.premium-campaign-v25.campaign-low-activity .campaign-community-wrap {
  width: min(1220px, calc(100% - 40px));
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  align-items: stretch;
  gap: 18px;
  margin-inline: auto;
  padding: 44px 0;
}

.premium-campaign-v25.campaign-low-activity
  .campaign-community-wrap
  > section {
  min-width: 0;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--v22-line);
  border-radius: 20px;
  box-shadow: 0 16px 42px rgba(6, 34, 53, .07);
}

.premium-campaign-v25.campaign-low-activity
  .campaign-community-wrap
  > .premium-recent-section {
  background:
    radial-gradient(circle at 90% 8%, rgba(62, 203, 184, .09), transparent 36%),
    #f8fbfc;
}

.premium-campaign-v25.campaign-low-activity
  .campaign-community-wrap
  .content-shell {
  width: 100%;
  max-width: none;
}

.premium-campaign-v25.campaign-low-activity .premium-section-heading {
  margin-bottom: 14px;
}

.premium-campaign-v25.campaign-low-activity .premium-section-heading h2 {
  font-size: clamp(1.62rem, 2.4vw, 2.15rem);
}

.premium-campaign-v25.campaign-low-activity .section-description {
  font-size: .78rem;
  line-height: 1.45;
}

.premium-campaign-v25.campaign-low-activity .recent-live-pill {
  align-self: flex-start;
}

/* Single ambassador: a compact profile and progress card. */
.premium-campaign-v25.campaign-low-activity
  .premium-ambassador-grid {
  display: block;
  max-width: none;
}

.premium-campaign-v25.campaign-low-activity
  .ambassador-card {
  min-height: 0;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 14px;
  padding: 15px;
  border-radius: 15px;
  box-shadow: none;
}

.premium-campaign-v25.campaign-low-activity
  .ambassador-head {
  min-height: 116px;
  padding: 13px;
  border-radius: 12px;
}

.premium-campaign-v25.campaign-low-activity
  .ambassador-card-body {
  padding-block: 4px;
}

.premium-campaign-v25.campaign-low-activity
  .ambassador-actions {
  margin-top: 10px;
}

/* Few donations become a vertical activity feed. */
.premium-campaign-v25.campaign-low-activity
  .premium-donation-list {
  grid-template-columns: 1fr;
  gap: 7px;
}

.premium-campaign-v25.campaign-low-activity
  .donation-row {
  min-height: 70px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, .88);
  border-radius: 12px;
  box-shadow: none;
}

.premium-campaign-v25.campaign-low-activity
  .donation-avatar {
  width: 34px;
  height: 34px;
}

.premium-campaign-v25.campaign-low-activity
  .donation-identity strong {
  font-size: .82rem;
}

.premium-campaign-v25.campaign-low-activity
  .donation-identity p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.premium-campaign-v25.campaign-low-activity
  .donation-amount {
  font-size: .94rem;
}

/* Four donation levels fit in one clear row on a desktop. */
.premium-campaign-v25 .contribution-options-layout {
  grid-template-columns: minmax(205px, .4fr) minmax(0, 1.6fr);
  gap: 25px;
}

.premium-campaign-v25 .contribution-option-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.premium-campaign-v25 .contribution-option-card {
  min-height: 92px;
}

/* Homepage polish */
.premium-homepage-v25 .premium-home-hero-layout {
  min-height: 490px;
  padding-top: 39px;
  padding-bottom: 58px;
}

.premium-homepage-v25 .premium-home-copy h1 {
  font-size: clamp(3rem, 4.8vw, 4.9rem);
}

.premium-homepage-v25 .home-spotlight-card {
  min-height: 380px;
  grid-template-rows: 165px 1fr;
}

.premium-homepage-v25 .home-spotlight-loading,
.premium-homepage-v25 .home-spotlight-empty {
  min-height: 380px;
}

.premium-homepage-v25 .premium-campaign-card p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Always ensure readable campaign buttons, including bright custom
   campaign colors. */
.premium-homepage-v25 .campaign-card-cta {
  color: #fff;
  background:
    color-mix(in srgb, var(--card-accent) 76%, #062c43 24%);
  text-shadow: 0 1px 1px rgba(0, 0, 0, .16);
  box-shadow: 0 8px 18px
    color-mix(in srgb, var(--card-accent), transparent 72%);
}

.premium-homepage-v25 .campaign-card-cta:hover,
.premium-homepage-v25 .campaign-card-cta:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.04);
}

.premium-homepage-v25 .premium-campaign-card {
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.premium-homepage-v25 .premium-campaign-card:hover {
  transform: translateY(-3px);
}

/* Cleaner, more visible keyboard focus on all public actions. */
.premium-campaign-v25 button:focus-visible,
.premium-campaign-v25 a:focus-visible,
.premium-homepage-v25 button:focus-visible,
.premium-homepage-v25 a:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 72%, #fff 28%);
  outline-offset: 3px;
}

/* Final CTA is still prominent, but not another large screen. */
.premium-campaign-v25 .premium-final-cta,
.premium-homepage-v25 .premium-home-bottom-cta {
  padding-block: 34px;
}

@media (max-width: 980px) {
  .premium-campaign-v25.campaign-low-activity
    .campaign-community-wrap {
    grid-template-columns: 1fr;
    padding-block: 38px;
  }

  .premium-campaign-v25 .contribution-option-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .premium-campaign-v25 .campaign-hero-layout {
    padding-top: 29px;
    padding-bottom: 35px;
  }

  .premium-campaign-v25 .campaign-community-wrap,
  .premium-campaign-v25.campaign-low-activity
    .campaign-community-wrap {
    width: min(100% - 28px, 1220px);
  }

  .premium-campaign-v25.campaign-low-activity
    .campaign-community-wrap
    > section {
    padding: 18px;
  }

  .premium-homepage-v25 .premium-home-hero-layout {
    min-height: 0;
    padding-top: 34px;
    padding-bottom: 48px;
  }
}

@media (max-width: 480px) {
  .premium-campaign-v25.campaign-low-activity
    .ambassador-card {
    grid-template-columns: 1fr;
  }

  .premium-campaign-v25.campaign-low-activity
    .ambassador-head {
    min-height: 92px;
  }

  .premium-campaign-v25 .contribution-option-grid {
    grid-template-columns: 1fr 1fr;
  }

  .premium-campaign-v25.campaign-low-activity
    .donation-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .premium-campaign-v25.campaign-low-activity
    .donation-amount {
    grid-column: 2;
  }
}


/* ================================================================
   Gold Plus Campaigns Premium V2.6 — Final Visual Polish
   Version: 20260715-premium-v26-final-polish
   ================================================================ */

/* The compact ring must never wrap a tiny progress value. */
.premium-campaign-v26 .progress-ring-center strong {
  max-width: 100%;
  white-space: nowrap;
  font-size: 1.42rem;
  letter-spacing: -.04em;
}

.premium-campaign-v26 .progress-ring-center span {
  margin-top: 1px;
  font-size: .67rem;
}

/* Keep the summary rail visually consistent when the value is <1%. */
.premium-homepage-v26 .home-metrics-rail strong {
  white-space: nowrap;
}

/* Campaign-card actions now use one guaranteed accessible button
   treatment. The campaign color stays visible as an accent. */
.premium-homepage-v26 .campaign-card-cta {
  position: relative;
  min-width: 132px;
  min-height: 38px;
  gap: 7px;
  color: #fff;
  background: #123f5a;
  border: 1px solid #123f5a;
  box-shadow: 0 9px 20px rgba(12, 55, 80, .18);
  text-shadow: none;
  overflow: hidden;
}

.premium-homepage-v26 .campaign-card-cta::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  background: var(--card-accent);
  border: 2px solid rgba(255, 255, 255, .58);
  border-radius: 50%;
}

.premium-homepage-v26 .campaign-card-cta:hover,
.premium-homepage-v26 .campaign-card-cta:focus-visible {
  color: #fff;
  background: #0a3149;
  border-color: #0a3149;
  filter: none;
}

.premium-homepage-v26 .premium-campaign-card-footer {
  align-items: center;
}

.premium-homepage-v26 .premium-campaign-card-footer > strong {
  line-height: 1.25;
}

/* A single unified community dashboard looks calmer than two
   unrelated boxes. */
.premium-campaign-v26.campaign-low-activity .campaign-community-wrap {
  width: min(1220px, calc(100% - 40px));
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  align-items: start;
  gap: 0;
  margin-block: 38px;
  padding: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 8%, rgba(62, 203, 184, .09), transparent 33%),
    #fbfdfe;
  border: 1px solid var(--v22-line);
  border-radius: 21px;
  box-shadow: 0 18px 48px rgba(6, 34, 53, .075);
}

.premium-campaign-v26.campaign-low-activity
  .campaign-community-wrap
  > section {
  align-self: start;
  min-width: 0;
  padding: 21px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.premium-campaign-v26.campaign-low-activity
  .campaign-community-wrap
  > section + section {
  border-inline-start: 1px solid var(--v22-line);
}

.premium-campaign-v26.campaign-low-activity
  .campaign-community-wrap
  > .premium-recent-section {
  background: rgba(244, 250, 251, .64);
}

/* Correct the inherited single-ambassador grid areas. */
.premium-campaign-v26.campaign-low-activity
  .premium-ambassador-grid.is-single
  .ambassador-card {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(148px, .88fr);
  grid-template-areas:
    "head progress"
    "note progress"
    "actions progress";
  align-items: center;
  gap: 8px 16px;
  min-height: 0;
  padding: 14px;
  background:
    radial-gradient(circle at 92% 12%, rgba(62, 203, 184, .10), transparent 34%),
    #fff;
}

.premium-campaign-v26.campaign-low-activity
  .premium-ambassador-grid.is-single
  .ambassador-head {
  grid-area: head;
  min-height: 0;
  padding: 9px 10px;
}

.premium-campaign-v26.campaign-low-activity
  .premium-ambassador-grid.is-single
  .ambassador-card > p {
  grid-area: note;
  margin: 0;
  padding-inline: 4px;
  font-size: .76rem;
  line-height: 1.4;
}

.premium-campaign-v26.campaign-low-activity
  .premium-ambassador-grid.is-single
  .mini-progress {
  grid-area: progress;
  align-self: stretch;
  justify-content: center;
  min-height: 116px;
  padding: 13px;
  background: #f6fafb;
  border: 1px solid var(--v22-line);
  border-radius: 12px;
}

.premium-campaign-v26.campaign-low-activity
  .premium-ambassador-grid.is-single
  .ambassador-actions {
  grid-area: actions;
  justify-content: flex-start;
  margin-top: 2px;
  padding-top: 9px;
  border-top: 1px solid var(--v22-line);
}

.premium-campaign-v26.campaign-low-activity
  .premium-ambassador-grid.is-single
  .ambassador-rank {
  inset-inline-start: 12px;
  top: 10px;
  font-size: 2rem;
}

/* The recent activity list should read like a feed, not a row of
   fundraising feature cards. */
.premium-campaign-v26.campaign-low-activity .premium-donation-list {
  gap: 6px;
}

.premium-campaign-v26.campaign-low-activity .donation-row {
  min-height: 62px;
  padding: 8px 10px;
  border: 1px solid rgba(207, 225, 230, .86);
}

.premium-campaign-v26.campaign-low-activity .donation-row.is-latest {
  background: #fff;
  border-color: rgba(62, 203, 184, .48);
}

.premium-campaign-v26.campaign-low-activity .donation-avatar {
  width: 31px;
  height: 31px;
  font-size: .7rem;
}

.premium-campaign-v26.campaign-low-activity .latest-donation-tag {
  position: static;
  grid-column: 1 / -1;
  width: fit-content;
  margin-bottom: 1px;
}

/* Refined section rhythm around the unified dashboard. */
.premium-campaign-v26.campaign-low-activity .premium-final-cta {
  margin-top: 0;
}

.premium-campaign-v26 .premium-final-cta,
.premium-homepage-v26 .premium-home-bottom-cta {
  padding-block: 32px;
}

/* Homepage cards are the central action; reinforce their clickability. */
.premium-homepage-v26 .premium-campaign-card-link:focus-visible {
  outline: 3px solid var(--card-accent);
  outline-offset: 4px;
  border-radius: 20px;
}

.premium-homepage-v26 .premium-campaign-card:hover {
  box-shadow: 0 20px 48px rgba(7, 37, 55, .13);
}

/* Small typography corrections visible in the screenshots. */
.premium-homepage-v26 .premium-campaign-meta,
.premium-campaign-v26 .donation-time {
  letter-spacing: 0;
}

.premium-homepage-v26 .homepage-count {
  min-height: 30px;
  padding-block: 5px;
}

@media (max-width: 980px) {
  .premium-campaign-v26.campaign-low-activity .campaign-community-wrap {
    grid-template-columns: 1fr;
    margin-block: 32px;
  }

  .premium-campaign-v26.campaign-low-activity
    .campaign-community-wrap
    > section + section {
    border-inline-start: 0;
    border-top: 1px solid var(--v22-line);
  }
}

@media (max-width: 600px) {
  .premium-campaign-v26.campaign-low-activity .campaign-community-wrap {
    width: min(100% - 28px, 1220px);
  }

  .premium-campaign-v26.campaign-low-activity
    .premium-ambassador-grid.is-single
    .ambassador-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "head"
      "note"
      "progress"
      "actions";
  }

  .premium-campaign-v26.campaign-low-activity
    .premium-ambassador-grid.is-single
    .mini-progress {
    min-height: 88px;
  }

  .premium-homepage-v26 .campaign-card-cta {
    min-width: 0;
  }
}


/* ================================================================
   Gold Plus Campaigns Premium V2.7 — Collision Guard
   Version: 20260715-premium-v27-collision-guard
   ================================================================ */

:root {
  --site-header-height: 60px;
  --campaign-nav-height: 46px;
}

/* Universal anti-collision primitives */
.premium-campaign-v27 *,
.premium-homepage-v27 * {
  min-width: 0;
}

.premium-campaign-v27 h1,
.premium-campaign-v27 h2,
.premium-campaign-v27 h3,
.premium-campaign-v27 p,
.premium-campaign-v27 strong,
.premium-campaign-v27 span,
.premium-campaign-v27 button,
.premium-campaign-v27 a,
.premium-homepage-v27 h1,
.premium-homepage-v27 h2,
.premium-homepage-v27 h3,
.premium-homepage-v27 p,
.premium-homepage-v27 strong,
.premium-homepage-v27 span,
.premium-homepage-v27 button,
.premium-homepage-v27 a {
  overflow-wrap: anywhere;
}

.premium-campaign-v27 img,
.premium-homepage-v27 img,
.premium-campaign-v27 iframe,
.premium-homepage-v27 iframe {
  max-width: 100%;
}

/* Dynamic sticky offsets: measured in JS, no hard-coded collision. */
.premium-campaign-v27 .campaign-page-nav {
  top: var(--site-header-height);
}

.premium-campaign-v27 .premium-donation-card {
  top: calc(var(--site-header-height) + 14px);
}

.premium-campaign-v27 #story,
.premium-campaign-v27 #donation-options,
.premium-campaign-v27 #ambassadors,
.premium-campaign-v27 #recent-donations {
  scroll-margin-top:
    calc(var(--site-header-height) + var(--campaign-nav-height) + 18px);
}

/* Header grid is allowed to shrink safely. */
.premium-campaign-v27 .header-inner,
.premium-homepage-v27 .header-inner {
  grid-template-columns:
    minmax(92px, auto)
    minmax(0, 1fr)
    minmax(0, auto);
  gap: 12px;
}

.premium-campaign-v27 .brand-link,
.premium-homepage-v27 .brand-link {
  min-width: 0;
}

.premium-campaign-v27 .header-campaign-status {
  max-width: 100%;
  white-space: nowrap;
}

.premium-campaign-v27 .header-actions,
.premium-homepage-v27 .header-actions,
.premium-homepage-v27 .homepage-main-nav {
  min-width: 0;
  flex-wrap: wrap;
}

/* Hero content: long titles and action rows cannot collide. */
.premium-campaign-v27 .campaign-hero-layout {
  align-items: start;
}

.premium-campaign-v27 .campaign-hero-copy,
.premium-homepage-v27 .premium-home-copy {
  min-width: 0;
}

.premium-campaign-v27 .campaign-hero-copy h1,
.premium-homepage-v27 .premium-home-copy h1 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}

.premium-campaign-v27.campaign-title-long .campaign-hero-copy h1 {
  font-size: clamp(2.45rem, 4vw, 4rem);
  line-height: 1.02;
}

.premium-campaign-v27.campaign-title-very-long .campaign-hero-copy h1 {
  font-size: clamp(2.1rem, 3.45vw, 3.35rem);
  max-width: 760px;
}

.premium-campaign-v27 .hero-actions,
.premium-campaign-v27 .campaign-trust-row,
.premium-homepage-v27 .premium-home-actions {
  flex-wrap: wrap;
}

.premium-campaign-v27 .hero-actions > *,
.premium-homepage-v27 .premium-home-actions > * {
  max-width: 100%;
}

/* The donation card is intrinsically sized; no content can escape. */
.premium-campaign-v27 .premium-donation-card {
  align-self: start;
  contain: layout paint;
  overflow: clip;
}

.premium-campaign-v27 .progress-ring-wrap,
.premium-campaign-v27 .premium-campaign-facts,
.premium-campaign-v27 .page-amount-grid {
  min-width: 0;
}

.premium-campaign-v27 .progress-ring-center strong {
  font-size: clamp(1.05rem, 1.5vw, 1.35rem);
}

.premium-campaign-v27.campaign-zero-progress .progress-ring-center strong {
  font-size: .92rem;
  letter-spacing: 0;
}

.premium-campaign-v27.campaign-zero-progress .progress-ring-center span {
  font-size: .72rem;
  font-weight: 900;
}

/* Donation ribbon is now normal flow, not negatively overlapping hero. */
.premium-campaign-v27 .premium-campaign-hero {
  padding-bottom: 14px;
}

.premium-campaign-v27 .live-donation-ribbon {
  margin-top: 0;
  margin-bottom: 0;
  flex-wrap: wrap;
  min-height: 48px;
}

.premium-campaign-v27 .live-donation-ribbon strong,
.premium-campaign-v27 .live-donation-ribbon span {
  flex: 1 1 190px;
}

.premium-campaign-v27 .live-donation-ribbon small {
  margin-inline-start: auto;
  white-space: nowrap;
}

/* Sticky page navigation scrolls rather than crushing items. */
.premium-campaign-v27 .campaign-page-nav-inner {
  max-width: 100%;
  scroll-padding-inline: 16px;
}

.premium-campaign-v27 .campaign-page-nav a {
  white-space: nowrap;
}

/* Milestones never cross section heading. */
.premium-campaign-v27 .campaign-milestones-section > .content-shell {
  min-width: 0;
}

.premium-campaign-v27 .campaign-milestones-heading,
.premium-campaign-v27 .milestone-rail {
  min-width: 0;
}

.premium-campaign-v27 .milestone-item {
  min-width: 44px;
}

/* Story: campaign color stays in accents, never in long body copy. */
.premium-campaign-v27 .story-body,
.premium-campaign-v27 .story-body p,
.premium-campaign-v27 .story-body .story-lead {
  color: #29485c;
}

.premium-campaign-v27 .story-body {
  width: min(100%, 76ch);
  margin-inline: auto;
  line-height: 1.72;
}

.premium-campaign-v27 .story-body p {
  margin-bottom: 1.15em;
}

.premium-campaign-v27 .story-body .story-lead {
  font-weight: 760;
  font-size: 1.04em;
}

/* A tall decorative side image looked like another column colliding
   with long copy. For long stories the story card remains clean. */
.premium-campaign-v27.campaign-story-long.campaign-has-image
  .premium-story-card {
  padding-inline: clamp(24px, 4vw, 44px);
}

.premium-campaign-v27.campaign-story-long.campaign-has-image
  .premium-story-card::after {
  display: none;
}

.premium-campaign-v27.campaign-story-long .premium-story-card {
  overflow: visible;
}

.premium-campaign-v27 .story-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  margin: 10px auto 16px;
  padding: 8px 17px;
  color: var(--primary);
  background: var(--soft-tint);
  border: 1px solid var(--line);
  border-radius: 999px;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.premium-campaign-v27 .story-toggle[hidden] {
  display: none !important;
}

/* Contribution cards wrap text inside themselves. */
.premium-campaign-v27 .contribution-option-grid {
  align-items: stretch;
}

.premium-campaign-v27 .contribution-option-card {
  min-width: 0;
  height: 100%;
}

.premium-campaign-v27 .contribution-option-copy {
  min-width: 0;
}

.premium-campaign-v27 .contribution-option-copy small,
.premium-campaign-v27 .contribution-option-copy em {
  line-height: 1.3;
}

/* Community states adapt to data instead of showing colliding empties. */
.premium-campaign-v27.campaign-no-community
  .premium-ambassadors-section,
.premium-campaign-v27.campaign-no-community
  .premium-recent-section {
  display: none;
}

.premium-campaign-v27.campaign-no-community
  .campaign-community-wrap {
  width: min(1220px, calc(100% - 40px));
  display: block;
  margin: 38px auto;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.premium-campaign-v27 .community-empty-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  padding: 27px;
  color: var(--primary);
  background:
    radial-gradient(circle at 90% 10%, rgba(62, 203, 184, .13), transparent 36%),
    #f9fcfd;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 16px 42px rgba(6, 34, 53, .07);
}

.premium-campaign-v27 .community-empty-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, var(--accent), var(--primary));
  border-radius: 18px;
  font-size: 1.7rem;
}

.premium-campaign-v27 .community-empty-card h2 {
  margin: 2px 0 5px;
  font-size: clamp(1.45rem, 2.3vw, 2.1rem);
  line-height: 1.1;
}

.premium-campaign-v27 .community-empty-card p:not(.section-kicker) {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.premium-campaign-v27 .community-empty-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.premium-campaign-v27.campaign-community-single-section
  .campaign-community-wrap {
  grid-template-columns: 1fr;
  max-width: 820px;
}

.premium-campaign-v27.campaign-no-ambassadors:not(.campaign-no-community)
  .premium-ambassadors-section,
.premium-campaign-v27.campaign-no-donations:not(.campaign-no-community)
  .premium-recent-section {
  display: none;
}

/* Unified community dashboard children never force each other wider. */
.premium-campaign-v27.campaign-low-activity
  .campaign-community-wrap > section,
.premium-campaign-v27.campaign-low-activity
  .ambassador-card,
.premium-campaign-v27.campaign-low-activity
  .donation-row {
  min-width: 0;
}

.premium-campaign-v27 .ambassador-head,
.premium-campaign-v27 .mini-progress-line,
.premium-campaign-v27 .ambassador-actions,
.premium-campaign-v27 .donation-row,
.premium-campaign-v27 .donation-identity {
  min-width: 0;
}

.premium-campaign-v27 .ambassador-actions,
.premium-campaign-v27 .mini-progress-line {
  flex-wrap: wrap;
}

.premium-campaign-v27 .donation-amount {
  white-space: nowrap;
}

/* Final CTA wraps without overlap. */
.premium-campaign-v27 .premium-final-cta-inner,
.premium-homepage-v27 .homepage-bottom-cta-inner {
  flex-wrap: wrap;
}

.premium-campaign-v27 .premium-final-cta-inner > div,
.premium-homepage-v27 .homepage-bottom-cta-inner > div {
  flex: 1 1 420px;
}

/* Dialog collision guard and mobile viewport safety. */
.premium-campaign-v27 .donation-dialog {
  width: min(760px, calc(100vw - 18px));
  max-height: calc(100dvh - 18px);
  overscroll-behavior: contain;
}

.premium-campaign-v27 .dialog-shell {
  max-height: calc(100dvh - 18px);
  padding-top: 30px;
  padding-bottom: max(28px, env(safe-area-inset-bottom));
  overscroll-behavior: contain;
}

.premium-campaign-v27 .dialog-heading,
.premium-campaign-v27 .form-grid,
.premium-campaign-v27 .amount-grid,
.premium-campaign-v27 .payment-frame-section {
  min-width: 0;
}

.premium-campaign-v27 #NedarimFrame {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
}

/* Mobile sticky button does not cover final content. */
@media (max-width: 720px) {
  .premium-campaign-v27 {
    padding-bottom: calc(82px + env(safe-area-inset-bottom));
  }

  .premium-campaign-v27 .mobile-sticky-donate {
    bottom: max(10px, env(safe-area-inset-bottom));
  }

  .premium-campaign-v27 .header-inner,
  .premium-homepage-v27 .header-inner {
    grid-template-columns: minmax(84px, auto) minmax(0, 1fr) auto;
    gap: 7px;
  }

  .premium-campaign-v27 .header-campaign-status > span:not(.live-dot) {
    display: none;
  }

  .premium-campaign-v27 .header-campaign-status {
    justify-self: center;
    padding-inline: 9px;
  }

  .premium-campaign-v27 .header-donate-button {
    padding-inline: 12px;
  }

  .premium-campaign-v27 .campaign-hero-layout {
    grid-template-columns: 1fr;
  }

  .premium-campaign-v27 .premium-donation-card {
    position: relative;
    top: auto;
    width: 100%;
    max-width: 520px;
  }

  .premium-campaign-v27 .live-donation-ribbon {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 4px 10px;
  }

  .premium-campaign-v27 .live-donation-ribbon::before {
    grid-column: 1 / -1;
    width: fit-content;
  }

  .premium-campaign-v27 .live-donation-ribbon strong,
  .premium-campaign-v27 .live-donation-ribbon span {
    grid-column: 1;
  }

  .premium-campaign-v27 .live-donation-ribbon small {
    grid-column: 2;
    grid-row: 2 / span 2;
    align-self: center;
  }

  .premium-campaign-v27.campaign-story-long:not(.story-expanded)
    .story-body {
    position: relative;
    max-height: 30rem;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(#000 78%, transparent);
    mask-image: linear-gradient(#000 78%, transparent);
  }

  .premium-campaign-v27.campaign-story-long .story-toggle {
    display: inline-flex;
  }

  .premium-campaign-v27 .community-empty-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .premium-campaign-v27 .community-empty-actions {
    grid-column: 1 / -1;
    justify-content: stretch;
  }

  .premium-campaign-v27 .community-empty-actions > * {
    flex: 1 1 160px;
  }

  .premium-campaign-v27 .campaign-milestones-section > .content-shell {
    overflow-x: clip;
  }

  .premium-campaign-v27 .milestone-rail {
    min-width: 420px;
    transform-origin: right center;
  }

  .premium-campaign-v27 .premium-final-cta-inner {
    align-items: stretch;
  }

  .premium-campaign-v27 .premium-final-cta-inner button {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .premium-campaign-v27 .header-campaign-status {
    display: none;
  }

  .premium-campaign-v27 .header-inner {
    grid-template-columns: minmax(84px, 1fr) auto;
  }

  .premium-campaign-v27 .header-actions {
    flex-wrap: nowrap;
  }

  .premium-campaign-v27 .header-donate-button {
    min-width: 0;
    font-size: .78rem;
  }

  .premium-campaign-v27 .icon-button {
    width: 34px;
    height: 34px;
  }

  .premium-campaign-v27 .campaign-page-nav-inner {
    padding-inline: 4px;
  }

  .premium-campaign-v27 .campaign-page-nav a {
    padding-inline: 9px;
    font-size: .7rem;
  }

  .premium-campaign-v27 .progress-ring-wrap {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .premium-campaign-v27 .progress-ring {
    width: 88px;
  }

  .premium-campaign-v27 .progress-ring::before {
    width: 68px;
  }

  .premium-campaign-v27 .premium-campaign-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .premium-campaign-v27 .premium-campaign-facts strong,
  .premium-campaign-v27 .premium-campaign-facts span {
    overflow-wrap: normal;
  }

  .premium-campaign-v27 .milestone-rail {
    min-width: 360px;
  }

  .premium-campaign-v27 .community-empty-card {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .premium-campaign-v27 .community-empty-icon {
    margin-inline: auto;
  }

  .premium-campaign-v27 .dialog-stepper {
    grid-template-columns: 1fr;
  }

  .premium-campaign-v27 .dialog-stepper span {
    min-height: 32px;
  }
}

@media (max-width: 390px) {
  .premium-campaign-v27 .content-shell,
  .premium-homepage-v27 .content-shell {
    width: min(100% - 20px, 1220px);
  }

  .premium-campaign-v27 .header-donate-button span {
    display: none;
  }

  .premium-campaign-v27 .campaign-hero-copy h1 {
    font-size: clamp(2.1rem, 11.5vw, 3rem);
  }

  .premium-campaign-v27 .page-amount-grid,
  .premium-campaign-v27 .amount-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-campaign-v27 .contribution-option-grid {
    grid-template-columns: 1fr;
  }
}


/* ================================================================
   Gold Plus Campaigns Premium V2.8 — Contained & Mobile
   Version: 20260715-premium-v28-contained-mobile
   ================================================================ */

.premium-campaign-v28,
.premium-homepage-v28 {
  --v28-content-max: 1160px;
  --v28-readable-max: 1080px;
  overflow-x: clip;
}

/* A calmer desktop canvas: no more near-edge full-width panels. */
.premium-campaign-v28 .content-shell,
.premium-homepage-v28 .content-shell {
  width: min(var(--v28-content-max), calc(100% - 56px));
}

.premium-campaign-v28 .header-inner,
.premium-homepage-v28 .header-inner {
  width: min(var(--v28-content-max), calc(100% - 56px));
}

/* Homepage boundary fix:
   the metrics rail now sits inside the hero with a real lower gap,
   so it cannot touch the campaigns section. */
.premium-homepage-v28 .premium-home-hero {
  padding-bottom: 34px;
}

.premium-homepage-v28 .home-metrics-rail {
  width: min(var(--v28-content-max), calc(100% - 56px));
  margin-top: -28px;
  margin-bottom: 0;
  overflow: hidden;
  border: 1px solid rgba(211, 228, 232, .92);
  box-shadow: 0 18px 45px rgba(4, 34, 52, .13);
}

.premium-homepage-v28 .premium-home-campaigns {
  padding-top: 62px;
}

/* Prevent the first heading from visually touching the previous box. */
.premium-homepage-v28 .premium-home-heading {
  margin-top: 0;
}

.premium-homepage-v28 .premium-home-heading h2 {
  line-height: 1.05;
}

/* Narrower and better-balanced desktop hero. */
.premium-homepage-v28 .premium-home-hero-layout {
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
  gap: clamp(28px, 4vw, 52px);
}

.premium-homepage-v28 .premium-home-copy h1 {
  max-width: 660px;
}

.premium-homepage-v28 .home-spotlight-shell {
  width: 100%;
  max-width: 450px;
  justify-self: start;
}

.premium-homepage-v28.homepage-two-campaigns .premium-campaign-grid {
  max-width: 860px;
}

/* Campaign page gets the same contained reading width. */
.premium-campaign-v28 .campaign-hero-layout {
  grid-template-columns: minmax(0, 1fr) minmax(304px, 336px);
  gap: clamp(26px, 3.5vw, 44px);
}

.premium-campaign-v28 .campaign-media-stage {
  max-width: 610px;
}

.premium-campaign-v28 .campaign-milestones-section > .content-shell,
.premium-campaign-v28 .premium-story-layout,
.premium-campaign-v28 .contribution-options-layout {
  width: min(var(--v28-readable-max), calc(100% - 56px));
  margin-inline: auto;
}

.premium-campaign-v28 .campaign-community-wrap {
  max-width: var(--v28-readable-max);
}

/* Consistent vertical separation between large blocks. */
.premium-campaign-v28 .campaign-page-nav {
  border-bottom: 1px solid rgba(209, 226, 231, .95);
  box-shadow: 0 8px 18px rgba(6, 34, 53, .045);
}

.premium-campaign-v28 .campaign-milestones-section,
.premium-campaign-v28 .premium-story-section,
.premium-campaign-v28 .contribution-options-section,
.premium-campaign-v28 .premium-ambassadors-section,
.premium-campaign-v28 .premium-recent-section {
  border-top: 1px solid rgba(222, 234, 237, .55);
}

.premium-campaign-v28 .campaign-milestones-section {
  margin-top: 18px;
}

/* Desktop metrics remain compact, but no cell may crush another. */
.premium-homepage-v28 .home-metrics-rail {
  grid-template-columns:
    minmax(150px, .95fr)
    minmax(150px, .95fr)
    minmax(170px, 1.05fr)
    minmax(220px, 1.35fr);
}

.premium-homepage-v28 .home-metrics-rail article {
  min-width: 0;
  padding-inline: 18px;
}

.premium-homepage-v28 .home-metrics-rail span,
.premium-homepage-v28 .home-metrics-rail strong {
  overflow-wrap: normal;
}

/* ---------------------------------------------------------------
   Tablet
   --------------------------------------------------------------- */
@media (max-width: 1020px) {
  .premium-campaign-v28,
  .premium-homepage-v28 {
    --v28-content-max: 900px;
    --v28-readable-max: 860px;
  }

  .premium-campaign-v28 .content-shell,
  .premium-homepage-v28 .content-shell,
  .premium-campaign-v28 .header-inner,
  .premium-homepage-v28 .header-inner,
  .premium-homepage-v28 .home-metrics-rail {
    width: min(var(--v28-content-max), calc(100% - 40px));
  }

  .premium-homepage-v28 .premium-home-hero-layout,
  .premium-campaign-v28 .campaign-hero-layout {
    grid-template-columns: 1fr;
  }

  .premium-homepage-v28 .home-spotlight-shell,
  .premium-campaign-v28 .premium-donation-card {
    width: min(100%, 570px);
    max-width: 570px;
    justify-self: center;
  }

  .premium-homepage-v28 .premium-home-copy {
    max-width: 760px;
  }

  .premium-homepage-v28 .home-metrics-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-homepage-v28 .home-metrics-rail article {
    border-bottom: 1px solid var(--line);
  }

  .premium-homepage-v28 .home-metrics-rail article:nth-child(odd) {
    border-inline-start: 0;
  }

  .premium-homepage-v28 .home-metrics-rail .home-metrics-live {
    grid-column: 1 / -1;
    border-bottom: 0;
  }

  .premium-campaign-v28 .campaign-milestones-section > .content-shell,
  .premium-campaign-v28 .premium-story-layout,
  .premium-campaign-v28 .contribution-options-layout {
    width: min(var(--v28-readable-max), calc(100% - 40px));
  }
}

/* ---------------------------------------------------------------
   Mobile redesign
   --------------------------------------------------------------- */
@media (max-width: 720px) {
  .premium-campaign-v28,
  .premium-homepage-v28 {
    --v28-content-max: 100%;
    --v28-readable-max: 100%;
  }

  .premium-campaign-v28 .content-shell,
  .premium-homepage-v28 .content-shell,
  .premium-campaign-v28 .header-inner,
  .premium-homepage-v28 .header-inner,
  .premium-homepage-v28 .home-metrics-rail,
  .premium-campaign-v28 .campaign-milestones-section > .content-shell,
  .premium-campaign-v28 .premium-story-layout,
  .premium-campaign-v28 .contribution-options-layout {
    width: calc(100% - 28px);
  }

  /* Homepage header: logo + management only.
     The in-page links were the main collision source on small screens. */
  .premium-homepage-v28 .header-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 58px;
  }

  .premium-homepage-v28 .homepage-main-nav {
    display: none;
  }

  .premium-homepage-v28 .homepage-header-link {
    min-height: 36px;
    padding: 7px 12px;
    white-space: nowrap;
  }

  /* Campaign header: sharing remains available in the body,
     so the two icon buttons can leave the crowded top bar. */
  .premium-campaign-v28 .header-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 58px;
  }

  .premium-campaign-v28 .header-campaign-status,
  .premium-campaign-v28 .header-actions .icon-button {
    display: none;
  }

  .premium-campaign-v28 .header-actions {
    grid-column: 2;
    flex-wrap: nowrap;
  }

  .premium-campaign-v28 .header-donate-button {
    min-height: 36px;
    padding: 7px 12px;
    white-space: nowrap;
  }

  /* Mobile homepage hero */
  .premium-homepage-v28 .premium-home-hero {
    padding-bottom: 24px;
  }

  .premium-homepage-v28 .premium-home-hero-layout {
    gap: 25px;
    padding-top: 34px;
    padding-bottom: 34px;
  }

  .premium-homepage-v28 .premium-home-copy h1 {
    max-width: none;
    font-size: clamp(2.55rem, 12vw, 3.8rem);
    line-height: 1;
  }

  .premium-homepage-v28 .premium-home-lead {
    font-size: .92rem;
    line-height: 1.55;
  }

  .premium-homepage-v28 .premium-home-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .premium-homepage-v28 .premium-home-actions .primary-action {
    width: 100%;
    justify-content: center;
  }

  .premium-homepage-v28 .premium-home-secure {
    text-align: center;
  }

  .premium-homepage-v28 .home-spotlight-shell {
    width: 100%;
    max-width: none;
  }

  .premium-homepage-v28 .home-spotlight-card {
    min-height: 0;
    grid-template-rows: 180px auto;
    transform: none;
  }

  .premium-homepage-v28 .home-spotlight-loading,
  .premium-homepage-v28 .home-spotlight-empty {
    min-height: 300px;
  }

  /* Metrics become separate cards, eliminating rail collisions. */
  .premium-homepage-v28 .home-metrics-rail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 0;
    padding: 0;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .premium-homepage-v28 .home-metrics-rail article,
  .premium-homepage-v28 .home-metrics-rail .home-metrics-live {
    min-height: 76px;
    padding: 12px;
    background: #fff;
    border: 1px solid rgba(211, 228, 232, .95);
    border-radius: 14px;
    box-shadow: 0 10px 26px rgba(6, 34, 53, .07);
  }

  .premium-homepage-v28 .home-metrics-rail article {
    border-inline-start: 1px solid rgba(211, 228, 232, .95);
  }

  .premium-homepage-v28 .home-metrics-rail .home-metrics-live {
    grid-column: 1 / -1;
    min-height: 54px;
  }

  .premium-homepage-v28 .home-metrics-rail strong {
    font-size: 1.08rem;
  }

  .premium-homepage-v28 .premium-home-campaigns {
    padding-top: 46px;
    padding-bottom: 44px;
  }

  .premium-homepage-v28 .premium-home-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .premium-homepage-v28 .homepage-count {
    align-self: flex-start;
  }

  .premium-homepage-v28 .premium-campaign-grid {
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .premium-homepage-v28 .premium-campaign-card-link {
    grid-template-rows: 158px auto;
  }

  .premium-homepage-v28 .premium-campaign-card-body {
    padding: 16px;
  }

  .premium-homepage-v28 .premium-campaign-numbers {
    gap: 10px;
  }

  .premium-homepage-v28 .premium-campaign-card-footer {
    align-items: stretch;
    flex-direction: column;
    gap: 9px;
  }

  .premium-homepage-v28 .campaign-card-cta {
    width: 100%;
    justify-content: center;
  }

  .premium-homepage-v28 .home-how-it-works > .content-shell {
    grid-template-columns: 1fr;
  }

  .premium-homepage-v28 .home-steps-grid {
    grid-template-columns: 1fr;
  }

  /* Campaign page mobile */
  .premium-campaign-v28 .campaign-hero-layout {
    gap: 22px;
    padding-top: 28px;
    padding-bottom: 30px;
  }

  .premium-campaign-v28 .campaign-hero-copy h1 {
    font-size: clamp(2.3rem, 11.5vw, 3.45rem);
    line-height: 1;
  }

  .premium-campaign-v28 .hero-text {
    font-size: .91rem;
    line-height: 1.55;
  }

  .premium-campaign-v28 .campaign-media-stage {
    width: 100%;
    aspect-ratio: 16 / 10;
    border-radius: 16px;
  }

  .premium-campaign-v28 .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .premium-campaign-v28 .hero-actions > * {
    width: 100%;
    justify-content: center;
  }

  .premium-campaign-v28 .campaign-trust-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .premium-campaign-v28 .premium-donation-card {
    width: 100%;
    max-width: none;
    padding: 16px;
    border-radius: 18px;
  }

  .premium-campaign-v28 .progress-ring-wrap {
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 12px;
  }

  .premium-campaign-v28 .progress-ring {
    width: 86px;
  }

  .premium-campaign-v28 .progress-ring::before {
    width: 66px;
  }

  .premium-campaign-v28 .premium-campaign-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .premium-campaign-v28 .premium-campaign-facts article {
    min-height: 58px;
  }

  .premium-campaign-v28 .page-amount-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-campaign-v28 .live-donation-ribbon {
    width: calc(100% - 28px);
    margin-inline: auto;
    border-radius: 14px;
  }

  /* The sticky nav is a horizontal scroll lane, not compressed tabs. */
  .premium-campaign-v28 .campaign-page-nav-inner {
    width: 100%;
    padding-inline: 10px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .premium-campaign-v28 .campaign-page-nav-inner::-webkit-scrollbar {
    display: none;
  }

  .premium-campaign-v28 .campaign-page-nav a {
    flex: 0 0 auto;
    min-height: 38px;
    scroll-snap-align: start;
  }

  /* Milestones scroll horizontally instead of being clipped. */
  .premium-campaign-v28 .campaign-milestones-section > .content-shell {
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 8px;
    scrollbar-width: thin;
  }

  .premium-campaign-v28 .campaign-milestones-heading {
    min-width: 0;
    margin-bottom: 18px;
  }

  .premium-campaign-v28 .milestone-rail {
    width: 540px;
    min-width: 540px;
    padding-inline: 10px;
  }

  /* All reading sections become one-column and truly mobile. */
  .premium-campaign-v28 .premium-story-layout,
  .premium-campaign-v28 .contribution-options-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .premium-campaign-v28 .premium-story-heading,
  .premium-campaign-v28 .contribution-options-copy {
    max-width: none;
  }

  .premium-campaign-v28 .premium-story-card {
    padding: 20px;
  }

  .premium-campaign-v28 .story-body {
    width: 100%;
    font-size: .94rem;
    line-height: 1.65;
  }

  .premium-campaign-v28 .contribution-option-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-campaign-v28 .campaign-community-wrap,
  .premium-campaign-v28.campaign-low-activity .campaign-community-wrap,
  .premium-campaign-v28.campaign-no-community .campaign-community-wrap {
    width: calc(100% - 28px);
    grid-template-columns: 1fr;
    margin-block: 30px;
  }

  .premium-campaign-v28.campaign-low-activity
    .campaign-community-wrap > section + section {
    border-inline-start: 0;
    border-top: 1px solid var(--line);
  }

  .premium-campaign-v28 .premium-final-cta-inner {
    text-align: center;
  }

  /* Full-width mobile donation sheet.
     No clipped iframe and no controls hidden below the viewport. */
  .premium-campaign-v28 .donation-dialog {
    width: 100vw;
    max-width: none;
    height: min(94dvh, 900px);
    max-height: 100dvh;
    margin: auto 0 0;
    padding: 0;
    border-radius: 22px 22px 0 0;
  }

  .premium-campaign-v28 .dialog-shell {
    width: 100%;
    max-height: 94dvh;
    padding: 24px 16px max(28px, env(safe-area-inset-bottom));
    border-radius: 22px 22px 0 0;
    overflow-y: auto;
  }

  .premium-campaign-v28 #NedarimFrame {
    min-height: 520px;
  }

  .premium-campaign-v28 .mobile-sticky-donate {
    width: calc(100% - 24px);
    max-width: 520px;
    inset-inline: 12px;
    justify-content: center;
  }
}

@media (max-width: 430px) {
  .premium-campaign-v28 .content-shell,
  .premium-homepage-v28 .content-shell,
  .premium-campaign-v28 .header-inner,
  .premium-homepage-v28 .header-inner,
  .premium-homepage-v28 .home-metrics-rail,
  .premium-campaign-v28 .campaign-milestones-section > .content-shell,
  .premium-campaign-v28 .premium-story-layout,
  .premium-campaign-v28 .contribution-options-layout,
  .premium-campaign-v28 .campaign-community-wrap,
  .premium-campaign-v28.campaign-low-activity .campaign-community-wrap,
  .premium-campaign-v28.campaign-no-community .campaign-community-wrap {
    width: calc(100% - 20px);
  }

  .premium-campaign-v28 .header-donate-button {
    font-size: .76rem;
  }

  .premium-homepage-v28 .premium-home-copy h1,
  .premium-campaign-v28 .campaign-hero-copy h1 {
    font-size: clamp(2.2rem, 11.8vw, 3rem);
  }

  .premium-homepage-v28 .home-metrics-rail {
    gap: 6px;
  }

  .premium-homepage-v28 .home-metrics-rail article {
    min-height: 70px;
    padding: 10px;
  }

  .premium-homepage-v28 .home-metrics-rail span {
    font-size: .68rem;
  }

  .premium-homepage-v28 .home-metrics-rail strong {
    font-size: 1rem;
  }

  .premium-campaign-v28 .premium-campaign-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-campaign-v28 .premium-countdown-fact {
    grid-column: 1 / -1;
  }

  .premium-campaign-v28 .contribution-option-grid {
    grid-template-columns: 1fr;
  }

  .premium-campaign-v28 .community-empty-actions {
    flex-direction: column;
  }

  .premium-campaign-v28 .community-empty-actions > * {
    width: 100%;
  }

  .premium-campaign-v28 .premium-final-cta,
  .premium-homepage-v28 .premium-home-bottom-cta {
    padding-block: 28px;
  }
}

/* Campaign video embeds */
.campaign-has-video .campaign-media-stage {
  aspect-ratio: 16 / 9;
  background: #061b29;
}

.campaign-has-video .campaign-media-stage::after {
  display: none;
}

.campaign-video-embed,
.campaign-video-embed iframe,
.campaign-video-embed video {
  width: 100%;
  height: 100%;
  display: block;
}

.campaign-video-embed {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  background: #000;
}

.campaign-video-embed iframe,
.campaign-video-embed video {
  border: 0;
  object-fit: contain;
}

.campaign-has-video .campaign-media-caption {
  top: 14px;
  bottom: auto;
  z-index: 3;
  justify-content: flex-start;
  pointer-events: none;
}

.campaign-has-video .campaign-media-title {
  display: none;
}

.campaign-has-video .campaign-media-label {
  background: rgba(4, 20, 31, 0.78);
}

@media (max-width: 720px) {
  .campaign-has-video .campaign-media-stage {
    aspect-ratio: 16 / 9;
  }

  .campaign-has-video .campaign-media-caption {
    inset-inline: 12px;
    top: 10px;
  }
}

@media (max-width: 360px) {
  .premium-campaign-v28 .header-donate-button {
    padding-inline: 10px;
  }

  .premium-campaign-v28 .header-donate-button span {
    display: none;
  }

  .premium-homepage-v28 .homepage-header-link {
    font-size: .76rem;
  }

  .premium-homepage-v28 .home-metrics-rail {
    grid-template-columns: 1fr;
  }

  .premium-homepage-v28 .home-metrics-rail .home-metrics-live {
    grid-column: auto;
  }

  .premium-campaign-v28 .progress-ring-wrap {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .premium-campaign-v28 .progress-ring {
    width: 78px;
  }

  .premium-campaign-v28 .progress-ring::before {
    width: 60px;
  }

  .premium-campaign-v28 .page-amount-grid,
  .premium-campaign-v28 .amount-grid {
    grid-template-columns: 1fr 1fr;
  }
}
