/*
Theme Name: AFFIRM STRATEGY
Theme URI: https://affirmstrategy.co.za
Author: AFFIRM STRATEGY
Description: A premium, responsive WordPress theme for AFFIRM STRATEGY, a multidisciplinary strategic advisory and professional services firm.
Version: 1.4.1
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 8.0
Text Domain: affirm-strategy
*/

:root {
  --affirm-ink: #0b0b0b;
  --affirm-navy: #151515;
  --affirm-blue: #667679;
  --affirm-teal: #8a9391;
  --affirm-aqua: #cbd0cf;
  --affirm-gold: #667679;
  --affirm-sand: #f2f3f2;
  --affirm-cloud: #f8f7f3;
  --affirm-white: #ffffff;
  --affirm-text: #262626;
  --affirm-muted: #66635d;
  --affirm-border: rgba(11, 11, 11, 0.14);
  --affirm-shadow: 0 22px 60px rgba(11, 11, 11, 0.13);
  --affirm-radius-sm: 10px;
  --affirm-radius: 18px;
  --affirm-radius-lg: 28px;
  --affirm-container: 1460px;
  --affirm-transition: 220ms ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--affirm-text);
  background: var(--affirm-white);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: var(--affirm-blue); text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { color: var(--affirm-teal); }
img, svg { max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
::selection { background: var(--affirm-aqua); color: var(--affirm-ink); }

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.55em;
  color: var(--affirm-ink);
  line-height: 1.08;
  letter-spacing: -0.035em;
}
h1 { font-size: clamp(2.75rem, 6vw, 5.75rem); }
h2 { font-size: clamp(2.05rem, 4vw, 3.75rem); }
h3 { font-size: clamp(1.35rem, 2.1vw, 1.9rem); }
h4 { font-size: 1.16rem; }
p { margin: 0 0 1.25rem; }
ul, ol { padding-left: 1.2rem; }

.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
.skip-link:focus {
  position: fixed !important;
  z-index: 99999;
  top: 12px; left: 12px;
  width: auto; height: auto;
  margin: 0; padding: 10px 14px;
  clip: auto;
  color: var(--affirm-white);
  background: var(--affirm-ink);
  border-radius: 6px;
}

.affirm-container { width: min(calc(100% - 40px), var(--affirm-container)); margin-inline: auto; }
.affirm-narrow { width: min(calc(100% - 40px), 850px); margin-inline: auto; }
.affirm-section { padding: clamp(72px, 9vw, 128px) 0; }
.affirm-section--compact { padding: clamp(54px, 7vw, 90px) 0; }
.affirm-section--cloud { background: var(--affirm-cloud); }
.affirm-section--sand { background: var(--affirm-sand); }
.affirm-section--ink { background: var(--affirm-ink); color: rgba(255,255,255,.78); }
.affirm-section--ink h1,
.affirm-section--ink h2,
.affirm-section--ink h3,
.affirm-section--ink h4 { color: var(--affirm-white); }
.affirm-grid { display: grid; gap: 28px; }
.affirm-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.affirm-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.affirm-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.affirm-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: var(--affirm-blue);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}
.affirm-eyebrow::before { content: ""; width: 38px; height: 2px; background: var(--affirm-teal); }
.affirm-section--ink .affirm-eyebrow { color: var(--affirm-aqua); }
.affirm-lead { max-width: 780px; font-size: clamp(1.08rem, 1.6vw, 1.3rem); color: var(--affirm-muted); }
.affirm-section--ink .affirm-lead { color: rgba(255,255,255,.72); }
.affirm-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 48px; }
.affirm-section-heading > :first-child { max-width: 800px; }
.affirm-kicker { color: var(--affirm-gold); font-weight: 700; }
.affirm-rule { height: 1px; background: var(--affirm-border); margin: 36px 0; }

.affirm-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 14px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--affirm-white);
  background: var(--affirm-blue);
  font-size: .9rem;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  transition: transform var(--affirm-transition), background var(--affirm-transition), border var(--affirm-transition), color var(--affirm-transition);
}
.affirm-button:hover { color: var(--affirm-white); background: var(--affirm-teal); transform: translateY(-2px); }
.affirm-button--dark { background: var(--affirm-ink); }
.affirm-button--light { background: var(--affirm-white); color: var(--affirm-ink); }
.affirm-button--light:hover { color: var(--affirm-white); background: var(--affirm-teal); }
.affirm-button--outline { border-color: rgba(255,255,255,.5); background: transparent; }
.affirm-button--outline:hover { border-color: var(--affirm-white); background: rgba(255,255,255,.1); }
.affirm-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--affirm-ink);
  font-weight: 750;
  text-decoration: none;
}
.affirm-link svg { width: 17px; transition: transform var(--affirm-transition); }
.affirm-link:hover svg { transform: translateX(4px); }

/* Header */
.affirm-site-header {
  position: relative;
  z-index: 1000;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--affirm-border);
  backdrop-filter: blur(14px);
}
.affirm-site-header.is-sticky { position: sticky; top: 0; }
.affirm-header-top { color: rgba(255,255,255,.76); background: var(--affirm-ink); font-size: .76rem; }
.affirm-header-top__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.affirm-header-top p { margin: 0; }
.affirm-header-top a { color: var(--affirm-white); text-decoration: none; }
.affirm-header-main { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.affirm-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--affirm-ink); text-decoration: none; }
.affirm-brand:hover { color: var(--affirm-ink); }
.affirm-brand__mark {
  display: grid; place-items: center;
  width: 46px; height: 46px;
  color: var(--affirm-white);
  background: linear-gradient(145deg, var(--affirm-blue), var(--affirm-teal));
  border-radius: 12px 12px 12px 3px;
  box-shadow: 0 10px 28px rgba(102,118,121,.22);
}
.affirm-brand__mark svg { width: 27px; height: 27px; }
.affirm-brand__name { display: block; font-size: 1rem; font-weight: 900; letter-spacing: .09em; line-height: 1; }
.affirm-brand__descriptor { display: block; margin-top: 7px; color: var(--affirm-muted); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.custom-logo-link { display: flex; align-items: center; }
.custom-logo { max-height: 58px; width: auto; }
.affirm-nav-wrap { display: flex; align-items: center; gap: 20px; }
.affirm-primary-menu, .affirm-primary-menu ul { list-style: none; margin: 0; padding: 0; }
.affirm-primary-menu { display: flex; align-items: center; gap: 3px; }
.affirm-primary-menu > li { position: relative; }
.affirm-primary-menu > li > a {
  display: flex; align-items: center;
  min-height: 48px; padding: 0 11px;
  color: var(--affirm-ink);
  font-size: .79rem; font-weight: 750;
  text-decoration: none;
}
.affirm-primary-menu > li > a:hover,
.affirm-primary-menu > li.current-menu-item > a,
.affirm-primary-menu > li.current-menu-ancestor > a { color: var(--affirm-blue); }
.affirm-primary-menu .sub-menu {
  position: absolute;
  top: calc(100% + 10px); left: 0;
  min-width: 260px;
  padding: 12px;
  background: var(--affirm-white);
  border: 1px solid var(--affirm-border);
  border-radius: 14px;
  box-shadow: var(--affirm-shadow);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: all var(--affirm-transition);
}
.affirm-primary-menu li:hover > .sub-menu,
.affirm-primary-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.affirm-primary-menu .sub-menu a { display: block; padding: 10px 12px; color: var(--affirm-ink); font-size: .84rem; font-weight: 650; text-decoration: none; border-radius: 8px; }
.affirm-primary-menu .sub-menu a:hover { color: var(--affirm-blue); background: var(--affirm-cloud); }
.affirm-menu-toggle {
  display: none;
  width: 48px; height: 48px;
  padding: 0;
  border: 1px solid var(--affirm-border);
  border-radius: 50%;
  background: var(--affirm-white);
}
.affirm-menu-toggle span { display: block; width: 20px; height: 2px; margin: 4px auto; background: var(--affirm-ink); transition: var(--affirm-transition); }
.affirm-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.affirm-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.affirm-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Hero */
.affirm-hero {
  position: relative;
  min-height: min(820px, calc(100vh - 124px));
  display: flex;
  align-items: center;
  overflow: hidden;
  color: rgba(255,255,255,.82);
  background:
    radial-gradient(circle at 76% 35%, rgba(102,118,121,.20), transparent 31%),
    radial-gradient(circle at 28% 0%, rgba(234,214,163,.10), transparent 30%),
    linear-gradient(115deg, #070707 0%, #141414 54%, #211c12 100%);
}
.affirm-hero::before {
  content: "";
  position: absolute; inset: 0;
  opacity: .2;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to right, transparent, black 55%, black);
}
.affirm-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); align-items: center; gap: clamp(44px, 7vw, 100px); padding: 90px 0; }
.affirm-hero h1 { max-width: 830px; color: var(--affirm-white); }
.affirm-hero__intro { max-width: 720px; font-size: clamp(1.08rem, 1.5vw, 1.28rem); }
.affirm-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.affirm-hero__positioning { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 42px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.18); }
.affirm-hero__positioning span { display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.74); font-size: .78rem; font-weight: 700; }
.affirm-hero__positioning span::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--affirm-aqua); }
.affirm-hero-visual { position: relative; aspect-ratio: 1; display: grid; place-items: center; }
.affirm-hero-visual__orb { width: min(100%, 520px); filter: drop-shadow(0 30px 50px rgba(0,0,0,.22)); animation: affirmFloat 9s ease-in-out infinite; }
.affirm-hero-stat {
  position: absolute;
  max-width: 190px;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 16px;
  background: rgba(8,8,8,.78);
  box-shadow: 0 22px 50px rgba(0,0,0,.18);
  backdrop-filter: blur(12px);
}
.affirm-hero-stat strong { display: block; margin-bottom: 4px; color: var(--affirm-white); font-size: .9rem; }
.affirm-hero-stat span { display: block; color: rgba(255,255,255,.62); font-size: .73rem; line-height: 1.4; }
.affirm-hero-stat--one { top: 11%; left: -2%; }
.affirm-hero-stat--two { right: -2%; bottom: 13%; }
@keyframes affirmFloat { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-14px) rotate(1deg); } }

.affirm-trustbar { position: relative; z-index: 5; margin-top: -1px; color: var(--affirm-white); background: var(--affirm-blue); }
.affirm-trustbar__inner { display: grid; grid-template-columns: 1.2fr repeat(4, 1fr); }
.affirm-trustbar__item { min-height: 92px; display: flex; align-items: center; padding: 18px 24px; border-right: 1px solid rgba(255,255,255,.15); }
.affirm-trustbar__item:first-child { padding-left: 0; font-size: .77rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.affirm-trustbar__item:last-child { border-right: 0; }
.affirm-trustbar__item span { font-size: .85rem; font-weight: 700; }

/* Cards and content */
.affirm-card {
  position: relative;
  height: 100%;
  padding: 30px;
  background: var(--affirm-white);
  border: 1px solid var(--affirm-border);
  border-radius: var(--affirm-radius);
  transition: transform var(--affirm-transition), border-color var(--affirm-transition), box-shadow var(--affirm-transition);
}
.affirm-card:hover { transform: translateY(-5px); border-color: rgba(102,118,121,.42); box-shadow: var(--affirm-shadow); }
.affirm-card__icon { width: 52px; height: 52px; display: grid; place-items: center; margin-bottom: 24px; color: var(--affirm-blue); background: rgba(102,118,121,.10); border-radius: 14px; }
.affirm-card__icon svg { width: 26px; height: 26px; }
.affirm-card p { color: var(--affirm-muted); }
.affirm-card ul { margin: 18px 0 0; padding: 0; list-style: none; }
.affirm-card li { position: relative; padding: 7px 0 7px 20px; color: var(--affirm-muted); font-size: .9rem; }
.affirm-card li::before { content: ""; position: absolute; top: 18px; left: 0; width: 7px; height: 7px; border: 2px solid var(--affirm-teal); border-radius: 50%; }
.affirm-number-card { padding-top: 72px; }
.affirm-number-card__number { position: absolute; top: 26px; right: 28px; color: rgba(11,11,11,.10); font-size: 3.4rem; font-weight: 900; line-height: 1; }

.affirm-purpose { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(48px, 8vw, 110px); align-items: start; }
.affirm-purpose__sticky { position: sticky; top: 150px; }
.affirm-purpose-list { display: grid; gap: 12px; }
.affirm-purpose-item { display: grid; grid-template-columns: 64px 1fr; gap: 18px; padding: 25px; background: var(--affirm-white); border: 1px solid var(--affirm-border); border-radius: 16px; }
.affirm-purpose-item__icon { width: 54px; height: 54px; display: grid; place-items: center; color: var(--affirm-white); background: var(--affirm-blue); border-radius: 50%; }
.affirm-purpose-item:nth-child(2n) .affirm-purpose-item__icon { background: var(--affirm-teal); }
.affirm-purpose-item h3 { margin-bottom: 6px; font-size: 1.18rem; }
.affirm-purpose-item p { margin: 0; color: var(--affirm-muted); font-size: .94rem; }

.affirm-ecosystem-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; counter-reset: ecosystem; }
.affirm-ecosystem-card {
  grid-column: span 4;
  position: relative;
  min-height: 350px;
  display: flex;
  flex-direction: column;
  padding: 28px;
  overflow: hidden;
  color: rgba(255,255,255,.76);
  background: var(--affirm-ink);
  border-radius: var(--affirm-radius);
  text-decoration: none;
  counter-increment: ecosystem;
}
.affirm-ecosystem-card:nth-child(2), .affirm-ecosystem-card:nth-child(5) { background: var(--affirm-blue); }
.affirm-ecosystem-card:nth-child(3), .affirm-ecosystem-card:nth-child(6) { background: #2b2417; }
.affirm-ecosystem-card:nth-child(4), .affirm-ecosystem-card:nth-child(7) { background: #171717; }
.affirm-ecosystem-card::before { content: counter(ecosystem, decimal-leading-zero); position: absolute; top: 20px; right: 24px; color: rgba(255,255,255,.13); font-size: 4.7rem; font-weight: 900; line-height: 1; }
.affirm-ecosystem-card::after { content: ""; position: absolute; right: -80px; bottom: -100px; width: 220px; height: 220px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 36px rgba(255,255,255,.035), 0 0 0 72px rgba(255,255,255,.025); transition: transform .5s ease; }
.affirm-ecosystem-card:hover { color: rgba(255,255,255,.84); }
.affirm-ecosystem-card:hover::after { transform: scale(1.1) translate(-10px,-10px); }
.affirm-ecosystem-card__label { position: relative; z-index: 2; display: inline-block; margin-bottom: auto; color: var(--affirm-aqua); font-size: .78rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.affirm-ecosystem-card h3 { position: relative; z-index: 2; max-width: 280px; margin-top: 62px; color: var(--affirm-white); }
.affirm-ecosystem-card p { position: relative; z-index: 2; margin-bottom: 0; font-size: .92rem; }
.affirm-ecosystem-card__arrow { position: absolute; right: 25px; bottom: 23px; z-index: 2; width: 40px; height: 40px; display: grid; place-items: center; color: var(--affirm-ink); background: var(--affirm-white); border-radius: 50%; }

.affirm-band { position: relative; overflow: hidden; padding: clamp(55px, 8vw, 92px) 0; color: rgba(255,255,255,.78); background: linear-gradient(120deg, var(--affirm-blue), #2b2110); }
.affirm-band::after { content: ""; position: absolute; inset: -40%; opacity: .2; background: repeating-radial-gradient(circle at center, transparent 0 42px, rgba(255,255,255,.25) 43px 44px); transform: translateX(35%); }
.affirm-band__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 44px; }
.affirm-band h2 { max-width: 840px; color: var(--affirm-white); }
.affirm-band p { max-width: 850px; margin-bottom: 0; }

.affirm-institution-card { min-height: 390px; display: flex; flex-direction: column; overflow: hidden; padding: 0; }
.affirm-institution-card__top { min-height: 170px; position: relative; display: flex; align-items: end; padding: 28px; color: var(--affirm-white); background: linear-gradient(145deg, var(--affirm-ink), var(--affirm-blue)); }
.affirm-institution-card:nth-child(2) .affirm-institution-card__top { background: linear-gradient(145deg, #2b2417, var(--affirm-teal)); }
.affirm-institution-card:nth-child(3) .affirm-institution-card__top { background: linear-gradient(145deg, #252525, #6e5b32); }
.affirm-institution-card__top::before { content: ""; position: absolute; top: -90px; right: -60px; width: 220px; height: 220px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 28px rgba(255,255,255,.035), 0 0 0 58px rgba(255,255,255,.025); }
.affirm-institution-card__top h3 { position: relative; z-index: 2; margin: 0; color: var(--affirm-white); }
.affirm-institution-card__body { padding: 28px; }

.affirm-market-entry { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .75fr); gap: clamp(45px, 8vw, 110px); align-items: center; }
.affirm-market-map { position: relative; min-height: 480px; display: grid; place-items: center; overflow: hidden; background: var(--affirm-ink); border-radius: var(--affirm-radius-lg); }
.affirm-market-map::before { content: ""; position: absolute; inset: 0; opacity: .28; background-image: radial-gradient(circle at center, rgba(234,214,163,.70) 0 1px, transparent 2px); background-size: 30px 30px; }
.affirm-market-map svg { position: relative; z-index: 2; width: 78%; }
.affirm-market-map__badge { position: absolute; left: 24px; bottom: 24px; z-index: 3; max-width: 250px; padding: 18px; color: rgba(255,255,255,.74); background: rgba(8,8,8,.84); border: 1px solid rgba(255,255,255,.16); border-radius: 14px; backdrop-filter: blur(10px); }
.affirm-market-map__badge strong { display: block; color: var(--affirm-white); }
.affirm-check-list { margin: 28px 0; padding: 0; list-style: none; columns: 2; column-gap: 28px; }
.affirm-check-list li { break-inside: avoid; position: relative; padding: 7px 0 7px 28px; }
.affirm-check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--affirm-teal); font-weight: 900; }
.affirm-disclaimer { padding: 18px 20px; color: var(--affirm-muted); background: var(--affirm-cloud); border-left: 3px solid var(--affirm-gold); border-radius: 0 10px 10px 0; font-size: .88rem; }

.affirm-client-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.affirm-client-pill { padding: 10px 15px; color: var(--affirm-ink); background: var(--affirm-white); border: 1px solid var(--affirm-border); border-radius: 999px; font-size: .82rem; font-weight: 700; }

.affirm-insight-card { height: 100%; overflow: hidden; background: var(--affirm-white); border: 1px solid var(--affirm-border); border-radius: var(--affirm-radius); }
.affirm-insight-card__visual { position: relative; min-height: 190px; display: flex; align-items: end; padding: 24px; overflow: hidden; color: var(--affirm-white); background: linear-gradient(145deg, var(--affirm-blue), var(--affirm-teal)); }
.affirm-insight-card:nth-child(2n) .affirm-insight-card__visual { background: linear-gradient(145deg, var(--affirm-ink), #5b4822); }
.affirm-insight-card__visual::after { content: ""; position: absolute; right: -40px; top: -80px; width: 200px; height: 200px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 28px rgba(255,255,255,.04), 0 0 0 56px rgba(255,255,255,.03); }
.affirm-insight-card__category { position: relative; z-index: 2; font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.affirm-insight-card__body { padding: 26px; }
.affirm-insight-card__meta { margin-bottom: 10px; color: var(--affirm-muted); font-size: .76rem; font-weight: 700; }
.affirm-insight-card h3 { font-size: 1.35rem; }
.affirm-insight-card h3 a { color: var(--affirm-ink); text-decoration: none; }
.affirm-insight-card h3 a:hover { color: var(--affirm-blue); }

/* Inner pages */
.affirm-page-hero { position: relative; overflow: hidden; padding: clamp(80px, 11vw, 150px) 0 78px; color: rgba(255,255,255,.72); background: linear-gradient(120deg, var(--affirm-ink), var(--affirm-navy)); }
.affirm-page-hero::after { content: ""; position: absolute; top: -220px; right: -80px; width: 600px; height: 600px; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.02); }
.affirm-page-hero__inner { position: relative; z-index: 2; max-width: 950px; }
.affirm-page-hero h1 { color: var(--affirm-white); }
.affirm-page-hero p { max-width: 770px; font-size: 1.15rem; }
.affirm-breadcrumbs { margin-bottom: 30px; color: rgba(255,255,255,.6); font-size: .78rem; font-weight: 700; }
.affirm-breadcrumbs a { color: var(--affirm-white); text-decoration: none; }
.affirm-content { padding: 78px 0 110px; }
.affirm-content > *:first-child { margin-top: 0; }
.affirm-content h2 { margin-top: 1.4em; }
.affirm-content h3 { margin-top: 1.2em; }
.affirm-content blockquote { margin: 2rem 0; padding: 24px 28px; color: var(--affirm-ink); background: var(--affirm-cloud); border-left: 4px solid var(--affirm-teal); }

.affirm-journey { position: relative; display: grid; gap: 18px; }
.affirm-journey::before { content: ""; position: absolute; top: 0; bottom: 0; left: 45px; width: 1px; background: var(--affirm-border); }
.affirm-journey-item { position: relative; display: grid; grid-template-columns: 90px 1fr; gap: 30px; }
.affirm-journey-item__number { position: relative; z-index: 2; width: 90px; height: 90px; display: grid; place-items: center; color: var(--affirm-white); background: var(--affirm-ink); border: 9px solid var(--affirm-white); border-radius: 50%; font-weight: 900; }
.affirm-journey-item:nth-child(2n) .affirm-journey-item__number { background: var(--affirm-teal); }
.affirm-journey-item__content { padding: 32px; background: var(--affirm-cloud); border-radius: var(--affirm-radius); }
.affirm-journey-item__content ul { columns: 2; column-gap: 24px; }

.affirm-sector-card { min-height: 260px; }
.affirm-sector-card__meta { margin-bottom: 50px; color: var(--affirm-teal); font-size: .78rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.affirm-sector-card h3 { max-width: 280px; }

.affirm-values-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.affirm-value { padding: 26px 22px; background: var(--affirm-white); border-top: 4px solid var(--affirm-teal); box-shadow: 0 14px 35px rgba(11,11,11,.07); }
.affirm-value:nth-child(2n) { border-color: var(--affirm-gold); }
.affirm-value p { margin: 0; color: var(--affirm-muted); font-size: .87rem; }

.affirm-timeline { display: grid; grid-template-columns: 180px 1fr; gap: 34px; align-items: start; }
.affirm-timeline__year { color: var(--affirm-teal); font-size: clamp(3rem, 7vw, 6rem); font-weight: 900; line-height: .9; letter-spacing: -.07em; }

/* Forms */
.affirm-contact-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 8vw, 100px); align-items: start; }
.affirm-contact-panel { position: sticky; top: 145px; padding: 34px; color: rgba(255,255,255,.74); background: var(--affirm-ink); border-radius: var(--affirm-radius); }
.affirm-contact-panel h2, .affirm-contact-panel h3 { color: var(--affirm-white); }
.affirm-contact-detail { display: flex; gap: 14px; padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.affirm-contact-detail:last-child { border-bottom: 0; }
.affirm-contact-detail svg { flex: 0 0 22px; margin-top: 4px; color: var(--affirm-aqua); }
.affirm-contact-detail a { color: var(--affirm-white); }
.affirm-form { padding: 38px; background: var(--affirm-cloud); border-radius: var(--affirm-radius); }
.affirm-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.affirm-field { margin-bottom: 18px; }
.affirm-field--full { grid-column: 1 / -1; }
.affirm-field label { display: block; margin-bottom: 7px; color: var(--affirm-ink); font-size: .82rem; font-weight: 800; }
.affirm-field input, .affirm-field textarea, .affirm-field select {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  color: var(--affirm-text);
  background: var(--affirm-white);
  border: 1px solid rgba(11,11,11,.18);
  border-radius: 9px;
  outline: none;
}
.affirm-field textarea { min-height: 170px; resize: vertical; }
.affirm-field input:focus, .affirm-field textarea:focus, .affirm-field select:focus { border-color: var(--affirm-teal); box-shadow: 0 0 0 3px rgba(102,118,121,.12); }
.affirm-form-notice { margin-bottom: 22px; padding: 14px 16px; border-radius: 9px; font-size: .9rem; }
.affirm-form-notice--success { color: #0f594d; background: #dff6ef; }
.affirm-form-notice--error { color: #7a2632; background: #fae5e8; }
.affirm-honeypot { position: absolute; left: -9999px; }

/* Footer */
.affirm-site-footer { color: rgba(255,255,255,.64); background: #050505; }
.affirm-footer-cta { padding: 70px 0; border-bottom: 1px solid rgba(255,255,255,.11); }
.affirm-footer-cta__inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 38px; }
.affirm-footer-cta h2 { margin: 0; color: var(--affirm-white); }
.affirm-footer-main { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 45px; padding: 70px 0; }
.affirm-footer-brand { max-width: 330px; }
.affirm-site-footer .affirm-brand__name { color: var(--affirm-white); }
.affirm-site-footer .affirm-brand__descriptor { color: rgba(255,255,255,.48); }
.affirm-footer-column h3 { margin-bottom: 20px; color: var(--affirm-white); font-size: .9rem; letter-spacing: .04em; }
.affirm-footer-menu { list-style: none; margin: 0; padding: 0; }
.affirm-footer-menu li { margin: 8px 0; }
.affirm-footer-menu a { color: rgba(255,255,255,.66); font-size: .87rem; text-decoration: none; }
.affirm-footer-menu a:hover { color: var(--affirm-aqua); }
.affirm-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.1); font-size: .76rem; }
.affirm-footer-bottom p { margin: 0; }
.affirm-socials { display: flex; gap: 10px; }
.affirm-socials a { width: 38px; height: 38px; display: grid; place-items: center; color: var(--affirm-white); border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.affirm-socials a:hover { color: var(--affirm-white); background: var(--affirm-teal); border-color: var(--affirm-teal); }

/* Blog */
.affirm-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.affirm-pagination { margin-top: 50px; }
.affirm-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.affirm-pagination a, .affirm-pagination span { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0 12px; color: var(--affirm-ink); background: var(--affirm-cloud); border-radius: 50px; text-decoration: none; }
.affirm-pagination .current { color: var(--affirm-white); background: var(--affirm-blue); }
.affirm-article { max-width: 860px; margin-inline: auto; }
.affirm-article__meta { margin-bottom: 28px; color: var(--affirm-muted); font-size: .85rem; }
.affirm-article__content { font-size: 1.05rem; }
.affirm-article__content p { margin-bottom: 1.5em; }
.affirm-article__content h2, .affirm-article__content h3 { margin-top: 1.5em; }

/* Animation */
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
}

/* Responsive */
@media (max-width: 1120px) {
  .affirm-primary-menu > li > a { padding-inline: 8px; font-size: .74rem; }
  .affirm-nav-wrap .affirm-button { display: none; }
  .affirm-values-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .affirm-menu-toggle { display: block; }
  .affirm-nav-wrap { margin-left: auto; }
  .affirm-nav-panel {
    position: fixed;
    top: 124px; left: 0; right: 0; bottom: 0;
    padding: 24px 20px 44px;
    overflow-y: auto;
    background: var(--affirm-white);
    opacity: 0; visibility: hidden; transform: translateY(-10px);
    transition: all var(--affirm-transition);
  }
  .affirm-nav-panel.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .affirm-primary-menu { display: block; }
  .affirm-primary-menu > li { border-bottom: 1px solid var(--affirm-border); }
  .affirm-primary-menu > li > a { min-height: 58px; padding: 0; font-size: 1rem; }
  .affirm-primary-menu .sub-menu { position: static; min-width: 0; padding: 0 0 14px 15px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .affirm-primary-menu .sub-menu a { padding: 8px 0; }
  .affirm-hero__inner { grid-template-columns: 1fr; }
  .affirm-hero-visual { max-width: 580px; width: 100%; margin-inline: auto; }
  .affirm-trustbar__inner { grid-template-columns: repeat(2, 1fr); }
  .affirm-trustbar__item:first-child { grid-column: 1 / -1; padding-left: 24px; }
  .affirm-purpose { grid-template-columns: 1fr; }
  .affirm-purpose__sticky { position: static; }
  .affirm-ecosystem-card { grid-column: span 6; }
  .affirm-market-entry, .affirm-contact-layout { grid-template-columns: 1fr; }
  .affirm-contact-panel { position: static; }
  .affirm-footer-main { grid-template-columns: repeat(2, 1fr); }
  .affirm-post-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 740px) {
  body { font-size: 16px; }
  .affirm-container, .affirm-narrow { width: min(calc(100% - 30px), var(--affirm-container)); }
  .affirm-header-top__inner { justify-content: center; min-height: 34px; }
  .affirm-header-top__inner > :last-child { display: none; }
  .affirm-header-main { min-height: 76px; }
  .affirm-nav-panel { top: 110px; }
  .affirm-brand__mark { width: 40px; height: 40px; }
  .affirm-brand__descriptor { display: none; }
  .affirm-hero { min-height: auto; }
  .affirm-hero__inner { padding: 72px 0 85px; }
  .affirm-hero h1 { font-size: clamp(2.6rem, 13vw, 4.3rem); }
  .affirm-hero-visual { min-height: 370px; }
  .affirm-hero-stat { max-width: 160px; padding: 12px 14px; }
  .affirm-hero-stat--one { left: 0; }
  .affirm-hero-stat--two { right: 0; }
  .affirm-trustbar__inner { grid-template-columns: 1fr; }
  .affirm-trustbar__item, .affirm-trustbar__item:first-child { min-height: 65px; grid-column: auto; padding: 14px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .affirm-section-heading { align-items: start; flex-direction: column; margin-bottom: 34px; }
  .affirm-grid--2, .affirm-grid--3, .affirm-grid--4 { grid-template-columns: 1fr; }
  .affirm-purpose-item { grid-template-columns: 48px 1fr; padding: 20px; }
  .affirm-purpose-item__icon { width: 46px; height: 46px; }
  .affirm-ecosystem-card { grid-column: 1 / -1; min-height: 310px; }
  .affirm-band__inner, .affirm-footer-cta__inner { grid-template-columns: 1fr; }
  .affirm-market-map { min-height: 360px; }
  .affirm-check-list { columns: 1; }
  .affirm-values-grid { grid-template-columns: 1fr; }
  .affirm-journey::before { left: 29px; }
  .affirm-journey-item { grid-template-columns: 60px 1fr; gap: 14px; }
  .affirm-journey-item__number { width: 60px; height: 60px; border-width: 6px; }
  .affirm-journey-item__content { padding: 24px 20px; }
  .affirm-journey-item__content ul { columns: 1; }
  .affirm-form { padding: 25px 20px; }
  .affirm-form-grid { grid-template-columns: 1fr; }
  .affirm-footer-main { grid-template-columns: 1fr; }
  .affirm-footer-bottom { flex-direction: column; }
  .affirm-post-grid { grid-template-columns: 1fr; }
  .affirm-timeline { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .affirm-brand__name { font-size: .86rem; }
  .affirm-hero__actions .affirm-button { width: 100%; }
  .affirm-card { padding: 24px 21px; }
}

/* Company portal integration */
.affirm-account-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 13px;
  color: var(--affirm-ink);
  border: 1px solid var(--affirm-border);
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color var(--affirm-transition), color var(--affirm-transition), background var(--affirm-transition);
}
.affirm-account-link svg { width: 18px; height: 18px; }
.affirm-account-link:hover { color: var(--affirm-blue); background: var(--affirm-cloud); border-color: rgba(102,118,121,.35); }
.affirm-portal-page { min-height: 60vh; background: linear-gradient(180deg, var(--affirm-cloud), var(--affirm-white) 45%); }
.affirm-insight-card__visual.has-image { background: var(--affirm-ink); }
.affirm-insight-card__visual.has-image::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(11,11,11,.06), rgba(11,11,11,.72)); }
.affirm-insight-card__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.affirm-insight-card__visual.has-image::after { opacity: .45; }
.affirm-article__featured { margin: -20px 0 38px; overflow: hidden; border-radius: var(--affirm-radius); box-shadow: var(--affirm-shadow); }
.affirm-article__featured img { display: block; width: 100%; max-height: 520px; object-fit: cover; }
@media (max-width: 1240px) {
  .affirm-account-link span { display: none; }
  .affirm-account-link { width: 42px; justify-content: center; padding-inline: 0; }
}
@media (max-width: 980px) {
  .affirm-account-link { order: 1; }
  .affirm-menu-toggle { order: 2; }
  .affirm-nav-panel { order: 3; }
}
.affirm-account-link__short { display: none; }
@media (max-width: 1240px) {
  .affirm-account-link__full { display: none; }
  .affirm-account-link__short { display: inline; }
  .affirm-account-link { width: auto; padding-inline: 12px; }
}
@media (max-width: 460px) {
  .affirm-account-link__short { display: none; }
  .affirm-account-link { width: 42px; padding-inline: 0; }
}

/* AFFIRM STRATEGY v1.2 official identity */
.affirm-brand--official { gap: 15px; min-width: 250px; }
.affirm-brand__official-mark { width: 48px; height: 44px; object-fit: contain; flex: 0 0 auto; }
.affirm-brand__official-wordmark { width: clamp(220px, 19vw, 305px); height: auto; object-fit: contain; }
.affirm-site-footer .affirm-brand__official-mark,
.affirm-site-footer .affirm-brand__official-wordmark { filter: invert(1) brightness(2); opacity: .95; }
.affirm-button--gold { color: var(--affirm-white); background: var(--affirm-gold); }
.affirm-button--gold:hover { color: var(--affirm-white); background: #8f671d; }
.affirm-consent { margin-top: 2px; }
.affirm-consent label { display: flex; align-items: flex-start; gap: 10px; font-weight: 600; line-height: 1.5; }
.affirm-consent input { width: 18px; min-height: 18px; height: 18px; margin-top: 3px; flex: 0 0 auto; }

/* Training & Events */
.affirm-events-hero,
.affirm-contact-hero,
.affirm-event-single-hero { position: relative; min-height: 670px; display: flex; align-items: center; overflow: hidden; color: rgba(255,255,255,.82); background: var(--affirm-ink); }
.affirm-events-hero__media,
.affirm-contact-hero__media,
.affirm-event-single-hero__media { position: absolute; inset: 0; background-size: cover; background-position: center; }
.affirm-events-hero__media { background-image: url('assets/images/training-events-hero.webp'); background-position: 68% center; }
.affirm-contact-hero { min-height: 520px; }
.affirm-contact-hero__media { background-image: url('assets/images/contact-hero.webp'); background-position: center 56%; }
.affirm-event-single-hero { min-height: 590px; }
.affirm-event-single-hero__media { background-image: url('assets/images/training-events-hero.webp'); }
.affirm-events-hero__overlay,
.affirm-contact-hero__overlay,
.affirm-event-single-hero__overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,6,6,.98) 0%, rgba(6,6,6,.89) 38%, rgba(6,6,6,.25) 74%, rgba(6,6,6,.08) 100%); }
.affirm-events-hero__content,
.affirm-contact-hero__content,
.affirm-event-single-hero__content { position: relative; z-index: 2; max-width: 780px; padding: 100px 0; }
.affirm-events-hero h1,
.affirm-contact-hero h1,
.affirm-event-single-hero h1 { color: var(--affirm-white); font-family: Georgia, 'Times New Roman', serif; font-weight: 500; letter-spacing: -.025em; }
.affirm-events-hero h1 { font-size: clamp(3rem, 5.6vw, 5.4rem); }
.affirm-events-hero p,
.affirm-contact-hero p,
.affirm-event-single-hero p { max-width: 690px; font-size: 1.12rem; }
.affirm-events-hero .affirm-eyebrow,
.affirm-contact-hero .affirm-eyebrow,
.affirm-event-single-hero .affirm-eyebrow { color: #e1bf70; }
.affirm-events-hero .affirm-eyebrow::before,
.affirm-contact-hero .affirm-eyebrow::before,
.affirm-event-single-hero .affirm-eyebrow::before { background: #e1bf70; }
.affirm-feature-tile { padding: 18px 24px 26px; border-right: 1px solid var(--affirm-border); }
.affirm-feature-tile:last-child { border-right: 0; }
.affirm-feature-tile__icon { width: 55px; height: 55px; display: grid; place-items: center; margin-bottom: 20px; color: var(--affirm-gold); }
.affirm-feature-tile__icon svg { width: 42px; height: 42px; }
.affirm-feature-tile h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; }
.affirm-feature-tile p { margin: 0; color: var(--affirm-muted); font-size: .94rem; }
.affirm-split-media { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(44px, 7vw, 92px); align-items: center; }
.affirm-split-media__image { margin: 0; min-height: 460px; border-radius: var(--affirm-radius-lg); overflow: hidden; box-shadow: var(--affirm-shadow); }
.affirm-split-media__image img { width: 100%; height: 100%; min-height: 460px; object-fit: cover; }
.affirm-pill-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.affirm-pill-list span { padding: 10px 14px; color: var(--affirm-ink); background: var(--affirm-white); border: 1px solid var(--affirm-border); border-radius: 999px; font-size: .84rem; font-weight: 700; }
.affirm-events-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 25px; }
.affirm-event-card { overflow: hidden; color: var(--affirm-text); background: var(--affirm-white); border-radius: var(--affirm-radius); box-shadow: 0 16px 45px rgba(0,0,0,.16); transition: transform var(--affirm-transition), box-shadow var(--affirm-transition); }
.affirm-event-card:hover { transform: translateY(-5px); box-shadow: 0 24px 60px rgba(0,0,0,.22); }
.affirm-event-card__image { position: relative; display: block; aspect-ratio: 16/9; overflow: hidden; text-decoration: none; }
.affirm-event-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.affirm-event-card:hover .affirm-event-card__image img { transform: scale(1.04); }
.affirm-event-card__image > span { position: absolute; left: 16px; top: 16px; padding: 7px 10px; color: var(--affirm-white); background: rgba(0,0,0,.76); border-radius: 99px; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.affirm-event-card__body { display: grid; grid-template-columns: 62px 1fr; gap: 18px; padding: 24px; }
.affirm-event-card__date { padding-right: 15px; border-right: 1px solid var(--affirm-border); text-align: center; }
.affirm-event-card__date strong { display: block; color: var(--affirm-gold); font-size: 1.75rem; line-height: 1; }
.affirm-event-card__date span { display: block; margin-top: 5px; color: var(--affirm-muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.affirm-event-card h3 { font-size: 1.25rem; }
.affirm-event-card h3 a { color: var(--affirm-ink); text-decoration: none; }
.affirm-event-card p { color: var(--affirm-muted); font-size: .86rem; }
.affirm-event-card__meta { margin: -5px 0 10px !important; color: var(--affirm-gold) !important; font-weight: 700; }
.affirm-empty-state { max-width: 760px; margin: 10px auto 0; padding: 56px; text-align: center; border: 1px solid rgba(255,255,255,.16); border-radius: var(--affirm-radius-lg); background: rgba(255,255,255,.055); }
.affirm-empty-state > div svg { width: 52px; color: var(--affirm-gold); }
.affirm-empty-state h3 { color: var(--affirm-white); }
.affirm-event-engagement-grid { align-items: center; }
.affirm-event-engagement-grid__image { margin: 0; min-height: 480px; overflow: hidden; border-radius: var(--affirm-radius-lg); }
.affirm-event-engagement-grid__image img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; }
.affirm-check-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 20px; margin-top: 28px; }
.affirm-check-grid span { display: flex; align-items: center; gap: 9px; font-weight: 700; }
.affirm-check-grid svg { width: 20px; color: var(--affirm-gold); }
.affirm-partner-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.affirm-partner-card { padding: 34px; background: var(--affirm-white); border-radius: var(--affirm-radius); }
.affirm-partner-card ul { margin-bottom: 0; }
.affirm-partner-card--accent { color: rgba(255,255,255,.78); background: var(--affirm-ink); }
.affirm-partner-card--accent h3 { color: var(--affirm-white); }
.affirm-training-final-cta { background: linear-gradient(115deg, #151515, #070707); color: rgba(255,255,255,.72); }
.affirm-training-final-cta__inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 40px; }
.affirm-training-final-cta h2 { color: var(--affirm-white); }

/* Contact page enhancements */
.affirm-contact-panel__image { margin: 24px -14px -14px; border-radius: 13px; overflow: hidden; }
.affirm-contact-panel__image img { width: 100%; height: 185px; object-fit: cover; }

/* Privacy, ethics and legal */
.affirm-policy-nav { position: sticky; top: 124px; z-index: 18; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--affirm-border); backdrop-filter: blur(14px); }
.affirm-policy-nav .affirm-container { display: flex; gap: 28px; overflow-x: auto; }
.affirm-policy-nav a { flex: 0 0 auto; padding: 17px 0; color: var(--affirm-ink); font-size: .78rem; font-weight: 800; text-decoration: none; }
.affirm-policy-nav a:hover { color: var(--affirm-gold); }
.affirm-policy-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: end; }
.affirm-policy-stack { display: grid; gap: 28px; }
.affirm-policy-section { scroll-margin-top: 210px; display: grid; grid-template-columns: 90px 1fr; gap: 34px; padding: clamp(30px,5vw,56px); background: var(--affirm-white); border: 1px solid var(--affirm-border); border-radius: var(--affirm-radius-lg); }
.affirm-policy-section__icon { width: 72px; height: 72px; display: grid; place-items: center; color: var(--affirm-gold); background: var(--affirm-sand); border-radius: 50%; }
.affirm-policy-section__icon svg { width: 35px; }
.affirm-policy-section h2 { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; }
.affirm-policy-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 25px; list-style: none; padding: 0; }
.affirm-policy-list li { position: relative; padding-left: 24px; }
.affirm-policy-list li::before { content: '✓'; position: absolute; left: 0; color: var(--affirm-gold); font-weight: 900; }
.affirm-policy-note { margin-top: 25px; padding: 22px; background: var(--affirm-cloud); border-left: 3px solid var(--affirm-gold); }
.affirm-legal-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.affirm-legal-grid > div { padding: 22px; background: var(--affirm-cloud); border-radius: var(--affirm-radius-sm); }
.affirm-legal-grid h3 { font-size: 1.05rem; }
.affirm-legal-grid p { margin: 0; font-size: .9rem; }
.affirm-policy-contact { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; }

/* Single programme */
.affirm-event-facts { background: var(--affirm-white); border-bottom: 1px solid var(--affirm-border); }
.affirm-event-facts__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.affirm-event-facts__grid > div { min-height: 155px; display: grid; align-content: center; padding: 28px; border-right: 1px solid var(--affirm-border); }
.affirm-event-facts__grid > div:last-child { border-right: 0; }
.affirm-event-facts svg { width: 24px; margin-bottom: 12px; color: var(--affirm-gold); }
.affirm-event-facts span { color: var(--affirm-muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.affirm-event-facts strong { color: var(--affirm-ink); }
.affirm-event-facts small { color: var(--affirm-muted); }
.affirm-event-single-layout { display: grid; grid-template-columns: 1fr 330px; gap: 70px; align-items: start; }
.affirm-event-single-sidebar { position: sticky; top: 160px; }
.affirm-event-single-sidebar__card { padding: 30px; background: var(--affirm-sand); border-radius: var(--affirm-radius); }
.affirm-event-registration-form { background: var(--affirm-white); box-shadow: var(--affirm-shadow); }

@media (max-width: 1120px) {
  .affirm-brand--official { min-width: 210px; }
  .affirm-brand__official-wordmark { width: 225px; }
  .affirm-events-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .affirm-event-facts__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .affirm-event-facts__grid > div:nth-child(2) { border-right: 0; }
  .affirm-event-facts__grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--affirm-border); }
}
@media (max-width: 980px) {
  .affirm-brand__official-wordmark { width: 250px; }
  .affirm-events-hero, .affirm-event-single-hero { min-height: 590px; }
  .affirm-events-hero__overlay, .affirm-contact-hero__overlay, .affirm-event-single-hero__overlay { background: linear-gradient(90deg, rgba(6,6,6,.98), rgba(6,6,6,.76)); }
  .affirm-events-capabilities .affirm-grid--4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .affirm-feature-tile:nth-child(2) { border-right: 0; }
  .affirm-feature-tile:nth-child(-n+2) { border-bottom: 1px solid var(--affirm-border); }
  .affirm-split-media, .affirm-policy-intro, .affirm-event-single-layout { grid-template-columns: 1fr; }
  .affirm-event-single-sidebar { position: static; }
  .affirm-partner-grid { grid-template-columns: 1fr; }
  .affirm-policy-contact, .affirm-training-final-cta__inner { grid-template-columns: 1fr; }
}
@media (max-width: 740px) {
  .affirm-brand--official { min-width: 0; gap: 9px; }
  .affirm-brand__official-mark { width: 39px; height: 37px; }
  .affirm-brand__official-wordmark { width: 174px; }
  .affirm-events-hero, .affirm-contact-hero, .affirm-event-single-hero { min-height: 560px; }
  .affirm-events-hero__media { background-position: 74% center; }
  .affirm-events-hero__overlay, .affirm-contact-hero__overlay, .affirm-event-single-hero__overlay { background: linear-gradient(90deg, rgba(5,5,5,.97), rgba(5,5,5,.76)), linear-gradient(0deg, rgba(5,5,5,.28), transparent); }
  .affirm-events-hero__content, .affirm-contact-hero__content, .affirm-event-single-hero__content { padding: 74px 0; }
  .affirm-events-hero h1 { font-size: clamp(2.55rem, 12vw, 3.5rem); }
  .affirm-events-capabilities .affirm-grid--4, .affirm-events-grid, .affirm-check-grid, .affirm-policy-list, .affirm-legal-grid { grid-template-columns: 1fr; }
  .affirm-feature-tile { border-right: 0; border-bottom: 1px solid var(--affirm-border); }
  .affirm-feature-tile:last-child { border-bottom: 0; }
  .affirm-event-card__body { grid-template-columns: 54px 1fr; padding: 20px; }
  .affirm-empty-state { padding: 35px 22px; }
  .affirm-split-media__image, .affirm-split-media__image img, .affirm-event-engagement-grid__image, .affirm-event-engagement-grid__image img { min-height: 340px; }
  .affirm-policy-nav { top: 105px; }
  .affirm-policy-section { grid-template-columns: 1fr; gap: 20px; }
  .affirm-policy-section__icon { width: 58px; height: 58px; }
  .affirm-event-facts__grid { grid-template-columns: 1fr; }
  .affirm-event-facts__grid > div { border-right: 0; border-bottom: 1px solid var(--affirm-border); }
  .affirm-event-facts__grid > div:last-child { border-bottom: 0; }
}
@media (max-width: 420px) {
  .affirm-brand__official-wordmark { width: 145px; }
}


/* =========================================================
   AFFIRM STRATEGY v1.3 — Black, white and gold production UI
   ========================================================= */
:root {
  --affirm-ink: #080808;
  --affirm-navy: #151515;
  --affirm-blue: #667679;
  --affirm-teal: #8a9391;
  --affirm-aqua: #cbd0cf;
  --affirm-gold: #667679;
  --affirm-gold-dark: #2f3231;
  --affirm-sand: #f2f3f2;
  --affirm-cloud: #f8f7f3;
  --affirm-white: #ffffff;
  --affirm-text: #262626;
  --affirm-muted: #66635d;
  --affirm-border: rgba(8,8,8,.13);
  --affirm-shadow: 0 24px 70px rgba(0,0,0,.13);
  --affirm-container: 1460px;
}

body { background:#fff; }
h1,h2,h3,h4,h5,h6 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing:-.025em; }
.affirm-card h3,
.affirm-ecosystem-card h3,
.affirm-event-card h3,
.affirm-insight-card h3,
.affirm-purpose-item h3,
.affirm-primary-menu,
.affirm-button,
.affirm-account-link { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color:var(--affirm-gold-dark); }
a:hover { color:var(--affirm-gold); }
::selection { background:var(--affirm-gold); color:#fff; }

/* Header */
.affirm-header-top { display:none; }
.affirm-site-header { background:rgba(255,255,255,.985); border-top:3px solid var(--affirm-ink); }
.affirm-header-main { min-height:78px; gap:20px; }
.affirm-brand--official { min-width:238px; gap:10px; flex:0 0 auto; }
.affirm-brand__official-mark { width:38px; height:38px; }
.affirm-brand__official-wordmark { width:clamp(184px,16vw,245px); }
.affirm-nav-wrap { margin-left:auto; gap:12px; min-width:0; }
.affirm-nav-panel { min-width:0; }
.affirm-primary-menu { gap:0; white-space:nowrap; }
.affirm-primary-menu > li > a { min-height:46px; padding:0 9px; font-size:.72rem; font-weight:750; letter-spacing:-.01em; }
.affirm-primary-menu > li > a:hover,
.affirm-primary-menu > li.current-menu-item > a,
.affirm-primary-menu > li.current-menu-ancestor > a { color:var(--affirm-gold-dark); }
.affirm-primary-menu > li.current-menu-item > a::after,
.affirm-primary-menu > li.current-menu-ancestor > a::after {
  content:""; position:absolute; left:9px; right:9px; bottom:3px; height:2px; background:var(--affirm-gold);
}
.affirm-account-link { min-height:42px; padding:9px 15px; border-color:rgba(8,8,8,.18); }
.affirm-account-link:hover { color:var(--affirm-gold-dark); background:var(--affirm-sand); border-color:rgba(102,118,121,.45); }
.affirm-header-main > .affirm-nav-wrap > .affirm-button { min-height:44px; padding:12px 18px; font-size:.76rem; }

/* Buttons and accents */
.affirm-button { background:var(--affirm-gold); color:#fff; box-shadow:none; }
.affirm-button:hover { background:var(--affirm-gold-dark); color:#fff; }
.affirm-button--dark { background:var(--affirm-ink); color:#fff; }
.affirm-button--dark:hover { background:var(--affirm-gold-dark); }
.affirm-button--light { background:#fff; color:var(--affirm-ink); }
.affirm-button--light:hover { background:var(--affirm-gold); color:#fff; }
.affirm-button--outline { background:transparent; border-color:rgba(255,255,255,.58); color:#fff; }
.affirm-eyebrow { color:var(--affirm-gold-dark); }
.affirm-eyebrow::before { background:var(--affirm-gold); }
.affirm-section--ink .affirm-eyebrow,
.affirm-page-hero .affirm-eyebrow,
.affirm-hero .affirm-eyebrow,
.affirm-events-hero .affirm-eyebrow,
.affirm-contact-hero .affirm-eyebrow { color:#cbd0cf; }

/* Homepage photographic hero */
.affirm-hero--photo {
  min-height:min(760px,calc(100vh - 78px));
  background:#080808;
}
.affirm-hero--photo::before { display:none; }
.affirm-hero__media {
  position:absolute; inset:0;
  background:url('assets/images/home-hero.webp') center center/cover no-repeat;
  filter:saturate(.78) contrast(1.05);
}
.affirm-hero__overlay {
  position:absolute; inset:0;
  background:
    linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.93) 34%,rgba(5,5,5,.56) 60%,rgba(5,5,5,.16) 100%),
    linear-gradient(0deg,rgba(0,0,0,.32),transparent 55%);
}
.affirm-hero__inner--single { grid-template-columns:minmax(0,760px); min-height:inherit; padding:90px 0; }
.affirm-hero--photo h1 { max-width:760px; font-size:clamp(3.3rem,6.3vw,6.4rem); }
.affirm-hero__intro { max-width:680px; }
.affirm-hero__positioning span::before { background:var(--affirm-gold); }
.affirm-trustbar { background:var(--affirm-ink); border-top:1px solid rgba(102,118,121,.55); }
.affirm-trustbar__item { border-color:rgba(102,118,121,.25); }
.affirm-trustbar__item:first-child { color:#cbd0cf; }

.affirm-purpose__image { margin:34px 0 0; overflow:hidden; border-radius:18px; box-shadow:var(--affirm-shadow); }
.affirm-purpose__image img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; filter:saturate(.85); }

/* Inner-page photographic heroes */
.affirm-page-hero--photo {
  min-height:500px;
  display:flex;
  align-items:end;
  padding:0;
  background:#080808;
}
.affirm-page-hero--photo::after { display:none; }
.affirm-page-hero__media { position:absolute; inset:0; background-size:cover; background-position:center; filter:saturate(.76) contrast(1.05); }
.affirm-page-hero__overlay {
  position:absolute; inset:0;
  background:
    linear-gradient(90deg,rgba(4,4,4,.97) 0%,rgba(4,4,4,.86) 42%,rgba(4,4,4,.36) 72%,rgba(4,4,4,.15) 100%),
    linear-gradient(0deg,rgba(0,0,0,.38),transparent 58%);
}
.affirm-page-hero__inner { position:relative; z-index:2; max-width:850px; padding:110px 0 78px; }
.affirm-page-hero h1 { max-width:820px; color:#fff; font-size:clamp(3rem,5.2vw,5.5rem); }
.affirm-page-hero p { max-width:760px; color:rgba(255,255,255,.78); font-size:clamp(1.05rem,1.5vw,1.25rem); }
.affirm-page-hero .affirm-breadcrumbs,
.affirm-page-hero .affirm-breadcrumbs a { color:rgba(255,255,255,.7); }

/* Cards and ecosystem: strict monochrome/gold */
.affirm-card:hover { border-color:rgba(102,118,121,.48); box-shadow:var(--affirm-shadow); }
.affirm-card__icon { color:var(--affirm-gold-dark); background:rgba(102,118,121,.12); }
.affirm-purpose-item__icon,
.affirm-purpose-item:nth-child(2n) .affirm-purpose-item__icon { background:var(--affirm-ink); color:#cbd0cf; }
.affirm-ecosystem-card { background:#0a0a0a; }
.affirm-ecosystem-card:nth-child(2),
.affirm-ecosystem-card:nth-child(5) { background:#9a721f; }
.affirm-ecosystem-card:nth-child(3),
.affirm-ecosystem-card:nth-child(6) { background:#1b1b1b; }
.affirm-ecosystem-card:nth-child(4),
.affirm-ecosystem-card:nth-child(7) { background:#6f531e; }
.affirm-ecosystem-card__label { color:#f0d98f; }
.affirm-band { background:linear-gradient(115deg,#080808 0%,#17130b 58%,#7c5c1d 140%); }
.affirm-institution-card__top,
.affirm-institution-card:nth-child(2) .affirm-institution-card__top,
.affirm-institution-card:nth-child(3) .affirm-institution-card__top { background:linear-gradient(145deg,#0b0b0b,#5e481d); }
.affirm-market-map { background:#080808; border:1px solid rgba(102,118,121,.3); }
.affirm-market-map::before { background-image:radial-gradient(circle at center,rgba(229,200,126,.72) 0 1px,transparent 2px); }
.affirm-market-map__badge { background:rgba(5,5,5,.88); }
.affirm-value { border-top-color:var(--affirm-gold); }

/* Insights */
.affirm-insight-card__visual { background:linear-gradient(145deg,#111,#7b5b1c); }
.affirm-insight-card:nth-child(2n) .affirm-insight-card__visual { background:linear-gradient(145deg,#070707,#4e3c18); }
.affirm-insight-card__visual.has-image::before { background:linear-gradient(180deg,rgba(5,5,5,.05),rgba(5,5,5,.76)); }
.affirm-insight-card__visual img { image-rendering:auto; filter:saturate(.82) contrast(1.04); }

/* Training, events and contact */
.affirm-events-hero__media { background-image:url('assets/images/training-events-hero.webp'); background-position:center 38%; filter:saturate(.82) contrast(1.05); }
.affirm-events-hero__overlay,
.affirm-contact-hero__overlay,
.affirm-event-single-hero__overlay { background:linear-gradient(90deg,rgba(4,4,4,.98) 0%,rgba(4,4,4,.86) 44%,rgba(4,4,4,.24) 82%,rgba(4,4,4,.08) 100%); }
.affirm-feature-tile__icon { color:var(--affirm-gold-dark); }
.affirm-event-card__image img,
.affirm-split-media__image img,
.affirm-event-engagement-grid__image img,
.affirm-contact-hero__media,
.affirm-contact-image img { image-rendering:auto; filter:saturate(.84) contrast(1.04); }
.affirm-partner-card--accent { background:#080808; }
.affirm-training-final-cta { background:linear-gradient(115deg,#080808,#191309); }
.affirm-policy-section__icon { color:var(--affirm-gold-dark); background:rgba(102,118,121,.12); }
.affirm-policy-nav a:hover { color:var(--affirm-gold-dark); }
.affirm-contact-panel { background:#080808; }
.affirm-field input:focus,
.affirm-field textarea:focus,
.affirm-field select:focus { border-color:var(--affirm-gold); box-shadow:0 0 0 3px rgba(102,118,121,.13); }

/* Footer */
.affirm-site-footer { background:#050505; }
.affirm-footer-cta { border-top:1px solid rgba(102,118,121,.24); }
.affirm-footer-menu a:hover,
.affirm-socials a:hover { color:#cbd0cf; }
.affirm-socials a:hover { background:var(--affirm-gold-dark); border-color:var(--affirm-gold-dark); }

/* Image quality and responsive crops */
img { image-rendering:auto; }
.affirm-split-media__image,
.affirm-event-engagement-grid__image,
.affirm-contact-image { overflow:hidden; border-radius:22px; box-shadow:var(--affirm-shadow); }
.affirm-split-media__image img,
.affirm-event-engagement-grid__image img,
.affirm-contact-image img { width:100%; height:100%; min-height:420px; object-fit:cover; display:block; }
.affirm-event-card__image img { width:100%; height:230px; object-fit:cover; }

@media (max-width:1280px) {
  .affirm-brand--official { min-width:210px; }
  .affirm-brand__official-wordmark { width:190px; }
  .affirm-primary-menu > li > a { padding-inline:7px; font-size:.68rem; }
  .affirm-header-main > .affirm-nav-wrap > .affirm-button { display:none; }
}
@media (max-width:1080px) {
  .affirm-menu-toggle { display:block; }
  .affirm-nav-panel {
    position:fixed; top:81px; left:0; right:0; bottom:0;
    padding:24px 24px 44px; overflow-y:auto; background:#fff;
    opacity:0; visibility:hidden; transform:translateY(-10px); transition:all var(--affirm-transition);
  }
  .affirm-nav-panel.is-open { opacity:1; visibility:visible; transform:translateY(0); }
  .affirm-primary-menu { display:block; white-space:normal; }
  .affirm-primary-menu > li { border-bottom:1px solid var(--affirm-border); }
  .affirm-primary-menu > li > a { min-height:58px; padding:0; font-size:1rem; }
  .affirm-primary-menu > li.current-menu-item > a::after,
  .affirm-primary-menu > li.current-menu-ancestor > a::after { display:none; }
}
@media (max-width:740px) {
  .affirm-header-main { min-height:72px; }
  .affirm-brand--official { min-width:0; }
  .affirm-brand__official-mark { width:34px; height:34px; }
  .affirm-brand__official-wordmark { width:158px; }
  .affirm-nav-panel { top:75px; }
  .affirm-hero--photo { min-height:680px; }
  .affirm-hero__media { background-position:63% center; }
  .affirm-hero__overlay { background:linear-gradient(90deg,rgba(5,5,5,.97),rgba(5,5,5,.74)),linear-gradient(0deg,rgba(0,0,0,.5),transparent); }
  .affirm-hero__inner--single { padding:82px 0 70px; }
  .affirm-page-hero--photo { min-height:470px; }
  .affirm-page-hero__media { background-position:62% center; }
  .affirm-page-hero__overlay { background:linear-gradient(90deg,rgba(4,4,4,.97),rgba(4,4,4,.72)); }
  .affirm-page-hero__inner { padding:96px 0 58px; }
  .affirm-split-media__image img,
  .affirm-event-engagement-grid__image img,
  .affirm-contact-image img { min-height:300px; }
}
@media (max-width:420px) {
  .affirm-brand__official-wordmark { width:135px; }
}

.affirm-story-image { margin:34px 0 0; overflow:hidden; border-radius:22px; box-shadow:var(--affirm-shadow); }
.affirm-story-image img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; filter:saturate(.84) contrast(1.04); }
.affirm-policy-nav { top:78px; }
@media (max-width:1080px){ .affirm-policy-nav{ top:78px; } }
@media (max-width:740px){ .affirm-policy-nav{ top:72px; } }


/* ========================================================================
   AFFIRM STRATEGY 1.4 — DANS-inspired neutral collection
   Warm ivory, stone, taupe, slate, charcoal and black. No gold accents.
   ======================================================================== */
:root {
  --affirm-ink: #171817;
  --affirm-navy: #2f3231;
  --affirm-blue: #667679;
  --affirm-teal: #8a887f;
  --affirm-aqua: #cbd0cf;
  --affirm-gold: #6e7371;
  --affirm-gold-dark: #404442;
  --affirm-sand: #e8eae8;
  --affirm-cloud: #f6f7f6;
  --affirm-white: #ffffff;
  --affirm-text: #262827;
  --affirm-muted: #686a67;
  --affirm-border: rgba(23,24,23,.14);
  --affirm-shadow: 0 24px 70px rgba(23,24,23,.13);
}

::selection { background:#cbd0cf; color:#171817; }
a { color:#56686b; }
a:hover { color:#2f3231; }
.affirm-eyebrow { color:#68777a; }
.affirm-eyebrow::before { background:#9a958b; }
.affirm-section--ink .affirm-eyebrow,
.affirm-event-single-hero .affirm-eyebrow,
.affirm-contact-hero .affirm-eyebrow { color:#cbd0cf; }
.affirm-event-single-hero .affirm-eyebrow::before { background:#cbd0cf; }

.affirm-button,
.affirm-button--gold { background:#667679; color:#fff; }
.affirm-button:hover,
.affirm-button--gold:hover { background:#2f3231; color:#fff; }
.affirm-button--dark { background:#171817; }
.affirm-button--light { background:#f3f4f3; color:#171817; }
.affirm-button--light:hover { background:#cbd0cf; color:#171817; }
.affirm-account-link:hover { color:#2f3231; background:#eceeec; border-color:rgba(102,118,121,.45); }

.affirm-brand__mark { background:linear-gradient(145deg,#667679,#2f3231); box-shadow:0 10px 28px rgba(47,50,49,.22); }
.affirm-primary-menu > li > a:hover,
.affirm-primary-menu > li.current-menu-item > a,
.affirm-primary-menu > li.current-menu-ancestor > a,
.affirm-primary-menu .sub-menu a:hover { color:#596b6e; }

.affirm-hero { background:#171817; }
.affirm-hero__overlay {
  background:linear-gradient(90deg,rgba(15,16,15,.98) 0%,rgba(15,16,15,.92) 35%,rgba(15,16,15,.48) 66%,rgba(15,16,15,.13) 100%);
}
.affirm-trustbar { background:#242625; border-top:1px solid rgba(214,208,198,.35); }
.affirm-trustbar__item { border-color:rgba(214,208,198,.18); }
.affirm-trustbar__item:first-child { color:#cbd0cf; }

.affirm-card:hover { border-color:rgba(102,118,121,.48); }
.affirm-card__icon,
.affirm-policy-section__icon { color:#56686b; background:rgba(102,118,121,.12); }
.affirm-purpose-item:nth-child(2n) .affirm-purpose-item__icon { background:#2f3231; color:#f2eee8; }
.affirm-value { border-top-color:#8a887f; }

.affirm-ecosystem-card { background:#171817; }
.affirm-ecosystem-card:nth-child(2),
.affirm-ecosystem-card:nth-child(5) { background:#746f67; }
.affirm-ecosystem-card:nth-child(3),
.affirm-ecosystem-card:nth-child(6) { background:#59696c; }
.affirm-ecosystem-card:nth-child(4),
.affirm-ecosystem-card:nth-child(7) { background:#303332; }
.affirm-ecosystem-card__label { color:#ece7df; }
.affirm-band { background:linear-gradient(115deg,#1a1b1a 0%,#343735 62%,#6b7474 145%); }
.affirm-institution-card:nth-child(2) .affirm-institution-card__top { background:linear-gradient(145deg,#3c4140,#68777a); }
.affirm-institution-card:nth-child(3) .affirm-institution-card__top { background:linear-gradient(145deg,#242625,#77726a); }
.affirm-market-map { background:#202221; border-color:rgba(214,208,198,.28); }
.affirm-market-map::before { background-image:radial-gradient(circle at center,rgba(214,208,198,.72) 0 1px,transparent 2px); }
.affirm-insight-card__visual,
.affirm-insight-card:nth-child(2n) .affirm-insight-card__visual { background:linear-gradient(145deg,#232524,#667679); }

.affirm-page-hero { background:linear-gradient(120deg,#171817,#303332); }
.affirm-page-hero__overlay { background:linear-gradient(90deg,rgba(15,16,15,.98),rgba(15,16,15,.74)); }
.affirm-events-hero__overlay,
.affirm-contact-hero__overlay,
.affirm-event-single-hero__overlay { background:linear-gradient(90deg,rgba(15,16,15,.98),rgba(15,16,15,.70)); }
.affirm-partner-card--accent,
.affirm-contact-panel { background:#242625; }
.affirm-training-final-cta { background:linear-gradient(115deg,#171817,#343735); }
.affirm-field input:focus,
.affirm-field textarea:focus,
.affirm-field select:focus,
.affirm-portal-field input:focus { border-color:#667679; box-shadow:0 0 0 3px rgba(102,118,121,.14); }
.affirm-site-footer { background:#171817; }
.affirm-footer-cta { border-top-color:rgba(214,208,198,.20); }
.affirm-socials a:hover { color:#cbd0cf; }

/* Business Hub */
.affirm-hub-hero { position:relative; min-height:660px; display:flex; align-items:center; overflow:hidden; color:rgba(255,255,255,.82); background:#171817; }
.affirm-hub-hero__media { position:absolute; inset:0; background:url('assets/images/hub-hero.webp') center/cover no-repeat; }
.affirm-hub-hero__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,16,15,.98) 0%,rgba(15,16,15,.90) 39%,rgba(15,16,15,.37) 73%,rgba(15,16,15,.10) 100%); }
.affirm-hub-hero__inner { position:relative; z-index:2; max-width:800px; padding-block:100px; }
.affirm-hub-hero h1 { color:#fff; font-size:clamp(3rem,6vw,5.7rem); }
.affirm-hub-hero p { max-width:720px; font-size:1.18rem; }
.affirm-hub-hero__actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.affirm-hub-benefits { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border:1px solid var(--affirm-border); border-radius:18px; background:#fff; overflow:hidden; }
.affirm-hub-benefit { padding:26px; border-right:1px solid var(--affirm-border); }
.affirm-hub-benefit:last-child { border-right:0; }
.affirm-hub-benefit svg { width:31px; color:#667679; }
.affirm-hub-benefit h3 { margin-top:18px; font-size:1.05rem; }
.affirm-hub-benefit p { margin:0; color:var(--affirm-muted); font-size:.88rem; }
.affirm-process { counter-reset:hubstep; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; }
.affirm-process__item { counter-increment:hubstep; position:relative; min-height:170px; padding:24px 18px; background:#fff; border:1px solid var(--affirm-border); border-radius:15px; }
.affirm-process__item::before { content:counter(hubstep,decimal-leading-zero); display:block; margin-bottom:28px; color:#68777a; font-size:.76rem; font-weight:850; letter-spacing:.1em; }
.affirm-hub-panel { padding:34px; background:#fff; border:1px solid var(--affirm-border); border-radius:18px; }
.affirm-hub-panel--dark { color:rgba(255,255,255,.78); background:#242625; }
.affirm-hub-panel--dark h2,.affirm-hub-panel--dark h3 { color:#fff; }
.affirm-hub-desk-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.affirm-hub-desk { overflow:hidden; background:#fff; border:1px solid var(--affirm-border); border-radius:16px; }
.affirm-hub-desk__top { min-height:115px; display:flex; align-items:flex-end; padding:22px; color:#fff; background:linear-gradient(140deg,#242625,#667679); }
.affirm-hub-desk__body { padding:22px; }
.affirm-hub-sector-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.affirm-hub-sector { min-height:118px; display:grid; place-items:center; padding:16px; text-align:center; background:#fff; border:1px solid var(--affirm-border); border-radius:14px; }
.affirm-hub-sector svg { width:28px; margin-bottom:10px; color:#667679; }
.affirm-hub-sector strong { font-size:.84rem; line-height:1.35; }
.affirm-partner-stand-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.affirm-partner-stand { padding:24px; background:#f6f7f6; border-radius:14px; border:1px solid var(--affirm-border); }
.affirm-access-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.affirm-future-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.affirm-future-card { padding:24px; background:#fff; border:1px solid var(--affirm-border); border-radius:14px; }
.affirm-home-hub { overflow:hidden; }
.affirm-home-hub__image img { width:100%; height:100%; min-height:520px; object-fit:cover; border-radius:22px; }

@media (max-width:1100px){
  .affirm-hub-benefits{grid-template-columns:repeat(2,1fr)}
  .affirm-hub-benefit{border-bottom:1px solid var(--affirm-border)}
  .affirm-process{grid-template-columns:repeat(3,1fr)}
  .affirm-hub-desk-grid{grid-template-columns:repeat(2,1fr)}
  .affirm-hub-sector-grid{grid-template-columns:repeat(4,1fr)}
  .affirm-partner-stand-grid,.affirm-future-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:720px){
  .affirm-hub-hero{min-height:590px}
  .affirm-hub-hero__overlay{background:linear-gradient(90deg,rgba(15,16,15,.96),rgba(15,16,15,.72))}
  .affirm-hub-benefits,.affirm-process,.affirm-hub-desk-grid,.affirm-hub-sector-grid,.affirm-partner-stand-grid,.affirm-access-grid,.affirm-future-grid{grid-template-columns:1fr}
  .affirm-hub-benefit{border-right:0}
}


/* ========================================================================
   AFFIRM STRATEGY 1.4.1 — final neutral UI and responsive header correction
   ======================================================================== */
:root {
  --affirm-ink: #171817;
  --affirm-navy: #2f3231;
  --affirm-blue: #667679;
  --affirm-teal: #8a9391;
  --affirm-aqua: #cbd0cf;
  --affirm-gold: #667679;
  --affirm-gold-dark: #404442;
  --affirm-sand: #e8eae8;
  --affirm-cloud: #f6f7f6;
  --affirm-text: #262827;
  --affirm-muted: #686d6b;
}

/* Remove the remaining warm cream/gold appearance from labels and icons. */
.affirm-eyebrow,
.affirm-page-hero .affirm-eyebrow,
.affirm-hero .affirm-eyebrow,
.affirm-events-hero .affirm-eyebrow,
.affirm-contact-hero .affirm-eyebrow,
.affirm-event-single-hero .affirm-eyebrow,
.affirm-kicker,
.affirm-event-card__date strong,
.affirm-event-card__meta,
.affirm-empty-state > div svg,
.affirm-check-grid svg,
.affirm-feature-tile__icon,
.affirm-policy-section__icon,
.affirm-event-facts svg {
  color: #cbd0cf;
}

.affirm-section:not(.affirm-section--ink) .affirm-eyebrow,
.affirm-section:not(.affirm-section--ink) .affirm-kicker,
.affirm-card__icon,
.affirm-policy-section__icon,
.affirm-feature-tile__icon,
.affirm-check-grid svg {
  color: #59696c;
}

.affirm-eyebrow::before,
.affirm-page-hero .affirm-eyebrow::before,
.affirm-hero .affirm-eyebrow::before,
.affirm-events-hero .affirm-eyebrow::before,
.affirm-contact-hero .affirm-eyebrow::before,
.affirm-event-single-hero .affirm-eyebrow::before {
  background: #8a9391;
}

.affirm-primary-menu > li > a:hover,
.affirm-primary-menu > li.current-menu-item > a,
.affirm-primary-menu > li.current-menu-ancestor > a,
.affirm-primary-menu .sub-menu a:hover {
  color: #59696c;
}

.affirm-primary-menu > li.current-menu-item > a::after,
.affirm-primary-menu > li.current-menu-ancestor > a::after {
  background: #667679;
}

/* Accessible circular back control replacing breadcrumbs. */
.affirm-back-link {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  margin: 0 0 28px;
  color: #ffffff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 50%;
  background: rgba(18,20,19,.3);
  backdrop-filter: blur(8px);
  transition: background var(--affirm-transition), border-color var(--affirm-transition), transform var(--affirm-transition);
}
.affirm-back-link svg { width: 20px; height: 20px; }
.affirm-back-link:hover,
.affirm-back-link:focus-visible {
  color: #171817;
  background: #ffffff;
  border-color: #ffffff;
  transform: translateX(-2px);
}
.affirm-breadcrumbs { display: none !important; }

/* Move to the compact navigation before common laptop widths become crowded. */
@media (max-width: 1440px) {
  .affirm-menu-toggle { display: block; order: 3; flex: 0 0 auto; }
  .affirm-nav-panel {
    position: fixed;
    z-index: 1200;
    top: 81px;
    left: 0;
    right: 0;
    bottom: 0;
    order: 4;
    padding: 24px 28px 48px;
    overflow-y: auto;
    background: #ffffff;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity var(--affirm-transition), visibility var(--affirm-transition), transform var(--affirm-transition);
  }
  .affirm-nav-panel.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .affirm-primary-menu { display: block; white-space: normal; }
  .affirm-primary-menu > li { border-bottom: 1px solid var(--affirm-border); }
  .affirm-primary-menu > li > a { min-height: 58px; padding: 0; font-size: 1rem; }
  .affirm-primary-menu > li.current-menu-item > a::after,
  .affirm-primary-menu > li.current-menu-ancestor > a::after { display: none; }
  .affirm-primary-menu .sub-menu {
    position: static;
    min-width: 0;
    padding: 0 0 14px 15px;
    border: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .affirm-primary-menu .sub-menu a { padding: 8px 0; }
  .affirm-nav-wrap { gap: 10px; }
}

@media (max-width: 1280px) {
  .affirm-header-main > .affirm-nav-wrap > .affirm-button { display: none; }
}

@media (max-width: 740px) {
  .affirm-nav-panel { top: 75px; }
  .affirm-account-link__full { display: none; }
  .affirm-account-link__short { display: inline; }
  .affirm-back-link { width: 44px; height: 44px; margin-bottom: 22px; }
}
