:root {
  --sp-ink: #06110d;
  --sp-card: #0b1b15;
  --sp-paper: #f5f0e6;
  --sp-muted: #98a99f;
  --sp-gold: #d6aa5c;
  --sp-gold-soft: #f0d397;
  --sp-line: rgba(240,211,151,.16);
}

body.annonces-page,
body.feed-page,
body.category-page,
body.donate-page {
  color: var(--sp-paper) !important;
  background:
    radial-gradient(circle at 7% 13%, rgba(72,115,92,.17), transparent 30rem),
    radial-gradient(circle at 93% 38%, rgba(192,142,66,.095), transparent 31rem),
    #06100c !important;
}

.public-section-shell {
  width: min(1240px, 100%);
  max-width: 1240px !important;
  padding: 0 20px 64px !important;
}

.section-hero {
  position: relative;
  min-height: 490px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 34px;
  overflow: hidden;
  isolation: isolate;
  margin-bottom: 70px;
  padding: 70px 70px 62px;
  border: 1px solid rgba(255,255,255,.07);
  border-top: 0;
  border-radius: 0 0 34px 34px;
  background: linear-gradient(112deg, rgba(8,30,21,.98), rgba(9,28,21,.91) 53%, rgba(18,29,23,.86));
  box-shadow: 0 38px 100px rgba(0,0,0,.26);
}

.section-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .085;
  background-image: linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px);
  background-size: 68px 68px;
  mask-image: linear-gradient(90deg, transparent, #000 62%);
}

.section-hero::after {
  content: "";
  position: absolute;
  right: -150px;
  top: -230px;
  z-index: -1;
  width: 610px;
  height: 610px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(214,170,92,.17), transparent 67%);
}

.section-hero__copy { max-width: 780px; }
.section-eyebrow,
.content-heading > div > span,
.donate-card-kicker,
.donate-goal-kicker {
  color: var(--sp-gold-soft);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.section-hero h1 {
  margin: 20px 0 22px;
  color: var(--sp-paper);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 5vw, 4.85rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.052em;
}

.section-hero h1 em { color: var(--sp-gold-soft); font-weight: 400; }
.section-hero__copy > p { max-width: 670px; margin: 0; color: #b4c2ba; font-size: .94rem; line-height: 1.75; }
.section-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.section-primary,
.section-secondary {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 29px;
  padding: 0 21px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: var(--sp-paper);
  font-size: .72rem;
  font-weight: 850;
}

.section-hero__actions .section-primary,
.section-hero__actions .section-secondary { margin-top: 0; }
.section-primary { color: #182019; border-color: var(--sp-gold-soft); background: var(--sp-gold-soft); }
.section-secondary { background: rgba(255,255,255,.03); }
.section-primary:hover,
.section-secondary:hover { color: inherit; transform: translateY(-2px); }

.section-hero__metric {
  position: relative;
  z-index: 2;
  width: 170px;
  height: 170px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border: 1px solid var(--sp-line);
  border-radius: 50%;
  background: rgba(5,18,12,.55);
  box-shadow: 0 20px 60px rgba(0,0,0,.25), inset 0 0 40px rgba(214,170,92,.04);
}

.section-hero__metric::before { content: ""; position: absolute; inset: -24px; border: 1px dashed rgba(214,170,92,.17); border-radius: 50%; }
.section-hero__metric strong { color: var(--sp-gold-soft); font-family: Georgia, serif; font-size: 3.2rem; font-weight: 400; line-height: 1; }
.section-hero__metric span { max-width: 110px; color: var(--sp-muted); font-size: .61rem; line-height: 1.25; text-align: center; text-transform: uppercase; letter-spacing: .08em; }
.section-hero__symbol { position: absolute; right: 46px; bottom: 16px; color: rgba(214,170,92,.06); font-family: Georgia, serif; font-size: 12rem; line-height: 1; }

.section-hero--evangelisation { background: linear-gradient(112deg, rgba(24,20,9,.97), rgba(37,25,9,.91), rgba(24,19,10,.88)); }
.section-hero--evangelisation::after { background: radial-gradient(circle, rgba(232,157,58,.2), transparent 67%); }
.section-hero--categories { background: linear-gradient(112deg, rgba(8,23,27,.98), rgba(8,29,28,.92), rgba(15,25,24,.88)); }
.section-hero--category-detail { min-height: 390px; }
.back-link { display: inline-block; margin-bottom: 22px; color: #98aaa0; font-size: .69rem; }

.content-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin: 0 0 28px;
  scroll-margin-top: 100px;
}

.content-heading h2 {
  margin: 7px 0 0;
  color: var(--sp-paper);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 3.5vw, 3.15rem);
  font-weight: 400;
  letter-spacing: -.04em;
}
.content-heading > p { margin: 0 0 8px; color: var(--sp-muted); font-size: .72rem; }
.filter-pills { display: flex; flex-wrap: wrap; gap: 7px; }
.filter-pills a { padding: 9px 13px; border: 1px solid rgba(255,255,255,.09); border-radius: 999px; color: #91a39a; font-size: .67rem; }
.filter-pills a.is-active,
.filter-pills a:hover { color: #172019; border-color: var(--sp-gold-soft); background: var(--sp-gold-soft); }

.annonces-page .grid,
.feed-page .grid,
.category-page .grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.annonces-page .card,
.feed-page .pod-card,
.category-page .pod-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  background: #0b1914;
  box-shadow: 0 20px 55px rgba(0,0,0,.18);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.annonces-page .card:hover,
.feed-page .pod-card:hover,
.category-page .pod-card:hover { transform: translateY(-5px); border-color: rgba(214,170,92,.27); box-shadow: 0 30px 72px rgba(0,0,0,.28); }

.announcement-cover,
.feed-cover,
.category-cover { position: relative; height: 235px; overflow: hidden; background: #12231c; }
.announcement-cover::after,
.feed-cover::after,
.category-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(4,13,9,.56), transparent 55%); pointer-events: none; }
.annonces-page .pod-img,
.feed-page .pod-img,
.category-page .pod-img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease, filter .3s ease; }
.annonces-page .card:hover .pod-img,
.feed-page .pod-card:hover .pod-img,
.category-page .pod-card:hover .pod-img { transform: scale(1.035); filter: brightness(.82); }
.announcement-cover > span { position: absolute; z-index: 2; top: 15px; left: 15px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: var(--sp-paper); background: rgba(5,17,12,.65); backdrop-filter: blur(8px); font-size: .57rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.feed-play { position: absolute; z-index: 2; left: 17px; bottom: 17px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: #172019; background: var(--sp-gold-soft); font-size: .67rem; box-shadow: 0 12px 30px rgba(0,0,0,.28); }
.category-cover > span { position: absolute; z-index: 2; right: 17px; bottom: 13px; color: var(--sp-gold-soft); font-family: Georgia, serif; font-size: 2.35rem; }

.annonces-page .card-body,
.feed-page .pod-body,
.category-page .pod-body { padding: 20px; }
.annonces-page .meta,
.feed-page .pod-meta,
.category-page .pod-meta { color: #82958a; font-size: .63rem; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.feed-page .pod-meta span { color: var(--sp-gold-soft); }
.annonces-page .card h3,
.feed-page .pod-card h3,
.category-page .pod-card h3 { margin: 10px 0 8px !important; color: var(--sp-paper); font-family: Georgia, serif; font-size: 1.27rem; font-weight: 400; line-height: 1.25; }
.annonces-page .card p,
.feed-page .pod-card p,
.category-page .pod-card p { min-height: 3.2em; margin: 0; color: #92a39a; font-size: .74rem; line-height: 1.62; }
.card-arrow { display: inline-flex; align-items: center; gap: 7px; margin-top: 17px; color: var(--sp-gold-soft); font-size: .66rem; font-weight: 800; }
.premium-empty { grid-column: 1 / -1; min-height: 300px; display: grid; place-items: center; align-content: center; padding: 40px; border: 1px solid rgba(255,255,255,.08); border-radius: 22px; color: var(--sp-muted); text-align: center; background: #0b1914; }
.premium-empty > span { color: var(--sp-gold); }
.premium-empty h3 { margin: 12px 0 4px; color: var(--sp-paper); font-family: Georgia, serif; font-size: 1.5rem; font-weight: 400; }
.premium-empty p { margin: 0; }
.feed-page .pagination,
.category-page .pagination { margin-top: 36px; }
.feed-page .pagination .btn,
.category-page .pagination .btn { margin: 0; border-color: var(--sp-line); border-radius: 999px; color: var(--sp-gold-soft); background: rgba(214,170,92,.06); }

/* Donation experience */
.donate-page .public-section-shell { padding-top: 0 !important; }
.donate-page .donate-hero {
  position: relative;
  min-height: 580px;
  grid-template-columns: minmax(0, 1.12fr) minmax(350px, .88fr);
  gap: 44px;
  margin: 0 0 62px;
  padding: 64px 58px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.07);
  border-top: 0;
  border-radius: 0 0 34px 34px;
  background: linear-gradient(112deg, rgba(8,30,21,.98), rgba(9,28,21,.91) 53%, rgba(18,29,23,.86));
  box-shadow: 0 38px 100px rgba(0,0,0,.26);
}
.donate-page .donate-hero::before { content: ""; position: absolute; right: -130px; top: -190px; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgba(214,170,92,.17), transparent 68%); pointer-events: none; }
.donate-page .donate-badge { padding: 0; border: 0; border-radius: 0; color: var(--sp-gold-soft); background: none; font-size: .64rem; letter-spacing: .18em; text-transform: uppercase; }
.donate-page .donate-hero h1 { margin: 20px 0 22px; color: var(--sp-paper); font-family: Georgia, serif; font-size: clamp(3rem, 5vw, 4.7rem); font-weight: 400; line-height: 1; letter-spacing: -.052em; }
.donate-page .donate-hero h1 em { color: var(--sp-gold-soft); font-weight: 400; }
.donate-page .donate-hero p { max-width: 650px; color: #b4c2ba; font-size: .88rem; line-height: 1.7; }
.donate-page .impact-grid { gap: 9px; margin: 28px 0 0; }
.donate-page .impact-item { padding: 13px; border: 1px solid rgba(214,170,92,.14); border-radius: 13px; color: #869a8f; background: rgba(214,170,92,.035); font-size: .67rem; line-height: 1.45; }
.donate-page .impact-item b { color: var(--sp-gold-soft); font-size: .72rem; }
.donate-page .donate-card { padding: 26px; border: 1px solid var(--sp-line); border-radius: 22px; background: linear-gradient(155deg, rgba(14,36,26,.97), rgba(8,23,17,.97)); box-shadow: 0 24px 65px rgba(0,0,0,.22); }
.donate-page .donate-goal-card { position: relative; z-index: 2; }
.donate-page .donate-goal-card h3 { color: var(--sp-paper); font-family: Georgia, serif; font-size: 1.75rem; font-weight: 400; }
.donate-page .donate-summary { border-color: rgba(214,170,92,.18); background: rgba(214,170,92,.06); }
.donate-page .donate-summary b { color: var(--sp-paper); }
.donate-page .donate-grid { grid-template-columns: minmax(0, 1.06fr) minmax(340px, .94fr); gap: 22px; }
.donate-page .donate-card h2 { color: var(--sp-paper); font-family: Georgia, serif; font-size: 2rem; font-weight: 400; }
.donate-page .field label { margin-top: 0; color: #cbd5d0; font-size: .7rem; }
.donate-page .field input,
.donate-page .field select,
.donate-page .field textarea { border-color: rgba(255,255,255,.095); color: var(--sp-paper); background: rgba(3,15,10,.62); }
.donate-page .field input:focus,
.donate-page .field select:focus,
.donate-page .field textarea:focus { border-color: rgba(214,170,92,.55); box-shadow: 0 0 0 4px rgba(214,170,92,.08); }
.donate-page .amount-btn { min-height: 46px; border-color: rgba(214,170,92,.2); color: #b7c5bd; background: rgba(214,170,92,.045); }
.donate-page .amount-btn.active { color: #172019; border-color: var(--sp-gold-soft); background: var(--sp-gold-soft); }
.donate-page .btn-primary { min-height: 50px; padding: 0 20px; border-radius: 999px; color: #172019; background: var(--sp-gold-soft); }
.donate-page .btn-ghost { min-height: 50px; padding: 0 20px; border-color: rgba(214,170,92,.24); border-radius: 999px; color: var(--sp-gold-soft); }
.donate-page .methods { gap: 10px; }
.donate-page .method,
.donate-page .faq-item { border-color: rgba(255,255,255,.075); color: #93a49b; background: rgba(255,255,255,.025); }
.donate-page .method h4 { color: var(--sp-gold-soft); }
.donate-page .method p { color: #93a49b; font-size: .75rem; }

@media (max-width: 1000px) {
  .section-hero { padding-inline: 46px; }
  .annonces-page .grid,
  .feed-page .grid,
  .category-page .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .donate-page .donate-hero,
  .donate-page .donate-grid { grid-template-columns: minmax(0, 1fr); }
  .donate-page .donate-goal-card { max-width: 650px; }
}

@media (max-width: 700px) {
  .public-section-shell { padding-inline: 12px !important; }
  .section-hero { min-height: auto; grid-template-columns: minmax(0, 1fr); gap: 30px; margin-bottom: 52px; padding: 54px 28px 42px; border-radius: 0 0 27px 27px; }
  .section-hero h1 { font-size: clamp(2.65rem, 11vw, 3.8rem); }
  .section-hero__copy > p { font-size: .84rem; }
  .section-hero__metric { width: 125px; height: 125px; margin-left: auto; }
  .section-hero__metric::before { inset: -14px; }
  .section-hero__metric strong { font-size: 2.5rem; }
  .section-hero__symbol { font-size: 8rem; }
  .content-heading { align-items: flex-start; flex-direction: column; gap: 13px; }
  .content-heading h2 { font-size: 2.3rem; }
  .annonces-page .grid,
  .feed-page .grid,
  .category-page .grid { grid-template-columns: minmax(0, 1fr); }
  .announcement-cover,
  .feed-cover,
  .category-cover { height: min(64vw, 300px); }
  .donate-page .donate-hero { min-height: auto; gap: 30px; padding: 52px 26px 38px; border-radius: 0 0 27px 27px; }
  .donate-page .donate-hero h1 { font-size: clamp(2.65rem, 11vw, 3.8rem); }
  .donate-page .impact-grid { grid-template-columns: minmax(0, 1fr); }
  .donate-page .donate-card { padding: 20px; }
}

@media (max-width: 440px) {
  .section-hero { padding-inline: 22px; }
  .section-hero__actions { align-items: stretch; flex-direction: column; }
  .section-primary,
  .section-secondary { width: 100%; }
  .filter-pills { width: 100%; }
  .filter-pills a { flex: 1; text-align: center; }
  .donate-page .amounts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .donate-page .donate-cta { flex-direction: column; }
  .donate-page .btn-primary,
  .donate-page .btn-ghost { width: 100%; }
}
