/* AfricaChange.org — Phase 02 responsive design foundation v0.1.0.
 * No network fonts, animation packages, frameworks, tracking or polling.
 */
:root {
  --ac-brown: #311c0c;
  --ac-brown-soft: #54351f;
  --ac-orange: #ff7a19;
  --ac-gold: #ffa924;
  --ac-green: #68be11;
  --ac-green-deep: #397d08;
  --ac-canvas: #fbf8f4;
  --ac-white: #fff;
  --ac-ink: #281f1b;
  --ac-muted: #675e57;
  --ac-border: #e9e0d7;
  --ac-shadow: 0 18px 50px rgba(49,28,12,.075);
  --ac-radius: 18px;
  --ac-radius-lg: 26px;
  --ac-container: 1240px;
  --ac-header-height: 88px;
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; color: var(--ac-ink); background: var(--ac-canvas); font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif; font-size: 16px; line-height: 1.6; text-rendering: optimizeLegibility; overflow-wrap: break-word; }
body.admin-bar .ac-site-header { top: 32px; }
img, svg, video { max-width: 100%; }
img { height: auto; vertical-align: middle; }
figure { max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: var(--ac-brown); text-decoration: none; }
a:hover { color: var(--ac-green-deep); }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #fda84d; outline-offset: 3px; }
h1, h2, h3, h4, h5, h6 { font-family: "Plus Jakarta Sans", Manrope, Inter, "Segoe UI", system-ui, sans-serif; color: var(--ac-brown); letter-spacing: -.035em; line-height: 1.16; overflow-wrap: break-word; }
h1,h2,h3,h4,h5,h6,p { margin-top: 0; }
.ac-container { width: min(var(--ac-container), calc(100% - 48px)); margin-inline: auto; }
.screen-reader-text, .ac-skip-link:not(:focus) { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ac-skip-link:focus { z-index: 10000; position: fixed; top: 12px; left: 12px; display: block; padding: 12px 18px; border-radius: 8px; background: #fff; box-shadow: var(--ac-shadow); }
.ac-site-wrap { min-height: 100vh; display: flex; flex-direction: column; }
.ac-main { flex: 1; min-width: 0; }

/* Header */
.ac-topline { background: #f3eee7; border-bottom: 1px solid #eee8de; color: #7d7067; font-size: 12px; font-weight: 600; }
.ac-topline__inner { min-height: 30px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ac-site-header { position: sticky; top: 0; z-index: 400; background: rgba(255,255,255,.97); border-bottom: 1px solid #f0e8df; box-shadow: 0 5px 25px rgba(49,28,12,.035); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); }
.ac-site-header__inner { min-height: var(--ac-header-height); display: flex; align-items: center; gap: clamp(16px,2vw,40px); }
.ac-brand { display: inline-flex; flex: 0 0 auto; align-items: center; min-width: 0; }
.ac-brand-image { display: block; object-fit: contain; width: clamp(165px,16.5vw,210px); height: auto; max-height: 70px; }
.ac-primary-nav { flex: 1; min-width: 0; }
.ac-menu { list-style: none; display: flex; align-items: center; gap: clamp(11px,1.8vw,28px); margin: 0; padding: 0; }
.ac-menu > li { position: relative; }
.ac-menu a { display: inline-flex; padding: 10px 0; font-size: 13px; font-weight: 700; white-space: nowrap; color: #392d26; transition: color .2s ease; }
.ac-menu a:hover, .ac-menu .current-menu-item > a { color: var(--ac-green-deep); }
.ac-menu .sub-menu { position: absolute; top: 100%; left: -16px; min-width: 200px; background: #fff; list-style: none; padding: 10px 16px; border: 1px solid var(--ac-border); box-shadow: var(--ac-shadow); border-radius: 14px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s ease, transform .15s ease; }
.ac-menu > li:hover > .sub-menu, .ac-menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.ac-menu .sub-menu a { width: 100%; padding: 9px 0; }
.ac-header-actions { display: flex; align-items: center; gap: 18px; margin-left: auto; }
.ac-link-quiet { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 700; white-space: nowrap; }
.ac-button { appearance: none; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; border-radius: 11px; padding: 11px 20px; font-weight: 800; font-size: 13px; line-height: 1.3; text-align: center; transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease; }
.ac-button:hover { transform: translateY(-2px); }
.ac-button svg { flex: 0 0 auto; }
.ac-button--green { color: var(--ac-white); background: #57a60b; border-color: #57a60b; box-shadow: 0 5px 13px rgba(76,133,8,.17); }
.ac-button--green:hover { color: white; background: #428706; border-color: #428706; box-shadow: 0 9px 18px rgba(76,133,8,.2); }
.ac-button--orange { background: var(--ac-orange); border-color: var(--ac-orange); color: #fff; }
.ac-button--orange:hover { background: #e96305; border-color: #e96305; color: #fff; }
.ac-button--outline { border-color: #e97b35; background: rgba(255,255,255,.92); color: #bf4c00; }
.ac-button--outline:hover { background: #fff3e9; color: #a63d00; }
.ac-header-primary { white-space: nowrap; }
.ac-menu-toggle { display: none; border: 1px solid var(--ac-border); background: #fff; color: var(--ac-brown); border-radius: 10px; width: 44px; height: 44px; justify-content: center; align-items: center; flex: 0 0 auto; }
.ac-menu-close { display: none; }

/* Hero */
.ac-hero { isolation: isolate; position: relative; display: flex; align-items: center; min-height: clamp(480px,43vw,610px); background: linear-gradient(100deg,#fbf8f4 0%,#fbf8f4 44%,#f5f0e9 100%); overflow: hidden; }
.ac-hero__photo { position: absolute; inset: 0 0 0 35%; z-index: -2; background-image: var(--ac-hero-image); background-repeat: no-repeat; background-position: center right; background-size: cover; }
.ac-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg,#fbf8f4 0%,#fbf8f4 31%,rgba(251,248,244,.95) 41%,rgba(251,248,244,.65) 54%,rgba(251,248,244,0) 75%); }
.ac-hero__inner { padding-block: 68px; }
.ac-hero__copy { width: min(590px, 57%); }
.ac-kicker { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; border: 1px solid #dceacb; color: #4e811c; background: #f3faea; border-radius: 50px; font-size: 11px; letter-spacing: .12em; font-weight: 850; text-transform: uppercase; margin-bottom: 23px; }
.ac-kicker__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ac-green); }
.ac-hero h1 { margin-bottom: 22px; max-width: 650px; font-size: clamp(43px, 4.9vw, 76px); letter-spacing: -.06em; line-height: 1.04; }
.ac-hero h1 span { color: var(--ac-orange); }
.ac-hero__copy > p { font-size: clamp(16px,1.5vw,19px); line-height: 1.7; color: #52483f; max-width: 520px; margin-bottom: 27px; }
.ac-hero__buttons, .ac-hero__principles { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.ac-hero__buttons .ac-button { min-height: 51px; padding-inline: 23px; }
.ac-hero__principles { margin-top: 29px; gap: 11px 23px; }
.ac-hero__principles span { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: #5a564f; }
.ac-hero__principles svg { color: var(--ac-green-deep); }

/* Search stripe */
.ac-search-band { position: relative; background: #fff; border-block: 1px solid var(--ac-border); }
.ac-search-band__inner { padding-block: 27px; display: flex; justify-content: space-between; gap: 35px; align-items: center; }
.ac-search-band__eyebrow { color: var(--ac-green-deep); font-weight: 800; text-transform: uppercase; font-size: 10px; letter-spacing: .1em; }
.ac-search-band h2 { font-size: clamp(20px,2.1vw,26px); margin: 3px 0 0; }
.ac-search-form { position: relative; display: flex; align-items: center; gap: 8px; background: #fff; padding: 6px; border: 1px solid var(--ac-border); border-radius: 13px; box-shadow: 0 8px 25px rgba(49,28,12,.045); width: min(540px,100%); }
.ac-search-form__icon { padding-left: 12px; color: #8c847d; display: flex; }
.ac-search-form input { min-width: 0; flex: 1; font-size: 13px; color: var(--ac-ink); border: 0; outline: none; height: 41px; background: transparent; padding: 5px; }
.ac-search-form input:focus-visible { outline: 2px solid var(--ac-green); outline-offset: 0; border-radius: 4px; }
.ac-search-form .ac-button { min-height: 41px; }

/* Sections and cards */
.ac-section { padding-block: clamp(56px,6vw,86px); }
.ac-section-intro { display: flex; align-items: end; justify-content: space-between; margin-bottom: 29px; gap: 25px; }
.ac-eyebrow { display: inline-block; text-transform: uppercase; font-size: 11px; font-weight: 850; letter-spacing: .12em; color: var(--ac-green-deep); margin-bottom: 11px; }
.ac-section-intro h2 { font-size: clamp(28px,3vw,42px); margin-bottom: 10px; }
.ac-section-intro p { color: var(--ac-muted); font-size: 15px; line-height: 1.65; margin-bottom: 0; max-width: 680px; }
.ac-section-action { text-align: center; margin-top: 32px; }
.ac-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.ac-card-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ac-content-card { overflow: hidden; min-width: 0; border: 1px solid var(--ac-border); border-radius: var(--ac-radius); background: #fff; box-shadow: 0 5px 15px rgba(49,28,12,.02); transition: transform .2s ease, box-shadow .2s ease; }
.ac-content-card:hover { transform: translateY(-4px); box-shadow: var(--ac-shadow); }
.ac-content-card__visual { display: block; overflow: hidden; aspect-ratio: 1.65; background: #e7ddd0; }
.ac-content-card__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ac-content-card:hover .ac-content-card__visual img { transform: scale(1.025); }
.ac-content-card__body { padding: 20px 22px 22px; }
.ac-card-meta { display: flex; gap: 9px; align-items: center; color: #7c7168; font-size: 11px; font-weight: 700; margin-bottom: 10px; }
.ac-card-meta span:first-child { color: var(--ac-green-deep); background: #ecf7e5; padding: 3px 9px; border-radius: 20px; }
.ac-content-card h3 { font-size: clamp(18px,1.8vw,22px); margin-bottom: 12px; line-height: 1.28; }
.ac-content-card h3 a { color: var(--ac-brown); }
.ac-content-card__body p { margin-bottom: 16px; color: var(--ac-muted); font-size: 13px; line-height: 1.66; }
.ac-text-link { display: inline-flex; align-items: center; gap: 5px; font-weight: 850; color: #dc6414; font-size: 12px; }
.ac-text-link:hover { color: #a44200; }
.ac-empty-state { text-align: center; background: #fff; border: 1px dashed #e1d5c8; border-radius: var(--ac-radius-lg); padding: 48px 25px; }
.ac-empty-state__icon { margin: 0 auto 15px; width: 60px; height: 60px; background: #edf5e3; border-radius: 16px; display: flex; align-items: center; justify-content: center; color: #4c900c; }
.ac-empty-state h2, .ac-empty-state h3 { font-size: 22px; margin-bottom: 10px; }
.ac-empty-state p { margin: 0 auto 18px; max-width: 540px; color: var(--ac-muted); }
.ac-causes-section { background: #fff; border-block: 1px solid #f2ebe2; }
.ac-cause-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.ac-cause-card { min-width: 0; background: #fff; border: 1px solid var(--ac-border); border-radius: 15px; padding: 23px; transition: border-color .2s ease,transform .2s ease; }
.ac-cause-card:hover { border-color: #bed99c; transform: translateY(-2px); }
.ac-cause-card__icon { width: 52px; height: 52px; border-radius: 15px; display: flex; align-items: center; justify-content: center; color: #fff; margin-bottom: 17px; }
.ac-cause-card__icon--orange { background: linear-gradient(135deg,#ff9a34,#f26913); }
.ac-cause-card__icon--green { background: linear-gradient(135deg,#74c42c,#49960d); }
.ac-cause-card__icon--gold { background: linear-gradient(135deg,#ffbc42,#ef9a08); }
.ac-cause-card h3 { font-size: 19px; margin-bottom: 7px; }
.ac-cause-card p { font-size: 13px; color: var(--ac-muted); margin: 0; }
.ac-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(35px,6vw,96px); }
.ac-split__visual { position: relative; }
.ac-split__visual > img { display: block; width: 100%; border-radius: 23px; object-fit: cover; aspect-ratio: 1.22; }
.ac-image-accent { position: absolute; inset: auto -12px -12px 30%; border: 2px solid #ffa924; border-radius: 19px; height: 35%; z-index: -1; }
.ac-split__copy h2 { font-size: clamp(30px,3.6vw,49px); margin-bottom: 20px; }
.ac-split__copy > p { color: var(--ac-muted); font-size: 16px; line-height: 1.77; }
.ac-promise-list { display: grid; gap: 14px; margin-top: 25px; }
.ac-promise-list span { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; }
.ac-promise-list svg { color: #4d9909; flex: 0 0 auto; }
.ac-how-section { background: #fff; }
.ac-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.ac-step { border: 1px solid var(--ac-border); border-radius: 18px; background: var(--ac-canvas); padding: 32px 30px; position: relative; overflow: hidden; }
.ac-step__number { font-size: 62px; font-weight: 900; position: absolute; right: 21px; top: 5px; color: rgba(255,122,25,.13); line-height: 1; }
.ac-step__icon { width: 58px; height: 58px; display: flex; align-items: center; justify-content: center; background: #ffeee1; color: #d45d09; border-radius: 17px; margin-bottom: 24px; }
.ac-step h3 { font-size: 21px; margin-bottom: 9px; }
.ac-step p { font-size: 14px; color: var(--ac-muted); margin-bottom: 0; }
.ac-banner-callout { position: relative; isolation: isolate; background: #311c0c; color: #fff; overflow: hidden; }
.ac-banner-callout::before { content: ''; position: absolute; inset: 0; z-index: -2; background-image: var(--ac-callout-image); background-size: cover; background-position: center 48%; opacity: .3; }
.ac-banner-callout::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(49,28,12,.99),rgba(49,28,12,.93) 53%,rgba(49,28,12,.46)); }
.ac-banner-callout__inner { min-height: 240px; padding-block: 42px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.ac-banner-callout__inner > div { max-width: 660px; }
.ac-banner-callout__eyebrow { display: block; color: #c8ec99; text-transform: uppercase; font-size: 11px; letter-spacing: .12em; font-weight: 800; margin-bottom: 10px; }
.ac-banner-callout h2 { color: #fff; font-size: clamp(28px,3.2vw,44px); margin-bottom: 8px; }
.ac-banner-callout p { color: #eee0d4; margin-bottom: 0; }
.ac-banner-callout .ac-button { flex-shrink: 0; }

/* Editorial and WordPress content */
.ac-page-hero { background: linear-gradient(110deg,#fff6eb,#fbf8f4 55%,#e9f4e5); }
.ac-page-hero--compact { padding-block: clamp(58px,7vw,100px); }
.ac-page-hero h1 { max-width: 940px; font-size: clamp(34px,4.2vw,58px); margin-bottom: 13px; }
.ac-page-hero p, .ac-page-hero__description { color: var(--ac-muted); max-width: 700px; margin-bottom: 0; }
.ac-page-hero .ac-search-form { margin-top: 24px; }
.ac-pagination, .navigation.pagination { margin-top: 40px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 9px; }
.nav-links .page-numbers { display: inline-flex; min-width: 42px; min-height: 42px; align-items: center; justify-content: center; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--ac-border); background: #fff; font-weight: 750; }
.nav-links .page-numbers.current { background: var(--ac-brown); color: #fff; }
.ac-prose-layout { max-width: 1060px; padding-top: 36px; padding-bottom: 100px; }
.ac-breadcrumb { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; font-size: 12px; font-weight: 650; color: #71675c; margin-bottom: 28px; }
.ac-breadcrumb a { color: #a15930; }
.ac-breadcrumb > span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 40ch; }
.ac-prose-page { max-width: 890px; margin-inline: auto; }
.ac-prose-page__header { margin-bottom: 30px; }
.ac-prose-page__header h1 { font-size: clamp(36px,5vw,62px); margin-bottom: 0; }
.ac-prose-page__cover { border-radius: 18px; overflow: hidden; margin-bottom: 35px; }
.ac-prose-page__cover img { display: block; width: 100%; }
.ac-rich-content { color: #40362e; font-size: 17px; line-height: 1.86; min-width: 0; overflow-wrap: anywhere; }
.ac-rich-content > * { max-width: 100%; }
.ac-rich-content h2 { margin-top: 1.7em; margin-bottom: .7em; font-size: clamp(27px,3vw,37px); }
.ac-rich-content h3 { margin-top: 1.5em; font-size: 25px; }
.ac-rich-content p { margin-bottom: 1.4em; }
.ac-rich-content a { color: #a54b0d; text-decoration: underline; text-underline-offset: 3px; }
.ac-rich-content img, .ac-rich-content iframe, .ac-rich-content video { max-width: 100%; }
.ac-rich-content blockquote { border-left: 4px solid var(--ac-green); margin: 24px 0; padding: 14px 25px; background: #f4f9ec; border-radius: 0 12px 12px 0; }
.ac-rich-content ul, .ac-rich-content ol { padding-left: 1.5em; }
.ac-rich-content table { display: block; width: max-content; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.ac-rich-content td, .ac-rich-content th { padding: 10px 14px; border: 1px solid var(--ac-border); }
.ac-rich-content .wp-block-image { margin-block: 24px; }
.ac-article__wrap { padding-top: 36px; padding-bottom: 90px; }
.ac-article__header { margin: 0 auto 32px; max-width: 980px; text-align: center; }
.ac-article__header h1 { font-size: clamp(38px,5vw,66px); margin-bottom: 22px; }
.ac-article__byline { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; font-size: 13px; color: var(--ac-muted); font-weight: 650; }
.ac-article__featured { max-width: 1130px; margin: 0 auto 50px; border-radius: 22px; overflow: hidden; }
.ac-article__featured img { width: 100%; height: auto; display: block; }
.ac-article__columns { display: grid; grid-template-columns: minmax(0, 770px) minmax(230px, 295px); gap: clamp(30px,4vw,60px); justify-content: space-between; }
.ac-article__aside { min-width: 0; }
.ac-sidebar-widget { border-radius: 20px; padding: 25px; margin-bottom: 24px; background: #fff; border: 1px solid var(--ac-border); }
.ac-sidebar-widget h2, .ac-sidebar-widget h3 { font-size: 23px; }
.ac-sidebar-widget p { color: var(--ac-muted); font-size: 14px; }
.ac-sidebar-widget .ac-button { width: 100%; }
.ac-sidebar-title { font-size: 19px; }
.ac-article__taxonomy { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 40px; }
.ac-article__taxonomy a { padding: 7px 13px; border-radius: 30px; text-decoration: none; background: #eff7e7; color: #387207; font-size: 12px; font-weight: 700; }
.ac-post-navigation { margin-top: 35px; border-top: 1px solid var(--ac-border); padding-top: 28px; }
.ac-post-navigation .nav-links { justify-content: space-between; gap: 12px; }
.ac-post-navigation .nav-previous, .ac-post-navigation .nav-next { min-width: 0; max-width: 48%; }
.ac-post-navigation a { display: grid; gap: 4px; text-decoration: none; }
.ac-post-navigation__label { font-size: 12px; color: var(--ac-muted); }
.ac-post-navigation strong { font-size: 14px; }
.ac-comments { border-top: 1px solid var(--ac-border); padding-top: 35px; margin-top: 40px; }
.ac-comments h2 { font-size: 25px; }
.ac-comments .comment-list { list-style: none; padding-left: 0; }
.ac-comments .comment-body { background: white; border: 1px solid var(--ac-border); padding: 20px; border-radius: 16px; margin-bottom: 15px; }
.ac-comments .comment-form input:not([type="checkbox"]), .ac-comments .comment-form textarea { display: block; width: 100%; border: 1px solid #d4c7b9; border-radius: 10px; background: white; padding: 11px; }
.ac-comments .form-submit input { padding: 12px 20px; border: none; border-radius: 10px; background: var(--ac-green-deep); color: #fff; font-weight: 800; }
.ac-not-found { min-height: 540px; padding-block: 100px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ac-error-code { font-size: 130px; font-weight: 950; letter-spacing: -.1em; color: #dceacb; line-height: 1; }
.ac-not-found h1 { font-size: clamp(32px,4vw,53px); margin-top: 15px; }
.ac-not-found p { max-width: 600px; color: var(--ac-muted); }
.ac-not-found__actions { display: flex; justify-content: center; gap: 12px; margin: 20px auto 35px; }

/* Footer */
.ac-site-footer { background: var(--ac-brown); color: #d6c4b4; }
.ac-footer-main { padding-block: 66px 72px; display: grid; grid-template-columns: 1.5fr .8fr .9fr 1.25fr; gap: clamp(25px,3vw,50px); }
.ac-site-footer a { color: #e9ded1; }
.ac-site-footer a:hover { color: #fff; }
.ac-footer-about .ac-brand { display: inline-flex; background: #fff; border-radius: 12px; padding: 8px 11px; }
.ac-footer-about .ac-brand-image { width: 193px; }
.ac-footer-about p { font-size: 13px; margin-top: 24px; line-height: 1.75; }
.ac-footer-about .ac-footer-caveat { margin-top: 5px; font-size: 12px; color: #af9b88; }
.ac-footer-links h2 { font-size: 15px; color: #fff; margin-bottom: 22px; }
.ac-footer-links ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ac-footer-links li { font-size: 13px; }
.ac-footer-message { padding: 23px 25px; border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.045); border-radius: 16px; }
.ac-footer-overline { color: #a9e779; font-size: 10px; text-transform: uppercase; font-weight: 850; letter-spacing: .12em; }
.ac-footer-message h2 { color: white; font-size: 23px; margin-block: 10px; }
.ac-footer-message p { color: #d2c2b1; font-size: 13px; }
.ac-footer-message .ac-button { font-size: 12px; }
.ac-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); }
.ac-footer-bottom__inner { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 11px; }
.ac-mobile-member-nav { display: none; }

/* Navigation and layout scaling */
@media (max-width: 1200px) {
 :root { --ac-header-height: 75px; }
 .ac-site-header__inner { gap: 18px; }
 .ac-header-actions { gap: 10px; }
 .ac-brand-image { width: 174px; }
 .ac-menu { gap: 12px; }
 .ac-menu a { font-size: 12px; }
 .ac-header-primary { padding-inline: 13px; }
}
@media (max-width: 960px) {
 :root { --ac-header-height: 70px; }
 .ac-container { width: min(var(--ac-container), calc(100% - 36px)); }
 body.admin-bar .ac-site-header { top: 32px; }
 .ac-primary-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; z-index: 10; max-height: min(75vh,650px); overflow-y: auto; background: #fff; border-bottom: 1px solid var(--ac-border); box-shadow: 0 20px 30px rgba(49,28,12,.09); padding: 13px 24px 25px; }
 .ac-nav-open .ac-primary-nav { display: block; }
 .ac-menu { flex-direction: column; align-items: stretch; gap: 0; }
 .ac-menu > li { border-bottom: 1px solid var(--ac-border); }
 .ac-menu > li > a { display: block; font-size: 15px; padding: 13px 4px; }
 .ac-menu .sub-menu { position: static; min-width: 0; display: block; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 10px 15px; }
 .ac-header-account { font-size: 13px; }
 .ac-menu-toggle { display: inline-flex; }
 .ac-nav-open .ac-menu-open { display: none; }
 .ac-nav-open .ac-menu-close { display: flex; }
 .ac-site-header__inner { justify-content: space-between; }
 .ac-hero { min-height: 530px; }
 .ac-hero__photo { left: 25%; }
 .ac-hero::after { background: linear-gradient(90deg,#fbf8f4 0%,rgba(251,248,244,.98) 30%,rgba(251,248,244,.83) 48%,rgba(251,248,244,.13) 85%); }
 .ac-hero__copy { width: min(530px,65%); }
 .ac-hero h1 { font-size: clamp(46px,6vw,65px); }
 .ac-search-band__inner { flex-direction: column; align-items: stretch; gap: 20px; }
 .ac-search-form { width: 100%; }
 .ac-footer-main { grid-template-columns: 1.5fr 1fr 1fr; }
 .ac-footer-message { grid-column: 1 / -1; }
 .ac-article__columns { grid-template-columns: minmax(0,1fr) 240px; }
}
@media (max-width: 720px) {
 .ac-topline { display: none; }
 .ac-container { width: calc(100% - 30px); }
 .ac-site-header__inner { min-height: 65px; }
 .ac-brand-image { width: 165px; }
 .ac-header-account { display: none; }
 .ac-header-primary { padding-inline: 11px; min-height: 40px; font-size: 11px; }
 .ac-menu-toggle { width: 41px; height: 41px; }
 .ac-hero { display: block; min-height: auto; padding-bottom: 0; background: #fbf8f4; }
 .ac-hero__photo { position: relative; inset: auto; background-image: var(--ac-hero-mobile-image); height: clamp(225px,55vw,370px); background-position: 68% center; width: 100%; }
 .ac-hero::after { display: none; }
 .ac-hero__inner { padding-block: 35px 45px; }
 .ac-hero__copy { width: 100%; }
 .ac-kicker { margin-bottom: 14px; font-size: 9px; }
 .ac-hero h1 { font-size: clamp(39px,9.5vw,58px); margin-bottom: 15px; }
 .ac-hero__copy > p { font-size: 15px; line-height: 1.68; margin-bottom: 22px; }
 .ac-hero__buttons { gap: 9px; }
 .ac-hero__buttons .ac-button { padding-inline: 15px; min-height: 46px; font-size: 12px; }
 .ac-hero__principles { margin-top: 24px; gap: 7px 17px; }
 .ac-hero__principles span { font-size: 11px; }
 .ac-search-band__inner { padding-block: 23px; }
 .ac-search-band h2 { font-size: 22px; }
 .ac-search-form input { font-size: 12px; }
 .ac-section { padding-block: 58px; }
 .ac-section-intro h2 { font-size: 30px; }
 .ac-card-grid--three, .ac-card-grid { grid-template-columns: 1fr; gap: 17px; }
 .ac-content-card__visual { aspect-ratio: 1.8; }
 .ac-cause-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 .ac-cause-card { padding: 16px; }
 .ac-cause-card__icon { width: 43px; height: 43px; border-radius: 12px; }
 .ac-cause-card h3 { font-size: 16px; }
 .ac-cause-card p { font-size: 11px; }
 .ac-split { grid-template-columns: 1fr; gap: 35px; }
 .ac-split__visual > img { aspect-ratio: 1.45; }
 .ac-split__copy h2 { font-size: 33px; }
 .ac-steps { grid-template-columns: 1fr; gap: 13px; }
 .ac-step { padding: 25px; }
 .ac-step__icon { margin-bottom: 14px; }
 .ac-banner-callout__inner { padding-block: 56px; min-height: 0; flex-direction: column; text-align: left; align-items: stretch; gap: 24px; }
 .ac-banner-callout h2 { font-size: 32px; }
 .ac-banner-callout .ac-button { align-self: flex-start; }
 .ac-footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 35px 20px; padding-block: 50px; }
 .ac-footer-about { grid-column: 1 / -1; }
 .ac-footer-message { grid-column: 1 / -1; }
 .ac-footer-bottom__inner { justify-content: center; text-align: center; flex-wrap: wrap; padding-block: 17px; gap: 8px 18px; }
 .ac-article__columns { grid-template-columns: 1fr; }
 .ac-article__aside { display: none; }
 .ac-article__header h1 { font-size: 36px; }
 .ac-article__featured { margin-bottom: 24px; border-radius: 14px; }
 .ac-rich-content { font-size: 16px; }
 .ac-rich-content h2 { font-size: 28px; }
 .ac-prose-layout { padding-top: 25px; }
 .ac-error-code { font-size: 95px; }
 .ac-not-found { padding-block: 70px; min-height: 0; }
 body.ac-authenticated .ac-site-footer { padding-bottom: 72px; }
 .ac-mobile-member-nav { position: fixed; display: flex; align-items: center; justify-content: space-around; gap: 5px; z-index: 380; bottom: 0; left: 0; right: 0; padding: 7px max(8px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); background: #fff; border-top: 1px solid var(--ac-border); box-shadow: 0 -5px 20px rgba(49,28,12,.065); }
 .ac-mobile-member-nav a { min-width: 63px; padding: 4px 6px; text-align: center; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 2px; font-size: 10px; line-height: 1.1; color: var(--ac-brown); font-weight: 800; }
 .ac-mobile-member-nav__action svg { color: var(--ac-orange); }
}
@media (max-width: 385px) {
 .ac-brand-image { width: 137px; }
 .ac-site-header__inner { gap: 7px; }
 .ac-header-primary { min-height: 38px; font-size: 10px; padding-inline: 7px; }
 .ac-hero__buttons .ac-button { padding: 11px 12px; }
 .ac-search-form .ac-button { padding-inline: 10px; }
 .ac-mobile-member-nav a { min-width: 54px; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
@media (max-width:782px) { body.admin-bar .ac-site-header { top: 46px; } }
@media print {
 .ac-topline, .ac-site-header, .ac-site-footer, .ac-mobile-member-nav, .ac-search-band, .ac-banner-callout { display: none !important; }
 body { background: #fff; color: #000; }
 .ac-container { width: 100%; }
 .ac-article__columns { display: block; }
}
/* Authenticated civic shell — this is a real-content preview until Core Phase 08. */
.ac-feed-main { background: #f8f5f0; }
.ac-member-layout { display: grid; grid-template-columns: minmax(190px,230px) minmax(0,1fr) minmax(200px,260px); gap: 25px; padding-block: 36px 80px; align-items: start; }
.ac-member-layout__left, .ac-member-layout__right { position: sticky; top: 116px; }
.ac-member-panel { background: #fff; border: 1px solid var(--ac-border); border-radius: 19px; padding: 23px; }
.ac-member-panel h2 { font-size: 19px; margin-bottom: 17px; }
.ac-member-panel p { color: var(--ac-muted); font-size: 13px; }
.ac-member-panel .ac-button { width: 100%; }
.ac-member-menu { display: grid; gap: 7px; }
.ac-member-menu a { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 750; border-radius: 11px; padding: 11px 12px; }
.ac-member-menu a[aria-current="page"] { background: #eff7e9; color: #397a08; }
.ac-member-welcome { border: 1px solid #e8e0d6; border-radius: 20px; background: #fff; padding: 28px 30px; margin-bottom: 16px; }
.ac-member-welcome h1 { font-size: clamp(27px,2.6vw,37px); margin-bottom: 11px; }
.ac-member-welcome p { font-size: 14px; color: var(--ac-muted); margin: 0; }
.ac-member-feed-status { display: flex; gap: 12px; align-items: flex-start; background: #fffaf1; border: 1px solid #f1ddae; color: #6b511b; border-radius: 13px; padding: 14px 17px; margin-bottom: 18px; }
.ac-member-feed-status svg { flex: 0 0 auto; margin-top: 3px; }
.ac-member-feed-status p { font-size: 12px; line-height: 1.65; margin: 0; }
.ac-card-grid--feed { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.ac-card-grid--feed .ac-content-card__body { padding: 16px; }
.ac-card-grid--feed .ac-content-card h3 { font-size: 18px; }
.ac-explore-hero { background: linear-gradient(110deg,rgba(251,248,244,.97),rgba(251,248,244,.8)),url('../images/AC_IMG_05_Petitions_Discovery_Banner.webp') center 40% / cover; }
@media (max-width: 720px){ .ac-explore-hero{ background-image:linear-gradient(110deg,rgba(251,248,244,.97),rgba(251,248,244,.83)),url('../images/responsive/AC_IMG_05_mobile.webp'); } }
@media (max-width: 1150px) { .ac-member-layout { grid-template-columns: 195px minmax(0,1fr); } .ac-member-layout__right { display: none; } }
@media (max-width: 720px) { .ac-member-layout { display: block; padding-block: 19px 70px; } .ac-member-layout__left { display: none; } .ac-member-welcome { padding: 22px 20px; } .ac-card-grid--feed { grid-template-columns: 1fr; } }

.ac-menu-mobile-actions { display:none; }
@media(max-width:960px){ .ac-menu-mobile-actions{display:flex;gap:12px;align-items:center;padding-top:15px;} .ac-menu-mobile-actions a{font-size:14px;font-weight:800;} }

.ac-content-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef6e5,#fdf0dd);color:#6b9b3b;}

/* Phase 02.1 — AfricaChange 4-image hero carousel. Existing inner page heroes unchanged. */
.ac-hero--slider { height: clamp(510px,43vw,660px); min-height: 0; display: block; background: var(--ac-brown); isolation: isolate; }
.ac-hero--slider::after { display: none; }
.ac-hero-slides { position: absolute; inset: 0; }
.ac-hero-slide { position: absolute; inset: 0; display: flex; align-items: center; isolation: isolate; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .65s ease, visibility 0s linear .65s; }
.ac-hero-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; z-index: 1; transition: opacity .65s ease, visibility 0s; }
.ac-hero-slide__media { position: absolute; inset: 0; z-index: -2; display: block; overflow: hidden; background: #35251c; }
.ac-hero-slide__media img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center center; }
.ac-hero-slide__shade { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg,rgba(28,17,10,.94) 0%,rgba(30,17,10,.82) 33%,rgba(30,17,10,.36) 62%,rgba(30,17,10,.06) 100%); }
.ac-hero--slider .ac-hero__inner { position: relative; width: min(var(--ac-container),calc(100% - 48px)); padding-block: 75px 95px; z-index: 2; }
.ac-hero--slider .ac-hero__copy { width: min(600px,53%); }
.ac-hero--slider .ac-kicker { color: #dcffb5; background: rgba(35,57,18,.33); border-color: rgba(190,233,150,.38); }
.ac-hero--slider h1, .ac-hero--slider h2 { color: #fff; font-size: clamp(42px,4.55vw,69px); letter-spacing: -.055em; line-height: 1.08; max-width: 670px; margin: 0 0 22px; text-wrap: balance; }
.ac-hero--slider h1 span, .ac-hero--slider h2 span { color: #ffb25b; }
.ac-hero--slider .ac-hero__copy > p { color: #f7ede4; max-width: 535px; font-size: clamp(16px,1.45vw,19px); line-height: 1.6; }
.ac-hero--slider .ac-button--outline { color: #fff; border-color: rgba(255,255,255,.75); background: rgba(40,27,18,.24); }
.ac-hero--slider .ac-button--outline:hover { color: var(--ac-brown); background: #fff; }
.ac-slider-controls { position: absolute; bottom: 23px; left: 0; right: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.ac-hero--slider:not(.ac-slider-ready) .ac-slider-controls { display: none; }
.ac-slider-controls__arrows { display: inline-flex; gap: 8px; align-items: center; }
.ac-slider-control, .ac-slider-pause { color: #fff; border: 1px solid rgba(255,255,255,.55); background: rgba(26,16,12,.46); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border-radius: 50px; height: 42px; transition: background-color .2s ease, border-color .2s ease; }
.ac-slider-control { width: 42px; display: flex; align-items: center; justify-content: center; font-size: 21px; font-weight: 700; line-height: 1; }
.ac-slider-control:hover, .ac-slider-pause:hover { color: #fff; background: rgba(48,28,15,.94); border-color: #fff; }
.ac-slider-pause { padding: 0 15px; font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; gap: 8px; }
.ac-slider-pause span:first-child { font-size: 16px; font-weight: 800; }
.ac-slider-dots { display: flex; align-items: center; justify-content: center; gap: 10px; }
.ac-slider-dot { width: 12px; height: 12px; min-width: 12px; padding: 0; border-radius: 50px; background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.72); transition: width .25s ease, background-color .25s ease; }
.ac-slider-dot.is-current { width: 33px; background: #ffac46; border-color: #ffac46; }
.ac-slider-dot:hover { background: #fff; }
@media (max-width: 960px) {
 .ac-hero--slider .ac-hero__copy { width: min(570px,66%); }
 .ac-hero--slider h1, .ac-hero--slider h2 { font-size: clamp(40px,5.6vw,61px); }
}
@media (max-width: 720px) {
 .ac-hero--slider { height: auto; min-height: 0; background: var(--ac-canvas); }
 .ac-hero-slides { position: relative; inset: auto; }
 .ac-hero-slide { position: relative; inset: auto; display: none; opacity: 1; visibility: visible; pointer-events: auto; transition: none; background: var(--ac-canvas); }
 .ac-hero-slide.is-active { display: block; }
 .ac-hero-slide__media { position: relative; inset: auto; z-index: 0; display: block; width: 100%; height: clamp(215px,57vw,350px); }
 .ac-hero-slide__media img { object-position: 94% 48%; }
 .ac-hero-slide__shade { display: none; }
 .ac-hero--slider .ac-hero__inner { width: calc(100% - 30px); padding: 29px 0 90px; }
 .ac-hero--slider .ac-hero__copy { width: 100%; }
 .ac-hero--slider .ac-kicker { background: #f3faea; color: #397d08; border-color: #dceacb; }
 .ac-hero--slider h1, .ac-hero--slider h2 { color: var(--ac-brown); font-size: clamp(35px,9vw,52px); margin-bottom: 14px; }
 .ac-hero--slider h1 span, .ac-hero--slider h2 span { color: #d55d0b; }
 .ac-hero--slider .ac-hero__copy > p { color: #52483f; font-size: 15px; line-height: 1.65; margin-bottom: 19px; }
 .ac-hero--slider .ac-button--outline { color: #a84605; border-color: #e97b35; background: #fff; }
 .ac-hero--slider .ac-button--outline:hover { color: #8c3700; background: #fff2e6; }
 .ac-slider-controls { width: calc(100% - 30px); bottom: 17px; gap: 7px; }
 .ac-slider-control { width: 38px; height: 38px; }
 .ac-slider-pause { height: 38px; padding: 0 12px; }
 .ac-slider-controls__arrows { gap: 6px; }
 .ac-slider-dots { gap: 7px; }
 .ac-slider-dot { width: 10px; min-width: 10px; height: 10px; }
 .ac-slider-dot.is-current { width: 25px; }
 .ac-hero--slider .ac-slider-control, .ac-hero--slider .ac-slider-pause { background: #311c0c; color: #fff; border-color: #311c0c; }
 .ac-hero--slider .ac-slider-dot { background: #ccbbaa; border-color: #b8a99e; }
 .ac-hero--slider .ac-slider-dot.is-current { background: #e87319; border-color: #e87319; }
}
@media (max-width: 385px) {
 .ac-hero--slider h1, .ac-hero--slider h2 { font-size: 34px; }
 .ac-hero--slider .ac-hero__buttons .ac-button { font-size: 11px; }
 .ac-hero--slider .ac-slider-control { width: 34px; height: 34px; }
 .ac-hero--slider .ac-slider-pause { height: 34px; font-size: 11px; padding: 0 8px; }
}
@media (prefers-reduced-motion: reduce) {
 .ac-hero-slide, .ac-hero-slide.is-active { transition: none; }
 .ac-slider-dot { transition: none; }
}

/* Phase 03 — premium identity/onboarding design; all controls are accessible native HTML. */
.ac-auth-page{background:#fbf8f4;padding:clamp(36px,6vw,90px) 0 100px;min-height:72vh}
.ac-auth-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(24px,5vw,80px);align-items:start}
.ac-auth-main{min-width:0}
.ac-auth-card{border:1px solid #e6e0d8;border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(49,28,12,.06);padding:clamp(22px,4vw,42px);margin-bottom:24px}
.ac-auth-card h1{font-size:clamp(30px,3.3vw,44px);line-height:1.14;color:#311c0c;letter-spacing:-.04em;margin:12px 0 16px}
.ac-auth-card h2{font-size:clamp(21px,2.2vw,27px);letter-spacing:-.03em;margin:20px 0 14px;color:#311c0c}
.ac-auth-card h3{font-size:18px;margin:20px 0 12px}
.ac-auth-card p{color:#655d56;line-height:1.65}
.ac-auth-form{display:flex;flex-direction:column;gap:9px;margin-top:24px}
.ac-auth-form label:not(.ac-auth-check){font-size:14px;font-weight:700;color:#36291d}
.ac-auth-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.ac-auth-form select,.ac-auth-form textarea{box-sizing:border-box;display:block;width:100%;background:#fff;border:1px solid #d8d1c8;border-radius:11px;padding:13px 15px;color:#251a12;font:inherit;min-height:46px;max-width:100%}
.ac-auth-form textarea{min-height:104px;resize:vertical}
.ac-auth-form input:focus-visible,.ac-auth-form select:focus-visible,.ac-auth-form textarea:focus-visible{outline:3px solid rgba(104,190,17,.3);outline-offset:1px;border-color:#68be11}
.ac-auth-form button.ac-button{align-self:flex-start;cursor:pointer;min-height:48px;margin-top:12px}
.ac-auth-types{display:flex;flex-wrap:wrap;gap:12px;border:0;padding:0;margin:8px 0 18px}
.ac-auth-types legend{font-weight:750;color:#311c0c;margin-bottom:12px}
.ac-auth-types label{display:flex;align-items:center;gap:8px;cursor:pointer;background:#f9f8f5;border:1px solid #e4ded6;border-radius:11px;padding:11px 13px;font-weight:650}
.ac-auth-types input{accent-color:#68be11}
.ac-auth-organisation-fields{display:none;border-top:1px solid #eee7dd;margin-top:13px;padding-top:18px}
.ac-auth-card:has(input[name="account_type"][value="organisation"]:checked) .ac-auth-organisation-fields{display:flex;flex-direction:column;gap:9px}
.ac-auth-check{display:flex;align-items:flex-start;gap:9px;font-size:14px;color:#625a50;line-height:1.5;margin:9px 0}
.ac-auth-check input{accent-color:#68be11;width:18px;height:18px;flex:0 0 auto;margin:2px 0 0}
.ac-auth-hint,.ac-auth-foot{font-size:13px;color:#756d64}
.ac-auth-foot a,.ac-auth-card a:not(.ac-button){color:#316e07;text-underline-offset:3px}
.ac-auth-notice{padding:14px 17px;background:#f0f8e8;border:1px solid #d3eac2;color:#234d11;border-radius:11px;margin:18px 0}
.ac-auth-notice .ac-auth-form{margin:12px 0 0}
.ac-auth-separator{border-top:1px solid #eee6dc;margin-top:32px}
.ac-auth-aside{position:sticky;top:120px;border-radius:24px;overflow:hidden;background:#311c0c;color:#fff}
.ac-auth-illustration img{display:block;width:100%;aspect-ratio:1.12;object-fit:cover}
.ac-auth-aside-copy{padding:clamp(22px,3vw,36px)}
.ac-auth-aside-copy h2{font-size:clamp(24px,2.8vw,36px);color:#fff;line-height:1.22;letter-spacing:-.025em}
.ac-auth-aside-copy p{color:#eadfd4;line-height:1.65}
.ac-auth-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ac-org-summary{border-top:1px solid #f0ece6;padding:14px 0}
.ac-org-summary h2{margin:0 0 5px;font-size:20px}
.ac-org-team-member{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #f0ece6}
.ac-org-team-member span{color:#71655b;font-size:13px}
.ac-org-team-member form{margin-left:auto}
.ac-text-button{border:0;background:transparent;text-decoration:underline;cursor:pointer;color:#9b351c;font:inherit;font-size:13px}
.ac-org-verified{color:#347514;font-weight:700}
@media(max-width:920px){.ac-auth-layout{grid-template-columns:1fr}.ac-auth-aside{position:static;display:grid;grid-template-columns:1fr 1fr}.ac-auth-illustration img{height:100%;aspect-ratio:auto}}
@media(max-width:600px){.ac-auth-page{padding:22px 0 55px}.ac-auth-card{border-radius:17px;padding:22px 18px}.ac-auth-aside{display:block}.ac-auth-illustration img{max-height:230px;object-position:center}.ac-auth-types{flex-direction:column}.ac-auth-form button.ac-button{width:100%;justify-content:center}}

/* AfricaChange Homepage Completion A · 0.1.3 · real-content-first sections */
.ac-search-band__heading{min-width:230px;flex:0 1 365px}
.ac-search-band__heading h2{line-height:1.22}
.ac-search-band .ac-discovery-search{flex:1 1 610px;max-width:810px;width:auto}
.ac-discovery-search select{border:0;border-left:1px solid var(--ac-border);border-radius:0;background:#fff;color:#43362a;outline-offset:2px;min-width:104px;max-width:160px;padding:8px 6px;font-size:12px;font-weight:650;cursor:pointer}
.ac-discovery-search .ac-search-country{max-width:150px}
.ac-discovery-search .ac-button{white-space:nowrap}
.ac-member-ribbon{background:#eff7e6;border-bottom:1px solid #d9ecc4}
.ac-member-ribbon__inner{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-block:12px}
.ac-member-ribbon p{margin:0;font-weight:800;font-size:13px;color:#315714}
.ac-member-ribbon p span{font-weight:500;color:#4c6840}
.ac-member-ribbon a{font-weight:800;font-size:12px;color:#326c10;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ac-home-discovery{padding-block:clamp(48px,5vw,76px);background:#fbf8f4}
.ac-home-discovery__columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.9fr);gap:clamp(26px,3vw,42px);align-items:start}
.ac-home-discovery__petitions,.ac-home-discovery__stories{min-width:0}
.ac-home-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:20px}
.ac-home-section-heading .ac-eyebrow{margin-bottom:5px}
.ac-home-section-heading h2{font-size:clamp(23px,2.2vw,32px);margin:0;line-height:1.2}
.ac-home-section-heading p{font-size:13px;color:var(--ac-muted);margin:8px 0 0}
.ac-home-section-heading .ac-text-link{white-space:nowrap;padding-bottom:4px}
.ac-home-petition-list{display:grid;gap:13px}
.ac-home-petition{display:flex;min-width:0;background:#fff;border:1px solid #e9e1d7;border-radius:16px;overflow:hidden;box-shadow:0 5px 22px rgba(49,28,12,.025)}
.ac-home-petition__picture{flex:0 0 35%;width:35%;min-width:0;background:#e9dfd3;display:block;overflow:hidden}
.ac-home-petition__picture img{width:100%;height:100%;min-height:175px;object-fit:cover;display:block}
.ac-home-petition__placeholder{height:100%;min-height:175px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e5f3d9,#f9ead7);color:#387308}
.ac-home-petition__body{padding:19px 22px;min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start}
.ac-home-petition__meta{color:#52792b;font-size:11px;font-weight:750;margin-bottom:9px}
.ac-home-petition__body h3{font-size:clamp(16px,1.65vw,20px);line-height:1.3;margin:0 0 8px}
.ac-home-petition__body h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.ac-home-petition__body p{font-size:12.5px;line-height:1.55;color:var(--ac-muted);margin:0 0 14px}
.ac-home-petition__action{margin-top:auto;display:inline-flex;align-items:center;gap:6px;border:1px solid #efae7c;border-radius:9px;padding:7px 11px;font-size:11px;font-weight:850;color:#a94a06}
.ac-home-petition__action:hover{background:#fff2e7;color:#863900}
.ac-home-petition-promo{display:grid;grid-template-columns:minmax(170px,39%) 1fr;min-height:310px;overflow:hidden;border:1px solid var(--ac-border);border-radius:19px;background:#fff}
.ac-home-petition-promo > img{width:100%;height:100%;object-fit:cover;min-height:310px}
.ac-home-petition-promo__body{padding:clamp(19px,2.5vw,32px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.ac-home-petition-promo__label{display:inline-block;color:#34750b;background:#eff9e5;padding:5px 11px;border-radius:20px;font-size:11px;font-weight:850;margin-bottom:13px}
.ac-home-petition-promo h3{font-size:clamp(22px,2.15vw,30px);margin:0 0 13px}
.ac-home-petition-promo p{font-size:13.5px;line-height:1.65;color:var(--ac-muted);margin-bottom:23px}
.ac-home-story-list{display:grid;gap:13px}
.ac-home-story-list .ac-content-card{display:grid;grid-template-columns:140px minmax(0,1fr);min-height:170px;border-radius:15px}
.ac-home-story-list .ac-content-card__visual{height:100%;aspect-ratio:auto}
.ac-home-story-list .ac-content-card__body{padding:15px 17px;display:flex;flex-direction:column;align-items:flex-start}
.ac-home-story-list .ac-card-meta{margin-bottom:8px}
.ac-home-story-list .ac-content-card h3{font-size:16px;line-height:1.25;margin:0 0 8px}
.ac-home-story-list .ac-content-card__body p{font-size:11.5px;line-height:1.5;margin-bottom:8px}
.ac-home-story-list .ac-content-card .ac-text-link{font-size:11px;margin-top:auto}
.ac-home-stories-empty{text-align:left;border:1px solid var(--ac-border);border-radius:16px;padding:33px;background:#fff}
.ac-home-stories-empty > div{color:#559316}
.ac-home-stories-empty h3{font-size:20px;margin:10px 0}
.ac-home-stories-empty p{color:var(--ac-muted);font-size:14px;margin:0}
.ac-home-category-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.ac-cause-card--link{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:184px;padding:18px 15px;color:var(--ac-brown)}
.ac-cause-card--link:hover{box-shadow:0 8px 24px rgba(49,28,12,.06);color:var(--ac-brown)}
.ac-cause-card--link .ac-cause-card__icon{width:48px;height:48px;margin-bottom:14px;flex:0 0 auto}
.ac-cause-card--link h3{font-size:15px;margin:0 0 7px}
.ac-cause-card--link p{font-size:11px;line-height:1.5;padding-right:6px}
.ac-cause-card__arrow{position:absolute;right:12px;top:21px;color:#df7a26}
.ac-home-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.ac-home-steps .ac-step{padding:26px 22px}
.ac-home-steps .ac-step__number{font-size:49px;right:15px}
.ac-home-steps .ac-step__icon{width:50px;height:50px;margin-bottom:19px}
.ac-home-steps .ac-step h3{font-size:18px}
.ac-home-steps .ac-step p{font-size:12.5px;line-height:1.6}
.ac-home-org{background:#fff;border-block:1px solid #f0e8de}
.ac-home-org__inner{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(30px,5vw,75px);align-items:center}
.ac-home-org__image{border-radius:24px;overflow:hidden;box-shadow:var(--ac-shadow)}
.ac-home-org__image img{width:100%;display:block;aspect-ratio:1.4;object-fit:cover}
.ac-home-org__text h2{font-size:clamp(29px,3.4vw,46px);margin:0 0 18px}
.ac-home-org__text > p{color:var(--ac-muted);font-size:15px;line-height:1.75}
.ac-home-org__text .ac-button{margin-top:27px}
@media(max-width:1160px){
 .ac-home-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ac-cause-card--link{min-height:160px}
 .ac-home-discovery__columns{grid-template-columns:minmax(0,1.2fr) minmax(280px,.9fr);gap:22px}
 .ac-home-petition-promo{grid-template-columns:35% 1fr}
 .ac-home-story-list .ac-content-card{grid-template-columns:110px 1fr}
}
@media(max-width:920px){
 .ac-search-band__heading{flex:auto}
 .ac-search-band .ac-discovery-search{width:100%;flex:auto;max-width:none}
 .ac-home-discovery__columns{grid-template-columns:1fr}
 .ac-home-story-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ac-home-story-list .ac-content-card{grid-template-columns:1fr}
 .ac-home-story-list .ac-content-card__visual{aspect-ratio:1.8;height:auto}
 .ac-home-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
 .ac-search-band__inner{gap:15px}
 .ac-search-band .ac-discovery-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px;border-radius:15px}
 .ac-discovery-search .ac-search-form__icon{grid-column:1;grid-row:1;position:absolute;top:20px;left:11px}
 .ac-discovery-search input{grid-column:1 / -1;grid-row:1;padding-left:34px;border-bottom:1px solid #eee6de;height:47px}
 .ac-discovery-search select{grid-column:1;grid-row:auto;border:1px solid #eee6de;border-radius:9px;background:#fff;min-width:0;max-width:none;width:100%;min-height:43px}
 .ac-discovery-search select.ac-search-country{grid-column:1;max-width:none}
 .ac-discovery-search .ac-button{grid-column:2;grid-row:2 / span 2;align-self:stretch;min-height:43px}
 .ac-discovery-search:not(:has(.ac-search-country)) .ac-button{grid-row:2}
 .ac-member-ribbon__inner{align-items:flex-start}
 .ac-member-ribbon p span{display:none}
 .ac-home-discovery{padding-block:43px}
 .ac-home-discovery__columns{gap:39px}
 .ac-home-section-heading{margin-bottom:17px}
 .ac-home-petition-promo{grid-template-columns:1fr}
 .ac-home-petition-promo > img{height:180px;min-height:0;aspect-ratio:2;object-position:center}
 .ac-home-petition-promo__body{padding:22px}
 .ac-home-story-list{grid-template-columns:1fr}
 .ac-home-story-list .ac-content-card{grid-template-columns:38% 1fr;min-height:160px}
 .ac-home-story-list .ac-content-card__visual{height:100%;aspect-ratio:auto}
 .ac-home-story-list .ac-content-card__body p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
 .ac-home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .ac-cause-card--link{min-height:172px;padding:16px}
 .ac-home-org__inner{grid-template-columns:1fr}
 .ac-home-org__image img{aspect-ratio:1.65}
}
@media(max-width:460px){
 .ac-home-petition__picture{flex-basis:34%;width:34%}
 .ac-home-petition__body{padding:14px 13px}
 .ac-home-petition__body h3{font-size:15px}
 .ac-home-petition__body p{font-size:11px}
 .ac-home-petition__picture img,.ac-home-petition__placeholder{min-height:185px}
 .ac-home-story-list .ac-content-card{grid-template-columns:36% 1fr}
 .ac-home-story-list .ac-content-card__body{padding:12px}
 .ac-home-story-list .ac-content-card h3{font-size:14px}
 .ac-home-story-list .ac-card-meta{font-size:10px}
 .ac-home-steps{grid-template-columns:1fr;gap:12px}
 .ac-home-steps .ac-step{padding:22px}
 .ac-home-steps .ac-step__icon{margin-bottom:11px}
}
@media(prefers-reduced-motion:reduce){
 .ac-home-petition,.ac-cause-card--link,.ac-home-story-list .ac-content-card{transition:none}
}

/* Without a live petition engine, avoid a redundant content-type selector. */
@media(max-width:720px){
 .ac-discovery-search:not(:has(.ac-search-scope)) input[type=search]{grid-column:1;grid-row:1;border-bottom:0}
 .ac-discovery-search:not(:has(.ac-search-scope)) .ac-button{grid-column:2;grid-row:1;min-width:78px}
}

/* Phase 04 — country directory, civic cause search and region archives */
.ac-geo-directory,.ac-geo-discover{width:100%;margin:10px auto 50px}
.ac-geo-heading{margin:0 0 24px}.ac-geo-heading h2{font-size:clamp(26px,3.2vw,42px);line-height:1.15;margin:7px 0 12px;color:#311c0c}
.ac-geo-heading p,.ac-geo-disclaimer{color:#645c57;line-height:1.7;max-width:680px}
.ac-country-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ac-country-tile{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #eae4dc;border-radius:15px;padding:15px;color:#311c0c;text-decoration:none;transition:transform .16s ease,border-color .16s ease}
.ac-country-tile:hover,.ac-country-tile:focus-visible{transform:translateY(-2px);border-color:#68be11}.ac-country-tile strong{font-size:14px;flex:1}
.ac-country-tile__code{display:grid;place-items:center;flex:0 0 40px;min-height:34px;border-radius:8px;background:#f0f8e7;color:#356c0e;font-size:12px;font-weight:800}
.ac-search-form--geo{max-width:100%;width:100%;display:grid;grid-template-columns:minmax(160px,1.5fr) repeat(4,minmax(115px,1fr)) auto;align-items:center;gap:8px;position:relative}
.ac-search-form--geo .ac-search-form__icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none}
.ac-search-form--geo input{padding-left:43px;width:100%;min-width:0}.ac-search-form--geo select{width:100%;max-width:100%;min-width:0;height:42px;background:#fff;border:1px solid #ece4da;border-radius:8px;padding:0 7px;color:#311c0c;font-size:12px}
.ac-geo-results{margin:28px 0}.ac-geo-results h2{color:#311c0c;margin-bottom:15px}.ac-geo-results__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:25px}
.ac-geo-result{background:#fff;border:1px solid #eae4dc;border-radius:18px;padding:23px;min-width:0;box-shadow:0 8px 27px #311c0c08}
.ac-geo-result>span{display:inline-block;color:#4a8621;font-weight:700;font-size:12px;margin-bottom:9px}.ac-geo-result h3{font-size:20px;line-height:1.35;margin:0 0 11px}.ac-geo-result h3 a{color:#311c0c;text-decoration:none}
.ac-geo-result p{color:#69625d;font-size:14px;line-height:1.65}.ac-geo-result>a{color:#387c0f;font-size:13px;font-weight:700}
.ac-geo-empty{padding:34px;background:#fff;border:1px dashed #dcd2c5;border-radius:18px;color:#5b5149}.ac-geo-empty h3{color:#311c0c;margin:0 0 10px}
.ac-geo-pages{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.ac-geo-pages a{padding:9px 14px;border:1px solid #ddd6cb;border-radius:9px;text-decoration:none;color:#311c0c}.ac-geo-pages a[aria-current]{background:#311c0c;color:#fff}
.ac-geo-hero{background:#fbf8f4;padding:44px 0}.ac-geo-hero__inner{display:grid;grid-template-columns:1fr .65fr;gap:34px;align-items:center}.ac-geo-hero h1{font-size:clamp(34px,5vw,64px);line-height:1.12;margin:8px 0 16px}.ac-geo-hero p{font-size:16px;max-width:580px;line-height:1.75;color:#5c5048}
.ac-geo-hero img{width:100%;max-height:300px;object-fit:cover;border-radius:24px;aspect-ratio:1.65}.ac-geo-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.ac-geo-regions{margin-bottom:35px}.ac-geo-regions h2{font-size:23px;margin:0 0 16px}.ac-geo-region-list{display:flex;flex-wrap:wrap;gap:8px}.ac-geo-region-list a{padding:8px 12px;border-radius:22px;border:1px solid #dce8ce;background:#f6fbf1;color:#346711;font-size:13px;text-decoration:none}
@media(max-width:1120px){.ac-country-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ac-search-form--geo{grid-template-columns:repeat(3,minmax(0,1fr))}.ac-search-form--geo input{grid-column:1/-1}.ac-search-form--geo .ac-search-form__icon{top:29px}.ac-search-form--geo .ac-button{grid-column:3}}
@media(max-width:720px){.ac-country-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-search-form--geo{grid-template-columns:1fr 1fr}.ac-search-form--geo .ac-button{grid-column:1/-1}.ac-search-form--geo .ac-search-form__icon{top:29px}.ac-geo-results__grid{grid-template-columns:1fr}.ac-geo-hero__inner{grid-template-columns:1fr}.ac-geo-hero img{max-height:210px}.ac-geo-hero{padding:30px 0}}
@media(max-width:420px){.ac-country-grid{grid-template-columns:1fr}.ac-search-form--geo{grid-template-columns:1fr}.ac-search-form--geo input,.ac-search-form--geo .ac-button{grid-column:1}.ac-geo-hero h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){.ac-country-tile{transition:none}.ac-country-tile:hover{transform:none}}
.ac-geo-preferred{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:13px 16px;border-radius:12px;background:#f4faed;color:#345e13;margin:14px 0 20px;font-size:14px}.ac-geo-preferred a{font-weight:800;color:#286c12}.ac-geo-preferred span{color:#5e6958}

/* Phase 04 homepage/navigation clarity hotfix · Theme 0.1.6 */
.ac-search-band .ac-search-form--simple{display:flex;align-items:center;gap:7px;max-width:650px;min-width:0;padding:6px;flex:1 1 570px}
.ac-search-form--simple .ac-search-form__icon{position:static;transform:none;display:flex;align-items:center;padding:0 7px 0 10px;flex:0 0 auto}
.ac-search-form--simple input[type="search"]{flex:1 1 auto;min-width:0;width:100%;padding:8px 2px;height:43px;grid-column:auto;grid-row:auto;font-size:14px}
.ac-search-form--simple .ac-button{flex:0 0 auto;min-height:43px;padding:10px 22px}
.ac-categories-view-all{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-height:44px;white-space:nowrap;font-size:13px}
.ac-category-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ac-category-directory__card{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e8dfd5;border-radius:16px;padding:23px 22px;background:#fff;color:#311c0c;text-decoration:none;font-weight:750;min-height:84px;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.ac-category-directory__card:hover,.ac-category-directory__card:focus-visible{transform:translateY(-2px);border-color:#68be11;box-shadow:0 8px 20px rgba(49,28,12,.075)}
.ac-category-directory__arrow{color:#e5731c;font-size:20px}
@media(max-width:760px){.ac-home-section-heading--wide{align-items:flex-start;flex-direction:column}.ac-category-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ac-search-band .ac-search-form--simple{width:100%;flex:auto;max-width:none}}
@media(max-width:480px){.ac-category-directory__grid{grid-template-columns:1fr}.ac-search-form--simple .ac-button{padding:10px 14px}.ac-search-form--simple input[type="search"]{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ac-category-directory__card{transition:none}.ac-category-directory__card:hover{transform:none}}

/* Geography + account journey clarity · v0.1.7 */
.ac-auth-switch{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:18px 0 2px;padding:15px 17px;border:1px solid #dcebcf;background:#f4faef;border-radius:12px;font-size:14px;color:#3c3329;font-weight:650}
.ac-auth-switch a{color:#2d6c09!important;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.ac-auth-switch a:hover,.ac-auth-switch a:focus-visible{color:#195a03!important}
.ac-auth-card .ac-auth-foot{border-top:1px solid #eee7df;margin-top:25px;padding-top:18px;font-size:14px;font-weight:600}
.ac-country-grid:empty{display:none}
@media(max-width:600px){.ac-auth-switch{padding:13px 14px}.ac-country-grid{gap:10px}}
.ac-rich-content a.ac-country-tile,.ac-rich-content a.ac-category-directory__card{color:#311c0c;text-decoration:none}
.ac-rich-content a.ac-country-tile:hover,.ac-rich-content a.ac-category-directory__card:hover{color:#311c0c;text-decoration:none}
.ac-rich-content .ac-country-tile__code{color:#356c0e}
.ac-rich-content .ac-category-directory__arrow{color:#e5731c}
