/* ============================================================
   NOVEMBER PROGRAMME — AI GOVERNANCE & ADOPTION
   ai-adoption.html only. Classes are `aia-` prefixed.
   Editorial, research-led look on top of the site tokens:
   a deep navy opening, white reading sections, and a quiet
   node-and-line motif that links people, AI systems,
   evidence and governance.
   ============================================================ */

.aia-page {
  --aia-ease: cubic-bezier(.2, .8, .25, 1);
  /* space between the major blocks inside one section */
  --aia-block: clamp(3rem, 6vw, 4.75rem);
}

/* ── Shared bits ─────────────────────────────────────────── */
.aia-kicker {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--coral);
}
.aia-kicker::before { content: ''; width: 28px; height: 2px; background: currentColor; }
.aia-kicker-light { color: var(--coral-pale); }

.aia-head { max-width: 780px; margin-bottom: clamp(2.5rem, 5vw, 3.75rem); }
.aia-head.center { margin-inline: auto; text-align: center; }
.aia-head.center .aia-kicker { justify-content: center; }
.aia-head .section-title { margin: 1rem 0 1.1rem; }
.aia-head .section-sub { text-align: left; max-width: none; }
.aia-head.center .section-title,
.aia-head.center .section-sub { text-align: center; }
.aia-head p + p { margin-top: .8rem; }

.aia-section { padding: var(--sp-lg) 0; position: relative; }
.aia-alt { background: var(--off-white); }
.aia-dark { background: var(--navy-dp); color: var(--white); overflow: hidden; }
.aia-dark .section-title { color: var(--white); }
.aia-dark .section-sub { color: rgba(255, 255, 255, .68); }

.aia-pill {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .3rem .7rem;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: var(--coral-pale);
  color: var(--navy-dp);
  white-space: nowrap;
}
.aia-pill-soon::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--coral); animation: aia-blink 1.6s ease-in-out infinite; }
.aia-pill-live { background: var(--green-lt); color: var(--green); }
@keyframes aia-blink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }

.aia-note {
  display: flex;
  gap: .9rem;
  align-items: flex-start;
  padding: 1.1rem 1.25rem;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--white);
  font-size: .88rem;
  line-height: 1.65;
  color: var(--text-mid);
}
.aia-note i { color: var(--coral); margin-top: .2rem; }
.aia-note strong { color: var(--navy-dp); }
.aia-dark .aia-note { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .75); }
.aia-dark .aia-note strong { color: var(--white); }

/* ── HERO ─────────────────────────────────────────────────── */
.aia-hero {
  position: relative;
  overflow: hidden;
  color: var(--white);
  background:
    radial-gradient(ellipse at 85% 15%, rgba(246, 91, 106, .22) 0%, transparent 50%),
    radial-gradient(ellipse at 0% 100%, rgba(54, 73, 142, .9) 0%, transparent 55%),
    var(--navy-dp);
  padding: clamp(4rem, 8vw, 6.5rem) 0 clamp(5.5rem, 9vw, 7.5rem);
}
.aia-hero-net { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .55; }
.aia-hero-net line { stroke: rgba(255, 255, 255, .12); stroke-width: 1; }
.aia-hero-net circle { fill: rgba(255, 255, 255, .5); animation: aia-twinkle 5s ease-in-out infinite; }
.aia-hero-net circle:nth-of-type(3n)   { animation-delay: 1.4s; fill: var(--coral); }
.aia-hero-net circle:nth-of-type(3n+1) { animation-delay: 2.8s; }
@keyframes aia-twinkle { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }

.aia-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.aia-crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  font-family: var(--font-mono);
  font-size: .66rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .5);
  margin-bottom: 1.4rem;
}
.aia-crumbs a { color: rgba(255, 255, 255, .75); text-decoration: none; }
.aia-crumbs a:hover { color: var(--coral); }
.aia-crumbs i { font-size: .5rem; opacity: .6; }

.aia-badge {
  display: inline-flex;
  align-items: stretch;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .2);
  font-family: var(--font-mono);
  font-size: .66rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.aia-badge span { padding: .5rem .8rem; }
.aia-badge span:first-child { background: var(--coral); color: var(--white); font-weight: 700; }
.aia-badge span:last-child { color: rgba(255, 255, 255, .8); }

.aia-h1 {
  font-family: var(--font-serif);
  font-weight: 800;
  font-size: clamp(2.2rem, 5.4vw, 4rem);
  line-height: 1.04;
  letter-spacing: -.03em;
  color: var(--white);
  margin: 1.5rem 0 1.6rem;
}
.aia-h1 span { display: block; overflow: hidden; padding-bottom: .06em; }
.aia-h1 span > b { display: inline-block; font-weight: inherit; animation: aia-line-up .9s var(--aia-ease) both; }
.aia-h1 span + span > b { animation-delay: .5s; }
.aia-h1 em { font-family: var(--font-accent); font-style: italic; font-weight: 400; color: var(--coral); }
@keyframes aia-line-up { from { transform: translateY(105%); } to { transform: none; } }

.aia-lead { font-size: clamp(.98rem, 1.4vw, 1.08rem); line-height: 1.8; color: rgba(255, 255, 255, .74); max-width: 580px; }
.aia-theme {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1.1rem;
  margin: 1.9rem 0 2.4rem;
  padding: 0;
  list-style: none;
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--coral-pale);
}
.aia-theme li { display: inline-flex; align-items: center; gap: .55rem; }
.aia-theme li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--coral); }
.aia-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .85rem 1.25rem; }
.aia-textlink {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .9rem;
  font-weight: 600;
  color: var(--white);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, .3);
  padding-bottom: .15rem;
  transition: border-color var(--transition), gap var(--transition);
}
.aia-textlink:hover { border-color: var(--coral); gap: .7rem; }
.aia-hero-copy > *,
.aia-hero-art { animation: aia-rise .8s var(--aia-ease) both; }
.aia-hero-copy > :nth-child(2) { animation-delay: .1s; }
.aia-hero-copy > .aia-lead       { animation-delay: .9s; }
.aia-hero-copy > .aia-theme      { animation-delay: 1.05s; }
.aia-hero-copy > .aia-hero-actions { animation-delay: 1.2s; }
.aia-hero-art { animation-delay: .3s; }

/* Hero film: the campaign film plays muted (captioned) once it has loaded */
.aia-hero-film { position: relative; aspect-ratio: 16 / 9; border-radius: 20px; overflow: hidden; background: #000;
  border: 1px solid rgba(255, 255, 255, .16); box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.aia-hero-film video { width: 100%; height: 100%; display: block; object-fit: cover; background: #000; }
.aia-film-sound { position: absolute; left: 14px; top: 14px; display: inline-flex; align-items: center; gap: .5rem; padding: .5rem .9rem;
  border: 0; border-radius: 999px; background: var(--coral); color: var(--white); font: 600 .78rem var(--font); cursor: pointer;
  box-shadow: 0 8px 20px rgba(246, 91, 106, .35); transition: transform var(--transition); }
.aia-film-sound:hover { transform: translateY(-2px); }
.aia-film-sound[hidden] { display: none; }
.aia-film-cap { margin-top: .85rem; font-family: var(--font-mono); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .55); text-align: center; }
.aia-film-cap i { color: var(--coral); margin-right: .35rem; }
.aia-inline-link { color: var(--coral-pale); font-weight: 600; }
@keyframes aia-rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }


/* ── PROGRAMME STRANDS ───────────────────────────────────── */
.aia-strands-wrap { background: var(--white); padding: 0; }
.aia-strands {
  position: relative;
  z-index: 2;
  margin-top: clamp(-3rem, -4vw, -2rem);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-radius: 20px;
  background: var(--white);
  box-shadow: 0 24px 60px rgba(28, 36, 84, .14);
  overflow: hidden;
}
.aia-strand {
  display: grid;
  gap: .55rem;
  align-content: start;
  padding: 1.5rem 1.35rem;
  text-decoration: none;
  color: inherit;
  border-right: 1px solid var(--border);
  transition: background var(--transition);
}
.aia-strand:last-child { border-right: 0; }
.aia-strand:hover { background: var(--off-white); }
.aia-strand-n { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .14em; color: var(--coral); }
.aia-strand strong { font-family: var(--font-serif); font-size: 1.05rem; line-height: 1.25; color: var(--navy-dp); }
.aia-strand small { font-size: .8rem; line-height: 1.55; color: var(--text-mid); }
.aia-strand .aia-pill { justify-self: start; margin-top: .25rem; }

/* ── WHY ─────────────────────────────────────────────────── */
.aia-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.aia-card {
  position: relative;
  padding: 1.75rem 1.4rem 1.6rem;
  border-radius: 18px;
  background: var(--white);
  border: 1px solid var(--border);
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.aia-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); border-color: transparent; }
.aia-card svg { width: 54px; height: 54px; margin-bottom: 1.1rem; }
.aia-card svg .i-bg   { fill: var(--coral-pale); }
.aia-card svg .i-ln   { fill: none; stroke: var(--navy); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.aia-card svg .i-acc  { fill: var(--coral); }
.aia-card svg .i-accl { fill: none; stroke: var(--coral); stroke-width: 2; stroke-linecap: round; }
.aia-card-n { position: absolute; top: 1.5rem; right: 1.4rem; font-family: var(--font-mono); font-size: .66rem; color: var(--text-light); }
.aia-card h3 { font-size: 1.08rem; color: var(--navy-dp); margin-bottom: .5rem; }
.aia-card p { font-size: .86rem; line-height: 1.65; color: var(--text-mid); margin: 0; }
.aia-why-note { margin-top: 2.5rem; }

/* ── RESEARCH ────────────────────────────────────────────── */
.aia-r-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: clamp(2.5rem, 6vw, 5rem); align-items: start; }
.aia-r-intro { position: sticky; top: calc(var(--nav-h) + 1.5rem); }
.aia-r-intro p { font-size: .95rem; line-height: 1.75; color: var(--text-mid); }
.aia-r-intro p + p { margin-top: .9rem; }
.aia-r-hint { display: flex; align-items: center; gap: .5rem; margin-top: 1.25rem; font-family: var(--font-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--text-light); }

.aia-qgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; counter-reset: aiaq; }
.aia-q {
  counter-increment: aiaq;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--white);
  transition: border-color var(--transition), box-shadow var(--transition);
}
.aia-q[open] { border-color: var(--coral); box-shadow: 0 12px 28px rgba(246, 91, 106, .12); }
.aia-q summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: start;
  padding: 1rem 1.1rem;
  font-weight: 600;
  font-size: .9rem;
  line-height: 1.45;
  color: var(--navy-dp);
}
.aia-q summary::-webkit-details-marker { display: none; }
.aia-q summary::before { content: counter(aiaq, decimal-leading-zero); font-family: var(--font-mono); font-size: .68rem; color: var(--coral); padding-top: .15rem; }
.aia-q summary::after { content: '+'; font-family: var(--font-mono); color: var(--text-light); transition: transform var(--transition); }
.aia-q[open] summary::after { transform: rotate(45deg); color: var(--coral); }
.aia-q p { margin: 0; padding: 0 1.1rem 1.05rem 2.85rem; font-size: .83rem; line-height: 1.6; color: var(--text-mid); }

.aia-outputs {
  margin-top: var(--aia-block);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.5rem;
}
.aia-out-card { padding: 1.75rem; border-radius: 18px; background: var(--navy-dp); color: var(--white); }
.aia-out-card h3 { color: var(--white); font-size: 1.15rem; margin-bottom: 1rem; }
.aia-out-card ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.aia-out-card li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: .6rem; font-size: .87rem; line-height: 1.55; color: rgba(255, 255, 255, .8); }
.aia-out-card li i { color: var(--coral); margin-top: .25rem; font-size: .75rem; }
.aia-transp { padding: 1.75rem; border-radius: 18px; border: 1.5px dashed rgba(54, 73, 142, .3); background: var(--white); }
.aia-transp h3 { font-size: 1.05rem; color: var(--navy-dp); margin-bottom: .9rem; display: flex; gap: .55rem; align-items: center; }
.aia-transp h3 i { color: var(--coral); }
.aia-transp ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .5rem; }
.aia-transp li { font-size: .85rem; line-height: 1.6; color: var(--text-mid); }
.aia-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 2.75rem; }
.aia-cta-state { font-size: .84rem; color: var(--text-mid); display: inline-flex; align-items: center; gap: .5rem; }
.aia-dark .aia-cta-state { color: rgba(255, 255, 255, .7); }

/* ── WELLBEING (the centre) ──────────────────────────────── */
.aia-wb {
  background:
    radial-gradient(ellipse at 15% 30%, rgba(246, 91, 106, .16) 0%, transparent 50%),
    linear-gradient(160deg, var(--navy-dp) 0%, var(--navy-dp) 60%, var(--navy) 100%);
}
.aia-wb-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.aia-wb .section-title { font-size: clamp(2rem, 4.4vw, 3.2rem); }
.aia-wb-lead { font-family: var(--font-accent); font-size: clamp(1.05rem, 1.8vw, 1.3rem); line-height: 1.6; color: rgba(255, 255, 255, .85); border-left: 3px solid var(--coral); padding-left: 1.25rem; margin: 1.25rem 0 0; }
.aia-wb-art { position: relative; }
.aia-wb-art svg { width: 100%; height: auto; display: block; overflow: visible; }
.aia-wb-art figcaption { margin-top: .9rem; font-family: var(--font-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .55); text-align: center; }
.wb-person  { fill: rgba(255, 255, 255, .1); stroke: rgba(255, 255, 255, .6); stroke-width: 1.6; }
.wb-screen  { fill: rgba(255, 255, 255, .06); stroke: rgba(255, 255, 255, .45); stroke-width: 1.5; }
.wb-glow    { fill: url(#wbGlow); animation: aia-glow 5s ease-in-out infinite; }
@keyframes aia-glow { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
.wb-text    { fill: rgba(255, 255, 255, .28); }
.wb-text-c  { fill: var(--coral); opacity: .75; }
.wb-heart   { fill: none; stroke: var(--coral); stroke-width: 1.8; stroke-linejoin: round; animation: aia-heart 6s ease-in-out infinite; }
@keyframes aia-heart { 0% { opacity: 0; transform: translate(0, 0) scale(.8); } 15% { opacity: 1; } 55% { opacity: .9; transform: translate(70px, -26px) scale(1); } 75%, 100% { opacity: 0; transform: translate(118px, -34px) scale(.6); } }
.wb-reply   { opacity: 0; animation: aia-reply 6s ease-in-out infinite; }
@keyframes aia-reply { 0%, 62% { opacity: 0; transform: translateY(6px); } 72%, 92% { opacity: 1; transform: none; } 100% { opacity: 0; } }
.wb-dash    { fill: none; stroke: rgba(255, 255, 255, .25); stroke-width: 1.2; stroke-dasharray: 3 6; }
.wb-label   { font-family: var(--font-mono); font-size: 9px; letter-spacing: .16em; fill: rgba(255, 255, 255, .5); }

.aia-issues { margin-top: var(--aia-block); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: rgba(255, 255, 255, .1); border-radius: 18px; overflow: hidden; }
.aia-issue { background: var(--navy-dp); padding: 1.35rem 1.25rem; transition: background var(--transition); }
.aia-issue:hover { background: rgba(54, 73, 142, .65); }
.aia-issue span { display: block; font-family: var(--font-mono); font-size: .64rem; color: var(--coral); letter-spacing: .12em; margin-bottom: .55rem; }
.aia-issue p { margin: 0; font-size: .86rem; line-height: 1.55; color: rgba(255, 255, 255, .85); }

.aia-spectrum { margin-top: var(--aia-block); }
.aia-spectrum-bar { height: 6px; border-radius: 999px; background: linear-gradient(90deg, rgba(255, 255, 255, .35), var(--coral-pale) 50%, var(--coral)); margin: 1.25rem 0 1.25rem; }
.aia-spectrum-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.aia-spectrum-cols h4 { color: var(--white); font-size: 1rem; margin-bottom: .45rem; }
.aia-spectrum-cols p { font-size: .84rem; line-height: 1.6; color: rgba(255, 255, 255, .7); margin: 0; }
.aia-spectrum-foot { margin-top: 1.25rem; font-size: .78rem; font-style: italic; color: rgba(255, 255, 255, .5); }

.aia-balance { margin-top: var(--aia-block); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; }
.aia-balance > div { padding: 1.5rem; border-radius: 16px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); }
.aia-balance h4 { display: flex; align-items: center; gap: .5rem; color: var(--white); font-size: 1rem; margin-bottom: .85rem; }
.aia-balance h4 i { color: var(--coral); }
.aia-balance ul { margin: 0; padding-left: 1.1rem; display: grid; gap: .45rem; }
.aia-balance li { font-size: .85rem; line-height: 1.55; color: rgba(255, 255, 255, .75); }
.aia-care { margin-top: 2rem; }

/* ── WEBINAR ─────────────────────────────────────────────── */
.aia-w-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.aia-w-title { font-family: var(--font-serif); font-weight: 800; font-size: clamp(1.75rem, 3.6vw, 2.6rem); line-height: 1.12; letter-spacing: -.02em; color: var(--navy-dp); margin: 1rem 0; }
.aia-w-title em { font-family: var(--font-accent); font-style: italic; font-weight: 400; color: var(--coral); }
.aia-w-lead { font-size: .98rem; line-height: 1.75; color: var(--text-mid); }
.aia-topics { list-style: none; margin: 2.25rem 0 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--border); }
.aia-topics li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: .5rem; padding: .85rem 0; border-bottom: 1px solid var(--border); font-size: .92rem; line-height: 1.5; color: var(--text); }
.aia-topics li span { font-family: var(--font-mono); font-size: .7rem; color: var(--coral); padding-top: .15rem; }
.aia-ticket {
  position: sticky;
  top: calc(var(--nav-h) + 1.5rem);
  border-radius: 20px;
  overflow: hidden;
  background: var(--white);
  box-shadow: 0 24px 60px rgba(28, 36, 84, .14);
}
.aia-ticket-top { padding: 1.5rem; background: linear-gradient(135deg, var(--navy) 0%, var(--navy-dp) 100%); color: var(--white); }
.aia-ticket-top .aia-pill { background: var(--coral); color: var(--white); }
.aia-ticket-top p { margin: .75rem 0 0; font-family: var(--font-serif); font-weight: 700; font-size: 1.1rem; line-height: 1.3; }
.aia-ticket dl { margin: 0; padding: 1.25rem 1.5rem .5rem; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .7rem 1rem; }
.aia-ticket dt { font-family: var(--font-mono); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: var(--text-light); padding-top: .15rem; }
.aia-ticket dd { margin: 0; font-size: .88rem; color: var(--navy-dp); font-weight: 600; }
.aia-ticket dd.tbc { color: var(--text-mid); font-weight: 400; font-style: italic; }
.aia-ticket-foot { padding: 1rem 1.5rem 1.5rem; display: grid; gap: .75rem; }
.aia-ticket-foot .btn { width: 100%; justify-content: center; }
.aia-ticket-foot small { font-size: .76rem; color: var(--text-light); text-align: center; line-height: 1.5; }
.aia-audience { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 2.25rem; padding: 0; list-style: none; }
.aia-audience li { padding: .45rem .85rem; border-radius: 999px; background: var(--off-white); border: 1px solid var(--border); font-size: .8rem; font-weight: 500; color: var(--navy-dp); }

/* ── EXECUTIVE COURSE ────────────────────────────────────── */
.aia-course-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 5vw, 4rem); align-items: end; margin-bottom: clamp(2.5rem, 5vw, 3.75rem); }
.aia-course-head .section-title { margin: .9rem 0 .8rem; }
.aia-course-head .section-sub { max-width: none; }
.aia-course-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.aia-course-facts div { padding: .9rem 1rem; border-radius: 12px; background: var(--white); border: 1px solid var(--border); }
.aia-course-facts span { display: block; font-family: var(--font-mono); font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; color: var(--text-light); margin-bottom: .25rem; }
.aia-course-facts strong { font-size: .86rem; color: var(--navy-dp); font-weight: 600; }
.aia-course-facts strong.tbc { color: var(--text-mid); font-weight: 400; font-style: italic; }

.aia-outcomes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 2.5rem; counter-reset: aiao; }
.aia-outcomes li { counter-increment: aiao; display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: .6rem; align-items: start; padding: .9rem 0; border-bottom: 1px solid var(--border); font-size: .92rem; line-height: 1.5; }
.aia-outcomes li::before { content: counter(aiao, decimal-leading-zero); display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 8px; background: var(--navy); color: var(--white); font-family: var(--font-mono); font-size: .68rem; }

.aia-principle { margin: var(--aia-block) 0; padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: 20px; background: var(--coral-pale); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1.25rem; align-items: center; }
.aia-principle i { font-size: 1.6rem; color: var(--coral); }
.aia-principle p { margin: 0; font-family: var(--font-serif); font-weight: 600; font-size: clamp(1rem, 1.8vw, 1.25rem); line-height: 1.45; color: var(--navy-dp); }


.aia-practice { margin-top: var(--aia-block); }
.aia-includes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.aia-include { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: .9rem; padding: 1rem 1.1rem; border-radius: 14px; background: var(--white); border: 1px solid var(--border); }
.aia-include i { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--navy); color: var(--white); }
.aia-include strong { display: block; color: var(--navy-dp); font-size: .92rem; margin-bottom: .15rem; }
.aia-include p { margin: 0; font-size: .82rem; line-height: 1.55; color: var(--text-mid); }

/* ── COMMUNITY ───────────────────────────────────────────── */
.aia-flow { list-style: none; margin: 0 0 var(--aia-block); padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; position: relative; }
.aia-flow::before { content: ''; position: absolute; top: 23px; left: 10%; right: 10%; height: 2px; background: linear-gradient(90deg, var(--navy), var(--coral)); opacity: .35; }
.aia-flow li { position: relative; text-align: center; padding: 0 .5rem; }
.aia-flow b { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto .85rem; border-radius: 50%; background: var(--white); border: 2px solid var(--navy); font-family: var(--font-mono); font-size: .75rem; color: var(--navy); position: relative; }
.aia-flow li:last-child b { border-color: var(--coral); color: var(--coral); }
.aia-flow strong { display: block; color: var(--navy-dp); font-size: .95rem; margin-bottom: .3rem; }
.aia-flow small { display: block; font-size: .8rem; line-height: 1.5; color: var(--text-mid); }

.aia-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.aia-group { display: flex; align-items: center; gap: .75rem; padding: 1rem 1.1rem; border-radius: 14px; background: var(--white); border: 1px solid var(--border); font-size: .88rem; font-weight: 600; color: var(--navy-dp); transition: transform var(--transition), border-color var(--transition); }
.aia-group:hover { transform: translateY(-3px); border-color: var(--coral); }
.aia-group i { flex-shrink: 0; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: var(--coral-pale); color: var(--coral); font-size: .85rem; }

.aia-partner { margin-top: var(--aia-block); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 3.5rem); align-items: start; }
.aia-partner h3 { font-family: var(--font-serif); font-weight: 800; font-size: clamp(1.4rem, 2.6vw, 1.9rem); line-height: 1.2; color: var(--navy-dp); margin: .9rem 0 .8rem; }
.aia-partner > div > p { font-size: .92rem; line-height: 1.7; color: var(--text-mid); }
.aia-ways { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; gap: .55rem; }
.aia-ways li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: .5rem; font-size: .88rem; line-height: 1.5; color: var(--text); }
.aia-ways i { color: var(--coral); margin-top: .25rem; font-size: .8rem; }

/* ── STRATEGY ────────────────────────────────────────────── */
.aia-pillars { list-style: none; margin: 0 0 var(--aia-block); padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .75rem; }
.aia-pillars li { padding: 1rem .9rem; border-radius: 12px; border: 1px solid var(--border); background: var(--white); font-size: .82rem; line-height: 1.45; color: var(--text-mid); }
.aia-pillars li span { display: block; font-family: var(--font-mono); font-size: .62rem; letter-spacing: .1em; color: var(--text-light); margin-bottom: .35rem; }
.aia-pillars li.on { background: var(--navy-dp); border-color: var(--navy-dp); color: var(--white); }
.aia-pillars li.on span { color: var(--coral-pale); }
.aia-feature { margin: 0; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); border-radius: 24px; overflow: hidden; background: var(--white); box-shadow: 0 24px 60px rgba(28, 36, 84, .12); }
.aia-feature-quote { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 1.5rem; padding: clamp(2rem, 4.5vw, 3.5rem); background: linear-gradient(150deg, var(--navy) 0%, var(--navy-dp) 100%); color: var(--white); }
.aia-feature-quote .aia-kicker { color: var(--coral-pale); }
.aia-feature-quote blockquote { margin: 0; font-family: var(--font-accent); font-style: italic; font-size: clamp(1.6rem, 3.4vw, 2.6rem); line-height: 1.22; color: var(--white); }
.aia-feature-quote blockquote::before { content: '\201C'; display: block; font-size: 4.5rem; line-height: .6; font-style: normal; color: var(--coral); margin-bottom: .4rem; }
.aia-feature-quote figcaption { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
.aia-feature-body { display: flex; flex-direction: column; justify-content: center; gap: 1.5rem; padding: clamp(2rem, 4.5vw, 3.25rem); }
.aia-feature-body p { margin: 0; font-size: .95rem; line-height: 1.75; color: var(--text-mid); }
.aia-feature-body strong { color: var(--navy-dp); }
.aia-risk { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.aia-risk div { padding: .85rem 1rem; border-radius: 12px; background: var(--off-white); border: 1px solid var(--border); }
.aia-risk dt { font-family: var(--font-mono); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; color: var(--text-light); margin-bottom: .25rem; }
.aia-risk dd { margin: 0; font-size: .95rem; font-weight: 700; color: var(--navy-dp); }
.aia-risk dd.hot { color: var(--coral); }
.aia-source { margin-top: 2.5rem; }
.aia-source a { color: var(--navy); font-weight: 600; }


/* ── JOIN + FORMS ────────────────────────────────────────── */
.aia-join { background: linear-gradient(150deg, var(--navy) 0%, var(--navy-dp) 65%); color: var(--white); overflow: hidden; }
.aia-join::before {
  content: '';
  position: absolute;
  width: 560px; height: 560px;
  right: -200px; top: -260px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .07);
  box-shadow: 0 0 0 70px rgba(255, 255, 255, .02), 0 0 0 140px rgba(255, 255, 255, .015);
  pointer-events: none;
}
.aia-paths { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.aia-path { display: flex; flex-direction: column; gap: .6rem; padding: 1.5rem 1.35rem; border-radius: 18px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); color: var(--white); text-decoration: none; transition: transform var(--transition), background var(--transition), border-color var(--transition); }
.aia-path:hover { transform: translateY(-5px); background: rgba(255, 255, 255, .1); border-color: var(--coral); }
.aia-path > i.fas { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--coral); font-size: 1rem; }
.aia-path strong { font-size: 1rem; line-height: 1.3; }
.aia-path small { font-size: .82rem; line-height: 1.55; color: rgba(255, 255, 255, .65); flex: 1; }
.aia-path span { display: inline-flex; align-items: center; gap: .4rem; font-size: .82rem; font-weight: 600; color: var(--coral-pale); }
.aia-final { position: relative; margin: var(--aia-block) auto 0; max-width: 820px; text-align: center; font-family: var(--font-serif); font-weight: 800; font-size: clamp(1.35rem, 3vw, 2.1rem); line-height: 1.25; letter-spacing: -.01em; }
.aia-final em { font-family: var(--font-accent); font-style: italic; font-weight: 400; color: var(--coral); }

.aia-notify { position: relative; margin-top: var(--aia-block); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 3.5rem); align-items: center; }
.aia-notify h3 { color: var(--white); font-family: var(--font-serif); font-weight: 800; font-size: clamp(1.4rem, 2.6vw, 1.9rem); line-height: 1.2; margin: .9rem 0 .8rem; }
.aia-notify > div > p { font-size: .92rem; line-height: 1.7; color: rgba(255, 255, 255, .7); }

.aia-form { background: var(--white); color: var(--text); border-radius: 22px; padding: clamp(1.5rem, 3.5vw, 2.25rem); box-shadow: 0 24px 60px rgba(28, 36, 84, .18); }
.aia-form h3, .aia-form h4 { font-size: 1.15rem; color: var(--navy-dp); margin: 0 0 .3rem; font-family: var(--font); font-weight: 700; }
.aia-form-intro { font-size: .84rem; line-height: 1.6; color: var(--text-mid); margin: 0 0 1.25rem; }
.aia-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1rem; }
.aia-field { display: grid; gap: .4rem; }
.aia-field.full { grid-column: 1 / -1; }
.aia-field label, .aia-fieldset legend { font-family: var(--font-mono); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; color: var(--navy); }
.aia-field label small { text-transform: none; letter-spacing: 0; font-family: var(--font); color: var(--text-light); }
.aia-field input, .aia-field select, .aia-field textarea {
  width: 100%;
  padding: .78rem .95rem;
  border-radius: 10px;
  border: 1.5px solid var(--border);
  background: var(--off-white);
  font: inherit;
  font-size: .92rem;
  color: var(--text);
  transition: border-color var(--transition), background var(--transition);
}
.aia-field textarea { min-height: 92px; resize: vertical; }
.aia-field input:focus, .aia-field select:focus, .aia-field textarea:focus { outline: none; border-color: var(--coral); background: var(--white); }
.aia-field [aria-invalid="true"] { border-color: var(--coral); background: var(--coral-pale); }
.aia-fieldset { border: 0; padding: 0; margin: 0; grid-column: 1 / -1; }
.aia-fieldset legend { margin-bottom: .45rem; padding: 0; }
.aia-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.aia-chips label { position: relative; }
.aia-chips input { position: absolute; opacity: 0; pointer-events: none; }
.aia-chips span { display: inline-block; padding: .55rem .9rem; border-radius: 10px; border: 1.5px solid var(--border); font-size: .82rem; font-weight: 600; color: var(--navy-dp); cursor: pointer; transition: background var(--transition), border-color var(--transition), color var(--transition); }
.aia-chips input:checked + span { background: var(--navy); border-color: var(--navy); color: var(--white); }
.aia-chips input:focus-visible + span { outline: 2px solid var(--coral); outline-offset: 2px; }
.aia-consent { grid-column: 1 / -1; display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: .65rem; align-items: start; font-size: .8rem; line-height: 1.55; color: var(--text-mid); cursor: pointer; }
.aia-consent input { width: 18px; height: 18px; margin-top: .1rem; accent-color: var(--navy); }
.aia-consent.invalid { color: var(--coral); }
.aia-form .btn { width: 100%; justify-content: center; margin-top: 1.1rem; }
.aia-form-err { display: none; margin: .9rem 0 0; padding: .7rem .9rem; border-radius: 10px; background: var(--coral-pale); color: var(--navy-dp); font-size: .82rem; line-height: 1.5; }
.aia-form-err.show { display: block; }
.aia-form-note { font-size: .74rem; color: var(--text-light); margin: .9rem 0 0; line-height: 1.55; }
.aia-form-note button { background: none; border: 0; padding: 0; font: inherit; color: var(--navy); text-decoration: underline; cursor: pointer; }
.aia-form-done { text-align: center; padding: 1.5rem 0; }
.aia-form-done i { font-size: 2.5rem; color: var(--coral); margin-bottom: .75rem; }
.aia-form-done p { font-size: .88rem; color: var(--text-mid); margin: .4rem 0 0; }
.aia-form[data-state="done"] .aia-form-body { display: none; }
.aia-form:not([data-state="done"]) .aia-form-done { display: none; }

/* Programme privacy notice */
.aia-privacy { margin-top: 2.5rem; padding: 1.25rem 1.4rem; border-radius: 16px; border: 1px solid var(--border); background: var(--white); display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 1rem; }
.aia-privacy > i { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--coral-pale); color: var(--coral); }
.aia-privacy h4 { font-size: .95rem; color: var(--navy-dp); margin: 0 0 .4rem; }
.aia-privacy ul { margin: 0; padding-left: 1.05rem; display: grid; gap: .3rem; }
.aia-privacy li { font-size: .8rem; line-height: 1.55; color: var(--text-mid); }
.aia-privacy a, .aia-privacy button { color: var(--navy); font-weight: 600; background: none; border: 0; padding: 0; font: inherit; text-decoration: underline; cursor: pointer; }

/* ── FAQ + CLOSE ─────────────────────────────────────────── */
.aia-faq { background: var(--white); }
.aia-close { background: var(--coral); padding: clamp(2.25rem, 5vw, 3.25rem) 0; text-align: center; color: var(--white); }
.aia-close p { margin: 0; }
.aia-close-line { font-family: var(--font-serif); font-weight: 800; font-size: clamp(1.25rem, 3vw, 1.9rem); letter-spacing: -.01em; margin-bottom: .35rem !important; }
.aia-close-line em { font-family: var(--font-accent); font-style: italic; font-weight: 400; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 1100px) {
  .aia-cards, .aia-issues, .aia-groups, .aia-paths { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aia-pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 940px) {
  .aia-hero-inner, .aia-r-grid, .aia-wb-grid, .aia-w-grid, .aia-course-head,
  .aia-partner, .aia-notify, .aia-outputs, .aia-balance, .aia-feature { grid-template-columns: minmax(0, 1fr); }
  .aia-hero-art { max-width: 640px; width: 100%; margin-inline: auto; }
  .aia-strands { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aia-strand:nth-child(2) { border-right: 0; }
  .aia-strand:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .aia-r-intro, .aia-ticket { position: static; }
  .aia-spectrum-cols { grid-template-columns: minmax(0, 1fr); }
  .aia-flow { grid-template-columns: minmax(0, 1fr); gap: 1.1rem; }
  .aia-flow::before { top: 0; bottom: 0; left: 23px; right: auto; width: 2px; height: auto; background: linear-gradient(180deg, var(--navy), var(--coral)); }
  .aia-flow li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 1rem; text-align: left; padding: 0; }
  .aia-flow b { margin: 0; }
}
@media (max-width: 600px) {
  .aia-cards, .aia-issues, .aia-groups, .aia-paths, .aia-qgrid, .aia-outcomes, .aia-includes,
  .aia-pillars, .aia-fields, .aia-course-facts { grid-template-columns: minmax(0, 1fr); }
  .aia-strands { grid-template-columns: minmax(0, 1fr); }
  .aia-strand { border-right: 0; border-bottom: 1px solid var(--border); }
  .aia-strand:last-child { border-bottom: 0; }
  .aia-hero-actions .btn { width: 100%; justify-content: center; }
  .aia-principle { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .aia-page *, .aia-page *::before, .aia-page *::after { animation: none !important; transition: none !important; }
  .wb-reply { opacity: 1; }
  .wb-heart { opacity: 0; }
}

.aia-course-form { margin-top: var(--aia-block); }
.aia-form-done:focus { outline: none; }
