/* Generated by scripts/build_public_css.py. Do not edit directly. */

/* source: app.css */
:root {
  color-scheme: light;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #202124;
  background: #f7f5f1;
  line-height: 1.5;
}

* { box-sizing: border-box; }
body { margin: 0; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid #294c37;
  outline-offset: 3px;
}

.site-header,
.site-footer,
.section,
.hero,
.campaign-detail,
.auth-panel,
.form-panel,
.messages {
  width: min(1120px, calc(100% - 2rem));
  margin-inline: auto;
}

.brand { color: inherit; font-weight: 750; text-decoration: none; }
nav { display: flex; flex-wrap: wrap; gap: 1rem; }

.hero { padding-block: 5rem 3rem; }
.hero h1,
.page-heading h1,
.campaign-detail h1 { font-size: clamp(2rem, 7vw, 4.5rem); line-height: 1.05; margin: .25rem 0 1rem; }
.hero p:not(.eyebrow), .page-heading > p, .page-heading > div > p:not(.eyebrow) { max-width: 680px; font-size: 1.15rem; }
.eyebrow {                 font-weight: 700; letter-spacing: .04em;                            }

.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));               }
.card,
.donation-panel,
.empty-state,
.auth-panel,
.form-panel,
.dashboard-card,
.author-callout {
  background: #fff;
  border: 1px solid #e2ddd3;
  border-radius: 16px;
}
.card { overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.card:hover { transform: translateY(-2px);                                                }
.card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.card-body { padding: 1.25rem; }
.card h3 { margin-top: 0; }
.card h3 a { color: inherit; }
.amounts { display: flex; gap: 2rem; margin-block: 1.5rem; }
.amounts div { display: grid; }
.amounts dt { color: #626262; font-size: .85rem; }
.amounts dd { margin: 0; font-weight: 700; }
.target { margin-block: .75rem; font-weight: 700; }

.button {
  display: inline-block;
  border: 0;
  border-radius: 999px;
  padding: .8rem 1.25rem;
  color: #fff;
  font: inherit;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: transform .15s ease, opacity .15s ease;
}
.button:hover { transform: translateY(-1px); }
.button:disabled { background: #aaa; cursor: not-allowed; }
.button-link { font-weight: 700; }

.empty-state { padding: 2rem; text-align: center; }
.author-callout {
  margin-block: 1rem 3rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.author-callout h2 { margin: .25rem 0 .5rem; }
.author-callout p:not(.eyebrow) {                   margin-bottom: 0; }

.campaign-detail {                grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); gap: 2.5rem; padding-block: 4rem 2rem; }
.campaign-cover { width: 100%;                                       border-radius: 16px; }
.donation-panel {
  align-self: start;
  position: sticky;
  box-shadow: 0 18px 44px rgba(32, 33, 36, .08);
}
.donation-eyebrow { margin-top: 0; }
.donation-prompt { margin: 1.25rem 0 .65rem; font-weight: 700; }
.donation-submit {              text-align: center; }
.donation-note { margin-bottom: 0; }
.note { color: #626262; font-size: .9rem; }
.donation-form { display: grid; gap: 1rem; }
.donation-form fieldset { margin: 0; padding: 0; border: 0; }
.donation-form legend { margin-bottom: .5rem; font-weight: 700; }
.amount-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.amount-option { display: flex; align-items: center; gap: .4rem; padding: .7rem; border: 1px solid #c7c0b4; border-radius: 10px; cursor: pointer; background: #fff; }
.donation-form input[type="number"] { width: 100%; padding: .75rem; border: 1px solid #aaa; border-radius: 8px; font: inherit; }
.auth-panel { max-width: 480px; padding: 2rem; margin-block: 4rem; }
.auth-panel form,
.form-panel form { display: grid; gap: 1rem; }
.auth-panel input,
.form-panel input:not([type="checkbox"]),
.form-panel textarea,
.share-panel input {
  width: 100%;
  padding: .75rem;
  border: 1px solid #aaa;
  border-radius: 8px;
  font: inherit;
}
.error { color: #a31515; }
.field-error { margin: .25rem 0 0; color: #a31515; }
.help-text { color: #626262; font-size: .85rem; }
.help-text ul { margin: .25rem 0 0; padding-left: 1.25rem; }
.form-field { display: grid; gap: .35rem; }
.form-field > label { font-weight: 700; }
.checkbox-field { grid-template-columns: auto 1fr; align-items: center; }
.checkbox-field > label { grid-column: 2; grid-row: 1; }
.checkbox-field > input { grid-column: 1; grid-row: 1; }
.form-panel { max-width: 760px; padding: 2rem; margin-block: 3rem; }
.form-intro { margin: 1rem 0 1.5rem; padding: 1rem 1.1rem; border-radius: 12px;                      }
.form-intro p { margin: .35rem 0 0; color: #565656; }
.form-actions { margin-top: .5rem; }

.messages { padding-top: 1rem; }
.message { margin: 0 0 .5rem; padding: .85rem 1rem; border-radius: 10px; background: #e7eef8; }
.message-success { background: #e4f4e8; color: #185c2a; }
.message-error { background: #f9e3e3; color: #8c1717; }

.dashboard-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding-top: 0;
}
.dashboard-guide > div { display: grid; gap: .25rem; padding: 1rem 1.1rem; border-left: 3px solid #7b1e25;                                       }
.dashboard-list {                gap: 1rem; }
.dashboard-card { padding: 1.5rem; }
.dashboard-card h2 { margin: .25rem 0; }
.dashboard-card-header { display: flex; justify-content: space-between;            align-items: flex-start; }
.status-explainer { max-width: 720px; margin: .4rem 0 0; color: #626262; }
.dashboard-meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 1.2rem; }
.dashboard-meta div { display: grid; gap: .25rem; }
.status-badge { display: inline-block; margin: 0; padding: .25rem .6rem; border-radius: 999px; background: #eee; font-size: .85rem; font-weight: 700; }
.status-draft { background: #ececec; color: #444; }
.status-published { background: #e4f4e8; color: #185c2a; }
.status-pending_review { background: #fff0c7; color: #705000; }
.status-rejected { background: #f9e3e3; color: #8c1717; }
.status-paused { background: #ece8f7; color: #4d3b78; }
.status-completed { background: #e7eef8; color: #214a78; }
.moderation-note { padding: .85rem 1rem; border-left: 4px solid #bc7d00; background: #fff7df; }
.moderation-note p { margin: .35rem 0 0; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.actions form { display: inline; }
.dashboard-actions { margin-top: 1.25rem; }
.payment-summary { display: grid; gap: .75rem; }
.payment-summary div { display: grid; gap: .2rem; }
.payment-summary dt { color: #626262; font-size: .85rem; }
.payment-summary dd { margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.mock-payment-actions { display: grid; gap: .75rem; margin-top: 1.5rem; }
.mock-payment-actions form,
.mock-payment-actions button { width: 100%; }

.progress { margin-block: 1rem; }
.progress-track { height: 12px;                   border-radius: 999px;                      }
.progress-fill { display: block; height: 100%; border-radius: inherit;                      }
.progress-labels { display: flex; justify-content: space-between; gap: 1rem; margin-top: .4rem; font-size: .9rem; }
.share-panel label { grid-column: 1 / -1; font-weight: 700; }
.share-panel .note { grid-column: 1 / -1; }
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 720px) {
  .campaign-detail { grid-template-columns: 1fr; padding-top: 2rem; }
  .donation-panel { position: static; }
  .site-header { align-items: flex-start; padding-block: 1rem; }
  .site-header nav { justify-content: flex-end; font-size: .9rem; }
  .section-heading,
  .page-heading-split,
  .author-callout,
  .dashboard-card-header { align-items: flex-start; flex-direction: column; }
  .page-heading-actions,
  .page-heading-actions .button { width: 100%; text-align: center; }
  .author-callout .button { width: 100%; text-align: center; }
  .dashboard-guide { grid-template-columns: 1fr; }
  .dashboard-meta { grid-template-columns: 1fr 1fr; }
  .share-panel { grid-template-columns: 1fr; }
  .share-panel label { grid-column: 1; }
  .share-panel .note { grid-column: 1; }
}

@media (max-width: 440px) {
  .site-header { display: grid; }
  .site-header nav { justify-content: flex-start; }
  .dashboard-meta { grid-template-columns: 1fr; }
  .auth-panel,
  .form-panel { padding: 1.25rem; }
  .amount-options { grid-template-columns: 1fr; }
  .dashboard-actions .button,
  .dashboard-actions form,
  .dashboard-actions form .button,
  .form-actions .button { width: 100%; text-align: center; }
}

/* source: brand.css */
:root {
  --brand-green: #2f6b4f;
  --brand-green-dark: #214d39;
  --brand-green-soft: #edf4ef;
  --brand-red: #c3262f;
  --brand-red-dark: #a81f27;
  --brand-red-soft: #fbefef;
  --brand-ink: #1e211f;
  --brand-muted: #66706a;
  --brand-border: #dddeda;
  --brand-surface: #f6f7f4;
}

.foundation-header {
  position: relative;
}

.foundation-header__inner,
.module-bar__inner,
.foundation-footer__inner,
.foundation-footer__bottom {
  width: min(1180px, calc(100% - 2rem));
  margin-inline: auto;
}

.foundation-header__inner {
  justify-content: space-between;
}

.foundation-brand {
  gap: .8rem;
  color: var(--brand-green-dark);
  line-height: 1;
}

.foundation-brand:hover { color: var(--brand-green-dark); }

.foundation-header__utility,
.foundation-header__primary {
  gap: 1rem;
}

.foundation-header__utility a {
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.foundation-header__utility a:hover { border-color: currentColor; }

.header-help-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
}
.header-help-button:hover { color: #fff;                                    }

.foundation-menu { position: relative; }
.foundation-menu summary {
  list-style: none;
}

.foundation-menu__panel {
  position: absolute;
  right: 0;
  padding: 1.2rem;
  background: #fff;
  display: grid;
  gap: .5rem;
}
.foundation-menu__panel a {
  color: var(--brand-ink);
  text-decoration: none;
  padding: .6rem .7rem;
  border-radius: 8px;
}
.foundation-menu__panel a:hover { background: var(--brand-green-soft); color: var(--brand-green-dark); }
.foundation-menu__label {
  margin: .25rem .7rem 0;
  color: var(--brand-muted);
  font-size: .72rem;
  font-weight: 800;
}

.module-bar__title {
  text-decoration: none;
  letter-spacing: .01em;
}
.module-bar__title:hover { color: #fff; }
.module-bar nav { display: flex; align-items: center;            }
.module-bar nav a {
  text-decoration: none;
}
.module-bar nav a:hover {                                          text-underline-offset: 4px; }

main { min-height: 56vh; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.4rem; }

.eyebrow { color: var(--brand-red-dark); }
.button { background: var(--brand-red); }
.button:hover { background: var(--brand-red-dark); }
.button-secondary { background: var(--brand-green-dark); }
.button-secondary:hover { background: var(--brand-green); }

.card,
.donation-panel,
.empty-state,
.auth-panel,
.form-panel,
.dashboard-card,
.author-callout {
  border-color: var(--brand-border);
  box-shadow: 0 8px 28px rgba(30, 60, 44, .045);
}
.card:hover { box-shadow: 0 16px 34px rgba(30, 60, 44, .10); }
.author-callout { background: var(--brand-green-soft); }
.dashboard-guide > div { border-left-color: var(--brand-red);                   }
.form-intro { background: var(--brand-green-soft); }

.progress-track { background: #e7ebe7; }
.progress-fill { background: var(--brand-green); }
.amount-option:has(input:checked) { border-color: var(--brand-red); background: var(--brand-red-soft); }
.donation-panel { border-top: 4px solid var(--brand-red); }

.foundation-footer__inner {
  display: grid;
}
.foundation-footer nav { display: grid;              }
.foundation-footer nav a,
.foundation-footer a {                               text-decoration: none; }
.foundation-footer nav a:hover,
.foundation-footer a:hover {                                          text-underline-offset: 3px; }
.foundation-footer address { font-style: normal; display: grid;                                }

@media (max-width: 900px) {
  .foundation-header__utility { display: none; }
  .foundation-footer__inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .foundation-header__inner {                   gap: 1rem; }
  .foundation-brand__mark { flex-basis: 40px; width: 40px; height: 46px; }
  .foundation-brand__copy strong { font-size: .87rem; }
  .foundation-brand__copy small { display: none; }
  .module-bar__inner {                          padding-block: .8rem;                         }
  .module-bar nav {              overflow-x: auto; padding-bottom: .15rem; }
  .hero-branded { margin-top: 1rem; border-radius: 16px; }
  .foundation-footer__bottom { flex-direction: column; }
}

@media (max-width: 440px) {
  .foundation-header__inner { width: min(100% - 1rem, 1180px); }
  .foundation-header__primary { margin-left: auto; }
  .foundation-menu__panel { right: -.25rem; }
  .module-bar nav { gap: .8rem; }
  .hero-actions .button { width: 100%; text-align: center; }
}

/* source: showcase.css */
/* Second visual pass for the demo/showcase branch. */

:root {
  --showcase-green: #22543f;
  --showcase-green-2: #2f6b4f;
  --showcase-red: #c9272f;
  --showcase-ink: #181b19;
  --showcase-muted: #646b67;
  --showcase-line: #e6e7e3;
  --showcase-soft: #f5f7f4;
}

body {
  background: #fff;
}

.foundation-header__inner,
.module-bar__inner,
.foundation-footer__inner,
.foundation-footer__bottom,
.section,
.home-hero,
.campaign-detail,
.messages {
  width: min(1160px, calc(100% - 40px));
}

.foundation-header__inner {
  padding-block: 12px;
}

.header-help-button {
  padding-inline: 22px;
}

.module-bar {
  color: var(--showcase-green);
}

.module-bar__title,
.module-bar__title:hover,
.module-bar nav a,
.module-bar nav a:hover {
  color: var(--showcase-green);
}

.module-bar__title {
  position: relative;
}

.module-bar__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 7px;
  height: 7px;
  margin-top: -3.5px;
  border-radius: 50%;
  background: var(--showcase-red);
}

/* Home */
.home-hero {
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: clamp(36px, 7vw, 90px);
}

.section-heading h2 {
  margin: 6px 0 0;
  line-height: 1.05;
}

.fundraiser-card {
  display: flex;
  flex-direction: column;
  background: #fff;
}

.card-media {
  display: block;
  background: var(--showcase-soft);
  text-decoration: none;
}

.card-media-fallback {
  display: grid;
  width: 100%;
  height: 100%;
  color: #fff;
  background:
    radial-gradient(circle at 82% 28%, rgba(255,255,255,.14) 0 12%, transparent 12.5%),
    linear-gradient(145deg, #2f6b4f 0%, #214d39 65%, #18392b 100%);
}

.card-media-fallback strong {
  font-size: 21px;
  line-height: 1.05;
}

.fundraiser-card .card-body {
  flex: 1;
}

.fundraiser-card h3 {
  margin: 0 0 10px;
  line-height: 1.08;
}

.fundraiser-card h3 a {
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.fundraiser-card .card-description {
  margin: 0 0 18px;
  color: #444b47;
}

.fundraiser-card .target {
  margin-top: 10px;
}

.fundraiser-card .actions {
  margin-top: 14px;
}

.fundraiser-card .button {
  padding: .72rem 1.08rem;
}

.page-heading h1 {
  margin-top: 8px;
}

.page-heading > div > p:not(.eyebrow) {
  max-width: 720px;
}

.author-callout {
  padding: 32px;
  border-radius: 20px;
}

/* Campaign detail */
.campaign-detail {
  display: block;
}

.campaign-detail__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: end;
}

.campaign-detail__header h1 {
  margin: 8px 0 12px;
  line-height: .98;
}

.campaign-story {
  display: grid;
  gap: 24px;
}

.campaign-cover,
.campaign-cover-fallback {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.campaign-cover {
  max-height: none;
  object-fit: cover;
}

.donation-panel {
  top: 24px;
  border-top-width: 5px;
}

.donation-panel .progress {
  margin-top: 14px;
}

.share-panel {
  display: flex;
  gap: 10px;
  margin-top: 8px;
}

.share-panel strong {
  margin-right: auto;
}

.share-panel input,
.share-panel label {
  display: none;
}

.foundation-footer__inner {
  padding-block: 46px 34px;
}

/* Exact official site chrome */
.foundation-brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.foundation-brand__logo {
  object-fit: contain;
}

.foundation-footer .foundation-brand {
  color: inherit;
}

.foundation-footer nav a,
.foundation-footer a,
.foundation-footer address {
  color: var(--showcase-ink);
}

@media (max-width: 900px) {
  .home-hero,
  .campaign-detail__grid {
    grid-template-columns: 1fr;
  }

  .campaign-detail__header {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .donation-panel {
    position: static;
  }
}

@media (max-width: 720px) {
  .foundation-header__inner,
  .module-bar__inner,
  .foundation-footer__inner,
  .foundation-footer__bottom,
  .section,
  .home-hero,
  .campaign-detail,
  .messages {
    width: min(100% - 28px, 1160px);
  }

  .module-bar__inner {
    flex-direction: row;
    align-items: center;
    overflow-x: auto;
  }

  .module-bar__title {
    flex: 0 0 auto;
  }

  .module-bar nav {
    width: auto;
    flex: 0 0 auto;
    margin-left: auto;
    overflow: visible;
  }

  .home-hero__copy h1,
  .page-heading h1,
  .campaign-detail__header h1 {
    font-size: clamp(46px, 13vw, 64px);
  }

  .home-hero__aside {
    padding: 22px;
  }

  .campaign-cover-fallback {
    min-height: 240px;
  }

  .share-panel {
    align-items: stretch;
    flex-direction: column;
  }

  .share-panel strong {
    margin-right: 0;
  }

  .share-panel .button {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .module-bar nav a:nth-child(3) {
    display: none;
  }

  .home-hero__actions .button {
    width: 100%;
    text-align: center;
  }

  .page-heading {
    padding-top: 42px;
  }

  .author-callout {
    padding: 24px;
  }
}

/* source: site-chrome.css */
/* Header/footer overrides to keep the fundraising module visually continuous with pamyatpokoleniy.ru. */

.foundation-header {
  border-top: 6px solid #202020;
  border-bottom: 0;
  background: #fff;
}

/* The real site header spans the full viewport. Keep only adaptive side paddings,
   do not constrain it to the content column used by the body/footer. */
.foundation-header__inner,
.module-bar__inner {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: clamp(28px, 4vw, 72px);
}

.foundation-footer__inner,
.foundation-footer__bottom {
  width: min(1180px, calc(100% - 72px));
  margin-inline: auto;
}

.foundation-header__inner {
  padding-top: 14px;
  padding-bottom: 13px;
  gap: 36px;
}

.foundation-brand__logo {
  display: block;
  height: auto;
}

.foundation-header__actions {
  margin-left: auto;
}

.foundation-header__utility,
.foundation-header__primary {
  display: flex;
  align-items: center;
}

.foundation-header__utility a {
  color: #171717;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.2;
}

.header-help-button {
  min-height: 50px;
  padding: 0 24px;
  border-radius: 999px;
  background: #cf252c;
  font-size: 15px;
  font-weight: 800;
}

.header-help-button:hover {
  background: #b71e25;
}

.foundation-menu summary {
  padding: 12px 0;
  color: #183f2f;
  font-size: 15px;
  font-weight: 800;
}

.foundation-menu summary::after {
  content: "  ☰";
  color: #cf252c;
  font-size: 17px;
}

.foundation-menu__panel {
  top: calc(100% + 12px);
  width: 380px;
  border-radius: 0;
  border: 1px solid #e7e7e3;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .12);
}

.module-bar {
  border-top: 1px solid #efefec;
  border-bottom: 1px solid #dedfdc;
  background: #fff;
}

.module-bar__inner {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.module-bar__title {
  padding-left: 0;
  color: #173f2f;
  font-size: 15px;
  font-weight: 800;
}

.module-bar__title::before {
  display: none;
}

.module-bar nav {
  gap: 24px;
}

.module-bar nav a {
  color: #173f2f;
  font-size: 14px;
  font-weight: 700;
}

.module-bar nav a:hover {
  color: #cf252c;
  text-decoration: none;
}

.foundation-footer {
  border-top: 1px solid #e3e3df;
  background: #fff;
  color: #1a1a1a;
}

.foundation-footer__inner {
  grid-template-columns: 1.3fr 1fr 1fr .85fr;
}

.foundation-footer .foundation-brand,
.foundation-footer .foundation-brand:hover {
  color: inherit;
}

.foundation-footer__copyright {
  margin: 28px 0 0;
  color: #747474;
  font-size: 13px;
  line-height: 1.55;
}

.foundation-footer h2 {
  margin: 0 0 20px;
  color: #1a1a1a;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .01em;
  text-transform: none;
}

.foundation-footer nav {
  gap: 10px;
}

.foundation-footer nav a,
.foundation-footer a {
  color: #1a1a1a;
  font-size: 14px;
  line-height: 1.35;
}

.foundation-footer nav a:hover,
.foundation-footer a:hover {
  color: #cf252c;
  text-decoration: none;
}

.foundation-footer address {
  gap: 9px;
  font-size: 14px;
}

@media (max-width: 980px) {
  .foundation-header__inner,
  .module-bar__inner {
    padding-inline: 28px;
  }

  .foundation-footer__inner,
  .foundation-footer__bottom {
    width: min(100% - 40px, 1180px);
  }

  .foundation-header__utility {
    display: none;
  }

  .foundation-brand__logo {
    width: 198px;
  }

  .foundation-footer__inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .foundation-header {
    border-top-width: 4px;
  }

  .foundation-header__inner,
  .module-bar__inner {
    padding-inline: 16px;
  }

  .foundation-footer__inner,
  .foundation-footer__bottom {
    width: min(100% - 28px, 1180px);
  }

  .foundation-header__inner {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .foundation-brand__logo {
    width: 158px;
  }

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

  .module-bar__inner {
    min-height: 48px;
  }

  .module-bar nav {
    gap: 16px;
  }

  .foundation-footer {
    margin-top: 60px;
  }

  .foundation-footer__inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding-top: 40px;
  }

  .foundation-footer__bottom {
    display: block;
  }

  .foundation-footer__bottom nav {
    margin-top: 10px;
  }
}

/* source: presentation-polish.css */
/* Presentation polish for the fundraising module demo.
   Loaded last so the main templates stay easy to maintain while visual QA continues. */

/* Content areas stay on the module grid. The foundation header deliberately does not:
   the primary site header spans the viewport and must remain visually continuous. */
.foundation-footer__inner,
.foundation-footer__bottom,
.section,
.home-hero,
.campaign-detail,
.messages {
  width: min(1180px, calc(100% - 64px));
}

.foundation-header__inner {
  min-height: 92px;
  display: flex;
  align-items: center;
}

/* The official PNG has transparent margins, so compensate visually without editing the asset. */
.foundation-brand {
  min-width: 210px;
  overflow: visible;
}

.foundation-brand__logo {
  width: 226px;
  max-width: none;
  margin-left: -22px;
}

.foundation-header__actions {
  display: flex;
  align-items: center;
  gap: 20px;
}

.foundation-header__utility {
  gap: 20px;
}

.home-hero {
  padding: 52px 0 30px;
}

.section {
  padding-block: 30px;
}

.section-heading {
  margin-bottom: 18px;
}

.section-heading h2 {
  font-size: clamp(32px, 3.6vw, 43px);
}

.page-heading {
  padding-top: 52px;
  padding-bottom: 20px;
}

.page-heading h1 {
  margin-bottom: 14px;
  font-size: clamp(52px, 6.2vw, 76px);
}

.page-heading > div > p:not(.eyebrow) {
  font-size: 18px;
}

.card-grid {
  gap: 20px;
}

.fundraiser-card {
  border-radius: 14px;
}

.card-media {
  aspect-ratio: 16 / 9;
}

.fundraiser-card .card-body {
  padding: 20px;
}

.fundraiser-card h3 {
  font-size: 21px;
}

.fundraiser-card .card-description {
  min-height: 2.9em;
  margin-bottom: 14px;
}

.campaign-detail {
  padding-top: 52px;
}

.campaign-detail__header {
  margin-bottom: 26px;
}

.campaign-detail__header h1 {
  font-size: clamp(52px, 6.2vw, 74px);
}

.campaign-cover,
.campaign-cover-fallback {
  border-radius: 16px;
}

.donation-panel {
  padding: 24px;
  border-radius: 14px;
}

.foundation-footer {
  margin-top: 62px;
}

.foundation-footer__inner {
  gap: 48px;
  padding: 44px 0 30px;
}

.foundation-footer__copyright {
  margin-top: 20px;
}

@media (max-width: 980px) {
  .foundation-footer__inner,
  .foundation-footer__bottom,
  .section,
  .home-hero,
  .campaign-detail,
  .messages {
    width: min(100% - 40px, 1180px);
  }

  .foundation-header__inner {
    padding-inline: 28px !important;
  }

  .foundation-brand {
    min-width: 180px;
  }

  .foundation-brand__logo,
  .foundation-brand__logo--footer {
    width: 198px;
    margin-left: -18px;
  }
}

@media (max-width: 720px) {
  .foundation-footer__inner,
  .foundation-footer__bottom,
  .section,
  .home-hero,
  .campaign-detail,
  .messages {
    width: min(100% - 28px, 1180px);
  }

  .foundation-header__inner {
    min-height: 76px;
    padding: 8px 16px !important;
  }

  .foundation-brand {
    min-width: 150px;
  }

  .foundation-brand__logo,
  .foundation-brand__logo--footer {
    width: 168px;
    margin-left: -14px;
  }

  .home-hero {
    padding-top: 38px;
  }

  .home-hero__aside {
    max-width: none;
    justify-self: stretch;
  }

  .page-heading,
  .campaign-detail {
    padding-top: 38px;
  }
}

/* source: live-site-chrome.css */
/* Final visual layer. Values below are taken from the published pamyatpokoleniy.ru site. */

@font-face {
  font-family: "Gotham";
  src: url("https://static.tildacdn.com/tild3364-3839-4166-b165-613161666231/Gotham-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gotham";
  src: url("https://static.tildacdn.com/tild3839-3062-4732-b930-326532616261/Gotham-Book.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gotham";
  src: url("https://static.tildacdn.com/tild3034-6430-4232-a531-643162336439/Gotham-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GothamPRO";
  src: url("https://static.tildacdn.com/tild6133-3331-4935-b961-653364396332/GothamPro-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GothamPRO";
  src: url("https://static.tildacdn.com/tild6163-3338-4163-b464-326531333938/GothamPro.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GothamPRO";
  src: url("https://static.tildacdn.com/tild3234-6431-4732-b265-373662396431/GothamPro-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GothamPRO";
  src: url("https://static.tildacdn.com/tild3161-6262-4238-b336-643433343433/GothamPro-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "GothamPRO";
  src: url("https://static.tildacdn.com/tild3062-3061-4261-a364-376531313432/GothamPro-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --pp-green: #416c4f;
  --pp-green-dark: #315c43;
  --pp-red: #ed0b14;
  --pp-black: #171717;
  --pp-gray: #646569;
  --pp-line: #e9e9e7;
  --pp-soft: #f7f7f5;
  --pp-font: Manrope, Arial, sans-serif;
}

html,
body,
button,
input,
textarea,
select {
  font-family: var(--pp-font) !important;
}

body {
  margin: 0 !important;
  color: var(--pp-black) !important;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
strong,
.button,
.eyebrow {
  font-family: var(--pp-font) !important;
}

h1,
h2,
h3 {
  color: var(--pp-black) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}

a { color: var(--pp-green); }
a:hover { color: var(--pp-red); }

/* ===== Header: geometry copied from the live Tilda header ===== */
.foundation-header {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
  z-index: 1000;
}

.foundation-header__inner {
  box-sizing: border-box !important;
  max-width: none !important;
  height: 46px !important;
  margin: 0 !important;
}

.foundation-brand {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}

.foundation-brand__logo {
  display: block !important;
  margin: 0 !important;
}

.foundation-header__actions {
  width: auto !important;
  margin: 0 20px 0 auto !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

.foundation-header__utility {
  margin: 0 2px 0 0 !important;
}

.foundation-header__utility a {
  color: rgb(65, 108, 79) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-weight: 500 !important;
  line-height: normal !important;
  letter-spacing: normal !important;
}

.foundation-header__utility a:hover {
  color: rgb(65, 108, 79) !important;
  opacity: .78;
}

.header-help-button {
  box-sizing: border-box !important;
  min-width: 184px !important;
  height: 40px !important;
  border: 0 !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 19.6px !important;
  letter-spacing: normal !important;
  transform: none !important;
}

.header-help-button:hover {
  color: #fff !important;
}

.foundation-menu {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.foundation-menu summary {
  box-sizing: border-box !important;
  min-width: 90px !important;
  height: 40px !important;
  justify-content: center !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 19.6px !important;
  letter-spacing: normal !important;
  cursor: pointer;
}

.foundation-menu summary::-webkit-details-marker { display: none !important; }
.foundation-menu summary::after { display: none !important; content: none !important; }

.foundation-menu[open] summary,
.foundation-menu summary:hover {
  background: #365f46 !important;
}

.foundation-menu__panel a {
  color: var(--pp-black) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}
.foundation-menu__panel a:hover { color: var(--pp-red) !important; }
.foundation-menu__label {
  text-transform: uppercase;
  letter-spacing: .04em;
}

.module-bar { display: none !important; }

/* ===== Content: same font/rhythm, cleaner fundraising UI ===== */
.section,
.home-hero,
.campaign-detail,
.messages,
.page-heading,
.auth-panel,
.form-panel {
  width: min(1160px, calc(100% - 40px)) !important;
  margin-inline: auto !important;
}

.home-hero {
  align-items: center !important;
}

.section-heading h2 {
  font-weight: 700 !important;
}

.page-heading h1 {
  max-width: 900px !important;
  margin: 9px 0 15px !important;
  font-size: clamp(50px, 5.3vw, 72px) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
}
.page-heading > div > p:not(.eyebrow),
.page-heading > p {
  max-width: 720px !important;
  color: #303030 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}

.button {
  background: var(--pp-red) !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  transform: none !important;
}
.button:not(.button-secondary):hover { background: #d80a12 !important; color: #fff !important; transform: none !important; }

.fundraiser-card {
  overflow: hidden !important;
}
.card-media-fallback strong {                             font-weight: 700 !important; }
.fundraiser-card h3 {
  margin: 0 0 9px !important;
  font-weight: 700 !important;
  letter-spacing: -.015em !important;
}
.fundraiser-card h3 a { color: var(--pp-black) !important;                                   }
.fundraiser-card h3 a:hover { color: var(--pp-red) !important; }
.fundraiser-card .card-description {
  margin: 0 0 15px !important;
  color: #555 !important;
  font-size: 14px !important;
  line-height: 1.48 !important;
}
.progress-labels { color: #333 !important; font-size: 12px !important; }
.target { font-size: 13px !important; font-weight: 700 !important; }

.campaign-detail__header h1 {
  margin: 8px 0 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
}

.donation-panel {
  border-top: 4px solid var(--pp-red) !important;
}
.donation-panel .donation-eyebrow { color: var(--pp-red) !important; }
.amount-option {
  font-size: 14px !important;
}
.donation-form input[type="number"] {
  border-color: #bdbdb8 !important;
  border-radius: 8px !important;
  font-family: var(--pp-font) !important;
}

.author-callout,
.auth-panel,
.form-panel,
.dashboard-card,
.empty-state {
  border-color: #dfdfdb !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

/* ===== Footer: same structure and typography as the published site ===== */
.foundation-footer {
  width: 100% !important;
  border: 0 !important;
  color: var(--pp-black) !important;
}

.foundation-footer__inner {
  box-sizing: border-box !important;
  width: min(1160px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 54px 0 58px !important;
  display: grid !important;
  grid-template-columns: 1.1fr .9fr .9fr .75fr !important;
  align-items: start !important;
  gap: 64px !important;
}

.foundation-footer__vertical-brand {
  width: 150px !important;
  margin: 0 !important;
  text-decoration: none !important;
}
.foundation-footer__vertical-brand img {
  display: block !important;
  max-height: 150px !important;
  object-position: left top !important;
}
.foundation-footer__copyright {
  font-weight: 400 !important;
}
.foundation-footer h2 {
  margin: 0 0 20px !important;
  color: var(--pp-green) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.foundation-footer nav {
  display: grid !important;
  gap: 11px !important;
}
.foundation-footer nav a,
.foundation-footer address a {
  color: var(--pp-black) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}
.foundation-footer nav a:hover,
.foundation-footer address a:hover { color: var(--pp-red) !important; }
.foundation-footer address {
  display: grid !important;
  gap: 11px !important;
  margin: 0 !important;
  font-style: normal !important;
}

@media (max-width: 980px) {
  .foundation-header__actions { margin-right: 0 !important; }
  .home-hero,
  .campaign-detail__grid { grid-template-columns: 1fr !important; }
  .home-hero__aside { justify-self: stretch !important; max-width: none !important; }
  .donation-panel { position: static !important; }
  .foundation-footer__inner { grid-template-columns: 1fr 1fr !important; gap: 40px !important; }
}

@media (max-width: 640px) {
  .foundation-header__inner {
    height: 58px !important;
    min-height: 58px !important;
    padding: 8px 14px !important;
  }
  .foundation-brand,
  .foundation-brand__logo {
    width: 142px !important;
    min-width: 142px !important;
    height: auto !important;
  }
  .header-help-button { display: none !important; }
  .foundation-menu summary {
    min-width: 78px !important;
    height: 38px !important;
    padding: 0 18px !important;
  }
  .section,
  .home-hero,
  .campaign-detail,
  .messages,
  .page-heading,
  .auth-panel,
  .form-panel,
  .foundation-footer__inner {
    width: min(100% - 28px, 1160px) !important;
  }
  .home-hero { padding-top: 44px !important; gap: 34px !important; }
  .home-hero__copy h1,
  .page-heading h1,
  .campaign-detail__header h1 { font-size: clamp(42px, 13vw, 60px) !important; }
  .foundation-footer__inner {
    padding: 40px 0 !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
}

/* source: module-nav.css */
/* Fundraising module local navigation. Loaded last on purpose. */

.module-nav {
  position: relative;
  left: auto;
  width: 100%;
  margin-left: 0;
  background: rgba(247, 250, 247, .96);
  border-top: 1px solid #edf0ed;
  border-bottom: 1px solid #dde5df;
}

.module-nav__inner {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 54px;
  margin: 0;
  /* Keep the same visible right edge as the live header.
     Using 100% instead of 100vw avoids the scrollbar-width offset. */
  padding: 0 40px 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.module-nav__brand {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  color: #416c4f;
  font-family: Manrope, Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.module-nav__brand::before {
  flex: 0 0 7px;
}

.module-nav__brand:hover {
  color: #416c4f;
  opacity: .8;
}

.module-nav__links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  min-width: 0;
  margin-left: auto;
}

.module-nav__links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 999px;
  color: #31563e;
  font-family: Manrope, Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.module-nav__links a:hover {
  background: #e8f0ea;
  color: #31563e;
}

.module-nav__links a.module-nav__primary {
  color: #fff;
  background: #416c4f;
  font-weight: 700;
}

.module-nav__links a.module-nav__primary:hover {
  color: #fff;
  background: #31563e;
}

.module-nav__links a.module-nav__moderation {
  color: #a2182b;
  font-weight: 700;
}

.module-nav__links a.module-nav__moderation:hover {
  background: #f8ecee;
  color: #a2182b;
}

.module-nav__links a.module-nav__logout {
  margin-left: 4px;
  color: #a2182b;
  border: 1px solid rgba(162, 24, 43, .24);
  background: #fff;
  font-weight: 700;
}

.module-nav__links a.module-nav__logout:hover {
  color: #fff;
  border-color: #a2182b;
  background: #a2182b;
}

@media (max-width: 820px) {
  .module-nav__inner {
    min-height: 52px;
    padding-inline: 16px;
    gap: 18px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .module-nav__inner::-webkit-scrollbar {
    display: none;
  }

  .module-nav__links {
    flex: 0 0 auto;
  }
}

@media (max-width: 560px) {
  .module-nav__inner {
    min-height: 50px;
    padding-inline: 12px;
  }

  .module-nav__brand {
    font-size: 14px;
  }

  .module-nav__links a {
    min-height: 34px;
    padding-inline: 11px;
    font-size: 13px;
  }
}

html body .foundation-header .foundation-header__inner,
html body .module-nav .module-nav__inner {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* V7 adds a real span-dot in the template. Disable the older pseudo-dot. */
html body .module-nav .module-nav__brand::before {
  content: none !important;
  display: none !important;
}

html body .module-nav .module-nav__brand > span {
  flex: 0 0 7px !important;
}

/* Menu now follows the scrolling header instead of being pinned to viewport. */
html body .foundation-header .foundation-menu__panel {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
  max-height: min(620px, calc(100vh - 96px)) !important;
}

@media (max-width: 820px) {
  html body .foundation-header .foundation-header__inner,
  html body .module-nav .module-nav__inner {
    width: calc(100% - 28px) !important;
  }
}

@media (max-width: 560px) {
  html body .foundation-header .foundation-header__inner,
  html body .module-nav .module-nav__inner {
    width: calc(100% - 20px) !important;
  }
}

/* source: experience.css */
/* Premium experience layer: motion, hierarchy, campaign storytelling and assistant UI. */

:root {
  --xp-red: #ed0b14;
  --xp-red-dark: #ca0710;
  --xp-green: #416c4f;
  --xp-green-dark: #2f5740;
  --xp-green-soft: #eef5f0;
  --xp-ink: #171717;
  --xp-muted: #686b69;
  --xp-line: #e2e6e2;
  --xp-paper: #ffffff;
  --xp-warm: #faf9f6;
  --xp-shadow: 0 24px 70px rgba(27, 48, 35, .10);
  --xp-shadow-soft: 0 14px 38px rgba(27, 48, 35, .07);
  --xp-radius-xl: 28px;
  --xp-radius-lg: 20px;
  --xp-radius-md: 14px;
  --xp-ease: cubic-bezier(.22, 1, .36, 1);
}

/* --- Global interactive feel --- */
.button,
.module-nav__links a,
.foundation-menu summary,
.header-help-button,
.fundraiser-card,
.amount-option,
.carnation-assistant__trigger {
  transition:
    transform .22s var(--xp-ease),
    box-shadow .22s var(--xp-ease),
    border-color .22s ease,
    background-color .22s ease,
    color .22s ease,
    opacity .22s ease !important;
}

.button:hover,
.header-help-button:hover,
.module-nav__primary:hover {
  box-shadow: 0 10px 26px rgba(237,11,20,.16) !important;
}

.button:active,
.header-help-button:active,
.module-nav__links a:active { transform: translateY(0) scale(.985) !important; }

/* --- Home hero --- */
.home-hero {
  box-shadow: 0 28px 90px rgba(29,53,38,.06);
}

.home-hero::before,
.home-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
}

.home-hero::after {
  filter: blur(.2px);
}

.home-hero__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 26px;
  color: var(--xp-muted);
  font-size: 13px;
}
.home-hero__trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.home-hero__trust span::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--xp-green);
  box-shadow: 0 0 0 5px rgba(65,108,79,.08);
}

/* --- Three-step confidence strip --- */
.impact-path {
  width: min(1160px, calc(100% - 40px));
  margin: 18px auto 20px;
  padding: 18px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  border: 1px solid var(--xp-line);
  border-radius: 18px;
  background: #fff;
}
.impact-path__item {
  position: relative;
  min-height: 108px;
  padding: 18px 20px 18px 56px;
  border-radius: 13px;
  background: linear-gradient(145deg, #fbfcfb, #f5f8f5);
}
.impact-path h3 { margin: 0 0 7px; font-size: 17px !important; }
.impact-path p { margin: 0; color: var(--xp-muted); font-size: 13px; line-height: 1.5; }

.section-heading > a {
  position: relative;
  text-decoration: none !important;
  font-weight: 500;
}
.section-heading > a::after {
  content: "→";
  display: inline-block;
  margin-left: 7px;
  transition: transform .2s var(--xp-ease);
}
.section-heading > a:hover::after { transform: translateX(4px); }

.card-media img {
  transition: transform .55s var(--xp-ease), filter .55s ease;
}
.fundraiser-card:hover .card-media img { transform: scale(1.035); }
.card-media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 28%;
  background: linear-gradient(transparent, rgba(0,0,0,.08));
  pointer-events: none;
}
.card-media-fallback::after {
  top: -24px;
  border: 18px solid rgba(255,255,255,.08);
}
.fundraiser-card .card-body { padding: 22px !important; }
.fundraiser-card h3 a { text-decoration: none !important; }
.card-description { min-height: 3em; color: var(--xp-muted) !important; }
.fundraiser-card .actions { gap: 10px !important;                              }

.progress-track { overflow: hidden; }
.progress-fill { transform-origin: left center; }

.page-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(84px, 18vw);
  height: 4px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--xp-red), var(--xp-green));
}
.campaign-story {
  min-width: 0;
}
.campaign-cover,
.campaign-cover-fallback {
  box-shadow: 0 20px 50px rgba(27,48,35,.08);
}
.description { color: #292b29; font-size: 17px; line-height: 1.7; }

.donation-panel {
  overflow: hidden;
}
.donation-panel::before {
  content: "";
  display: block;
  height: 5px;
  margin: -1px -1px 20px;
  background: linear-gradient(90deg, var(--xp-red) 0 44%, #b7192d 44% 58%, var(--xp-green) 58% 100%);
}
.amount-option:hover {
  transform: translateY(-1px);
}
.amount-option:has(input:checked) {
  box-shadow: 0 0 0 3px rgba(237,11,20,.06);
}
.donation-submit { width: 100%; }
.share-panel {
  border-color: rgba(65,108,79,.12) !important;
}

/* --- Reveal motion (JS only adds .xp-reveal; content stays visible without JS) --- */
.ui-ready .xp-reveal {
  opacity: 0;
  transform: translateY(20px);
}
.ui-ready .xp-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .7s var(--xp-ease), transform .7s var(--xp-ease);
}
.ui-ready .xp-reveal[data-delay="1"].is-visible { transition-delay: .08s; }
.ui-ready .xp-reveal[data-delay="2"].is-visible { transition-delay: .16s; }
.ui-ready .xp-reveal[data-delay="3"].is-visible { transition-delay: .24s; }

/* --- Carnation helper --- */
.carnation-assistant {
  position: fixed;
  z-index: 1200;
  right: 22px;
  bottom: 22px;
  display: grid;
  justify-items: end;
  gap: 10px;
  font-family: Manrope, Arial, sans-serif;
}
.carnation-assistant__trigger {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 6px 16px 6px 6px;
  border: 1px solid rgba(65,108,79,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: var(--xp-green-dark);
  box-shadow: 0 12px 34px rgba(27,48,35,.13);
  cursor: pointer;
}
.carnation-assistant__trigger:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 42px rgba(27,48,35,.17);
}
.carnation-assistant__mark {
  position: relative;
  width: 42px;
  height: 42px;
  overflow: hidden;
  flex: 0 0 42px;
  border-radius: 50%;
  background: #f4f8f5;
}
.carnation-assistant__mark img {
  position: absolute;
  left: 3px;
  top: 5px;
  width: 150px;
  height: 36px;
  max-width: none;
  object-fit: contain;
  object-position: left center;
}
.carnation-assistant__label { font-size: 14px; font-weight: 700; }
.carnation-assistant__panel {
  width: min(360px, calc(100vw - 28px));
  padding: 20px;
  border: 1px solid rgba(65,108,79,.16);
  border-radius: 20px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 28px 80px rgba(27,48,35,.20);
}
.carnation-assistant__panel[hidden] { display: none; }
.carnation-assistant__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}
.carnation-assistant__head strong { font-size: 18px; }
.carnation-assistant__close {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: #f1f3f1;
  color: var(--xp-ink);
  cursor: pointer;
}
.carnation-assistant__text {
  margin: 0;
  color: var(--xp-muted);
  font-size: 14px;
  line-height: 1.55;
}
.carnation-assistant__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.carnation-assistant__actions a,
.carnation-assistant__actions button {
  min-height: 36px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(65,108,79,.18);
  border-radius: 999px;
  background: #fff;
  color: var(--xp-green-dark);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.carnation-assistant__actions .is-primary {
  border-color: var(--xp-green);
  background: var(--xp-green);
  color: #fff;
}

@media (max-width: 900px) {
  .home-hero {
    grid-template-columns: 1fr !important;
    margin-top: 20px !important;
    padding: 44px 28px !important;
  }
  .home-hero__aside { max-width: none !important; justify-self: stretch !important; }
  .impact-path { grid-template-columns: 1fr; }
  .campaign-detail__grid { grid-template-columns: 1fr !important; }
  .donation-panel { position: static !important; }
}

@media (max-width: 620px) {
  .home-hero {
    width: calc(100% - 24px) !important;
    padding: 36px 22px !important;
    border-radius: 22px !important;
  }
  .home-hero__copy h1 { font-size: clamp(42px, 13vw, 58px) !important; }
  .impact-path { width: calc(100% - 24px); padding: 10px; }
  .carnation-assistant { right: 12px; bottom: 12px; }
  .carnation-assistant__label { display: none; }
  .carnation-assistant__trigger { padding: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  .ui-ready .xp-reveal { opacity: 1; transform: none; }
}

/* source: experience-refinement.css */
/* Second visual pass based on browser QA screenshots. */

:root {
  --xp-content-wide: 1180px;
  --xp-content: 1120px;
}

/* Keep a consistent optical width across public screens. */
.section,
.campaign-detail {
  width: min(var(--xp-content), calc(100% - 40px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

/* Home: keep the strong hero, but connect it more tightly to the content below. */
.home-hero {
  margin-bottom: 18px !important;
}

.impact-path {
  margin-bottom: 8px !important;
}

.impact-path + .section {
  padding-top: 46px !important;
}

.page-heading h1 {
  max-width: 900px;
  letter-spacing: -.035em;
}

.page-heading + .section {
  padding-top: 24px !important;
}

.page-heading::after {
  bottom: 8px !important;
}

/* More confident catalogue cards: larger, calmer, more premium. */
.card-grid {
  align-items: stretch;
}

.fundraiser-card {
  min-width: 0;
}

.fundraiser-card .card-body {
  display: flex;
  min-height: 265px;
  flex-direction: column;
}

.fundraiser-card .progress {
  margin-top: auto;
}

.fundraiser-card .button {
  min-width: 0;
}

.campaign-detail__header {
  margin-bottom: 26px !important;
}

.campaign-detail__header h1 {
  letter-spacing: -.035em;
}

.campaign-cover,
.campaign-cover-fallback {
  min-height: 470px;
}

.donation-panel {
  width: 100%;
}

.donation-panel .progress {
  margin-bottom: 18px;
}

.amount-option {
  min-height: 48px;
}

.donation-note {
  line-height: 1.5;
}

.share-panel {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

.share-panel strong,
.share-panel label,
.share-panel input,
.share-panel .note {
  grid-column: 1 / -1;
}

.share-panel .button {
  justify-self: end;
}

/* Dashboard: transform the process explanation from three isolated red rules into a clear journey. */
.dashboard-guide {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  border: 1px solid rgba(65,108,79,.12);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(249,251,249,.96), rgba(244,248,245,.96));
}

.dashboard-guide > div {
  border: 0 !important;
  background: rgba(255,255,255,.82);
}

.dashboard-guide > div:nth-child(1)::before { content: "1"; }
.dashboard-guide > div:nth-child(2)::before { content: "2"; }
.dashboard-guide > div:nth-child(3)::before { content: "3"; }

.dashboard-guide strong {
  font-size: 16px;
}

.dashboard-guide span {
  color: #666b68;
  line-height: 1.5;
}

.dashboard-list {
  display: grid;
}

.dashboard-card::before {
  inset: 0 auto 0 0;
}

.dashboard-card-header {
  gap: 24px;
}

.dashboard-card h2 {
  margin-top: 8px !important;
  letter-spacing: -.02em;
}

.dashboard-meta {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin-top: 22px !important;
}

.dashboard-meta > div {
  padding: 14px 16px;
  background: #f7f9f7;
}

.dashboard-meta dt {
  color: #777c79;
}

.dashboard-meta dd {
  margin: 0;
}

.dashboard-actions {
  gap: 10px !important;
  margin-top: 20px !important;
}

/* Assistant: quieter by default, stronger when engaged. */
.carnation-assistant__trigger {
  opacity: .92;
}

.carnation-assistant__trigger:hover,
.carnation-assistant__trigger[aria-expanded="true"] {
  opacity: 1;
}

.carnation-assistant__panel {
  border-top: 4px solid #ed0b14 !important;
}

/* Strong keyboard focus for an otherwise very mouse-friendly interface. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
summary:focus-visible {
  outline: 3px solid #294c37 !important;
  outline-offset: 3px !important;
}

@media (max-width: 980px) {
  .card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .campaign-detail__grid {
    grid-template-columns: 1fr !important;
  }

  .campaign-cover,
  .campaign-cover-fallback {
    min-height: 380px;
  }

  .dashboard-guide {
    grid-template-columns: 1fr !important;
  }

  .dashboard-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .section,
  .campaign-detail,
  .impact-path {
    width: calc(100% - 24px) !important;
  }

  .page-heading {
    padding-top: 34px !important;
  }

  .card-grid {
    grid-template-columns: 1fr !important;
  }

  .fundraiser-card .card-body {
    min-height: 0;
  }

  .campaign-cover,
  .campaign-cover-fallback {
    min-height: 280px;
  }

  .dashboard-meta {
    grid-template-columns: 1fr !important;
  }

  .share-panel {
    grid-template-columns: 1fr !important;
  }

  .share-panel .button {
    justify-self: stretch;
  }
}

/* source: experience-finish.css */
/* Third visual pass from browser QA: fix empty media, tighten detail flow, enrich trust cues. */

/* --- Branded media fallbacks: no more empty white rectangles --- */
.card-media {
  min-height: 220px;
}

.card-media-fallback,
.campaign-cover-fallback {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 78% 20%, rgba(255,255,255,.16) 0 52px, transparent 53px),
    radial-gradient(circle at 78% 20%, transparent 0 82px, rgba(255,255,255,.085) 83px 102px, transparent 103px),
    linear-gradient(145deg, #4f7f61 0%, #365f47 50%, #244c37 100%) !important;
}

.card-media-fallback {
  padding: 24px;
  align-content: end;
}

.card-media-fallback::before,
.campaign-cover-fallback::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 126px;
  height: 126px;
  right: 13%;
  top: 18%;
  border-radius: 48% 52% 44% 56% / 55% 43% 57% 45%;
  background:
    radial-gradient(circle at 35% 35%, #f63a40 0 9%, transparent 10%),
    radial-gradient(circle at 62% 30%, #ed0b14 0 15%, transparent 16%),
    radial-gradient(circle at 72% 58%, #c70a18 0 20%, transparent 21%),
    radial-gradient(circle at 38% 70%, #dd0c15 0 18%, transparent 19%),
    radial-gradient(circle at 48% 48%, #ed0b14 0 42%, #b5162b 43% 57%, transparent 58%);
  transform: rotate(-8deg);
  filter: drop-shadow(0 14px 26px rgba(47,15,21,.18));
  opacity: .94;
}

.card-media-fallback::after,
.campaign-cover-fallback::after {
  content: "";
  position: absolute;
  z-index: -2;
  width: 10px;
  height: 190px;
  right: calc(13% + 55px);
  top: calc(18% + 92px);
  border-radius: 99px;
  background: linear-gradient(#315c43, #1f4632);
  transform: rotate(19deg);
  transform-origin: top center;
  opacity: .9;
}

.card-media-fallback__kicker {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.72);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
}

/* --- Detail media becomes an actual campaign hero, not a blank placeholder --- */
.campaign-cover-wrap {
  position: relative;
}

.description p:first-child {
  font-size: 19px;
  line-height: 1.65;
}

.campaign-detail + .section {
  padding-top: 30px !important;
}

.donation-panel .target {
  margin: 12px 0 20px !important;
  font-size: 15px;
}

.donation-prompt {
  margin-bottom: 12px !important;
}

.donation-submit {
  margin-top: 4px;
  font-size: 14px !important;
}

.donation-trust {
  padding-top: 15px;
  border-top: 1px solid #edf0ed;
}

.dashboard-card:hover {
  box-shadow: 0 16px 38px rgba(27,48,35,.07) !important;
}

/* --- Carnation helper: subtle personality without distracting from donations --- */
.carnation-assistant__trigger::after {
  border: 1px solid rgba(65,108,79,.16);
}

@media (prefers-reduced-motion: no-preference) {
  .carnation-assistant__trigger::after {
    animation: carnation-pulse 4.8s ease-out infinite;
  }

  @keyframes carnation-pulse {
    0%, 72% { transform: scale(.96); opacity: 0; }
    78% { opacity: .55; }
    100% { transform: scale(1.13); opacity: 0; }
  }
}

@media (max-width: 900px) {
  .campaign-cover-fallback {
    min-height: 390px;
  }

  .campaign-cover-fallback::after {
    height: 260px;
  }
}

@media (max-width: 620px) {
  .card-media,
  .card-media-fallback {
    min-height: 190px;
  }

  .campaign-cover-fallback {
    min-height: 330px;
    padding: 26px;
  }

  .campaign-cover-fallback__title {
    font-size: clamp(34px, 12vw, 48px);
  }

  .campaign-cover-fallback::before {
    opacity: .76;
  }
}

/* source: ux-pro-max.css */
/*
 * UI/UX Pro Max premium layer.
 * Direction: editorial philanthropy + kinetic minimalism.
 * Priorities: accessibility, touch ergonomics, responsive layout, typography,
 * meaningful motion, high perceived quality, zero dependency runtime.
 */

:root {
  --ux-red: #ef1018;
  --ux-red-strong: #d90d14;
  --ux-red-soft: #fff1f1;
  --ux-green: #416c4f;
  --ux-green-deep: #294c37;
  --ux-green-soft: #edf5ef;
  --ux-ink: #151716;
  --ux-ink-soft: #303531;
  --ux-muted: #6f766f;
  --ux-line: rgba(41, 76, 55, .14);
  --ux-line-strong: rgba(41, 76, 55, .24);
  --ux-paper: #fff;
  --ux-canvas: #fbfcfa;
  --ux-warm: #faf8f4;
  --ux-shadow-xs: 0 8px 24px rgba(30, 55, 39, .06);
  --ux-shadow-sm: 0 16px 40px rgba(30, 55, 39, .08);
  --ux-shadow-md: 0 24px 72px rgba(30, 55, 39, .11);
  --ux-shadow-lg: 0 34px 100px rgba(30, 55, 39, .14);
  --ux-r-lg: 22px;
  --ux-r-xl: 30px;
  --ux-r-2xl: 40px;
  --ux-ease: cubic-bezier(.22, 1, .36, 1);
  --ux-ease-soft: cubic-bezier(.2, .75, .25, 1);
  --ux-section: clamp(56px, 7vw, 104px);
}

html {
  scroll-behavior: smooth;
  background: var(--ux-canvas);
}

body {
  min-width: 320px;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .26;
  background-image: radial-gradient(rgba(41,76,55,.18) .55px, transparent .55px);
  background-size: 22px 22px;
  mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 80%, transparent);
}

body,
button,
input,
textarea,
select {
  font-family: Manrope, Arial, sans-serif !important;
}

main {
  position: relative;
}

main::before,
main::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 260px;
  height: 260px;
  border-radius: 48% 52% 61% 39% / 48% 39% 61% 52%;
  pointer-events: none;
  filter: blur(1px);
}

main::before {
  left: -140px;
  top: 210px;
  background: rgba(65,108,79,.035);
  transform: rotate(23deg);
}

main::after {
  right: -150px;
  top: 560px;
  background: rgba(239,16,24,.025);
  transform: rotate(-18deg);
}

::selection {
  color: #fff;
  background: var(--ux-green);
}

:focus-visible {
  outline: 3px solid #294c37 !important;
  outline-offset: 3px !important;
  border-radius: 8px;
}

/* --- Type system -------------------------------------------------------- */

h1,
h2,
h3,
.page-heading h1,
.home-hero h1,
.campaign-detail__header h1 {
  color: var(--ux-ink) !important;
  letter-spacing: -.035em !important;
  text-wrap: balance;
}

h1,
.page-heading h1,
.campaign-detail__header h1 {
  font-weight: 700 !important;
  line-height: .96 !important;
}

p,
li,
dd,
dt,
label,
input,
textarea {
  line-height: 1.55;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px !important;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.note,
.card-description,
.status-explainer,
.campaign-author,
.description,
.page-heading p,
.home-hero__copy > p:not(.eyebrow),
.home-hero__aside > p:not(.eyebrow) {
  color: var(--ux-muted) !important;
}

/* --- Chrome: feels native to main site, but premium --------------------- */

.foundation-header {
  top: 0;
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  transition: box-shadow .28s ease, background-color .28s ease !important;
}

html.ux-scrolled .foundation-header {
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 12px 36px rgba(30,55,39,.07);
}

.foundation-header__actions a,
.foundation-menu summary,
.module-nav__links a,
.module-nav__brand {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.foundation-header__utility a {
  position: relative;
  text-decoration: none !important;
}

.foundation-header__utility a::after,
.module-nav__links > a:not(.module-nav__primary):not(.module-nav__logout)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 8px;
  height: 1px;
  background: currentColor;
  transition: right .28s var(--ux-ease);
}

.foundation-header__utility a:hover::after,
.module-nav__links > a:not(.module-nav__primary):not(.module-nav__logout):hover::after {
  right: 0;
}

.header-help-button,
.foundation-menu summary,
.module-nav__primary,
.module-nav__logout,
.button {
  min-height: 46px;
  border-radius: 999px !important;
}

.header-help-button,
.button:not(.button-secondary),
.module-nav__primary {
  position: relative;
  overflow: hidden;
}

.header-help-button::before,
.button:not(.button-secondary)::before,
.module-nav__primary::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 15%, rgba(255,255,255,.22) 46%, transparent 76%);
  transform: translateX(-135%);
  transition: transform .6s var(--ux-ease);
}

.header-help-button:hover::before,
.button:not(.button-secondary):hover::before,
.module-nav__primary:hover::before {
  transform: translateX(135%);
}

.module-nav {
  top: var(--ux-header-height, 66px);
  backdrop-filter: blur(16px) saturate(140%);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
}

.module-nav__brand {
  position: relative;
  gap: 10px;
}

.module-nav__brand::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ux-red);
  box-shadow: 0 0 0 5px rgba(239,16,24,.065);
}

.foundation-menu__panel {
  backdrop-filter: blur(24px);
}

/* --- Home hero --------------------------------------------------------- */

.home-hero {
  position: relative !important;
  isolation: isolate;
  min-height: clamp(540px, 66vh, 720px);
  margin: clamp(32px, 4.5vw, 68px) auto 26px !important;
  display: grid !important;
  align-items: center;
  overflow: hidden;
}

.home-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: -84px;
  bottom: -105px;
  width: 330px;
  height: 330px;
  border: 44px solid rgba(65,108,79,.07);
  border-radius: 47% 53% 58% 42% / 45% 42% 58% 55%;
  transform: rotate(-18deg);
}

.home-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: 20%;
  top: 12%;
  width: 118px;
  height: 118px;
  border-radius: 55% 45% 58% 42% / 45% 58% 42% 55%;
  background: linear-gradient(145deg, rgba(239,16,24,.10), rgba(239,16,24,.025));
  transform: rotate(22deg) translate3d(calc(var(--ux-x, 0px) * .25), calc(var(--ux-y, 0px) * .25), 0);
  transition: transform .3s var(--ux-ease-soft);
}

.home-hero__trust {
  gap: 10px 14px !important;
}

.home-hero__trust span {
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(41,76,55,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  backdrop-filter: blur(8px);
}

.home-hero__trust span::before {
  width: 7px !important;
  height: 7px !important;
  box-shadow: 0 0 0 4px rgba(65,108,79,.07) !important;
}

/* --- Impact path ------------------------------------------------------- */

.impact-path {
  position: relative;
  margin: 18px auto 0 !important;
  border: 1px solid rgba(41,76,55,.11) !important;
  box-shadow: var(--ux-shadow-xs);
  backdrop-filter: blur(12px);
}

.impact-path::before {
  content: "";
  position: absolute;
  left: 17%;
  right: 17%;
  top: 47px;
  height: 1px;
  z-index: 0;
  background: linear-gradient(90deg, rgba(239,16,24,.18), rgba(65,108,79,.18));
}

.impact-path__item {
  z-index: 1;
  padding: 18px 22px 18px 62px !important;
  border: 1px solid transparent;
  transition: transform .25s var(--ux-ease), border-color .25s ease, background-color .25s ease;
}

.impact-path__item:hover {
  transform: translateY(-3px);
  border-color: rgba(41,76,55,.12);
}

/* --- Shared section / page frame -------------------------------------- */

.section {
  width: min(1240px, calc(100% - clamp(24px, 5vw, 84px))) !important;
  padding-block: var(--ux-section) !important;
}

.section + .section:not(.author-callout) {
  padding-top: clamp(24px, 3vw, 48px) !important;
}

.section-heading h2,
.page-heading h1 {
  font-size: clamp(44px, 5.2vw, 72px) !important;
}

.section-heading > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  color: var(--ux-green-deep) !important;
  font-weight: 500 !important;
}

.page-heading {
  position: relative;
  min-height: 260px;
  display: grid !important;
  align-items: end !important;
  padding-top: clamp(64px, 8vw, 112px) !important;
  padding-bottom: clamp(54px, 6vw, 88px) !important;
}

.page-heading::before {
  content: "";
  position: absolute;
  left: -70px;
  top: 46px;
  width: 180px;
  height: 180px;
  border-radius: 44% 56% 63% 37% / 48% 42% 58% 52%;
  background: rgba(65,108,79,.035);
  transform: rotate(18deg);
  pointer-events: none;
}

.page-heading::after {
  width: 88px !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--ux-red) 0 48%, var(--ux-green) 48% 100%) !important;
}

.page-heading > div:first-child {
  max-width: 760px;
}

.page-heading > div:first-child > p:last-child {
  max-width: 680px;
  font-size: 16px;
}

/* --- Campaign catalogue cards ---------------------------------------- */

.card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(20px, 2.6vw, 30px) !important;
}

.fundraiser-card {
  position: relative;
  isolation: isolate;
  min-height: 100%;
  overflow: hidden;
  border: 1px solid rgba(41,76,55,.12) !important;
  transform: translateZ(0);
}

.fundraiser-card::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(380px circle at var(--ux-card-x, 50%) var(--ux-card-y, 30%), rgba(65,108,79,.075), transparent 42%);
  transition: opacity .3s ease;
}

.fundraiser-card:hover::before {
  opacity: 1;
}

.fundraiser-card:hover {
  border-color: rgba(41,76,55,.22) !important;
}

.card-media {
  border-bottom: 1px solid rgba(41,76,55,.08);
}

.card-media-fallback strong {
  position: relative;
  z-index: 2;
  max-width: 78%;
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
}

.card-media-fallback::before {
  right: 22px;
  bottom: 24px;
  height: 72px;
  border-radius: 55% 45% 64% 36% / 45% 60% 40% 55%;
}

.card-body {
  display: flex;
  flex-direction: column;
  min-height: 330px;
}

.fundraiser-card h3 {
  margin-bottom: 10px !important;
}

.card-description {
  margin-bottom: 22px !important;
}

.fundraiser-card .progress {
  margin-top: auto !important;
}

.progress-track {
  height: 7px !important;
  border-radius: 999px !important;
  background: #e8ece8 !important;
}

.progress-fill {
  border-radius: 999px !important;
  background: linear-gradient(90deg, #2f6244, #4d8260) !important;
}

.fundraiser-card .target {
  margin-top: 18px !important;
}

.fundraiser-card .actions {
  margin-top: 20px !important;
}

.fundraiser-card .button {
  min-height: 44px !important;
  padding-inline: 18px !important;
}

/* --- Catalogue create callout ----------------------------------------- */

.author-callout {
  position: relative;
  overflow: hidden;
  margin-bottom: var(--ux-section) !important;
  padding: clamp(34px, 4vw, 54px) clamp(28px, 4.5vw, 64px) !important;
  border: 1px solid rgba(41,76,55,.13) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 89% 45%, rgba(65,108,79,.11), transparent 17rem),
    linear-gradient(135deg, #fbfdfb, #f1f6f2) !important;
  box-shadow: var(--ux-shadow-xs);
}

.author-callout::after {
  content: "";
  position: absolute;
  right: 9%;
  top: -52px;
  width: 160px;
  height: 160px;
  border: 26px solid rgba(65,108,79,.055);
  border-radius: 50%;
}

.author-callout h2 {
  font-size: clamp(28px, 3vw, 42px) !important;
}

.author-callout p:not(.eyebrow) {
  max-width: 780px;
}

/* --- Campaign detail -------------------------------------------------- */

.campaign-detail {
  width: min(1240px, calc(100% - clamp(24px, 5vw, 84px))) !important;
  margin-inline: auto;
  padding-top: clamp(64px, 7vw, 104px) !important;
}

.campaign-detail__header {
  position: relative;
  padding-bottom: 32px;
}

.campaign-detail__header h1 {
  max-width: 920px;
  font-size: clamp(52px, 6vw, 82px) !important;
}

.campaign-cover,
.campaign-cover-fallback {
  min-height: clamp(420px, 48vw, 560px) !important;
  border-radius: 30px !important;
  box-shadow: 0 26px 70px rgba(30,55,39,.10) !important;
}

.description {
  max-width: 800px;
  font-size: clamp(16px, 1.5vw, 19px) !important;
  line-height: 1.72 !important;
}

.donation-panel {
  position: sticky !important;
  top: calc(var(--ux-header-height, 66px) + var(--ux-module-nav-height, 58px) + 18px) !important;
  padding: 0 26px 28px !important;
  border: 1px solid rgba(41,76,55,.13) !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.95) !important;
  box-shadow: var(--ux-shadow-md) !important;
  backdrop-filter: blur(18px) saturate(130%);
}

.donation-panel::before {
  height: 6px !important;
  margin: -1px -27px 24px !important;
  background: linear-gradient(90deg, var(--ux-red) 0 42%, #b91933 42% 58%, var(--ux-green) 58% 100%) !important;
}

.donation-panel .progress-track {
  height: 8px !important;
}

.donation-prompt {
  margin-top: 24px !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

.amount-option {
  padding: 12px 14px !important;
  border-radius: 12px !important;
  border-color: rgba(41,76,55,.17) !important;
  background: #fff !important;
}

.amount-option:hover {
  border-color: rgba(65,108,79,.42) !important;
  background: #f8faf8 !important;
}

.amount-option:has(input:checked) {
  border-color: var(--ux-red) !important;
  background: #fff4f4 !important;
  box-shadow: 0 0 0 4px rgba(239,16,24,.055) !important;
}

.form-field input,
.form-field textarea,
.donation-form input[type="text"],
.donation-form input[type="number"] {
  min-height: 50px;
  border-radius: 12px !important;
  border-color: rgba(41,76,55,.18) !important;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.form-field input:focus,
.form-field textarea:focus,
.donation-form input:focus {
  border-color: var(--ux-green) !important;
  box-shadow: 0 0 0 4px rgba(65,108,79,.08) !important;
}

.donation-submit {
  margin-top: 8px !important;
  box-shadow: 0 12px 28px rgba(239,16,24,.17);
}

.donation-note {
  margin-top: 18px !important;
  padding-top: 16px;
  border-top: 1px solid rgba(41,76,55,.09);
  font-size: 12.5px !important;
}

.share-panel {
  display: grid !important;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px !important;
  margin-top: 34px !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(41,76,55,.09) !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg, #f2f7f3, #edf4ef) !important;
}

.share-panel label,
.share-panel input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* --- Dashboard -------------------------------------------------------- */

.dashboard-guide {
  position: relative;
  padding: 16px !important;
  border: 1px solid rgba(41,76,55,.11) !important;
  border-radius: 24px !important;
  background: rgba(246,250,247,.82) !important;
  box-shadow: var(--ux-shadow-xs);
}

.dashboard-guide > div {
  position: relative;
  min-height: 104px;
  padding: 18px 18px 18px 58px !important;
  border: 1px solid rgba(41,76,55,.06);
  border-radius: 16px;
  background: rgba(255,255,255,.9) !important;
}

.dashboard-guide > div::before {
  content: counter(ux-step);
  counter-increment: ux-step;
  position: absolute;
  left: 18px;
  top: 18px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--ux-red);
  background: var(--ux-red-soft);
  font-weight: 700;
  font-size: 12px;
}

.dashboard-guide {
  counter-reset: ux-step;
}

.dashboard-guide strong {
  display: block;
  margin-bottom: 8px;
}

.dashboard-guide span {
  color: var(--ux-muted) !important;
  font-size: 13px;
}

.dashboard-list {
  gap: 18px !important;
}

.dashboard-card {
  position: relative;
  overflow: hidden;
  padding: clamp(22px, 3vw, 32px) !important;
  border: 1px solid rgba(41,76,55,.12) !important;
  box-shadow: 0 1px 0 rgba(30,55,39,.02);
  transition: transform .25s var(--ux-ease), box-shadow .25s ease, border-color .25s ease;
}

.dashboard-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(var(--ux-red), var(--ux-green));
  opacity: .85;
}

.dashboard-card:hover {
  transform: translateY(-3px);
  border-color: rgba(41,76,55,.21) !important;
  box-shadow: var(--ux-shadow-sm);
}

.dashboard-meta {
  gap: 10px !important;
}

.dashboard-meta > div {
  min-height: 88px;
  padding: 15px 16px !important;
  border: 1px solid rgba(41,76,55,.06);
  border-radius: 14px;
}

.dashboard-meta dt {
  margin-bottom: 8px;
  color: var(--ux-muted) !important;
  font-size: 12px;
}

.dashboard-meta dd {
  color: var(--ux-ink) !important;
  font-weight: 700;
}

.status-badge {
  display: inline-flex !important;
  min-height: 30px;
  align-items: center;
  padding: 5px 10px !important;
  border-radius: 999px !important;
}

/* --- Forms ------------------------------------------------------------ */

form:not(.donation-form) input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
form:not(.donation-form) textarea,
form:not(.donation-form) select {
  min-height: 48px;
  border-radius: 12px !important;
  border-color: rgba(41,76,55,.18) !important;
  background: rgba(255,255,255,.98) !important;
}

form:not(.donation-form) textarea {
  min-height: 140px;
}

/* --- Buttons / interaction ------------------------------------------- */

.button,
.header-help-button,
.module-nav__primary,
.module-nav__logout,
.foundation-menu summary,
.carnation-assistant__trigger {
  transition:
    transform .22s var(--ux-ease),
    box-shadow .22s ease,
    background-color .22s ease,
    border-color .22s ease,
    color .22s ease,
    opacity .22s ease !important;
}

.button:hover,
.header-help-button:hover,
.module-nav__primary:hover {
  transform: translateY(-2px) !important;
}

.button:not(.button-secondary):hover,
.header-help-button:hover,
.module-nav__primary:hover {
  box-shadow: 0 13px 30px rgba(239,16,24,.18) !important;
}

.button-secondary:hover {
  box-shadow: 0 12px 28px rgba(65,108,79,.14) !important;
}

.button:active,
.header-help-button:active,
.module-nav__links a:active,
.foundation-menu summary:active {
  transform: translateY(0) scale(.985) !important;
}

.carnation-assistant__trigger {
  padding: 7px 17px 7px 7px !important;
  border: 1px solid rgba(41,76,55,.13) !important;
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(18px) saturate(130%);
}

.carnation-assistant__trigger:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 20px 50px rgba(30,55,39,.17) !important;
}

.carnation-assistant__panel {
  border: 1px solid rgba(41,76,55,.12) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 28px 90px rgba(30,55,39,.18) !important;
  backdrop-filter: blur(24px) saturate(140%);
}

/* --- Pointer light ---------------------------------------------------- */

.ux-pointer-surface {
  --ux-card-x: 50%;
  --ux-card-y: 50%;
}

/* --- Scroll reveal: preserve content without JS ----------------------- */

.ux-js .ux-pro-reveal {
  opacity: 0;
  transform: translateY(18px) scale(.995);
}

.ux-js .ux-pro-reveal.ux-pro-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition: opacity .72s var(--ux-ease), transform .72s var(--ux-ease);
}

.ux-js .ux-pro-reveal[data-ux-delay="1"].ux-pro-visible { transition-delay: .06s; }
.ux-js .ux-pro-reveal[data-ux-delay="2"].ux-pro-visible { transition-delay: .12s; }
.ux-js .ux-pro-reveal[data-ux-delay="3"].ux-pro-visible { transition-delay: .18s; }

/* --- Footer ----------------------------------------------------------- */

.foundation-footer {
  position: relative;
}

.foundation-footer a {
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

/* --- Responsive ------------------------------------------------------- */

@media (max-width: 1180px) {
  .home-hero {
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr) !important;
  }

  .home-hero__copy h1 {
    font-size: clamp(52px, 7vw, 78px) !important;
  }

  .campaign-detail__grid {
    grid-template-columns: minmax(0, 1fr) 330px !important;
  }
}

@media (max-width: 960px) {
  :root {
    --ux-section: clamp(44px, 7vw, 72px);
  }

  .foundation-header {
    position: relative !important;
  }

  .module-nav {
    position: relative !important;
    top: auto !important;
  }

  .home-hero {
    min-height: auto;
    padding: 48px 34px !important;
  }

  .home-hero__aside {
    max-width: none !important;
    transform: none !important;
  }

  .impact-path {
    grid-template-columns: 1fr !important;
  }

  .impact-path::before {
    display: none;
  }

  .card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .campaign-detail__grid {
    grid-template-columns: 1fr !important;
  }

  .donation-panel {
    position: relative !important;
    top: auto !important;
  }

  .share-panel {
    grid-template-columns: 1fr auto !important;
  }
}

@media (max-width: 680px) {
  body::before {
    opacity: .12;
  }

  .home-hero,
  .impact-path,
  .section,
  .campaign-detail {
    width: min(100% - 24px, 100%) !important;
  }

  .home-hero {
    margin-top: 18px !important;
    padding: 36px 22px !important;
  }

  .home-hero__actions .button {
    width: 100%;
    justify-content: center;
  }

  .home-hero__trust {
    display: grid !important;
    grid-template-columns: 1fr;
  }

  .page-heading {
    min-height: 0;
    padding-top: 48px !important;
    padding-bottom: 54px !important;
  }

  .page-heading h1,
  .section-heading h2,
  .campaign-detail__header h1 {
    font-size: clamp(42px, 13vw, 60px) !important;
  }

  .page-heading-split {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .page-heading-actions .button {
    width: 100%;
    justify-content: center;
  }

  .card-grid {
    grid-template-columns: 1fr !important;
  }

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

  .campaign-cover,
  .campaign-cover-fallback {
    min-height: 360px !important;
    border-radius: 22px !important;
  }

  .campaign-cover-fallback span {
    max-width: 80%;
    font-size: clamp(34px, 11vw, 50px) !important;
  }

  .donation-panel {
    padding-inline: 18px !important;
    border-radius: 22px !important;
  }

  .donation-panel::before {
    margin-inline: -19px !important;
  }

  .amount-options {
    grid-template-columns: 1fr 1fr !important;
  }

  .share-panel {
    grid-template-columns: 1fr !important;
    align-items: start;
  }

  .share-panel .button {
    width: 100%;
    justify-content: center;
  }

  .dashboard-guide {
    grid-template-columns: 1fr !important;
  }

  .dashboard-meta {
    grid-template-columns: 1fr 1fr !important;
  }

  .dashboard-actions,
  .dashboard-actions form,
  .dashboard-actions .button {
    width: 100%;
  }

  .dashboard-actions .button {
    justify-content: center;
  }

}

@media (max-width: 460px) {
  .dashboard-meta {
    grid-template-columns: 1fr !important;
  }

  .amount-options {
    grid-template-columns: 1fr !important;
  }
}

/* --- Reduced motion --------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  .ux-js .ux-pro-reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  .home-hero__aside,
  .home-hero::after {
    transform: none !important;
  }
}

/* source: ux-pro-max-fixes.css */
/* Final component-level refinements for the UI/UX Pro Max layer. */

.module-nav__links > a {
  position: relative;
}

.card-media-fallback {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px;
}

.card-media-fallback__kicker {
  line-height: 1.2 !important;
}

.donation-trust {
  display: grid;
  gap: 10px;
  margin-top: 20px;
  padding: 16px;
  border: 1px solid rgba(41,76,55,.09);
  border-radius: 16px;
  background: linear-gradient(145deg, #f7faf8, #f1f6f2);
}

.donation-trust__item {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  color: #536056;
  font-size: 12px;
  line-height: 1.45;
}

.donation-trust__icon {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #416c4f;
  font-size: 11px;
  font-weight: 700;
}

.donation-contact-fields {
  display: grid;
  gap: 12px;
}

.donation-contact-fields .form-field {
  margin: 0 !important;
}

.donation-form {
  gap: 18px !important;
}

.donation-form__section {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  border: 0;
}

.donation-form__section + .donation-form__section {
  padding-top: 18px;
  border-top: 1px solid rgba(41, 76, 55, .1);
}

.donation-form__section-heading {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.donation-form__section-heading > span:last-child {
  display: grid;
  gap: 2px;
}

.donation-form__section-heading strong {
  color: #191b19;
  font-size: 16px;
  line-height: 1.25;
}

.donation-form__section-heading small {
  color: #6d756f;
  font-size: 11.5px;
  line-height: 1.35;
}

.donation-form__step {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #416c4f;
  font-size: 12px;
  font-weight: 800;
}

.donation-form .amount-options {
  gap: 8px !important;
}

.donation-form .amount-option {
  min-height: 48px;
  justify-content: center;
  padding: 8px 12px !important;
  border-color: rgba(41, 76, 55, .17) !important;
  border-radius: 14px !important;
  font-weight: 650;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.donation-form .amount-option:hover {
  border-color: rgba(65, 108, 79, .48) !important;
  background: #f7faf8 !important;
}

.donation-form .amount-option:has(input:checked) {
  border-color: #416c4f !important;
  background: #eef5f0 !important;
  box-shadow: 0 0 0 3px rgba(65, 108, 79, .08) !important;
}

.donation-form .amount-option input {
  accent-color: #416c4f;
}

.donation-custom-amount {
  gap: 7px !important;
  margin: 0 !important;
}

.donation-custom-amount > label,
.donation-contact-fields label {
  color: #355a42;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
}

.donation-contact-fields label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.donation-contact-fields label span {
  color: #7b827d;
  font-size: 10.5px;
  font-weight: 500;
}

.donation-input-with-suffix {
  position: relative;
}

.donation-input-with-suffix input {
  box-sizing: border-box;
  width: 100%;
  min-height: 50px;
  padding: 0 44px 0 17px !important;
  border: 1px solid rgba(41, 76, 55, .18) !important;
  border-radius: 999px !important;
  background: #fff !important;
}

.donation-input-with-suffix > span {
  position: absolute;
  top: 50%;
  right: 17px;
  color: #416c4f;
  font-weight: 800;
  transform: translateY(-50%);
  pointer-events: none;
}

.donation-contact-fields input[type="text"],
.donation-contact-fields input[type="email"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 50px;
  padding: 0 17px;
  border: 1px solid rgba(41, 76, 55, .18);
  border-radius: 999px !important;
  background: #fff;
  font: inherit;
}

.donation-contact-fields input:focus {
  border-color: var(--ux-green) !important;
  outline: 0;
  box-shadow: 0 0 0 4px rgba(65, 108, 79, .08) !important;
}

.donation-contact-fields input::placeholder {
  color: #858b87;
  opacity: 1;
}

.donation-submit {
  margin-top: 0 !important;
  border-radius: 15px !important;
  transition: opacity .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

.donation-submit:not(:disabled):hover {
  transform: translateY(-1px);
}

.donation-submit:disabled {
  cursor: not-allowed;
  opacity: .48;
  box-shadow: none !important;
}

.donation-payment-hint {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: -8px 0 0;
  color: #68716a;
  font-size: 10.5px;
  line-height: 1.35;
  text-align: center;
}

.donation-payment-hint span {
  width: 17px;
  height: 17px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #416c4f;
  font-size: 9px;
  font-weight: 800;
}

.donation-legal-note {
  margin-top: 18px !important;
  padding-top: 16px;
  border-top: 1px solid rgba(41, 76, 55, .09);
  font-size: 12px !important;
  line-height: 1.5 !important;
}

.donation-form .field-error {
  margin-top: 3px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #fff1f1;
  font-size: 11px;
  line-height: 1.35;
}

.donation-form .field-error ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 680px) {
  .campaign-cover-fallback .campaign-cover-fallback__copy {
    max-width: 86% !important;
  }

  .campaign-cover-fallback .campaign-cover-fallback__title {
    font-size: clamp(36px, 11vw, 52px) !important;
  }
}

/* source: premium-final.css */


.fundraiser-card {
  will-change: transform;
}

.fundraiser-card:hover .card-media-fallback__title,
.fundraiser-card:hover .card-media img {
  transform: translateY(-2px) scale(1.015);
}

.card-media img {
  transition: transform .5s cubic-bezier(.22,1,.36,1), filter .5s ease !important;
}

.fundraiser-card:hover .card-media img {
  filter: saturate(1.03) contrast(1.02);
}

.author-callout {
  margin-top: clamp(8px, 2vw, 18px) !important;
}

/* Dashboard: make it feel like a creator workspace rather than an admin screen. */

body:has(.dashboard-list) .page-heading,
body:has(.dashboard-guide) .page-heading {
  min-height: 230px !important;
  padding-top: clamp(58px, 6vw, 86px) !important;
  padding-bottom: 42px !important;
}

.dashboard-guide {
  margin-top: -8px !important;
}

.dashboard-card-header h2 {
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1.08 !important;
}

.dashboard-card {
  background:
    radial-gradient(circle at 96% 10%, rgba(65,108,79,.035), transparent 13rem),
    rgba(255,255,255,.98) !important;
}

.dashboard-card:hover {
  transform: translateY(-4px) !important;
}

.dashboard-meta > div {
  transition: transform .2s cubic-bezier(.22,1,.36,1), border-color .2s ease, background-color .2s ease;
}

.dashboard-card:hover .dashboard-meta > div {
  border-color: rgba(41,76,55,.10);
  background: #f9fbf9 !important;
}

.status-badge.status-published {
  color: #27653d !important;
  background: #e5f5e9 !important;
}

.status-badge.status-pending_review {
  color: #765500 !important;
  background: #fff1c8 !important;
}

.status-badge.status-draft {
  color: #535a55 !important;
  background: #eef0ee !important;
}

.moderation-note {
  margin-top: 18px;
  padding: 16px 18px !important;
  border: 1px solid rgba(239,16,24,.12) !important;
  border-left: 4px solid #ef1018 !important;
  border-radius: 14px !important;
  background: #fff8f8 !important;
}

/* A more deliberate footer transition. */

.foundation-footer {
  overflow: hidden;
}

.foundation-footer::before {
  content: "";
  position: absolute;
  right: -90px;
  top: -110px;
  width: 260px;
  height: 260px;
  border: 34px solid rgba(65,108,79,.045);
  border-radius: 50%;
  pointer-events: none;
}

.foundation-footer__inner {
  position: relative;
  z-index: 1;
}

/* The assistant should read as a product affordance, not a sticker. */

.carnation-assistant__trigger::after {
  inset: -1px;
  z-index: -1;
  opacity: 0;
  transition: opacity .22s ease;
}

.carnation-assistant__trigger:hover::after,
.carnation-assistant__trigger[aria-expanded="true"]::after {
  opacity: 1;
}

@media (max-width: 960px) {
  .catalogue-heading {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
  }

  .catalogue-heading__action {
    align-self: start !important;
    padding-bottom: 0;
  }

  .catalogue-results .fundraiser-card {
    min-height: 0;
  }
}

@media (max-width: 680px) {
  .catalogue-heading {
    padding-top: 42px !important;
    padding-bottom: 28px !important;
  }

  .catalogue-meta {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 20px;
  }

  .catalogue-meta span {
    width: 100%;
  }

  .catalogue-heading__action,
  .catalogue-heading__action .button {
    width: 100%;
  }

  .catalogue-heading__action .button {
    justify-content: center;
  }

  .catalogue-results {
    padding-top: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .card-media-fallback__title,
  .card-media img,
  .dashboard-meta > div {
    transition: none !important;
  }
}

/* source: story-first-v2.css */
/*
 * Story-first art direction v2
 * Photography stays unobstructed, content becomes editorial, motion stays purposeful.
 */

:root {
  --sf-red: #ef1018;
  --sf-red-dark: #c90d13;
  --sf-green: #416c4f;
  --sf-green-dark: #1f4830;
  --sf-green-soft: #edf4ef;
  --sf-ink: #111512;
  --sf-muted: #6d756f;
  --sf-line: rgba(33, 72, 48, .13);
  --sf-paper: #ffffff;
  --sf-warm: #f6f3ee;
  --sf-shadow: 0 24px 70px rgba(25, 55, 37, .10);
  --sf-shadow-lg: 0 38px 110px rgba(25, 55, 37, .14);
}

.eyebrow::before {
  width: 6px !important;
  height: 6px !important;
  box-shadow: 0 0 0 5px rgba(239,16,24,.08) !important;
}

/* Hero: less dashboard, more campaign/editorial landing */
.home-hero {
  width: min(1340px, calc(100% - clamp(24px, 4vw, 64px))) !important;
  min-height: 650px !important;
  margin-top: clamp(28px, 4vw, 58px) !important;
  padding: 0 !important;
  grid-template-columns: minmax(0, 1.28fr) minmax(340px, .72fr) !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--sf-line) !important;
  border-radius: 34px !important;
  background: #f8f8f4 !important;
  box-shadow: 0 30px 100px rgba(31,72,48,.09) !important;
}

.home-hero::before {
  right: auto !important;
  left: 56% !important;
  bottom: -180px !important;
  width: 460px !important;
  height: 460px !important;
  border-width: 54px !important;
  border-color: rgba(65,108,79,.055) !important;
}

.home-hero::after {
  right: 26% !important;
  top: 8% !important;
  width: 130px !important;
  height: 130px !important;
  background: rgba(239,16,24,.075) !important;
}

.home-hero__trust {
  margin-top: 28px !important;
}

.home-hero__trust span {
  background: rgba(255,255,255,.8) !important;
}

/* Three-step path: subtle line, not a stack of generic cards */
.impact-path {
  width: min(1240px, calc(100% - clamp(24px, 5vw, 80px))) !important;
  margin-top: 22px !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: hidden;
  border-radius: 22px !important;
  background: #fff !important;
}

.impact-path__item {
  min-height: 106px !important;
  border-radius: 0 !important;
  border-right: 1px solid var(--sf-line) !important;
  background: #fff !important;
}

.impact-path__item:last-child {
  border-right: 0 !important;
}

.impact-path__item:hover {
  transform: none !important;
  background: #f8faf8 !important;
}

.card-grid {
  counter-reset: sf-card;
}

.fundraiser-card {
  counter-increment: sf-card;
  border-color: var(--sf-line) !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(31,72,48,.03) !important;
}

.fundraiser-card::after {
  content: "0" counter(sf-card);
  position: absolute;
  right: 18px;
  top: 18px;
  z-index: 4;
  min-width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: rgba(255,255,255,.88);
  background: rgba(17,21,18,.32);
  backdrop-filter: blur(10px);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
}

.card-media {
  position: relative;
  overflow: hidden;
}

.card-media-fallback {
  padding: 26px !important;
  justify-content: flex-end !important;
}

.fundraiser-card:nth-child(2n) .card-media-fallback {
  background:
    radial-gradient(circle at 18% 78%, rgba(239,16,24,.13) 0 52px, transparent 53px),
    linear-gradient(145deg, #d8dfd7, #eef2ec 52%, #d6e1d8) !important;
}

.fundraiser-card:nth-child(2n) .card-media-fallback__kicker {
  color: #294c37 !important;
}

.fundraiser-card:nth-child(3n) .card-media-fallback {
  background:
    radial-gradient(circle at 78% 22%, rgba(255,255,255,.1) 0 66px, transparent 67px),
    linear-gradient(145deg, #304d3c, #1e372b 60%, #17271f) !important;
}

.card-media-fallback__kicker {
  position: relative;
}

.card-body {
  min-height: 320px !important;
  padding: 24px 24px 26px !important;
}

.card-body__topline {
  margin-bottom: 12px;
}

.card-body__badge {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border-radius: 999px;
  color: #3f654d;
  background: #f0f5f1;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .02em;
}

.card-body__badge::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--sf-green);
}

.fundraiser-card h3 {
  line-height: 1.02 !important;
}

.card-description {
  min-height: 3.2em !important;
  font-size: 14px !important;
}

.progress-labels {
  align-items: baseline !important;
}

.progress-labels strong,
.target strong,
.donation-panel-v2__goal strong,
.dashboard-meta dd {
  font-variant-numeric: tabular-nums;
}

.campaign-cover-wrap-v2 {
  position: relative;
  border-radius: 30px;
}

.donation-panel-v2 {
  top: calc(var(--ux-header-height, 66px) + var(--ux-module-nav-height, 58px) + 24px) !important;
  padding: 24px 24px 26px !important;
  overflow: hidden;
}

.donation-panel-v2::before {
  display: none !important;
}

.donation-panel-v2::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--sf-red) 0 58%, var(--sf-green) 58% 100%);
}

.donation-panel-v2__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.donation-panel-v2__head .eyebrow {
  margin: 0 !important;
}

.donation-panel-v2__verified {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  padding: 4px 9px;
  border-radius: 999px;
  color: #376146;
  background: #eef5f0;
  font-size: 10px;
  font-weight: 700;
}

.donation-panel-v2__goal {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin: 18px 0 20px;
  padding: 14px 0;
  border-top: 1px solid rgba(33,72,48,.09);
  border-bottom: 1px solid rgba(33,72,48,.09);
}

.donation-panel-v2__goal span {
  color: var(--sf-muted);
  font-size: 12px;
}

.donation-panel-v2__goal strong {
  font-size: 20px;
}

.section-other-campaigns {
  padding-top: clamp(64px, 7vw, 96px) !important;
}

/* Dashboard refinements */
body:has(.dashboard-list) .page-heading,
body:has(.dashboard-guide) .page-heading {
  width: min(1240px, calc(100% - clamp(24px, 5vw, 80px))) !important;
}

.dashboard-card {
  border-radius: 24px !important;
}

.dashboard-meta > div {
  background: #f7f9f7 !important;
}

@keyframes sf-mascot-ring {
  0%, 100% { transform: scale(.88); opacity: 0; }
  48% { opacity: .8; }
  80% { transform: scale(1.18); opacity: 0; }
}

@media (max-width: 1040px) {
  .home-hero {
    grid-template-columns: 1fr .72fr !important;
  }

  .home-hero__copy h1 {
    font-size: clamp(56px, 7vw, 78px) !important;
  }

  .campaign-detail__quick-trust {
    max-width: none;
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 960px) {
  .home-hero {
    grid-template-columns: 1fr !important;
  }

  .home-hero__aside {
    min-height: 330px;
  }

  .impact-path {
    border-radius: 20px !important;
  }

  .impact-path__item {
    border-right: 0 !important;
    border-bottom: 1px solid var(--sf-line) !important;
  }

  .impact-path__item:last-child {
    border-bottom: 0 !important;
  }

  .campaign-detail__grid-v2 {
    grid-template-columns: 1fr !important;
  }

  .donation-panel-v2 {
    position: relative !important;
    top: auto !important;
  }
}

@media (max-width: 680px) {
  .home-hero {
    width: calc(100% - 20px) !important;
    border-radius: 24px !important;
  }

  .home-hero__copy {
    padding: 38px 22px 34px !important;
  }

  .home-hero__copy h1 {
    font-size: clamp(44px, 14vw, 62px) !important;
  }

  .home-hero__aside {
    min-height: 300px;
    padding: 34px 24px !important;
  }

  .catalogue-heading,
  .catalogue-results,
  .campaign-detail-v2 {
    width: calc(100% - 24px) !important;
  }

  .catalogue-heading h1,
  .campaign-detail__headline h1 {
    font-size: clamp(42px, 13vw, 58px) !important;
  }

  .campaign-detail__quick-trust {
    grid-template-columns: 1fr;
  }

  .share-panel-v2 {
    grid-template-columns: 1fr !important;
  }

  .carnation-mascot {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .carnation-mascot::after {
    animation: none !important;
  }
}

/* source: art-direction-v3.css */
/* Art Direction V3 — cinematic philanthropy, story-first, calm motion. */

:root {
  --v3-red: #ef1018;
  --v3-red-deep: #c90c14;
  --v3-green: #416c4f;
  --v3-green-dark: #173e2c;
  --v3-green-deeper: #102e20;
  --v3-cream: #f8f4ed;
  --v3-ink: #151715;
  --v3-muted: #6e756f;
  --v3-line: rgba(23, 62, 44, .13);
  --v3-shadow: 0 28px 80px rgba(23, 62, 44, .12);
  --v3-ease: cubic-bezier(.22, 1, .36, 1);
}

/* --- Cinematic home hero ------------------------------------------------ */
.hero-v3 {
  width: min(1380px, calc(100% - clamp(24px, 5vw, 76px)));
  min-height: clamp(620px, 72vh, 790px);
  margin: clamp(28px, 4vw, 60px) auto 24px;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(380px, .94fr);
  overflow: hidden;
  border: 1px solid rgba(23,62,44,.12);
  border-radius: 42px;
  background: var(--v3-cream);
  box-shadow: 0 34px 110px rgba(23,62,44,.10);
}

.hero-v3__copy {
  position: relative;
  z-index: 3;
  padding: clamp(58px, 7vw, 102px) clamp(34px, 6vw, 88px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 14% 12%, rgba(239,16,24,.055), transparent 18rem),
    linear-gradient(135deg, #fbf8f2 0%, #f8f4ed 60%, #f2eee8 100%);
}

.hero-v3__copy::after {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  left: -92px;
  bottom: 58px;
  border-radius: 58% 42% 64% 36% / 48% 61% 39% 52%;
  background: rgba(65,108,79,.055);
  transform: rotate(18deg);
  pointer-events: none;
}

.hero-v3 .eyebrow {
  margin-bottom: 22px !important;
}

.hero-v3 h1 {
  margin: 0;
  max-width: 840px;
  font-size: clamp(58px, 6.4vw, 96px) !important;
  line-height: .88 !important;
  letter-spacing: -.06em !important;
  color: var(--v3-ink) !important;
}

.hero-v3 h1 span {
  display: block;
  color: var(--v3-green-dark);
}

.hero-v3__stage {
  --stage-x: 0px;
  --stage-y: 0px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(34px, 4vw, 56px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: #fff;
  background:
    radial-gradient(circle at calc(74% + var(--stage-x)) calc(18% + var(--stage-y)), rgba(255,255,255,.08), transparent 11rem),
    radial-gradient(circle at calc(18% + var(--stage-x)) calc(84% + var(--stage-y)), rgba(239,16,24,.20), transparent 17rem),
    linear-gradient(145deg, #224e38 0%, #173e2c 48%, #102e20 100%);
}

.hero-v3__stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: .22;
  background-image: radial-gradient(rgba(255,255,255,.32) .6px, transparent .6px);
  background-size: 22px 22px;
  mask-image: linear-gradient(150deg, #000, transparent 76%);
}

.hero-v3__stage::after {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -170px;
  bottom: -150px;
  z-index: -2;
  border: 48px solid rgba(255,255,255,.055);
  border-radius: 50%;
}

@keyframes petalBreath {
  from { filter: saturate(.92); scale: .98; }
  to { filter: saturate(1.08); scale: 1.035; }
}

@keyframes heroHalo {
  from { transform: translate3d(0,0,0) scale(.96); }
  to { transform: translate3d(10px,-8px,0) scale(1.08); }
}

@keyframes cardFloat {
  from { transform: translateY(0); }
  to { transform: translateY(-8px); }
}

/* --- Campaign cards: photographic-first --------------------------------- */
.fundraiser-card {
  border-radius: 26px !important;
}

.card-media {
  aspect-ratio: 5 / 4 !important;
  background: #edf3ee !important;
}

.card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.card-media-fallback {
  position: relative;
  min-height: 100%;
  overflow: hidden;
}

.card-media-fallback::after {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  right: -24px;
  bottom: -22px;
  border-radius: 58% 42% 64% 36% / 42% 64% 36% 58%;
  background: rgba(239,16,24,.16);
  transform: rotate(20deg);
}

.card-media-fallback__kicker {
  left: 24px;
  top: 24px;
  z-index: 2;
  text-transform: uppercase;
}

.card-body__badge {
  border: 1px solid rgba(65,108,79,.10);
  background: #f2f7f3 !important;
}

.fundraiser-card h3 {
  font-size: clamp(22px, 2.1vw, 28px) !important;
}

.fundraiser-card:hover {
  transform: translateY(-10px) rotateX(.35deg) !important;
  box-shadow: 0 26px 70px rgba(23,62,44,.12) !important;
}

/* --- Create CTA ---------------------------------------------------------- */
.home-create-v3 {
  width: min(1240px, calc(100% - clamp(24px, 6vw, 96px)));
  margin: 0 auto clamp(70px, 8vw, 118px);
  padding: clamp(40px, 5vw, 66px);
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 34px;
  overflow: hidden;
  border-radius: 32px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 18%, rgba(239,16,24,.25), transparent 13rem),
    linear-gradient(135deg, #214b36, #173e2c 62%, #102e20);
  box-shadow: 0 26px 74px rgba(23,62,44,.14);
}

.home-create-v3 .eyebrow { color: rgba(255,255,255,.68) !important; }
.home-create-v3 .eyebrow::before { background: #ff3038 !important; }
.home-create-v3 h2 {
  max-width: 820px;
  margin: 0;
  color: #fff !important;
  font-size: clamp(34px, 4vw, 56px) !important;
  line-height: 1.02 !important;
}
.home-create-v3 p:not(.eyebrow) {
  max-width: 760px;
  margin: 14px 0 0;
  color: rgba(255,255,255,.68);
}
.home-create-v3 .button {
  min-height: 52px;
  white-space: nowrap;
  box-shadow: 0 14px 34px rgba(239,16,24,.22) !important;
}

.campaign-cover-wrap-v2 {
  border-radius: 32px !important;
  overflow: hidden;
  background: #edf2ed;
  box-shadow: 0 28px 76px rgba(23,62,44,.11);
}

.donation-panel-v2 {
  border-radius: 28px !important;
  box-shadow: 0 28px 82px rgba(23,62,44,.13) !important;
}

.donation-panel-v2__head {
  align-items: center;
}

.donation-submit {
  min-height: 56px !important;
}

.carnation-assistant__trigger {
  animation: assistantIntro 700ms var(--v3-ease) both;
}

.carnation-assistant__trigger::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  right: 10px;
  top: 8px;
  border-radius: 50%;
  background: var(--v3-red);
  box-shadow: 0 0 0 0 rgba(239,16,24,.2);
  animation: assistantPulse 2.8s ease-out 1.1s 2;
}

.carnation-assistant__panel {
  border-radius: 24px !important;
}

@keyframes assistantIntro {
  from { opacity: 0; transform: translateY(14px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes assistantPulse {
  0% { box-shadow: 0 0 0 0 rgba(239,16,24,.22); }
  70% { box-shadow: 0 0 0 10px rgba(239,16,24,0); }
  100% { box-shadow: 0 0 0 0 rgba(239,16,24,0); }
}

/* --- Responsive ---------------------------------------------------------- */
@media (max-width: 1040px) {
  .hero-v3 {
    grid-template-columns: 1fr;
  }
  .hero-v3__stage {
    min-height: 520px;
  }
  .hero-carnation {
    width: min(62%, 420px);
  }
  .home-create-v3 {
    grid-template-columns: 1fr;
  }
  .campaign-detail__header-v2 {
    grid-template-columns: 1fr;
  }
  .campaign-detail__quick-trust {
    justify-items: start;
  }
}

@media (max-width: 680px) {
  .hero-v3 {
    width: calc(100% - 24px);
    min-height: 0;
    margin-top: 18px;
    border-radius: 28px;
  }
  .hero-v3__copy {
    padding: 42px 22px;
  }
  .hero-v3 h1 {
    font-size: clamp(48px, 14vw, 66px) !important;
  }
  .hero-v3__actions .button {
    width: 100%;
    justify-content: center;
  }
  .hero-v3__trust {
    display: grid;
  }
  .hero-v3__stage {
    min-height: 430px;
    padding: 28px 22px;
  }
  .hero-carnation {
    width: 78%;
    right: -4%;
  }
  .hero-v3__floating-card {
    display: none;
  }
  .hero-v3__stage-copy strong {
    font-size: 34px;
  }
  .home-create-v3 {
    width: calc(100% - 24px);
    padding: 34px 24px;
    border-radius: 26px;
  }
  .home-create-v3 .button {
    width: 100%;
    justify-content: center;
  }
  .campaign-cover-v2,
  .campaign-cover-fallback-v2 {
    min-height: 360px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-v3__halo,
  .hero-carnation__petal,
  .hero-v3__floating-card,
  .carnation-assistant__trigger::after {
    animation: none !important;
  }
  .hero-carnation {
    transform: none !important;
  }
}

/* source: art-direction-v4.css */
/*
 * Art Direction V4 — Editorial Impact.
 * Built from the project UI/UX Pro Max rules: content-first hierarchy,
 * 44px+ targets, restrained motion, no text over faces, responsive by default.
 */

:root {
  --v4-red: #ef1018;
  --v4-red-dark: #c90b12;
  --v4-green: #416c4f;
  --v4-green-strong: #28533a;
  --v4-green-deep: #123323;
  --v4-green-black: #0a2418;
  --v4-ink: #101411;
  --v4-muted: #68716a;
  --v4-paper: #ffffff;
  --v4-ivory: #f7f3ec;
  --v4-mist: #eef4ef;
  --v4-line: rgba(18, 51, 35, .12);
  --v4-line-strong: rgba(18, 51, 35, .22);
  --v4-shadow: 0 22px 60px rgba(20, 48, 33, .10);
  --v4-shadow-strong: 0 36px 100px rgba(20, 48, 33, .16);
  --v4-radius-xl: 36px;
  --v4-radius-lg: 26px;
  --v4-radius-md: 18px;
  --v4-ease: cubic-bezier(.22, 1, .36, 1);
}

/* ----------------------------------------------------------------------
   V4 HERO — impact board, not a decorative flower
   ---------------------------------------------------------------------- */
.hero-v4 {
  width: min(1420px, calc(100% - clamp(24px, 5vw, 78px)));
  min-height: clamp(620px, 74vh, 800px);
  margin: clamp(28px, 4vw, 64px) auto 0;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  overflow: hidden;
  border: 1px solid var(--v4-line);
  border-radius: var(--v4-radius-xl);
  background: var(--v4-ivory);
  box-shadow: var(--v4-shadow-strong);
}

.hero-v4__copy {
  position: relative;
  z-index: 2;
  padding: clamp(58px, 7vw, 104px) clamp(34px, 6vw, 92px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    linear-gradient(135deg, rgba(255,255,255,.48), transparent 48%),
    var(--v4-ivory);
}

.hero-v4__copy::after {
  content: "";
  position: absolute;
  left: -90px;
  bottom: 30px;
  width: 230px;
  height: 230px;
  border: 36px solid rgba(65,108,79,.055);
  border-radius: 50%;
  pointer-events: none;
}

.hero-v4__copy .eyebrow {
  margin-bottom: 22px !important;
}

.hero-v4 h1 {
  max-width: 850px;
  margin: 0;
  color: var(--v4-ink) !important;
  font-size: clamp(58px, 6.7vw, 98px) !important;
  line-height: .9 !important;
  letter-spacing: -.06em !important;
  text-wrap: balance;
}

.hero-v4 h1 span {
  display: block;
  color: var(--v4-green-deep);
}

.hero-v4__lead {
  max-width: 700px;
  margin: 28px 0 0;
  color: #5e665f;
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.62;
}

.hero-v4__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.hero-v4__actions .button {
  padding-inline: 26px !important;
}

.hero-v4__secondary {
  border: 1px solid rgba(18,51,35,.22) !important;
  color: var(--v4-green-deep) !important;
  background: rgba(255,255,255,.25) !important;
}

.hero-v4__microproof {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  gap: 12px 26px;
  margin-top: 34px;
}

.hero-v4__microproof div {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  color: var(--v4-muted);
  font-size: 12px;
  line-height: 1.35;
}

.hero-v4__microproof i {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--v4-green);
  background: rgba(65,108,79,.08);
  font-style: normal;
  font-weight: 700;
}

.impact-board {
  --impact-x: 0px;
  --impact-y: 0px;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(34px, 4vw, 58px);
  color: #fff;
  background:
    radial-gradient(circle at calc(75% + var(--impact-x)) calc(12% + var(--impact-y)), rgba(239,16,24,.22), transparent 12rem),
    radial-gradient(circle at calc(18% + var(--impact-x)) calc(92% + var(--impact-y)), rgba(104,157,122,.18), transparent 18rem),
    linear-gradient(145deg, #1f5138 0%, #123323 52%, #092217 100%);
}

.impact-board::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: .17;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(150deg, rgba(0,0,0,.92), transparent 80%);
}

.impact-board::after {
  content: "";
  position: absolute;
  z-index: -2;
  right: -110px;
  bottom: -140px;
  border: 54px solid rgba(255,255,255,.05);
  border-radius: 50%;
}

.impact-board__topline {
  display: flex;
  justify-content: space-between;
  color: rgba(255,255,255,.62);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.impact-board__live {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.impact-board__metric {
  margin-top: clamp(44px, 6vw, 76px);
}

.impact-board__metric strong {
  color: #fff;
  font-size: clamp(74px, 8.3vw, 126px);
  font-weight: 700;
  line-height: .78;
  letter-spacing: -.07em;
}

.impact-board__metric span {
  color: rgba(255,255,255,.7);
  font-size: 15px;
  line-height: 1.5;
}

.impact-board__stories {
  position: relative;
  margin-top: clamp(46px, 6vw, 76px);
  min-height: 210px;
}

.impact-story {
  position: absolute;
  left: 0;
  right: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
  min-height: 88px;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  color: #fff !important;
  text-decoration: none !important;
  background: rgba(255,255,255,.08);
  box-shadow: 0 18px 48px rgba(0,0,0,.12);
  backdrop-filter: blur(15px) saturate(125%);
  transform-origin: center;
  transition: transform .34s var(--v4-ease), background-color .25s ease, border-color .25s ease;
}

.impact-story:nth-child(1) { top: 0; transform: translate3d(0,0,0) rotate(-1deg); z-index: 3; }
.impact-story:nth-child(2) { top: 62px; transform: translate3d(20px,0,0) rotate(1.4deg) scale(.96); z-index: 2; opacity: .92; }
.impact-story:nth-child(3) { top: 122px; transform: translate3d(8px,0,0) rotate(-.8deg) scale(.92); z-index: 1; opacity: .78; }

.impact-story:hover,
.impact-story:focus-visible {
  z-index: 7;
  transform: translate3d(0,-7px,0) rotate(0) scale(1.025);
  border-color: rgba(255,255,255,.26);
  background: rgba(255,255,255,.13);
}

.impact-story__copy strong,
.impact-story__copy span {
  display: block;
}

.impact-story__copy strong {
  color: #fff;
  font-size: 15px;
  line-height: 1.2;
}

.impact-story__copy span {
  margin-top: 6px;
  color: rgba(255,255,255,.58);
  font-size: 11px;
}

.impact-story__arrow {
  font-size: 18px;
}

/* ----------------------------------------------------------------------
   Process strip
   ---------------------------------------------------------------------- */
.v4-process {
  width: min(1320px, calc(100% - clamp(24px, 6vw, 96px)));
  margin: -18px auto 0;
  position: relative;
  z-index: 8;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--v4-line);
  border-radius: 24px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 20px 60px rgba(20,48,33,.08);
  backdrop-filter: blur(16px);
}

.v4-process__item {
  position: relative;
  min-height: 126px;
  padding: 24px 26px 22px 74px;
}

.v4-process__item + .v4-process__item {
  border-left: 1px solid var(--v4-line);
}

.v4-process h3 {
  margin: 0;
  color: var(--v4-ink);
  font-size: 17px;
  line-height: 1.2;
}

.v4-process p {
  margin: 9px 0 0;
  color: var(--v4-muted);
  font-size: 12.5px;
  line-height: 1.45;
}

.home-campaigns-v4 .section-heading {
  align-items: end !important;
}

.home-campaigns-v4 .section-heading h2 {
  font-size: clamp(48px, 5.5vw, 80px) !important;
}

.home-bento {
  display: grid;
  grid-template-columns: 1.35fr .8fr .8fr;
  gap: 22px;
}

.home-bento .fundraiser-card {
  height: 100%;
}

.home-bento .fundraiser-card--featured {
  grid-row: span 1;
}

.home-bento .fundraiser-card--featured .card-media {
  aspect-ratio: 16 / 11 !important;
}

.home-bento .fundraiser-card--featured .card-body {
  min-height: 310px;
}

.home-bento .fundraiser-card--featured h3 {
  font-size: clamp(27px, 2.5vw, 35px) !important;
}

/* ----------------------------------------------------------------------
   Campaign card V4
   ---------------------------------------------------------------------- */
.fundraiser-card-v4 {
  position: relative;
  overflow: hidden;
}

.fundraiser-card-v4 .card-media {
  position: relative;
  aspect-ratio: 4 / 3 !important;
  background: var(--v4-green-deep) !important;
}

.fundraiser-card-v4 .card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fundraiser-card-v4 .card-media-fallback {
  position: relative;
  min-height: 100%;
  display: block !important;
  background:
    radial-gradient(circle at 78% 18%, rgba(255,255,255,.10) 0 50px, transparent 51px),
    linear-gradient(145deg, #527a60, #2b5a3d 55%, #143425) !important;
}

.fundraiser-card-v4 .card-media-fallback::before {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  left: 8%;
  bottom: -24px;
  border: 22px solid rgba(255,255,255,.055);
  border-radius: 50%;
}

.fundraiser-card-v4 .card-media-fallback::after {
  content: "";
  position: absolute;
  right: 11%;
  top: 17%;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: rgba(239,16,24,.8);
  box-shadow: -24px 25px 0 rgba(239,16,24,.22), 21px 31px 0 rgba(255,255,255,.06);
}

.fundraiser-card-v4:nth-child(3n + 2) .card-media-fallback {
  background:
    radial-gradient(circle at 20% 78%, rgba(239,16,24,.13), transparent 9rem),
    linear-gradient(145deg, #f4f0e8, #e7eee8) !important;
}

.fundraiser-card-v4:nth-child(3n + 2) .card-media-fallback::after {
  background: var(--v4-red);
  box-shadow: 26px -15px 0 rgba(65,108,79,.20), 44px 32px 0 rgba(18,51,35,.10);
}

.fundraiser-card-v4:nth-child(3n + 3) .card-media-fallback {
  background:
    linear-gradient(115deg, transparent 0 58%, rgba(255,255,255,.06) 58% 60%, transparent 60%),
    linear-gradient(145deg, #102e20, #071c13) !important;
}

.fundraiser-card-v4 .card-media-fallback__kicker {
  position: absolute;
  left: 24px;
  top: 24px;
  z-index: 3;
  color: rgba(255,255,255,.68) !important;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.fundraiser-card-v4:nth-child(3n + 2) .card-media-fallback__kicker {
  color: var(--v4-green-deep) !important;
}

.fundraiser-card-v4 .card-body {
  min-height: 340px;
  display: flex;
  flex-direction: column;
}

.fundraiser-card-v4 .card-body__topline {
  margin-bottom: 14px;
}

.fundraiser-card-v4 .card-body__badge {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--v4-green-strong);
  background: var(--v4-mist);
  font-size: 10px;
  font-weight: 700;
}

.fundraiser-card-v4 .card-body__badge::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--v4-green);
}

.fundraiser-card-v4 h3 {
  color: var(--v4-ink);
}

.fundraiser-card-v4 .card-description {
  min-height: 3em;
}

.fundraiser-card-v4 .progress {
  margin-top: auto !important;
}

.fundraiser-card-v4 .target {
  margin-top: 18px !important;
}

/* ----------------------------------------------------------------------
   Catalogue V4
   ---------------------------------------------------------------------- */
.catalogue-v4 {
  width: min(1240px, calc(100% - clamp(24px, 6vw, 96px)));
  margin: 0 auto;
}

.catalogue-v4__head {
  min-height: 330px;
  padding: clamp(58px, 7vw, 98px) 0 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
  gap: 50px;
  align-items: end;
}

.catalogue-v4__head h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(58px, 7vw, 92px) !important;
  line-height: .9 !important;
  letter-spacing: -.06em !important;
}

.catalogue-v4__intro {
  max-width: 620px;
  margin: 24px 0 0;
  color: var(--v4-muted);
  font-size: 17px;
  line-height: 1.55;
}

.catalogue-v4__aside {
  padding: 24px;
  border-top: 4px solid var(--v4-red);
  border-radius: 0 0 18px 18px;
  background: linear-gradient(145deg, #f7faf8, #edf4ef);
}

.catalogue-v4__aside strong {
  display: block;
  color: var(--v4-green-deep);
  font-size: 36px;
  line-height: 1;
  letter-spacing: -.04em;
}

.catalogue-v4__aside span {
  display: block;
  margin-top: 8px;
  color: var(--v4-muted);
  font-size: 12px;
  line-height: 1.45;
}

.catalogue-v4__actions {
  margin-top: 18px;
}

.catalogue-v4__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--v4-line);
}

.catalogue-v4__trust span {
  padding: 8px 12px;
  gap: 8px;
  color: var(--v4-muted);
  font-size: 11px;
}

.catalogue-v4__results {
  padding: 44px 0 84px;
}

.catalogue-v4__results .card-grid {
  gap: 24px !important;
}

/* ----------------------------------------------------------------------
   Campaign detail V4
   ---------------------------------------------------------------------- */
.campaign-v4 {
  width: min(1260px, calc(100% - clamp(24px, 6vw, 96px)));
  margin: 0 auto;
  padding-top: clamp(60px, 7vw, 102px);
}

.campaign-v4__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 50px;
  align-items: end;
  padding-bottom: 42px;
}

.campaign-v4__header h1 {
  max-width: 900px;
  margin: 0;
  letter-spacing: -.055em !important;
}

.campaign-v4__author {
  margin: 22px 0 0;
  color: var(--v4-muted);
  font-size: 15px;
}

.campaign-v4__author strong {
  color: var(--v4-ink);
}

.campaign-v4__header-meta {
  display: grid;
  gap: 12px;
  padding: 22px;
  border-top: 4px solid var(--v4-green);
  border-radius: 0 0 18px 18px;
  background: #f4f8f5;
}

.campaign-v4__header-meta span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--v4-muted);
  font-size: 12px;
}

.campaign-v4__header-meta span::before {
  content: "✓";
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--v4-green);
  font-size: 10px;
  font-weight: 700;
}

.campaign-v4__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, .58fr);
  gap: clamp(34px, 5vw, 64px);
  align-items: start;
}

.campaign-v4__story {
  min-width: 0;
}

.campaign-v4__cover {
  position: relative;
  overflow: hidden;
  min-height: clamp(440px, 48vw, 620px);
  border-radius: 32px;
  background: var(--v4-green-deep);
  box-shadow: var(--v4-shadow);
}

.campaign-v4__cover img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
  object-fit: cover;
  object-position: center;
}

.campaign-v4__fallback {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 74% 18%, rgba(239,16,24,.22), transparent 10rem),
    radial-gradient(circle at 15% 82%, rgba(255,255,255,.08), transparent 12rem),
    linear-gradient(145deg, #315f45, #153827 55%, #091f15);
}

.campaign-v4__fallback::before {
  content: "";
  position: absolute;
  right: 9%;
  top: 13%;
  width: 210px;
  height: 210px;
  border: 34px solid rgba(255,255,255,.06);
  border-radius: 50%;
}

.campaign-v4__fallback::after {
  content: "";
  position: absolute;
  left: 12%;
  bottom: 12%;
  width: 82px;
  height: 82px;
  border-radius: 50%;
  background: var(--v4-red);
  box-shadow: 42px 34px 0 rgba(239,16,24,.24), -28px 45px 0 rgba(255,255,255,.06);
}

.campaign-v4__cover-caption {
  position: absolute;
  left: 22px;
  bottom: 22px;
  z-index: 3;
  max-width: 330px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  color: rgba(255,255,255,.72);
  background: rgba(9,31,21,.46);
  font-size: 11px;
  line-height: 1.4;
  backdrop-filter: blur(12px);
}

.campaign-v4__story-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 18px;
}

.campaign-v4__story-meta div {
  min-height: 86px;
  padding: 15px 16px;
  border: 1px solid var(--v4-line);
  border-radius: 16px;
  background: #f8faf8;
}

.campaign-v4__story-meta span,
.campaign-v4__story-meta strong {
  display: block;
}

.campaign-v4__story-meta span {
  color: var(--v4-muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.campaign-v4__story-meta strong {
  margin-top: 8px;
  color: var(--v4-ink);
  font-size: 15px;
}

.campaign-v4__content {
  padding: clamp(44px, 5vw, 72px) 0 0;
}

.campaign-v4__content h2 {
  margin: 0;
  font-size: clamp(38px, 4.3vw, 58px) !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
}

.campaign-v4__content .description {
  margin-top: 24px;
  max-width: 820px;
  color: #4f5851 !important;
  font-size: clamp(16px, 1.45vw, 19px) !important;
  line-height: 1.72 !important;
}

.campaign-v4__donation {
  position: sticky !important;
  top: calc(var(--ux-header-height, 66px) + var(--ux-module-nav-height, 58px) + 20px) !important;
  overflow: hidden;
  padding: 0 26px 28px !important;
  border: 1px solid var(--v4-line) !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: var(--v4-shadow) !important;
}

.campaign-v4__donation::before {
  content: "";
  display: block;
  height: 7px;
  margin: 0 -27px 24px;
  background: linear-gradient(90deg, var(--v4-red) 0 46%, var(--v4-green) 46% 100%);
}

.campaign-v4__donation .donation-panel-v2__head {
  margin-bottom: 18px;
}

.campaign-v4__donation .donation-submit {
  min-height: 54px !important;
  box-shadow: 0 14px 30px rgba(239,16,24,.18);
}

.carnation-assistant__trigger {
  min-height: 52px !important;
  border-radius: 999px !important;
  box-shadow: 0 16px 42px rgba(20,48,33,.14) !important;
}

.carnation-assistant__mark {
  animation: v4AssistantPulse 4.5s ease-in-out infinite;
}

@keyframes v4AssistantPulse {
  0%, 76%, 100% { transform: scale(1); }
  84% { transform: scale(1.08) rotate(-4deg); }
  92% { transform: scale(1.02) rotate(3deg); }
}

/* ----------------------------------------------------------------------
   top scroll indicator
   ---------------------------------------------------------------------- */
.v4-scroll-progress {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 2200;
  width: 100%;
  height: 3px;
  pointer-events: none;
  transform-origin: left center;
  transform: scaleX(0);
  background: linear-gradient(90deg, var(--v4-red), #b5162b 45%, var(--v4-green) 70%, var(--v4-green-deep));
}

/* ----------------------------------------------------------------------
   reveal system
   ---------------------------------------------------------------------- */
.v4-js .v4-reveal {
  opacity: 0;
  transform: translateY(24px);
}

.v4-js .v4-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .72s var(--v4-ease), transform .72s var(--v4-ease);
}

.v4-js .v4-reveal[data-v4-delay="1"].is-visible { transition-delay: .06s; }
.v4-js .v4-reveal[data-v4-delay="2"].is-visible { transition-delay: .12s; }
.v4-js .v4-reveal[data-v4-delay="3"].is-visible { transition-delay: .18s; }

/* ----------------------------------------------------------------------
   Responsive
   ---------------------------------------------------------------------- */
@media (max-width: 1100px) {
  .hero-v4 {
    grid-template-columns: minmax(0, 1fr) 410px;
  }

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

  .home-bento .fundraiser-card--featured {
    grid-column: 1 / -1;
  }

  .campaign-v4__grid {
    grid-template-columns: minmax(0, 1fr) 340px;
  }
}

@media (max-width: 900px) {
  .hero-v4 {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .impact-board {
    min-height: 620px;
  }

  .v4-process {
    grid-template-columns: 1fr;
    margin-top: 18px;
  }

  .v4-process__item + .v4-process__item {
    border-left: 0;
    border-top: 1px solid var(--v4-line);
  }

  .catalogue-v4__head,
  .campaign-v4__header {
    grid-template-columns: 1fr;
  }

  .catalogue-v4__aside,
  .campaign-v4__header-meta {
    max-width: 520px;
  }

  .campaign-v4__grid {
    grid-template-columns: 1fr;
  }

  .campaign-v4__donation {
    position: relative !important;
    top: auto !important;
  }
}

@media (max-width: 680px) {
  .hero-v4,
  .v4-process,
  .catalogue-v4,
  .campaign-v4 {
    width: min(100% - 24px, 100%);
  }

  .hero-v4 {
    margin-top: 18px;
    border-radius: 26px;
  }

  .hero-v4__copy {
    padding: 42px 22px 44px;
  }

  .hero-v4 h1,
  .catalogue-v4__head h1,
  .campaign-v4__header h1 {
    font-size: clamp(46px, 14vw, 64px) !important;
  }

  .hero-v4__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hero-v4__actions .button {
    width: 100%;
    justify-content: center;
  }

  .hero-v4__microproof {
    grid-template-columns: 1fr;
  }

  .impact-board {
    min-height: 560px;
    padding: 28px 22px;
  }

  .impact-board__metric strong {
    font-size: clamp(72px, 23vw, 102px);
  }

  .impact-board__stories {
    min-height: 220px;
  }

  .impact-story:nth-child(2) { transform: translate3d(6px,0,0) rotate(1deg) scale(.97); }
  .impact-story:nth-child(3) { transform: translate3d(0,0,0) rotate(-.5deg) scale(.94); }

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

  .home-bento .fundraiser-card--featured {
    grid-column: auto;
  }

  .catalogue-v4__head {
    min-height: 0;
    padding-top: 52px;
  }

  .catalogue-v4__results {
    padding-top: 30px;
  }

  .campaign-v4 {
    padding-top: 52px;
  }

  .campaign-v4__cover {
    min-height: 360px;
    border-radius: 22px;
  }

  .campaign-v4__story-meta {
    grid-template-columns: 1fr;
  }

  .campaign-v4__donation {
    padding-inline: 18px !important;
  }

  .campaign-v4__donation::before {
    margin-inline: -19px;
  }

  .carnation-assistant {
    right: 10px !important;
    bottom: 10px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .v4-js .v4-reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  .carnation-assistant__mark {
    animation: none !important;
  }

  .impact-story,
  .fundraiser-card-v4,
  .fundraiser-card-v4 .card-media img {
    transition-duration: .01ms !important;
  }
}

/* source: v4-hotfix.css */
/* Presentation hotfixes: keep every V4 content block on one shared grid. */
:root {
  --v4-shell-width: 1240px;
  --v4-shell-gutter: clamp(20px, 4vw, 48px);
}

.catalogue-v4,
.home-campaigns-v4,
.home-create-v3,
.author-callout,
.section-other-campaigns-v4 {
  width: min(var(--v4-shell-width), calc(100% - (var(--v4-shell-gutter) * 2))) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

.catalogue-v4__head {
  column-gap: clamp(44px, 7vw, 100px) !important;
}

.catalogue-v4__head > div,
.catalogue-v4__aside,
.catalogue-v4__results,
.catalogue-v4__results .card-grid {
  min-width: 0;
}

.catalogue-v4__aside {
  width: 100%;
  box-sizing: border-box;
}

.catalogue-v4__results .card-grid {
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.catalogue-v4__results .fundraiser-card-v4 {
  width: 100%;
  min-width: 0;
}

.author-callout,
.home-create-v3 {
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: clamp(28px, 6vw, 72px) !important;
}

.catalogue-v4 .empty-state {
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 980px) {
  .catalogue-v4__head {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    min-height: 0 !important;
    align-items: start !important;
  }

  .catalogue-v4__aside {
    max-width: 520px;
  }

  .catalogue-v4__results .card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  :root {
    --v4-shell-gutter: 16px;
  }

  .catalogue-v4__results .card-grid {
    grid-template-columns: 1fr !important;
  }

  .author-callout,
  .home-create-v3 {
    grid-template-columns: 1fr !important;
    row-gap: 22px !important;
  }

  .author-callout .button,
  .home-create-v3 .button {
    width: 100%;
    justify-content: center;
  }
}

/* source: ui-stability-v5.css */
/* V5 UI stability + interaction layer.
 * Loaded last on purpose: fixes legacy cascade collisions without rewriting old layers.
 */

:root {
  --v5-page: 1280px;
  --v5-gutter: clamp(16px, 3vw, 36px);
  --v5-radius: 24px;
  --v5-line: rgba(18, 51, 35, .12);
  --v5-shadow: 0 20px 60px rgba(20, 48, 33, .10);
  --v5-ease: cubic-bezier(.22, 1, .36, 1);
}

/* ---------- One geometry for all principal blocks ---------- */
.hero-v4,
.v4-process,
.home-campaigns-v4,
.home-create-v3,
.catalogue-v4,
.campaign-v4,
.section-other-campaigns-v4,
.author-callout {
  width: min(var(--v5-page), calc(100% - (var(--v5-gutter) * 2))) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

.hero-v4 {
  align-items: stretch;
}

.hero-v4__copy,
.impact-board {
  min-width: 0;
}

/* Right hero stories: real stack, never card-on-card. */
.impact-board {
  padding-bottom: 92px !important;
}

.impact-story,
.impact-story:nth-child(1),
.impact-story:nth-child(2),
.impact-story:nth-child(3) {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  min-height: 70px !important;
  opacity: 1 !important;
  transform: none !important;
  rotate: none !important;
  margin: 0 !important;
}

.home-bento .fundraiser-card--featured .card-media,
.home-bento .fundraiser-card .card-media {
  aspect-ratio: 4 / 3 !important;
}

.home-bento .fundraiser-card--featured .card-body,
.home-bento .fundraiser-card .card-body {
  min-height: 340px !important;
}

.home-bento .fundraiser-card--featured h3,
.home-bento .fundraiser-card h3 {
  font-size: clamp(22px, 2vw, 28px) !important;
}

.catalogue-v5--compact .fundraiser-card-v4 .card-media {
  height: 100% !important;
  min-height: 300px !important;
  aspect-ratio: auto !important;
}

.catalogue-v5--compact .fundraiser-card-v4 .card-body {
  min-height: 300px !important;
}

/* Card micro-interactions. */
.fundraiser-card-v4 {
  transform: translateZ(0);
}

.fundraiser-card-v4::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle at 50% 0%, rgba(239,16,24,.06), transparent 42%);
  transition: opacity .3s ease;
}

.fundraiser-card-v4:hover::after {
  opacity: 1;
}

.fundraiser-card-v4 .progress-fill {
  transition: width .7s var(--v5-ease), filter .25s ease;
}

.fundraiser-card-v4:hover .progress-fill {
  filter: saturate(1.15) brightness(1.03);
}

.fundraiser-card-v4 .actions .button {
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.fundraiser-card-v4 .actions .button:hover {
  transform: translateY(-2px);
}

/* Scroll reveal, only after JS marks the page ready. */
.v5-motion-ready [data-v5-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s var(--v5-ease), transform .6s var(--v5-ease);
}

.v5-motion-ready [data-v5-reveal].is-visible {
  opacity: 1;
  transform: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .hero-v4 {
    grid-template-columns: 1fr !important;
  }

  .impact-board {
    min-height: 560px;
  }

  .home-bento,
  .catalogue-v4__results .card-grid,
  .section-other-campaigns-v4 .card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .catalogue-v5__toolbar {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 780px) {
  .hero-v4,
  .v4-process,
  .home-campaigns-v4,
  .home-create-v3,
  .catalogue-v4,
  .campaign-v4,
  .section-other-campaigns-v4,
  .author-callout {
    width: min(100% - 24px, var(--v5-page)) !important;
  }

  .v4-process {
    grid-template-columns: 1fr !important;
  }

  .v4-process__item + .v4-process__item {
    border-left: 0 !important;
    border-top: 1px solid var(--v5-line) !important;
  }

  .catalogue-v4__head {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    padding-top: 48px !important;
  }

  .catalogue-v5__toolbar {
    grid-template-columns: 1fr !important;
  }

  .catalogue-v5__summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .home-bento,
  .catalogue-v4__results .card-grid,
  .section-other-campaigns-v4 .card-grid {
    grid-template-columns: 1fr !important;
  }

  .catalogue-v5--compact .fundraiser-card-v4 {
    grid-template-columns: 1fr !important;
  }

  .catalogue-v5--compact .fundraiser-card-v4 .card-media {
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fundraiser-card-v4,
  .fundraiser-card-v4 *,
  [data-v5-reveal] {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* source: ui-v6.css */
/* V6 — single authoritative visual layer loaded last.
 * Goal: remove layout collisions, unify widths, add premium interaction without circus.
 */
:root {
  --ui-page: 1280px;
  --ui-gutter: clamp(16px, 3.2vw, 44px);
  --ui-red: #ef1018;
  --ui-green: #416c4f;
  --ui-green-deep: #123323;
  --ui-ink: #151716;
  --ui-muted: #707971;
  --ui-line: rgba(18, 51, 35, .12);
  --ui-surface: #f7faf8;
  --ui-ease: cubic-bezier(.22, 1, .36, 1);
  --ui-shadow: 0 26px 80px rgba(18, 51, 35, .11);
}

/* ---------- Global geometry: one width, one rhythm ---------- */
.hero-v4,
.v4-process,
.home-campaigns-v4,
.home-create-v3,
.catalogue-v4,
.campaign-v4,
.section-other-campaigns-v4,
.author-callout,
.foundation-footer__inner {
  width: min(var(--ui-page), calc(100% - (var(--ui-gutter) * 2))) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* ---------- Homepage hero ---------- */
.hero-v4 {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr) !important;
  gap: 0 !important;
  min-height: 690px !important;
  margin-top: clamp(32px, 4vw, 58px) !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(18, 51, 35, .12) !important;
  border-radius: 34px !important;
  background: #f7f3ec !important;
  box-shadow: var(--ui-shadow) !important;
  isolation: isolate;
}

.hero-v4::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, rgba(255,255,255,.2), transparent 36%),
    radial-gradient(circle at 15% 85%, rgba(65,108,79,.07), transparent 18%),
    radial-gradient(circle at 64% 18%, rgba(239,16,24,.055), transparent 20%);
  z-index: 0;
}

.hero-v4__copy,
.impact-board { position: relative !important; z-index: 1; min-width: 0 !important; }

.hero-v4__copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: clamp(48px, 6vw, 86px) clamp(34px, 5.5vw, 76px) !important;
}

.hero-v4__copy h1 {
  max-width: 740px !important;
  margin: 18px 0 22px !important;
  font-size: clamp(58px, 6.5vw, 98px) !important;
  line-height: .9 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance;
}

.hero-v4__copy h1 span { display: block; color: var(--ui-green-deep); }
.hero-v4__lead { max-width: 650px !important; font-size: clamp(18px, 1.6vw, 22px) !important; line-height: 1.55 !important; }
.hero-v4__actions { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; margin-top: 28px !important; }
.hero-v4__actions .button { min-height: 52px; padding-inline: 24px; }
.hero-v4__microproof { display: flex !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-top: 30px !important; }

.impact-board {
  min-height: 690px !important;
  display: flex !important;
  flex-direction: column !important;
  padding: clamp(40px, 4.8vw, 68px) clamp(30px, 4vw, 54px) !important;
  color: #fff !important;
  background:
    radial-gradient(circle at var(--pointer-x, 72%) var(--pointer-y, 22%), rgba(239,16,24,.15), transparent 22%),
    radial-gradient(circle at 92% 10%, rgba(255,255,255,.08), transparent 24%),
    linear-gradient(145deg, #1f5a3d 0%, #123e2b 48%, #08281c 100%) !important;
  overflow: hidden !important;
}

.impact-board::before,
.impact-board::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.impact-board::before {
  width: 360px; height: 360px; right: -120px; bottom: -120px;
  border: 40px solid rgba(255,255,255,.055);
}
.impact-board::after {
  width: 130px; height: 130px; left: 12%; top: 22%;
  background: rgba(239,16,24,.09);
  filter: blur(2px);
}

.impact-board__topline { position: relative; z-index: 1; display: flex !important; justify-content: space-between !important; gap: 18px; align-items: center; }
.impact-board__topline > span { color: rgba(255,255,255,.62) !important; }
.impact-board__live { padding-left: 15px; position: relative; }
.impact-board__live::before { content: ""; position: absolute; left: 0; top: 50%; width: 7px; height: 7px; margin-top: -3px; border-radius: 50%; background: var(--ui-red); box-shadow: 0 0 0 6px rgba(239,16,24,.12); }

.impact-board__metric { position: relative; z-index: 1; margin-top: clamp(52px, 7vw, 90px) !important; max-width: 540px; }
.impact-board__metric strong { display: block; color: #fff !important; font-size: clamp(78px, 8vw, 126px) !important; line-height: .82 !important; letter-spacing: -.065em !important; }
.impact-board__metric span { display: block; max-width: 430px; margin-top: 20px; color: rgba(255,255,255,.72) !important; font-size: 16px !important; line-height: 1.5 !important; }

.impact-board__stories {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin-top: auto !important;
  z-index: 2;
}

.impact-story,
.impact-story:nth-child(n) {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  min-height: 68px !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) 42px !important;
  gap: 14px !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 14px 14px 14px 16px !important;
  opacity: 1 !important;
  transform: none !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.075) !important;
  backdrop-filter: blur(14px);
  transition: transform .25s var(--ui-ease), background .25s ease, border-color .25s ease !important;
}
.impact-story:hover,
.impact-story:focus-visible { transform: translateY(-3px) !important; background: rgba(255,255,255,.11) !important; border-color: rgba(255,255,255,.22) !important; }
.impact-story__copy { min-width: 0; }
.impact-story__copy strong { color: #fff !important; }
.impact-story__copy span { color: rgba(255,255,255,.66) !important; }
.impact-story__arrow { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: rgba(255,255,255,.10); }

/* Process is an independent block. No overlap, ever. */
.v4-process {
  position: relative !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: 24px !important;
  transform: none !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 14px 44px rgba(18,51,35,.06) !important;
  overflow: hidden !important;
}
.v4-process__item { min-width: 0; padding: 24px 28px !important; background: transparent !important; }
.v4-process__item + .v4-process__item { border-left: 1px solid var(--ui-line) !important; }

/* ---------- Home stories ---------- */
.home-campaigns-v4 { padding-top: clamp(74px, 8vw, 108px) !important; }
.section-heading > a { flex: 0 0 auto; }
.home-bento,
.catalogue-v4__results .card-grid,
.section-other-campaigns-v4 .card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}
.home-bento .fundraiser-card,
.catalogue-v4__results .fundraiser-card,
.section-other-campaigns-v4 .fundraiser-card { min-width: 0 !important; height: 100% !important; }
.home-bento .fundraiser-card--featured { grid-column: auto !important; grid-row: auto !important; }

/* ---------- Campaign cards: premium but calm ---------- */
.fundraiser-card-v4 {
  --spot-x: 50%; --spot-y: 0%;
  position: relative !important;
}
.fundraiser-card-v4::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(360px circle at var(--spot-x) var(--spot-y), rgba(239,16,24,.07), transparent 55%);
  transition: opacity .3s ease;
}
.fundraiser-card-v4:hover::before { opacity: 1; }
.fundraiser-card-v4 > * { position: relative; z-index: 1; }
.fundraiser-card-v4 .card-media { overflow: hidden; }
.fundraiser-card-v4 .card-media img { transition: transform .7s var(--ui-ease), filter .35s ease; }
.fundraiser-card-v4:hover .card-media img { transform: scale(1.035); filter: saturate(1.03) contrast(1.02); }

/* ---------- Catalogue ---------- */
.catalogue-v4 { padding-top: clamp(58px, 7vw, 90px) !important; }
.catalogue-v4__head { display: grid !important; grid-template-columns: minmax(0,1fr) 320px !important; gap: clamp(36px, 6vw, 80px) !important; align-items: end !important; }
.catalogue-v4__aside { border-top: 4px solid var(--ui-red) !important; border-radius: 0 0 22px 22px !important; background: linear-gradient(145deg, #f8fbf9, #eef5f0) !important; box-shadow: 0 18px 54px rgba(18,51,35,.06) !important; }
.catalogue-v4__trust { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; margin-top: 28px !important; padding-bottom: 26px !important; border-bottom: 1px solid var(--ui-line) !important; }
.catalogue-v4__trust span { min-height: 38px; display: inline-flex; align-items: center; padding: 0 14px 0 30px !important; position: relative; border: 1px solid var(--ui-line); border-radius: 999px; background: #fff; }
.catalogue-v4__trust span::before { content: ""; position: absolute; left: 13px; width: 7px; height: 7px; border-radius: 50%; background: var(--ui-green); box-shadow: 0 0 0 5px rgba(65,108,79,.08); }
.catalogue-v4__results { margin-top: 24px !important; }
.catalogue-v5--compact .catalogue-v4__results .card-grid { grid-template-columns: 1fr !important; }
.catalogue-v5--compact .fundraiser-card-v4 { display: grid !important; grid-template-columns: 330px minmax(0,1fr) !important; }

/* ---------- Campaign detail ---------- */
.campaign-v4 { padding-top: clamp(54px, 6vw, 82px) !important; }
.campaign-v4__media,
.campaign-cover,
.campaign-cover-fallback { border-radius: 30px !important; overflow: hidden !important; }

/* ---------- CTA / footer / assistant ---------- */
.home-create-v3,
.author-callout { margin-top: clamp(70px, 8vw, 104px) !important; border-radius: 28px !important; box-shadow: 0 20px 56px rgba(18,51,35,.06) !important; }
.carnation-assistant { position: fixed !important; right: 22px !important; bottom: 22px !important; transform: none !important; animation: none !important; }

/* ---------- Motion primitives ---------- */
.ui-v6-ready [data-v5-reveal] { opacity: 0; transform: translateY(20px); }
.ui-v6-ready [data-v5-reveal].is-visible { opacity: 1; transform: none; transition: opacity .65s var(--ui-ease), transform .65s var(--ui-ease); }
.ui-v6-ready .progress-fill { transform-origin: left center; }

/* ---------- Responsive ---------- */
@media (max-width: 1120px) {
  .hero-v4 { grid-template-columns: 1fr !important; }
  .impact-board { min-height: 560px !important; }
  .home-bento,
  .catalogue-v4__results .card-grid,
  .section-other-campaigns-v4 .card-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .campaign-v4__layout { grid-template-columns: 1fr !important; }
  .donation-card-v4 { position: static !important; top: auto !important; }
}

@media (max-width: 820px) {
  .hero-v4,
  .v4-process,
  .home-campaigns-v4,
  .home-create-v3,
  .catalogue-v4,
  .campaign-v4,
  .section-other-campaigns-v4,
  .author-callout,
  .foundation-footer__inner { width: calc(100% - 24px) !important; }

  .hero-v4 { border-radius: 26px !important; }
  .hero-v4__copy { padding: 42px 28px !important; }
  .hero-v4__copy h1 { font-size: clamp(50px, 14vw, 76px) !important; }
  .impact-board { min-height: 520px !important; padding: 34px 24px !important; }
  .impact-board__metric { margin-top: 46px !important; }
  .impact-board__metric strong { font-size: clamp(72px, 22vw, 108px) !important; }

  .v4-process { grid-template-columns: 1fr !important; }
  .v4-process__item + .v4-process__item { border-left: 0 !important; border-top: 1px solid var(--ui-line) !important; }

  .catalogue-v4__head { grid-template-columns: 1fr !important; }
  .catalogue-v5__toolbar { grid-template-columns: 1fr !important; }
  .catalogue-v5__summary { flex-direction: column !important; align-items: flex-start !important; }

  .home-bento,
  .catalogue-v4__results .card-grid,
  .section-other-campaigns-v4 .card-grid { grid-template-columns: 1fr !important; }
  .catalogue-v5--compact .fundraiser-card-v4 { grid-template-columns: 1fr !important; }
  .section-heading { align-items: flex-start !important; flex-direction: column !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {                                   animation-duration: .01ms !important; animation-iteration-count: 1 !important;                                        }
}

/* source: ui-v7-candy.css */
/* V7 — compact premium pass.
 * Loaded last. This layer intentionally overrides legacy experimentation and
 * establishes one stable visual rhythm for homepage, catalogue, navigation and footer.
 */

:root {
  --v7-page: 1180px;
  --v7-gutter: clamp(14px, 2.6vw, 32px);
  --v7-red: #f10f18;
  --v7-red-dark: #d90c14;
  --v7-green: #356b49;
  --v7-green-dark: #0f3d2a;
  --v7-green-deep: #082e20;
  --v7-cream: #f8f4ed;
  --v7-cream-soft: #fcfaf6;
  --v7-ink: #111513;
  --v7-muted: #727a75;
  --v7-line: rgba(15, 61, 42, .12);
  --v7-line-strong: rgba(15, 61, 42, .19);
  --v7-shadow-sm: 0 10px 28px rgba(15, 61, 42, .06);
  --v7-shadow: 0 24px 64px rgba(15, 61, 42, .10);
  --v7-radius: 22px;
  --v7-ease: cubic-bezier(.22, 1, .36, 1);
}

html { scroll-padding-top: 120px; }
body { background: #fff !important; color: var(--v7-ink); }
main { overflow: clip; }

.hero-v4,
.home-campaigns-v4,
.home-create-v3,
.catalogue-v4,
.author-callout,
.campaign-v4,
.section-other-campaigns-v4,
.foundation-footer__inner {
  width: min(var(--v7-page), calc(100% - (var(--v7-gutter) * 2))) !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* --------------------------------------------------------------------------
   Header and module navigation
   -------------------------------------------------------------------------- */
.foundation-header {
  z-index: 120 !important;
  backdrop-filter: blur(18px) saturate(1.08);
}

.foundation-header__inner {
  width: min(1320px, calc(100% - 32px)) !important;
  padding: 7px 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}

.foundation-brand { display: inline-flex !important; align-items: center !important; flex: 0 0 auto; }

.foundation-header__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.foundation-header__utility {
  display: flex !important;
  align-items: center !important;
  margin-right: 4px !important;
}

.foundation-header__utility a,
.module-nav__links > a {
  color: #356149 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  transition: color .2s ease, opacity .2s ease, background .2s ease !important;
}

.foundation-header__utility a:hover,
.foundation-header__utility a:focus-visible,
.module-nav__links > a:not(.module-nav__primary):hover,
.module-nav__links > a:not(.module-nav__primary):focus-visible { color: var(--v7-green-dark) !important; }

.header-help-button {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff1921, var(--v7-red)) !important;
  color: #fff !important;
  font-weight: 750 !important;
  box-shadow: 0 10px 24px rgba(241, 15, 24, .15) !important;
  text-decoration: none !important;
}
.header-help-button:hover { transform: translateY(-1px); background: var(--v7-red-dark) !important; }

.foundation-menu { position: relative !important; }
.foundation-menu summary {
  list-style: none !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  padding: 0 17px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--v7-green) !important;
  color: #fff !important;
  font-weight: 750 !important;
  cursor: pointer !important;
  user-select: none !important;
  box-shadow: none !important;
}
.foundation-menu summary::-webkit-details-marker { display: none; }
.foundation-menu__burger,
.foundation-menu__burger::before,
.foundation-menu__burger::after {
  width: 15px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  display: block;
  position: relative;
}
.foundation-menu__burger::before,
.foundation-menu__burger::after { content: ""; position: absolute; left: 0; }
.foundation-menu__burger::before { top: -5px; }
.foundation-menu__burger::after { top: 5px; }

.foundation-menu__panel {
  width: min(780px, calc(100vw - 32px)) !important;
  overflow: auto !important;
  padding: 0 !important;
  border: 1px solid var(--v7-line-strong) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, .985) !important;
  box-shadow: 0 30px 90px rgba(8, 46, 32, .20) !important;
  backdrop-filter: blur(22px) !important;
  z-index: 220 !important;
}
.foundation-menu__panel-head {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 24px;
  border-bottom: 1px solid var(--v7-line);
  background: linear-gradient(135deg, #fbfdfb, #f5faf6);
}
.foundation-menu__panel-head strong { font-size: 20px; color: var(--v7-green-dark); }
.foundation-menu__panel-head span { color: var(--v7-muted); font-size: 13px; }
.foundation-menu__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 20px !important;
}
.foundation-menu__group {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
  padding: 10px 16px !important;
}
.foundation-menu__group + .foundation-menu__group { border-left: 1px solid var(--v7-line) !important; }
.foundation-menu__group--accent {
  margin: -4px 0 !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: linear-gradient(150deg, #f5faf6, #eef6f0) !important;
}
.foundation-menu__label {
  margin: 0 0 8px !important;
  color: var(--v7-green-dark) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.foundation-menu__group a {
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
  padding: 7px 9px !important;
  border-radius: 10px !important;
  color: #26352d !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}
.foundation-menu__group a:hover,
.foundation-menu__group a:focus-visible { background: rgba(53, 107, 73, .08) !important; color: var(--v7-green-dark) !important; }

.module-nav {
  z-index: 110 !important;
}
.module-nav__inner {
  width: min(1320px, calc(100% - 32px)) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 0 auto !important;
}
.module-nav__brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--v7-green-dark) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.module-nav__brand > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--v7-red);
  box-shadow: 0 0 0 5px rgba(241, 15, 24, .08);
}
.module-nav__links { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 8px !important; }
.module-nav__links > a { min-height: 34px !important; display: inline-flex !important; align-items: center !important; padding: 0 10px !important; border-radius: 999px !important; font-size: 13px !important; }
.module-nav__links .module-nav__primary {
  min-height: 36px !important;
  padding-inline: 16px !important;
  background: var(--v7-green) !important;
  color: #fff !important;
}
.module-nav__links .module-nav__moderation { color: #b9141b !important; }
.module-nav__links .module-nav__logout {
  border: 1px solid rgba(241, 15, 24, .22) !important;
  color: #b9141b !important;
  background: #fff !important;
}

/* --------------------------------------------------------------------------
   Shared controls and typography
   -------------------------------------------------------------------------- */
.button {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 20px !important;
  border-radius: 13px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  box-shadow: none !important;
  transition: transform .22s var(--v7-ease), box-shadow .22s ease, background .22s ease !important;
}
.button:not(.button-secondary) { background: var(--v7-red) !important; color: #fff !important; }
.button:not(.button-secondary):hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(241, 15, 24, .18) !important; }
.button-secondary {
  border: 1px solid rgba(53, 107, 73, .28) !important;
  background: rgba(255,255,255,.82) !important;
  color: var(--v7-green-dark) !important;
}
.button-secondary:hover { background: #f5faf6 !important; transform: translateY(-2px); }

.eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 0 10px !important;
  color: var(--v7-red) !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .10em !important;
  text-transform: uppercase !important;
}
.eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 5px rgba(241, 15, 24, .07);
}
.eyebrow a { color: inherit !important; text-decoration: none !important; }

/* --------------------------------------------------------------------------
   Homepage hero
   -------------------------------------------------------------------------- */
.hero-v4.hero-v7 {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr) !important;
  gap: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(15, 61, 42, .12) !important;
  border-radius: 26px !important;
  background: var(--v7-cream) !important;
  box-shadow: var(--v7-shadow) !important;
  overflow: hidden !important;
}
.hero-v4.hero-v7::before {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  left: -100px;
  bottom: -120px;
  border: 36px solid rgba(53, 107, 73, .055);
  border-radius: 50%;
  pointer-events: none;
}
.hero-v4.hero-v7::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255,255,255,.4), transparent 38%);
}
.hero-v7 .hero-v4__copy {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: clamp(42px, 4.2vw, 62px) clamp(34px, 4.3vw, 58px) !important;
}
.hero-v7 .hero-v4__copy h1 {
  max-width: 650px !important;
  margin: 8px 0 18px !important;
  color: var(--v7-green-dark) !important;
  font-size: clamp(48px, 4.7vw, 70px) !important;
  line-height: .94 !important;
  letter-spacing: -.055em !important;
  text-wrap: balance !important;
}
.hero-v7 .hero-v4__copy h1 span { display: block !important; color: var(--v7-green-dark) !important; }
.hero-v7 .hero-v4__lead {
  max-width: 610px !important;
  margin: 0 !important;
  color: #69726d !important;
  font-size: clamp(16px, 1.3vw, 19px) !important;
  line-height: 1.5 !important;
}
.hero-v7 .hero-v4__actions { margin-top: 22px !important; gap: 10px !important; }
.hero-v7 .hero-v4__microproof {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 24px !important;
}
.hero-v7 .hero-v4__microproof > div {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  gap: 9px !important;
  align-items: center !important;
  padding: 0 !important;
}
.hero-v7 .hero-v4__microproof i {
  width: 32px !important;
  height: 32px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(53,107,73,.22) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.64) !important;
  color: var(--v7-green) !important;
  font-style: normal !important;
  font-weight: 800 !important;
}
.hero-v7 .hero-v4__microproof span {
  color: #6a736e !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.hero-v7 .impact-board {
  position: relative !important;
  z-index: 1 !important;
  min-height: 510px !important;
  display: flex !important;
  flex-direction: column !important;
  padding: clamp(34px, 3.5vw, 48px) !important;
  background:
    radial-gradient(circle at 76% 12%, rgba(255,255,255,.07) 0 52px, transparent 53px),
    radial-gradient(circle at 92% 15%, rgba(255,255,255,.045) 0 120px, transparent 121px),
    linear-gradient(145deg, #176041 0%, #0d432e 45%, #082e20 100%) !important;
  color: #fff !important;
  overflow: hidden !important;
}
.hero-v7 .impact-board::before {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  right: -145px;
  bottom: -140px;
  border: 32px solid rgba(255,255,255,.045);
  border-radius: 50%;
}
.hero-v7 .impact-board::after { display: none !important; }
.hero-v7 .impact-board__topline { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 18px !important; }
.hero-v7 .impact-board__topline > span { color: rgba(255,255,255,.64) !important; font-size: 12px !important; }
.hero-v7 .impact-board__metric { margin: 30px 0 0 !important; max-width: 380px !important; }
.hero-v7 .impact-board__metric strong {
  color: #fff !important;
  font-size: clamp(72px, 6.5vw, 96px) !important;
  line-height: .8 !important;
  letter-spacing: -.06em !important;
}
.hero-v7 .impact-board__metric span {
  max-width: 330px !important;
  margin-top: 13px !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 15px !important;
  line-height: 1.38 !important;
}
.hero-v7 .impact-board__rule {
  width: 38px;
  height: 3px;
  margin-top: 18px;
  border-radius: 99px;
  background: var(--v7-red);
}
.hero-v7 .impact-board__stories {
  margin-top: auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 9px !important;
  position: relative !important;
  z-index: 2 !important;
}
.hero-v7 .impact-story,
.hero-v7 .impact-story:nth-child(n) {
  min-height: 74px !important;
  display: grid !important;
  grid-template-columns: 40px minmax(0,1fr) 34px !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 11px 12px !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.075) !important;
  text-decoration: none !important;
  backdrop-filter: blur(10px) !important;
  transform: none !important;
}
.hero-v7 .impact-story:hover { background: rgba(255,255,255,.12) !important; transform: translateY(-2px) !important; }
.hero-v7 .impact-story__icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
  color: #fff;
  font-size: 19px;
  font-weight: 700;
}
.hero-v7 .impact-story__copy strong { display: block !important; margin-bottom: 3px !important; color: #fff !important; font-size: 14px !important; }
.hero-v7 .impact-story__copy span { color: rgba(255,255,255,.62) !important; font-size: 11px !important; line-height: 1.35 !important; }
.hero-v7 .impact-story__arrow { width: 32px !important; height: 32px !important; }

/* --------------------------------------------------------------------------
   Homepage campaigns and cards
   -------------------------------------------------------------------------- */
.home-campaigns-v4.home-campaigns-v7 {
  margin-top: 0 !important;
}
.section-heading {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 24px !important;
}
.section-heading h2 {
  margin: 0 !important;
  color: var(--v7-green-dark) !important;
  font-size: clamp(34px, 3.5vw, 50px) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}
.section-heading__lead { margin: 8px 0 0 !important; color: var(--v7-muted) !important; font-size: 14px !important; }
.section-heading__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 38px !important;
  color: var(--v7-green-dark) !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.home-bento,
.catalogue-v7__results .card-grid,
.section-other-campaigns-v4 .card-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.fundraiser-card-v4 {
  border: 1px solid var(--v7-line) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(15,61,42,.045) !important;
  overflow: hidden !important;
  transition: transform .28s var(--v7-ease), box-shadow .28s ease, border-color .28s ease !important;
}
.fundraiser-card-v4:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(53,107,73,.24) !important;
  box-shadow: 0 20px 46px rgba(15,61,42,.09) !important;
}
.fundraiser-card-v4 .card-media {
  display: block !important;
  height: 188px !important;
  min-height: 188px !important;
  overflow: hidden !important;
  border-radius: 0 !important;
}
.fundraiser-card-v4 .card-media img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.card-media-fallback {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 72% 35%, rgba(241,15,24,.75) 0 44px, rgba(241,15,24,.16) 45px 64px, transparent 65px),
    radial-gradient(circle at 28% 65%, rgba(255,255,255,.08) 0 76px, transparent 77px),
    linear-gradient(135deg, #3f7b58, #174b34) !important;
}
.card-grid > .fundraiser-card:nth-child(2) .card-media-fallback,
.home-bento > .fundraiser-card:nth-child(2) .card-media-fallback {
  background:
    radial-gradient(circle at 70% 36%, rgba(241,15,24,.84) 0 44px, rgba(53,107,73,.13) 45px 74px, transparent 75px),
    radial-gradient(circle at 28% 64%, rgba(241,15,24,.10) 0 70px, transparent 71px),
    linear-gradient(135deg, #fbf6ef, #edf3ee) !important;
}
.card-grid > .fundraiser-card:nth-child(3) .card-media-fallback,
.home-bento > .fundraiser-card:nth-child(3) .card-media-fallback {
  background:
    radial-gradient(circle at 72% 38%, rgba(241,15,24,.64) 0 43px, rgba(255,255,255,.06) 44px 70px, transparent 71px),
    radial-gradient(circle at 27% 65%, rgba(207,176,129,.16) 0 72px, transparent 73px),
    linear-gradient(135deg, #0d3b29, #061e15) !important;
}
.card-media-fallback::before {
  content: "";
  position: absolute;
  inset: -40px auto -50px 48%;
  width: 42px;
  background: rgba(255,255,255,.045);
  transform: rotate(25deg);
}
.card-media-fallback__kicker {
  position: absolute !important;
  top: 16px !important;
  left: 18px !important;
  z-index: 2 !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.card-grid > .fundraiser-card:nth-child(2) .card-media-fallback__kicker,
.home-bento > .fundraiser-card:nth-child(2) .card-media-fallback__kicker { color: var(--v7-green-dark) !important; }

.fundraiser-card-v4 .card-body {
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 18px !important;
}
.fundraiser-card-v4 .card-body__topline { margin-bottom: 9px !important; }
.fundraiser-card-v4 .card-body__badge {
  min-height: 25px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 10px !important;
  border: 1px solid rgba(53,107,73,.14) !important;
  border-radius: 999px !important;
  background: #f3f8f4 !important;
  color: var(--v7-green) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.fundraiser-card-v4 .card-body__badge::before { content: "•"; margin-right: 6px; font-size: 14px; }
.fundraiser-card-v4 h3 { margin: 0 0 7px !important; font-size: clamp(21px, 1.8vw, 27px) !important; line-height: 1.03 !important; letter-spacing: -.035em !important; }
.fundraiser-card-v4 h3 a { color: var(--v7-ink) !important; text-decoration: none !important; }
.fundraiser-card-v4 .card-description {
  min-height: 42px !important;
  margin: 0 0 16px !important;
  color: #727a75 !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
}
.fundraiser-card-v4 .progress-wrap,
.fundraiser-card-v4 .progress { margin-top: 0 !important; }
.fundraiser-card-v4 .target { margin: 12px 0 0 !important; font-size: 12px !important; }
.fundraiser-card-v4 .actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  /* Прижать к низу: карточки в ряду равной высоты, но заголовки бывают в одну
     и в две строки, из-за чего кнопки разъезжались по вертикали и сравнивать
     сборы было тяжелее. padding сохраняет прежний отступ сверху. */
  margin-top: auto !important;
  padding-top: 16px !important;
}
/* 44px — минимум по дизайн-системе; ux-pro-max.css задавал его верно,
   этот слой понижал до 40px. */
.fundraiser-card-v4 .actions .button { min-height: 44px !important; border-radius: 11px !important; }

/* --------------------------------------------------------------------------
   Compact creation CTA
   -------------------------------------------------------------------------- */
.home-create-v3.home-create-v7,
.author-callout.author-callout-v7 {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) auto !important;
  gap: 20px !important;
  align-items: center !important;
  margin-top: 26px !important;
  margin-bottom: 32px !important;
  padding: 26px 30px !important;
  border: 0 !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(241,15,24,.14), transparent 20%),
    linear-gradient(120deg, #174d35 0%, #0f3d2a 58%, #0b3324 100%) !important;
  box-shadow: 0 18px 46px rgba(15,61,42,.12) !important;
  color: #fff !important;
  overflow: hidden !important;
}
.home-create-v3.home-create-v7::before,
.author-callout.author-callout-v7::before {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  left: -96px;
  top: -80px;
  border: 22px solid rgba(255,255,255,.035);
  border-radius: 50%;
}
.home-create-v7__mark,
.author-callout-v7__mark {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  color: rgba(255,255,255,.72);
  font-size: 26px;
  background: rgba(255,255,255,.045);
}
.home-create-v7 .eyebrow,
.author-callout-v7 .eyebrow { margin-bottom: 5px !important; color: rgba(255,255,255,.63) !important; }
.home-create-v7 h2,
.author-callout-v7 h2 { margin: 0 !important; color: #fff !important; font-size: clamp(27px, 2.7vw, 39px) !important; line-height: 1 !important; letter-spacing: -.04em !important; }
.home-create-v7 p:not(.eyebrow),
.author-callout-v7 p:not(.eyebrow) { max-width: 720px !important; margin: 7px 0 0 !important; color: rgba(255,255,255,.67) !important; font-size: 13px !important; line-height: 1.42 !important; }
.home-create-v7 > .button,
.author-callout-v7 > .button { min-width: 170px !important; box-shadow: 0 12px 28px rgba(241,15,24,.22) !important; }

/* --------------------------------------------------------------------------
   Catalogue — remove the "air canyon"
   -------------------------------------------------------------------------- */
.catalogue-v4.catalogue-v7 {
  padding-top: 26px !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
}
.catalogue-v7__head {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr) !important;
  gap: 36px !important;
  align-items: stretch !important;
  padding: 34px !important;
  border: 1px solid var(--v7-line) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at -4% 88%, rgba(53,107,73,.05) 0 100px, transparent 101px),
    linear-gradient(135deg, #fbf8f3, #fff 70%) !important;
  box-shadow: 0 14px 40px rgba(15,61,42,.045) !important;
  overflow: hidden !important;
}
.catalogue-v7__copy { display: flex !important; flex-direction: column !important; justify-content: center !important; min-width: 0 !important; }
.catalogue-v7__copy h1 {
  margin: 0 !important;
  color: var(--v7-green-dark) !important;
  font-size: clamp(44px, 4.6vw, 68px) !important;
  line-height: .92 !important;
  letter-spacing: -.055em !important;
}
.catalogue-v7 .catalogue-v4__intro {
  max-width: 660px !important;
  margin: 14px 0 0 !important;
  color: var(--v7-muted) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
}
.catalogue-v7__trust {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.catalogue-v7__trust span {
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 12px 0 27px !important;
  border: 1px solid var(--v7-line) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.78) !important;
  color: #526159 !important;
  font-size: 11px !important;
  position: relative !important;
}
.catalogue-v7__trust span::before {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--v7-green) !important;
  box-shadow: none !important;
}
.catalogue-v7__aside {
  min-height: 220px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 28px !important;
  border: 0 !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 84% 10%, rgba(255,255,255,.07) 0 68px, transparent 69px),
    linear-gradient(145deg, #16583c, #0d3d2a) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.catalogue-v7__aside strong { color: #fff !important; font-size: 66px !important; line-height: .8 !important; letter-spacing: -.06em !important; }
.catalogue-v7__aside > span { max-width: 240px !important; margin-top: 12px !important; color: rgba(255,255,255,.7) !important; font-size: 13px !important; line-height: 1.4 !important; }
.catalogue-v7__aside .catalogue-v4__actions { margin-top: 22px !important; }
.catalogue-v7__aside .button-secondary { width: 100% !important; background: #fff !important; border: 0 !important; color: var(--v7-green-dark) !important; }
.catalogue-v7__results { margin-top: 20px !important; padding: 0 !important; }
.catalogue-v7 + .author-callout-v7 { margin-top: 26px !important; }

/* --------------------------------------------------------------------------
   Footer — closer to the main Tilda site, but cleaner
   -------------------------------------------------------------------------- */
.foundation-footer {
  margin-top: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--v7-line) !important;
  background:
    radial-gradient(circle at 102% 22%, transparent 0 78px, rgba(53,107,73,.04) 79px 96px, transparent 97px),
    linear-gradient(180deg, #fdfcf9, #faf9f6) !important;
}
.foundation-footer__inner--v7 {
  display: grid !important;
  grid-template-columns: 1.35fr repeat(4, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: start !important;
  padding: 34px 0 28px !important;
  margin: 0 auto !important;
}
.foundation-footer__brand-column { min-width: 0 !important; }
.foundation-footer__vertical-brand { display: inline-block !important; }
.foundation-footer__vertical-brand img { width: auto !important; height: 112px !important; max-width: 138px !important; object-fit: contain !important; }
.foundation-footer__copyright { margin: 14px 0 0 !important; color: #7b817d !important; font-size: 11px !important; line-height: 1.45 !important; }
.foundation-footer__column { min-width: 0 !important; padding-top: 3px !important; }
.foundation-footer__column h2 {
  margin: 0 0 11px !important;
  color: var(--v7-green) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  letter-spacing: -.01em !important;
}
.foundation-footer__column nav,
.foundation-footer__contacts address { display: flex !important; flex-direction: column !important; gap: 7px !important; }
.foundation-footer__column a,
.foundation-footer__contacts a {
  color: #414942 !important;
  text-decoration: none !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
}
.foundation-footer__column a:hover,
.foundation-footer__contacts a:hover { color: var(--v7-green-dark) !important; }
.foundation-footer__contacts address { margin: 0 !important; font-style: normal !important; }
.foundation-footer__trust {
  grid-column: 2 / -1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: -2px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--v7-line) !important;
  color: #727a75 !important;
}
.foundation-footer__trust-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid rgba(53,107,73,.2);
  border-radius: 50%;
  color: var(--v7-green);
  font-weight: 850;
}
.foundation-footer__trust p { margin: 0 !important; font-size: 11px !important; line-height: 1.4 !important; }

/* --------------------------------------------------------------------------
   Messages and focus
   -------------------------------------------------------------------------- */
.messages { width: min(var(--v7-page), calc(100% - (var(--v7-gutter) * 2))) !important; margin: 16px auto 0 !important; }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 3px solid #294c37 !important; outline-offset: 3px !important; }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
  .foundation-header__utility { display: none !important; }
  .hero-v4.hero-v7 { grid-template-columns: 1fr 420px !important; }
  .hero-v7 .hero-v4__microproof { grid-template-columns: 1fr !important; }
  .home-bento,
  .catalogue-v7__results .card-grid,
  .section-other-campaigns-v4 .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .foundation-footer__inner--v7 { grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr)) !important; }
  .foundation-footer__contacts { grid-column: 2 !important; }
  .foundation-footer__trust { grid-column: 3 / -1 !important; }
}

@media (max-width: 900px) {
  .module-nav__links > a:not(.module-nav__primary):not(.module-nav__logout) { display: none !important; }
  .hero-v4.hero-v7 { grid-template-columns: 1fr !important; }
  .hero-v7 .impact-board { min-height: 390px !important; }
  .hero-v7 .hero-v4__microproof { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .catalogue-v7__head { grid-template-columns: 1fr !important; gap: 20px !important; }
  .catalogue-v7__aside { min-height: 180px !important; }
  .foundation-menu__grid { grid-template-columns: 1fr 1fr !important; }
  .foundation-menu__group:nth-child(3) { grid-column: 1 / -1; border-left: 0 !important; border-top: 1px solid var(--v7-line) !important; margin-top: 8px !important; }
}

@media (max-width: 720px) {
  :root { --v7-gutter: 12px; }
  .foundation-header__inner { width: calc(100% - 20px) !important; min-height: 56px !important; }
  .foundation-menu summary { min-height: 40px !important; padding-inline: 14px !important; }
  .foundation-menu__panel { top: 62px !important; right: 10px !important; width: calc(100vw - 20px) !important; }
  .foundation-menu__grid { grid-template-columns: 1fr !important; padding: 12px !important; }
  .foundation-menu__group + .foundation-menu__group,
  .foundation-menu__group:nth-child(3) { border-left: 0 !important; border-top: 1px solid var(--v7-line) !important; }

  .module-nav { top: 56px !important; }
  .module-nav__inner { width: calc(100% - 20px) !important; gap: 12px !important; }
  .module-nav__brand { font-size: 13px !important; }
  .module-nav__links { gap: 4px !important; }
  .module-nav__links .module-nav__logout { display: none !important; }
  .module-nav__links > a { font-size: 12px !important; padding-inline: 9px !important; }

  .hero-v4.hero-v7,
  .home-campaigns-v4,
  .home-create-v3,
  .catalogue-v4,
  .author-callout,
  .foundation-footer__inner { width: calc(100% - 24px) !important; }
  .hero-v4.hero-v7 {                              border-radius: 20px !important; }
  .hero-v7 .hero-v4__copy { padding: 32px 22px !important; }
  .hero-v7 .hero-v4__copy h1 { font-size: clamp(42px, 12vw, 60px) !important; }
  .hero-v7 .hero-v4__microproof { grid-template-columns: 1fr !important; }
  .hero-v7 .impact-board { min-height: 390px !important; padding: 28px 22px !important; }
  .hero-v7 .impact-board__metric { margin-top: 22px !important; }

  .home-campaigns-v4.home-campaigns-v7 { padding-top: 28px !important; }
  .section-heading { align-items: flex-start !important; flex-direction: column !important; gap: 8px !important; }
  .home-bento,
  .catalogue-v7__results .card-grid,
  .section-other-campaigns-v4 .card-grid { grid-template-columns: 1fr !important; }
  .fundraiser-card-v4 .card-media { height: 180px !important; min-height: 180px !important; }

  .home-create-v3.home-create-v7,
  .author-callout.author-callout-v7 {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    padding: 24px !important;
    margin-top: 22px !important;
    margin-bottom: 24px !important;
  }
  .home-create-v7__mark,
  .author-callout-v7__mark { display: none !important; }
  .home-create-v7 > .button,
  .author-callout-v7 > .button { width: 100% !important; min-width: 0 !important; }

  .catalogue-v4.catalogue-v7 { padding-top: 16px !important; }
  .catalogue-v7__head { padding: 24px 20px !important; border-radius: 20px !important; }
  .catalogue-v7__copy h1 { font-size: clamp(42px, 12vw, 58px) !important; }
  .catalogue-v7__aside { min-height: 166px !important; padding: 24px !important; }

  .foundation-footer__inner--v7 { grid-template-columns: 1fr 1fr !important; gap: 26px 18px !important; padding: 30px 0 24px !important; }
  .foundation-footer__brand-column { grid-column: 1 / -1 !important; }
  .foundation-footer__contacts { grid-column: auto !important; }
  .foundation-footer__trust { grid-column: 1 / -1 !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* source: ui-v7-1-header-fix.css */
/* V7.1 — header alignment and scroll-behaviour repair.
 * V8 final and newer public modules are imported here because this file is already
 * part of the public bundle.
 */

/* inlined import: ui-v8-final.css */
/* V8 final — restore dynamic full-width chrome and harden the author dashboard.
 * Loaded after all experimental public UI layers so these rules are authoritative.
 */

:root {
  --v8-header-height: var(--ux-header-height, 58px);
  --v8-page-gutter: clamp(18px, 4.8vw, 84px);
  --v8-line: rgba(15, 61, 42, .11);
  --v8-green: #0f3d2a;
  --v8-green-mid: #356b49;
  --v8-red: #ef141b;
  --v8-muted: #6d7972;
}

html {
  scroll-padding-top: calc(var(--v8-header-height) + 58px) !important;
}

/* --------------------------------------------------------------------------
   Foundation chrome: viewport-wide, sticky and responsive to ux-scrolled.
   -------------------------------------------------------------------------- */
body .foundation-header {
  position: sticky !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  z-index: 1300 !important;
  background: rgba(255, 255, 255, .96) !important;
  border-bottom: 1px solid rgba(15, 61, 42, .09) !important;
  box-shadow: 0 2px 12px rgba(15, 61, 42, .025) !important;
  backdrop-filter: blur(18px) saturate(1.1) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.1) !important;
  transition: background-color .24s ease, box-shadow .24s ease !important;
}

body .foundation-header .foundation-header__inner {
  width: 100% !important;
  max-width: none !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 7px var(--v8-page-gutter) !important;
  box-sizing: border-box !important;
  transition: min-height .24s ease, padding .24s ease !important;
}

html.ux-scrolled body .foundation-header {
  background: rgba(255, 255, 255, .985) !important;
  box-shadow: 0 10px 34px rgba(15, 61, 42, .08) !important;
}

html.ux-scrolled body .foundation-header .foundation-header__inner {
  min-height: 54px !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

body .foundation-brand__logo {
  transition: height .24s ease, opacity .24s ease !important;
}

html.ux-scrolled body .foundation-brand__logo {
  height: 34px !important;
}

body .module-nav {
  position: sticky !important;
  top: var(--v8-header-height) !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  z-index: 1200 !important;
  background: rgba(247, 250, 248, .96) !important;
  border-bottom: 1px solid rgba(15, 61, 42, .10) !important;
  backdrop-filter: blur(16px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
}

body .module-nav .module-nav__inner {
  width: 100% !important;
  max-width: none !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding-left: var(--v8-page-gutter) !important;
  padding-right: var(--v8-page-gutter) !important;
  box-sizing: border-box !important;
}

body .foundation-menu {
  position: relative !important;
}

body .foundation-menu__panel {
  position: fixed !important;
  top: calc(var(--v8-header-height) + 8px) !important;
  right: var(--v8-page-gutter) !important;
  left: auto !important;
  width: min(780px, calc(100vw - (var(--v8-page-gutter) * 2))) !important;
  max-height: calc(100vh - var(--v8-header-height) - 24px) !important;
}

/* --------------------------------------------------------------------------
   Account dashboard: deterministic rails and no horizontal drift.
   -------------------------------------------------------------------------- */
body .account-v8-shell {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 28px 0 72px !important;
  box-sizing: border-box !important;
}

body .account-v8-shell,
body .account-v8-shell section,
body .account-v8-shell article,
body .account-v8-shell div,
body .account-v8-shell dl,
body .account-v8-shell form {
  min-width: 0;
}

body .account-v8-head {
  width: 100% !important;
  min-height: 132px !important;
  padding: 24px 26px !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: 24px !important;
  overflow: hidden;
  box-shadow: 0 16px 44px rgba(15, 61, 42, .045) !important;
}

body .account-v8-head__copy p:not(.eyebrow) {
  overflow-wrap: anywhere;
}

body .account-v8-create {
  min-width: 190px;
  justify-content: center;
}

body .account-v8-admin {
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  overflow: hidden;
}

body .account-v8-admin__actions {
  max-width: 420px;
}

body .account-v8-content {
  width: 100% !important;
  overflow: hidden;
}

body .account-v8-list {
  width: 100% !important;
}

body .account-v8-card {
  width: 100% !important;
  overflow: hidden;
  border: 1px solid rgba(15, 61, 42, .10) !important;
}

body .account-v8-card .dashboard-card-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  align-items: start !important;
  gap: 18px 28px !important;
}

body .account-v8-card .dashboard-card-header > div {
  min-width: 0;
}

body .account-v8-card .dashboard-card-header h2 {
  margin: 7px 0 5px !important;
  font-size: clamp(22px, 2.15vw, 30px) !important;
  line-height: 1.08 !important;
  overflow-wrap: anywhere;
}

body .account-v8-card .dashboard-card-header > .note {
  margin: 2px 0 0 !important;
  white-space: nowrap;
  text-align: right;
}

body .account-v8-card .status-explainer {
  max-width: 780px !important;
  margin: 6px 0 0 !important;
  line-height: 1.42 !important;
}

body .account-v8-card .dashboard-meta {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 16px 0 0 !important;
  border: 1px solid rgba(15, 61, 42, .09);
  border-radius: 14px;
  overflow: hidden;
  background: #fafcfb;
}

body .account-v8-card .dashboard-meta > div {
  min-width: 0;
  padding: 12px 14px !important;
  gap: 3px !important;
}

body .account-v8-card .dashboard-meta > div + div {
  border-left: 1px solid rgba(15, 61, 42, .08);
}

body .account-v8-card .dashboard-meta dt {
  color: var(--v8-muted) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .015em;
}

body .account-v8-card .dashboard-meta dd {
  min-width: 0;
  color: #173d2b !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  overflow-wrap: anywhere;
}

body .account-v8-card .moderation-note {
  margin-top: 14px !important;
  border: 1px solid rgba(188, 125, 0, .18) !important;
  border-left: 3px solid #bc7d00 !important;
  border-radius: 12px !important;
}

body .account-v8-card .dashboard-actions {
  margin-top: 14px !important;
  padding-top: 14px;
  border-top: 1px solid rgba(15, 61, 42, .08);
  display: flex !important;
  align-items: center !important;
  gap: 8px 10px !important;
}

body .account-v8-card .dashboard-actions form {
  display: inline-flex !important;
  margin: 0 !important;
}

body .account-v8-card .dashboard-actions .button {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 17px !important;
  line-height: 1.2 !important;
}

body .account-v8-card .dashboard-actions > .note {
  margin: 0 !important;
  flex: 1 1 260px;
}

body .account-v8-empty {
  width: 100% !important;
}

@media (max-width: 1040px) {
  body .foundation-header__utility {
    display: none !important;
  }

  body .account-v8-head,
  body .account-v8-admin {
    grid-template-columns: 1fr auto !important;
  }

  body .account-v8-card .dashboard-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .account-v8-card .dashboard-meta > div:nth-child(3) {
    border-left: 0 !important;
  }

  body .account-v8-card .dashboard-meta > div:nth-child(n + 3) {
    border-top: 1px solid rgba(15, 61, 42, .08);
  }
}

@media (max-width: 820px) {
  :root {
    --v8-page-gutter: 14px;
  }

  html {
    scroll-padding-top: 64px !important;
  }

  body .foundation-header .foundation-header__inner {
    min-height: 58px !important;
  }

  body .foundation-brand__logo,
  html.ux-scrolled body .foundation-brand__logo {
    height: 34px !important;
    max-width: 150px !important;
  }

  body .header-help-button {
    display: none !important;
  }

  body .module-nav {
    position: relative !important;
    top: auto !important;
  }

  body .module-nav .module-nav__inner {
    gap: 12px !important;
  }

  body .module-nav__links {
    min-width: 0;
    overflow-x: auto;
    flex-wrap: nowrap !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  body .module-nav__links::-webkit-scrollbar {
    display: none;
  }

  body .module-nav__links > a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  body .foundation-menu__panel {
    top: 64px !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-height: calc(100vh - 80px) !important;
  }

  body .account-v8-shell {
    width: calc(100% - 28px) !important;
    padding-top: 16px !important;
  }

  body .account-v8-head,
  body .account-v8-admin {
    grid-template-columns: 1fr !important;
  }

  body .account-v8-create {
    width: 100% !important;
    min-width: 0 !important;
  }

  body .account-v8-admin__actions {
    width: 100%;
    max-width: none;
    justify-content: flex-start !important;
  }

  body .account-v8-card .dashboard-card-header {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body .account-v8-card .dashboard-card-header > .note {
    white-space: normal;
    text-align: left;
  }
}

@media (max-width: 560px) {
  body .foundation-header .foundation-header__inner {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body .foundation-menu summary {
    padding-left: 13px !important;
    padding-right: 13px !important;
  }

  body .module-nav__brand {
    display: none !important;
  }

  body .module-nav__links {
    width: 100%;
  }

  body .account-v8-shell {
    width: calc(100% - 20px) !important;
    padding-bottom: 48px !important;
  }

  body .account-v8-head {
    padding: 17px !important;
    border-radius: 18px !important;
  }

  body .account-v8-head h1 {
    font-size: 38px !important;
  }

  body .account-v8-admin,
  body .account-v8-content {
    padding: 13px !important;
  }

  body .account-v8-section-head {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 8px !important;
  }

  body .account-v8-card {
    padding: 14px !important;
  }

  body .account-v8-card .dashboard-meta {
    grid-template-columns: 1fr !important;
  }

  body .account-v8-card .dashboard-meta > div,
  body .account-v8-card .dashboard-meta > div:nth-child(3) {
    border-left: 0 !important;
  }

  body .account-v8-card .dashboard-meta > div + div {
    border-top: 1px solid rgba(15, 61, 42, .08) !important;
  }

  body .account-v8-card .dashboard-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body .account-v8-card .dashboard-actions form,
  body .account-v8-card .dashboard-actions .button {
    width: 100% !important;
  }

  body .account-v8-empty {
    grid-template-columns: 36px minmax(0, 1fr) !important;
  }

  body .account-v8-empty .button {
    grid-column: 1 / -1 !important;
  }
}


/* inlined import: ui-v10-catalogue-rules.css */
/* V10 — catalogue categories and publication rules. */

.campaign-origin-tabs {
  width: min(1180px, 100%);
  margin: clamp(24px, 3vw, 38px) auto 22px;
  padding: 6px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  border: 1px solid rgba(18, 51, 35, .09);
  border-radius: 18px;
  background: #f4f7f4;
}

.campaign-origin-tab {
  min-width: 0;
  min-height: 52px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 13px;
  color: #355344 !important;
  font-weight: 760;
  text-decoration: none !important;
  transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.campaign-origin-tab small {
  min-width: 25px;
  height: 25px;
  padding: 0 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(15, 61, 42, .07);
  color: #527061;
  font-size: 11px;
}

.campaign-origin-tab:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, .72);
}

.campaign-origin-tab.is-active {
  background: #fff;
  color: #123f2c !important;
  box-shadow: 0 8px 24px rgba(15, 61, 42, .08);
}

.campaign-origin-tab.is-active small {
  background: #e8f2eb;
  color: #174f37;
}

.campaign-origin-note {
  width: min(1180px, 100%);
  margin: 0 auto 22px;
  padding: 16px 18px;
  display: flex;
  align-items: baseline;
  gap: 12px;
  border-left: 3px solid #2d6a49;
  border-radius: 0 14px 14px 0;
  background: #f5f9f6;
  color: #66756c;
  font-size: 13px;
  line-height: 1.5;
}

.campaign-origin-note strong {
  flex: 0 0 auto;
  color: #183c2a;
}

.form-rules-link {
  display: inline-flex;
  margin-top: 8px;
  color: #1d5b40 !important;
  font-weight: 750;
  text-decoration: none !important;
}

.form-rules-link:hover {
  text-decoration: underline !important;
}

.publication-rules-check {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(18, 51, 35, .1) !important;
  border-radius: 16px !important;
  background: #f7faf7 !important;
}

.publication-rules-check input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
  accent-color: #1b6847;
}

.publication-rules-check label {
  margin: 0 !important;
  color: #2b3d33 !important;
  font-weight: 680 !important;
  line-height: 1.45 !important;
}

.publication-rules-check label a {
  color: #17593d !important;
}

.campaign-rules {
  width: min(1220px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(34px, 5vw, 72px) 0 clamp(70px, 8vw, 112px);
}

.campaign-rules__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: end;
  margin-bottom: clamp(34px, 4vw, 50px);
}

.campaign-rules__hero h1 {
  max-width: 850px;
  margin: 12px 0 18px;
  font-size: clamp(44px, 6vw, 76px);
  line-height: .94;
  letter-spacing: -.05em;
}

.campaign-rules__hero > div > p:last-child {
  max-width: 780px;
  margin: 0;
  color: #65736b;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.58;
}

.campaign-rules__hero aside {
  padding: 24px;
  border-top: 4px solid #2c6948;
  border-radius: 0 0 20px 20px;
  background: #f1f6f2;
  box-shadow: 0 14px 36px rgba(15, 61, 42, .05);
}

.campaign-rules__hero aside strong,
.campaign-rules__hero aside span {
  display: block;
}

.campaign-rules__hero aside strong {
  margin-bottom: 9px;
  color: #173e2b;
  font-size: 15px;
}

.campaign-rules__hero aside span {
  color: #64736a;
  line-height: 1.55;
}

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

.campaign-rule-card {
  min-height: 260px;
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid rgba(18, 51, 35, .1);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(20, 48, 33, .035);
  transition: transform .18s ease, box-shadow .18s ease;
}

.campaign-rule-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(20, 48, 33, .065);
}

.campaign-rule-card > span {
  display: inline-flex;
  min-width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff0f0;
  color: #e51b23;
  font-size: 11px;
  font-weight: 850;
}

.campaign-rule-card h2 {
  margin: 26px 0 12px;
  color: #15251c;
  font-size: clamp(24px, 2.5vw, 32px);
  letter-spacing: -.035em;
}

.campaign-rule-card p {
  margin: 0;
  color: #68766e;
  font-size: 15px;
  line-height: 1.58;
}

.campaign-rules__decision {
  margin-top: clamp(40px, 5vw, 64px);
  padding: clamp(28px, 4vw, 44px);
  border-radius: 26px;
  background: #123d2b;
  color: #fff;
}

.campaign-rules__decision h2 {
  margin: 8px 0 28px;
  color: #fff;
  font-size: clamp(32px, 4vw, 48px);
  letter-spacing: -.04em;
}

.campaign-rules__decision .eyebrow {
  color: rgba(255,255,255,.72);
}

.campaign-rules__decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.campaign-rules__decision-grid article {
  padding: 20px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.055);
}

.campaign-rules__decision-grid strong,
.campaign-rules__decision-grid span {
  display: block;
}

.campaign-rules__decision-grid strong {
  margin-bottom: 7px;
  font-size: 15px;
}

.campaign-rules__decision-grid span {
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.5;
}

.campaign-rules__footer-note {
  margin-top: 18px;
  padding: clamp(24px, 3vw, 32px);
  border: 1px solid rgba(18, 51, 35, .1);
  border-radius: 22px;
  background: #f7f9f7;
}

.campaign-rules__footer-note strong {
  display: block;
  margin-bottom: 8px;
  color: #24392d;
}

.campaign-rules__footer-note p {
  max-width: 900px;
  margin: 0 0 18px;
  color: #6c7971;
  line-height: 1.55;
}

@media (max-width: 820px) {
  .campaign-origin-tabs {
    grid-template-columns: 1fr;
  }

  .campaign-origin-note {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .campaign-rules__hero,
  .campaign-rules__grid,
  .campaign-rules__decision-grid {
    grid-template-columns: 1fr;
  }

  .campaign-rule-card {
    min-height: 0;
  }
}

@media (max-width: 560px) {
  .campaign-rules {
    width: min(100% - 28px, 1220px);
  }

  .campaign-rules__hero h1 {
    font-size: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-origin-tab,
  .campaign-rule-card {
    transition: none;
  }
}

/* The V8 layer restores sticky full-width behaviour. Keep these alignment rules
   as a compatibility fallback for older cached V8 assets. */
.foundation-header {
  position: relative !important;
  top: auto !important;
  left: auto !important;
}

.module-nav {
  position: relative !important;
  top: auto !important;
}

.foundation-header__inner,
.module-nav__inner {
  margin-left: auto !important;
  margin-right: auto !important;
}

.foundation-header__inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.module-nav__inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.foundation-menu__panel {
  max-height: min(620px, calc(100vh - 96px)) !important;
}

/* Specificity bridge: V7.3 is loaded later and intentionally used body-prefixed
   selectors. These declarations keep the final V8 behaviour authoritative without
   adding yet another stylesheet tag to the base template. */
html body .foundation-header {
  position: sticky !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  z-index: 1300 !important;
}

html body .foundation-header .foundation-header__inner,
html body .module-nav .module-nav__inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: var(--v8-page-gutter, clamp(18px, 4.8vw, 84px)) !important;
  padding-right: var(--v8-page-gutter, clamp(18px, 4.8vw, 84px)) !important;
  box-sizing: border-box !important;
}

/* ux-pro-max.js measures the header once for the sticky module-nav offset.
   Keep the outer header height stable while the scrolled state changes shadow/logo,
   otherwise the second row can develop a small visible gap. */
html.ux-scrolled body .foundation-header .foundation-header__inner {
  min-height: 58px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

html body .module-nav {
  position: sticky !important;
  top: var(--v8-header-height, var(--ux-header-height, 58px)) !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  z-index: 1200 !important;
}

html body .foundation-menu__panel {
  position: fixed !important;
  top: calc(var(--v8-header-height, var(--ux-header-height, 58px)) + 8px) !important;
  right: var(--v8-page-gutter, clamp(18px, 4.8vw, 84px)) !important;
  left: auto !important;
}

html body .account-v8-shell {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 28px 0 72px !important;
}

html body .account-v8-head {
  min-height: 132px !important;
  padding: 24px 26px !important;
  grid-template-columns: minmax(0, 1fr) max-content !important;
  gap: 24px !important;
}

html body .account-v8-admin {
  grid-template-columns: minmax(0, 1fr) max-content !important;
}

html body .account-v8-content {
  width: 100% !important;
  overflow: hidden !important;
}

/* Account screenshot hotfix.
   A legacy account template can still appear from a stale preview/browser page.
   Keep both the current V8 markup and that legacy markup visually safe while the
   preview is recreated: one rail, no duplicate publication strip, no decorative
   rule crossing the account status copy. */
html body .account-v8-shell > section,
html body .account-v8-head,
html body .account-v8-admin,
html body .account-v8-content,
html body .account-v8-list,
html body .account-v8-card,
html body .account-v8-empty {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

html body .account-v8-admin,
html body .account-v8-content {
  margin-top: 16px !important;
}

html body .account-v8-head::before,
html body .account-v8-head::after,
html body .account-v8-head__copy::before,
html body .account-v8-head__copy::after,
html body .account-v8-head h1::before,
html body .account-v8-head h1::after,
html body .account-heading::before,
html body .account-heading::after,
html body .account-heading h1::before,
html body .account-heading h1::after {
  content: none !important;
  display: none !important;
}

html body .account-v8-head__copy p:not(.eyebrow),
html body .account-heading p:not(.eyebrow) {
  position: relative !important;
  z-index: 1 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* The three-step guide shown in the screenshot belongs to the superseded account
   template. The current dashboard intentionally does not contain it. Hide it as a
   defensive fallback so mixed/stale HTML cannot re-introduce the narrow strip. */
html body .dashboard-guide {
  display: none !important;
}

@media (max-width: 1040px) {
  html body .account-v8-head,
  html body .account-v8-admin {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
}

@media (max-width: 820px) {
  html body .foundation-header .foundation-header__inner,
  html body .module-nav .module-nav__inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  html.ux-scrolled body .foundation-header .foundation-header__inner {
    min-height: 58px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
  }

  html body .module-nav {
    position: relative !important;
    top: auto !important;
  }

  html body .foundation-menu__panel {
    position: fixed !important;
    top: 64px !important;
    right: 12px !important;
    left: 12px !important;
  }

  html body .account-v8-shell {
    width: calc(100% - 28px) !important;
    padding-top: 16px !important;
  }

  html body .account-v8-head,
  html body .account-v8-admin {
    grid-template-columns: 1fr !important;
  }

  html body .account-heading,
  html body .account-admin-section,
  html body .account-campaigns-section {
    width: calc(100% - 28px) !important;
  }
}

@media (max-width: 560px) {
  html body .foundation-header .foundation-header__inner,
  html body .module-nav .module-nav__inner {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  html body .account-v8-shell {
    width: calc(100% - 20px) !important;
    padding-bottom: 48px !important;
  }

  html body .account-heading,
  html body .account-admin-section,
  html body .account-campaigns-section {
    width: calc(100% - 20px) !important;
  }
}

/* source: ui-v7-2-polish.css */
/* V7.2 — final polish pass for public/internal fundraising UI.
 * Loaded after ui-v7-1-header-fix.css. Keeps layout compact, stable and non-overlapping.
 */

:root {
  --v72-rail: clamp(28px, 3.2vw, 64px);
  --v72-green: #356b49;
  --v72-green-dark: #0f3d2a;
  --v72-red: #ed0b14;
  --v72-cream: #f8f4ed;
  --v72-soft: #f7faf8;
  --v72-line: rgba(15, 61, 42, .12);
  --v72-muted: #6d756f;
}

/* Header: one normal-flow system, same horizontal rail on both rows. */
.foundation-header,
.module-nav {
  position: relative !important;
  top: auto !important;
  left: auto !important;
}

.foundation-header {
  background: #fff !important;
  border-bottom: 1px solid #ededeb !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.foundation-header__inner,
.module-nav__inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: var(--v72-rail) !important;
  padding-right: var(--v72-rail) !important;
  box-sizing: border-box !important;
}

.foundation-header__inner {
  min-height: 58px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

.foundation-brand {
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
}
.foundation-brand__logo {
  width: auto !important;
  height: 40px !important;
  max-width: 170px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.foundation-header__actions { margin-left: auto !important; margin-right: 0 !important; }
.foundation-header__utility { gap: 24px !important; }
.foundation-header__utility a { font-size: 14px !important; }
.header-help-button,
.foundation-menu summary { min-height: 40px !important; height: 40px !important; }

.module-nav {
  min-height: 48px !important;
  background: #f6faf7 !important;
  border-top: 0 !important;
  border-bottom: 1px solid #dfe7e1 !important;
  backdrop-filter: none !important;
}
.module-nav__inner { min-height: 48px !important; }
.module-nav__brand::before { content: none !important; display: none !important; }
.module-nav__brand > span {
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  flex: 0 0 7px !important;
  border-radius: 50% !important;
  background: var(--v72-red) !important;
  box-shadow: 0 0 0 4px rgba(237, 11, 20, .07) !important;
}

.foundation-menu__panel {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
}

/* Public homepage rhythm. */
.hero-v4.hero-v7 { margin-top: 18px !important; min-height: 486px !important; }
.home-campaigns-v4.home-campaigns-v7 { padding-top: 34px !important; padding-bottom: 28px !important; }
.home-create-v3.home-create-v7 { margin-top: 18px !important; margin-bottom: 30px !important; }
.section-heading { margin-bottom: 18px !important; }
.section-heading h2 { margin-bottom: 6px !important; }

/* Campaign detail: reduce dead space and keep donation panel in normal flow. */
.campaign-v4 {
  margin-top: 24px !important;
  margin-bottom: 34px !important;
}
.campaign-v4__header {
  gap: 18px !important;
  margin-bottom: 20px !important;
  padding-bottom: 18px !important;
}
.campaign-v4__header h1 {
  margin: 6px 0 8px !important;
  font-size: clamp(38px, 4vw, 58px) !important;
  line-height: .98 !important;
}
.campaign-v4__header-meta { gap: 8px !important; }
.campaign-v4__grid {
  gap: 24px !important;
  align-items: start !important;
}
.campaign-v4__story { gap: 18px !important; }
.campaign-v4__cover { border-radius: 20px !important; overflow: hidden !important; }
.campaign-v4__story-meta {
  gap: 0 !important;
  border: 1px solid var(--v72-line) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.campaign-v4__story-meta > div {
  padding: 16px 18px !important;
}
.campaign-v4__story-meta > div + div { border-left: 1px solid var(--v72-line) !important; }
.campaign-v4__content {
  padding: 24px !important;
  border: 1px solid var(--v72-line) !important;
  border-radius: 20px !important;
  background: #fff !important;
}
.campaign-v4__content h2 { margin: 4px 0 14px !important; }
.campaign-v4__content .description p { margin: 0 0 12px !important; line-height: 1.6 !important; }
.campaign-v4__donation,
.donation-panel {
  position: static !important;
  top: auto !important;
  padding: 24px !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 50px rgba(15, 61, 42, .08) !important;
}
.amount-options { gap: 8px !important; }
.amount-option { min-height: 42px !important; }
.donation-form .form-field { margin-top: 14px !important; }
.donation-trust { margin-top: 18px !important; gap: 10px !important; }
.campaign-v4__share { margin-top: 0 !important; }
.section-other-campaigns-v4 { padding-top: 6px !important; padding-bottom: 32px !important; }

/* Auth/create/edit forms: premium but compact. */
.form-panel {
  width: min(880px, calc(100% - 40px)) !important;
  max-width: none !important;
  margin: 28px auto 42px !important;
  padding: clamp(24px, 3vw, 38px) !important;
  border: 1px solid var(--v72-line) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, #fff, #fbfcfb) !important;
  box-shadow: 0 24px 70px rgba(15, 61, 42, .07) !important;
  box-sizing: border-box !important;
}
.form-panel > h1 {
  margin: 4px 0 14px !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1 !important;
}
.form-intro,
.moderation-note {
  margin: 0 0 18px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  border: 1px solid var(--v72-line) !important;
  background: var(--v72-soft) !important;
}
.form-intro p,
.moderation-note p { margin: 6px 0 0 !important; }
.form-field { margin-bottom: 16px !important; }
.form-field > label {
  display: block !important;
  margin-bottom: 7px !important;
  color: #2b4938 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}
.form-field input:not([type="checkbox"]):not([type="radio"]),
.form-field textarea,
.form-field select,
.form-panel input:not([type="checkbox"]):not([type="radio"]),
.form-panel textarea,
.form-panel select {
  width: 100% !important;
  min-height: 46px !important;
  padding: 10px 13px !important;
  border: 1px solid #d8e1da !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}
.form-field textarea,
.form-panel textarea { min-height: 132px !important; resize: vertical !important; }
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus,
.form-panel input:focus,
.form-panel textarea:focus,
.form-panel select:focus {
  outline: 3px solid #294c37 !important;
  border-color: rgba(53, 107, 73, .55) !important;
}
.help-text { margin-top: 5px !important; color: var(--v72-muted) !important; font-size: 12px !important; line-height: 1.45 !important; }
.form-actions {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--v72-line) !important;
}

/* Generic account/dashboard blocks: remove oversized gaps without changing semantics. */
.dashboard,
.account-dashboard,
.dashboard-panel,
.account-panel {
  margin-top: 24px !important;
  margin-bottom: 34px !important;
}
.dashboard .section,
.account-dashboard .section { padding-top: 22px !important; padding-bottom: 22px !important; }

@media (max-width: 980px) {
  .foundation-header__utility { display: none !important; }
  .campaign-v4__grid { grid-template-columns: 1fr !important; }
  .campaign-v4__story-meta { grid-template-columns: 1fr !important; }
  .campaign-v4__story-meta > div + div {
    border-left: 0 !important;
    border-top: 1px solid var(--v72-line) !important;
  }
}

@media (max-width: 720px) {
  :root { --v72-rail: 16px; }
  .foundation-brand__logo { height: 36px !important; max-width: 150px !important; }
  .foundation-header__actions { gap: 8px !important; }
  .header-help-button { display: none !important; }
  .module-nav__inner { overflow-x: auto !important; }
  .hero-v4.hero-v7 { margin-top: 12px !important; }
  .form-panel { width: calc(100% - 24px) !important; margin-top: 16px !important; padding: 20px !important; }
  .campaign-v4 { margin-top: 16px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .button,
  .header-help-button,
  .foundation-menu summary,
  .module-nav__links a { transition: none !important; transform: none !important; }
}

/* source: ui-v7-3-refine.css */
/* V8 refinement — full-width flowing chrome, compact master hero, rebuilt account dashboard. */

:root {
  --v73-rail: clamp(20px, 3.2vw, 64px);
  --v73-master-rail: max(var(--v73-rail), calc((100vw - 1320px) / 2 + 28px));
}

/* Header: always full-width and always in document flow. */
html { scroll-padding-top: 24px !important; }
body .foundation-header,
body .module-nav {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  transform: none !important;
}
body .foundation-header { z-index: 30 !important; }
body .module-nav { z-index: 20 !important; }
body .foundation-header .foundation-header__inner,
body .module-nav .module-nav__inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: clamp(24px, 5.2vw, 88px) !important;
  padding-right: clamp(24px, 5.2vw, 88px) !important;
  box-sizing: border-box !important;
}
body .foundation-menu { position: relative !important; }
body .foundation-menu__panel {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  right: 0 !important;
  left: auto !important;
}

/* Homepage master block — full width but not oversized. */
body .hero-v4.hero-v7 {
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(430px, 61vh, 560px) !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(410px, .94fr) !important;
}
body .hero-v7 .hero-v4__copy {
  min-height: inherit !important;
  padding: clamp(30px, 3.6vw, 46px) clamp(30px, 3.5vw, 52px) clamp(30px, 3.6vw, 46px) var(--v73-master-rail) !important;
  justify-content: center !important;
}
body .hero-v7 .impact-board {
  min-height: inherit !important;
  padding: clamp(30px, 3.2vw, 44px) var(--v73-master-rail) clamp(30px, 3.2vw, 44px) clamp(30px, 3.5vw, 50px) !important;
}
body .hero-v7 .hero-v4__copy h1 {
  max-width: 690px !important;
  margin-bottom: 16px !important;
  font-size: clamp(46px, 4.4vw, 68px) !important;
  line-height: .95 !important;
}
body .hero-v7 .hero-v4__lead {
  max-width: 640px !important;
  margin-bottom: 18px !important;
  font-size: clamp(16px, 1.1vw, 18px) !important;
  line-height: 1.42 !important;
}
body .hero-v7 .hero-v4__actions { margin-bottom: 18px !important; }
body .hero-v7 .hero-v4__microproof { gap: 8px 16px !important; }
body .hero-v7 .impact-board__metric strong {
  font-size: clamp(60px, 5.5vw, 82px) !important;
  line-height: .9 !important;
}
body .hero-v7 .impact-board__metric { margin: 18px 0 20px !important; }
body .hero-v7 .impact-board__stories { gap: 9px !important; }
body .hero-v7 .impact-story { min-height: 70px !important; }

/* Account v8 — one compact shell, no duplicate publication guide. */
body .account-v8-shell {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 0 64px;
}
body .account-v8-head {
  min-height: 118px;
  padding: 20px 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  border: 1px solid rgba(15,61,42,.10);
  border-radius: 22px;
  background:
    radial-gradient(circle at 5% 16%, rgba(47,107,73,.055) 0 72px, transparent 73px),
    #fff;
}
body .account-v8-head__copy { min-width: 0; }
body .account-v8-head .eyebrow { margin-bottom: 5px !important; }
body .account-v8-head h1 {
  margin: 0 0 6px !important;
  font-size: clamp(38px, 4.2vw, 56px) !important;
  line-height: .96 !important;
}
body .account-v8-head p:not(.eyebrow) {
  max-width: 720px;
  margin: 0 !important;
  color: #66736b !important;
  line-height: 1.4 !important;
}
body .account-v8-create { white-space: nowrap; }

body .account-v8-admin {
  margin-top: 12px;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  border: 1px solid rgba(15,61,42,.10);
  border-left: 3px solid #ef141b;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #f8faf8);
}
body .account-v8-admin__copy { min-width: 0; }
body .account-v8-admin .eyebrow { margin: 0 0 4px !important; }
body .account-v8-admin__title-row {
  display: flex;
  align-items: center;
  gap: 10px 12px;
  flex-wrap: wrap;
}
body .account-v8-admin h2 {
  margin: 0 !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.05 !important;
}
body .account-v8-admin p:not(.eyebrow) {
  max-width: 740px;
  margin: 6px 0 0 !important;
  color: #6b776f !important;
  line-height: 1.38 !important;
}
body .account-v8-count {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff0c7;
  color: #805400;
  font-size: 12px;
  font-weight: 850;
}
body .account-v8-admin__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

body .account-v8-content {
  margin-top: 12px;
  padding: 18px;
  border: 1px solid rgba(15,61,42,.10);
  border-radius: 20px;
  background: #f8faf8;
}
body .account-v8-section-head {
  min-height: 50px;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
body .account-v8-section-head .eyebrow { margin: 0 0 3px !important; }
body .account-v8-section-head h2 {
  margin: 0 !important;
  font-size: clamp(22px, 2.1vw, 30px) !important;
}
body .account-v8-total {
  min-height: 30px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #eaf3ed;
  color: #194c33;
  font-size: 12px;
  font-weight: 800;
}
body .account-v8-list { gap: 10px !important; }
body .account-v8-card {
  padding: 16px 18px !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: none !important;
}
body .account-v8-empty {
  min-height: 132px;
  padding: 20px 22px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  border: 1px solid rgba(15,61,42,.10);
  border-radius: 16px;
  background: #fff;
}
body .account-v8-empty__mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff0f0;
  color: #ef141b;
  font-size: 28px;
  line-height: 1;
}
body .account-v8-empty h3 { margin: 0 0 4px !important; font-size: 20px !important; }
body .account-v8-empty p { margin: 0 !important; color: #6c7871 !important; }

@media (max-width: 980px) {
  body .hero-v4.hero-v7 { grid-template-columns: 1fr !important; min-height: auto !important; }
  body .hero-v7 .hero-v4__copy,
  body .hero-v7 .impact-board { min-height: auto !important; padding: 32px var(--v73-rail) !important; }
  body .hero-v7 .impact-board { min-height: 340px !important; }
  body .account-v8-head,
  body .account-v8-admin { grid-template-columns: 1fr !important; }
  body .account-v8-admin__actions { justify-content: flex-start; }
}

@media (max-width: 720px) {
  :root { --v73-rail: 16px; }
  body .foundation-header .foundation-header__inner,
  body .module-nav .module-nav__inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  body .foundation-menu__panel {
    position: fixed !important;
    top: 64px !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-height: calc(100vh - 80px) !important;
  }
  body .hero-v7 .hero-v4__copy { padding: 26px 18px 28px !important; }
  body .hero-v7 .impact-board { min-height: 310px !important; padding: 26px 18px !important; }
  body .hero-v7 .hero-v4__copy h1 { font-size: clamp(38px, 10.5vw, 54px) !important; }
  body .account-v8-shell { width: calc(100% - 28px); padding-top: 14px; }
  body .account-v8-head { min-height: auto; padding: 16px; gap: 14px; }
  body .account-v8-head h1 { font-size: 38px !important; }
  body .account-v8-create { width: 100%; justify-content: center; }
  body .account-v8-admin { padding: 14px; gap: 14px; }
  body .account-v8-admin__actions { display: grid; grid-template-columns: 1fr; }
  body .account-v8-admin__actions .button { width: 100%; justify-content: center; }
  body .account-v8-content { padding: 12px; }
  body .account-v8-empty { grid-template-columns: 36px minmax(0,1fr); padding: 16px; }
  body .account-v8-empty__mark { width: 36px; height: 36px; font-size: 24px; }
  body .account-v8-empty .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
}

/* source: ui-v9-final-polish.css */
/* V9 final polish — campaign detail rhythm and spacing. */

body .campaign-v4 {
  padding-top: clamp(28px, 3.2vw, 50px) !important;
}

body .campaign-v4__header {
  gap: clamp(30px, 4vw, 46px) !important;
  padding-bottom: clamp(24px, 2.8vw, 34px) !important;
}

body .campaign-v4__header-meta {
  padding: 20px 22px !important;
  border-radius: 0 0 20px 20px !important;
  box-shadow: 0 10px 28px rgba(20, 48, 33, .045) !important;
}

body .campaign-v4__grid {
  gap: clamp(34px, 4.2vw, 54px) !important;
}

body .campaign-v4__story-meta {
  gap: 12px !important;
  margin: 22px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  box-shadow: none !important;
}

body .campaign-v4__story-meta div,
body .campaign-v4__story-meta div + div,
body .campaign-v4__story-meta div:last-child {
  min-height: 92px !important;
  padding: 17px 18px !important;
  border: 1px solid rgba(18, 51, 35, .11) !important;
  border-radius: 18px !important;
  background: #f8faf8 !important;
  box-shadow: 0 7px 20px rgba(20, 48, 33, .025) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}

body .campaign-v4__story-meta div:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(20, 48, 33, .055) !important;
}

body .campaign-v4__story-meta span {
  font-size: 10.5px !important;
}

body .campaign-v4__story-meta strong {
  margin-top: 9px !important;
  font-size: 16px !important;
}

body .campaign-v4__content {
  margin-top: 24px !important;
  padding: clamp(30px, 3.2vw, 42px) clamp(24px, 3vw, 36px) !important;
  border: 1px solid rgba(18, 51, 35, .11) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(20, 48, 33, .035) !important;
}

body .campaign-v4__content .eyebrow {
  margin-bottom: 12px !important;
}

body .campaign-v4__content .description {
  margin-top: 22px !important;
}

body .campaign-v4__content .description p:first-child {
  margin-top: 0 !important;
}

body .campaign-v4__content .description p:last-child {
  margin-bottom: 0 !important;
}

body .campaign-v4__share {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  margin-top: 18px !important;
  padding: 22px !important;
  border-radius: 20px !important;
}

body .campaign-v4__share > div:first-child {
  display: grid !important;
  gap: 5px !important;
}

body .campaign-v4__share .share-panel__actions {
  display: flex !important;
  grid-column: 1 / -1 !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
}

body .campaign-v4__share .share-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 8px 13px !important;
  border: 1px solid rgba(18, 51, 35, .14) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #173f2c !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 0 5px 16px rgba(20, 48, 33, .045) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

body .campaign-v4__share .share-action:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(18, 51, 35, .3) !important;
  box-shadow: 0 8px 20px rgba(20, 48, 33, .09) !important;
}

body .campaign-v4__share .share-action:focus-visible {
  outline: 3px solid rgba(23, 63, 44, .28) !important;
  outline-offset: 2px !important;
}

body .campaign-v4__share .share-action__mark {
  display: inline-grid !important;
  place-items: center !important;
  min-width: 25px !important;
  height: 25px !important;
  padding-inline: 4px !important;
  border-radius: 8px !important;
  background: #edf3ef !important;
  color: #173f2c !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
}

body .campaign-v4__share .share-action--vk .share-action__mark {
  background: #2787f5 !important;
  color: #fff !important;
}

body .campaign-v4__share .share-action--ok .share-action__mark {
  background: #ee8208 !important;
  color: #fff !important;
}

body .campaign-v4__share .share-action--telegram .share-action__mark {
  background: #229ed9 !important;
  color: #fff !important;
}

body .campaign-v4__share .share-panel__result {
  display: block !important;
  grid-column: 1 / -1 !important;
  min-height: 1.35em !important;
  margin: -5px 0 0 !important;
  color: #416c4f !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body .campaign-v4__donation {
  box-shadow: 0 18px 48px rgba(20, 48, 33, .085) !important;
}

body .section-other-campaigns-v4 {
  padding-top: clamp(70px, 7vw, 104px) !important;
}

/* Portrait and landscape photos stay fully visible over a soft, photo-derived fill. */
body .adaptive-cover {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  overflow: hidden !important;
  background: #173f2c !important;
}

body .adaptive-cover__backdrop,
body .adaptive-cover__image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

body .adaptive-cover__backdrop {
  object-fit: cover !important;
  transform: scale(1.16) !important;
  filter: blur(20px) brightness(.63) saturate(.82) !important;
  opacity: .9 !important;
}

body .adaptive-cover__image {
  z-index: 1 !important;
  object-fit: contain !important;
  object-position: center 28% !important;
  filter: none !important;
  transform: none !important;
}

body .fundraiser-card-v4:hover .adaptive-cover__backdrop {
  transform: scale(1.19) !important;
}

body .fundraiser-card-v4:hover .adaptive-cover__image {
  transform: none !important;
}

/* Stable per-campaign variants feel organic without changing on every reload. */
body .fundraiser-card-v4 .card-media-fallback,
body .campaign-v4__fallback {
  isolation: isolate !important;
}

body .fundraiser-card-v4 .card-media-fallback--1,
body .campaign-v4__fallback--1 {
  background: radial-gradient(circle at 78% 18%, rgba(255,255,255,.13) 0 4.2rem, transparent 4.25rem), linear-gradient(145deg, #527a60, #2b5a3d 55%, #143425) !important;
}

body .fundraiser-card-v4 .card-media-fallback--2,
body .campaign-v4__fallback--2 {
  background: radial-gradient(circle at 18% 82%, rgba(239,16,24,.16), transparent 9rem), linear-gradient(145deg, #f4f0e8, #e1ebe3) !important;
}

body .fundraiser-card-v4 .card-media-fallback--3,
body .campaign-v4__fallback--3 {
  background: linear-gradient(115deg, transparent 0 58%, rgba(255,255,255,.07) 58% 60%, transparent 60%), linear-gradient(145deg, #183d2a, #071c13) !important;
}

body .fundraiser-card-v4 .card-media-fallback--4,
body .campaign-v4__fallback--4 {
  background: radial-gradient(circle at 74% 72%, rgba(239,16,24,.2), transparent 8rem), linear-gradient(135deg, #79917f, #365c45 58%, #173b2a) !important;
}

body .fundraiser-card-v4 .card-media-fallback--5,
body .campaign-v4__fallback--5 {
  background: radial-gradient(circle at 24% 18%, rgba(255,255,255,.52), transparent 7.5rem), linear-gradient(150deg, #efe8dd, #d6e2d9 58%, #b9cec0) !important;
}

body .fundraiser-card-v4 .card-media-fallback--6,
body .campaign-v4__fallback--6 {
  background: linear-gradient(62deg, transparent 0 48%, rgba(239,16,24,.13) 48% 49.5%, transparent 49.5%), linear-gradient(145deg, #294c37, #112d20 62%, #081b13) !important;
}

body .card-media-fallback__mark {
  position: absolute !important;
  right: 24px !important;
  bottom: 18px !important;
  z-index: 3 !important;
  color: rgba(255,255,255,.72) !important;
  font-family: Georgia, serif !important;
  font-size: 44px !important;
  line-height: 1 !important;
}

body .card-media-fallback--2 .card-media-fallback__kicker,
body .card-media-fallback--2 .card-media-fallback__mark,
body .card-media-fallback--5 .card-media-fallback__kicker,
body .card-media-fallback--5 .card-media-fallback__mark {
  color: #214b35 !important;
}

body .campaign-v4__fallback-copy {
  position: absolute !important;
  left: clamp(28px, 5vw, 64px) !important;
  bottom: clamp(34px, 6vw, 72px) !important;
  z-index: 3 !important;
  display: grid !important;
  max-width: min(64%, 520px) !important;
  gap: 13px !important;
  color: #fff !important;
}

body .campaign-v4__fallback-eyebrow {
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  opacity: .72 !important;
}

body .campaign-v4__fallback-title {
  font-family: Manrope, Arial, sans-serif !important;
  font-size: clamp(34px, 5.6vw, 72px) !important;
  font-weight: 800 !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
}

body .campaign-v4__fallback-mark {
  position: absolute !important;
  right: clamp(30px, 6vw, 74px) !important;
  top: clamp(28px, 6vw, 64px) !important;
  z-index: 3 !important;
  color: rgba(255,255,255,.76) !important;
  font-family: Georgia, serif !important;
  font-size: clamp(54px, 8vw, 104px) !important;
  line-height: 1 !important;
}

body .campaign-v4__fallback::after {
  left: auto !important;
  right: 5% !important;
  bottom: 7% !important;
  z-index: 1 !important;
}

body .campaign-v4__fallback--2 .campaign-v4__fallback-copy,
body .campaign-v4__fallback--2 .campaign-v4__fallback-mark,
body .campaign-v4__fallback--5 .campaign-v4__fallback-copy,
body .campaign-v4__fallback--5 .campaign-v4__fallback-mark {
  color: #173f2c !important;
}

/* Core story and payment content must never depend on a scroll animation. */
body .campaign-v4__story-meta,
body .campaign-v4__content,
body .campaign-v4__share,
body .campaign-v4__donation {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Four-card desktop carousel; touch, trackpad and keyboard scrolling work natively. */
body .related-carousel {
  min-width: 0 !important;
}

body .related-carousel__viewport {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 4px 3px 28px !important;
  scroll-behavior: smooth !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: none !important;
  overscroll-behavior-inline: contain !important;
}

body .related-carousel__viewport::-webkit-scrollbar {
  display: none !important;
}

body .section-other-campaigns-v4 .related-carousel__track {
  display: grid !important;
  grid-template-columns: none !important;
  grid-auto-flow: column !important;
  grid-auto-columns: calc((100% - 54px) / 4) !important;
  align-items: stretch !important;
  gap: 18px !important;
}

body .related-carousel__track > .fundraiser-card {
  width: 100% !important;
  min-width: 0 !important;
  scroll-snap-align: start !important;
}

body .related-carousel__controls {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  min-height: 48px !important;
  margin-top: 2px !important;
}

body .related-carousel__controls[hidden] {
  display: none !important;
}

body .related-carousel__button {
  display: inline-grid !important;
  place-items: center !important;
  width: 46px !important;
  height: 46px !important;
  padding: 0 !important;
  border: 1px solid rgba(18,51,35,.16) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #173f2c !important;
  font-size: 22px !important;
  cursor: pointer !important;
  box-shadow: 0 8px 24px rgba(20,48,33,.06) !important;
  transition: transform .18s ease, background .18s ease, color .18s ease, opacity .18s ease !important;
}

body .related-carousel__button:hover:not(:disabled) {
  transform: translateY(-2px) !important;
  background: #173f2c !important;
  color: #fff !important;
}

body .related-carousel__button:focus-visible {
  outline: 3px solid #294c37 !important;
  outline-offset: 3px !important;
}

body .related-carousel__button:disabled {
  opacity: .32 !important;
  cursor: default !important;
}

body .related-carousel__status {
  min-width: 72px !important;
  color: #6d7971 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

/* The source PNG contains transparent margins; enlarge it without clipping the visible mark. */
body .foundation-header .foundation-brand {
  display: inline-flex !important;
  align-items: center !important;
  width: 178px !important;
  min-width: 178px !important;
  height: 46px !important;
  overflow: visible !important;
}

body .foundation-header .foundation-brand__logo,
html.ux-scrolled body .foundation-header .foundation-brand__logo {
  width: 196px !important;
  height: auto !important;
  max-width: none !important;
  transform: translateX(-14px) !important;
}

/* Fallback for the default Django radio renderer. */
body .form-panel .form-field ul[id$="_visibility"] {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body .form-panel .form-field ul[id$="_visibility"] li {
  margin: 0 !important;
}

body .form-panel .form-field ul[id$="_visibility"] label {
  display: flex !important;
  align-items: center !important;
  min-height: 58px !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(18, 51, 35, .13) !important;
  border-radius: 15px !important;
  background: #fff !important;
  color: #26362d !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

/* Deliberate publishing choice: two full cards instead of raw radio controls. */
body .form-panel .form-field--visibility {
  margin-top: 4px !important;
  padding: 22px !important;
  border: 1px solid rgba(18, 51, 35, .11) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg, #f8fbf9 0%, #fff 100%) !important;
}

body .form-panel .visibility-choice-label {
  display: block !important;
  margin: 0 0 12px !important;
  color: #173f2c !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

body .form-panel .visibility-choice-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body .form-panel .visibility-choice-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 30px !important;
  align-items: start !important;
  min-height: 132px !important;
  gap: 14px !important;
  padding: 20px !important;
  border: 1px solid rgba(18, 51, 35, .13) !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: #243129 !important;
  cursor: pointer !important;
  box-shadow: 0 8px 24px rgba(20, 48, 33, .035) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

body .form-panel .visibility-choice-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(27, 104, 71, .35) !important;
  box-shadow: 0 14px 32px rgba(20, 48, 33, .07) !important;
}

body .form-panel .visibility-choice-card:has(input:checked) {
  border-color: #2d7954 !important;
  background: linear-gradient(145deg, #eff7f2 0%, #fff 72%) !important;
  box-shadow: 0 0 0 2px rgba(45, 121, 84, .08), 0 14px 34px rgba(20, 48, 33, .075) !important;
}

body .form-panel .visibility-choice-card:has(input:focus-visible) {
  outline: 3px solid #294c37 !important;
  outline-offset: 3px !important;
}

body .form-panel .visibility-choice-card input[type="radio"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body .form-panel .visibility-choice-card__body {
  display: block !important;
}

body .form-panel .visibility-choice-card__body strong {
  display: block !important;
  margin-bottom: 9px !important;
  color: #173f2c !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}

body .form-panel .visibility-choice-card__body > span {
  display: block !important;
  color: #6d7971 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

body .form-panel .visibility-choice-card__check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border: 1px solid rgba(18, 51, 35, .2) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: transparent !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease !important;
}

body .form-panel .visibility-choice-card:has(input:checked) .visibility-choice-card__check {
  border-color: #2d7954 !important;
  background: #2d7954 !important;
  color: #fff !important;
  transform: scale(1.04) !important;
}

body .form-panel .visibility-choice-help {
  margin-top: 11px !important;
  color: #7c8880 !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

body .campaign-v4__mobile-donate {
  display: none !important;
}

/* Legacy border and the animated pseudo-element otherwise draw two hover lines. */
body .foundation-header__utility a,
body .foundation-header__utility a:hover,
body .foundation-header__utility a:focus-visible {
  border-bottom: 0 !important;
}

body .campaign-v4__donation {
  scroll-margin-top: calc(var(--ux-header-height, 72px) + var(--ux-module-nav-height, 48px) + 12px);
}

/* Decorative rings must never intercept clicks on the creation CTA. */
body .home-create-v3.home-create-v7::before,
body .author-callout.author-callout-v7::before,
body .author-callout.author-callout-v7::after {
  pointer-events: none !important;
}

body .home-create-v3.home-create-v7 > *,
body .author-callout.author-callout-v7 > * {
  position: relative;
  z-index: 1;
}

body .home-create-v3.home-create-v7 > .button,
body .author-callout.author-callout-v7 > .button {
  z-index: 2;
  pointer-events: auto !important;
}

/* Preserve contrast in the dark moderation explainer after generic heading rules. */
body .campaign-rules__decision,
body .campaign-rules__decision h2,
body .campaign-rules__decision-grid strong {
  color: #fff !important;
}

body .campaign-rules__decision-grid span {
  color: rgba(255, 255, 255, .76) !important;
}

@media (max-width: 900px) {
  body .campaign-v4 {
    padding-top: 24px !important;
  }

  body .campaign-v4__header {
    padding-bottom: 24px !important;
  }

  body .campaign-v4__mobile-donate {
    display: inline-flex !important;
    width: calc(100% - 24px) !important;
    min-height: 50px !important;
    margin: 0 12px 20px !important;
  }
}

@media (max-width: 1100px) {
  body .section-other-campaigns-v4 .related-carousel__track {
    grid-auto-columns: calc((100% - 18px) / 2) !important;
  }
}

@media (max-width: 680px) {
  body .section-other-campaigns-v4 .related-carousel__track {
    grid-auto-columns: min(82vw, 320px) !important;
  }

  body .related-carousel__viewport {
    margin-right: -12px !important;
  }

  body .campaign-v4__fallback-copy {
    max-width: 68% !important;
  }

  body .campaign-v4__fallback-title {
    font-size: clamp(30px, 10vw, 48px) !important;
  }

  body .campaign-v4__share .share-panel__actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .campaign-v4__share .share-action {
    justify-content: flex-start !important;
    width: 100% !important;
  }

  body .foundation-header .foundation-brand {
    width: 150px !important;
    min-width: 150px !important;
    height: 42px !important;
  }

  body .foundation-header .foundation-brand__logo,
  html.ux-scrolled body .foundation-header .foundation-brand__logo {
    width: 170px !important;
    max-width: none !important;
    transform: translateX(-10px) !important;
  }

  body .campaign-v4__content {
    margin-top: 18px !important;
    padding: 24px 18px !important;
    border-radius: 20px !important;
  }

  body .campaign-v4__story-meta {
    margin-top: 16px !important;
    gap: 9px !important;
  }

  body .campaign-v4__story-meta div,
  body .campaign-v4__story-meta div + div,
  body .campaign-v4__story-meta div:last-child {
    min-height: 76px !important;
  }

  body .form-panel .form-field ul[id$="_visibility"],
  body .form-panel .visibility-choice-grid {
    grid-template-columns: 1fr !important;
  }

  body .form-panel .form-field--visibility {
    padding: 16px !important;
  }

  body .form-panel .visibility-choice-card {
    min-height: 112px !important;
    padding: 17px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .campaign-v4__story-meta div,
  body .form-panel .visibility-choice-card,
  body .form-panel .visibility-choice-card__check {
    transition: none !important;
  }

  body .related-carousel__viewport {
    scroll-behavior: auto !important;
  }
}

/* Shared interactive palette: always change foreground and background together. */
html body .button:not(.button-secondary),
html body .header-help-button {
  background: #dc0b16 !important;
  color: #fff !important;
}
html body .button:not(.button-secondary):is(:hover, :focus-visible, :active),
html body .header-help-button:is(:hover, :focus-visible, :active) {
  background: #b90b16 !important;
  color: #fff !important;
}
html body .button.button-secondary {
  background: #f3f8f5 !important;
  color: #174c36 !important;
  border-color: #adc7b8 !important;
}
html body .button.button-secondary:is(:hover, :focus-visible, :active) {
  background: #dceee3 !important;
  color: #103c2b !important;
  border-color: #52856a !important;
}
html body .module-nav .module-nav__links > a.module-nav__primary {
  background: #356b49 !important;
  color: #fff !important;
}
html body .module-nav .module-nav__links > a.module-nav__primary:is(:hover, :focus-visible, :active) {
  background: #234f37 !important;
  color: #fff !important;
}
html body .button:disabled,
html body .button.button-secondary:disabled,
html body .button:not(.button-secondary):disabled,
html body .button.button-secondary:disabled:is(:hover, :focus-visible, :active) {
  background: #e3e7e4 !important;
  color: #4a5950 !important;
  opacity: 1 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Leadership revision: event-only service, official brand assets and explicit contrast. */
.foundation-footer__vertical-brand {
  display: block !important;
  width: 176px !important;
  min-width: 176px !important;
  height: auto !important;
  overflow: visible !important;
}

.foundation-footer__vertical-brand img {
  display: block !important;
  width: 176px !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: left top !important;
}

.event-home .button-secondary,
.event-catalogue .button-secondary,
.event-builder-shell .button-secondary,
.auth-panel--event .button-secondary {
  border-color: #0e4b37 !important;
  background: #eef6f1 !important;
  color: #0e4b37 !important;
}

.event-home .button-secondary:hover,
.event-catalogue .button-secondary:hover,
.event-builder-shell .button-secondary:hover,
.auth-panel--event .button-secondary:hover {
  background: #dceee3 !important;
  color: #0a3829 !important;
}

.event-choice--single {
  grid-template-columns: minmax(0, 1fr) minmax(360px, .65fr);
}

.event-choice--single .event-choice__actions {
  grid-template-columns: 1fr;
}

.event-choice--single .event-choice__actions > div {
  min-height: 220px;
}

.event-field--occasion-select select {
  width: 100%;
}

@media (max-width: 720px) {
  .foundation-footer__vertical-brand,
  .foundation-footer__vertical-brand img {
    width: 142px !important;
    min-width: 142px !important;
  }
}

/* Leadership UX reset: event-first homepage and guided event builder. */
.event-home,
.event-builder-shell,
.auth-panel--event {
  --event-green: #0e4b37;
  --event-green-soft: #e8f2ed;
  --event-red: #f3131c;
  --event-cream: #f8f4ec;
}

.event-home {
  width: min(1460px, calc(100% - 48px));
  margin: 24px auto 72px;
  color: #122019;
}

.event-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(430px, .78fr);
  min-height: clamp(500px, 52svh, 560px);
  overflow: hidden;
  border: 1px solid rgba(14, 75, 55, .12);
  border-radius: 38px;
  background:
    radial-gradient(circle at 5% 100%, rgba(243, 19, 28, .08), transparent 28%),
    linear-gradient(135deg, #fff 0 57%, #edf5f0 57% 100%);
  box-shadow: 0 30px 80px rgba(23, 55, 43, .11);
}

/* A dismissible guide highlights one author action at a time. */
.event-builder-shell [hidden] { display: none !important; }
.event-builder-shell .event-guide-toggle { margin-top: 12px; }
.event-builder-shell .event-guide {
  position: relative;
  margin: 0 0 22px;
  padding: 22px 24px;
  border: 1px solid #b3d4c2;
  border-left: 5px solid #2f7352;
  border-radius: 20px;
  background: #eff7f2;
  box-shadow: 0 12px 28px rgba(14, 75, 55, .06);
  scroll-margin-top: 170px;
}
.event-guide__heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.event-guide__count { color: #326449; font-size: 12px; font-weight: 800; }
.event-builder-shell .event-guide__close { display: grid; place-items: center; min-width: 44px; min-height: 44px; border: 0; border-radius: 50%; background: #dceee3; color: #164b34; font-size: 24px; cursor: pointer; }
.event-builder-shell .event-guide h2 { margin: 4px 0 8px; color: #154a34; font: 800 23px/1.25 Manrope, Arial, sans-serif; letter-spacing: -.02em; }
.event-builder-shell .event-guide p { margin: 0; color: #385a49; font-size: 15px; line-height: 1.6; }
.event-builder-shell .event-guide .event-guide__notice:empty { display: none; }
.event-builder-shell .event-guide .event-guide__notice { margin-top: 12px; color: #a12627; font-weight: 700; }
.event-guide__actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
.event-builder-shell .event-guide__actions .button { min-height: 46px; padding: 12px 18px; font-size: 13px; }
.event-builder-shell .event-guide-highlight { outline: 2px solid #3b805b; outline-offset: 7px; border-radius: 16px; scroll-margin-top: 170px; animation: event-guide-glow 1.8s ease-in-out 2; }
.event-builder-progress li[aria-current="step"] span { background: #0e4b37; color: #fff; box-shadow: 0 0 0 6px #e1efe6; }
.event-builder-progress li[aria-current="step"] { color: #0e4b37; }
.event-builder-shell .event-guide-submit { animation: event-guide-glow 1.8s ease-in-out 2; }
.event-guide__close:focus-visible, .event-guide-toggle:focus-visible { outline: 3px solid #275e42; outline-offset: 4px; }
@keyframes event-guide-glow {
  0%, 100% { box-shadow: 0 0 0 4px rgba(47, 115, 82, .04); }
  50% { box-shadow: 0 0 0 9px rgba(47, 115, 82, .17); }
}
@media (max-width: 700px) {
  .event-builder-shell .event-guide { padding: 16px; margin-bottom: 22px; }
  .event-builder-shell .event-guide h2 { font-size: 21px; }
  .event-builder-shell .event-guide__actions .button { flex: 1 1 100%; white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .event-builder-shell .event-guide-highlight, .event-builder-shell .event-guide-submit { animation: none; }
}

.event-hero::before {
  content: "";
  position: absolute;
  left: -130px;
  bottom: -190px;
  width: 420px;
  height: 420px;
  border: 62px solid rgba(243, 19, 28, .045);
  border-radius: 50%;
}

.event-hero__copy {
  position: relative;
  z-index: 2;
  align-self: center;
  max-width: 790px;
  padding: clamp(38px, 4.5vw, 68px);
}

.event-hero__copy h1 {
  max-width: 760px;
  margin: 14px 0 24px;
  font: 800 clamp(50px, 5vw, 78px)/.91 Manrope, Arial, sans-serif;
  letter-spacing: -.065em;
  color: #111715;
}

.event-hero__copy h1 span { display: block; color: var(--event-green); }
.event-hero__lead { max-width: 680px; margin: 0; font-size: clamp(17px, 1.25vw, 20px); line-height: 1.5; color: #56645e; }
.event-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; margin-top: 26px; }
.event-hero__actions .button { min-height: 58px; padding-inline: 30px; }
.event-hero__secondary { font-weight: 800; color: var(--event-green); text-decoration: none; }
.event-hero__secondary:hover { color: var(--event-red); }
.event-hero__note { display: flex; gap: 10px; align-items: flex-start; margin: 18px 0 0; font-size: 13px; line-height: 1.5; color: #68756f; }
.event-hero__note span { display: grid; place-items: center; flex: 0 0 22px; height: 22px; border-radius: 50%; background: var(--event-green-soft); color: var(--event-green); font-weight: 900; }

.event-hero__visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 520px;
  padding: 36px 68px 36px 22px;
  perspective: 1200px;
}

.event-invite {
  position: relative;
  z-index: 2;
  width: min(100%, 370px);
  min-height: 400px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(14, 75, 55, .16);
  border-radius: 30px;
  background:
    radial-gradient(circle at 78% 18%, rgba(243, 19, 28, .16) 0 7%, transparent 7.4%),
    radial-gradient(circle at 88% 29%, rgba(14, 75, 55, .1) 0 12%, transparent 12.4%),
    #fff;
  box-shadow: 0 34px 70px rgba(7, 48, 33, .18);
  transform: rotateY(-8deg) rotateX(3deg) rotate(2deg);
  animation: event-card-float 6s ease-in-out infinite;
}

.event-hero__visual { row-gap: 20px; align-content: center; }
.event-hero__example-note {
  position: relative;
  z-index: 2;
  margin: 0;
  text-align: center;
  color: #234f3b;
  font-size: 13px;
  line-height: 1.45;
}
.event-hero__example-note strong { display: block; font-weight: 800; }
.event-hero__example-note span { display: block; margin-top: 4px; }
.event-invite--linked {
  color: inherit;
  text-decoration: none;
}

.event-invite--linked:focus-visible {
  outline: 4px solid rgba(243, 19, 28, .38);
  outline-offset: 6px;
}

.event-invite::after {
  content: "";
  position: absolute;
  right: -44px;
  bottom: -48px;
  width: 180px;
  height: 180px;
  border: 34px solid rgba(243, 19, 28, .08);
  border-radius: 50%;
}

.event-invite--back {
  position: absolute;
  z-index: 1;
  width: 320px;
  min-height: 370px;
  background: #bad7c8;
  transform: translate(-42px, 28px) rotate(-7deg);
  animation: none;
  opacity: .75;
}

.event-invite__topline { display: flex; justify-content: space-between; align-items: center; font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--event-green); }
.event-invite__topline i { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; background: var(--event-red); color: #fff; font-size: 23px; font-style: normal; }
.event-invite__occasion { display: inline-flex; margin-top: 38px; padding: 7px 11px; border-radius: 999px; background: var(--event-green-soft); color: var(--event-green); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.event-invite > strong { display: -webkit-box; max-width: 310px; max-height: 3.8em; margin-top: 16px; overflow: hidden; font: 800 clamp(34px, 3.1vw, 48px)/.95 Manrope, Arial, sans-serif; letter-spacing: -.055em; color: var(--event-green); -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.event-invite > p { display: -webkit-box; max-width: 290px; margin: 16px 0 26px; overflow: hidden; line-height: 1.48; color: #68756f; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.event-invite__progress { height: 8px; overflow: hidden; border-radius: 999px; background: #e5ece8; }
.event-invite__progress span { display: block; width: 55%; height: 100%; border-radius: inherit; background: var(--event-red); }
.event-invite__footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 12px; font-size: 13px; color: #748079; }
.event-invite__footer b { color: #16231d; font-size: 17px; }
.event-invite__footer--without-target { margin-top: 28px; padding-top: 14px; border-top: 1px solid #e5ece8; }

.event-hero__gift { position: absolute; z-index: 4; display: grid; place-items: center; border-radius: 18px; box-shadow: 0 18px 36px rgba(22, 59, 45, .16); font-weight: 900; }
.event-hero__gift--one { top: 11%; right: 7%; width: 58px; height: 58px; background: var(--event-red); color: #fff; transform: rotate(12deg); }
.event-hero__gift--two { z-index: 1; bottom: 13%; left: 2%; width: 70px; height: 70px; background: var(--event-green); color: #fff; font-size: 28px; transform: rotate(-10deg); }
.event-hero__gift--three { right: 4%; bottom: 23%; width: 46px; height: 46px; background: #fff; color: var(--event-red); transform: rotate(8deg); }

@keyframes event-card-float {
  0%, 100% { transform: rotateY(-8deg) rotateX(3deg) rotate(2deg) translateY(0); }
  50% { transform: rotateY(-4deg) rotateX(1deg) rotate(1deg) translateY(-10px); }
}

.event-how,
.event-plain,
.event-occasions,
.event-examples,
.event-trust,
.event-faq,
.event-choice { margin-top: 28px; border-radius: 34px; }
.event-how,
.event-plain,
.event-occasions,
.event-examples,
.event-faq,
.event-choice { padding: clamp(42px, 5vw, 78px); border: 1px solid #dce5e0; background: #fff; }
.event-section-heading { max-width: 760px; }
.event-section-heading h2,
.event-trust h2,
.event-choice h2 { margin: 10px 0 14px; font: 800 clamp(38px, 4vw, 66px)/1 Manrope, Arial, sans-serif; letter-spacing: -.05em; color: var(--event-green); }
.event-section-heading > p:not(.eyebrow),
.event-section-heading--row > p { margin: 0; font-size: 18px; line-height: 1.55; color: #6b7771; }
.event-section-heading--row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .48fr); gap: 50px; align-items: end; max-width: none; }

.event-plain { background: var(--event-cream); }
.event-plain__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 38px 0 0; padding: 0; list-style: none; }
.event-plain__grid li { padding: 24px; border: 1px solid rgba(14,75,55,.12); border-radius: 22px; background: #fff; }
.event-plain__grid li > span { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 24px; border-radius: 13px; background: var(--event-green); color: #fff; font-weight: 900; }
.event-plain__grid strong { display: block; margin-bottom: 8px; color: #16231d; font-size: 18px; line-height: 1.25; }
.event-plain__grid p { margin: 0; color: #66736c; line-height: 1.55; }

.event-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 42px 0 0; padding: 0; list-style: none; }
.event-steps li { display: grid; grid-template-columns: auto 1fr; gap: 18px; min-height: 196px; padding: 26px; border-radius: 24px; background: #f4f8f5; }
.event-steps li > span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 18px; background: var(--event-green); color: #fff; font-weight: 900; }
.event-steps li:nth-child(2) > span { background: var(--event-red); }
.event-steps h3 { margin: 7px 0 10px; font-size: 22px; line-height: 1.15; color: #14221b; }
.event-steps p { margin: 0; line-height: 1.55; color: #6a7670; }

.event-occasion-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 42px; }
.event-occasion-card { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 330px; padding: 24px; overflow: hidden; border-radius: 26px; color: #fff; text-decoration: none; isolation: isolate; transition: transform .2s ease, box-shadow .2s ease; }
.event-occasion-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(14,75,55,.16); }
.event-occasion-card:focus-visible { outline: 4px solid rgba(243,19,28,.28); outline-offset: 4px; }
.event-occasion-card::before,
.event-occasion-card::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; opacity: .35; }
.event-occasion-card::before { width: 220px; height: 220px; right: -75px; top: -80px; border: 35px solid currentColor; }
.event-occasion-card::after { width: 120px; height: 120px; left: -48px; bottom: -52px; background: currentColor; }
.event-occasion-card--birthday { background: #f3131c; color: #ffd8da; }
.event-occasion-card--wedding { background: #0e4b37; color: #a9d0bf; }
.event-occasion-card--sport { background: #f0e7d8; color: #cba0a2; }
.event-occasion-card--team { background: #c8ded3; color: #69927f; }
.event-occasion-card--memory { background: #7d3962; color: #e8b7d5; }
.event-occasion-card--other { background: #225b86; color: #9fcce9; }
.event-occasion-card > span { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.45); border-radius: 15px; color: #fff; font-weight: 900; }
.event-occasion-card--sport > span,
.event-occasion-card--team > span { border-color: rgba(14,75,55,.25); color: var(--event-green); }
.event-occasion-card p { margin: 0 0 10px; color: rgba(255,255,255,.76); font-size: 12px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.event-occasion-card--sport p,
.event-occasion-card--team p { color: var(--event-green); }
.event-occasion-card h3 { max-width: 260px; margin: 0; color: #fff !important; font-size: 25px; line-height: 1.15; }
.event-occasion-card--sport h3,
.event-occasion-card--team h3 { color: #133d2e !important; }
.event-occasion-card em { display: inline-block; margin-top: 20px; color: #fff; font-size: 12px; font-style: normal; font-weight: 900; letter-spacing: .03em; }
.event-occasion-card--sport em,
.event-occasion-card--team em { color: var(--event-green); }
.event-occasions__action { display: flex; justify-content: center; margin-top: 34px; }

.event-examples__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 42px;
}
.event-examples__grid .fundraiser-card { min-width: 0; }
.event-examples__action { display: flex; justify-content: center; margin-top: 30px; }

.event-trust { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1fr); gap: 70px; padding: clamp(46px, 6vw, 86px); background: var(--event-green); color: #fff; }
.event-trust .eyebrow { color: #ff7880 !important; }
.event-trust h2 { color: #fff !important; }
.event-trust__copy > p:not(.eyebrow) { max-width: 600px; font-size: 18px; line-height: 1.65; color: rgba(255,255,255,.7); }
.event-trust__list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.event-trust__list li { display: grid; grid-template-columns: auto 1fr; gap: 16px; padding: 20px; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; background: rgba(255,255,255,.055); }
.event-trust__list li > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #fff; color: var(--event-green); font-weight: 900; }
.event-trust__list strong { display: block; margin: 4px 0 6px; font-size: 17px; }
.event-trust__list p { margin: 0; color: rgba(255,255,255,.65); line-height: 1.45; }

.event-faq__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 38px; }
.event-faq details { border: 1px solid #d9e3de; border-radius: 20px; background: #f7faf8; }
.event-faq summary { position: relative; padding: 22px 54px 22px 22px; color: #173428; font-size: 17px; font-weight: 850; line-height: 1.35; cursor: pointer; list-style: none; }
.event-faq summary::-webkit-details-marker { display: none; }
.event-faq summary::after { content: "+"; position: absolute; top: 17px; right: 18px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: #e5f0ea; color: var(--event-green); font-size: 22px; }
.event-faq details[open] summary::after { content: "−"; }
.event-faq details[open] { background: #fff; box-shadow: 0 14px 32px rgba(14,75,55,.08); }
.event-faq details p { margin: 0; padding: 0 22px 24px; color: #627068; line-height: 1.6; }
.event-faq summary:focus-visible { outline: 4px solid rgba(243,19,28,.22); outline-offset: 3px; border-radius: 18px; }

.event-choice { display: grid; grid-template-columns: minmax(0, .8fr) minmax(560px, 1fr); gap: 60px; align-items: center; background: var(--event-cream); }
.event-choice__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.event-choice__actions > div { display: flex; flex-direction: column; align-items: flex-start; min-height: 250px; padding: 28px; border: 1px solid rgba(14,75,55,.13); border-radius: 24px; background: #fff; }
.event-choice__actions strong { font-size: 22px; color: var(--event-green); }
.event-choice__actions p { flex: 1; line-height: 1.5; color: #6a7670; }

/* Event builder */
.event-builder-shell { width: min(1320px, calc(100% - 48px)); margin: 28px auto 74px; }
.event-builder-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; padding: clamp(34px, 5vw, 64px); border-radius: 32px; background: var(--event-cream); }
.event-builder-head h1 { margin: 10px 0 12px; font: 800 clamp(42px, 5vw, 72px)/.98 Manrope, Arial, sans-serif; letter-spacing: -.055em; color: var(--event-green); }
.event-builder-head > div > p:last-child { max-width: 720px; margin: 0; font-size: 18px; line-height: 1.55; color: #6a7670; }
.event-builder-progress { display: flex; gap: 20px; margin: 0; padding: 0; list-style: none; }
.event-builder-progress li { display: grid; gap: 8px; min-width: 86px; color: #5f6b65; font-size: 12px; font-weight: 800; text-align: center; }
.event-builder-progress span { display: grid; place-items: center; width: 42px; height: 42px; margin: 0 auto; border-radius: 50%; background: #fff; color: var(--event-green); box-shadow: 0 8px 18px rgba(14,75,55,.1); }
.event-builder-progress li:last-child span { background: var(--event-green); color: #fff; }
.event-builder-guide { margin-top: 18px; padding: 24px; border: 1px solid #cfe0d7; border-radius: 22px; background: #edf6f1; }
.event-builder-guide h2 { margin: 0 0 8px; color: #153e2e; font-size: 22px; }
.event-builder-guide > p { margin: 0; color: #5f7067; line-height: 1.5; }
.event-builder-guide ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; counter-reset: builder-guide; }
.event-builder-guide li { position: relative; min-height: 112px; padding: 18px 16px 16px 50px; border-radius: 16px; background: #fff; color: #5e6c65; font-size: 13px; line-height: 1.45; counter-increment: builder-guide; }
.event-builder-guide li::before { content: counter(builder-guide); position: absolute; top: 16px; left: 14px; display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; background: var(--event-green); color: #fff; font-weight: 900; }
.event-builder-guide li strong { display: block; margin-bottom: 4px; color: #182b22; font-size: 14px; }
.event-builder-alert,
.event-builder-note { margin: 18px 0 0; padding: 20px 24px; border: 1px solid #d6e4dd; border-radius: 20px; background: #f3f8f5; }
.event-builder-alert p,
.event-builder-note p { margin: 6px 0 0; color: #617068; }
.event-builder__layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 22px; align-items: start; margin-top: 22px; }
.event-builder__fields { display: grid; gap: 18px; min-width: 0; }
.event-builder-step { display: grid; gap: 22px; min-width: 0; margin: 0; padding: clamp(26px, 4vw, 44px); border: 1px solid #dce5e0; border-radius: 28px; background: #fff; }
.event-builder-step legend { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; align-items: center; width: 100%; padding: 0 0 20px; }
.event-builder-step legend > span { grid-row: span 2; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; background: var(--event-green); color: #fff; font-weight: 900; }
.event-builder-step:nth-child(2) legend > span { background: var(--event-red); }
.event-builder-step legend strong { font-size: 24px; color: #16231d; }
.event-builder-step legend small { color: #718078; line-height: 1.4; }
.occasion-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.occasion-picker button { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 10px 14px; border: 1px solid #d7e1dc; border-radius: 16px; background: #fff; color: #26352e; font: 750 13px/1.2 Manrope, Arial, sans-serif; text-align: left; cursor: pointer; }
.occasion-picker button:hover,
.occasion-picker button[aria-pressed="true"] { border-color: var(--event-green); background: var(--event-green-soft); color: var(--event-green); box-shadow: inset 0 0 0 1px var(--event-green); }
.occasion-picker button span { display: grid; place-items: center; flex: 0 0 32px; height: 32px; border-radius: 10px; background: #f3f6f4; }
.event-field { min-width: 0; }
.event-field > label { display: block; margin-bottom: 8px; color: #1b2d24; font-size: 14px; font-weight: 850; }
.event-field input:not([type="checkbox"]):not([type="radio"]),
.event-field textarea,
.event-field select { width: 100%; min-height: 52px; padding: 14px 16px; border: 1px solid #cfd9d4; border-radius: 15px; background: #fff; color: #17251e; font: 500 16px/1.45 Manrope, Arial, sans-serif; box-shadow: none; }
.event-field textarea { min-height: 112px; resize: vertical; }
.event-field input:focus,
.event-field textarea:focus,
.event-field select:focus { border-color: var(--event-green); outline: 3px solid rgba(14,75,55,.12); }
.event-field__hint { margin: 7px 0 0; color: #7c8982; font-size: 12px; line-height: 1.45; }
.event-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.event-cover-field__control { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: center; padding: 18px; border: 1px dashed #aebfb7; border-radius: 18px; background: #f8fbf9; }
.event-cover-field__control > span { display: grid; place-items: center; grid-row: span 2; width: 48px; height: 48px; border-radius: 15px; background: var(--event-green-soft); color: var(--event-green); font-size: 24px; }
.event-cover-field__control strong { color: var(--event-green); }
.event-cover-field__control p { margin: 4px 0 10px; color: #75827b; font-size: 12px; line-height: 1.45; }
.event-cover-field__control input[type="file"] { grid-column: 2; width: 100%; color: #5e6d66; font-size: 13px; }
.event-cover-field__control input[type="file"]::file-selector-button { margin-right: 10px; padding: 9px 13px; border: 0; border-radius: 10px; background: var(--event-green); color: #fff; font-weight: 800; cursor: pointer; }
.event-builder-step .visibility-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 0 !important;
}
.event-builder-step .visibility-choice-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  min-height: 142px;
  padding: 22px;
  border: 1px solid #d4dfd9;
  border-radius: 20px;
  background: #fff;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.event-builder-step .visibility-choice-card:hover { transform: translateY(-2px); border-color: #86aa98; box-shadow: 0 12px 28px rgba(14,75,55,.08); }
.event-builder-step .visibility-choice-card:has(input:checked) { border-color: var(--event-green); background: #eef6f1; box-shadow: inset 0 0 0 1px var(--event-green); }
.event-builder-step .visibility-choice-card input[type="radio"] { width: 22px; height: 22px; margin: 0; accent-color: var(--event-green); }
.event-builder-step .visibility-choice-card__body { display: block; min-width: 0; }
.event-builder-step .visibility-choice-card__body strong { display: block; margin: 1px 0 9px; color: #17372a; font-size: 17px; line-height: 1.25; }
.event-builder-step .visibility-choice-card__body > span { display: block; color: #68766f; font-size: 13px; line-height: 1.5; }
.event-builder-step .visibility-choice-card__check { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #bdcec5; border-radius: 50%; color: transparent; font-weight: 900; }
.event-builder-step .visibility-choice-card:has(input:checked) .visibility-choice-card__check { border-color: var(--event-green); background: var(--event-green); color: #fff; }
.publication-rules-check { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; padding: 18px; border-radius: 16px; background: #f5f8f6; }
.publication-rules-check input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--event-green); }
.publication-rules-check label { line-height: 1.5; color: #526159; }
.publication-rules-check a { color: var(--event-green); font-weight: 800; }
.event-builder-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 8px 2px 0; }
.event-builder-actions > p { flex-basis: 100%; margin: 0; color: #748078; font-size: 12px; }
.event-builder-submit-help { padding: 22px; border: 1px solid #dce5e0; border-radius: 20px; background: #f7f9f8; }
.event-builder-submit-help > strong { display: block; margin-bottom: 12px; color: #17372a; font-size: 17px; }
.event-builder-submit-help ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.event-builder-submit-help li { color: #607068; line-height: 1.5; }
.event-builder-submit-help b { color: #1b2d24; }
.event-builder-preview { position: sticky; top: 20px; overflow: hidden; border: 1px solid #d7e2dc; border-radius: 28px; background: #fff; box-shadow: 0 24px 60px rgba(24,56,43,.12); }
.event-builder-preview__topline { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid #e1e8e4; color: #617068; font-size: 12px; font-weight: 850; }
.event-builder-preview__topline i { color: var(--event-red); font-size: 10px; }
.event-builder-preview__cover { position: relative; min-height: 330px; padding: 30px 26px; overflow: hidden; background:
  radial-gradient(circle at 82% 21%, #f3131c 0 8%, transparent 8.4%),
  radial-gradient(circle at 92% 35%, rgba(243,19,28,.22) 0 11%, transparent 11.4%),
  linear-gradient(145deg, #f3eee5, #dce9e1); }
.event-builder-preview__cover::after { content: ""; position: absolute; right: -55px; bottom: -55px; width: 170px; height: 170px; border: 28px solid rgba(14,75,55,.1); border-radius: 50%; }
.event-builder-preview__cover.has-user-cover { background-image: linear-gradient(rgba(8,43,30,.38), rgba(8,43,30,.62)), var(--event-cover-image); background-position: center; background-size: cover; }
.event-builder-preview__occasion { position: relative; z-index: 1; display: inline-flex; padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.88); color: var(--event-green); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.event-builder-preview__cover > strong { position: relative; z-index: 1; display: block; margin-top: 90px; font: 800 38px/1 Manrope, Arial, sans-serif; letter-spacing: -.05em; color: var(--event-green); overflow-wrap: anywhere; }
.event-builder-preview__cover > p { position: relative; z-index: 1; max-width: 290px; margin: 14px 0 0; color: #48675a; line-height: 1.4; overflow-wrap: anywhere; }
.event-builder-preview__cover.has-user-cover > strong,
.event-builder-preview__cover.has-user-cover > p { color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.22); }
.event-builder-preview__body { padding: 24px; }
.event-builder-preview__body > p:first-child { margin: 0 0 3px; color: #89948e; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.event-builder-preview__body > strong { color: #19271f; }
.event-builder-preview__progress { height: 7px; margin: 20px 0 10px; overflow: hidden; border-radius: 999px; background: #e4ebe7; }
.event-builder-preview__progress span { display: block; width: 32%; height: 100%; background: var(--event-red); }
.event-builder-preview__amount { display: flex; justify-content: space-between; gap: 12px; color: #7b8780; font-size: 11px; }
.event-builder-preview__amount b { color: #26342d; }
.event-builder-preview__amount i { color: inherit; font-style: normal; }
.event-builder-preview__message { display: grid; grid-template-columns: auto 1fr; gap: 8px; margin-top: 22px; padding: 16px; border-radius: 15px; background: #f5f8f6; }
.event-builder-preview__message span { color: var(--event-red); font: 800 28px/1 serif; }
.event-builder-preview__message p { margin: 0; color: #5e6b65; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.event-builder-preview__note { margin: 0; padding: 14px 20px; border-top: 1px solid #e5ebe8; color: #8a958f; font-size: 10px; line-height: 1.45; }

.auth-panel--event { max-width: 660px !important; }
.auth-panel--event h1 { margin: 8px 0 12px; color: var(--event-green); font-size: clamp(38px, 5vw, 58px); line-height: 1; letter-spacing: -.045em; }
.auth-panel--event > p:not(.eyebrow) { color: #66736d; line-height: 1.55; }
.auth-panel__promise { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 24px 0; }
.auth-panel__promise span { display: flex; align-items: center; gap: 8px; padding: 10px; border-radius: 12px; background: #f2f7f4; color: #526158; font-size: 11px; font-weight: 800; }
.auth-panel__promise b { display: grid; place-items: center; flex: 0 0 24px; height: 24px; border-radius: 8px; background: #0e4b37; color: #fff; }

@media (max-width: 1120px) {
  .event-hero { grid-template-columns: 1fr 400px; }
  .event-hero__copy { padding: 58px 46px; }
  .event-hero__visual { padding-right: 40px; }
  .event-occasion-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-examples__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-plain__grid,
  .event-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-trust,
  .event-choice { grid-template-columns: 1fr; }
  .event-builder__layout { grid-template-columns: minmax(0, 1fr) 340px; }
}

@media (max-width: 900px) {
  .event-home,
  .event-builder-shell { width: min(100% - 28px, 760px); }
  .event-hero { grid-template-columns: 1fr; }
  .event-hero__visual { min-height: 540px; padding: 20px 50px 60px; }
  .event-steps { grid-template-columns: 1fr; }
  .event-steps li { min-height: 0; }
  .event-section-heading--row { grid-template-columns: 1fr; gap: 12px; }
  .event-trust { grid-template-columns: 1fr; gap: 34px; }
  .event-builder-head { grid-template-columns: 1fr; }
  .event-builder-progress { justify-content: flex-start; }
  .event-builder__layout { grid-template-columns: 1fr; }
  .event-builder-preview { position: relative; top: auto; grid-row: 1; max-width: 560px; margin-inline: auto; }
}

@media (max-width: 620px) {
  .event-home { margin-top: 14px; }
  .event-hero,
  .event-how,
  .event-plain,
  .event-occasions,
  .event-examples,
  .event-trust,
  .event-faq,
  .event-choice,
  .event-builder-head,
  .event-builder-step { border-radius: 22px; }
  .event-hero__copy { padding: 38px 24px 20px; }
  .event-hero__copy h1 { font-size: clamp(48px, 14.5vw, 68px); }
  .event-hero__actions { align-items: stretch; }
  .event-hero__actions .button { width: 100%; }
  .event-hero__secondary { padding: 10px 2px; text-align: center; }
  .event-hero__visual { min-height: 440px; padding: 26px 28px 44px; }
  .event-invite { min-height: 410px; padding: 26px; }
  .event-invite--back { width: 78%; min-height: 380px; }
  .event-invite__occasion { margin-top: 52px; }
  .event-invite > strong { font-size: 42px; }
  .event-hero__gift--two { left: 1%; bottom: 7%; }
  .event-how,
  .event-plain,
  .event-occasions,
  .event-examples,
  .event-trust,
  .event-faq,
  .event-choice { padding: 34px 22px; }
  .event-section-heading h2,
  .event-trust h2,
  .event-choice h2 { font-size: 39px; }
  .event-steps li { grid-template-columns: 1fr; }
  .event-plain__grid,
  .event-steps,
  .event-faq__grid,
  .event-builder-guide ol { grid-template-columns: 1fr; }
  .event-plain__grid li,
  .event-builder-guide li { min-height: 0; }
  .event-occasion-grid { grid-template-columns: 1fr; }
  .event-occasion-card { min-height: 240px; }
  .event-choice__actions { grid-template-columns: 1fr; }
  .event-choice__actions > div { min-height: 220px; }
  .event-builder-shell { margin-top: 14px; }
  .event-builder-head { padding: 30px 22px; }
  .event-builder-head h1 { font-size: 43px; }
  .event-builder-progress { width: 100%; gap: 6px; }
  .event-builder-progress li { min-width: 0; flex: 1; }
  .event-builder-step { padding: 26px 18px; }
  .occasion-picker { grid-template-columns: 1fr 1fr; }
  .event-field-row { grid-template-columns: 1fr; }
  .event-builder-step .visibility-choice-grid,
  .event-examples__grid { grid-template-columns: 1fr; }
  .event-builder-preview { width: 100%; }
  .event-builder-actions .button { width: 100%; }
  .auth-panel__promise { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .event-invite { animation: none; }
}

/* Homepage-only interactive impact map. The catalogue has no matching markup. */
body .hero-v7 .impact-board--interactive {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  min-height: 570px !important;
  isolation: isolate;
  background:
    radial-gradient(circle at var(--pointer-x, 76%) var(--pointer-y, 22%), rgba(242, 31, 40, .2), transparent 24%),
    radial-gradient(circle at 18% 90%, rgba(116, 182, 139, .17), transparent 34%),
    linear-gradient(145deg, #176041 0%, #0d432e 48%, #072b1e 100%) !important;
}

body .hero-v7 .impact-board--interactive::before {
  width: 320px !important;
  height: 320px !important;
  right: -175px !important;
  bottom: -178px !important;
  border-width: 38px !important;
  pointer-events: none !important;
}

body .hero-v7 .impact-board--interactive .impact-board__topline {
  position: relative !important;
  z-index: 5 !important;
}

body .hero-v7 .impact-board--interactive .impact-board__live {
  max-width: 178px;
  text-align: right;
}

body .hero-v7 .impact-board__stage {
  position: relative !important;
  z-index: 2 !important;
  height: 238px !important;
  min-height: 238px !important;
  margin: 12px 0 9px !important;
  perspective: 850px;
  transform: rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transform-style: preserve-3d;
  transition: transform .18s cubic-bezier(.22, 1, .36, 1);
}

body .hero-v7 .impact-board__stage::before {
  content: "";
  position: absolute;
  inset: 15% 1% 6% 37%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, .1), rgba(255, 255, 255, .025) 44%, transparent 68%);
  filter: blur(1px);
  transform: translateZ(-30px);
  pointer-events: none;
}

body .hero-v7 .impact-board__orbit {
  position: absolute;
  left: 70%;
  top: 49%;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 50%;
  pointer-events: none;
}

body .hero-v7 .impact-board__orbit--outer {
  width: 196px;
  height: 132px;
  transform: translate3d(-50%, -50%, 10px) rotate(-13deg);
  box-shadow: inset 0 0 32px rgba(255, 255, 255, .025), 0 0 42px rgba(93, 174, 121, .08);
  animation: impact-orbit-outer 18s linear infinite;
}

body .hero-v7 .impact-board__orbit--inner {
  width: 128px;
  height: 84px;
  border-color: rgba(255, 255, 255, .12);
  transform: translate3d(-50%, -50%, 32px) rotate(19deg);
  animation: impact-orbit-inner 14s linear infinite reverse;
}

@keyframes impact-orbit-outer {
  to { transform: translate3d(-50%, -50%, 10px) rotate(347deg); }
}

@keyframes impact-orbit-inner {
  to { transform: translate3d(-50%, -50%, 32px) rotate(379deg); }
}

body .hero-v7 .impact-board__core {
  position: absolute;
  left: 70%;
  top: 49%;
  z-index: 2;
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .065));
  box-shadow: 0 22px 45px rgba(2, 25, 16, .32), inset 0 1px 0 rgba(255, 255, 255, .22);
  color: #fff;
  padding: 0;
  font-size: 30px;
  font-family: inherit;
  transform: translate3d(-50%, -50%, 56px) rotate(8deg);
  transition: background .25s ease, box-shadow .25s ease, transform .25s ease, border-color .25s ease;
  backdrop-filter: blur(12px);
  cursor: not-allowed;
  opacity: 1;
  pointer-events: auto;
}

body .hero-v7 .impact-board--interactive.is-complete .impact-board__core {
  background: linear-gradient(145deg, #ff3740, #d70d15);
  box-shadow: 0 22px 52px rgba(239, 16, 24, .34), 0 0 0 12px rgba(239, 16, 24, .11);
  transform: translate3d(-50%, -50%, 68px) rotate(0deg) scale(1.06);
  cursor: pointer;
}

body .hero-v7 .impact-board--interactive.is-complete .impact-board__core:hover,
body .hero-v7 .impact-board--interactive.is-complete .impact-board__core:focus-visible {
  border-color: rgba(255, 255, 255, .72);
  box-shadow: 0 25px 58px rgba(239, 16, 24, .4), 0 0 0 15px rgba(239, 16, 24, .13);
  transform: translate3d(-50%, -50%, 78px) rotate(-3deg) scale(1.11);
}

body .hero-v7 .impact-board__spark {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: -1;
  width: 7px;
  height: 7px;
  border-radius: 2px 50% 50%;
  background: #ff7b80;
  box-shadow: 0 0 12px rgba(255, 84, 91, .75);
  opacity: 0;
  pointer-events: none;
}

body .hero-v7 .impact-board--interactive.is-celebrating .impact-board__spark {
  animation: impact-spark-burst 720ms cubic-bezier(.22, 1, .36, 1) var(--spark-delay) both;
}

@keyframes impact-spark-burst {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.2) rotate(0deg);
  }
  18% { opacity: 1; }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--spark-x)), calc(-50% + var(--spark-y))) scale(1.15) rotate(145deg);
  }
}

body .hero-v7 .impact-board__stage .impact-board__metric {
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  z-index: 3 !important;
  width: 43% !important;
  max-width: 175px !important;
  margin: 0 !important;
  transform: translate3d(0, -50%, 50px) !important;
}

body .hero-v7 .impact-board__stage .impact-board__metric strong {
  font-size: clamp(74px, 6.2vw, 96px) !important;
  text-shadow: 0 14px 30px rgba(0, 0, 0, .16);
}

body .hero-v7 .impact-board__stage .impact-board__metric span {
  max-width: 170px !important;
  margin-top: 12px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

body .hero-v7 .impact-pulse {
  position: absolute;
  z-index: 4;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, .19);
  border-radius: 999px;
  background: rgba(6, 44, 30, .8);
  box-shadow: 0 9px 24px rgba(0, 0, 0, .18);
  color: rgba(255, 255, 255, .78);
  font: inherit;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .01em;
  cursor: pointer;
  transform: translateZ(64px);
  transition: color .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
  backdrop-filter: blur(12px);
}

body .hero-v7 .impact-pulse:hover,
body .hero-v7 .impact-pulse:focus-visible {
  border-color: rgba(255, 255, 255, .45);
  background: rgba(22, 91, 62, .95);
  color: #fff;
  transform: translateZ(76px) translateY(-2px);
}

body .hero-v7 .impact-pulse[aria-pressed="true"] {
  border-color: rgba(255, 103, 109, .72);
  background: rgba(121, 14, 20, .84);
  box-shadow: 0 11px 28px rgba(239, 16, 24, .2), 0 0 0 4px rgba(239, 16, 24, .07);
  color: #fff;
}

body .hero-v7 .impact-pulse__dot {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #9fc2ac;
  box-shadow: 0 0 0 4px rgba(159, 194, 172, .1);
  transition: background .18s ease, box-shadow .18s ease;
}

body .hero-v7 .impact-pulse[aria-pressed="true"] .impact-pulse__dot {
  background: #ff3740;
  box-shadow: 0 0 0 5px rgba(255, 55, 64, .16), 0 0 18px rgba(255, 55, 64, .75);
}

body .hero-v7 .impact-pulse--care { top: 8%; right: 2%; }
body .hero-v7 .impact-pulse--action { top: 47%; right: -1%; }
body .hero-v7 .impact-pulse--support { right: 11%; bottom: 1%; }

body .hero-v7 .impact-board__game-status {
  position: relative !important;
  z-index: 4 !important;
  min-height: 48px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2px 12px;
  padding: 9px 12px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 14px;
  background: rgba(255, 255, 255, .06);
  backdrop-filter: blur(12px);
}

body .hero-v7 .impact-board__game-kicker {
  grid-column: 1;
  color: rgba(255, 255, 255, .48);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body .hero-v7 .impact-board__game-status strong {
  grid-column: 1;
  color: #fff;
  font-size: 11px;
  line-height: 1.3;
}

body .hero-v7 .impact-board__game-count {
  grid-column: 2;
  grid-row: 1 / 3;
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

body .hero-v7 .impact-board--interactive .impact-board__stories {
  margin-top: 10px !important;
}

body .hero-v7 .impact-board--interactive .impact-story,
body .hero-v7 .impact-board--interactive .impact-story:nth-child(n) {
  min-height: 62px !important;
  grid-template-columns: 36px minmax(0, 1fr) 30px !important;
  padding: 9px 10px !important;
}

body .hero-v7 .impact-board--interactive .impact-story__icon {
  width: 36px;
  height: 36px;
}

@media (max-width: 900px) {
  body .hero-v7 .impact-board--interactive {
    min-height: 550px !important;
  }

  body .hero-v7 .impact-board__stage {
    width: min(100%, 520px);
  }
}

@media (max-width: 480px) {
  body .hero-v7 .impact-board--interactive {
    min-height: 540px !important;
  }

  body .hero-v7 .impact-board--interactive .impact-board__live {
    max-width: 118px;
    line-height: 1.25;
  }

  body .hero-v7 .impact-board__stage {
    height: 225px !important;
    min-height: 225px !important;
  }

  body .hero-v7 .impact-board__orbit--outer {
    width: 172px;
    height: 116px;
  }

  body .hero-v7 .impact-board__orbit--inner {
    width: 110px;
    height: 72px;
  }

  body .hero-v7 .impact-board__core {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    font-size: 26px;
  }

  body .hero-v7 .impact-board__stage .impact-board__metric {
    width: 39% !important;
  }

  body .hero-v7 .impact-board__stage .impact-board__metric strong {
    font-size: clamp(68px, 20vw, 82px) !important;
  }

  body .hero-v7 .impact-pulse {
    padding: 7px 8px;
    font-size: 9px;
  }

  body .hero-v7 .impact-pulse--care { right: 0; }
  body .hero-v7 .impact-pulse--action { right: -4px; }
  body .hero-v7 .impact-pulse--support { right: 5%; }
}

@media (hover: none), (pointer: coarse) {
  body .hero-v7 .impact-board__stage {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body .hero-v7 .impact-board__stage,
  body .hero-v7 .impact-board__core,
  body .hero-v7 .impact-pulse,
  body .hero-v7 .impact-pulse__dot {
    transition: none !important;
  }

  body .hero-v7 .impact-board__orbit,
  body .hero-v7 .impact-board__spark {
    animation: none !important;
  }
}

/* source: event-review-2026.css */
/* October review: keep the established Manrope and green/red visual identity. */
@font-face {
  font-family: Manrope;
  src: url("../fonts/Manrope-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
html body .foundation-header .foundation-header__inner { display:flex!important; gap:24px!important; min-height:88px!important; padding-block:14px!important; }
html body .foundation-header .foundation-header__actions { display:flex!important; align-items:center!important; gap:20px!important; flex:1!important; justify-content:flex-end!important; }
.service-header-nav { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.service-header-nav > a:not(.button) { color:#0e4b37; font-size:14px; font-weight:750; text-decoration:none; padding:8px 0; }
.service-header-nav > a:not(.button):hover { color:#a50d16; text-decoration:underline; }
.service-header-nav > a:focus-visible { outline:3px solid #0e4b37; outline-offset:5px; border-radius:3px; }
.service-header-nav .button { min-height:44px; padding:12px 20px; white-space:nowrap; }
body .event-home { --review-ink:#173c2e; --review-muted:#4e6156; }
body .event-home > .start-simple, body .event-home > .occasion-section, body .event-home > .foundation-about, body .event-home > .compact-create { margin-top:28px; border:1px solid #dce5e0; border-radius:28px; background:#fff; padding:38px 42px; }
body .event-home h2 { color:#0e4b37; font-family:Manrope,Arial,sans-serif; font-size:clamp(28px,3vw,42px); line-height:1.12; letter-spacing:-.04em; margin:0 0 12px; font-weight:800; }
body .event-home .section-intro { margin:0; color:#4e6156; font-size:16px; line-height:1.5; }
.start-simple__steps { list-style:none; padding:0; margin:28px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.start-simple__steps li { display:flex; gap:16px; align-items:flex-start; position:relative; }
.start-simple__steps h3 { font-size:17px; line-height:1.3; color:#173c2e; margin:2px 0 8px; }
.start-simple__steps p { font-size:14px; line-height:1.5; margin:0; color:#4e6156; }
.step-art { position:relative; flex:0 0 56px; height:56px; display:grid; place-items:center; border-radius:18px; background:#edf4ee; color:#0e4b37; }
.step-art svg { width:38px; height:38px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.step-art b { position:absolute; left:-5px; top:-8px; width:22px; height:22px; display:grid; place-items:center; font-size:12px; color:#fff; background:#a50d16; border:2px solid #fff; border-radius:50%; }
body .event-home > .occasion-section { background:#fbfaf6; }
.occasion-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:24px; }
.occasion-card { display:grid; grid-template-columns:minmax(0,54fr) minmax(0,46fr); position:relative; overflow:hidden; min-height:194px; border:1px solid #dfe5db; border-radius:20px; background:#f3f1e8; color:#173c2e; text-decoration:none; transition:border-color .15s,box-shadow .15s; }
.occasion-card:nth-child(2n) { background:#f8efeb; }
.occasion-card > div { position:relative; min-width:0; padding:22px 16px 22px 22px; overflow-wrap:anywhere; }
.occasion-card h3 { font-size:18px; line-height:1.2; margin:0 0 9px; color:#173c2e; font-weight:800; }
.occasion-card p { font-size:13px; line-height:1.45; margin:0 0 16px; color:#40564b; }
.occasion-card img { align-self:center; width:100%; min-width:0; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.occasion-card__arrow { width:29px; height:29px; display:grid; place-items:center; border-radius:50%; background:#0e4b37; color:#fff; font-size:18px; }
.occasion-card:hover { border-color:#0e4b37; box-shadow:0 6px 18px rgba(14,75,55,.10); }
.occasion-card:focus-visible { outline:3px solid #0e4b37; outline-offset:4px; }
.occasion-card:active { background:#e5eee5; box-shadow:none; }
/* Keep the category readable independently of cover variant and card order. */
body .fundraiser-card-v4 .card-media-fallback[class] .card-media-fallback__kicker {
  color:#173c2e!important;
  background:#f3f7f3;
  padding:4px 7px;
  border-radius:5px;
  max-width:calc(100% - 36px);
  box-sizing:border-box;
  overflow-wrap:anywhere;
}
body .event-home > .foundation-about { display:grid; grid-template-columns:minmax(200px,.75fr) 1.6fr; gap:36px; padding:24px; align-items:center; }
.foundation-about__image { position:relative; height:340px; border-radius:18px; overflow:hidden; background:#edf4ee; }
.foundation-about__image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.foundation-about__image > span { position:absolute; bottom:12px; left:12px; padding:4px 8px; border-radius:5px; font-size:10px; color:#173c2e; background:#fff; }
.foundation-about__copy { padding:12px 20px 12px 0; }
.foundation-about__copy > p:not(.eyebrow) { color:#4e6156; font-size:15px; line-height:1.6; }
.foundation-about__facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:24px 0; }
.foundation-about__facts dt { color:#0e4b37; font-size:clamp(21px,2vw,30px); line-height:1.1; font-weight:800; letter-spacing:-.04em; }
.foundation-about__facts dd { margin:8px 0 0; color:#4e6156; font-size:12px; line-height:1.45; max-width:140px; }
.foundation-about__copy > a { color:#0e4b37; font-size:14px; font-weight:800; }
body .event-home > .event-examples { padding:36px 32px; }
.events-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.events-heading p { font-size:15px; color:#4e6156; margin:0; }
.event-status-tabs { display:flex; gap:4px; padding:5px; border:1px solid #d7e3d9; border-radius:13px; background:#fff; width:fit-content; flex-shrink:0; }
.event-status-tabs a { display:block; padding:11px 16px; border-radius:9px; color:#385246; font-size:13px; font-weight:800; text-decoration:none; }
.event-status-tabs a[aria-current] { background:#0e4b37; color:#fff; }
.event-status-tabs a:hover { background:#e5eee7; color:#0e4b37; }
.event-status-tabs a[aria-current]:hover { background:#083a2a; color:#fff; }
.event-status-tabs a:focus-visible { outline:3px solid #a50d16; outline-offset:2px; }
.event-status-tabs a:active { background:#cadfcf; color:#0e4b37; }
.catalogue-v4__results > .event-status-tabs { margin-bottom:24px; }
body .event-home .event-examples__grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body .event-home .fundraiser-card-v4 .card-body { padding:18px; }
body .event-home .fundraiser-card-v4 h3 { font-size:18px!important; line-height:1.3!important; }
body .event-home .fundraiser-card-v4 .card-description { font-size:13px; }
body .event-home .fundraiser-card-v4 .actions { gap:8px; }
body .event-home .fundraiser-card-v4 .actions .button { padding:11px 14px!important; font-size:13px!important; min-height:42px!important; }
.support-count { color:#40564b; font-size:13px; font-weight:650; margin:14px 0; }
.events-empty { grid-column:1 / -1; padding:24px; color:#40564b; background:#f4f7f3; border-radius:16px; }
body .event-home > .event-faq { display:grid; grid-template-columns:250px minmax(0,1fr); gap:42px; padding:36px 42px; }
.faq-intro > p { font-size:14px; color:#4e6156; line-height:1.6; margin:18px 0; }
.faq-intro .button { font-size:13px; min-height:44px; }
body .event-home .event-faq__grid { grid-template-columns:1fr; gap:8px; margin:0; }
body .event-home .event-faq details { padding:0; border-radius:10px; background:#fff; }
body .event-home .event-faq summary { padding:15px 18px; color:#173c2e; font-size:14px; }
body .event-home .event-faq details p { margin:0; padding:0 18px 18px; color:#4e6156; font-size:14px; line-height:1.6; }
body .event-home .event-faq summary:focus-visible { outline:3px solid #0e4b37; outline-offset:2px; border-radius:10px; }
body .event-home > .compact-create { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:28px 42px; background:#eef4ed; }
body .event-home .compact-create h2 { font-size:clamp(26px,2.6vw,36px); }
.compact-create p { margin:0; color:#40564b; font-size:14px; }
.compact-create .button { flex-shrink:0; }
.complete-campaign { margin-top:20px; border-top:1px solid #dce5e0; padding-top:16px; max-width:620px; }
.complete-campaign summary { color:#a50d16; font-size:14px; font-weight:750; cursor:pointer; }
.complete-campaign p { color:#40564b; font-size:14px; line-height:1.6; }
@media(max-width:1100px) {
  .service-header-nav { gap:16px; }
  .service-header-nav__home { display:none!important; }
  .occasion-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body .event-home .event-examples__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .start-simple__steps { gap:20px; }
}
@media(max-width:760px) {
  html body .foundation-header .foundation-header__inner { flex-wrap:wrap!important; gap:12px!important; }
  html body .foundation-header .foundation-header__actions { flex:1 1 auto!important; flex-wrap:wrap!important; gap:12px!important; }
  .service-header-nav { gap:12px; justify-content:flex-end; }
  .service-header-nav > a:not(.button) { font-size:12px; }
  .service-header-nav .button { font-size:12px; min-height:40px; padding:10px 14px; }
  body .event-home > .start-simple, body .event-home > .occasion-section, body .event-home > .event-examples, body .event-home > .event-faq, body .event-home > .compact-create { padding:28px 22px; border-radius:22px; }
  .start-simple__steps { grid-template-columns:1fr; gap:24px; }
  .occasion-cards { grid-template-columns:1fr; gap:12px; }
  .occasion-card { min-height:170px; }
  .occasion-card img { max-height:190px; }
  body .event-home > .foundation-about { grid-template-columns:1fr; gap:16px; padding:20px; }
  .foundation-about__image { height:250px; }
  .foundation-about__copy { padding:8px 0; }
  .foundation-about__facts { gap:12px; }
  .foundation-about__facts dt { font-size:21px; }
  .events-heading { align-items:flex-start; flex-direction:column; }
  body .event-home .event-examples__grid { grid-template-columns:1fr; }
  body .event-home > .event-faq { grid-template-columns:1fr; gap:24px; }
  body .event-home > .compact-create { flex-direction:column; align-items:flex-start; gap:20px; }
}
@media(prefers-reduced-motion:reduce) { .occasion-card { transition:none; } }
body .event-home .event-hero__copy { padding:40px 44px; }
body .event-home .event-hero__copy h1 { font-size:clamp(46px,4.4vw,64px); }
body .event-home .event-hero__visual { min-height:440px; padding-block:24px; }
body .event-home .event-invite { min-height:340px; padding:24px; }
body .event-home .event-invite__occasion { margin-top:22px; }
body .event-home .event-invite > strong { font-size:38px; }
body .event-home .event-invite > p { font-size:14px; margin-block:12px 20px; }
@media(max-width:760px) {
  html body .foundation-header .foundation-header__inner { display:grid!important; grid-template-columns:1fr auto!important; padding-block:12px!important; }
  html body .foundation-header .foundation-header__actions { display:contents!important; }
  html body .foundation-header .foundation-brand { grid-column:1; grid-row:1; }
  html body .foundation-header .foundation-menu { grid-column:2; grid-row:1; }
  .service-header-nav { grid-column:1 / -1; grid-row:2; justify-content:space-between; }
  html body .foundation-menu__panel { max-height:calc(100dvh - 145px)!important; top:140px!important; }
  body .event-home .event-hero__copy { padding:28px 22px 10px; }
  body .event-home .event-hero__copy h1 { font-size:clamp(36px,9vw,46px); line-height:1; margin:14px 0 18px; }
  body .event-home .event-hero__lead { font-size:15px; }
  body .event-home .event-hero__note { font-size:12px; }
  body .event-home .event-hero__actions { gap:10px; margin-top:20px; }
  body .event-home .event-hero__actions .button { min-height:46px; }
  body .event-home .event-hero__visual { min-height:0; padding:18px 24px 30px; row-gap:16px; }
  body .event-home .event-invite { min-height:0; padding:20px; transform:rotate(1deg); animation:none; }
  body .event-home .event-invite--back { display:none; }
  body .event-home .event-invite__occasion { margin-top:16px; }
  body .event-home .event-invite > strong { font-size:30px; }
  body .event-home .event-invite > p { margin:10px 0 16px; }
  body .event-home .event-hero__gift--two, body .event-home .event-hero__gift--three { display:none; }
}

/* Scroll state is paint-only: geometry changes here cause scroll-anchor feedback. */
html body .foundation-header .foundation-header__inner,
html.ux-scrolled body .foundation-header .foundation-header__inner {
  height:auto!important;
  min-height:88px!important;
  padding-top:14px!important;
  padding-bottom:14px!important;
  transition:none!important;
}
.service-header-nav__logout, .foundation-menu__group form { margin:0; }
.service-logout {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:8px 12px; border:1px solid #b6cdbc;
  border-radius:12px; background:#f3f8f5; color:#174c36;
  font:750 14px Manrope,Arial,sans-serif; cursor:pointer;
}
.service-logout:is(:hover,:focus-visible,:active) { color:#103c2b; background:#dceee3; border-color:#52856a; }
.service-logout:focus-visible { outline:3px solid #174c36; outline-offset:3px; }
.foundation-menu__group .service-logout { margin-top:8px; }
html body .foundation-header .foundation-menu__panel {
  top:calc(var(--ux-header-height, 88px) + 8px)!important;
  max-height:calc(100dvh - var(--ux-header-height, 88px) - 20px)!important;
}
body .event-home .event-hero__visual { padding:22px 20px 24px; row-gap:12px; }
.event-hero__composition { position:relative; isolation:isolate; display:grid; place-items:center; width:100%; min-height:370px; }
.event-hero__portrait {
  position:absolute; z-index:0; width:43%; height:235px;
  object-fit:cover; border:7px solid #fff; border-radius:20px;
  box-shadow:0 14px 30px rgba(15,61,42,.13); pointer-events:none;
}
.event-hero__portrait--left { left:-1%; top:20%; width:35%; transform:rotate(-10deg); object-position:50% 18%; }
.event-hero__portrait--right { right:0; top:5%; transform:rotate(10deg); object-position:50% 18%; }
body .event-home .event-invite {
  width:67%; max-width:320px; min-height:0; padding:22px;
  transform:rotate(2deg); animation:none; border-radius:24px;
}
body .event-home .event-invite__occasion { margin-top:18px; font-size:10px; }
body .event-home .event-invite > strong { font-size:32px; line-height:1.06; max-height:3.2em; -webkit-line-clamp:3; }
body .event-home .event-invite > p { font-size:13px; line-height:1.45; margin:12px 0 18px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.event-invite::after { pointer-events:none; }
.event-invite__help {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  margin-top:18px; padding:12px 16px; border-radius:12px;
  background:#174c36; color:#fff; font-size:14px; font-weight:800;
}
.event-invite--linked:is(:hover,:focus-visible) .event-invite__help { background:#103c2b; color:#fff; }
.event-invite__help--example { background:#e4eee7; color:#174c36; font-size:12px; }
body .event-home .compact-create h2 { margin-bottom:12px; font-size:clamp(26px,2.3vw,34px); }
body .event-home .compact-create p { max-width:780px; line-height:1.55; }
body .event-home .compact-create__trust { margin-top:6px; color:#174c36; font-size:13px; font-weight:650; }
@media(max-width:760px) {
  html body .foundation-header .foundation-header__inner,
  html.ux-scrolled body .foundation-header .foundation-header__inner { padding-top:12px!important; padding-bottom:12px!important; }
  .service-header-nav { gap:8px 12px; }
  .service-header-nav > a:not(.button), .service-logout { font-size:12px; }
  .service-header-nav .button { font-size:12px; padding-inline:14px; }
  .service-logout { padding-inline:10px; }
  body .event-home .event-hero__visual { padding:16px 16px 24px; }
  .event-hero__composition { min-height:410px; padding-top:64px; }
  .event-hero__portrait { width:45%; height:175px; border-width:5px; border-radius:16px; }
  .event-hero__portrait--left { top:0; left:0; }
  .event-hero__portrait--right { top:0; right:0; }
  body .event-home .event-invite { width:75%; padding:18px; }
  body .event-home .event-invite > strong { font-size:27px; }
  body .event-home .event-invite__occasion { margin-top:14px; }
  .event-invite__help { padding:11px 12px; font-size:13px; }
  body .event-home > .compact-create { gap:16px; }
}

/* Restore the earlier closing section's substance in a shallow horizontal band. */
body .event-home > .compact-create.compact-create--complete {
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  align-items:center; gap:28px; padding:24px 32px; background:#f8f4ec;
}
.compact-create__copy { min-width:0; }
body .event-home .compact-create__copy > .eyebrow { margin:0 0 8px; color:#b10d18; font-size:11px; line-height:1.4; }
body .event-home .compact-create--complete h2 { margin:0 0 10px; }
body .event-home .compact-create--complete .compact-create__trust { margin-top:10px; }
.compact-create__next { min-width:0; padding:18px 20px; border:1px solid #dce5e0; border-radius:18px; background:#fff; }
.compact-create__next > strong { color:#174c36; font-size:16px; line-height:1.35; }
.compact-create__steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; list-style:none; margin:14px 0 16px; padding:0; }
.compact-create__steps li { display:flex; align-items:flex-start; gap:7px; color:#40564b; font-size:12px; line-height:1.45; }
.compact-create__steps li > span { display:grid; place-items:center; flex:0 0 21px; width:21px; height:21px; align-self:flex-start; border-radius:50%; background:#e6f1e9; color:#174c36; font-size:11px; font-weight:850; }
.compact-create__actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.compact-create__actions small { flex:1; min-width:120px; color:#4e6156; font-size:12px; line-height:1.5; }
@media(max-width:900px) {
  body .event-home > .compact-create.compact-create--complete { grid-template-columns:1fr; gap:18px; padding:24px; }
}
@media(max-width:480px) {
  body .event-home > .compact-create.compact-create--complete { padding:22px 18px; }
  .compact-create__next { padding:16px; }
  .compact-create__steps { gap:8px; }
  .compact-create__steps li { display:block; }
  .compact-create__steps li > span { margin-bottom:6px; }
}
