/* =============================================================================
   AFS FORUM - MAIN.CSS
   Design system: custom CSS only (Bootstrap 5 handles resets/grid/utilities)
   ============================================================================= */

/* ---------------------------------------------------------------------------
   1. BASE RESET
   --------------------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: 'Montserrat', sans-serif;
  color: #1a1a1a;
  background: #fff;
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
}

/* ---------------------------------------------------------------------------
   2. CSS VARIABLES
   --------------------------------------------------------------------------- */
:root {
  --afs-dark:   #144b2d;
  --afs-lime:   #60a511;
  --afs-cream:  #f6f5f2;
  --afs-gray:   #ebebeb;
  --afs-muted:  #878686;
  --afs-black:  #1a1a1a;
  --afs-white:  #ffffff;

  --afs-radius-btn:   30px;
  --afs-radius-card:  30px;
  --afs-radius-large: 50px;

  --afs-container-max: 1200px;
  --afs-container-pad: 80px;
}

/* ---------------------------------------------------------------------------
   3. CONTAINER
   --------------------------------------------------------------------------- */
.afs-container {
  max-width: var(--afs-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--afs-container-pad);
  padding-right: var(--afs-container-pad);
}

/* ---------------------------------------------------------------------------
   4. BUTTONS
   --------------------------------------------------------------------------- */
.afs-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: var(--afs-radius-btn);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  transition: opacity 0.2s, background-color 0.2s, color 0.2s, border-color 0.2s;
  line-height: 1;
  white-space: nowrap;
}

.afs-btn:hover {
  opacity: 0.88;
}

.afs-btn-dark {
  background-color: var(--afs-dark);
  color: var(--afs-white);
  border: none;
}

.afs-btn-lime {
  background-color: var(--afs-lime);
  color: var(--afs-dark);
  border: none;
}

.afs-btn-white {
  background-color: var(--afs-white);
  color: var(--afs-dark);
  border: none;
}

.afs-btn-outline {
  background-color: transparent;
  color: var(--afs-dark);
  border: 1px solid var(--afs-dark);
}

.afs-btn-outline-dark {
  background-color: transparent;
  color: var(--afs-black);
  border: 1px solid #d9d9d9;
}

/* Arrow-wrapped button */
.afs-btn-arrow-wrap {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
}

.afs-btn-arrow-wrap img {
  margin-left: auto;
}

/* Large circular arrow CTA */
.afs-btn-arrow-img {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.afs-btn-group {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

/* ---------------------------------------------------------------------------
   5. PILL BUTTON / BADGE LABEL
   --------------------------------------------------------------------------- */
.afs-pill-btn {
  display: inline-block;
  border: 1px solid #d9d9d9;
  border-radius: var(--afs-radius-btn);
  padding: 8px 20px;
  font-size: 12px;
  font-weight: 700;
  color: var(--afs-black);
  background-color: transparent;
  margin-bottom: 24px;
  font-family: 'Montserrat', sans-serif;
  cursor: default;
}

.afs-pill-btn--outline {
  border-color: var(--afs-white);
  color: var(--afs-white);
}

/* ---------------------------------------------------------------------------
   6. UTILITY: LIME TEXT
   --------------------------------------------------------------------------- */
.afs-text-lime {
  color: var(--afs-lime);
}

/* ---------------------------------------------------------------------------
   7. CARD ARROW (circular)
   --------------------------------------------------------------------------- */
.afs-card-arrow {
  display: inline-flex;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

.afs-card-arrow img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---------------------------------------------------------------------------
   8. NAVBAR
   --------------------------------------------------------------------------- */
.afs-navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: var(--afs-cream);
  border-bottom: 1px solid #f0f0f0;
  height: 100px;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06);
}

.afs-nav-inner {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  padding-left: calc(20%);
  padding-right: calc(10%);
  display: flex;
  align-items: center;
  height: 100%;
  gap: 0;
  position: relative;
}

.afs-logo {
  height: 70px;
  object-fit: contain;
  flex-shrink: 0;
}

.afs-nav-list {
  display: flex;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  margin-left: auto;
  flex-wrap: nowrap;
}

.afs-nav-list .nav-link {
  font-weight: 700 !important;
  font-size: 13px !important;
  color: var(--afs-dark) !important;
  padding: 8px 14px !important;
  white-space: nowrap;
  font-family: 'Montserrat', sans-serif;
}

.afs-nav-list .nav-link.active {
  background-color: var(--afs-gray);
  border-radius: var(--afs-radius-btn);
}

/* Dropdown */
.afs-dropdown {
  border: none !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
  border-radius: 15px !important;
  padding: 8px !important;
}

.afs-dropdown .dropdown-item {
  font-size: 13px;
  font-weight: 600;
  color: var(--afs-dark);
  padding: 8px 16px;
  border-radius: 8px;
  font-family: 'Montserrat', sans-serif;
}

.afs-dropdown .dropdown-item:hover,
.afs-dropdown .dropdown-item:focus {
  background-color: var(--afs-cream);
  color: var(--afs-dark);
}

.afs-dropdown .dropdown-item.active,
.afs-dropdown .dropdown-item:active,
.afs-dropdown .current-menu-item > .dropdown-item {
  background-color: var(--afs-dark) !important;
  color: #fff !important;
}

/* Nav controls (search + lang + toggler) */
.afs-nav-controls {
  margin-left: 24px;
  display: flex;
  gap: 12px;
  align-items: center;
  flex-shrink: 0;
}

.afs-search-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.afs-lang-btn {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background-color: var(--afs-dark);
  color: var(--afs-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
  font-family: 'Montserrat', sans-serif;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
}

.afs-toggler {
  border: none !important;
  padding: 8px;
  background: none;
  cursor: pointer;
}

.afs-toggler:focus {
  box-shadow: none !important;
}

/* ---------------------------------------------------------------------------
   9. HERO
   --------------------------------------------------------------------------- */
.afs-hero {
  position: relative;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
  margin-top: 100px;
}

.afs-hero-bg {
  position: absolute;
  inset: 0;
  background-image: url('../img/hero-aerial.png');
  background-size: cover;
  background-position: center top;
}

.afs-hero-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0.85) 0%,
    rgba(255, 255, 255, 0.3) 60%,
    rgba(255, 255, 255, 0) 100%
  );
}

.afs-hero-content {
  position: relative;
  z-index: 2;
  max-width: var(--afs-container-max);
  margin: 0 auto;
  padding: 0 var(--afs-container-pad);
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.afs-hero-tagline {
  font-weight: 200;
  font-size: 30px;
  color: var(--afs-dark);
  max-width: 650px;
  line-height: 1.4;
  margin-bottom: 40px;
}

.afs-hero-actions {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}

/* ---------------------------------------------------------------------------
   10. WHO WE ARE
   --------------------------------------------------------------------------- */
.afs-who {
  padding: 80px 0;
  background: var(--afs-white);
}

.afs-who-layout {
  display: flex;
  gap: 60px;
  margin-top: 40px;
  align-items: flex-start;
}

.afs-who-left {
  flex: 0 0 55%;
  max-width: 55%;
}

.afs-who-right {
  flex: 1;
}

.afs-who-text {
  font-weight: 200;
  font-size: 28px;
  color: var(--afs-dark);
  line-height: 1.5;
  display: none;
}

.afs-who-text.active {
  display: block;
}

.afs-tabs {
  display: flex;
  gap: 24px;
  margin-top: 32px;
  align-items: center;
}

.afs-tab {
  background: none;
  border: none;
  font-size: 20px;
  font-weight: 400;
  color: #b3b0b0;
  cursor: pointer;
  padding: 0 0 8px 0;
  position: relative;
  font-family: 'Montserrat', sans-serif;
  transition: color 0.2s;
}

.afs-tab.active {
  color: var(--afs-dark);
}

.afs-tab::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--afs-dark);
  opacity: 0;
  transition: opacity 0.2s;
}

.afs-tab.active::after {
  opacity: 1;
}

.afs-who-sub {
  font-size: 16px;
  color: var(--afs-black);
  margin-top: 32px;
  max-width: 530px;
}

.afs-who-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 24px;
}

/* ---------------------------------------------------------------------------
   11. WHAT WE DO
   --------------------------------------------------------------------------- */
.afs-what {
  padding: 0 22px;
}

.afs-what-inner {
  background-color: var(--afs-dark);
  border-radius: 50px;
  padding: 80px calc(20% - 22px);
  overflow: hidden;
}

.afs-what-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 60px;
  gap: 40px;
}

.afs-what-header-right {
  max-width: 600px;
}

.afs-what-heading {
  font-weight: 200;
  font-size: 40px;
  color: var(--afs-white);
  margin-bottom: 32px;
}

.afs-what-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.afs-what-card {
  background-color: rgba(96, 165, 17, 0.8);
  border-radius: var(--afs-radius-card);
  overflow: hidden;
  min-height: 541px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.afs-what-card-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 321px;
  height: 321px;
  opacity: 0.3;
}

.afs-what-card-pattern img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.afs-what-card-footer {
  position: relative;
  z-index: 2;
  padding: 24px 40px 40px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.afs-what-card-footer h3 {
  font-weight: 700;
  font-size: 22px;
  color: var(--afs-dark);
  margin: 0;
  max-width: 286px;
  transition: color 0.25s ease;
}

.afs-what-card:hover .afs-what-card-footer h3 {
  color: #fff !important;
}

/* ---------------------------------------------------------------------------
   12. IMPACT STATS
   --------------------------------------------------------------------------- */
.afs-impact {
  padding: 60px 0;
  background: var(--afs-white);
}

.afs-stats-row {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  flex-wrap: wrap;
}

.afs-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  flex: 1 1 200px;
}

.afs-stat-badge {
  background-color: var(--afs-gray);
  border-radius: 15px;
  padding: 16px 24px;
  min-width: 142px;
}

.afs-stat-num {
  font-weight: 700;
  font-size: 24px;
  color: var(--afs-dark);
}

.afs-stat-label {
  font-size: 18px;
  color: var(--afs-muted);
  font-weight: 400;
}

/* ---------------------------------------------------------------------------
   13. DEALROOM
   --------------------------------------------------------------------------- */
.afs-dealroom {
  padding: 40px 0;
}

.afs-dealroom-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  height: 676px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 40px;
  background-image: url('../img/img-impact-crowd.jpg');
  background-size: cover;
  background-position: center;
}

.afs-dealroom-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    115deg,
    rgba(0, 0, 0, 0.8) 40%,
    rgba(102, 102, 102, 0.5) 80%
  );
}

.afs-dealroom-cta-top {
  position: relative;
  z-index: 2;
}

.afs-dealroom-bottom {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.afs-dealroom-quote {
  font-weight: 500;
  font-size: 30px;
  color: var(--afs-white);
  max-width: 628px;
  margin: 0;
}

/* ---------------------------------------------------------------------------
   14. LATEST UPDATES
   --------------------------------------------------------------------------- */
.afs-updates {
  padding: 80px 0;
}

.afs-updates-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
}

.afs-updates-heading {
  font-weight: 200;
  font-size: 40px;
  color: var(--afs-black);
  max-width: 775px;
  margin-top: 16px;
  margin-bottom: 0;
}

.afs-updates-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.afs-update-card {
  background-color: var(--afs-gray);
  border-radius: var(--afs-radius-card);
  overflow: hidden;
  min-height: 541px;
  display: flex;
  flex-direction: column;
}

.afs-update-card--dark {
  background-color: var(--afs-dark);
}

.afs-update-card--dark .afs-update-title a {
  color: var(--afs-lime);
}

.afs-update-card--dark .afs-update-type {
  color: var(--afs-dark);
}

.afs-update-card-img {
  height: 249px;
  overflow: hidden;
}

.afs-update-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px 20px 0 0;
}

.afs-update-card-body {
  padding: 24px 40px;
  flex: 1;
}

.afs-update-type {
  font-size: 12px;
  font-weight: 400;
  color: var(--afs-dark);
  text-transform: uppercase;
  display: block;
  margin-bottom: 8px;
  letter-spacing: 0.05em;
}

.afs-update-title {
  font-weight: 700;
  font-size: 22px;
  color: var(--afs-dark);
  margin: 0;
}

.afs-update-title a {
  color: inherit;
}

.afs-update-card-arrow {
  padding: 0 40px 32px;
  margin-top: auto;
}

/* ---------------------------------------------------------------------------
   15. SUBSCRIBE
   --------------------------------------------------------------------------- */
.afs-subscribe {
  background-color: var(--afs-dark);
  border-radius: 0 0 50px 50px;
  overflow: hidden;
}

.afs-subscribe-inner {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  min-height: 474px;
}

.afs-subscribe-content {
  flex: 1;
  padding: 60px calc(20%);
}

.afs-subscribe-heading {
  font-weight: 200;
  font-size: 40px;
  color: var(--afs-white);
  max-width: 582px;
  margin: 24px 0 40px;
}

.afs-subscribe-fields {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}

.afs-input-email {
  flex: 1;
  max-width: 364px;
  height: 58px;
  border: 1px solid #d9d9d9;
  border-radius: var(--afs-radius-btn);
  padding: 0 24px;
  background: transparent;
  color: #d9d9d9;
  font-size: 16px;
  font-family: 'Montserrat', sans-serif;
  outline: none;
}

.afs-input-email::placeholder {
  color: #d9d9d9;
}

.afs-subscribe-image {
  flex: 0 0 884px;
  max-width: 884px;
  overflow: hidden;
}

.afs-subscribe-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---------------------------------------------------------------------------
   16. FOOTER
   --------------------------------------------------------------------------- */
.afs-footer {
  background-color: var(--afs-cream);
}

.afs-footer-inner {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  padding: 60px calc(20%) 40px;
  display: grid;
  grid-template-columns: 2fr 1.2fr 1fr;
  gap: 60px;
}

.afs-footer-col--brand {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.afs-footer-logo img {
  height: 106px;
  object-fit: contain;
}

.afs-footer-desc {
  font-size: 16px;
  font-weight: 200;
  color: var(--afs-black);
  line-height: 1.6;
}

.afs-footer-col-title {
  font-size: 24px;
  font-weight: 200;
  color: var(--afs-black);
  margin-bottom: 24px;
  margin-top: 0;
}

.afs-footer-address {
  font-weight: 700;
  font-size: 16px;
  color: var(--afs-black);
  font-style: normal;
  line-height: 2.5;
}

.afs-footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.afs-footer-links li {
  margin-bottom: 0;
}

.afs-footer-links a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 16px;
  color: var(--afs-black);
  line-height: 2.5;
}

.afs-link-arrow {
  width: 33px;
  height: 33px;
  flex-shrink: 0;
}

.afs-footer-cta {
  margin-top: auto;
  align-self: flex-start;
}

/* Footer bottom bar */
.afs-footer-bottom {
  border-top: 1px solid #d9d9d9;
  padding: 24px calc(20%);
}

.afs-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.afs-social-icons {
  display: flex;
  gap: 8px;
  align-items: center;
}

.afs-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.afs-social-link img {
  width: 29px;
  height: 29px;
}

.afs-social-link--x img {
  width: 29px;
}

.afs-social-circle {
  display: inline-flex;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  background-color: var(--afs-muted);
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.afs-social-circle img {
  width: 12px;
  height: 12px;
}

.afs-footer-nav {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  align-items: center;
}

.afs-footer-nav a {
  font-weight: 700;
  font-size: 12px;
  color: var(--afs-dark);
}

.afs-copyright {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  color: var(--afs-black);
}

.afs-copyright-sym {
  font-size: 14px;
}

/* ---------------------------------------------------------------------------
   17. INNER PAGES - GENERIC
   --------------------------------------------------------------------------- */
.afs-inner-page {
  padding-top: 100px;
}

.afs-inner-hero {
  background-color: var(--afs-cream);
  padding: 80px 0;
}

.afs-inner-content {
  max-width: var(--afs-container-max);
  margin: 0 auto;
  padding: 80px;
}

.afs-breadcrumb {
  display: inline-block;
  border: 1px solid #d9d9d9;
  border-radius: var(--afs-radius-btn);
  padding: 8px 20px;
  font-size: 12px;
  font-weight: 700;
  color: var(--afs-black);
  margin-bottom: 32px;
  font-family: 'Montserrat', sans-serif;
}

.afs-inner-heading {
  font-weight: 200;
  font-size: 30px;
  color: var(--afs-dark);
  max-width: 900px;
  line-height: 1.4;
  margin-bottom: 40px;
}

.afs-inner-image {
  border-radius: 40px;
  overflow: hidden;
  margin-top: 48px;
}

.afs-inner-image img {
  width: 100%;
  height: 562px;
  object-fit: cover;
}

/* ---------------------------------------------------------------------------
   18. WHO WE ARE PAGE - SPECIFIC
   --------------------------------------------------------------------------- */
.afs-wwa-vision {
  padding: 80px 0;
}

.afs-wwa-purpose-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 48px 0;
}

.afs-purpose-card {
  border-radius: var(--afs-radius-card);
  overflow: hidden;
  min-height: 528px;
  position: relative;
  padding: 48px 40px;
  display: flex;
  flex-direction: column;
}

.afs-purpose-card--dark {
  background-color: rgba(20, 75, 45, 0.8);
}

.afs-purpose-card--img {
  padding: 0;
}

.afs-purpose-card--lime {
  background-color: rgba(96, 165, 17, 0.8);
}

.afs-purpose-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.afs-purpose-card h3 {
  font-weight: 700;
  font-size: 22px;
  color: var(--afs-white);
  margin: 20px 0 0;
}

.afs-purpose-card p {
  font-weight: 400;
  font-size: 14px;
  color: var(--afs-white);
  margin-top: 16px;
}

.afs-objectives-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 48px;
}

.afs-objective-card {
  border: 1px solid #d9d9d9;
  border-radius: 15px;
  padding: 24px;
  min-height: 328px;
}

.afs-objective-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: var(--afs-lime);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.afs-objective-title {
  font-weight: 700;
  font-size: 12px;
  color: var(--afs-dark);
}

.afs-objective-desc {
  font-size: 10px;
  color: var(--afs-dark);
  margin-top: 8px;
}

.afs-history {
  padding: 80px 0 0;
  text-align: center;
}

.afs-history-image {
  border-radius: 20px;
  overflow: hidden;
  margin: 48px 0;
}

.afs-history-tabs {
  display: flex;
  gap: 16px;
  justify-content: center;
  margin-top: 40px;
  flex-wrap: wrap;
}

.afs-history-tab {
  border-radius: var(--afs-radius-btn);
  padding: 8px 24px;
  font-weight: 700;
  font-size: 12px;
  border: none;
  cursor: pointer;
  background-color: var(--afs-white);
  color: var(--afs-dark);
  font-family: 'Montserrat', sans-serif;
  transition: background-color 0.2s, color 0.2s;
}

.afs-history-tab.active {
  background-color: var(--afs-lime);
  color: var(--afs-white);
}

.afs-history-panel {
  background-color: var(--afs-cream);
  border-radius: 15px;
  padding: 40px;
  max-width: 604px;
  margin: 32px auto 0;
  text-align: left;
}

/* ---------------------------------------------------------------------------
   19. GOVERNANCE PAGE - SPECIFIC
   --------------------------------------------------------------------------- */
.afs-gov-organogram {
  padding: 48px 0;
}

.afs-gov-organogram img {
  width: 100%;
  max-height: 374px;
  object-fit: contain;
}

.afs-committee-header {
  text-align: center;
  margin-bottom: 48px;
}

.afs-member-card {
  background-color: var(--afs-white);
  border-radius: 15px;
  padding: 24px;
  text-align: center;
  min-height: 310px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.afs-member-photo {
  width: 151px;
  height: 151px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 16px;
}

.afs-member-divider {
  width: 100%;
  height: 1px;
  background-color: #d9d9d9;
  margin: 16px 0;
}

.afs-member-name {
  font-weight: 700;
  font-size: 14px;
  color: var(--afs-dark);
}

.afs-member-role {
  font-weight: 400;
  font-size: 12px;
  color: var(--afs-lime);
  margin-top: 4px;
}

.afs-strategic-section {
  position: relative;
  min-height: 860px;
  overflow: hidden;
}

.afs-strategic-bg {
  position: absolute;
  inset: 0;
}

.afs-strategic-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.afs-strategic-card {
  position: relative;
  z-index: 2;
  background-color: var(--afs-cream);
  border-radius: 15px;
  padding: 48px;
  max-width: 604px;
  margin: 80px calc(20%);
}

.afs-strategic-link {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 500;
  font-size: 14px;
  margin-top: 16px;
  color: var(--afs-dark);
}

/* ---------------------------------------------------------------------------
   20. SECRETARIAT PAGE
   --------------------------------------------------------------------------- */
.afs-sec-intro {
  padding: 80px 0;
}

.afs-team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  padding: 0 0 80px;
}

.afs-team-card {
  background-color: var(--afs-white);
  border-radius: 15px;
  padding: 24px;
  text-align: center;
}

.afs-team-photo {
  width: 151px;
  height: 151px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 16px;
}

.afs-team-divider {
  width: 100%;
  height: 1px;
  background-color: #d9d9d9;
  margin: 16px 0;
}

.afs-team-name {
  font-weight: 700;
  font-size: 14px;
  color: var(--afs-dark);
}

.afs-team-role {
  font-size: 12px;
  color: var(--afs-lime);
}

/* ---------------------------------------------------------------------------
   21. PARTNERS PAGE
   --------------------------------------------------------------------------- */
.afs-partners-intro {
  padding: 80px 0;
}

.afs-partners-quote {
  font-weight: 200;
  font-size: 40px;
  color: var(--afs-dark);
  max-width: 900px;
  margin-bottom: 48px;
  line-height: 1.4;
  margin-top: 0;
}

.afs-partners-hero-img {
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 48px;
}

.afs-partners-hero-img img {
  width: 100%;
  height: 700px;
  object-fit: cover;
}

/* ---------------------------------------------------------------------------
   22. GENERIC PAGE (page.php)
   --------------------------------------------------------------------------- */
.afs-page-hero {
  background-color: var(--afs-cream);
  padding: 80px 0;
}

.afs-page-content {
  padding: 80px 0;
}

.afs-page-content p,
.afs-page-content li {
  font-size: 16px;
  line-height: 1.8;
}

/* ---------------------------------------------------------------------------
   23. RESPONSIVE - MEDIA QUERIES
   --------------------------------------------------------------------------- */

/* Large screens: constrain subscribe image */
@media (max-width: 1199px) {
  .afs-subscribe-image {
    flex: 0 0 400px;
    max-width: 400px;
  }
}

/* Tablet / mobile breakpoint */
@media (max-width: 768px) {
  /* Container */
  .afs-container {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* What We Do */
  .afs-what-inner {
    border-radius: 24px;
    padding: 40px 20px;
  }

  /* Single-column grids */
  .afs-what-cards,
  .afs-updates-grid,
  .afs-wwa-purpose-cards,
  .afs-objectives-grid {
    grid-template-columns: 1fr;
  }

  /* Team & committee grids: 2 columns */
  .afs-team-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .afs-gov-committee .row > * {
    flex: 0 0 50%;
    max-width: 50%;
  }

  /* Hide subscribe side image */
  .afs-subscribe-image {
    display: none;
  }

  /* Footer */
  .afs-footer-inner {
    grid-template-columns: 1fr;
  }

  /* Hero tagline */
  .afs-hero-tagline {
    font-size: 22px;
  }

  /* Who we are layout */
  .afs-who-layout {
    flex-direction: column;
  }

  .afs-who-left,
  .afs-who-right {
    flex: none;
    max-width: 100%;
    width: 100%;
  }

  /* Stats row */
  .afs-stats-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  /* Dealroom quote */
  .afs-dealroom-quote {
    font-size: 22px;
  }

  /* Footer bottom */
  .afs-footer-bottom-inner {
    flex-direction: column;
    text-align: center;
  }

  .afs-footer-nav {
    justify-content: center;
  }

  /* Navbar: reduce inner padding on mobile */
  .afs-nav-inner {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Subscribe content: reduce padding */
  .afs-subscribe-content {
    padding: 60px 20px;
  }

  /* Footer bottom: reduce padding */
  .afs-footer-bottom {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Inner content: reduce padding */
  .afs-inner-content {
    padding: 40px 20px;
  }

  /* Strategic card: reduce margin */
  .afs-strategic-card {
    margin: 40px 20px;
    max-width: calc(100% - 40px);
  }

  /* Partners hero */
  .afs-partners-hero-img img {
    height: 300px;
  }

  /* Inner image */
  .afs-inner-image img {
    height: 260px;
  }

  /* Updates header: stack vertically */
  .afs-updates-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  /* What header: stack vertically */
  .afs-what-header {
    flex-direction: column;
  }

  /* Dealroom: reduce padding */
  .afs-dealroom-card {
    padding: 24px 20px;
    height: auto;
    min-height: 480px;
  }

  /* Dealroom bottom: stack */
  .afs-dealroom-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
}

/* =============================================================================
   SUPPLEMENT - BEM classes from page templates (patch for agent class-name drift)
   ============================================================================= */

/* ── Shared inner-hero (page hero used across inner pages) ─────────────────── */
.afs-inner-hero {
  background: var(--afs-cream);
  padding: 80px 0;
}
.afs-inner-hero--cream { background: var(--afs-cream); }
.afs-inner-hero__heading {
  font-size: 30px;
  font-weight: 200;
  color: var(--afs-dark);
  max-width: 900px;
  line-height: 1.4;
  margin: 24px 0 40px;
}
.afs-inner-hero__subheading {
  font-size: 30px;
  font-weight: 200;
  color: var(--afs-dark);
  max-width: 900px;
  line-height: 1.5;
  margin: 24px 0 40px;
}
.afs-inner-hero__pullquote {
  font-size: 40px;
  font-weight: 200;
  color: var(--afs-dark);
  max-width: 900px;
  line-height: 1.4;
  margin: 24px 0 48px;
}
.afs-inner-hero__img-wrap {
  border-radius: 40px;
  overflow: hidden;
  margin-top: 48px;
}
.afs-inner-hero__img {
  width: 100%;
  height: 562px;
  object-fit: cover;
  display: block;
}

/* ── Pill btn modifiers ────────────────────────────────────────────────────── */
.afs-pill-btn--outline-light {
  border-color: rgba(255,255,255,0.6);
  color: #fff;
}
.afs-pill-btn--sm {
  padding: 5px 14px;
  font-size: 11px;
}

/* ── Navbar logo wrap ──────────────────────────────────────────────────────── */
.afs-logo-wrap { display: flex; align-items: center; }

/* ── Search bar ────────────────────────────────────────────────────────────── */
.afs-search-bar {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  padding: 16px calc(20%);
  border-top: 1px solid #f0f0f0;
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  z-index: 999;
}
.afs-search-bar .search-form {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 600px;
}
.afs-search-bar input[type="search"] {
  flex: 1;
  border: 2px solid var(--afs-dark);
  border-radius: 30px;
  padding: 10px 20px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  outline: none;
  color: var(--afs-dark);
}
.afs-search-bar input[type="search"]:focus {
  border-color: var(--afs-lime);
}
.afs-search-bar input[type="submit"] {
  background: var(--afs-dark);
  color: #fff;
  border: none;
  border-radius: 30px;
  padding: 10px 24px;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s;
  white-space: nowrap;
}
.afs-search-bar input[type="submit"]:hover {
  background: var(--afs-lime);
  color: var(--afs-dark);
}

/* ── Tab content system ────────────────────────────────────────────────────── */
.afs-tab-content { display: none; }
.afs-tab-content.active { display: block; }
.afs-who-mission { min-height: 160px; }

/* ── WHO WE ARE: Vision section ─────────────────────────────────────────────  */
.afs-vision { padding: 80px 0; background: #fff; }
.afs-vision__layout {
  display: flex;
  gap: 60px;
  align-items: flex-start;
  margin-top: 40px;
}
.afs-vision__left, .afs-vision__right { flex: 1; }
.afs-vision__statement {
  font-size: 30px;
  font-weight: 200;
  color: var(--afs-dark);
  line-height: 1.5;
}
.afs-vision__body {
  font-size: 16px;
  font-weight: 400;
  color: #1a1a1a;
  line-height: 1.8;
}

/* ── WHO WE ARE: Purpose cards ──────────────────────────────────────────────  */
.afs-purpose { padding: 0 0 80px; }
.afs-purpose__row { display: flex; gap: 24px; flex-wrap: nowrap; }
.afs-purpose__row > [class*="col"] { flex: 1 1 0; width: auto; min-width: 0; max-width: none; }
.afs-purpose-card {
  border-radius: 30px;
  overflow: hidden;
  min-height: 528px;
  flex: 1;
  position: relative;
  padding: 48px 40px;
  display: flex;
  flex-direction: column;
}
.afs-purpose-card--dark  { background: rgba(20,75,45,0.8); }
.afs-purpose-card--lime  { background: rgba(96,165,17,0.8); }
.afs-purpose-card--image { padding: 0; background: transparent; }
.afs-purpose-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 30px;
}
.afs-purpose-card__heading {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin: 32px 0 0;
}
.afs-purpose-card__body {
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  margin-top: 16px;
  line-height: 1.7;
}

/* ── WHO WE ARE: Objectives ─────────────────────────────────────────────────  */
.afs-objectives { padding: 80px 0; background: var(--afs-cream); }
.afs-objectives__heading {
  font-size: 30px;
  font-weight: 200;
  color: var(--afs-dark);
  margin-bottom: 48px;
}
.afs-objectives__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px;
}
@media (max-width: 1199px) {
  .afs-objectives__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .afs-objectives__grid { grid-template-columns: repeat(2, 1fr); }
  .afs-purpose__row { flex-direction: column; }
  .afs-vision__layout { flex-direction: column; }
}
.afs-obj-card {
  border: 1px solid #d9d9d9;
  border-radius: 15px;
  padding: 24px 20px;
  min-height: 328px;
  background: #fff;
}
.afs-obj-card__icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--afs-lime);
  margin-bottom: 16px;
}
.afs-obj-card__title {
  font-size: 12px;
  font-weight: 700;
  color: var(--afs-dark);
  display: block;
  margin-bottom: 8px;
}
.afs-obj-card__body {
  font-size: 10px;
  color: var(--afs-dark);
  line-height: 1.7;
}

/* ── WHO WE ARE: History ─────────────────────────────────────────────────────  */
.afs-history { padding: 80px 0 0; text-align: center; }
.afs-history__header { margin-bottom: 48px; }
.afs-history__heading {
  font-size: 30px;
  font-weight: 200;
  color: var(--afs-dark);
}
.afs-history__img-wrap {
  border-radius: 20px;
  overflow: hidden;
  margin: 0 auto 48px;
}
.afs-history__img {
  width: 100%;
  height: auto;
  max-height: 946px;
  object-fit: cover;
  display: block;
}
.afs-history__tabs {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.afs-history__tab {
  border-radius: 30px;
  padding: 8px 24px;
  font-size: 12px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  background: #fff;
  color: var(--afs-dark);
  transition: background 0.2s, color 0.2s;
}
.afs-history__tab--active,
.afs-history__tab.active {
  background: var(--afs-lime);
  color: #fff;
}
.afs-history__panels { margin-top: 32px; }
.afs-history__panel { display: none; }
.afs-history__panel--active,
.afs-history__panel.active {
  display: block;
  background: var(--afs-cream);
  border-radius: 15px;
  padding: 40px;
  max-width: 604px;
  margin: 0 auto;
  text-align: left;
}
.afs-history__panel-text {
  font-size: 18px;
  font-weight: 400;
  color: var(--afs-dark);
  line-height: 1.6;
}

/* ── GOVERNANCE: Hero ────────────────────────────────────────────────────────  */
.afs-gov-hero { background: var(--afs-cream); padding: 80px 0; }
.afs-gov-hero__heading {
  font-size: 30px;
  font-weight: 200;
  color: var(--afs-lime);
  max-width: 897px;
  line-height: 1.5;
  margin: 24px 0 40px;
}
.afs-gov-hero__organogram { margin-top: 40px; }
.afs-gov-organogram-img {
  width: 100%;
  max-height: 374px;
  object-fit: contain;
  display: block;
}

/* ── GOVERNANCE: Steering Committee ─────────────────────────────────────────  */
.afs-gov-sc { padding: 80px 0; background: var(--afs-cream); }
.afs-gov-sc__header { text-align: center; margin-bottom: 48px; }
.afs-gov-sc__pill {
  display: inline-block;
  border: 1px solid #d9d9d9;
  border-radius: 30px;
  padding: 10px 28px;
  font-size: 12px;
  font-weight: 700;
  color: #1a1a1a;
  background: transparent;
}
.afs-gov-sc__card {
  background: #fff;
  border-radius: 15px;
  padding: 24px;
  text-align: center;
  min-height: 310px;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
.afs-gov-sc__photo-wrap { margin-bottom: 16px; }
.afs-gov-sc__photo {
  width: 151px;
  height: 151px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}
.afs-gov-sc__divider {
  width: 100%;
  height: 1px;
  background: #d9d9d9;
  margin: 16px 0;
  border: none;
}
.afs-gov-sc__name {
  font-size: 14px;
  font-weight: 700;
  color: var(--afs-dark);
  display: block;
}
.afs-gov-sc__role {
  font-size: 12px;
  font-weight: 400;
  color: var(--afs-lime);
  display: block;
  margin-top: 4px;
}
.afs-gov-sc__grid { row-gap: 24px; }

/* ── GOVERNANCE: Strategic Plan ─────────────────────────────────────────────  */
.afs-gov-strategy {
  position: relative;
  min-height: 860px;
  overflow: hidden;
}
.afs-gov-strategy__bg {
  position: absolute;
  inset: 0;
}
.afs-gov-strategy__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.afs-gov-strategy__inner {
  position: relative;
  z-index: 2;
  padding: 80px 0;
}
.afs-gov-strategy__card {
  background: var(--afs-cream);
  border-radius: 15px;
  padding: 48px;
  max-width: 604px;
}
.afs-gov-strategy__body {
  font-size: 18px;
  font-weight: 400;
  color: var(--afs-dark);
  line-height: 1.7;
  margin: 16px 0;
}
.afs-strategic-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--afs-lime);
  margin-top: 16px;
}
.afs-strategic-link__arrow { width: 33px; height: 33px; }

/* ── SECRETARIAT: Team ───────────────────────────────────────────────────────  */
.afs-team { padding: 0 0 80px; }
.afs-team__heading {
  font-size: 30px;
  font-weight: 200;
  color: var(--afs-dark);
  margin-bottom: 16px;
}
.afs-team__intro {
  font-size: 16px;
  color: #1a1a1a;
  margin-bottom: 40px;
}
.afs-team__col { margin-bottom: 24px; }
.afs-team__grid { row-gap: 24px; }
.afs-team-card {
  background: #fff;
  border-radius: 15px;
  padding: 24px;
  text-align: center;
  height: 100%;
}
.afs-team-card__photo-wrap { margin-bottom: 16px; }
.afs-team-card__photo {
  width: 151px;
  height: 151px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}
.afs-team-card__divider {
  width: 100%;
  height: 1px;
  background: #d9d9d9;
  margin: 16px 0;
  border: none;
}
.afs-team-card__name {
  font-size: 14px;
  font-weight: 700;
  color: var(--afs-dark);
  display: block;
}
.afs-team-card__role {
  font-size: 12px;
  color: var(--afs-lime);
  display: block;
  margin-top: 4px;
}
.afs-team-card__arrow { margin-top: 12px; display: block; }
.afs-team-card__link { color: var(--afs-dark); }

/* ── PARTNERS ────────────────────────────────────────────────────────────────  */
.afs-partners-hero-img__wrap {
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 48px;
}
.afs-partners-hero-img__img {
  width: 100%;
  height: 700px;
  object-fit: cover;
  display: block;
}
.afs-partners-content { padding: 40px 0 80px; }
.afs-partners-content__body { font-size: 16px; line-height: 1.8; }

/* ── FOOTER col fix ──────────────────────────────────────────────────────────  */
.afs-footer-col { display: flex; flex-direction: column; gap: 8px; }

/* ── Subscribe form / icon ───────────────────────────────────────────────────  */
.afs-subscribe-form { margin-top: 0; }
.afs-subscribe-btn { align-self: flex-start; margin-top: 32px; }
.afs-subscribe-icon { margin-bottom: 16px; }
.afs-subscribe-icon img { width: 58px; height: 58px; }

/* ── Button arrow variant ────────────────────────────────────────────────────  */
.afs-btn-arrow { width: 58px; height: 58px; }

/* ── Responsive supplement ───────────────────────────────────────────────────  */
@media (max-width: 768px) {
  .afs-inner-hero__img { height: 280px; }
  .afs-partners-hero-img__img { height: 300px; }
  .afs-gov-strategy { min-height: 500px; }
  .afs-gov-strategy__card { margin: 20px; padding: 24px; }
  .afs-history__panel--active, .afs-history__panel.active { padding: 24px; }
  .afs-obj-card { min-height: auto; padding: 16px; }
}

/* =============================================================================
   VISUAL FIXES - post-screenshot review
   ============================================================================= */

/* Governance: give organogram proper space */
.afs-gov-hero__organogram {
  margin-top: 48px;
  max-width: 1154px;
}
.afs-gov-organogram-img {
  width: 100%;
  max-height: 400px;
  object-fit: contain;
  display: block;
}

/* Partners: ensure handshake image fills height */
.afs-partners-hero-img__img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}

/* Hero: reduce height on shorter screens, keep image visible */
@media (max-height: 800px) {
  .afs-hero { height: 90vh; }
}

/* Who We Are: inner page top spacing */
.afs-inner-hero {
  padding-top: 100px; /* account for fixed navbar */
}

/* Governance: hero top spacing */
.afs-gov-hero {
  padding-top: 100px;
}

/* Secretariat: hero top spacing */
.afs-inner-hero--cream {
  padding-top: 100px;
}

/* Who We Are: afs-wwa page top spacing */
.afs-inner-hero { padding-top: 100px; }

/* Navbar scrolled shadow */
.afs-navbar--scrolled {
  box-shadow: 0 4px 30px rgba(0,0,0,0.12);
}

/* Footer logo sizing */
.afs-footer-logo { display: block; }
.afs-footer-logo img {
  height: 80px;
  width: auto;
  object-fit: contain;
}

/* Subscribe section: better centering of content */
.afs-subscribe-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 60px 80px;
}

/* Footer bottom nav spacing */
.afs-footer-bottom {
  border-top: 1px solid #d9d9d9;
  padding: 24px calc(20%);
  background: var(--afs-cream);
}

/* What we do cards: ensure equal height */
.afs-what-cards {
  align-items: stretch;
}

/* Update cards grid: ensure equal height */
.afs-updates-grid {
  align-items: stretch;
}

/* Dealroom: ensure image shows */
.afs-dealroom-card {
  background-image: url('../img/img-impact-crowd.jpg');
}

/* Purpose cards full height */
.afs-purpose-card {
  min-height: 480px;
}

/* =============================================================================
   PATCH 2 - Partners image + Who We Are hero + Governance fixes
   ============================================================================= */

/* Partners: remove overflow hidden from outer section, fix container */
.afs-partners-hero-img {
  overflow: visible !important;
  border-radius: 0 !important;
  background: none;
  padding: 0 0 60px;
  margin-bottom: 0;
}

/* Partners: the actual image container */
.afs-partners-hero-img__wrap {
  border-radius: 20px;
  overflow: hidden;
  width: 100%;
  margin-bottom: 0;
}
.afs-partners-hero-img__img {
  width: 100%;
  height: 600px !important;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}

/* Who We Are: inner hero image - give it proper constraints */
.afs-inner-hero__img-wrap {
  border-radius: 40px;
  overflow: hidden;
  margin-top: 48px;
  max-width: 1154px;
}
.afs-inner-hero__img {
  width: 100%;
  height: 562px;
  object-fit: cover;
  display: block;
}

/* Governance: empty member cards - hide photo placeholder space */
.afs-gov-sc__photo {
  min-height: 151px;
  min-width: 151px;
  background: var(--afs-gray);
}

/* Who We Are: purpose card image should fill card */
.afs-purpose-card--image {
  padding: 0 !important;
  min-height: 480px;
}
.afs-purpose-card__img {
  width: 100%;
  height: 100%;
  min-height: 480px;
  object-fit: cover;
  border-radius: 30px;
  display: block;
}

/* Hero: improve text readability over the aerial image */
.afs-hero-bg::after {
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0.92) 0%,
    rgba(255, 255, 255, 0.70) 45%,
    rgba(255, 255, 255, 0.20) 75%,
    rgba(255, 255, 255, 0) 100%
  ) !important;
}

/* Hero content: push text lower into the image */
.afs-hero-content {
  padding-top: 80px;
}

/* What We Do: card pattern image position */
.afs-what-card-pattern img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.3;
}

/* Updates grid: card image rounded top only */
.afs-update-card-img img {
  border-radius: 20px 20px 0 0;
  width: 100%;
  height: 249px;
  object-fit: cover;
}

/* Subscribe: full dark section top padding */
.afs-subscribe {
  padding-top: 0;
  border-radius: 0 0 50px 50px;
}

/* =============================================================================
   HERO REDESIGN - white strip + standalone image (matches Figma exactly)
   ============================================================================= */

/* Remove old full-screen hero approach */
.afs-hero {
  position: relative;
  margin-top: 100px; /* fixed navbar height */
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Disable old background-image approach */
.afs-hero-bg { display: none !important; }
.afs-hero-content { display: none !important; }

/* ── White strip: tagline + buttons ─────────────────────────────────────────── */
.afs-hero-white {
  background: #ffffff;
  padding: 56px 0 64px;
  border-bottom: 1px solid #f0f0f0;
}

.afs-hero-white-inner {
  max-width: 1920px;
  margin: 0 auto;
  padding: 0 calc(20%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 60px;
}

.afs-hero-tagline {
  font-size: 30px !important;
  font-weight: 200 !important;
  color: var(--afs-dark) !important;
  max-width: 644px;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.afs-hero-actions {
  display: flex !important;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
  flex-wrap: nowrap;
}

/* ── Register Now: combined dark pill + circular lime arrow ─────────────────── */
.afs-btn-register {
  display: inline-flex;
  align-items: center;
  gap: 0;
  background: var(--afs-dark);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 18px;
  padding: 6px 6px 6px 30px;
  border-radius: 30px;
  text-decoration: none;
  transition: opacity 0.2s;
  white-space: nowrap;
}

.afs-btn-register:hover { opacity: 0.88; color: #fff; }

.afs-btn-register-arrow {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
  margin-left: 12px;
}

.afs-btn-register-arrow img {
  width: 48px;
  height: 48px;
  display: block;
}

/* ── Summit 2026: outline pill ──────────────────────────────────────────────── */
.afs-btn-summit {
  display: inline-block;
  border: 1px solid var(--afs-dark);
  background: transparent;
  color: var(--afs-dark);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 16px;
  padding: 16px 32px;
  border-radius: 30px;
  text-decoration: none;
  transition: opacity 0.2s;
  white-space: nowrap;
}

.afs-btn-summit:hover { opacity: 0.8; color: var(--afs-dark); }

/* ── Aerial image: full width, standalone ───────────────────────────────────── */
.afs-hero-image {
  width: 100%;
  height: 800px;
  background-image: url('../img/hero-aerial.png');
  background-size: cover;
  background-position: center center;
}

/* ── Navbar: fix logo to full-text version ──────────────────────────────────── */
.afs-logo {
  height: 60px !important;
  width: auto;
  object-fit: contain;
}

/* ── Navbar: make sure "Home" active pill shows correctly ───────────────────── */
.afs-nav-list .nav-link.active,
.afs-nav-list .nav-item.current-menu-item > .nav-link {
  background: var(--afs-gray);
  border-radius: var(--afs-radius-btn);
  padding: 8px 20px !important;
}

/* ── Responsive hero ────────────────────────────────────────────────────────── */
@media (max-width: 1199px) {
  .afs-hero-white-inner { padding: 0 5%; gap: 30px; }
  .afs-hero-tagline { font-size: 24px !important; }
  .afs-hero-image { height: 600px; }
}

@media (max-width: 768px) {
  .afs-hero-white-inner { flex-direction: column; align-items: flex-start; gap: 24px; }
  .afs-hero-tagline { font-size: 20px !important; }
  .afs-hero-image { height: 350px; }
  .afs-hero-actions { flex-wrap: wrap; }
}

/* =============================================================================
   REFINEMENTS - navbar logo, search circle, hero spacing
   ============================================================================= */

/* Navbar: logo larger to match design */
.afs-logo {
  height: 70px !important;
  max-width: 240px;
}

/* Navbar: correct padding to match Figma 20% inset */
.afs-nav-inner {
  padding-left: 20% !important;
  padding-right: 12% !important;
}

/* Navbar: search button as gray circle */
.afs-search-btn {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: #ebebeb !important;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  flex-shrink: 0;
}

.afs-search-btn img {
  width: 20px;
  height: 20px;
  display: block;
}

/* Hero white strip: more vertical space to match design */
.afs-hero-white {
  padding: 50px 0 70px !important;
}

.afs-hero-white-inner {
  padding: 0 20% !important;
  gap: 80px !important;
}

/* Hero tagline: larger, match 644px width from Figma */
.afs-hero-tagline {
  font-size: 30px !important;
  font-weight: 200 !important;
  max-width: 580px !important;
  line-height: 1.45 !important;
}

/* Register Now: bigger padding to match design button size */
.afs-btn-register {
  padding: 8px 8px 8px 32px !important;
  font-size: 18px !important;
  border-radius: 40px !important;
}

.afs-btn-register-arrow {
  width: 52px !important;
  height: 52px !important;
}

.afs-btn-register-arrow img {
  width: 52px !important;
  height: 52px !important;
}

/* Summit 2026: match Figma outline button */
.afs-btn-summit {
  padding: 18px 32px !important;
  font-size: 16px !important;
  border-color: var(--afs-dark) !important;
  border-radius: 40px !important;
}

/* Hero image: fill to 800px to match ~viewport height minus header+strip */
.afs-hero-image {
  height: 760px !important;
}

/* =============================================================================
   SECTION FIXES - Who We Are, What We Do pattern, Stats separators
   ============================================================================= */

/* ── Who We Are: NEW 2-column layout ────────────────────────────────────────── */
.afs-who-layout {
  display: flex !important;
  gap: 80px !important;
  align-items: flex-start !important;
  margin-top: 48px !important;
}

/* Left: vision text + buttons */
.afs-who-left {
  flex: 0 0 53% !important;
  max-width: 53% !important;
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.afs-who-vision {
  font-size: 28px;
  font-weight: 200;
  color: var(--afs-dark);
  line-height: 1.5;
  margin: 0;
}

/* Right: tabs + description */
.afs-who-right {
  flex: 1 !important;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.afs-tabs {
  display: flex;
  gap: 32px;
  align-items: flex-end;
  margin-bottom: 16px;
}

.afs-tab {
  background: none;
  border: none;
  font-family: 'Montserrat', sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: var(--afs-muted);
  cursor: pointer;
  padding: 0 0 8px;
  position: relative;
  transition: color 0.2s;
}
.afs-tab.active { color: var(--afs-dark); font-weight: 400; }
.afs-tab::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 2px;
  background: var(--afs-dark);
  opacity: 0;
  transition: opacity 0.2s;
}
.afs-tab.active::after { opacity: 1; }

.afs-who-tab-content { min-height: 100px; }

.afs-who-desc {
  font-size: 16px;
  font-weight: 400;
  color: var(--afs-black);
  line-height: 1.8;
  margin: 0;
  max-width: 530px;
}

/* Hide the old afs-who-sub and afs-who-text that were in the old layout */
.afs-who-sub { display: none; }
.afs-who-text { font-size: 28px; font-weight: 200; color: var(--afs-dark); line-height: 1.5; }

/* Who We Are: buttons row */
.afs-who-actions {
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

/* ── What We Do: card pattern overlay ──────────────────────────────────────── */
.afs-what-card {
  position: relative !important;
  overflow: hidden !important;
}

.afs-what-card-pattern {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 321px !important;
  height: 321px !important;
  opacity: 0.35 !important;
  pointer-events: none !important;
}

.afs-what-card-pattern img {
  width: 321px !important;
  height: 321px !important;
  display: block !important;
  opacity: 1 !important; /* opacity is on the parent */
  --fill-0: #a8d44a; /* lighter shade so pattern is visible over lime bg */
}

/* What We Do card footer: title left, arrow right */
.afs-what-card-footer {
  position: relative !important;
  z-index: 2 !important;
  padding: 0 32px 40px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin-top: auto !important;
}

.afs-what-card-footer h3 {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--afs-dark) !important;
  margin: 0 !important;
  max-width: 260px !important;
  line-height: 1.3 !important;
}

/* ── Stats: vertical separator lines ───────────────────────────────────────── */
.afs-stats-row {
  display: flex !important;
  gap: 0 !important;
  align-items: stretch !important;
  padding: 20px 0 !important;
}

.afs-stat {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  flex: 1 !important;
  padding: 0 40px !important;
  border-left: 1px solid #d9d9d9 !important;
}

.afs-stat:first-child { border-left: none !important; padding-left: 0 !important; }

.afs-stat-badge {
  background: var(--afs-gray) !important;
  border-radius: 15px !important;
  padding: 14px 24px !important;
  display: inline-block !important;
  align-self: flex-start !important;
}

.afs-stat-num {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: var(--afs-dark) !important;
  white-space: nowrap !important;
}

.afs-stat-label {
  font-size: 18px !important;
  color: var(--afs-muted) !important;
  font-weight: 400 !important;
}

@media (max-width: 768px) {
  .afs-who-layout { flex-direction: column !important; gap: 40px !important; }
  .afs-who-left  { flex: 1 !important; max-width: 100% !important; }
  .afs-stats-row { flex-wrap: wrap !important; }
  .afs-stat      { flex: 1 1 45% !important; border-left: none !important; padding: 0 !important; border-top: 1px solid #d9d9d9; padding-top: 16px !important; }
  .afs-stat:first-child { border-top: none !important; }
}

/* =============================================================================
   FINAL POLISH - What We Do header, card bottoms, dealroom, updates
   ============================================================================= */

/* What We Do: heading + "Learn More" on SAME ROW, space-between */
.afs-what-header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 60px !important;
  margin-bottom: 60px !important;
}

/* Pill stays on the left, small */
.afs-what-header > .afs-pill-btn {
  flex-shrink: 0;
  margin-bottom: 0 !important;
  margin-top: 8px;
}

/* Right header: heading LEFT, Learn More button RIGHT on same row */
.afs-what-header-right {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 40px !important;
  flex: 1 !important;
}

.afs-what-heading {
  font-size: 40px !important;
  font-weight: 200 !important;
  color: #fff !important;
  margin: 0 !important;
  max-width: 640px;
  line-height: 1.3 !important;
}

/* "Learn More" white button: flex-shrink so it stays on same row */
.afs-what-header .afs-btn-white {
  flex-shrink: 0 !important;
  align-self: flex-end !important;
  margin-bottom: 4px;
}

/* What We Do: cards use flex-column to push footer to bottom */
.afs-what-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  min-height: 541px !important;
}

.afs-what-card-footer {
  padding: 24px 32px 36px !important;
}

/* What We Do cards inner: correct dark container */
.afs-what-inner {
  background: var(--afs-dark) !important;
  border-radius: 50px !important;
  padding: 60px calc(20% - 22px) 80px !important;
  margin: 0 22px !important;
}

/* Dealroom section: increase container width to fill */
.afs-dealroom { padding: 60px 0 !important; }
.afs-dealroom-card {
  border-radius: 20px !important;
  height: 676px !important;
  background-position: center !important;
}

/* Latest Updates: cards taller, image takes correct proportion */
.afs-update-card {
  min-height: 541px !important;
  display: flex !important;
  flex-direction: column !important;
}

.afs-update-card-img {
  height: 249px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  border-radius: 20px 20px 0 0 !important;
}

.afs-update-card-img img {
  width: 100% !important;
  height: 249px !important;
  object-fit: cover !important;
}

.afs-update-card-body {
  flex: 1 !important;
  padding: 20px 32px 0 !important;
}

.afs-update-type {
  font-size: 12px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  margin-bottom: 12px !important;
  display: block !important;
}

.afs-update-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.afs-update-card-arrow {
  padding: 0 32px 28px !important;
  margin-top: auto !important;
}

/* Latest Updates header: pill + heading + "More Updates" button */
.afs-updates-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  margin-bottom: 48px !important;
}

.afs-updates-heading {
  font-size: 40px !important;
  font-weight: 200 !important;
  max-width: 680px !important;
  line-height: 1.3 !important;
  margin-top: 16px !important;
}

/* Subscribe: ensure content section fills properly */
.afs-subscribe-inner {
  display: flex !important;
  min-height: 474px !important;
  overflow: hidden !important;
}

.afs-subscribe-content {
  flex: 1 !important;
  padding: 60px 48px 60px 80px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.afs-subscribe-heading {
  font-size: 40px !important;
  font-weight: 200 !important;
  color: #fff !important;
  max-width: 480px !important;
  line-height: 1.4 !important;
}

.afs-subscribe-image {
  flex: 0 0 860px !important;
  max-width: 860px !important;
  overflow: hidden !important;
  position: relative !important;
}

.afs-subscribe-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: left center !important;
}

/* =============================================================================
   DESIGN EXPORT FIXES - card photos, dropdown dots, card overlay
   ============================================================================= */

/* What We Do cards: photo background + lime green overlay */
.afs-what-card {
  background-size: cover !important;
  background-position: center center !important;
}

.afs-what-card-overlay {
  position: absolute;
  inset: 0;
  background: rgba(96, 165, 17, 0.78);
  border-radius: 30px;
  transition: opacity 0.25s ease;
}

.afs-what-card:hover .afs-what-card-overlay {
  opacity: 0;
}

.afs-what-card-pattern,
.afs-what-card-footer {
  position: relative;
  z-index: 2;
}

/* Dropdown: green dot bullet before each item */
.afs-dropdown .dropdown-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.afs-dropdown .dropdown-item::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--afs-lime);
  flex-shrink: 0;
  display: inline-block;
}

/* =============================================================================
   HISTORY INTRO PARAGRAPH
   ============================================================================= */
.afs-history__intro {
  font-size: 15px;
  font-weight: 400;
  color: var(--afs-dark);
  line-height: 1.75;
  max-width: 760px;
  margin: 24px 0 0;
}

/* =============================================================================
   OUR HISTORY - intro text section
   ============================================================================= */
.afs-oh-intro {
  padding: 60px 0 0;
}
.afs-oh-intro__text {
  font-size: 15px;
  font-weight: 400;
  color: var(--afs-dark);
  line-height: 1.75;
  max-width: 760px;
}

/* =============================================================================
   SUMMIT TIMELINE - horizontal scroll track
   ============================================================================= */
.afs-summit-timeline {
  padding: 80px 0 100px;
  background: var(--afs-cream);
}

.afs-summit-timeline__header {
  margin-bottom: 48px;
}

.afs-summit-timeline__heading {
  font-size: 40px;
  font-weight: 200;
  color: var(--afs-dark);
  line-height: 1.2;
  margin-top: 12px;
}

.afs-summit-track-wrap {
  overflow-x: auto;
  padding: 0 0 24px;
  scrollbar-width: thin;
  scrollbar-color: var(--afs-lime) var(--afs-cream);
  /* indent first card to align with container */
  padding-left: max(40px, calc((100vw - 1540px) / 2));
}

.afs-summit-track-wrap::-webkit-scrollbar { height: 4px; }
.afs-summit-track-wrap::-webkit-scrollbar-thumb { background: var(--afs-lime); border-radius: 2px; }

.afs-summit-track {
  display: flex;
  gap: 20px;
  width: max-content;
  padding-right: 40px;
}

.afs-summit-card {
  flex: 0 0 260px;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid #e8e8e8;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.afs-summit-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,.12);
  transform: translateY(-4px);
}

.afs-summit-card__img-wrap {
  position: relative;
  height: 160px;
  overflow: hidden;
  flex-shrink: 0;
}

.afs-summit-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.afs-summit-card__year {
  position: absolute;
  bottom: 12px;
  left: 16px;
  font-size: 36px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  text-shadow: 0 2px 8px rgba(0,0,0,.4);
}

.afs-summit-card__body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.afs-summit-card__country {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--afs-lime);
  display: block;
  margin-bottom: 10px;
}

.afs-summit-card__theme {
  font-size: 13px;
  font-weight: 400;
  color: var(--afs-dark);
  line-height: 1.65;
  margin: 0;
  flex: 1;
}

.afs-summit-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  font-size: 12px;
  font-weight: 700;
  color: var(--afs-dark);
  text-decoration: none;
}

.afs-summit-card__link:hover { color: var(--afs-lime); }

@media (max-width: 767px) {
  .afs-summit-timeline__heading { font-size: 26px; }
  .afs-summit-track-wrap { padding-left: 20px; }
  .afs-summit-card { flex: 0 0 220px; }
  .afs-summit-card__img-wrap { height: 130px; }
  .afs-summit-card__year { font-size: 28px; }
}

/* =============================================================================
   PARTNER CATEGORIES - six alternating image/text rows
   ============================================================================= */
.afs-partner-cats {
  padding: 80px 0 100px;
  background: #fff;
}

.afs-partner-row {
  display: flex;
  align-items: center;
  gap: 60px;
  margin-bottom: 80px;
}

.afs-partner-row:last-child { margin-bottom: 0; }

.afs-partner-row--flip {
  flex-direction: row-reverse;
}

.afs-partner-row__img-wrap {
  flex: 0 0 520px;
  border-radius: 30px;
  overflow: hidden;
}

.afs-partner-row__img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  display: block;
}

.afs-partner-row__content {
  flex: 1;
  min-width: 0;
}

.afs-partner-row__label {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--afs-lime);
  margin-bottom: 16px;
}

.afs-partner-row__title {
  font-size: 26px;
  font-weight: 700;
  color: var(--afs-dark);
  line-height: 1.3;
  margin: 0 0 20px;
}

.afs-partner-row__body {
  font-size: 15px;
  font-weight: 400;
  color: var(--afs-dark);
  line-height: 1.75;
  margin: 0;
}

@media (max-width: 1024px) {
  .afs-partner-row__img-wrap { flex: 0 0 420px; }
}

@media (max-width: 767px) {
  .afs-partner-row,
  .afs-partner-row--flip { flex-direction: column; gap: 28px; }
  .afs-partner-row__img-wrap { flex: none; width: 100%; }
  .afs-partner-row__img { height: 260px; }
  .afs-partner-row__title { font-size: 20px; }
}

/* Inner pages: no subscribe - add top padding to footer for spacing */
body:not(.home) .afs-footer {
  padding-top: 0;
}

/* Footer: remove top rounded corners on inner pages */
body.home .afs-subscribe {
  border-radius: 0 0 50px 50px;
}

/* Secretariat/Partners inner hero: slightly more top padding */
.afs-inner-hero--cream {
  padding-top: 120px !important;
  padding-bottom: 60px !important;
}

/* Partners hero image: full container width, contained */
.afs-partners-hero-img {
  padding: 0 0 80px !important;
}

/* =============================================================================
   #afsModal - Summit 2026 popup (ported from afs-forum.org production)
   ============================================================================= */
#afsModal .modal-dialog { max-width: 960px; }
#afsModal .modal-content {
  background: #f4f4f4; border-radius: 20px; overflow: hidden; border: none;
  box-shadow: 0 32px 80px rgba(0,0,0,.45);
}
#afsModal .afs-close {
  position: absolute; top: 18px; right: 18px; width: 50px; height: 50px;
  border: none; background: transparent; cursor: pointer; z-index: 50;
  text-decoration: none; display: block;
}
#afsModal .afs-close img { position: absolute; display: block; }
#afsModal .afs-close .close-outer { inset: 0; width: 100%; height: 100%; }
#afsModal .afs-close .close-inner { inset: 27.1%; width: 45.8%; height: 45.8%; }
#afsModal .afs-body { overflow: hidden; }
#afsModal .afs-banner {
  float: left; width: 460px; height: 590px;
  position: relative; overflow: hidden; background: #144b2d;
}
#afsModal .afs-banner-img { position: absolute; top: 0; left: 0; width: 100%; height: auto; display: block; }
#afsModal .afs-content {
  float: right; width: 500px; padding: 38px 36px 36px;
  background: #fff;
}
#afsModal .afs-title { font-size: 33px; font-weight: 600; color: #144b2d; line-height: 1.18; margin-bottom: 22px; }
#afsModal .afs-theme-row { overflow: hidden; margin-bottom: 11px; }
#afsModal .afs-theme-icon { float: left; margin-right: 10px; }
#afsModal .afs-theme-label {
  overflow: hidden; line-height: 30px; font-size: 15px; font-weight: 700;
  color: #144b2d; text-transform: uppercase; letter-spacing: .1em;
}
#afsModal .afs-theme-text { font-size: 20px; font-weight: 600; color: #144b2d; line-height: 1.42; }
#afsModal .afs-sep { border: none; border-top: 1px solid #c8c8c8; margin: 15px 0; }
#afsModal .afs-info-row { overflow: hidden; }
#afsModal .afs-icon-cell { float: left; width: 86px; }
#afsModal .afs-badge {
  width: 68px; height: 68px; border-radius: 34px;
  background-color: #144b2d; background-repeat: no-repeat;
  background-position: center; background-size: 58% auto; display: block;
}
#afsModal .afs-text-cell { overflow: hidden; padding-top: 13px; }
#afsModal .afs-info-text { font-size: 14px; font-weight: 700; color: #144b2d; line-height: 1.65; }
#afsModal .afs-register-btn {
  display: inline-block; background: #fd7e14; color: #fff;
  font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 600;
  letter-spacing: .07em; text-transform: uppercase; padding: 16px 24px;
  border-radius: 50px; text-decoration: none; cursor: pointer;
  margin-top: 18px; line-height: 1; overflow: hidden;
}
#afsModal .afs-btn-text { float: left; padding-top: 7px; }
#afsModal .afs-btn-icon { float: left; margin-left: 12px; }
#afsModal .afs-btn-arrow { display: block; width: 28px; height: 28px; transform: rotate(180deg); }
#afsModal .afs-modal-footer { background: #144b2d; padding: 22px 30px; overflow: hidden; }
#afsModal .afs-footer-l { float: left; overflow: hidden; }
#afsModal .afs-footer-r { float: right; padding-top: 10px; }
#afsModal .afs-ppl-cell { float: left; margin-right: 16px; }
#afsModal .afs-ppl-circle {
  width: 68px; height: 68px; border-radius: 34px;
  border: 1.5px solid rgba(255,255,255,.32);
  background-repeat: no-repeat; background-position: center; background-size: 66% auto; display: block;
}
#afsModal .afs-copy { overflow: hidden; padding-top: 4px; }
#afsModal .afs-copy-h { font-size: 15px; font-weight: 600; color: #fff; text-transform: uppercase; letter-spacing: .03em; }
#afsModal .afs-copy-a { font-size: 15px; font-weight: 600; color: #60a511; text-transform: uppercase; }
#afsModal .afs-copy-d { font-size: 11.5px; color: rgba(255,255,255,.75); margin-top: 3px; }
#afsModal .afs-side-btn {
  display: inline-block; background: #60a511; color: #fff;
  font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; padding: 15px 22px;
  border-radius: 50px; text-decoration: none; cursor: pointer; white-space: nowrap; line-height: 1; overflow: hidden;
}
@media (max-width: 767px) {
  #afsModal .afs-banner { display: none; }
  #afsModal .afs-content { float: none; width: 100%; padding: 22px 20px; }
  #afsModal .afs-title { font-size: 24px; }
  #afsModal .afs-theme-text { font-size: 17px; }
  #afsModal .afs-badge { width: 52px; height: 52px; border-radius: 26px; }
  #afsModal .afs-modal-footer { padding: 16px 20px; }
  #afsModal .afs-footer-r { float: none; clear: both; padding-top: 12px; }
  #afsModal .afs-side-btn { display: block; text-align: center; width: 100%; }
}
@media (max-width: 480px) {
  #afsModal .afs-register-btn { display: block; text-align: center; }
}

/* =============================================================================
   SCROLL REVEAL - elements fade in as they enter viewport (Finovate-inspired)
   ============================================================================= */
.afs-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.65s cubic-bezier(.22,.61,.36,1), transform 0.65s cubic-bezier(.22,.61,.36,1);
}
.afs-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
/* Stagger delays for grid children */
.afs-reveal-stagger > * {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.55s cubic-bezier(.22,.61,.36,1), transform 0.55s cubic-bezier(.22,.61,.36,1);
}
.afs-reveal-stagger.is-visible > *:nth-child(1) { transition-delay: 0s;    opacity:1; transform:translateY(0); }
.afs-reveal-stagger.is-visible > *:nth-child(2) { transition-delay: .1s;   opacity:1; transform:translateY(0); }
.afs-reveal-stagger.is-visible > *:nth-child(3) { transition-delay: .2s;   opacity:1; transform:translateY(0); }
.afs-reveal-stagger.is-visible > *:nth-child(4) { transition-delay: .3s;   opacity:1; transform:translateY(0); }
.afs-reveal-stagger.is-visible > *:nth-child(5) { transition-delay: .35s;  opacity:1; transform:translateY(0); }
.afs-reveal-stagger.is-visible > *:nth-child(6) { transition-delay: .4s;   opacity:1; transform:translateY(0); }

/* ── Card hover effects (Finovate-style lift) ────────────────────────────── */
.afs-what-card,
.afs-update-card,
.afs-team-card,
.afs-gov-sc__card,
.afs-obj-card {
  transition: transform 0.25s cubic-bezier(.22,.61,.36,1), box-shadow 0.25s ease, background-color 0.25s ease;
}
.afs-what-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(20,75,45,.25);
}
.afs-update-card:hover {
  background-color: var(--afs-dark);
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,.12);
}
.afs-update-card:hover .afs-update-title a {
  color: var(--afs-lime);
}
.afs-update-card:hover .afs-update-type {
  color: var(--afs-lime);
}
.afs-team-card:hover,
.afs-gov-sc__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
}
.afs-obj-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(20,75,45,.10);
  border-color: #60a511;
}

/* ── Button hover polish ─────────────────────────────────────────────────── */
.afs-btn-dark:hover    { background: #1a5e38; }
.afs-btn-lime:hover    { background: #72c214; }
.afs-btn-white:hover   { background: #f0f0f0; }
.afs-btn-summit:hover  { background: rgba(20,75,45,.06); }
.afs-btn-register:hover { opacity: 0.9; }

/* ── Navbar scroll shadow transition ────────────────────────────────────── */
.afs-navbar {
  transition: box-shadow 0.3s ease;
}
.afs-navbar--scrolled {
  box-shadow: 0 4px 30px rgba(0,0,0,.15) !important;
}

/* ── Hero image parallax feel ───────────────────────────────────────────── */
.afs-hero-image {
  background-attachment: fixed;
  background-position: center center;
}
@media (max-width: 768px) {
  .afs-hero-image { background-attachment: scroll; } /* fixed doesn't work well on mobile */
}

/* ── Stat counter pulse on reveal ───────────────────────────────────────── */
.afs-stat-badge {
  transition: transform 0.3s ease;
}
.afs-stat:hover .afs-stat-badge {
  transform: scale(1.05);
}

/* =============================================================================
   MOBILE & TABLET RESPONSIVENESS
   ============================================================================= */

/* ── Navbar mobile ───────────────────────────────────────────────────────── */
@media (max-width: 1199px) {
  .afs-nav-inner {
    padding-left: 24px !important;
    padding-right: 16px !important;
  }
  .afs-logo { height: 52px !important; }
}

@media (max-width: 767px) {
  /* Navbar */
  .afs-nav-inner { padding-left: 16px !important; padding-right: 12px !important; height: auto !important; min-height: 70px !important; }
  .afs-logo { height: 44px !important; }
  .afs-navbar { height: auto !important; }
  .afs-hero { margin-top: 70px !important; }
  .afs-lang-btn { width: 36px !important; height: 36px !important; font-size: 11px !important; }
  .afs-search-btn { width: 36px !important; height: 36px !important; }

  /* Hero */
  .afs-hero-white { padding: 32px 0 40px !important; }
  .afs-hero-white-inner { flex-direction: column !important; padding: 0 20px !important; gap: 24px !important; align-items: flex-start !important; }
  .afs-hero-tagline { font-size: 22px !important; max-width: 100% !important; }
  .afs-hero-actions { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
  .afs-btn-register { font-size: 15px !important; padding: 8px 8px 8px 24px !important; }
  .afs-btn-summit { padding: 14px 24px !important; font-size: 14px !important; }
  .afs-hero-image { height: 280px !important; }

  /* Who We Are */
  .afs-who-layout { flex-direction: column !important; gap: 32px !important; }
  .afs-who-left, .afs-who-right { flex: 1 !important; max-width: 100% !important; }
  .afs-who-vision { font-size: 20px !important; }

  /* What We Do */
  .afs-what-inner { border-radius: 24px !important; padding: 40px 20px !important; margin: 0 12px !important; }
  .afs-what-header { flex-direction: column !important; gap: 16px !important; }
  .afs-what-header-right { flex-direction: column !important; gap: 16px !important; }
  .afs-what-heading { font-size: 24px !important; }
  .afs-what-cards { grid-template-columns: 1fr !important; gap: 16px !important; }
  .afs-what-card { min-height: 320px !important; }

  /* Stats */
  .afs-stats-row { flex-wrap: wrap !important; }
  .afs-stat { flex: 1 1 45% !important; border-left: none !important; padding: 16px 0 !important; border-top: 1px solid #d9d9d9 !important; }
  .afs-stat:first-child { border-top: none !important; }

  /* Dealroom */
  .afs-dealroom-card { height: 400px !important; }
  .afs-dealroom-quote { font-size: 18px !important; }
  .afs-dealroom-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }

  /* Updates */
  .afs-updates-grid { grid-template-columns: 1fr !important; }
  .afs-updates-header { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
  .afs-updates-heading { font-size: 26px !important; }

  /* Subscribe */
  .afs-subscribe-inner { flex-direction: column !important; }
  .afs-subscribe-content { padding: 48px 20px !important; }
  .afs-subscribe-heading { font-size: 28px !important; }
  .afs-subscribe-image { display: none !important; }
  .afs-subscribe-fields { flex-wrap: wrap !important; gap: 12px !important; }
  .afs-input-email { max-width: 100% !important; width: 100% !important; }

  /* Footer */
  .afs-footer-inner { grid-template-columns: 1fr !important; gap: 32px !important; padding: 40px 20px !important; }
  .afs-footer-bottom { padding: 20px !important; }
  .afs-footer-bottom-inner { flex-direction: column !important; align-items: center !important; gap: 20px !important; text-align: center !important; }
  .afs-footer-nav { justify-content: center !important; gap: 16px !important; }

  /* Inner pages */
  .afs-inner-hero--cream { padding: 80px 20px 40px !important; }
  .afs-inner-hero__heading { font-size: 22px !important; }
  .afs-inner-hero__subheading { font-size: 22px !important; }
  .afs-inner-hero__pullquote { font-size: 26px !important; }

  /* Who We Are template */
  .afs-wwa-purpose-cards, .afs-purpose__row { flex-direction: column !important; }
  .afs-purpose-card { min-height: 300px !important; }
  .afs-objectives__grid { grid-template-columns: repeat(2,1fr) !important; }

  /* Governance */
  .afs-gov-organogram-img { max-height: 200px !important; }
  .afs-gov-sc__card { padding: 16px !important; }
  .afs-gov-sc__photo { width: 100px !important; height: 100px !important; }
  .afs-gov-strategy__card { margin: 20px !important; padding: 24px !important; }
  .afs-gov-strategy { min-height: 400px !important; }

  /* Team grid */
  .afs-team__grid .col-md-3 { flex: 0 0 50%; max-width: 50%; }

  /* History */
  .afs-history__tabs { gap: 8px !important; }
  .afs-history__tab { padding: 6px 16px !important; font-size: 11px !important; }
  .afs-history__panel--active { padding: 24px 16px !important; }

  /* Container */
  .afs-container { padding-left: 20px !important; padding-right: 20px !important; }
}

/* ── Tablet (768px – 1199px) ─────────────────────────────────────────────── */
@media (min-width: 768px) and (max-width: 1199px) {
  .afs-nav-inner { padding-left: 5% !important; padding-right: 3% !important; }
  .afs-hero-white-inner { padding: 0 5% !important; gap: 40px !important; }
  .afs-hero-tagline { font-size: 26px !important; max-width: 500px !important; }
  .afs-hero-image { height: 500px !important; }

  .afs-what-inner { padding: 50px 5% !important; margin: 0 16px !important; }
  .afs-what-cards { gap: 16px !important; }
  .afs-what-card { min-height: 420px !important; }

  .afs-updates-grid { grid-template-columns: repeat(2,1fr) !important; }
  .afs-footer-inner { grid-template-columns: 1fr 1fr !important; gap: 32px !important; padding: 40px 5% !important; }

  .afs-stats-row .afs-stat { flex: 1 1 40% !important; }

  .afs-who-vision { font-size: 24px !important; }
  .afs-objectives__grid { grid-template-columns: repeat(3,1fr) !important; }

  /* Governance member grid */
  .afs-gov-sc .row .col-6.col-md-3 { flex: 0 0 33.333%; max-width: 33.333%; }

  /* Subscribe */
  .afs-subscribe-image { flex: 0 0 400px !important; max-width: 400px !important; }
  .afs-subscribe-content { padding: 48px 5% !important; }
}

/* =============================================================================
   MOBILE POLISH - stats fix, card arrows, footer, spacing
   ============================================================================= */

/* Stats: ensure numbers always display correctly (never show "0") */
.afs-stat-num { display: block; font-size: 24px; font-weight: 700; color: var(--afs-dark); white-space: nowrap; }
.afs-stat-badge { display: inline-block; min-width: 80px; }

/* Mobile: fix stat row layout */
@media (max-width: 767px) {
  .afs-stats-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
    padding: 32px 20px !important;
  }
  .afs-stat { border-left: none !important; padding: 0 !important; border-top: none !important; }
  .afs-stat-label { font-size: 14px !important; }
}

/* Mobile: What We Do card arrow buttons */
@media (max-width: 767px) {
  .afs-what-card { min-height: 260px !important; }
  .afs-card-arrow { width: 48px !important; height: 48px !important; }
  .afs-card-arrow img { width: 48px !important; height: 48px !important; }
  .afs-what-card-footer h3 { font-size: 18px !important; }
  .afs-what-card-footer { padding: 0 20px 24px !important; }
}

/* Mobile: hero white section - ensure full tagline visible */
@media (max-width: 767px) {
  .afs-hero-white { padding: 40px 0 48px !important; }
  .afs-hero-white-inner { padding: 0 20px !important; gap: 28px !important; }
  .afs-hero-tagline { font-size: 23px !important; line-height: 1.45 !important; margin-bottom: 0 !important; }
  .afs-hero-image { height: 260px !important; background-attachment: scroll !important; }
}

/* Mobile: footer improvements */
@media (max-width: 767px) {
  .afs-footer-inner { padding: 40px 20px 32px !important; gap: 24px !important; }
  .afs-footer-col-title { font-size: 18px !important; margin-bottom: 12px !important; }
  .afs-footer-address { font-size: 14px !important; line-height: 2 !important; }
  .afs-footer-links a { font-size: 14px !important; line-height: 2 !important; }
  .afs-footer-bottom { padding: 16px 20px !important; }
  .afs-footer-nav { gap: 12px !important; font-size: 11px !important; flex-wrap: wrap !important; justify-content: center !important; }
  .afs-footer-logo img { height: 60px !important; }
  .afs-footer-desc { font-size: 13px !important; }
  .afs-btn.afs-footer-cta { font-size: 14px !important; padding: 12px 20px !important; }
}

/* Mobile: subscribe spacing */
@media (max-width: 767px) {
  .afs-subscribe { border-radius: 0 0 30px 30px !important; }
  .afs-subscribe-content { padding: 40px 20px 48px !important; }
  .afs-subscribe-heading { font-size: 26px !important; max-width: 100% !important; }
}

/* Mobile: dealroom section */
@media (max-width: 767px) {
  .afs-dealroom-card { height: 360px !important; padding: 24px 20px !important; }
  .afs-dealroom-quote { font-size: 16px !important; max-width: 100% !important; }
  .afs-dealroom-bottom { flex-direction: column !important; gap: 16px !important; }
  .afs-btn-lime.afs-btn-arrow-wrap { font-size: 14px !important; }
}

/* Mobile: Latest Updates */
@media (max-width: 767px) {
  .afs-updates { padding: 48px 0 !important; }
  .afs-updates-heading { font-size: 24px !important; }
  .afs-update-card { min-height: 400px !important; }
}

/* Mobile: Who We Are section spacing */
@media (max-width: 767px) {
  .afs-who { padding: 48px 0 !important; }
  .afs-who-layout { margin-top: 32px !important; gap: 24px !important; }
  .afs-who-vision { font-size: 20px !important; }
  .afs-who-desc { font-size: 15px !important; }
  .afs-tabs { gap: 20px !important; }
  .afs-tab { font-size: 18px !important; }
  .afs-who-actions { gap: 12px !important; }
  .afs-who-actions .afs-btn { font-size: 14px !important; padding: 12px 20px !important; }
}

/* Mobile: pill buttons */
@media (max-width: 767px) {
  .afs-pill-btn { font-size: 11px !important; padding: 6px 14px !important; margin-bottom: 16px !important; }
}

/* Mobile: inner page heroes */
@media (max-width: 767px) {
  .afs-gov-hero { padding: 80px 20px 40px !important; }
  .afs-gov-hero__heading { font-size: 20px !important; }
  .afs-team-card__photo { width: 100px !important; height: 100px !important; }
  .afs-gov-sc .row { margin: 0 !important; }
  .afs-container { padding-left: 16px !important; padding-right: 16px !important; }
}

/* Tablet: What We Do heading size */
@media (min-width: 768px) and (max-width: 1199px) {
  .afs-what-heading { font-size: 28px !important; }
  .afs-what-card { min-height: 380px !important; }
}

/* =============================================================================
   WHO WE ARE - Objectives redesign (4-col, 2-part card) + History overlay
   ============================================================================= */

/* ── Objectives: 4-column grid ───────────────────────────────────────────── */
.afs-objectives { padding: 80px 0; background: var(--afs-cream); }
.afs-objectives__heading { font-size: 40px; font-weight: 200; color: var(--afs-dark); margin: 0 0 48px; line-height: 1.2; }
.afs-objectives__heading .afs-text-lime { font-style: italic; }
.afs-objectives__grid { margin-bottom: 40px; }

/* 2-part card: icon top + content bottom */
.afs-obj-card {
  border: 1px solid #e0e0e0 !important;
  border-radius: 15px !important;
  background: #fff !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 380px !important;
  padding: 0 !important;
}

.afs-obj-card__icon-wrap {
  flex: 0 0 160px;
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  background: #fff;
}

.afs-obj-card__icon {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  background: var(--afs-lime) !important;
  display: block !important;
  margin: 0 !important;
}

.afs-obj-card__content {
  flex: 1;
  background: var(--afs-cream);
  padding: 20px 20px 24px;
  border-top: 1px solid #e0e0e0;
}

.afs-obj-card__title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--afs-dark) !important;
  margin-bottom: 10px !important;
  display: block !important;
  line-height: 1.3 !important;
}

.afs-obj-card__body {
  font-size: 13px !important;
  color: var(--afs-dark) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* Pagination dots */
.afs-obj-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}

.afs-obj-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d0d0d0;
  display: inline-block;
  cursor: pointer;
  transition: background 0.2s;
}

.afs-obj-dot.active { background: var(--afs-dark); }

/* ── History: overlay panel + tabs ON the image ──────────────────────────── */
.afs-history { padding: 80px 0 0; background: #fff; text-align: center; }
.afs-history__header { margin-bottom: 40px; }
.afs-history__heading { font-size: 40px; font-weight: 200; color: var(--afs-dark); line-height: 1.2; margin-top: 12px; }

.afs-history__img-wrap {
  position: relative !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  display: block !important;
  text-align: left !important;
}

.afs-history__img {
  width: 100% !important;
  height: auto !important;
  min-height: 460px !important;
  max-height: 580px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Full overlay container sits inside image */
.afs-history__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 0 28px 40px;
  pointer-events: none;
}

/* Panels */
.afs-history__panels {
  max-width: 520px;
  margin-bottom: 24px;
  pointer-events: all;
}

.afs-history__panel {
  display: none;
  background: rgba(246, 245, 242, 0.96);
  border-radius: 16px;
  padding: 28px 32px 24px;
  backdrop-filter: blur(4px);
}

.afs-history__panel--active { display: block; }

.afs-history__year-badge {
  display: inline-block;
  border: 1px solid #c8c8c8;
  border-radius: 30px;
  padding: 5px 16px;
  font-size: 12px;
  font-weight: 700;
  color: var(--afs-dark);
  margin-bottom: 16px;
}

.afs-history__panel-text {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--afs-dark) !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Tab pills overlaid at bottom */
.afs-history__tabs {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  pointer-events: all !important;
  position: static !important;
  transform: none !important;
  margin-top: 0 !important;
}

.afs-history__tab {
  border-radius: 30px !important;
  padding: 9px 22px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border: 2px solid rgba(255,255,255,0.9) !important;
  cursor: pointer !important;
  background: rgba(255,255,255,0.92) !important;
  color: var(--afs-dark) !important;
  transition: background 0.2s, color 0.2s, border-color 0.2s !important;
}

.afs-history__tab--active,
.afs-history__tab.active {
  background: var(--afs-lime) !important;
  border-color: var(--afs-lime) !important;
  color: #fff !important;
}

/* Mobile: history */
@media (max-width: 767px) {
  .afs-history__img { min-height: 320px !important; max-height: 420px !important; }
  .afs-history__overlay { padding: 0 0 16px 16px !important; }
  .afs-history__panels { max-width: calc(100% - 16px) !important; }
  .afs-history__panel { padding: 18px 20px 16px !important; }
  .afs-history__panel-text { font-size: 13px !important; }
  .afs-history__tab { padding: 7px 14px !important; font-size: 11px !important; }
  .afs-history__heading { font-size: 26px !important; }
  .afs-objectives__heading { font-size: 28px !important; }
  .afs-obj-card { min-height: 300px !important; }
  .afs-obj-card__icon { width: 48px !important; height: 48px !important; }
}

/* Tablet: objectives */
@media (min-width: 768px) and (max-width: 1199px) {
  .afs-objectives__grid .col-6 { flex: 0 0 33.333%; max-width: 33.333%; }
}

/* =============================================================================
   OBJECTIVES GRID - reset old display:grid, enforce Bootstrap flex row
   ============================================================================= */
.afs-objectives__grid {
  display: flex !important;
  flex-wrap: wrap !important;
  grid-template-columns: unset !important;
  margin-top: 0 !important;
}

/* On large desktops: 4 per row → col-lg-3 = 25% */
/* On tablet: 3 per row → col-md-4 = 33.3% */
/* On mobile: 2 per row → col-6 = 50% */
.afs-objectives__grid > .col-6 {
  padding-right: 12px;
  padding-left: 12px;
  margin-bottom: 24px;
}

/* Card must stretch to full column height */
.afs-objectives__grid > .col-6 { display: flex; flex-direction: column; }
.afs-obj-card { flex: 1; }

/* Override the old obj-card styles completely */
.afs-obj-card {
  display: flex !important;
  flex-direction: column !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 15px !important;
  background: #fff !important;
  overflow: hidden !important;
  padding: 0 !important;
  min-height: 340px !important;
  height: 100% !important;
}

.afs-obj-card__icon-wrap {
  flex: 0 0 160px !important;
  height: 160px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 24px !important;
  background: #fff !important;
}

.afs-obj-card__icon {
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  border-radius: 50% !important;
  background: var(--afs-lime) !important;
  display: block !important;
  margin: 0 !important;
}

.afs-obj-card__content {
  flex: 1 !important;
  background: var(--afs-cream) !important;
  padding: 20px 20px 22px !important;
  border-top: 1px solid #e8e8e8 !important;
}

.afs-obj-card__title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--afs-dark) !important;
  margin-bottom: 8px !important;
  line-height: 1.3 !important;
  display: block !important;
}

.afs-obj-card__body {
  font-size: 12px !important;
  color: #444 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* =============================================================================
   OBJECTIVES CAROUSEL - 4 per view, slide on dot click
   ============================================================================= */
.afs-obj-carousel-wrap {
  overflow: hidden;
  width: 100%;
  margin-bottom: 40px;
}

.afs-obj-carousel-track {
  display: flex;
  gap: 24px;
  transition: transform 0.45s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}

/* Each slide: 4 per row = (100% - 3×24px gap) / 4 */
.afs-obj-slide {
  flex: 0 0 calc(25% - 18px);
  min-width: 0;
  display: flex;
  flex-direction: column;
}

/* Cards fill the slide height */
.afs-obj-slide .afs-obj-card {
  flex: 1;
}

/* Dots */
.afs-obj-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}
.afs-obj-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: #d0d0d0;
  display: inline-block;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}
.afs-obj-dot.active {
  background: var(--afs-dark);
  transform: scale(1.2);
}

/* Responsive */
@media (max-width: 1199px) {
  /* 3 per view on tablet */
  .afs-obj-slide { flex: 0 0 calc(33.333% - 16px); }
}
@media (max-width: 767px) {
  /* 2 per view on mobile */
  .afs-obj-slide { flex: 0 0 calc(50% - 12px); }
  .afs-obj-carousel-track { gap: 16px; }
}
@media (max-width: 480px) {
  /* 1 per view on small mobile */
  .afs-obj-slide { flex: 0 0 100%; }
}

/* =============================================================================
   HISTORY - full-bleed image (no container constraint)
   ============================================================================= */
.afs-history__img-wrap {
  position: relative !important;
  border-radius: 0 !important;  /* full bleed = no corner radius */
  overflow: hidden !important;
  width: 100% !important;
  margin: 0 !important;
}

.afs-history__img {
  width: 100% !important;
  height: 560px !important;
  object-fit: cover !important;
  display: block !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* Overlay: panel bottom-left, tabs bottom-right */
.afs-history__overlay {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  padding: 0 40px 32px !important;
  pointer-events: none !important;
}

.afs-history__panels {
  pointer-events: all !important;
  max-width: 480px !important;
  margin-bottom: 0 !important;
}

.afs-history__panel {
  max-width: 480px !important;
  margin-bottom: 0 !important;
}

.afs-history__tabs {
  pointer-events: all !important;
  align-self: flex-end !important;
}

/* Mobile: history */
@media (max-width: 767px) {
  .afs-history__img { height: 500px !important; }
  .afs-history__overlay { flex-direction: column !important; justify-content: flex-end !important; align-items: flex-start !important; padding: 0 20px 20px !important; gap: 16px !important; }
  .afs-history__panel { max-width: 100% !important; }
}

/* Objectives: 3 per view on desktop (user preference) */
.afs-obj-slide {
  flex: 0 0 calc(33.333% - 16px) !important;
}
@media (max-width: 1199px) {
  .afs-obj-slide { flex: 0 0 calc(50% - 12px) !important; }
}
@media (max-width: 767px) {
  .afs-obj-slide { flex: 0 0 calc(100%) !important; }
}

/* History image: fixed height matching design */
.afs-history__img {
  height: 560px !important;
  object-position: top !important;
}

/* =============================================================================
   HERO VIDEO - summit teaser (replaces static image)
   ============================================================================= */
.afs-hero-video-wrap {
  width: 100%;
  position: relative;
  overflow: hidden;
  background: #000;
  line-height: 0;
}

.afs-hero-video {
  width: 100%;
  height: 90vh;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Disable old static image if video loads */
.afs-hero-image { display: none; }

@media (max-width: 767px) {
  .afs-hero-video { height: 50vw; min-height: 260px; }
}

/* Governance SC photos: object-position top to show faces */
.afs-gov-sc__photo {
  object-position: top !important;
}

/* Also apply to secretariat team photos */
.afs-team-card__photo {
  object-position: top !important;
}

/* =============================================================================
   WHAT WE DO - Strategic Objectives
   ============================================================================= */
.afs-wwd-objectives {
  padding: 80px 0;
  background: #fff;
}
.afs-wwd-objectives__header {
  margin-bottom: 48px;
}
.afs-wwd-objectives__heading {
  font-size: 36px;
  font-weight: 700;
  color: var(--afs-dark);
  margin: 16px 0 0;
}
.afs-wwd-obj-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.afs-wwd-obj-card {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
}
.afs-wwd-obj-card__img {
  width: 100%;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.afs-wwd-obj-card__label {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 16px 20px;
  background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, transparent 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .afs-wwd-obj-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .afs-wwd-obj-grid { grid-template-columns: 1fr; }
  .afs-wwd-objectives__heading { font-size: 26px; }
}

/* =============================================================================
   WHAT WE DO - Key Deliverables
   ============================================================================= */
.afs-wwd-deliverables {
  padding: 80px 0;
  background: var(--afs-dark);
}
.afs-wwd-deliverables__header {
  margin-bottom: 48px;
}
.afs-wwd-deliverables__heading {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  margin: 16px 0 0;
  max-width: 640px;
}
.afs-wwd-deliverables__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.afs-wwd-deliverable {
  border-top: 3px solid var(--afs-lime);
  padding-top: 24px;
}
.afs-wwd-deliverable__num {
  display: block;
  font-size: 40px;
  font-weight: 800;
  color: var(--afs-lime);
  line-height: 1;
  margin-bottom: 16px;
}
.afs-wwd-deliverable p {
  font-size: 14px;
  color: #fff;
  line-height: 1.7;
  margin: 0;
}
@media (max-width: 992px) {
  .afs-wwd-deliverables__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .afs-wwd-deliverables__grid { grid-template-columns: 1fr; }
  .afs-wwd-deliverables__heading { font-size: 24px; }
}

/* =============================================================================
   WHAT WE DO - Thematic Platforms
   ============================================================================= */
.afs-wwd-platforms {
  padding: 80px 0 100px;
  background: var(--afs-cream);
}
.afs-wwd-platforms__header {
  margin-bottom: 48px;
}
.afs-wwd-platforms__heading {
  font-size: 36px;
  font-weight: 700;
  color: var(--afs-dark);
  margin: 16px 0 0;
}
.afs-wwd-platforms__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
}
.afs-wwd-platform-card {
  background: #fff;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.afs-wwd-platform-card__num {
  font-size: 13px;
  font-weight: 700;
  color: var(--afs-lime);
  letter-spacing: 0.05em;
}
.afs-wwd-platform-card__name {
  font-size: 18px;
  font-weight: 700;
  color: var(--afs-dark);
  margin: 0;
}
.afs-wwd-platform-card__outcome {
  font-size: 13px;
  color: #555;
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 768px) {
  .afs-wwd-platforms__grid { grid-template-columns: 1fr; }
  .afs-wwd-platforms__heading { font-size: 26px; }
}

/* =============================================================================
   ANNUAL SUMMIT - about split section
   ============================================================================= */
.afs-summit-about {
  padding: 80px 0;
  background: #fff;
}
.afs-summit-about__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.afs-summit-about__img-wrap {
  border-radius: 8px;
  overflow: hidden;
}
.afs-summit-about__img {
  width: 100%;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.afs-summit-about__heading {
  font-size: 32px;
  font-weight: 700;
  color: var(--afs-dark);
  margin: 16px 0 20px;
}
.afs-summit-about__body {
  font-size: 15px;
  color: #444;
  line-height: 1.75;
  margin: 0 0 16px;
}
@media (max-width: 768px) {
  .afs-summit-about__inner { grid-template-columns: 1fr; gap: 32px; }
  .afs-summit-about__heading { font-size: 24px; }
}

/* =============================================================================
   TECHNICAL ASSISTANCE - split section
   ============================================================================= */
.afs-wwd-ta {
  padding: 80px 0;
  background: #fff;
}
.afs-wwd-ta__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.afs-wwd-ta__heading {
  font-size: 32px;
  font-weight: 700;
  color: var(--afs-dark);
  margin: 16px 0 20px;
}
.afs-wwd-ta__body {
  font-size: 15px;
  color: #444;
  line-height: 1.75;
  margin: 0 0 16px;
}
.afs-wwd-ta__img-wrap {
  border-radius: 8px;
  overflow: hidden;
}
.afs-wwd-ta__img {
  width: 100%;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
@media (max-width: 768px) {
  .afs-wwd-ta__inner { grid-template-columns: 1fr; gap: 32px; }
  .afs-wwd-ta__heading { font-size: 24px; }
}

/* =============================================================================
   FINANCIAL PLATFORM - alternating sections
   ============================================================================= */
.afs-fp-section {
  padding: 80px 0;
  background: #fff;
}
.afs-fp-section--dark {
  background: var(--afs-dark);
}
.afs-fp-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.afs-fp-row--flip .afs-fp-row__img-wrap { order: 2; }
.afs-fp-row--flip .afs-fp-row__content   { order: 1; }
.afs-fp-row__img-wrap {
  border-radius: 8px;
  overflow: hidden;
}
.afs-fp-row__img {
  width: 100%;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.afs-fp-row__heading {
  font-size: 32px;
  font-weight: 700;
  color: var(--afs-dark);
  margin: 16px 0 20px;
}
.afs-fp-row__heading--white { color: #fff; }
.afs-fp-row__body {
  font-size: 15px;
  color: #444;
  line-height: 1.75;
  margin: 0 0 24px;
}
.afs-fp-row__body--white { color: rgba(255,255,255,0.85); }
@media (max-width: 768px) {
  .afs-fp-row { grid-template-columns: 1fr; gap: 32px; }
  .afs-fp-row--flip .afs-fp-row__img-wrap { order: 0; }
  .afs-fp-row--flip .afs-fp-row__content   { order: 0; }
  .afs-fp-row__heading { font-size: 24px; }
}

/* =============================================================================
   SHARED - Latest Updates grid (reused across What We Do pages)
   ============================================================================= */
.afs-wwd-updates {
  padding: 80px 0 100px;
  background: var(--afs-cream);
}
.afs-wwd-updates__header {
  margin-bottom: 48px;
}
.afs-wwd-updates__heading {
  font-size: 36px;
  font-weight: 700;
  color: var(--afs-dark);
  margin: 16px 0 0;
}
.afs-wwd-updates__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 768px) {
  .afs-wwd-updates__grid { grid-template-columns: 1fr; }
  .afs-wwd-updates__heading { font-size: 26px; }
}

/* =============================================================================
   WHAT WE DO - Subpage nav cards
   ============================================================================= */
.afs-wwd-subnav {
  padding: 60px 0 80px;
  background: #fff;
}
.afs-wwd-subnav__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.afs-wwd-subnav__card {
  display: flex;
  flex-direction: column;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e8e8e8;
  text-decoration: none;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.afs-wwd-subnav__card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
  transform: translateY(-3px);
}
.afs-wwd-subnav__img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}
.afs-wwd-subnav__body {
  padding: 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.afs-wwd-subnav__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--afs-dark);
  margin: 0;
}
.afs-wwd-subnav__desc {
  font-size: 13px;
  color: #555;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}
.afs-wwd-subnav__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--afs-lime);
  margin-top: 8px;
}
@media (max-width: 768px) {
  .afs-wwd-subnav__grid { grid-template-columns: 1fr; }
}

/* =============================================================================
   OUR PARTNERS - logo grid
   ============================================================================= */
.afs-our-partners {
  padding: 80px 0 100px;
  background: #fff;
}
.afs-our-partners__header {
  margin-bottom: 48px;
}
.afs-our-partners__heading {
  font-size: 36px;
  font-weight: 700;
  color: var(--afs-dark);
  margin: 16px 0 0;
}
.afs-our-partners__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2px;
}
.afs-partner-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 24px;
  border: 1px solid #efefef;
  transition: background 0.2s ease;
}
.afs-partner-logo:hover {
  background: var(--afs-cream);
}
.afs-partner-logo__img {
  width: 100%;
  max-height: 60px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.7;
  transition: filter 0.2s ease, opacity 0.2s ease;
}
.afs-partner-logo:hover .afs-partner-logo__img {
  filter: grayscale(0%);
  opacity: 1;
}
@media (max-width: 992px) {
  .afs-our-partners__grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 768px) {
  .afs-our-partners__grid { grid-template-columns: repeat(3, 1fr); }
  .afs-our-partners__heading { font-size: 26px; }
}
@media (max-width: 480px) {
  .afs-our-partners__grid { grid-template-columns: repeat(2, 1fr); }
}

/* =============================================================================
   CONTACT US
   ============================================================================= */
.afs-contact {
  padding: 80px 0 100px;
  background: #fff;
}
.afs-contact__inner {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 80px;
  align-items: start;
}
.afs-contact__info-heading {
  font-size: 32px;
  font-weight: 700;
  color: var(--afs-dark);
  margin: 0 0 40px;
}
.afs-contact__block {
  margin-bottom: 32px;
}
.afs-contact__label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--afs-lime);
  margin-bottom: 10px;
}
.afs-contact__address {
  font-style: normal;
  font-size: 15px;
  color: var(--afs-dark);
  line-height: 1.9;
}
.afs-contact__email {
  font-size: 15px;
  font-weight: 600;
  color: var(--afs-dark);
  text-decoration: none;
  border-bottom: 1px solid var(--afs-lime);
  padding-bottom: 2px;
  transition: color 0.2s;
}
.afs-contact__email:hover { color: var(--afs-lime); }

/* WPForms overrides - match AFS style */
.afs-contact__form-wrap .wpforms-form .wpforms-field input,
.afs-contact__form-wrap .wpforms-form .wpforms-field textarea,
.afs-contact__form-wrap .wpforms-form .wpforms-field select {
  border: 1px solid #d9d9d9 !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  font-size: 14px !important;
  color: var(--afs-dark) !important;
  background: var(--afs-cream) !important;
  width: 100% !important;
}
.afs-contact__form-wrap .wpforms-form .wpforms-field input:focus,
.afs-contact__form-wrap .wpforms-form .wpforms-field textarea:focus {
  border-color: var(--afs-lime) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(96,165,17,0.15) !important;
}
.afs-contact__form-wrap .wpforms-form .wpforms-field label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--afs-dark) !important;
  margin-bottom: 6px !important;
}
.afs-contact__form-wrap .wpforms-form button[type=submit],
.afs-contact__form-wrap .wpforms-form .wpforms-submit {
  background: var(--afs-lime) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 100px !important;
  padding: 14px 36px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
.afs-contact__form-wrap .wpforms-form button[type=submit]:hover,
.afs-contact__form-wrap .wpforms-form .wpforms-submit:hover {
  background: var(--afs-dark) !important;
}

@media (max-width: 768px) {
  .afs-contact__inner { grid-template-columns: 1fr; gap: 40px; }
  .afs-contact__info-heading { font-size: 24px; }
}

/* =============================================================================
   RESOURCE CENTRE - Shared nav bar
   ============================================================================= */
.afs-rc-nav {
  background: #fff;
  border-bottom: 2px solid #efefef;
  position: sticky;
  top: 0;
  z-index: 100;
}
.afs-rc-nav__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 40px;
  overflow-x: auto;
  scrollbar-width: none;
  flex-wrap: wrap;
}
.afs-rc-nav__inner::-webkit-scrollbar { display: none; }
.afs-rc-nav__link {
  display: inline-block;
  padding: 9px 22px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  color: #555;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s;
  letter-spacing: 0.01em;
}
.afs-rc-nav__link:hover { background: var(--afs-cream); color: var(--afs-dark); }
.afs-rc-nav__link--active {
  background: var(--afs-dark);
  color: #fff;
}
@media (max-width: 768px) {
  .afs-rc-nav__inner { padding: 10px 16px; gap: 4px; }
  .afs-rc-nav__link  { padding: 7px 16px; font-size: 12px; }
}

/* =============================================================================
   RESOURCE CENTRE - Category tag chip
   ============================================================================= */
.afs-rc-tag {
  display: inline-block;
  align-self: flex-start;
  width: fit-content;
  background: var(--afs-cream);
  color: var(--afs-dark);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 10px;
  border-radius: 4px;
  margin-bottom: 10px;
}
.afs-rc-tag--light {
  background: rgba(255,255,255,0.2);
  color: #fff;
}
.afs-rc-read-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--afs-lime);
  text-decoration: none;
}
.afs-rc-empty {
  color: #888;
  font-size: 15px;
  padding: 40px 0;
}

/* =============================================================================
   RESOURCE CENTRE - Hub hero pair
   ============================================================================= */
.afs-rc-heroes {
  padding: 60px 0 48px;
  background: #fff;
}
.afs-rc-heroes__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.afs-rc-hero-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #eee;
  transition: box-shadow 0.2s, transform 0.2s;
}
.afs-rc-hero-card:hover { box-shadow: 0 8px 32px rgba(0,0,0,0.1); transform: translateY(-3px); }
.afs-rc-hero-card__img-wrap { flex-shrink: 0; overflow: hidden; }
.afs-rc-hero-card__img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; transition: transform 0.3s; }
.afs-rc-hero-card:hover .afs-rc-hero-card__img { transform: scale(1.03); }
.afs-rc-hero-card__body { padding: 28px; flex: 1; display: flex; flex-direction: column; gap: 10px; }
.afs-rc-hero-card__title { font-size: 20px; font-weight: 700; color: var(--afs-dark); margin: 0; line-height: 1.35; }
.afs-rc-hero-card__excerpt { font-size: 14px; color: #555; line-height: 1.65; margin: 0; flex: 1; }
@media (max-width: 768px) {
  .afs-rc-heroes__grid { grid-template-columns: 1fr; }
}

/* =============================================================================
   RESOURCE CENTRE - Latest Feature (editorial split)
   ============================================================================= */
.afs-rc-feature {
  display: grid;
  grid-template-columns: 55% 45%;
  min-height: 460px;
  margin-top: 48px;
  border-radius: 16px;
  overflow: hidden;
  /* contained inside afs-container */
}
.afs-rc-feature__img-wrap { overflow: hidden; position: relative; }
.afs-rc-feature__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.afs-rc-feature__content {
  background: var(--afs-dark);
  display: flex;
  align-items: flex-start;
  padding: 52px 48px;
  flex-direction: column;
  gap: 0;
}
/* Section label */
.afs-rc-feature__label {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--afs-lime);
  border: 1px solid rgba(96,165,17,0.4);
  border-radius: 100px;
  padding: 5px 16px;
  margin-bottom: 20px;
  align-self: flex-start;
}
/* Category + date row */
.afs-rc-feature__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.afs-rc-feature__cat {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.5);
}
.afs-rc-feature__dot {
  width: 3px; height: 3px;
  border-radius: 50%;
  background: rgba(255,255,255,0.3);
  flex-shrink: 0;
}
.afs-rc-feature__date { font-size: 11px; color: rgba(255,255,255,0.4); }
.afs-rc-feature__title {
  font-size: 26px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 16px;
  line-height: 1.35;
}
.afs-rc-feature__excerpt {
  font-size: 14px;
  color: rgba(255,255,255,0.7);
  line-height: 1.75;
  margin: 0 0 32px;
  flex: 1;
}
.afs-rc-feature__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--afs-lime);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: 100px;
  text-decoration: none;
  align-self: flex-start;
  transition: background 0.2s;
}
.afs-rc-feature__cta:hover { background: #4e8a0f; color: #fff; }
.afs-rc-feature__cta-icon {
  width: 18px; height: 18px;
  border: 1.5px solid rgba(255,255,255,0.6);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
@media (max-width: 900px) {
  .afs-rc-feature { grid-template-columns: 1fr; border-radius: 12px; }
  .afs-rc-feature__img-wrap { aspect-ratio: 16/9; }
  .afs-rc-feature__content { padding: 36px 28px; }
  .afs-rc-feature__title { font-size: 20px; }
}

/* =============================================================================
   RESOURCE CENTRE - Post card (3-col grid)
   ============================================================================= */
.afs-rc-grid-section {
  padding: 80px 0 100px;
  background: #fff;
}
.afs-rc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.afs-rc-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #eee;
  transition: box-shadow 0.2s, transform 0.2s;
}
.afs-rc-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.09); transform: translateY(-3px); }
.afs-rc-card__img-link { display: block; overflow: hidden; }
.afs-rc-card__img-wrap { overflow: hidden; }
.afs-rc-card__img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; transition: transform 0.3s; }
.afs-rc-card:hover .afs-rc-card__img { transform: scale(1.04); }
.afs-rc-card__img-wrap--placeholder { aspect-ratio: 16/9; background: var(--afs-cream); }
.afs-rc-card__body { padding: 20px 20px 16px; flex: 1; display: flex; flex-direction: column; gap: 8px; }
.afs-rc-card__title { font-size: 16px; font-weight: 700; color: var(--afs-dark); margin: 0; line-height: 1.4; }
.afs-rc-card__title a { color: inherit; text-decoration: none; }
.afs-rc-card__title a:hover { color: var(--afs-lime); }
.afs-rc-card__excerpt { font-size: 13px; color: #666; line-height: 1.65; margin: 0; flex: 1; }
.afs-rc-card__footer { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; padding-top: 12px; border-top: 1px solid #eee; }
.afs-rc-card__date { font-size: 11px; color: #999; font-weight: 600; }
.afs-rc-card__arrow { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: var(--afs-lime); border-radius: 50%; transition: background 0.2s; flex-shrink: 0; }
.afs-rc-card__arrow:hover { background: var(--afs-dark); }
.afs-rc-card__arrow img { width: 12px; filter: brightness(0) invert(1); }
@media (max-width: 992px) { .afs-rc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 568px) { .afs-rc-grid { grid-template-columns: 1fr; } }

/* =============================================================================
   PUBLICATIONS - filter tabs + cards
   ============================================================================= */
.afs-rc-publications { padding: 60px 0 100px; background: #fff; }
.afs-pub-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 48px;
}
.afs-pub-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border-radius: 100px;
  border: 1.5px solid #ddd;
  font-size: 13px;
  font-weight: 600;
  color: var(--afs-dark);
  text-decoration: none;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.afs-pub-tab:hover { border-color: var(--afs-lime); color: var(--afs-lime); }
.afs-pub-tab--active { background: var(--afs-lime); border-color: var(--afs-lime); color: #fff; }
.afs-pub-tab__count { font-size: 11px; opacity: 0.7; }
.afs-pub-list { display: flex; flex-direction: column; gap: 0; }
.afs-pub-card {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 32px;
  padding: 32px 0;
  border-bottom: 1px solid #e8e8e8;
  align-items: start;
}
.afs-pub-card:first-child { border-top: 1px solid #e8e8e8; }
.afs-pub-card__cover-wrap { position: relative; }
.afs-pub-card__cover { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: 6px; display: block; }
.afs-pub-card__cover-placeholder {
  width: 100%;
  aspect-ratio: 3/4;
  background: var(--afs-cream);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.afs-pub-card__cover-logo { width: 60%; opacity: 0.4; }
.afs-pub-card__date {
  position: absolute;
  bottom: 8px; left: 8px;
  background: var(--afs-dark);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.afs-pub-card__body { display: flex; flex-direction: column; gap: 10px; }
.afs-pub-card__cat { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--afs-lime); }
.afs-pub-card__title { font-size: 20px; font-weight: 700; color: var(--afs-dark); margin: 0; line-height: 1.3; }
.afs-pub-card__desc { font-size: 14px; color: #555; line-height: 1.7; margin: 0; }
.afs-pub-card__dl {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--afs-dark);
  text-decoration: none;
  border: 1.5px solid var(--afs-dark);
  padding: 8px 20px;
  border-radius: 100px;
  width: fit-content;
  transition: background 0.2s, color 0.2s;
}
.afs-pub-card__dl:hover { background: var(--afs-dark); color: #fff; }
.afs-pub-card__dl svg { flex-shrink: 0; }
@media (max-width: 768px) {
  .afs-pub-card { grid-template-columns: 120px 1fr; gap: 20px; }
  .afs-pub-card__title { font-size: 17px; }
}
@media (max-width: 480px) {
  .afs-pub-card { grid-template-columns: 1fr; }
}

/* =============================================================================
   EVENTS - toggle tabs + cards
   ============================================================================= */
.afs-rc-events { padding: 60px 0 100px; background: #fff; }
.afs-events-tabs {
  display: flex;
  gap: 0;
  margin-bottom: 48px;
  border-bottom: 2px solid #eee;
}
.afs-events-tab {
  padding: 12px 28px;
  font-size: 14px;
  font-weight: 700;
  color: #888;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color 0.2s, border-color 0.2s;
}
.afs-events-tab:hover { color: var(--afs-dark); }
.afs-events-tab--active { color: var(--afs-dark); border-bottom-color: var(--afs-lime); }
.afs-events-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.afs-event-card {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #eee;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s, transform 0.2s;
}
.afs-event-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.1); transform: translateY(-3px); }
.afs-event-card__img-wrap { position: relative; overflow: hidden; }
.afs-event-card__img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; transition: transform 0.3s; }
.afs-event-card:hover .afs-event-card__img { transform: scale(1.04); }
.afs-event-card__img-placeholder { aspect-ratio: 16/9; background: var(--afs-cream); }
.afs-event-card__date-badge {
  position: absolute;
  top: 12px; left: 12px;
  background: var(--afs-dark);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 6px;
  line-height: 1.4;
  max-width: calc(100% - 24px);
}
.afs-event-card__body { padding: 20px; flex: 1; display: flex; flex-direction: column; gap: 10px; }
.afs-event-card__title { font-size: 16px; font-weight: 700; color: var(--afs-dark); margin: 0; line-height: 1.35; }
.afs-event-card__title a { color: inherit; text-decoration: none; }
.afs-event-card__title a:hover { color: var(--afs-lime); }
.afs-event-card__excerpt { font-size: 13px; color: #666; line-height: 1.65; margin: 0; flex: 1; }
@media (max-width: 992px) { .afs-events-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 568px) { .afs-events-grid { grid-template-columns: 1fr; } }

/* =============================================================================
   PODCASTS
   ============================================================================= */
.afs-rc-podcasts { padding: 60px 0 100px; background: #fff; }

/* =============================================================================
   SINGLE EVENT
   ============================================================================= */
.afs-breadcrumb--link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--afs-dark);
  text-decoration: none;
  margin-bottom: 16px;
}
.afs-breadcrumb--link:hover { text-decoration: underline; }

.afs-single-event__title {
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 800;
  color: var(--afs-dark);
  line-height: 1.2;
  margin: 12px 0 24px;
  max-width: 820px;
}

.afs-single-event__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.afs-single-event__meta-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #444;
}
.afs-single-event__meta-item svg { flex-shrink: 0; color: var(--afs-dark); }

.afs-single-event__body {
  padding: 60px 0 100px;
  background: #fff;
}
.afs-single-event__layout {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 60px;
  align-items: start;
}

.afs-single-event__poster-wrap {
  position: sticky;
  top: 100px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,.12);
}
.afs-single-event__poster {
  width: 100%;
  height: auto;
  display: block;
}

.afs-single-event__content {
  display: flex;
  flex-direction: column;
}

/* Prose content from ACF wysiwyg */
.afs-post-content { line-height: 1.75; color: #333; font-size: 16px; }
.afs-post-content p  { margin: 0 0 18px; }
.afs-post-content h2 { font-size: 22px; font-weight: 700; color: var(--afs-dark); margin: 32px 0 12px; }
.afs-post-content h3 { font-size: 18px; font-weight: 700; color: var(--afs-dark); margin: 24px 0 10px; }
.afs-post-content ul, .afs-post-content ol { padding-left: 24px; margin: 0 0 18px; }
.afs-post-content li { margin-bottom: 6px; }
.afs-post-content a  { color: var(--afs-dark); text-decoration: underline; }

/* Calendar add block */
.afs-single-event__calendar {
  margin-top: 48px;
  padding: 28px;
  background: var(--afs-cream);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.afs-single-event__calendar-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--afs-dark);
}
.afs-single-event__calendar-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.afs-calendar-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 18px;
  background: #fff;
  border: 1.5px solid #d0d0d0;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  color: var(--afs-dark);
  text-decoration: none;
  transition: border-color .2s, background .2s;
}
.afs-calendar-btn:hover {
  border-color: var(--afs-dark);
  background: var(--afs-dark);
  color: #fff;
}
.afs-calendar-btn:hover svg { color: #fff; }

@media (max-width: 900px) {
  .afs-single-event__layout {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .afs-single-event__poster-wrap { position: static; }
}
@media (max-width: 568px) {
  .afs-single-event__body { padding: 40px 0 80px; }
  .afs-single-event__calendar { padding: 20px; }
}

/* =============================================================================
   SINGLE POST
   ============================================================================= */
.afs-single-post__body {
  padding: 60px 0 100px;
  background: #fff;
}
.afs-single-post__layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 60px;
  align-items: start;
}
.afs-single-post__thumbnail {
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 36px;
}
.afs-single-post__thumbnail img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
}

/* Sidebar */
.afs-single-post__sidebar {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.afs-single-post__sidebar-heading {
  font-size: 15px;
  font-weight: 800;
  color: var(--afs-dark);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0 0 4px;
}

.afs-related-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  text-decoration: none;
  padding: 16px;
  border-radius: 10px;
  border: 1.5px solid #eee;
  transition: border-color .2s;
}
.afs-related-card:hover { border-color: var(--afs-dark); }
.afs-related-card__img {
  width: 72px;
  height: 56px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
}
.afs-related-card__body { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.afs-related-card__date { font-size: 11px; color: #999; }
.afs-related-card__title {
  font-size: 13px;
  font-weight: 700;
  color: var(--afs-dark);
  line-height: 1.4;
  margin: 0;
}
.afs-related-card:hover .afs-related-card__title { color: var(--afs-lime); }
.afs-related-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  color: var(--afs-dark);
  margin-top: 4px;
}

@media (max-width: 1024px) {
  .afs-single-post__layout { grid-template-columns: 1fr; }
  .afs-single-post__sidebar { position: static; }
}
@media (max-width: 568px) {
  .afs-single-post__body { padding: 40px 0 80px; }
  .afs-single-post__thumbnail img { height: 220px; }
}

/* ============================================================
   DEALROOM COMPONENTS
   ============================================================ */

/* Step Nav */
.afs-step-nav {
  background: #fff;
  border-bottom: 3px solid var(--afs-dark);
  padding: 0;
}
.afs-step-nav__inner {
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  padding: 20px 0;
  -webkit-overflow-scrolling: touch;
}
.afs-step-nav__item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  text-decoration: none;
}
.afs-step-nav__num {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid var(--afs-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--afs-dark);
  flex-shrink: 0;
  transition: background .2s, color .2s;
}
.afs-step-nav__item--active .afs-step-nav__num {
  background: var(--afs-dark);
  color: #fff;
}
.afs-step-nav__label {
  font-size: 13px;
  font-weight: 600;
  color: #555;
  transition: color .2s;
}
.afs-step-nav__item--active .afs-step-nav__label {
  color: var(--afs-dark);
  font-weight: 700;
}
.afs-step-nav__item:hover .afs-step-nav__label { color: var(--afs-dark); }
.afs-step-nav__connector {
  flex: 0 0 40px;
  height: 2px;
  background: #ddd;
  margin: 0 4px;
}

/* Deadline / Warning Boxes */
.afs-deadline-alert {
  background: var(--afs-lime);
  color: var(--afs-dark);
  border-radius: 8px;
  padding: 16px 24px;
  font-weight: 600;
  font-size: 14px;
  margin: 32px 0;
}
.afs-deadline-warning {
  background: #fff3cd;
  border: 1.5px solid #f0a500;
  border-radius: 8px;
  padding: 16px 24px;
  font-size: 14px;
  margin: 32px 0;
}

/* Dealroom Intro */
.afs-dealroom-intro {
  padding: 80px 0;
  background: #fff;
}
.afs-dealroom-intro__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.afs-dealroom-intro__img {
  border-radius: 12px;
  overflow: hidden;
}
.afs-dealroom-intro__img img {
  width: 100%;
  height: auto;
  display: block;
}

/* Questions List */
.afs-dealroom-questions {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.afs-dealroom-questions li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 15px;
  color: #333;
}
.afs-dealroom-questions li::before {
  content: "\2192";
  color: var(--afs-lime);
  font-weight: 700;
  flex-shrink: 0;
}

/* What Section */
.afs-dealroom-what {
  background: var(--afs-dark);
  color: #fff;
  padding: 60px 0;
}
.afs-dealroom-what__inner {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
  align-items: center;
}
.afs-dealroom-what__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--afs-lime);
}
.afs-dealroom-what__title {
  font-size: 28px;
  font-weight: 800;
  color: #fff;
  margin: 8px 0 0;
}

/* CTA Section */
.afs-dealroom-cta {
  padding: 60px 0;
  background: var(--afs-cream);
}
.afs-dealroom-cta__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 700px;
}
.afs-dealroom-cta-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 32px;
  background: #fff;
  border: 2px solid var(--afs-dark);
  border-radius: 12px;
  text-decoration: none;
  transition: background .2s;
}
.afs-dealroom-cta-card:hover {
  background: var(--afs-dark);
}
.afs-dealroom-cta-card__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--afs-lime);
}
.afs-dealroom-cta-card__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--afs-dark);
  transition: color .2s;
}
.afs-dealroom-cta-card:hover .afs-dealroom-cta-card__title {
  color: #fff;
}

/* Criteria Grid */
.afs-criteria-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  padding: 60px 0;
}
.afs-criteria-card {
  padding: 28px;
  border: 1.5px solid #e0e0e0;
  border-radius: 12px;
  position: relative;
}
.afs-criteria-card__num {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--afs-dark);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.afs-criteria-card__title {
  font-size: 14px;
  font-weight: 800;
  color: var(--afs-dark);
  margin: 0 0 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.afs-criteria-card__text {
  font-size: 14px;
  color: #444;
  line-height: 1.65;
}

/* Ticket Badges */
.afs-ticket-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.afs-ticket-badge {
  padding: 6px 14px;
  border: 1.5px solid var(--afs-dark);
  border-radius: 100px;
  font-size: 12px;
  font-weight: 700;
  color: var(--afs-dark);
}

/* Form Layout */
.afs-form-layout {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
  align-items: start;
  padding: 60px 0;
}
.afs-form-timeline {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.afs-form-timeline__step {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.afs-form-timeline__num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--afs-dark);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.afs-form-timeline__text strong {
  font-size: 14px;
  color: var(--afs-dark);
  display: block;
  margin-bottom: 4px;
}
.afs-form-timeline__text p {
  font-size: 13px;
  color: #666;
  margin: 0;
  line-height: 1.65;
}

/* Disclaimer Sections */
.afs-disclaimer-sections {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 60px 0;
}
.afs-disclaimer-item {
  display: flex;
  gap: 20px;
  padding: 24px;
  border: 1.5px solid #eee;
  border-radius: 10px;
  border-left: 4px solid var(--afs-dark);
}
.afs-disclaimer-item__num {
  font-size: 20px;
  font-weight: 800;
  color: var(--afs-dark);
  flex-shrink: 0;
  min-width: 32px;
}
.afs-disclaimer-item__text {
  font-size: 14px;
  color: #444;
  line-height: 1.75;
  margin: 0;
}

/* Checklist Grid */
.afs-checklist-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin: 32px 0;
}
.afs-check-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 20px;
  background: #f8faf8;
  border-radius: 10px;
  border: 1.5px solid #e0ebe0;
}
.afs-check-card__icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--afs-dark);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 14px;
}
.afs-check-card__text {
  font-size: 14px;
  color: #333;
  line-height: 1.55;
  margin: 0;
}

/* Dealroom Responsive */
@media (max-width: 900px) {
  .afs-dealroom-intro__grid,
  .afs-form-layout,
  .afs-dealroom-what__inner { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .afs-criteria-grid { grid-template-columns: 1fr; }
  .afs-dealroom-cta__grid { grid-template-columns: 1fr; }
  .afs-checklist-grid { grid-template-columns: 1fr; }
}

/* =============================================================================
   RESOURCE TOOLKIT + SCAN
   ============================================================================= */
.afs-toolkit-section { padding: 80px 0; background: #fff; }
.afs-toolkit-count { font-size: 13px; color: #888; font-weight: 600; margin-bottom: 32px; }
.afs-toolkit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.afs-toolkit-card {
  border: 1.5px solid #e0e0e0;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s;
}
.afs-toolkit-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.1); }
.afs-toolkit-card__top {
  background: var(--afs-dark);
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.afs-toolkit-card__badge {
  background: var(--afs-lime);
  color: var(--afs-dark);
  font-size: 10px;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: .06em;
}
.afs-toolkit-card__lang {
  background: rgba(255,255,255,.2);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: .04em;
  margin-left: auto;
}
.afs-toolkit-card__body {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.afs-toolkit-card__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--afs-dark);
  line-height: 1.45;
  flex: 1;
  margin: 0;
}
.afs-toolkit-card__dl {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: var(--afs-dark);
  color: #fff;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: .2s;
  align-self: flex-start;
}
.afs-toolkit-card__dl:hover {
  background: var(--afs-lime);
  color: var(--afs-dark);
}
.afs-scan-section { padding: 80px 0; background: #fff; }
.afs-scan-wrap { max-width: 480px; margin: 0 auto; text-align: center; }
.afs-scan-card {
  background: #fff;
  border: 2px solid #e0e0e0;
  border-radius: 20px;
  padding: 48px 40px;
  box-shadow: 0 8px 32px rgba(0,0,0,.08);
  display: inline-block;
}
.afs-scan-qr {
  width: 240px;
  height: 240px;
  display: block;
  margin: 0 auto 24px;
}
.afs-scan-instruction {
  font-size: 15px;
  color: #555;
  line-height: 1.7;
  margin: 0;
}
@media (max-width: 900px) { .afs-toolkit-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 568px) { .afs-toolkit-grid { grid-template-columns: 1fr; } .afs-scan-card { padding: 32px 24px; } }

/* =============================================================================
   POLICY PAGES
   ============================================================================= */
.afs-policy-hero-chip {
  display: inline-block;
  padding: 4px 12px;
  background: var(--afs-dark);
  color: #fff;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  margin-top: 12px;
}
.afs-policy-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 60px;
  padding: 80px 0;
  align-items: start;
}
.afs-policy-sidebar {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
}
.afs-policy-sidebar__title {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #999;
  margin: 0 0 10px;
}
.afs-policy-sidebar a {
  display: block;
  padding: 8px 14px;
  font-size: 13px;
  color: #555;
  text-decoration: none;
  border-left: 2px solid #eee;
  transition: .2s;
  line-height: 1.4;
}
.afs-policy-sidebar a:hover {
  border-left-color: var(--afs-dark);
  color: var(--afs-dark);
  background: var(--afs-cream);
  padding-left: 18px;
}
.afs-policy-section {
  margin-bottom: 52px;
  padding-left: 24px;
  border-left: 4px solid var(--afs-lime);
}
.afs-policy-section__title {
  font-size: 20px;
  font-weight: 800;
  color: var(--afs-dark);
  margin: 0 0 16px;
}
.afs-policy-section p {
  font-size: 15px;
  color: #333;
  line-height: 1.8;
  margin: 0 0 14px;
}
.afs-policy-section ul {
  padding-left: 20px;
  margin: 0 0 14px;
}
.afs-policy-section li {
  font-size: 15px;
  color: #333;
  line-height: 1.8;
  margin-bottom: 10px;
}
.afs-policy-section small {
  font-size: 13px;
  color: #666;
  line-height: 1.7;
  display: block;
  margin-top: 12px;
}
@media (max-width: 1024px) {
  .afs-policy-layout { grid-template-columns: 1fr; }
  .afs-policy-sidebar { display: none; }
}

/* =============================================================================
   AGRF-STYLE PAGE LAYOUT (used by 2026 Side Events + Dealroom pages)
   ============================================================================= */

/* Hero - full bg-image, 65vh, left-fade gradient, lime accent strip */
.afs-page-header {
  position: relative;
  height: 65vh;
  min-height: 380px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
/* Left-to-right gradient: opaque dark green → semi → transparent */
.afs-page-header::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    100deg,
    rgba(20,75,45,0.92) 0%,
    rgba(20,75,45,0.70) 35%,
    rgba(20,75,45,0.25) 65%,
    rgba(0,0,0,0.05) 100%
  );
  z-index: 0;
}
/* Lime left accent strip */
.afs-page-header::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: var(--afs-lime);
  z-index: 2;
}
.afs-page-header__inner {
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  width: 100%;
  z-index: 1;
  padding: 0 56px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: 56px;
}
/* "AFSF 2026" pill badge */
.afs-page-header__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--afs-lime);
  color: var(--afs-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: 100px;
  margin-bottom: 16px;
  align-self: flex-start;
}
.afs-page-header__title {
  color: #fff;
  font-size: clamp(22px, 2.8vw, 40px);
  font-weight: 800;
  margin: 0 0 14px;
  max-width: 620px;
  line-height: 1.2;
}
.afs-page-header__desc {
  color: rgba(255,255,255,.85);
  font-size: 15px;
  font-weight: 400;
  max-width: 500px;
  line-height: 1.6;
  margin: 0 0 20px;
}
/* Meta chips row (date, location) */
.afs-page-header__chips {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.afs-page-header__chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.3);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 100px;
  backdrop-filter: blur(4px);
}
.afs-page-header__chip svg { flex-shrink: 0; opacity: .8; }
@media (max-width: 768px) {
  .afs-page-header { height: 55vw; min-height: 300px; }
  .afs-page-header__inner { padding: 0 24px 36px; }
  .afs-page-header__title { font-size: clamp(18px, 5vw, 28px); }
}

/* Tab nav - full-width lime green bar */
.afs-page-nav {
  margin-bottom: 50px;
}
.afs-page-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  background: var(--afs-lime);
  display: flex;
}
.afs-page-nav__list li a {
  display: block;
  padding: 22px 30px;
  text-decoration: none;
  color: var(--afs-dark);
  font-weight: 600;
  font-size: 15px;
  transition: background .15s;
}
.afs-page-nav__list li a.active,
.afs-page-nav__list li a:hover {
  background: var(--afs-dark);
  color: #fff;
}

/* Content section - 4/8 split */
.afs-page-meta {
  padding: 80px 0;
}
.afs-page-meta + .afs-page-meta {
  padding-top: 0;
  border-top: 1px solid #ebebeb;
}
.afs-page-meta__row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
  align-items: start;
}
.afs-page-meta__title {
  color: var(--afs-dark);
  font-size: 18px;
  font-weight: 800;
  text-transform: uppercase;
  border-top: 2px solid var(--afs-lime);
  padding-top: 20px;
  margin: 0;
  position: sticky;
  top: 80px;
}
.afs-page-meta__body {
  color: var(--afs-dark);
  font-size: 17px;
  line-height: 1.8;
  font-weight: 300;
  max-width: 720px;
}
.afs-page-meta__body h4 { font-size: 17px; font-weight: 300; line-height: 1.8; margin: 0; }
.afs-page-meta__body b { font-weight: 700; }
.afs-page-meta__body a { color: var(--afs-dark); font-weight: 600; }
.afs-page-meta__body a:hover { color: var(--afs-lime); }
.afs-page-meta__body ul { padding-left: 22px; margin: 12px 0; }
.afs-page-meta__body ul li { margin-bottom: 8px; }
.afs-page-meta__body hr { border: none; border-top: 1px solid #ddd; margin: 24px 0; }
@media (max-width: 768px) {
  .afs-page-header__inner { padding: 0 20px; }
  .afs-page-meta { padding: 48px 0; }
  .afs-page-meta__row { grid-template-columns: 1fr; gap: 24px; }
  .afs-page-meta__title { position: static; }
}

/* =============================================================================
   SIDE EVENTS 2026 (pages 1990, 1992)
   ============================================================================= */
.afs-sev26-nav {
  background: #fff;
  border-bottom: 2px solid #efefef;
}
.afs-sev26-nav__inner {
  display: flex;
  gap: 8px;
  padding: 16px 0;
}
.afs-sev26-nav__tab {
  display: inline-block;
  padding: 10px 24px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 600;
  color: #555;
  text-decoration: none;
  transition: .2s;
}
.afs-sev26-nav__tab:hover { background: var(--afs-cream); color: var(--afs-dark); }
.afs-sev26-nav__tab--active { background: var(--afs-dark); color: #fff; }

.afs-sev26-intro__text p { font-size:17px; line-height:1.8; color:#333; font-weight:300; margin:0 0 16px; }
.afs-sev26-intro__text p:last-child { margin-bottom:0; }
.afs-sev26-intro__text strong { font-weight:700; color:var(--afs-dark); }

.afs-sev26-cards {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
}
.afs-sev26-card {
  border: 1.5px solid #e8e8e8;
  border-radius: 16px;
  padding: 32px 28px;
  transition: box-shadow .2s;
}
.afs-sev26-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.afs-sev26-card__icon {
  width: 52px; height: 52px;
  border-radius: 12px;
  background: var(--afs-cream);
  display: flex; align-items: center; justify-content: center;
  color: var(--afs-dark);
  margin-bottom: 20px;
}
.afs-sev26-card__title { font-size:17px; font-weight:800; color:var(--afs-dark); margin:0 0 10px; }
.afs-sev26-card__body { font-size:14px; line-height:1.7; color:#555; margin:0; font-weight:300; }

.afs-sev26-overview {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 60px;
  align-items: start;
  margin-bottom: 48px;
}
.afs-sev26-benefit {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid #efefef;
  font-size: 14px;
  color: #333;
  font-weight: 500;
}
.afs-sev26-benefit:first-child { border-top: 1px solid #efefef; }
.afs-sev26-benefit__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--afs-lime);
  flex-shrink: 0;
  margin-top: 5px;
}
.afs-sev26-ack {
  border-left: 4px solid var(--afs-lime);
  background: var(--afs-cream);
  border-radius: 0 12px 12px 0;
  padding: 28px 32px;
}
.afs-sev26-ack__heading { font-size:15px; font-weight:700; color:var(--afs-dark); margin:0 0 14px; }
.afs-sev26-ack ul { padding-left:20px; margin:0; }
.afs-sev26-ack li { font-size:14px; line-height:1.7; color:#444; margin-bottom:8px; }
.afs-sev26-ack li strong { color:var(--afs-dark); }

@media (max-width: 900px) {
  .afs-sev26-cards { grid-template-columns: 1fr; }
  .afs-sev26-overview { grid-template-columns: 1fr; gap: 32px; }
}

/* =============================================================================
   DEALROOM 2026 (pages 1995, 1999, 2004)
   ============================================================================= */
.afs-dr26-hero {
  position: relative;
  min-height: 400px;
  background-size: cover;
  background-position: top;
  display: flex;
  align-items: flex-end;
  padding: 80px 0 60px;
}
.afs-dr26-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(20,75,45,.90) 0%, rgba(20,75,45,.65) 50%, rgba(0,0,0,.15) 100%);
}
.afs-dr26-nav {
  background: #fff;
  border-bottom: 2px solid #efefef;
  position: sticky;
  top: 0;
  z-index: 100;
}
.afs-dr26-nav__inner {
  display: flex;
  gap: 8px;
  padding: 16px 0;
}
.afs-dr26-nav__tab {
  display: inline-block;
  padding: 10px 24px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 600;
  color: #555;
  text-decoration: none;
  transition: .2s;
}
.afs-dr26-nav__tab:hover { background: var(--afs-cream); color: var(--afs-dark); }
.afs-dr26-nav__tab--active { background: var(--afs-dark); color: #fff; }

.afs-dr26-intro {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 60px;
  align-items: center;
}
.afs-dr26-intro__img img { border-radius: 16px; }
.afs-dr26-intro__body p { font-size:16px; line-height:1.8; color:#333; font-weight:300; margin:0; }

.afs-dr26-disclaimer {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  background: #fffbeb;
  border: 1.5px solid #f59e0b;
  border-radius: 12px;
  padding: 24px 28px;
}
.afs-dr26-disclaimer__icon { color: #f59e0b; flex-shrink: 0; margin-top: 2px; }
.afs-dr26-disclaimer__title { font-size:15px; font-weight:700; color:#92400e; margin:0 0 8px; }
.afs-dr26-disclaimer__body { font-size:14px; line-height:1.7; color:#78350f; margin:0; }
.afs-dr26-disclaimer__body strong { color:#92400e; }

.afs-dr26-process {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 60px;
  align-items: start;
}
.afs-dr26-deadline {
  background: var(--afs-dark);
  border-radius: 16px;
  padding: 32px 28px;
  text-align: center;
}
.afs-dr26-deadline__label { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.6); margin-bottom:12px; }
.afs-dr26-deadline__date { font-size:28px; font-weight:800; color:var(--afs-lime); line-height:1.1; margin-bottom:8px; }
.afs-dr26-deadline__sub { font-size:13px; color:rgba(255,255,255,.6); }

.afs-dr26-checklist {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 16px;
}
.afs-dr26-check-card {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  border: 1.5px solid #e8e8e8;
  border-radius: 12px;
  padding: 18px 20px;
  font-size:14px;
  color:#333;
  line-height:1.6;
  font-weight:400;
  transition: border-color .2s;
}
.afs-dr26-check-card:hover { border-color: var(--afs-lime); }
.afs-dr26-check-card__icon {
  width:28px; height:28px; flex-shrink:0;
  background: var(--afs-lime);
  border-radius: 50%;
  display:flex; align-items:center; justify-content:center;
  color: var(--afs-dark);
}
.afs-dr26-form-wrap { max-width: 800px; margin: 0 auto; }
.afs-dr26-form-note {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: var(--afs-cream);
  border-radius: 10px;
  padding: 18px 22px;
  margin-bottom: 40px;
  font-size: 14px;
  color: #444;
  line-height: 1.6;
}
.afs-dr26-form-note svg { flex-shrink:0; color:var(--afs-dark); margin-top:2px; }
.afs-dr26-form-note p { margin:0; }
.afs-dr26-form-body { /* gravity form inherits theme styles */ }

/* ── Gravity Forms: AFS theme button overrides ── */
.gform-theme-button,
.gform_button,
.gform_next_button,
.gform_previous_button {
  background: var(--afs-dark) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 14px 36px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  cursor: pointer !important;
  transition: background .2s, transform .15s !important;
  box-shadow: none !important;
}
.gform-theme-button:hover,
.gform_button:hover,
.gform_next_button:hover,
.gform_previous_button:hover {
  background: #0e3520 !important;
  transform: translateY(-1px) !important;
}
.gform-theme-button--secondary,
.gform_save_link {
  background: transparent !important;
  color: var(--afs-dark) !important;
  border: 2px solid var(--afs-dark) !important;
  border-radius: 50px !important;
  padding: 12px 32px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .2s, color .2s !important;
}
.gform-theme-button--secondary:hover,
.gform_save_link:hover {
  background: var(--afs-dark) !important;
  color: #fff !important;
}
/* Form inputs */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper textarea,
.gform_wrapper select {
  border: 1.5px solid #d0d0d0 !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  color: #222 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color .2s !important;
}
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
  outline: none !important;
  border-color: var(--afs-dark) !important;
}
.gform_wrapper label.gfield_label {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #222 !important;
  margin-bottom: 6px !important;
}
.gform_wrapper .gfield_required { color: var(--afs-lime) !important; }
.gform_page_footer { display: flex; gap: 16px; align-items: center; margin-top: 32px; }

@media (max-width: 900px) {
  .afs-dr26-intro { grid-template-columns: 1fr; }
  .afs-dr26-process { grid-template-columns: 1fr; }
  .afs-dr26-checklist { grid-template-columns: 1fr; }
}
