/* =============================================================================
   AHDAM — main.css
   Order: reset → tokens → element defaults → layout → header/footer →
          blocks → templates → components → motion → reduced-motion + print
   ============================================================================= */

@view-transition { navigation: auto; }

/* 1. Reset (minimal — modern browsers handle most) ----------------------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { height: 100%; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
button { background: none; border: 0; padding: 0; cursor: pointer; }
a { color: inherit; text-decoration: none; }
ul, ol { padding: 0; list-style: none; }
h1, h2, h3, h4, h5, h6 { font: inherit; }
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
:focus-visible { outline: 2px solid var(--seafoam); outline-offset: 2px; }

/* 2. Tokens ------------------------------------------------------------- */
:root {
  /* Brand */
  --navy:        #050D57;
  --navy-deep:   #03082F;
  --violet:      #6357FD;
  --pink:        #C84DFF;
  --seafoam:     #00C5C1;
  --seafoam-dark:#008E8B;

  /* Gradients */
  --gradient-brand:    linear-gradient(90deg, #6357FD 0%, #C84DFF 100%);
  --gradient-spectrum: linear-gradient(90deg, #00C5C1 0%, #6357FD 50%, #C84DFF 100%);
  --gradient-seafoam-violet: linear-gradient(90deg, #00C5C1 0%, #6357FD 100%);
  --gradient-pink-orange:    linear-gradient(90deg, #C84DFF 0%, #FF8A50 100%);

  /* Neutrals */
  --ink:    #0F0E2A;
  --ink-2:  #3D3B5C;
  --ink-3:  #6F6D8C;
  --cream:  #FFFFFF;
  --cream-2:#F6F7F9;
  --line:      rgba(15, 14, 42, 0.10);
  --line-dark: rgba(255, 255, 255, 0.10);

  /* Legacy */
  --blue:     #211CD1;
  --sky-blue: #02A9EC;
  --yellow:   #FFD834;

  /* Fonts */
  --font-serif: "Fraunces", Georgia, "Times New Roman", serif;
  --font-sans:  "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-brand: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --brand-fuchsia: #E11AFA;

  /* Type scale */
  --text-hero:   clamp(40px, 5vw, 72px);
  --text-h2:     clamp(28px, 3vw, 42px);
  --text-h3:     clamp(22px, 2vw, 26px);
  --text-h4:     19px;
  --text-stat:   36px;
  --text-stat-l: 56px;
  --text-quote:  clamp(26px, 3vw, 38px);
  --text-body:   16px;
  --text-lead:   17px;
  --text-small:  14px;
  --text-meta:   12px;
  --text-micro:  11px;

  /* Spacing */
  --space-1:  4px;  --space-2:  8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 20px;  --space-6: 24px;  --space-8: 32px; --space-10: 40px;
  --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px;

  /* Layout */
  --container-max: 1280px;
  --container-pad: 32px;
  --content-max:   720px;

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 18px;
  --radius-2xl: 20px;
  --radius-pill: 999px;

  /* Shadows */
  --shadow-card-hover: 0 18px 40px -20px rgba(15, 14, 42, 0.18);
  --shadow-cta-hover:  0 12px 24px -10px rgba(0, 0, 0, 0.4);
  --shadow-gradient:   0 12px 30px -10px rgba(99, 87, 253, 0.6);

  /* Motion. SmarterDx / Webflow-modern: confident, slow, no overshoot. */
  --ease-out-quart:   cubic-bezier(0.22, 1, 0.36, 1);   /* Default for entries. */
  --ease-out-quint:   cubic-bezier(0.16, 1, 0.3, 1);    /* Very deliberate finish. */
  --ease-out-cubic:   cubic-bezier(0.33, 1, 0.68, 1);   /* Micro-interactions. */
  --ease-in-out:      cubic-bezier(0.65, 0, 0.35, 1);
  --dur-instant: 80ms;
  --dur-fast:    180ms;
  --dur-base:    280ms;
  --dur-slow:    500ms;
  --dur-reveal:  900ms;
  --dur-hero:    1400ms;
}

@media (max-width: 768px) {
  :root { --container-pad: 20px; }
}

/* Registered properties for smooth gradient mesh drift (§4 of ANIMATIONS-SPEC) */
@property --mesh-x1 { syntax: '<percentage>'; inherits: false; initial-value: 80%; }
@property --mesh-y1 { syntax: '<percentage>'; inherits: false; initial-value: 20%; }
@property --mesh-x2 { syntax: '<percentage>'; inherits: false; initial-value: 15%; }
@property --mesh-y2 { syntax: '<percentage>'; inherits: false; initial-value: 75%; }

/* 3. Element defaults -------------------------------------------------- */
html { font-family: var(--font-sans); color: var(--ink); background: var(--cream); }
body { font-size: var(--text-body); line-height: 1.55; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-serif);
  font-weight: 500;
  color: var(--ink);
  font-variation-settings: "opsz" 144;
  letter-spacing: -0.02em;
  line-height: 1.1;
}
h1 { font-size: var(--text-hero); line-height: 1.02; letter-spacing: -0.035em; }
h2 { font-size: var(--text-h2);  line-height: 1.08; letter-spacing: -0.028em; }
h3 { font-size: var(--text-h3);  line-height: 1.15; letter-spacing: -0.023em; }
h4 { font-size: var(--text-h4);  line-height: 1.2;  letter-spacing: -0.021em; }

p { color: var(--ink-2); }
p + p { margin-top: 1em; }

a { color: var(--violet); transition: color var(--dur-fast) var(--ease-out-cubic); }
a:hover { color: var(--pink); }

strong, b { font-weight: 600; color: var(--ink); }
em, i { font-style: italic; }

::selection { background: var(--violet); color: var(--cream); }

/* Gradient text fill for italic accent words. Static gradient — the
   previous animated background-position would briefly slide offscreen
   and the word disappeared at the cycle boundary. Static reads as a
   permanent gradient accent without the flicker. */
.accent-grad, h1 em, h2 em, h3 em, h4 em, .headline em {
  background: linear-gradient(90deg, #6357FD 0%, #C84DFF 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-style: italic;
}

/* 4. Layout utilities -------------------------------------------------- */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}
.container--narrow { max-width: var(--content-max); }

.stack > * + * { margin-top: var(--space-4); }
.stack-lg > * + * { margin-top: var(--space-8); }

.grid { display: grid; gap: var(--space-6); }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.section { padding-block: clamp(36px, 4.5vw, 64px); }
.section--navy { background: var(--navy); color: white; }
.section--navy-deep { background: var(--navy-deep); color: white; }
.section--cream-2 { background: var(--cream-2); }

/* 5. Site header & footer (skeleton — wired up in Phase 2) ------------- */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(250, 248, 243, 0.85);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--line);
}
.site-header__inner {
  display: flex; align-items: center; gap: var(--space-6);
  padding-block: 14px;
}
.site-logo-link { display: inline-flex; align-items: center; view-transition-name: site-logo; }
.site-logo { max-height: 52px; width: auto; color: var(--ink); }
svg.site-logo { height: 48px; width: auto; display: block; }
@media (max-width: 768px) { .site-logo { max-height: 36px; } svg.site-logo { height: 36px; } }

.primary-nav { display: flex; align-items: center; gap: var(--space-6); margin-left: auto; }
.primary-nav__list { display: flex; align-items: center; gap: var(--space-6); }
.nav-link {
  position: relative;
  font-size: 17px;
  font-weight: 600;
  color: var(--ink);
  padding-block: 6px;
}
.nav-link::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 1.5px;
  background: var(--ink);
  transform: scaleX(0); transform-origin: left center;
  transition: transform var(--dur-fast) var(--ease-out-cubic);
}
.nav-link:hover::after, .nav-link[aria-current="page"]::after { transform: scaleX(1); }
.nav-link--logout { font-size: 18px; color: var(--ink-3); }
.nav-link--logout:hover { color: var(--ink); }
.nav-link--logout::after { display: none; }
.primary-nav .btn .ti { font-size: 16px; vertical-align: -2px; }
/* Join / account button typography matches the nav items */
.primary-nav .btn { font-size: 17px; font-weight: 600; }

.nav-toggle {
  display: none;
  width: 44px; height: 44px;
  align-items: center; justify-content: center;
  font-size: 22px; color: var(--ink);
  margin-left: auto;
}
@media (max-width: 900px) {
  .primary-nav { display: none; }
  .nav-toggle { display: inline-flex; }
}

.mobile-nav {
  position: fixed; inset: 0; z-index: 200;
  background: var(--navy);
  color: white;
  padding: var(--space-16) var(--container-pad) var(--space-8);
  transform: translateX(100%);
  transition: transform var(--dur-slow) var(--ease-in-out);
  display: flex; flex-direction: column; gap: var(--space-6);
  overflow-y: auto;
}
.mobile-nav.is-open { transform: translateX(0); }
.mobile-nav__close {
  position: absolute; top: 20px; right: 20px;
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 24px; color: white;
}
.mobile-nav a { color: white; font-family: var(--font-serif); font-size: 28px; line-height: 1.3; }
.mobile-nav a:hover { color: var(--seafoam); }

.site-footer {
  background: var(--navy-deep);
  color: rgba(255,255,255,0.75);
  padding-block: var(--space-16) var(--space-8);
}
.site-footer a { color: white; }
.site-footer a:hover { color: var(--seafoam); }
.site-footer__grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: var(--space-10);
}
@media (max-width: 900px) {
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .site-footer__grid { grid-template-columns: 1fr; }
}
.site-footer__heading {
  font-family: var(--font-sans);
  font-size: var(--text-meta);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.55);
  margin-bottom: var(--space-4);
}
.site-footer__col ul li { margin-bottom: var(--space-2); }
.site-footer__legal {
  margin-top: var(--space-12);
  padding-top: var(--space-6);
  border-top: 1px solid var(--line-dark);
  display: flex; flex-wrap: wrap; gap: var(--space-6); justify-content: space-between;
  font-size: var(--text-small);
  color: rgba(255,255,255,0.5);
}
.site-footer__logo { max-height: 32px; width: auto; margin-bottom: var(--space-4); }

/* 6. Components -------------------------------------------------------- */

/* Buttons */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 22px;
  border-radius: var(--radius-pill);
  font-size: 14px; font-weight: 500;
  font-family: var(--font-sans);
  line-height: 1;
  text-decoration: none;
  transition: transform var(--dur-fast) var(--ease-out-cubic),
              box-shadow var(--dur-fast) var(--ease-out-cubic),
              background-color var(--dur-fast) var(--ease-out-cubic),
              color var(--dur-fast) var(--ease-out-cubic);
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); transition-duration: 60ms; }
.btn--sm { padding: 9px 16px; font-size: 13px; }

.btn--primary {
  background: var(--gradient-brand);
  color: white;
}
.btn--primary:hover { box-shadow: var(--shadow-gradient); color: white; }
.btn--primary::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.25) 50%, transparent 70%);
  transform: translateX(-100%);
  transition: transform 600ms var(--ease-out-quart);
  pointer-events: none;
}
.btn--primary:hover::after { transform: translateX(100%); }

.btn--on-dark {
  background: white;
  color: var(--navy);
}
.btn--on-dark:hover { box-shadow: var(--shadow-cta-hover); color: var(--navy); }

.btn--ghost {
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--ink);
  padding: 12px 22px;
}
.btn--ghost:hover { background: var(--ink); color: var(--cream); }
.btn--ghost.on-dark {
  color: white;
  border-color: rgba(255,255,255,0.25);
}
.btn--ghost.on-dark:hover { background: rgba(255,255,255,0.08); color: white; }

.btn--live {
  background: var(--seafoam);
  color: var(--navy);
  padding: 12px;
  border-radius: var(--radius-md);
  font-size: 14px; font-weight: 600;
  width: 100%; justify-content: center;
}
.btn--live:hover { background: #00DCD8; color: var(--navy); }

/* Magnetic CTA */
[data-magnet] { transform: translate(var(--mx, 0), var(--my, 0)); }

/* Eyebrow / pill */
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 12px;
  background: rgba(0, 197, 193, 0.12);
  border: 1px solid rgba(0, 197, 193, 0.30);
  color: var(--seafoam);
  font-size: 12px; font-weight: 500;
  border-radius: var(--radius-pill);
  letter-spacing: 0.02em;
  font-family: var(--font-sans);
}
.eyebrow--dark { color: var(--seafoam-dark); border-color: rgba(0,142,139,0.30); background: rgba(0,142,139,0.08); }

.pulse-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--seafoam);
  animation: pulse 2s infinite;
  flex-shrink: 0;
}
@keyframes pulse {
  0%   { box-shadow: 0 0 0 0   rgba(0, 197, 193, 0.6); }
  70%  { box-shadow: 0 0 0 8px rgba(0, 197, 193, 0); }
  100% { box-shadow: 0 0 0 0   rgba(0, 197, 193, 0); }
}

/* Chips / tags */
.chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 10px;
  border-radius: var(--radius-pill);
  background: rgba(15, 14, 42, 0.06);
  color: var(--ink-2);
  font-size: var(--text-micro);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.chip--seafoam { background: rgba(0,197,193,0.12); color: var(--seafoam-dark); }
.chip--violet  { background: rgba(99,87,253,0.10); color: var(--violet); }
.chip--pink    { background: rgba(200,77,255,0.10); color: var(--pink); }
.chip--on-dark { background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.85); }

/* Meta */
.meta {
  font-size: var(--text-meta);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 500;
  color: var(--ink-3);
}

/* Cards (shared) */
.card {
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform var(--dur-base) var(--ease-out-cubic),
              box-shadow var(--dur-base) var(--ease-out-cubic),
              border-color var(--dur-base) var(--ease-out-cubic);
}
.card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); border-color: rgba(99, 87, 253, 0.4); }
.card__media {
  aspect-ratio: 3 / 2;
  background: var(--cream-2);
  overflow: hidden;
  position: relative;
}
.card__media img { width: 100%; height: 100%; object-fit: cover; }
.card__body { padding: 20px 22px 22px; }
.card__title { font-size: var(--text-h4); margin-bottom: 8px; }
.card__title a { color: var(--ink); }
.card__title a:hover { color: var(--violet); }
.card__excerpt { color: var(--ink-2); font-size: var(--text-small); }
.card__footer { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; margin-top: var(--space-4); font-size: var(--text-small); color: var(--ink-3); }

/* Webinar title-banner card */
.card--webinar-title .card__title-banner {
  display: block;
  position: relative;
  aspect-ratio: 3 / 2;
  background: var(--navy);
  overflow: hidden;
  text-decoration: none;
  padding: 22px 24px;
  display: flex;
  align-items: flex-end;
}
.card--webinar-title .card__title-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 80% 20%, rgba(99,87,253,0.35) 0%, transparent 65%),
              linear-gradient(160deg, rgba(99,87,253,0.15) 0%, transparent 50%);
  pointer-events: none;
}
.card--webinar-title .card__title-banner-inner {
  position: relative;
  z-index: 1;
}
.card--webinar-title .card__title-banner-label {
  display: block;
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--violet-light, #a89aff);
  margin-bottom: 8px;
}
.card--webinar-title .card__title-banner-text {
  font-family: var(--font-sans);
  font-size: clamp(15px, 1.5vw, 18px);
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  margin: 0;
}
.card--webinar-title:hover .card__title-banner {
  background: var(--violet);
}

/* Thumbnail fallbacks */
.thumb-fallback {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,0.85);
  font-family: var(--font-serif);
  font-size: 36px;
  font-style: italic;
}
.thumb-fallback-1 { background: linear-gradient(135deg, var(--violet), var(--pink)); }
.thumb-fallback-2 { background: linear-gradient(135deg, var(--seafoam), var(--violet)); }
.thumb-fallback-3 { background: linear-gradient(135deg, var(--navy), var(--violet)); }
.thumb-fallback-4 { background: linear-gradient(135deg, var(--pink), #FF8A50); }
.thumb-fallback::after {
  content: ""; position: absolute; inset: 0;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='80' height='80' filter='url(%23n)' opacity='0.4'/></svg>");
  mix-blend-mode: overlay;
  opacity: 0.6;
  pointer-events: none;
}

/* Gated lock overlay */
.gated-overlay {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(5, 13, 87, 0.55);
  color: white;
  backdrop-filter: blur(4px);
  font-size: 28px;
}
.gated-overlay .ti { font-size: 32px; }

/* Forms */
input[type="text"], input[type="email"], input[type="search"], input[type="url"],
input[type="tel"], input[type="password"], textarea, select {
  width: 100%;
  padding: 10px 14px;
  font-size: var(--text-body);
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: var(--ink);
  transition: border-color var(--dur-fast) var(--ease-out-cubic), box-shadow var(--dur-fast) var(--ease-out-cubic);
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--violet);
  box-shadow: 0 0 0 3px rgba(99, 87, 253, 0.20);
}
label { font-size: var(--text-small); font-weight: 500; color: var(--ink); display: block; margin-bottom: 6px; }

/* Search form */
.search-form { display: flex; gap: var(--space-2); }
.search-form input[type="search"] { flex: 1; }

/* 7. Hero block (Phase 5) --------------------------------------------- */
.wp-block-acf-ahdam-hero, .hero {
  position: relative;
  background: var(--navy);
  color: white;
  overflow: hidden;
  padding-block: clamp(40px, 5vw, 72px);
}
.hero.hero--single .hero__layout { grid-template-columns: 1fr; }
.hero.hero--single .hero h1, .hero.hero--single .headline { max-width: 22ch; }

/* Animated hero graphic — wavelength + pulsing data points + cycling
   callout chips. Placeholder for a live data viz; reads as
   data/healthcare without being clinical. SVG-only, no JS. */
.hero-graphic {
  position: relative;
  width: 100%;
  max-width: 540px;
  margin-inline: auto;
  align-self: center;
}
.hero-graphic svg { width: 100%; height: auto; display: block; overflow: visible; }

.hero-graphic__orb {
  transform-origin: 50% 50%;
  animation: hero-orb-breathe 9s ease-in-out infinite;
}
@keyframes hero-orb-breathe {
  0%, 100% { transform: scale(1);    opacity: 0.85; }
  50%      { transform: scale(1.08); opacity: 1; }
}

.hero-wave {
  transform-origin: center;
  will-change: transform;
}
.hero-wave--1  { animation: hero-wave-drift-a 14s ease-in-out infinite; }
.hero-wave--1b { animation: hero-wave-drift-a 14s ease-in-out infinite 1.2s; opacity: 0.55; }
.hero-wave--2  { animation: hero-wave-drift-b 17s ease-in-out infinite 1.5s; }
.hero-wave--3  { animation: hero-wave-drift-c 11s ease-in-out infinite 0.5s; }
@keyframes hero-wave-drift-a {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50%      { transform: translate3d(-14px, -10px, 0); }
}
@keyframes hero-wave-drift-b {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50%      { transform: translate3d(12px, 8px, 0); }
}
@keyframes hero-wave-drift-c {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50%      { transform: translate3d(-8px, 6px, 0); }
}

.hero-point { transform-origin: center; transform-box: fill-box; }
.hero-point--1 { animation: hero-point-pulse 3.2s ease-in-out infinite; }
.hero-point--2 { animation: hero-point-pulse 4.0s ease-in-out infinite 0.6s; }
.hero-point--3 { animation: hero-point-pulse 3.6s ease-in-out infinite 1.2s; }
.hero-point--4 { animation: hero-point-pulse 4.8s ease-in-out infinite 1.8s; }
.hero-point--5 { animation: hero-point-pulse 4.4s ease-in-out infinite 2.4s; }
@keyframes hero-point-pulse {
  0%, 100% { transform: scale(1);   opacity: 0.65; }
  50%      { transform: scale(1.35); opacity: 1; }
}

.hero-callout {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: hero-callout-cycle 12s ease-in-out infinite;
}
.hero-callout--1 { animation-delay: 0s; }
.hero-callout--2 { animation-delay: 4s; }
.hero-callout--3 { animation-delay: 8s; }
@keyframes hero-callout-cycle {
  0%         { opacity: 0; transform: translateY(4px); }
  8%, 28%    { opacity: 1; transform: translateY(0); }
  34%, 100%  { opacity: 0; transform: translateY(-4px); }
}

@media (max-width: 1024px) {
  .hero-graphic { max-width: 420px; margin-top: var(--space-8); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-graphic__orb,
  .hero-wave,
  .hero-point,
  .hero-callout { animation: none !important; opacity: 1 !important; transform: none !important; }
  .hero-callout--2, .hero-callout--3 { opacity: 0 !important; }
}
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(circle at var(--mesh-x1) var(--mesh-y1), rgba(200, 77, 255, 0.30), transparent 45%),
    radial-gradient(circle at var(--mesh-x2) var(--mesh-y2), rgba(0, 197, 193, 0.18), transparent 50%),
    radial-gradient(circle at 65% 90%, rgba(99, 87, 253, 0.20), transparent 50%);
  animation: mesh-drift 24s ease-in-out infinite alternate;
  pointer-events: none;
}
.hero::after {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='120' height='120' filter='url(%23n)' opacity='0.4'/></svg>");
  mix-blend-mode: overlay; opacity: 0.25;
  pointer-events: none;
}
@keyframes mesh-drift {
  0%   { --mesh-x1: 80%; --mesh-y1: 20%; --mesh-x2: 15%; --mesh-y2: 75%; }
  50%  { --mesh-x1: 70%; --mesh-y1: 30%; --mesh-x2: 25%; --mesh-y2: 65%; }
  100% { --mesh-x1: 85%; --mesh-y1: 25%; --mesh-x2: 20%; --mesh-y2: 80%; }
}
.hero .container { position: relative; z-index: 1; view-transition-name: page-hero; }
.hero h1 { color: white; max-width: 18ch; }
.hero h1 em {
  display: inline-block;
  background: linear-gradient(90deg, #6357FD 0%, #C84DFF 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-style: italic;
  opacity: 1 !important;
}
.hero__sub { font-size: var(--text-lead); color: #C9C6E5; max-width: 600px; margin-top: var(--space-5); }
.hero__layout {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: var(--space-12);
  align-items: start;
}
@media (max-width: 1024px) {
  .hero__layout { grid-template-columns: 1fr; }
}
.hero__ctas { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-8); }
.hero__stats {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: var(--space-6);
  margin-top: var(--space-10);
  max-width: 720px;
}
@media (max-width: 640px) { .hero__stats { grid-template-columns: 1fr 1fr; } }
.hero__stat-value {
  font-family: var(--font-serif);
  font-size: var(--text-stat);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1;
  color: white;
  display: block;
}
.hero__stat-value.is-accent { color: var(--seafoam); }
.hero__stat-label {
  font-size: var(--text-small);
  color: rgba(255,255,255,0.65);
  margin-top: 6px;
  display: block;
}

/* Hero word reveal */
.hero-word { display: inline-block; overflow: hidden; vertical-align: bottom; }
.hero-word-inner { display: inline-block; }

/* Live feature card */
.live-feature {
  background: rgba(255,255,255,0.04);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-xl);
  padding: var(--space-8);
  color: white;
  position: relative;
}
.live-feature__label { display: inline-flex; align-items: center; gap: 8px; color: var(--seafoam); font-size: var(--text-meta); text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: var(--space-3); }
.live-feature__title { font-family: var(--font-serif); font-size: var(--text-h3); margin-bottom: var(--space-3); color: white; }
.live-feature__excerpt { color: rgba(255,255,255,0.75); font-size: var(--text-small); margin-bottom: var(--space-5); }
.live-feature__chips { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-5); }
.live-feature__date { color: rgba(255,255,255,0.55); font-size: var(--text-small); margin-bottom: var(--space-4); }
.corner-badge {
  position: absolute; right: -10px; bottom: -10px;
  background: var(--gradient-brand);
  color: white;
  padding: 10px 14px;
  border-radius: var(--radius-md);
  font-size: var(--text-small);
  font-weight: 500;
  box-shadow: var(--shadow-gradient);
}
.corner-badge__label { display: block; font-size: var(--text-micro); text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.85; }

/* Trust strip */
.trust-strip { background: var(--navy-deep); padding-block: 28px; overflow: hidden; }
.trust-strip__label {
  color: rgba(255,255,255,0.55);
  font-size: var(--text-meta);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  text-align: center;
  margin-bottom: var(--space-4);
}
.trust-marquee {
  position: relative;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, black 12%, black 88%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, black 12%, black 88%, transparent);
}
.trust-row {
  display: flex; gap: var(--space-12);
  white-space: nowrap;
  width: max-content;
  animation: marquee 32s linear infinite;
}
.trust-row > * {
  color: rgba(255,255,255,0.75);
  font-family: var(--font-serif);
  font-size: 20px;
  font-style: italic;
  transition: transform var(--dur-fast) var(--ease-out-cubic), color var(--dur-fast) var(--ease-out-cubic);
}
.trust-row > *:hover { transform: scale(1.06); color: var(--cream); }
.trust-marquee:hover .trust-row { animation-play-state: paused; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* News grid */
.news-grid__head { display: flex; align-items: end; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-6); flex-wrap: wrap; }
.news-grid__head h2 { max-width: 24ch; }
.news-grid__items {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: var(--space-6);
}
.news-grid--feature .news-grid__items > :first-child { grid-row: span 1; }
@media (max-width: 1024px) {
  .news-grid__items { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .news-grid__items { grid-template-columns: 1fr; }
}

/* Knowledge center stats */
.kc-stats__head { display: flex; align-items: end; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-6); flex-wrap: wrap; }
.kc-stats__head h2 { max-width: 24ch; }
.kc-stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
}
@media (max-width: 1024px) { .kc-stats__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .kc-stats__grid { grid-template-columns: 1fr; } }
.kc-card {
  background: var(--cream-2);
  padding: 28px 24px;
  border-radius: var(--radius-xl);
  min-height: 240px;
  display: flex; flex-direction: column;
  text-decoration: none;
  color: var(--ink);
  transition: transform var(--dur-base) var(--ease-out-cubic), box-shadow var(--dur-base) var(--ease-out-cubic);
}
.kc-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); color: var(--ink); }
.kc-card__icon { font-size: 22px; color: var(--violet); margin-bottom: var(--space-4); }
.kc-card__count {
  font-family: var(--font-serif);
  font-weight: 500;
  font-size: var(--text-stat-l);
  line-height: 1;
  color: var(--violet);
  letter-spacing: -0.04em;
  margin-bottom: var(--space-3);
}
.kc-card__title { font-family: var(--font-serif); font-size: var(--text-h4); margin-bottom: var(--space-2); }
.kc-card__desc { color: var(--ink-2); font-size: var(--text-small); }
.kc-card--featured {
  background: var(--navy);
  color: white;
}
.kc-card--featured .kc-card__icon { color: var(--seafoam); }
.kc-card--featured .kc-card__count { color: var(--seafoam); }
.kc-card--featured .kc-card__title { color: white; }
.kc-card--featured .kc-card__desc { color: rgba(255,255,255,0.75); }
.kc-card--featured:hover { color: white; }

/* Spotlight */
.spotlight {
  position: relative;
  background: var(--navy);
  color: white;
  overflow: hidden;
}
.spotlight::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(99,87,253,0.20), transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(0,197,193,0.15), transparent 50%);
  pointer-events: none;
  animation: section-orb-drift 22s ease-in-out infinite alternate;
}
@keyframes section-orb-drift {
  from { transform: translate3d(0, 0, 0)   scale(1); }
  to   { transform: translate3d(14px, -10px, 0) scale(1.04); }
}
.spotlight__grid {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: var(--space-12);
  align-items: start;
}
@media (max-width: 900px) { .spotlight__grid { grid-template-columns: 1fr; } }
.spotlight__quote-mark {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 120px;
  line-height: 0.8;
  color: var(--seafoam);
}
.spotlight__quote {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: var(--text-quote);
  line-height: 1.3;
  color: white;
  margin-top: var(--space-4);
}
.spotlight__attribution {
  display: flex; align-items: center; gap: var(--space-3);
  margin-top: var(--space-8);
}
.spotlight__avatar {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--gradient-brand);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-serif); font-weight: 600; font-size: 20px;
  color: white;
  object-fit: cover;
  flex-shrink: 0;
}
.spotlight__name { font-weight: 500; color: white; }
.spotlight__role { color: rgba(255,255,255,0.65); font-size: var(--text-small); }
.spotlight__side {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: var(--radius-2xl);
  padding: var(--space-8);
}
.spotlight__side-heading {
  font-family: var(--font-sans);
  font-size: var(--text-meta);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(255,255,255,0.65);
  margin-bottom: var(--space-5);
}
.spotlight__stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
}
.spotlight__stat-value {
  font-family: var(--font-serif);
  font-size: 32px;
  font-weight: 500;
  color: white;
  letter-spacing: -0.03em;
  line-height: 1;
}
.spotlight__stat-label {
  color: rgba(255,255,255,0.65);
  font-size: var(--text-small);
  margin-top: 6px;
}

/* Audience pathways */
.pathways__head { text-align: left; margin-bottom: var(--space-6); }
.pathways__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
}
@media (max-width: 900px) { .pathways__grid { grid-template-columns: 1fr; } }
.pathway-card {
  background: white;
  border-radius: var(--radius-2xl);
  padding: 36px 30px;
  border: 1px solid var(--line);
  position: relative;
  overflow: hidden;
  transition: transform var(--dur-base) var(--ease-out-cubic),
              box-shadow var(--dur-base) var(--ease-out-cubic),
              border-color var(--dur-base) var(--ease-out-cubic);
}
.pathway-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover);
  border-color: rgba(99, 87, 253, 0.30);
}
.pathway-card:hover .pathway-card__strip { transform: scaleY(1.6); transform-origin: center top; }
.pathway-card__strip { transition: transform var(--dur-base) var(--ease-out-cubic); }
.pathway-card:hover .pathway-card__icon { transform: translateY(-2px); color: var(--pink); }
.pathway-card__icon { transition: color var(--dur-base) var(--ease-out-cubic), transform var(--dur-base) var(--ease-out-cubic); }
.pathway-card__strip {
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  transform-origin: left center;
}
.pathway-card__strip--brand    { background: var(--gradient-brand); }
.pathway-card__strip--sv       { background: var(--gradient-seafoam-violet); }
.pathway-card__strip--po       { background: var(--gradient-pink-orange); }
.pathway-card__icon { font-size: 28px; color: var(--violet); margin-bottom: var(--space-4); }
.pathway-card__heading { font-family: var(--font-serif); font-size: var(--text-h3); margin-bottom: var(--space-3); }
.pathway-card__desc { color: var(--ink-2); font-size: var(--text-small); margin-bottom: var(--space-5); }
.pathway-card__links { list-style: none; padding: 0; margin: 0; }
.pathway-card__links li { border-top: 1px solid var(--line); }
.pathway-card__links a {
  display: flex; justify-content: space-between; align-items: center;
  padding-block: var(--space-3);
  color: var(--ink);
  font-size: var(--text-small);
  font-weight: 500;
  transition: color var(--dur-fast) var(--ease-out-cubic);
}
.pathway-card__links a::after {
  content: "→";
  transition: transform var(--dur-fast) var(--ease-out-cubic);
}
.pathway-card__links a:hover { color: var(--violet); }
.pathway-card__links a:hover::after { transform: translateX(4px); }

/* CTA section */
.cta-section { position: relative; overflow: hidden; padding-block: clamp(48px, 6vw, 80px); }
.cta-section--cream { background: var(--cream-2); }
.cta-section--navy { background: var(--navy); color: white; }
.cta-section::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(circle at 20% 30%, rgba(99,87,253,0.10), transparent 45%),
    radial-gradient(circle at 80% 70%, rgba(0,197,193,0.10), transparent 45%);
  animation: section-orb-drift 28s ease-in-out infinite alternate-reverse;
}
.cta-section__inner {
  position: relative; z-index: 1;
  max-width: 720px; margin: 0 auto; text-align: center;
}
.cta-section h2 { font-size: clamp(36px, 5vw, 60px); }
.cta-section--navy h2 { color: white; }
.cta-section__sub { font-size: var(--text-lead); color: var(--ink-2); margin-top: var(--space-4); }
.cta-section--navy .cta-section__sub { color: rgba(255,255,255,0.75); }
.cta-section__ctas,
.cta-section__actions { display: flex; gap: var(--space-4); margin-top: var(--space-8); flex-wrap: wrap; justify-content: center; }
.cta-section__ctas .btn,
.cta-section__actions .btn { padding: 14px 28px; font-size: 15px; }

/* 8. Templates (single, archives) ------------------------------------- */
.page-hero {
  background: var(--navy);
  color: white;
  position: relative;
  overflow: hidden;
  padding-block: clamp(56px, 7vw, 96px);
}
.page-hero::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 75% 30%, rgba(200,77,255,0.20), transparent 50%),
    radial-gradient(circle at 20% 80%, rgba(0,197,193,0.14), transparent 50%);
  pointer-events: none;
}
.page-hero .container { position: relative; z-index: 1; view-transition-name: page-hero; }
/* px max-widths on purpose: ch-based caps compute too narrow in Inter
   Tight/Fraunces and collapse the hero text into a skinny left column. */
.page-hero h1 { color: white; max-width: 760px; text-wrap: balance; }

/* Webinars hero — same single-phrase format, more brand presence */
.page-hero--webinars { padding-block: clamp(36px, 4.5vw, 64px); }
.page-hero--webinars h1 { font-size: clamp(32px, 4vw, 56px); }
.page-hero--webinars::before {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(circle at 78% 12%, rgba(200,77,255,0.25), transparent 42%),
    radial-gradient(circle at 10% 85%, rgba(0,197,193,0.16), transparent 48%),
    radial-gradient(circle at 55% 110%, rgba(99,87,253,0.22), transparent 50%);
  pointer-events: none;
}
.page-hero--webinars .container { position: relative; z-index: 1; }
.page-hero--webinars .chip { margin-bottom: var(--space-5); }
.page-hero--webinars h1 em {
  display: block;
  font-style: italic;
  background: var(--gradient-spectrum);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
/* Brand pulse bars — echo the logo, gently animating on the right */
.page-hero__bars {
  position: absolute;
  right: clamp(24px, 7vw, 120px);
  bottom: -12px;
  display: flex;
  align-items: flex-end;
  gap: 14px;
  z-index: 0;
  opacity: 0.5;
}
.page-hero__bars i {
  width: 22px;
  border-radius: 11px 11px 0 0;
  background: linear-gradient(180deg, rgba(99,87,253,0.9), rgba(200,77,255,0.35));
  animation: hero-bar-pulse 2.6s ease-in-out infinite;
}
.page-hero__bars i:nth-child(1) { height: 70px;  animation-delay: 0s; }
.page-hero__bars i:nth-child(2) { height: 130px; animation-delay: 0.3s; }
.page-hero__bars i:nth-child(3) { height: 95px;  animation-delay: 0.6s; }
.page-hero__bars i:nth-child(4) { height: 160px; animation-delay: 0.9s; }
@keyframes hero-bar-pulse {
  0%, 100% { transform: scaleY(1); }
  50%      { transform: scaleY(0.78); }
}
.page-hero__bars i { transform-origin: bottom; }
@media (max-width: 760px) {
  .page-hero__bars { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hero__bars i { animation: none; }
}
.page-hero p { color: rgba(255,255,255,0.78); margin-top: var(--space-4); max-width: 600px; font-size: 17px; line-height: 1.65; }

.archive-body, .single-body { padding-block: clamp(48px, 6vw, 80px); }
/* Resource singles read like documents — compact hero, body one scroll away */
.page-hero--compact { padding-block: clamp(28px, 3.5vw, 48px); }
.page-hero--compact h1 { font-size: clamp(28px, 3.4vw, 44px); }
.page-hero--compact p { margin-top: var(--space-2); font-size: 15px; }
.single-body { padding-top: clamp(32px, 4vw, 48px); }

/* Document hero — centered, compact, brand mesh; no author/date */
.page-hero--doc {
  padding-block: clamp(36px, 4.5vw, 60px);
  text-align: center;
}
.page-hero--doc::before {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(circle at 80% 10%, rgba(200,77,255,0.20), transparent 42%),
    radial-gradient(circle at 12% 90%, rgba(0,197,193,0.13), transparent 48%);
  pointer-events: none;
}
.page-hero--doc .container { position: relative; z-index: 1; }
.page-hero--doc h1 {
  margin: var(--space-4) auto 0;
  max-width: 820px;
  font-size: clamp(28px, 3.4vw, 46px);
}
.page-hero--doc__actions {
  display: flex;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-6);
  flex-wrap: wrap;
}

/* The document "paper" card */
.single-body--doc { background: var(--cream-2); padding-block: clamp(32px, 4vw, 56px) clamp(48px, 6vw, 80px); }
.doc-paper {
  max-width: 860px;
  margin-inline: auto;
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius-2xl);
  box-shadow: 0 30px 70px -40px rgba(15, 14, 42, 0.25);
  overflow: hidden;
}
.doc-paper__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
  padding: 14px clamp(24px, 4vw, 56px);
  background: var(--cream-2);
  border-bottom: 1px solid var(--line);
}
.doc-paper__source {
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.doc-paper__print {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  font-size: 13px;
  font-weight: 500;
  font-family: var(--font-sans);
  color: var(--ink);
  cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease-out-cubic),
              color var(--dur-fast) var(--ease-out-cubic);
}
.doc-paper__print:hover { border-color: var(--violet); color: var(--violet); }
.doc-paper__content {
  padding: clamp(28px, 4.5vw, 56px) clamp(24px, 5vw, 64px) clamp(36px, 5vw, 64px);
  font-size: var(--text-body);
  color: var(--ink-2);
  line-height: 1.75;
}
.doc-paper__content > *:first-child { margin-top: 0; }
.doc-paper__content p { margin: 0 0 1em; }
.doc-paper__content h2 {
  font-family: var(--font-serif);
  font-size: clamp(21px, 2vw, 27px);
  font-weight: 500;
  color: var(--ink);
  margin: 1.6em 0 0.6em;
  padding-bottom: 8px;
  position: relative;
}
.doc-paper__content h2::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 44px; height: 3px;
  border-radius: 2px;
  background: var(--gradient-brand);
}
.doc-paper__content h3 {
  font-family: var(--font-serif);
  font-size: clamp(17px, 1.6vw, 21px);
  font-weight: 500;
  color: var(--ink);
  margin: 1.4em 0 0.5em;
}
.doc-paper__content ul,
.doc-paper__content ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.doc-paper__content li { margin-bottom: 0.45em; }
.doc-paper__content li::marker { color: var(--violet); }
.doc-paper__content img { max-width: 100%; height: auto; border-radius: var(--radius-md); border: 1px solid var(--line); }
.doc-paper__content blockquote {
  margin: 1.2em 0;
  padding: 4px 0 4px var(--space-5);
  border-left: 3px solid var(--violet);
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--ink);
}
/* Inline PDF preview inside the paper card */
.doc-paper__preview {
  margin-top: var(--space-6);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--cream-2);
}
.doc-paper__preview embed {
  display: block;
  width: 100%;
  height: min(75vh, 900px);
  border: 0;
}
.doc-paper__preview-fallback {
  margin: 0;
  padding: 10px 16px;
  border-top: 1px solid var(--line);
  font-size: var(--text-small);
  color: var(--ink-3);
}
.doc-paper__preview-fallback a { color: var(--violet); font-weight: 600; }

/* Brand-style any Gutenberg buttons inside documents (e.g. Download) */
.doc-paper__content .wp-block-button__link {
  background: var(--gradient-brand) !important;
  color: white !important;
  border-radius: var(--radius-pill) !important;
  padding: 12px 26px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: var(--font-sans) !important;
}

@media print {
  .site-header, .site-footer, .doc-paper__bar, .page-hero--doc__actions { display: none !important; }
  .page-hero--doc { background: white !important; padding: 12px 0; }
  .page-hero--doc h1 { color: black; }
  .page-hero--doc .chip { display: none; }
  .doc-paper { box-shadow: none; border: 0; }
  .doc-paper__preview { display: none; }
}

.single-article {
  max-width: 720px; margin: 0 auto;
}

/* Block-composed pages.
   Default: every direct child gets the container max-width (1280px) with
   side padding — that's the right home for custom HTML blocks, image
   blocks, custom divs (.rl-wrap, .ahdam-ftlib, etc.), and most authored
   content.
   Narrower: text-like blocks (paragraphs, headings, lists, quotes) clamp
   to 720px for readability.
   Wider: alignfull and the ACF section blocks (which manage their own
   internal padding) blow out to the full viewport. */
.page-blocks { width: 100%; }
.page-blocks > * {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}
.page-blocks > * + * { margin-block-start: var(--space-6); }

.page-blocks > p,
.page-blocks > h1,
.page-blocks > h2,
.page-blocks > h3,
.page-blocks > h4,
.page-blocks > ul,
.page-blocks > ol,
.page-blocks > blockquote,
.page-blocks > .wp-block-paragraph,
.page-blocks > .wp-block-heading,
.page-blocks > .wp-block-list,
.page-blocks > .wp-block-quote {
  max-width: 720px;
}

.page-blocks > .alignfull,
.page-blocks > [class*="alignfull"],
.page-blocks > section.alignfull,
.page-blocks > .wp-block-acf-ahdam-hero,
.page-blocks > .wp-block-acf-ahdam-trust-strip,
.page-blocks > .wp-block-acf-ahdam-news-grid,
.page-blocks > .wp-block-acf-ahdam-knowledge-center-stats,
.page-blocks > .wp-block-acf-ahdam-member-spotlight,
.page-blocks > .wp-block-acf-ahdam-audience-pathways,
.page-blocks > .wp-block-acf-ahdam-cta-section {
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}
.single-article h2 { margin-top: var(--space-10); margin-bottom: var(--space-4); }
.single-article h3 { margin-top: var(--space-8); margin-bottom: var(--space-3); }
.single-article p { margin-bottom: 1em; font-size: var(--text-lead); color: var(--ink-2); line-height: 1.7; }
.single-article a { color: var(--violet); text-decoration: underline; text-underline-offset: 3px; }
.single-article ul, .single-article ol { padding-left: 1.4em; margin-bottom: 1em; color: var(--ink-2); }
.single-article ul { list-style: disc; }
.single-article ol { list-style: decimal; }
.single-article img { border-radius: var(--radius-lg); margin: var(--space-6) 0; }
.single-article blockquote {
  border-left: 3px solid var(--violet);
  padding: var(--space-3) var(--space-6);
  margin: var(--space-6) 0;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: var(--text-h4);
  color: var(--ink);
}

.archive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6);
}
@media (max-width: 900px) { .archive-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .archive-grid { grid-template-columns: 1fr; } }

.archive-filters {
  display: flex; flex-wrap: wrap; gap: var(--space-3);
  margin-bottom: var(--space-8);
  padding: var(--space-4);
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
}
.archive-filters input[type="search"] { max-width: 320px; }

.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-6);
}
@media (max-width: 900px) { .team-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .team-grid { grid-template-columns: 1fr; } }
.team-card { text-align: center; }
.team-card__avatar {
  width: 160px; height: 160px;
  border-radius: 50%;
  margin: 0 auto var(--space-4);
  overflow: hidden;
  background: var(--gradient-brand);
}
.team-card__avatar img { width: 100%; height: 100%; object-fit: cover; }
.team-card__name { font-family: var(--font-serif); font-size: var(--text-h4); }
.team-card__role { color: var(--ink-3); font-size: var(--text-small); margin-top: 4px; }

.pagination {
  display: flex; justify-content: center; gap: var(--space-2);
  margin-top: var(--space-12);
}
.pagination a, .pagination span {
  padding: 8px 14px;
  border-radius: var(--radius-md);
  border: 1px solid var(--line);
  color: var(--ink-2);
  font-size: var(--text-small);
  font-weight: 500;
}
.pagination .current { background: var(--ink); color: white; border-color: var(--ink); }
.pagination a:hover { border-color: var(--violet); color: var(--violet); }

.tipsheet-hero {
  display: flex; align-items: center; gap: var(--space-6);
}
.tipsheet-hero__icon {
  width: 88px; height: 88px;
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: center;
  font-size: 40px; color: var(--seafoam);
  flex-shrink: 0;
}

/* 404 / search */
.error-404 { text-align: center; padding-block: var(--space-20); }
.error-404 h1 { font-size: clamp(48px, 8vw, 96px); }
.error-404__msg { color: var(--ink-2); margin-top: var(--space-4); }
.error-404__actions { margin-top: var(--space-8); display: inline-flex; gap: var(--space-3); }

/* Modal (Contact form). Multi-stage entry: backdrop fades + un-blurs,
   panel rises from below with scale + a tiny overshoot, then intro
   content + form fields stagger in. */
.ahdam-modal {
  position: fixed; inset: 0; z-index: 300;
  display: none;
  align-items: center; justify-content: center;
  padding: var(--space-5);
  perspective: 1200px;
}
.ahdam-modal.is-open { display: flex; }
.ahdam-modal__backdrop {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at top, rgba(5, 13, 87, 0.55), rgba(15, 14, 42, 0.75) 70%);
  backdrop-filter: blur(8px) saturate(140%);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
  animation: modal-backdrop-in 500ms var(--ease-out-quart);
  opacity: 1;
}
.ahdam-modal__panel {
  position: relative;
  background: var(--cream);
  border: 1px solid rgba(255,255,255,0.6);
  border-radius: 22px;
  width: 100%;
  max-width: 960px;
  max-height: 86vh;
  overflow: hidden; /* let inner columns scroll */
  box-shadow:
    0 1px 0 rgba(255,255,255,0.5) inset,
    0 60px 120px -24px rgba(15, 14, 42, 0.55),
    0 24px 60px -16px rgba(15, 14, 42, 0.30),
    0 0 0 1px rgba(15, 14, 42, 0.04);
  animation: modal-panel-in 720ms cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: center 80%;
  will-change: transform, opacity;
}
.ahdam-modal__panel::before {
  /* moving sheen edge — settles as the panel arrives */
  content: "";
  position: absolute; inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(99,87,253,0.55), transparent 30%, transparent 70%, rgba(200,77,255,0.55));
  -webkit-mask: linear-gradient(white, white) content-box, linear-gradient(white, white);
          mask: linear-gradient(white, white) content-box, linear-gradient(white, white);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
  opacity: 0;
  animation: modal-sheen-in 900ms var(--ease-out-quart) 200ms forwards;
}
.ahdam-modal__close {
  position: absolute; top: 16px; right: 16px;
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  background: transparent;
  color: var(--ink-2);
  border-radius: 50%;
  font-size: 18px;
  z-index: 2;
  transition: background var(--dur-fast) var(--ease-out-cubic), color var(--dur-fast) var(--ease-out-cubic), transform var(--dur-fast) var(--ease-out-cubic);
}
.ahdam-modal__close:hover { background: rgba(15, 14, 42, 0.06); color: var(--ink); transform: rotate(90deg); }

.ahdam-modal__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;
  min-height: 0;
  max-height: 86vh;
  overflow-y: auto;
}
.ahdam-modal__intro {
  position: relative;
  padding: clamp(32px, 4vw, 52px);
  background: var(--navy);
  color: white;
  border-right: 1px solid rgba(255,255,255,0.06);
  display: flex; flex-direction: column; justify-content: center;
  overflow: hidden;
}
.ahdam-modal__intro::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(circle at 80% 20%, rgba(200, 77, 255, 0.28), transparent 50%),
    radial-gradient(circle at 15% 80%, rgba(0, 197, 193, 0.18), transparent 55%),
    radial-gradient(circle at 60% 95%, rgba(99, 87, 253, 0.24), transparent 55%);
  pointer-events: none;
}
.ahdam-modal__intro > * { position: relative; z-index: 1; }
.ahdam-modal__intro h2 {
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin-top: var(--space-3);
  color: white;
}
.ahdam-modal__intro h2 em {
  /* keep the gradient text fill working on the navy bg */
  background: linear-gradient(90deg, #C84DFF 0%, #00C5C1 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-style: italic;
}
.ahdam-modal__intro p { color: rgba(255, 255, 255, 0.78); }
.ahdam-modal__intro .eyebrow {
  color: var(--seafoam);
  background: rgba(0, 197, 193, 0.12);
  border-color: rgba(0, 197, 193, 0.30);
}
.ahdam-modal__intro a { color: white; text-decoration: underline; text-decoration-color: rgba(255,255,255,0.4); text-underline-offset: 3px; }
.ahdam-modal__intro a:hover { color: var(--seafoam); text-decoration-color: var(--seafoam); }
.ahdam-modal__form {
  padding: clamp(32px, 4vw, 52px);
  background: var(--cream);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ahdam-modal__form > form { width: 100%; }
@media (max-width: 760px) {
  .ahdam-modal__body { grid-template-columns: 1fr; }
  .ahdam-modal__intro { border-right: 0; border-bottom: 1px solid rgba(15, 14, 42, 0.06); padding-block: var(--space-8); }
  .ahdam-modal__form  { padding-block: var(--space-6); }
}

.ahdam-modal__form .gform_wrapper { margin: 0; }
.ahdam-modal__form .gform_wrapper label,
.ahdam-modal__form .gform_wrapper legend { color: var(--ink); font-weight: 500; font-size: var(--text-small); }
.ahdam-modal__form input[type="text"],
.ahdam-modal__form input[type="email"],
.ahdam-modal__form input[type="tel"],
.ahdam-modal__form input[type="url"],
.ahdam-modal__form textarea,
.ahdam-modal__form select {
  background: white !important;
  border: 1px solid rgba(15, 14, 42, 0.12) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  font-size: var(--text-body) !important;
  color: var(--ink) !important;
  transition: border-color var(--dur-fast) var(--ease-out-cubic), box-shadow var(--dur-fast) var(--ease-out-cubic);
}
.ahdam-modal__form input:focus,
.ahdam-modal__form textarea:focus {
  border-color: var(--violet) !important;
  box-shadow: 0 0 0 4px rgba(99, 87, 253, 0.16) !important;
  outline: none !important;
}
.ahdam-modal__form .gform_footer { margin-top: var(--space-5); padding: 0; }
.ahdam-modal__form .gform_button,
.ahdam-modal__form button[type="submit"] {
  background: var(--gradient-brand) !important;
  color: white !important;
  border: 0 !important;
  border-radius: var(--radius-pill) !important;
  padding: 13px 24px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: var(--font-sans) !important;
  cursor: pointer !important;
  transition: transform var(--dur-fast) var(--ease-out-cubic), box-shadow var(--dur-fast) var(--ease-out-cubic) !important;
}
.ahdam-modal__form .gform_button:hover,
.ahdam-modal__form button[type="submit"]:hover {
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow-gradient) !important;
}

.ahdam-modal__body { animation: none; }
.ahdam-modal.is-open .ahdam-modal__intro > * { opacity: 0; animation: modal-rise 700ms var(--ease-out-quart) forwards; }
.ahdam-modal.is-open .ahdam-modal__intro > *:nth-child(1) { animation-delay: 280ms; }
.ahdam-modal.is-open .ahdam-modal__intro > *:nth-child(2) { animation-delay: 360ms; }
.ahdam-modal.is-open .ahdam-modal__intro > *:nth-child(3) { animation-delay: 440ms; }
.ahdam-modal.is-open .ahdam-modal__intro > *:nth-child(4) { animation-delay: 520ms; }

.ahdam-modal.is-open .ahdam-modal__form .gfield,
.ahdam-modal.is-open .ahdam-modal__form .gform_footer {
  opacity: 0;
  animation: modal-rise 600ms var(--ease-out-quart) forwards;
}
.ahdam-modal.is-open .ahdam-modal__form .gfield:nth-of-type(1) { animation-delay: 480ms; }
.ahdam-modal.is-open .ahdam-modal__form .gfield:nth-of-type(2) { animation-delay: 540ms; }
.ahdam-modal.is-open .ahdam-modal__form .gfield:nth-of-type(3) { animation-delay: 600ms; }
.ahdam-modal.is-open .ahdam-modal__form .gfield:nth-of-type(4) { animation-delay: 660ms; }
.ahdam-modal.is-open .ahdam-modal__form .gfield:nth-of-type(5) { animation-delay: 720ms; }
.ahdam-modal.is-open .ahdam-modal__form .gform_footer        { animation-delay: 800ms; }

body.modal-open { overflow: hidden; }

@keyframes modal-backdrop-in {
  from { opacity: 0; backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0); }
  to   { opacity: 1; backdrop-filter: blur(8px) saturate(140%); -webkit-backdrop-filter: blur(8px) saturate(140%); }
}
@keyframes modal-panel-in {
  0%   { opacity: 0; transform: translateY(80px) scale(.94) rotateX(6deg); }
  50%  { opacity: 1; }
  100% { opacity: 1; transform: translateY(0) scale(1) rotateX(0); }
}
@keyframes modal-sheen-in {
  0%   { opacity: 0; }
  60%  { opacity: 1; }
  100% { opacity: 0.4; }
}
@keyframes modal-rise {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .ahdam-modal__backdrop,
  .ahdam-modal__panel,
  .ahdam-modal__panel::before,
  .ahdam-modal.is-open .ahdam-modal__intro > *,
  .ahdam-modal.is-open .ahdam-modal__form .gfield,
  .ahdam-modal.is-open .ahdam-modal__form .gform_footer {
    animation: none;
    opacity: 1;
    transform: none;
  }
  .ahdam-modal__close:hover { transform: none; }
}

/* Register modal — tier selection */
.register-tiers {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.register-tier-card {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: 14px var(--space-5);
  border: 2px solid var(--line);
  border-radius: var(--radius-lg);
  cursor: pointer;
  background: white;
  transition: border-color var(--dur-fast) var(--ease-out-cubic),
              background var(--dur-fast) var(--ease-out-cubic);
}
.register-tier-card:hover {
  border-color: rgba(99, 87, 253, 0.4);
  background: rgba(99, 87, 253, 0.03);
}

.register-tier__radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.register-tier-card__dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid rgba(15, 14, 42, 0.2);
  flex-shrink: 0;
  background: white;
  position: relative;
  transition: border-color var(--dur-fast) var(--ease-out-cubic);
}
.register-tier-card__dot::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--violet);
  opacity: 0;
  transition: opacity var(--dur-fast) var(--ease-out-cubic);
}

.register-tier__radio:checked ~ .register-tier-card__dot {
  border-color: var(--violet);
}
.register-tier__radio:checked ~ .register-tier-card__dot::after {
  opacity: 1;
}
.register-tier-card:has(.register-tier__radio:checked) {
  border-color: var(--violet);
  background: rgba(99, 87, 253, 0.05);
}
.register-tier-card:has(.register-tier__radio:checked) .register-tier-card__label {
  color: var(--ink);
  font-weight: 500;
}

.register-tier-card__label {
  font-size: var(--text-body);
  color: var(--ink-2);
  line-height: 1.3;
}

/* Register intro panel — tier descriptions list */
.register-tiers-desc {
  list-style: none;
  padding: 0;
  margin-top: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.register-tiers-desc li {
  font-size: var(--text-small);
  color: rgba(255, 255, 255, 0.82);
  padding-left: var(--space-5);
  position: relative;
  line-height: 1.5;
}
.register-tiers-desc li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--seafoam);
}
.register-tiers-desc strong { color: white; }
/* Override global em gradient rule — these are plain italic in the desc list */
.register-tiers-desc em {
  font-style: italic;
  color: rgba(255, 255, 255, 0.75);
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: initial;
}

/* Login modal — single narrow centered panel */
.ahdam-modal__panel--narrow {
  max-width: 480px;
  max-height: 90vh;
  overflow-y: auto;
}
.login-form-wrap {
  padding: 28px 32px 32px;
}
.login-form-wrap__head {
  padding-bottom: var(--space-6);
  border-bottom: 1px solid var(--line);
  margin-bottom: var(--space-6);
}
.login-form-wrap__footer {
  margin-top: var(--space-6);
  padding-top: var(--space-6);
  border-top: 1px solid var(--line);
  font-size: var(--text-small);
  color: var(--ink-3);
}
.login-form-wrap__footer a {
  color: var(--violet);
  font-weight: 500;
  margin-left: 4px;
}

/* WP login form inside the modal */
#loginform-modal { margin: 0; width: 100%; }
#loginform-modal > p,
#loginform-modal .user-pass-wrap { margin-bottom: var(--space-4); }
#loginform-modal label {
  font-size: var(--text-small);
  font-weight: 500;
  color: var(--ink);
  display: block;
  margin-bottom: 6px;
}
#loginform-modal .wp-pwd { position: relative; }
#loginform-modal .forgetmenot { margin-bottom: var(--space-4); }
#loginform-modal .forgetmenot label {
  display: flex; align-items: center; gap: 8px;
  font-weight: 400; cursor: pointer;
}
#loginform-modal .forgetmenot input[type="checkbox"] { width: auto; margin: 0; }
#loginform-modal .submit { margin-top: 0; padding: 0; }
#loginform-modal input[type="submit"] {
  display: block;
  width: 100%;
  padding: 13px 24px;
  background: var(--gradient-brand) !important;
  color: white !important;
  border: 0 !important;
  border-radius: var(--radius-pill) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: var(--font-sans) !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: transform var(--dur-fast) var(--ease-out-cubic),
              box-shadow var(--dur-fast) var(--ease-out-cubic) !important;
}
#loginform-modal input[type="submit"]:hover {
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow-gradient) !important;
}

/* MemberPress login form inside the modal — same form as /login,
   restyled to match the theme (markup comes from the plugin). */
#modal-login #mepr_loginform {
  margin: 0;
  width: 100%;
  text-align: left;
}
#modal-login #mepr_loginform .mp-form-row,
#modal-login #mepr_loginform > div { margin-bottom: var(--space-3); }
#modal-login #mepr_loginform label {
  font-size: var(--text-small);
  font-weight: 500;
  color: var(--ink);
  display: block;
  margin-bottom: 6px;
}
#modal-login #mepr_loginform input[type="text"],
#modal-login #mepr_loginform input[type="password"],
#modal-login #mepr_loginform input[type="email"] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  font-size: 15px;
  font-family: var(--font-sans);
  color: var(--ink);
  background: white;
  box-sizing: border-box;
}
#modal-login #mepr_loginform input[type="text"]:focus,
#modal-login #mepr_loginform input[type="password"]:focus,
#modal-login #mepr_loginform input[type="email"]:focus {
  outline: none;
  border-color: var(--violet);
  box-shadow: 0 0 0 3px rgba(99, 87, 253, 0.15);
}
#modal-login #mepr_loginform .mp-hide-pw {
  background: transparent;
  border: 0;
  color: var(--ink-3);
  cursor: pointer;
  padding: 4px;
}
#modal-login #mepr_loginform input[type="checkbox"] {
  width: auto;
  margin: 0 8px 0 0;
}
#modal-login #mepr_loginform label[for="rememberme"] {
  display: inline-flex;
  align-items: center;
  font-weight: 400;
  cursor: pointer;
  margin-bottom: 0;
}
#modal-login #mepr_loginform input[type="submit"] {
  display: block;
  width: 100%;
  padding: 13px 24px;
  background: var(--gradient-brand) !important;
  color: white !important;
  border: 0 !important;
  border-radius: var(--radius-pill) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: var(--font-sans) !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: transform var(--dur-fast) var(--ease-out-cubic),
              box-shadow var(--dur-fast) var(--ease-out-cubic) !important;
}
#modal-login #mepr_loginform input[type="submit"]:hover {
  transform: translateY(-1px) !important;
  box-shadow: var(--shadow-gradient) !important;
}
#modal-login #mepr_error_msg,
#modal-login .mepr_error {
  color: #b32d2e;
  font-size: var(--text-small);
  margin-bottom: var(--space-3);
}

/* =============================================================
   MISSION & PURPOSE PAGE  (page-mission.php)
   ============================================================= */

/* Hero — navy, two-column with stats card */
.mission-hero {
  position: relative;
  background: var(--navy);
  color: white;
  overflow: hidden;
  padding-block: clamp(40px, 5vw, 64px);
}
.mission-hero::before {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(circle at 72% 12%, rgba(200,77,255,0.22), transparent 42%),
    radial-gradient(circle at 15% 85%, rgba(0,197,193,0.14), transparent 48%),
    radial-gradient(circle at 50% 50%, rgba(99,87,253,0.10),  transparent 60%);
  pointer-events: none;
}
.mission-hero__inner {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: var(--space-16);
  align-items: center;
}
@media (max-width: 860px) {
  .mission-hero__inner { grid-template-columns: 1fr; gap: var(--space-10); }
  .mission-hero__aside { display: none; }
}
.mission-hero__text {
  width: 100%;
  min-width: 0;
}
.mission-hero .eyebrow { margin-bottom: var(--space-5); }
.mission-hero__headline {
  font-family: var(--font-serif);
  font-size: clamp(36px, 4.2vw, 56px);
  line-height: 1.04;
  letter-spacing: -0.03em;
  font-weight: 500;
  color: white;
  margin: 0;
}
.mission-hero__headline em {
  display: block;
  background: linear-gradient(90deg, #6357FD 0%, #C84DFF 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-style: italic;
}
.mission-hero__sub {
  margin-top: var(--space-5);
  font-size: clamp(16px, 1.5vw, 18px);
  color: rgba(255,255,255,0.74);
  line-height: 1.68;
  max-width: 560px;
}
.mission-hero__ctas {
  display: flex;
  gap: var(--space-4);
  flex-wrap: wrap;
  margin-top: var(--space-8);
}
.btn--ghost-light {
  background: rgba(255,255,255,0.08);
  color: white;
  border: 1px solid rgba(255,255,255,0.22);
  border-radius: var(--radius-pill);
  padding: 13px 22px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  transition: background var(--dur-fast) var(--ease-out-cubic),
              border-color var(--dur-fast) var(--ease-out-cubic);
}
.btn--ghost-light:hover {
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.38);
}
/* Right testimonial card — quote text is the page's editor content */
.mission-hero__quote {
  position: relative;
  margin: 0;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-xl);
  padding: 32px 28px 28px;
}
.mission-hero__quote-mark {
  font-family: var(--font-serif);
  font-size: 56px;
  line-height: 0.5;
  background: linear-gradient(90deg, var(--seafoam) 0%, #6357FD 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  margin-bottom: var(--space-4);
}
.mission-hero__quote blockquote {
  margin: 0;
  font-family: var(--font-serif);
  font-size: clamp(16px, 1.5vw, 19px);
  font-style: italic;
  line-height: 1.6;
  color: rgba(255,255,255,0.92);
}
.mission-hero__quote figcaption {
  margin-top: var(--space-4);
  font-size: 13px;
  color: rgba(255,255,255,0.58);
}

/* Mission / Vision — clean cards on cream background */
.mission-pillars {
  background: var(--cream);
  padding-block: clamp(56px, 7vw, 80px);
}

/* "What is AHDAM?" intro folded into the pillars section */
.mission-pillars__intro {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
  margin-bottom: clamp(40px, 5vw, 56px);
}
.mission-pillars__intro-heading {
  font-family: var(--font-serif);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.1;
  color: var(--ink);
  margin: 0 0 var(--space-5);
}
.mission-pillars__intro-heading em {
  font-style: italic;
  background: var(--gradient-brand);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.mission-pillars__lead {
  font-family: var(--font-serif);
  font-size: clamp(18px, 1.8vw, 23px);
  font-style: italic;
  color: var(--ink);
  line-height: 1.5;
  margin: 0 0 var(--space-5);
}
.mission-pillars__intro-body {
  font-size: clamp(15px, 1.3vw, 17px);
  color: var(--ink-2);
  line-height: 1.75;
  margin: 0;
}

.mission-pillars__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
}
@media (max-width: 680px) {
  .mission-pillars__grid { grid-template-columns: 1fr; }
}
.mission-pillar-card {
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: 36px 32px 32px;
  position: relative;
  overflow: hidden;
}
.mission-pillar-card__accent {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}
.mission-pillar-card--mission .mission-pillar-card__accent {
  background: linear-gradient(90deg, var(--violet), var(--pink));
}
.mission-pillar-card--vision .mission-pillar-card__accent {
  background: linear-gradient(90deg, var(--seafoam), var(--violet));
}
.mission-pillar-card__kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: var(--space-4);
}
.mission-pillar-card__heading {
  font-family: var(--font-serif);
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--ink);
  margin-bottom: var(--space-4);
}
.mission-pillar-card__body {
  color: var(--ink-2);
  font-size: var(--text-body);
  line-height: 1.7;
}

/* Board of Directors — cream, clean horizontal rows */
.mission-board {
  background: var(--cream);
  padding-block: clamp(64px, 8vw, 96px);
}
.mission-board__head {
  max-width: 560px;
  margin-bottom: clamp(40px, 5vw, 56px);
}
.mission-board__head h2 em {
  background: linear-gradient(90deg, #6357FD 0%, #C84DFF 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  font-style: italic;
}
.mission-board__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid var(--line);
}
.mission-board-card {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: var(--space-6);
  align-items: start;
  padding-block: clamp(28px, 3.5vw, 36px);
  border-bottom: 1px solid var(--line);
}
@media (max-width: 560px) {
  .mission-board-card { grid-template-columns: 1fr; gap: var(--space-4); }
}
.mission-board-card__avatar {
  width: 88px; height: 88px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
.mission-board-card__avatar img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.mission-board-card__initials {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-serif);
  font-size: 26px;
  font-weight: 500;
  color: white;
}
.mission-board-card__content { padding-top: 4px; }
.mission-board-card__name {
  font-family: var(--font-serif);
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 500;
  letter-spacing: -0.018em;
  color: var(--ink);
  line-height: 1.2;
  margin: 0 0 var(--space-1);
}
.mission-board-card__role {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--violet);
  margin-bottom: var(--space-3);
}
.mission-board-card__bio {
  font-size: var(--text-small);
  color: var(--ink-2);
  line-height: 1.7;
}
.mission-board-card__bio p { color: var(--ink-2); margin: 0; }
.mission-board-card__bio p + p { margin-top: 0.7em; }

/* Knowledge Center — [knowledge_center] shortcode (inc/knowledge-center.php) */
.rl-wrap {
  font-family: var(--font-sans);
  color: var(--ink);
  padding-top: clamp(32px, 4vw, 56px);
  padding-bottom: var(--space-12);
}

/* Knowledge Center hero header */
.kc-hero {
  position: relative;
  background: var(--navy);
  border-radius: var(--radius-xl);
  overflow: hidden;
  padding: clamp(36px, 4vw, 52px) 32px;
  margin-bottom: var(--space-8);
}
.kc-hero::before {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(circle at 85% 20%, rgba(200,77,255,0.28), transparent 45%),
    radial-gradient(circle at 10% 85%, rgba(0,197,193,0.16), transparent 50%),
    radial-gradient(circle at 55% 110%, rgba(99,87,253,0.20), transparent 50%);
  pointer-events: none;
}
.kc-hero::after {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='120' height='120' filter='url(%23n)' opacity='0.4'/></svg>");
  mix-blend-mode: overlay; opacity: 0.18; pointer-events: none;
}
.kc-hero__inner {
  position: relative; z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-4);
}
.kc-hero .eyebrow {
  color: var(--seafoam);
  background: rgba(0,197,193,0.12);
  border-color: rgba(0,197,193,0.30);
  display: inline-flex;
}
.kc-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.1;
  color: white;
  margin: 0;
}
.kc-hero__title em {
  background: linear-gradient(90deg, #6357FD 0%, #C84DFF 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  font-style: italic;
}

.rl-layout { display: flex; gap: var(--space-8); align-items: flex-start; }
@media (max-width: 820px) { .rl-layout { flex-direction: column; } }

.rl-sidebar { flex: 0 0 240px; width: 240px; position: sticky; top: 84px; }
@media (max-width: 820px) { .rl-sidebar { width: 100%; flex: none; position: static; } }

.rl-search-box { position: relative; margin-bottom: var(--space-4); }
.rl-search-box input {
  width: 100%; box-sizing: border-box;
  border: 1px solid var(--line); border-radius: var(--radius-pill);
  padding: 10px 16px; font-size: var(--text-small); color: var(--ink);
  background: white; outline: none;
  transition: border-color var(--dur-fast) var(--ease-out-cubic), box-shadow var(--dur-fast) var(--ease-out-cubic);
}
.rl-search-box input:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(99,87,253,0.18); }

.rl-filter-section { background: white; border: 1px solid var(--line); border-radius: var(--radius-lg); margin-bottom: var(--space-3); overflow: hidden; }
.rl-filter-header {
  background: var(--navy); color: white;
  font-size: var(--text-meta); font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.07em;
  padding: 10px 14px;
}
.rl-filter-body { padding: 8px 14px 12px; }

.rl-check-item {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 0; cursor: pointer;
  font-size: var(--text-small); color: var(--ink);
  transition: color var(--dur-fast) var(--ease-out-cubic);
}
.rl-check-item:hover { color: var(--violet); }
.rl-check-item input[type="checkbox"] {
  appearance: none; -webkit-appearance: none;
  width: 16px; height: 16px;
  border: 2px solid var(--line); border-radius: 3px;
  background: white; flex-shrink: 0; cursor: pointer; position: relative;
  transition: background var(--dur-fast) var(--ease-out-cubic), border-color var(--dur-fast) var(--ease-out-cubic);
  margin: 0;
}
.rl-check-item input[type="checkbox"]:checked { background: var(--violet); border-color: var(--violet); }
.rl-check-item input[type="checkbox"]:checked::after {
  content: ""; position: absolute; top: 1px; left: 4px;
  width: 4px; height: 8px;
  border: 2px solid white; border-top: none; border-left: none;
  transform: rotate(45deg);
}

.rl-check-count {
  margin-left: auto;
  font-size: var(--text-micro); font-weight: 500;
  color: var(--ink-3); background: var(--cream-2);
  border-radius: var(--radius-pill); padding: 1px 8px;
  flex-shrink: 0;
}

.rl-clear-btn {
  display: none;
  width: 100%; padding: 9px 14px;
  background: transparent; color: var(--ink-2);
  border: 1px solid var(--line); border-radius: var(--radius-pill);
  font-size: var(--text-small); font-weight: 500; font-family: var(--font-sans);
  cursor: pointer; margin-top: var(--space-2);
  transition: border-color var(--dur-fast) var(--ease-out-cubic), color var(--dur-fast) var(--ease-out-cubic);
}
.rl-clear-btn:hover { border-color: var(--violet); color: var(--violet); }

.rl-main { flex: 1; min-width: 0; }

.rl-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3); margin-bottom: var(--space-5); }
.rl-count { font-size: var(--text-small); color: var(--ink-3); margin: 0; }
.rl-count strong { color: var(--ink); font-weight: 600; }
.rl-sort-wrap { display: flex; align-items: center; gap: 8px; font-size: var(--text-small); color: var(--ink-3); }
.rl-sort-wrap label { margin: 0; font-weight: 400; color: var(--ink-3); font-size: var(--text-small); }
.rl-sort-wrap select {
  border: 1px solid var(--line); border-radius: var(--radius-pill);
  padding: 7px 14px; font-size: var(--text-small);
  color: var(--ink); background: white; cursor: pointer; outline: none;
  transition: border-color var(--dur-fast) var(--ease-out-cubic);
}
.rl-sort-wrap select:focus { border-color: var(--violet); }

.rl-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: var(--space-5); min-height: 1px; }
.rl-chip {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 12px; border-radius: var(--radius-pill);
  font-size: var(--text-micro); font-weight: 500;
  color: white; background: var(--gradient-brand);
  cursor: pointer; transition: opacity var(--dur-fast) var(--ease-out-cubic);
  border: 0;
}
.rl-chip:hover { opacity: 0.85; }

.rl-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}
@media (max-width: 1080px) { .rl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px)  { .rl-grid { grid-template-columns: 1fr; } }

.rl-card {
  background: white;
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex; flex-direction: column;
  text-decoration: none; color: var(--ink);
  transition: transform var(--dur-base) var(--ease-out-cubic),
              box-shadow var(--dur-base) var(--ease-out-cubic),
              border-color var(--dur-base) var(--ease-out-cubic);
}
.rl-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); border-color: rgba(99,87,253,0.4); color: var(--ink); }

.rl-card-img {
  height: 160px;
  background: linear-gradient(135deg, var(--violet), var(--pink));
  position: relative; overflow: hidden;
  flex-shrink: 0;
}
.rl-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; position: absolute; inset: 0; }
.rl-card-tag {
  position: absolute; top: 10px; left: 10px;
  background: rgba(5, 13, 87, 0.85); color: white;
  font-size: var(--text-micro); font-weight: 500;
  text-transform: uppercase; letter-spacing: 0.06em;
  padding: 4px 10px; border-radius: var(--radius-pill);
  backdrop-filter: blur(6px);
}

.rl-card-body { padding: 16px 18px 18px; flex: 1; display: flex; flex-direction: column; }
.rl-card-title {
  font-family: var(--font-serif);
  font-size: 17px; font-weight: 500; line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--ink); margin: 0 0 var(--space-3);
}
.rl-card-excerpt { font-size: var(--text-small); color: var(--ink-2); line-height: 1.5; flex: 1; margin: 0 0 var(--space-3); }
.rl-card-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: var(--space-3);
  margin-top: auto;
  border-top: 1px solid var(--line);
  font-size: var(--text-small); color: var(--ink-3);
}
.rl-card-cta { font-weight: 500; color: var(--violet); }
.rl-card:hover .rl-card-cta { color: var(--pink); }

.rl-empty { display: none; text-align: center; padding: var(--space-20) var(--space-5); color: var(--ink-3); }
.rl-empty.show { display: block; }
.rl-empty-icon { font-size: 40px; margin-bottom: var(--space-3); }
.rl-empty h3 { font-family: var(--font-serif); font-size: var(--text-h4); color: var(--ink); margin: 0 0 var(--space-2); }
.rl-empty p { font-size: var(--text-small); margin: 0; }

/* 9. Reveal patterns — SmarterDx-style: 900ms confident fade+rise with
   a small initial transform (no aggressive translate). Subtle scale
   for depth on group reveals. Gated on .js so no-JS users see content. */
.js [data-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity var(--dur-reveal) var(--ease-out-quart),
              transform var(--dur-reveal) var(--ease-out-quart);
}
.js [data-reveal].is-revealed { opacity: 1; transform: none; }

.js [data-reveal="stagger"] { opacity: 1; transform: none; }
.js [data-reveal="stagger"] > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--dur-reveal) var(--ease-out-quart),
              transform var(--dur-reveal) var(--ease-out-quart);
}
.js [data-reveal="stagger"].is-revealed > * { opacity: 1; transform: none; }
.js [data-reveal="stagger"].is-revealed > *:nth-child(1) { transition-delay: 0ms; }
.js [data-reveal="stagger"].is-revealed > *:nth-child(2) { transition-delay: 100ms; }
.js [data-reveal="stagger"].is-revealed > *:nth-child(3) { transition-delay: 200ms; }
.js [data-reveal="stagger"].is-revealed > *:nth-child(4) { transition-delay: 300ms; }
.js [data-reveal="stagger"].is-revealed > *:nth-child(5) { transition-delay: 400ms; }
.js [data-reveal="stagger"].is-revealed > *:nth-child(6) { transition-delay: 500ms; }
.js [data-reveal="stagger"].is-revealed > *:nth-child(7) { transition-delay: 600ms; }
.js [data-reveal="stagger"].is-revealed > *:nth-child(8) { transition-delay: 700ms; }

.js [data-reveal="mask"] {
  opacity: 1; transform: none;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1100ms var(--ease-out-quint);
}
.js [data-reveal="mask"].is-revealed { clip-path: inset(0 0 0 0); }

.js [data-reveal="scale-fade"] { opacity: 0; transform: scale(.92); }
.js [data-reveal="scale-fade"].is-revealed { opacity: 1; transform: scale(1); }

.js [data-reveal="draw-in"] {
  transform: scaleX(0); transform-origin: left center;
  opacity: 1;
  transition: transform 700ms var(--ease-out-quart) 200ms;
}
.js [data-reveal="draw-in"].is-revealed { transform: scaleX(1); }

/* Hero load choreography — slower, more confident SmarterDx cadence.
   Total envelope ~1.6s. Each element rises from a smaller offset
   (12-16px) instead of 12px-jumping; ease-out-quart for the settle. */
.js .hero-eyebrow,
.js .hero h1,
.js .hero__sub,
.js .hero__ctas > *,
.js .hero__stats,
.js .live-feature { opacity: 0; }
.js body.is-loaded .hero-eyebrow { animation: hero-rise 800ms var(--ease-out-quart) 100ms both; }
.js body.is-loaded .hero h1       { animation: hero-rise 1000ms var(--ease-out-quart) 200ms both; }
.js body.is-loaded .hero__sub     { animation: hero-rise 900ms var(--ease-out-quart) 500ms both; }
.js body.is-loaded .hero__ctas > * { animation: hero-rise 800ms var(--ease-out-quart) calc(800ms + var(--cta-index, 0) * 100ms) both; }
.js body.is-loaded .hero__stats    { animation: hero-rise 900ms var(--ease-out-quart) 1000ms both; }
.js body.is-loaded .live-feature   { animation: hero-rise-card 1000ms var(--ease-out-quart) 1100ms both; }

/* Failsafe: if boot() never fires (script blocked, cache plugin, JS error)
   force everything visible 3s after parse. The is-loaded animations above
   override via specificity + `animation:` shorthand, so this only kicks
   when the normal animations never start. */
.js [data-reveal],
.js [data-reveal="stagger"] > *,
.js .hero-eyebrow,
.js .hero h1,
.js .hero__sub,
.js .hero__ctas > *,
.js .hero__stats,
.js .live-feature {
  animation: reveal-failsafe 0.01s linear 3s forwards;
}
@keyframes reveal-failsafe { to { opacity: 1; transform: none; clip-path: inset(0 0 0 0); } }

@keyframes hero-rise      { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@keyframes hero-rise-card { from { opacity: 0; transform: translateY(28px) scale(.97); } to { opacity: 1; transform: none; } }

/* View transitions */
::view-transition-old(site-logo),
::view-transition-new(site-logo) {
  animation-duration: var(--dur-slow);
  animation-timing-function: var(--ease-in-out);
}
::view-transition-group(page-hero) {
  animation-duration: var(--dur-slow);
  animation-timing-function: var(--ease-in-out);
}
::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: var(--dur-base);
}

/* 10. Reduced motion + print ----------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .hero::before { animation: none; }
  .accent-grad, h1 em, h2 em, h3 em, h4 em { animation: none; background-position: 0% 50%; }
  .pulse-dot { animation: none; }
  .trust-marquee .trust-row { animation: none; overflow-x: auto; }
  .btn:hover, [data-magnet]:hover { transform: none; }
  .card:hover { transform: none; box-shadow: none; }
  .btn--primary::after { display: none; }
  .hero-eyebrow,
  .hero h1,
  .hero__sub,
  .hero__ctas > *,
  .hero__stats,
  .live-feature { opacity: 1 !important; animation: none !important; }
  .hero-word-inner { animation: none !important; }
  ::view-transition-old(*),
  ::view-transition-new(*),
  ::view-transition-group(*) { animation-duration: 0ms !important; }
}

@media print {
  .site-header, .site-footer, .mobile-nav, .btn { display: none !important; }
  body { background: white; color: black; }
  a { color: black; text-decoration: underline; }
}

/* ===========================================================
   BOLD VARIANT — homepage layout inspired by AppealHub
   Brand tokens stay AHDAM (navy / violet / pink / seafoam).
   Adds: terminal, bento, engine tabs, marquee, how-list, team grid.
   =========================================================== */

.bold {
  /* local helpers */
  --bold-mono: ui-monospace, 'JetBrains Mono', 'SF Mono', Menlo, monospace;
  --bold-surface: #0a1136;
  --bold-surface-2: #0e1742;
  --bold-line: rgba(255,255,255,0.08);
  --bold-line-2: rgba(255,255,255,0.14);
  --bold-text-2: rgba(255,255,255,0.78);
  --bold-muted: rgba(255,255,255,0.55);
}

.bold-sec-head { margin-bottom: 2.5rem; }
.bold-sec-head h2 { max-width: 880px; font-size: clamp(28px, 3.6vw, 48px); }
.bold-sec-head h2 em { font-style: italic; background: linear-gradient(90deg, #6357FD, #C84DFF); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

.kicker {
  display: inline-flex; align-items: center; gap: .65rem;
  font-family: var(--bold-mono);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: 1rem;
}
.bold .kicker { color: rgba(255,255,255,0.65); }
.k-num { color: var(--seafoam); font-weight: 600; }

.hl-text {
  background: linear-gradient(90deg, #C84DFF, #00C5C1);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  font-style: italic;
}

/* Bold buttons */
.btn-bold {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: 14px 22px;
  font-weight: 500; font-size: 14px;
  font-family: var(--font-sans);
  border-radius: 999px;
  border: 1px solid transparent;
  transition: transform .25s var(--ease-out-cubic), box-shadow .25s var(--ease-out-cubic), background .25s, border-color .25s, color .25s;
  white-space: nowrap; cursor: pointer;
  text-decoration: none;
  line-height: 1;
}
.btn-bold--primary { background: var(--gradient-brand); color: white; }
.btn-bold--primary:hover { transform: translateY(-2px); box-shadow: var(--shadow-gradient); color: white; }
.btn-bold--primary .arrow { transition: transform .25s var(--ease-out-cubic); display: inline-block; }
.btn-bold--primary:hover .arrow { transform: translateX(4px); }
.btn-bold--ghost { background: rgba(255,255,255,0.04); color: white; border-color: rgba(255,255,255,0.20); }
.btn-bold--ghost:hover { background: rgba(255,255,255,0.08); border-color: var(--seafoam); color: var(--seafoam); }
.btn-bold--ghost .play-icon { font-size: 11px; color: var(--seafoam); }

/* HERO ------------------------------------------------------ */
.bold-hero {
  background: var(--navy);
  color: white;
  padding-block: 60px 0;
  position: relative;
  overflow: hidden;
}
.bold-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(circle at 85% 20%, rgba(200, 77, 255, 0.30), transparent 50%),
    radial-gradient(circle at 15% 80%, rgba(0, 197, 193, 0.18), transparent 50%),
    radial-gradient(circle at 60% 95%, rgba(99, 87, 253, 0.24), transparent 55%);
  pointer-events: none;
}
.bold-hero .container { position: relative; z-index: 1; }

.bold-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 50px;
  align-items: center;
}
/* Grid items must never stretch beyond their fr track — long nowrap
   content (e.g. a real webinar title in the terminal) ellipsizes
   instead of squeezing the other column. */
.bold-hero__grid > * { min-width: 0; }
@media (max-width: 1000px) {
  .bold-hero__grid { grid-template-columns: 1fr; gap: 32px; }
}

.bold-hero__badge {
  display: inline-flex; align-items: center; gap: .6rem;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  font-size: 12px; color: rgba(255,255,255,0.85);
  margin-bottom: 1.6rem;
}

.bold-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(2.4rem, 6vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.025em;
  margin: 0 0 1.2rem;
  font-weight: 500;
  color: white;
}
.bold-hero__title em {
  font-style: italic;
  background: linear-gradient(90deg, #6357FD, #C84DFF);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.cursor-block {
  display: inline-block;
  width: .5em; height: .85em;
  background: var(--seafoam);
  margin-left: .15em;
  vertical-align: -10%;
  animation: cursor-blink 1.1s steps(2) infinite;
  box-shadow: 0 0 16px rgba(0, 197, 193, .5);
}
@keyframes cursor-blink { 50% { opacity: 0; } }

.bold-hero__lede {
  font-size: 17px; color: rgba(255,255,255,0.78);
  max-width: 540px; line-height: 1.55;
  margin: 0 0 2rem;
}
.bold-hero__actions {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin-bottom: 2rem;
}
.btn-magnetic { will-change: transform; }

.bold-hero__meta {
  display: flex; align-items: center; gap: 0;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(255,255,255,0.12);
  flex-wrap: wrap;
}
.bold-hero__meta .meta-item { display: flex; flex-direction: column; flex: 1; min-width: 80px; }
.bold-hero__meta .meta-num {
  font-family: var(--font-serif);
  font-size: 28px; font-weight: 500;
  color: var(--seafoam); line-height: 1;
  margin-bottom: 4px;
  font-variant-numeric: tabular-nums;
}
.bold-hero__meta .meta-lbl {
  font-family: var(--bold-mono);
  font-size: 10px; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,0.55);
}
.bold-hero__meta .meta-sep { width: 1px; height: 36px; background: rgba(255,255,255,0.10); margin: 0 18px; }

/* Terminal -------------------------------------------------- */
.terminal {
  background: var(--bold-surface);
  border: 1px solid var(--bold-line-2);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 30px 60px -20px rgba(5, 13, 87, 0.6);
  font-family: var(--bold-mono);
}
.term-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px;
  background: rgba(255,255,255,0.03);
  border-bottom: 1px solid var(--bold-line);
}
.term-dots { display: inline-flex; gap: 6px; }
.term-dots i { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,0.18); display: inline-block; }
.term-dots i:first-child { background: #FF6B6B; }
.term-dots i:nth-child(2) { background: #FFB84D; }
.term-dots i:last-child { background: var(--seafoam); }
.term-title {
  font-size: 11px; color: rgba(255,255,255,0.55);
  letter-spacing: 0.04em;
}
.term-status {
  font-size: 10px; color: var(--seafoam);
  letter-spacing: 0.12em; text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 6px;
}
.term-body {
  padding: 18px 20px 20px;
  font-size: 12.5px;
  line-height: 1.85;
  color: rgba(255,255,255,0.85);
  background: linear-gradient(180deg, rgba(99,87,253,0.04), transparent 30%);
}
/* Lines wrap like a real terminal — no mid-sentence ellipsis. */
.term-line { white-space: normal; overflow-wrap: break-word; }
.term-line .prompt { color: var(--seafoam); margin-right: 8px; }
.term-line.out { color: rgba(255,255,255,0.72); padding-left: 18px; }
.term-line .ok { color: var(--seafoam); margin-right: 8px; }
.term-line .hl { color: white; font-weight: 500; background: rgba(99,87,253,0.18); padding: 1px 6px; border-radius: 4px; }
.term-line.drafting .spin { display: inline-block; animation: term-spin 1.2s linear infinite; color: var(--pink); margin-right: 8px; }
@keyframes term-spin { to { transform: rotate(360deg); } }
.term-line .progress { display: inline-block; width: 80px; height: 4px; background: rgba(255,255,255,0.10); border-radius: 2px; margin: 0 8px; vertical-align: middle; overflow: hidden; }
.term-line .progress i { display: block; height: 100%; width: 87%; background: var(--gradient-brand); border-radius: 2px; animation: term-progress 2.4s ease-in-out infinite; }
@keyframes term-progress { 0%, 100% { width: 87%; } 50% { width: 93%; } }
.term-line .pct { color: var(--pink); font-variant-numeric: tabular-nums; }
.term-line .blink { color: var(--seafoam); animation: cursor-blink 1.1s steps(2) infinite; }

/* Built-on strip ------------------------------------------- */
.bold-strip {
  margin-top: 60px;
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-block: 18px;
}
.bold-strip__inner {
  display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
  font-family: var(--bold-mono);
  font-size: 12px; color: rgba(255,255,255,0.70);
}
.bold-strip__label { letter-spacing: 0.04em; color: rgba(255,255,255,0.45); }
.bold-strip__stat b { color: white; font-weight: 600; }
.bold-strip__dot { color: rgba(255,255,255,0.20); font-size: 8px; }

/* BENTO ----------------------------------------------------- */
.bold-problem { background: var(--cream); padding-block: clamp(56px, 7vw, 96px); }
.bento {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 16px;
}
@media (max-width: 900px) { .bento { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .bento { grid-template-columns: 1fr; } }

.cell {
  background: white;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px;
  position: relative; overflow: hidden;
  transition: transform .3s var(--ease-out-cubic), box-shadow .3s var(--ease-out-cubic), border-color .3s var(--ease-out-cubic);
}
.cell:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); border-color: rgba(99,87,253,0.30); }
.cell::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(400px circle at var(--mx, 50%) var(--my, 50%), rgba(99,87,253,0.06), transparent 60%);
  pointer-events: none; opacity: 0; transition: opacity .35s var(--ease-out-cubic);
}
.cell:hover::before { opacity: 1; }
.cell--big { grid-row: span 2; grid-column: span 1; display: flex; flex-direction: column; }
.cell--wide { grid-column: span 2; }
@media (max-width: 600px) { .cell--big, .cell--wide { grid-column: auto; grid-row: auto; } }

.cell-tag {
  display: inline-flex; align-items: center; padding: 4px 10px;
  border-radius: 999px;
  font-family: var(--bold-mono);
  font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
  background: rgba(99,87,253,0.10); color: var(--violet);
  margin-bottom: 16px;
}
.cell-tag--warn { background: rgba(255,107,107,0.10); color: #D94B4B; }
.cell-tag--good { background: rgba(0,197,193,0.12); color: var(--seafoam-dark); }
.cell-tag--accent { background: rgba(200,77,255,0.10); color: var(--pink); }

.big-num {
  font-family: var(--font-serif);
  font-size: clamp(56px, 7vw, 96px);
  line-height: 1; font-weight: 500;
  letter-spacing: -0.04em;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.big-num em { font-style: italic; font-size: 0.6em; color: var(--violet); margin-left: 4px; }
.big-num--accent em { color: var(--pink); }

.med-num {
  font-family: var(--font-serif);
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1; font-weight: 500;
  letter-spacing: -0.03em;
  color: var(--ink);
  margin-bottom: 12px;
  font-variant-numeric: tabular-nums;
}
.cell-label { color: var(--ink-2); font-size: 14px; line-height: 1.5; margin-top: 12px; }
.cell-label strong { color: var(--ink); font-weight: 500; }

.bars { display: flex; align-items: end; gap: 6px; margin-top: auto; padding-top: 24px; height: 90px; }
.bars i { display: block; flex: 1; height: var(--h); background: linear-gradient(180deg, var(--violet), var(--pink)); border-radius: 4px 4px 0 0; opacity: 0.85; transition: opacity .25s; }
.cell:hover .bars i { opacity: 1; }

.ratio { width: 100%; height: 6px; background: rgba(15, 14, 42, 0.06); border-radius: 3px; margin-top: 16px; overflow: hidden; }
.r-fill { display: block; height: 100%; background: var(--pink); border-radius: 3px; transform-origin: left; animation: ratio-grow 1.6s var(--ease-out-quart) both; }
.r-fill--good { background: var(--seafoam); }
@keyframes ratio-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.spark { width: 100%; height: 60px; margin-top: 16px; }

/* ENGINE ---------------------------------------------------- */
.bold-engine { background: var(--cream); padding-block: clamp(56px, 7vw, 96px); }

.engine-shell {
  background: var(--navy);
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 30px 80px -30px rgba(5, 13, 87, 0.4);
}
.engine-shell::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(circle at 80% 0%, rgba(200,77,255,0.18), transparent 50%),
    radial-gradient(circle at 0% 100%, rgba(0,197,193,0.12), transparent 50%);
  pointer-events: none;
}

.engine-tabs {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 3px;
  padding: 16px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.tab {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 18px;
  background: transparent;
  border: 0;
  border-radius: 12px;
  color: rgba(255,255,255,0.65);
  font-family: var(--font-sans); font-size: 14px; font-weight: 500;
  cursor: pointer;
  transition: color .25s var(--ease-out-cubic);
  position: relative; z-index: 2;
}
.tab:hover { color: white; }
.tab.active { color: white; }
.tab .t-num { font-family: var(--bold-mono); font-size: 11px; color: var(--seafoam); letter-spacing: 0.1em; }
.tab.active .t-num { color: var(--pink); }
.tab-indicator {
  position: absolute;
  top: 16px; left: 16px;
  width: calc((100% - 32px - 9px) / 4);
  height: calc(100% - 32px);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 12px;
  z-index: 1;
  transition: transform .5s var(--ease-out-quart);
}

.engine-body {
  position: relative; z-index: 1;
  padding: 32px;
  min-height: 360px;
}
.panel { display: none; }
.panel.active { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; animation: panel-in .6s var(--ease-out-quart); }
@media (max-width: 800px) { .panel.active { grid-template-columns: 1fr; } }
@keyframes panel-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

.p-side h3 { font-family: var(--font-serif); font-size: 24px; color: white; line-height: 1.2; margin: 0 0 14px; }
.p-side p { color: rgba(255,255,255,0.72); font-size: 15px; line-height: 1.55; margin: 0 0 18px; }
.dots { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.dots li { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,0.78); font-size: 13.5px; padding-left: 18px; position: relative; }
.dots li::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--seafoam); box-shadow: 0 0 12px rgba(0,197,193,0.4); }
.dots li b { color: white; font-weight: 500; margin-right: 6px; }

.p-vis { font-family: var(--bold-mono); font-size: 12.5px; }
.extract { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.10); border-radius: 12px; padding: 18px; }
.ex-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed rgba(255,255,255,0.06); }
.ex-row:last-child { border-bottom: 0; }
.ex-key { color: rgba(255,255,255,0.55); }
.ex-val { color: var(--seafoam); }

.letter { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.10); border-radius: 12px; padding: 18px; }
.letter-head { display: flex; flex-direction: column; gap: 6px; padding-bottom: 14px; border-bottom: 1px dashed rgba(255,255,255,0.10); margin-bottom: 14px; }
.letter-line { height: 4px; background: rgba(255,255,255,0.12); border-radius: 2px; }
.letter-line--short { width: 40%; }
.letter-body { display: grid; gap: 10px; }
.ltr { font-size: 12.5px; line-height: 1.5; color: rgba(255,255,255,0.85); }
.ltr-k { color: var(--seafoam); margin-right: 8px; font-weight: 500; }
.type { color: rgba(255,255,255,0.85); }

.rails { display: grid; gap: 10px; }
.rail { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid rgba(255,255,255,0.10); border-radius: 10px; background: rgba(255,255,255,0.03); font-size: 12.5px; color: rgba(255,255,255,0.85); }
.rail .rd { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.20); display: inline-block; flex-shrink: 0; }
.rail--done .rd { background: var(--seafoam); box-shadow: 0 0 12px rgba(0,197,193,0.5); }
.rail--live .rd { background: var(--pink); animation: pulse 2s infinite; }
.rail--pending .rd { background: rgba(255,255,255,0.20); }
.rail em { margin-left: auto; font-style: normal; color: rgba(255,255,255,0.55); font-size: 11px; }
.rail--done em { color: var(--seafoam); }

.timeline { display: grid; gap: 10px; }
.tl-row { display: grid; grid-template-columns: 36px 1fr 90px; align-items: center; gap: 14px; font-size: 12.5px; color: rgba(255,255,255,0.78); }
.tl-row b { color: var(--seafoam); font-family: var(--bold-mono); font-weight: 500; }
.tl-bar { display: block; height: 6px; background: rgba(255,255,255,0.06); border-radius: 3px; overflow: hidden; }
.tl-bar i { display: block; height: 100%; background: var(--gradient-brand); border-radius: 3px; }
.tl-row em { font-style: normal; color: rgba(255,255,255,0.55); font-size: 11px; }

/* MARQUEE --------------------------------------------------- */
.bold-marquee {
  background: var(--navy-deep); color: white;
  padding-block: 22px;
  overflow: hidden;
  border-block: 1px solid rgba(255,255,255,0.06);
}
.bold-marquee__track {
  display: flex; gap: 32px; white-space: nowrap;
  width: max-content;
  font-family: var(--font-serif); font-size: 24px; font-style: italic;
  color: rgba(255,255,255,0.85);
  animation: bold-marquee 38s linear infinite;
}
.bold-marquee__track .m-dot { color: var(--seafoam); }
.bold-marquee__track em { color: var(--pink); font-style: italic; }
@keyframes bold-marquee { to { transform: translateX(-50%); } }

/* HOW-LIST -------------------------------------------------- */
.bold-how { background: var(--cream-2); padding-block: clamp(56px, 7vw, 96px); }
.how-list {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
@media (max-width: 900px) { .how-list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .how-list { grid-template-columns: 1fr; } }
.how-list li {
  background: white;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 24px;
  transition: transform .3s var(--ease-out-cubic), box-shadow .3s var(--ease-out-cubic), border-color .3s var(--ease-out-cubic);
  transition-delay: var(--d, 0ms);
  position: relative; overflow: hidden;
}
.how-list li:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); border-color: rgba(99,87,253,0.30); }
.how-list .hn {
  font-family: var(--bold-mono);
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--seafoam-dark); font-weight: 600;
  margin-bottom: 12px;
}
.how-list h3 { font-family: var(--font-serif); font-size: 19px; color: var(--ink); margin: 0 0 10px; line-height: 1.25; }
.how-list p { color: var(--ink-2); font-size: 14px; line-height: 1.55; margin: 0; }

.tip {
  background: var(--navy); color: white;
  border-radius: 16px; padding: 18px 22px;
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  margin-top: 24px;
  font-size: 14px; line-height: 1.5;
}
.tip-tag {
  background: var(--gradient-brand); color: white;
  padding: 4px 10px; border-radius: 999px;
  font-family: var(--bold-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: 600;
}
.tip em { color: var(--seafoam); font-style: italic; }

/* TEAM ------------------------------------------------------ */
.bold-team { background: var(--cream); padding-block: clamp(56px, 7vw, 96px); }
.team-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px) { .team-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .team-grid { grid-template-columns: 1fr; } }
.member {
  background: white;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 24px;
  transition: transform .3s var(--ease-out-cubic), box-shadow .3s var(--ease-out-cubic), border-color .3s var(--ease-out-cubic);
  transition-delay: var(--d, 0ms);
}
.member:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); border-color: rgba(99,87,253,0.30); }
.m-top { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.m-top .avatar {
  width: 52px; height: 52px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-serif); font-weight: 600; font-size: 18px;
  color: white;
}
.avatar--brand { background: var(--gradient-brand); }
.avatar--sv { background: var(--gradient-seafoam-violet); }
.avatar--po { background: var(--gradient-pink-orange); }
.m-meta h3 { font-family: var(--font-serif); font-size: 18px; color: var(--ink); margin: 0; }
.m-meta span { font-size: 12px; color: var(--ink-3); }
.member p { font-size: 13.5px; color: var(--ink-2); line-height: 1.55; margin: 0 0 14px; }
.m-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.m-tags span { padding: 3px 10px; background: rgba(99,87,253,0.08); color: var(--violet); border-radius: 999px; font-size: 11px; font-weight: 500; }

/* Reveal helper (bold version uses simpler 'in' class) ------ */
.bold .reveal { opacity: 0; transform: translateY(20px); transition: opacity .8s var(--ease-out-quart), transform .8s var(--ease-out-quart); transition-delay: var(--d, 0ms); }
.bold .reveal.in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .bold-marquee__track,
  .term-line.drafting .spin,
  .term-line .blink,
  .cursor-block,
  .term-line .progress i { animation: none !important; }
  .bold .reveal { opacity: 1; transform: none; transition: none; }
}

/* ===== BOLD variant — homepage partnerships section ===== */
.bold-partnerships {
  background: var(--cream);
  padding-block: clamp(56px, 7vw, 88px);
}
.bp-head {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  margin-bottom: clamp(32px, 4vw, 48px);
}
.bp-label {
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
}
.bp-rule {
  flex: 1;
  height: 1px;
  background: var(--line);
}
.bp-arrows {
  flex-shrink: 0;
  display: flex;
  gap: var(--space-2);
}
.bp-arrow {
  width: 40px; height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: white;
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 17px;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out-cubic),
              border-color var(--dur-fast) var(--ease-out-cubic),
              color var(--dur-fast) var(--ease-out-cubic),
              transform var(--dur-fast) var(--ease-out-cubic);
}
.bp-arrow:hover {
  background: var(--gradient-brand);
  border-color: transparent;
  color: white;
  transform: scale(1.07);
}
.bp-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: center;
}
.bp-grid > * { min-width: 0; }
@media (max-width: 860px) {
  .bp-grid { grid-template-columns: 1fr; }
}
.bp-panel { display: none; }
.bp-panel.is-active {
  display: block;
  animation: bp-panel-in 450ms var(--ease-out-quart);
}
@keyframes bp-panel-in {
  0%   { opacity: 0; transform: translateY(10px); }
  100% { opacity: 1; transform: translateY(0); }
}
.bp-panel__logo { margin-bottom: var(--space-6); }
.bp-panel__logo img {
  max-height: 64px;
  max-width: min(420px, 80%);
  width: auto;
  object-fit: contain;
}
.bp-panel__logo-text {
  font-family: var(--font-serif);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 500;
  color: var(--ink);
}
.bp-panel__lede {
  font-size: clamp(18px, 1.8vw, 22px);
  font-weight: 500;
  color: var(--ink);
  line-height: 1.55;
  margin: 0 0 var(--space-4);
  max-width: 620px;
}
.bp-panel__body {
  font-size: var(--text-body);
  color: var(--ink-2);
  line-height: 1.7;
  margin: 0 0 var(--space-6);
  max-width: 600px;
}
.bp-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-5);
}
.bp-card {
  position: relative;
  aspect-ratio: 16 / 11;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border: 0;
  border-radius: var(--radius-xl);
  background: var(--navy);
  cursor: pointer;
  transition: transform var(--dur-base) var(--ease-out-cubic),
              box-shadow var(--dur-base) var(--ease-out-cubic),
              background var(--dur-base) var(--ease-out-cubic);
}
.bp-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px -18px rgba(5, 13, 87, 0.45);
}
/* Active card gets the little top notch from the production design */
.bp-card.is-active::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 50%;
  transform: translateX(-50%);
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid var(--navy);
}
.bp-card.is-active {
  background: var(--navy-deep);
  box-shadow: 0 18px 44px -16px rgba(5, 13, 87, 0.5);
}
.bp-card.is-active::before { border-bottom-color: var(--navy-deep); }
.bp-card img {
  max-width: 75%;
  max-height: 44px;
  object-fit: contain;
}
.bp-card__name {
  font-family: var(--font-serif);
  font-size: clamp(17px, 1.6vw, 22px);
  font-weight: 500;
  color: white;
}

/* ===== BOLD variant — testimonials section ===== */
.bold-testimonials { background: var(--navy); color: white; padding-block: clamp(56px, 7vw, 96px); position: relative; overflow: hidden; }
.bold-testimonials::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(circle at 20% 30%, rgba(99,87,253,0.20), transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(0,197,193,0.14), transparent 50%);
}
.bold-testimonials .container { position: relative; z-index: 1; }
.bold-testimonials .kicker { color: rgba(255,255,255,0.65); }
.bold-testimonials .bold-sec-head h2 { color: white; }
.testimonials-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
@media (max-width: 900px) { .testimonials-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .testimonials-grid { grid-template-columns: 1fr; } }
.t-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  padding: 24px;
  display: flex; flex-direction: column;
  position: relative; overflow: hidden;
  transition: transform .3s var(--ease-out-cubic), border-color .3s var(--ease-out-cubic), background .3s var(--ease-out-cubic);
}
.t-card:hover { transform: translateY(-3px); border-color: rgba(0,197,193,0.40); background: rgba(255,255,255,0.06); }
.t-quote-mark {
  font-family: var(--font-serif); font-style: italic;
  font-size: 60px; line-height: 0.6;
  color: var(--seafoam);
  margin-bottom: 8px;
}
.t-card blockquote {
  margin: 0 0 18px;
  font-family: var(--font-serif); font-style: italic;
  font-size: 17px; line-height: 1.4; color: white;
  font-weight: 400;
}
.t-attr { margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.10); display: flex; flex-direction: column; gap: 2px; }
.t-name { color: white; font-size: 14px; font-weight: 500; }
.t-role { color: rgba(255,255,255,0.60); font-size: 12px; }

/* ===== BOLD variant — webinar & news content grids ===== */
.bold-webinars,
.bold-news {
  background: var(--cream);
  padding-block: clamp(56px, 7vw, 96px);
}
.bold-news { background: var(--cream-2); }
/* Tighter seam between webinars (01) and the pillars section (02) */
.bold-webinars { padding-bottom: clamp(24px, 3vw, 40px); }
.bold-engine { padding-top: clamp(32px, 4vw, 56px); }

/* Section head with a right-aligned action button */
.bold-sec-head--row {
  display: flex; align-items: end; justify-content: space-between;
  gap: var(--space-6); flex-wrap: wrap;
}
.btn-bold--ghost-dark {
  color: var(--ink);
  border-color: var(--line);
  background: white;
}
.btn-bold--ghost-dark:hover {
  background: var(--ink);
  color: white;
  border-color: var(--ink);
}

.content-grid {
  display: grid;
  gap: var(--space-5);
}
.content-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.content-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1024px) {
  .content-grid--4 { grid-template-columns: 1fr 1fr; }
  .content-grid--3 { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .content-grid--4,
  .content-grid--3 { grid-template-columns: 1fr; }
}

/* ===== BOLD variant — vertical news feed + news modal ===== */
.bold-news__layout {
  display: grid;
  grid-template-columns: 0.7fr 1fr;
  gap: clamp(28px, 4vw, 60px);
  align-items: start;
}
@media (max-width: 900px) {
  .bold-news__layout { grid-template-columns: 1fr; }
}
.bold-news__intro h2 { font-size: clamp(28px, 3.4vw, 44px); line-height: 1.08; margin-top: var(--space-3); }
.bold-news__intro p { color: var(--ink-2); font-size: var(--text-lead); margin-top: var(--space-4); max-width: 520px; }
.bold-news__intro .btn-bold { margin-top: var(--space-5); }

.bold-news__feed {
  background: white;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
}
.news-item {
  display: block; width: 100%; text-align: left;
  background: transparent; border: 0;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out-cubic);
  position: relative;
}
.news-item:last-child { border-bottom: 0; }
.news-item:hover {
  background: rgba(99,87,253,0.04);
}
.news-item:hover .news-item__cta { color: var(--pink); }
.news-item:hover .news-item__cta .arrow { transform: translateX(3px); }
.news-item__meta {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--bold-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-3);
  margin-bottom: 6px;
}
.news-item__source { color: var(--violet); font-weight: 600; }
.news-item__dot { color: var(--line); }
.news-item__title {
  font-family: var(--font-serif);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.01em;
}
.news-item__cta {
  position: absolute;
  bottom: 16px; right: 18px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 500;
  color: var(--violet);
  display: inline-flex; align-items: center; gap: 4px;
  opacity: 0;
  transition: opacity var(--dur-fast) var(--ease-out-cubic), color var(--dur-fast) var(--ease-out-cubic);
}
.news-item__cta .arrow { transition: transform var(--dur-fast) var(--ease-out-cubic); }
.news-item:hover .news-item__cta { opacity: 1; }

/* News modal — narrower than contact modal, single column */
.news-modal .ahdam-modal__panel {
  max-width: 720px;
  border-radius: 18px;
}
.news-modal__body {
  padding: clamp(32px, 4vw, 56px);
  max-height: 86vh;
  overflow-y: auto;
}
.news-modal__meta {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin-bottom: var(--space-5);
}
.news-modal__source-chip {
  background: rgba(99,87,253,0.10);
  color: var(--violet);
  font-family: var(--bold-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 600;
}
.news-modal__date {
  color: var(--ink-3);
  font-size: 13px;
  font-family: var(--bold-mono);
  letter-spacing: 0.04em;
}
.news-modal__title {
  font-family: var(--font-serif);
  font-size: clamp(26px, 3.4vw, 38px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-6);
  color: var(--ink);
}
.news-modal__content {
  font-size: var(--text-lead);
  line-height: 1.7;
  color: var(--ink-2);
}
.news-modal__content p {
  margin: 0 0 var(--space-4);
}
.news-modal__content p:first-child em {
  font-style: normal;
  font-family: var(--bold-mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-3);
}
.news-modal__content a {
  color: var(--violet);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.news-modal__content a:hover { color: var(--pink); }
.news-modal__content h2,
.news-modal__content h3,
.news-modal__content h4 {
  font-family: var(--font-serif);
  color: var(--ink);
  margin-top: var(--space-8);
  margin-bottom: var(--space-3);
}
.news-modal__content h2 { font-size: 22px; }
.news-modal__content h3 { font-size: 19px; }
.news-modal__content ul,
.news-modal__content ol { padding-left: 1.4em; margin-bottom: var(--space-4); }
.news-modal__content blockquote {
  border-left: 3px solid var(--violet);
  padding-left: var(--space-4);
  font-style: italic;
  color: var(--ink);
  margin: var(--space-5) 0;
}
.news-modal__footer {
  display: flex; gap: 10px; flex-wrap: wrap;
  margin-top: var(--space-8);
  padding-top: var(--space-5);
  border-top: 1px solid var(--line);
}

/* ===== BOLD variant — floating news window ===== */
.news-window {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 250;
  width: 380px;
  max-width: calc(100vw - 32px);
  height: 520px;
  max-height: calc(100vh - 48px);
  background: white;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.5) inset,
    0 30px 80px -20px rgba(15, 14, 42, 0.30),
    0 12px 30px -16px rgba(15, 14, 42, 0.18);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: news-window-in 480ms cubic-bezier(0.22, 1, 0.36, 1);
  user-select: none;
}
@keyframes news-window-in {
  from { opacity: 0; transform: translateY(20px) scale(0.96); }
  to   { opacity: 1; transform: none; }
}

.news-window.is-dragging { transition: none; cursor: grabbing; }
.news-window.is-minimized {
  height: auto !important;
  width: 220px !important;
  bottom: 24px !important;
  right: 24px !important;
  top: auto !important;
  left: auto !important;
  cursor: pointer;
}
.news-window.is-minimized .news-window__body,
.news-window.is-minimized .news-window__footer { display: none; }
.news-window.is-minimized .news-window__bar { cursor: pointer; }

.news-window.is-maximized {
  width: min(640px, calc(100vw - 32px)) !important;
  height: calc(100vh - 48px) !important;
  top: 24px !important;
  right: 24px !important;
  bottom: auto !important;
  left: auto !important;
}

.news-window.is-closed { display: none; }

.news-window__bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 12px;
  background: var(--navy);
  color: white;
  border-radius: 14px 14px 0 0;
  cursor: grab;
  flex-shrink: 0;
}
.news-window__bar:active { cursor: grabbing; }
.news-window__title {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--bold-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
}
.news-window__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--seafoam);
  box-shadow: 0 0 8px rgba(0,197,193,0.6);
  animation: pulse 2s infinite;
}
.news-window__count {
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  padding: 1px 8px;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.85);
}
.news-window__controls {
  display: inline-flex; gap: 4px;
}
.news-window__btn {
  width: 24px; height: 24px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.06);
  border: 0;
  border-radius: 6px;
  color: rgba(255,255,255,0.75);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out-cubic), color var(--dur-fast) var(--ease-out-cubic);
}
.news-window__btn:hover { background: rgba(255,255,255,0.14); color: white; }
.news-window__btn--close:hover { background: rgba(255,107,107,0.85); color: white; }

.news-window__body {
  flex: 1 1 auto;
  overflow-y: auto;
  background: white;
  scrollbar-width: thin;
}
.news-window__body::-webkit-scrollbar { width: 8px; }
.news-window__body::-webkit-scrollbar-thumb { background: var(--line); border-radius: 4px; }
.news-window__body::-webkit-scrollbar-thumb:hover { background: var(--ink-3); }

.news-item--window {
  padding: 12px 14px;
}
.news-item--window .news-item__title { font-size: 15px; }
.news-item--window .news-item__meta { font-size: 10px; }
.news-item--window .news-item__cta { display: none; }
.news-item--window:hover { background: rgba(99,87,253,0.05); }

.news-window__footer {
  display: flex; align-items: center; justify-content: space-between;
  padding: 8px 14px;
  background: var(--cream-2);
  border-top: 1px solid var(--line);
  font-family: var(--bold-mono);
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-3);
  flex-shrink: 0;
}
.news-window__all {
  color: var(--violet);
  font-weight: 600;
  text-decoration: none;
}
.news-window__all:hover { color: var(--pink); }
.news-window__hint { color: var(--ink-3); }

/* Reopen chip — bottom-right floating button shown after close */
.news-window-reopen {
  position: fixed;
  bottom: 24px; right: 24px;
  z-index: 250;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: var(--navy);
  color: white;
  border: 0;
  border-radius: 999px;
  font-family: var(--bold-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 12px 24px -12px rgba(15, 14, 42, 0.30);
  transition: transform var(--dur-fast) var(--ease-out-cubic), box-shadow var(--dur-fast) var(--ease-out-cubic);
  animation: news-window-in 320ms var(--ease-out-quart);
}
.news-window-reopen:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 30px -12px rgba(15, 14, 42, 0.40);
}
.news-window-reopen .news-window__dot {
  width: 6px; height: 6px;
}

@media (max-width: 640px) {
  .news-window {
    width: calc(100vw - 32px);
    height: 60vh;
    right: 16px;
    bottom: 16px;
  }
  .news-window.is-maximized {
    width: calc(100vw - 16px) !important;
    height: calc(100vh - 32px) !important;
    top: 16px !important;
    right: 8px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .news-window, .news-window-reopen { animation: none; }
  .news-window__dot { animation: none; }
}

/* ===== News window — switch all type to Inter Tight (body font) ===== */
.news-window,
.news-window__title,
.news-window__count,
.news-window__footer,
.news-window-reopen {
  font-family: var(--font-sans) !important;
}
.news-window__title-text {
  font-family: var(--font-sans) !important;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
.news-window__count {
  font-family: var(--font-sans) !important;
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
}
.news-window__footer,
.news-window__hint,
.news-window__all {
  font-family: var(--font-sans) !important;
  font-size: 12px;
  letter-spacing: 0;
  text-transform: none;
}
.news-window-reopen {
  font-family: var(--font-sans) !important;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
}

/* News items inside the window */
.news-item--window .news-item__meta {
  font-family: var(--font-sans) !important;
  font-size: 11px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink-3);
}
.news-item--window .news-item__source {
  font-family: var(--font-sans) !important;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
}
.news-item--window .news-item__title {
  font-family: var(--font-sans) !important;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
}


/* =============================================================
   PARTNERSHIPS PAGE  (page-partnerships.php)
   ============================================================= */

/* Hero — centered, symmetric */
.partners-hero {
  position: relative;
  background: var(--navy);
  overflow: hidden;
  padding-block: clamp(48px, 5.5vw, 72px);
}
.partners-hero::before {
  content: "";
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(circle at 70% 10%, rgba(200,77,255,0.20), transparent 40%),
    radial-gradient(circle at 15% 80%, rgba(0,197,193,0.12), transparent 45%);
  pointer-events: none;
}
.partners-hero__text {
  position: relative; z-index: 1;
  width: 100%;
  min-width: 0;
  color: white;
}
.partners-hero--centered .partners-hero__text {
  text-align: center;
  max-width: 720px;
  margin-inline: auto;
}
.partners-hero--centered .eyebrow { justify-content: center; }
/* Plain gradient kicker — replaces the boxed teal eyebrow chip */
.partners-hero__kicker {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  background: var(--gradient-spectrum);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  margin-bottom: var(--space-5);
}
.partners-hero--centered .partners-hero__sub { margin-inline: auto; }
.partners-hero .eyebrow { margin-bottom: var(--space-5); }
.partners-hero__headline {
  font-family: var(--font-serif);
  font-size: clamp(36px, 4.2vw, 56px);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -0.03em;
  color: white;
  margin: 0;
}
.partners-hero__headline em {
  display: block;
  background: linear-gradient(90deg, #6357FD 0%, #C84DFF 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  font-style: italic;
}
.partners-hero__sub {
  margin-top: var(--space-5);
  font-size: clamp(16px, 1.5vw, 18px);
  color: rgba(255,255,255,0.74);
  max-width: 560px;
  line-height: 1.68;
}

/* Partner carousel — horizontal scroll deck with snap + drag */
.partcar {
  background: var(--cream);
  padding-block: clamp(56px, 7vw, 88px);
  outline: none;
}

/* Head row: counter — progress — arrows */
.partcar__head {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  max-width: 1020px;
  margin-inline: auto;
  margin-bottom: clamp(24px, 3vw, 36px);
}
.partcar__progress {
  flex: 1;
  height: 3px;
  border-radius: 999px;
  background: var(--line);
  overflow: hidden;
}
.partcar__progress i {
  display: block;
  height: 100%;
  width: 0;
  border-radius: 999px;
  background: var(--gradient-brand);
  transition: width 300ms var(--ease-out-quart);
}
.partcar__arrows { display: flex; gap: var(--space-2); flex-shrink: 0; }

/* The scrolling track — full-bleed, snap to center, hidden scrollbar */
.partcar__track {
  display: flex;
  gap: clamp(20px, 2.5vw, 32px);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-block: 16px 28px;
  /* Padding must equal (viewport - slide) / 2 so the FIRST and LAST
     slides can be exactly centered — if the last slide's centered snap
     position is unreachable, mandatory snapping yanks every scroll
     back to slide 1 and the arrows appear dead. */
  padding-inline: max(24px, calc((100% - min(900px, 86vw)) / 2));
  scrollbar-width: none;
  cursor: grab;
}
.partcar__track::-webkit-scrollbar { display: none; }
.partcar__track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}

.partcar__slide {
  flex: 0 0 min(900px, 86vw);
  scroll-snap-align: center;
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 360px;
  border: 1px solid var(--line);
  border-radius: var(--radius-2xl);
  overflow: hidden;
  background: white;
  box-shadow: 0 24px 60px -32px rgba(15, 14, 42, 0.18);
  opacity: 0.45;
  transform: scale(0.95);
  transition: opacity 450ms var(--ease-out-quart),
              transform 450ms var(--ease-out-quart),
              box-shadow 450ms var(--ease-out-quart);
}
.partcar__slide.is-active {
  opacity: 1;
  transform: scale(1);
  box-shadow: 0 32px 80px -32px rgba(15, 14, 42, 0.28);
}
@media (max-width: 760px) {
  /* Keep flex-basis identical to the track padding formula (86vw) so
     first/last slides stay exactly centerable on mobile too. */
  .partcar__slide { grid-template-columns: 1fr; min-height: 0; flex-basis: 86vw; }
}
.partcar__hint {
  text-align: center;
  margin-top: var(--space-3);
  font-size: var(--text-meta);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-3);
}

/* Left half: logo, centered on a quiet panel */
.partcar__logo-panel {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cream-2);
  border-right: 1px solid var(--line);
  padding: clamp(32px, 5vw, 56px);
}
@media (max-width: 760px) {
  .partcar__logo-panel { border-right: 0; border-bottom: 1px solid var(--line); min-height: 180px; }
}
.partcar__logo-panel img {
  max-width: min(260px, 80%);
  max-height: 84px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.partcar__logo-fallback {
  font-family: var(--font-serif);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 500;
  color: var(--ink-2);
  text-align: center;
}

/* Right half: info */
.partcar__info-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(32px, 5vw, 56px);
}
.partcar__kicker {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: var(--space-3);
}
.partcar__kicker-num { color: var(--violet); }
.partcar__name {
  font-family: var(--font-serif);
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 500;
  letter-spacing: -0.022em;
  line-height: 1.12;
  color: var(--ink);
  margin: 0 0 var(--space-4);
}
.partcar__tagline {
  font-family: var(--font-serif);
  font-size: clamp(17px, 1.7vw, 20px);
  font-style: italic;
  color: var(--ink-2);
  line-height: 1.5;
  margin: 0 0 var(--space-4);
  border-left: 3px solid var(--violet);
  padding-left: var(--space-4);
}
.partcar__desc {
  font-size: var(--text-body);
  color: var(--ink-2);
  line-height: 1.7;
  margin: 0;
}

.partcar__arrow {
  width: 46px; height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: white;
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 19px;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out-cubic),
              border-color var(--dur-fast) var(--ease-out-cubic),
              color var(--dur-fast) var(--ease-out-cubic),
              transform var(--dur-fast) var(--ease-out-cubic);
}
.partcar__arrow:hover {
  background: var(--gradient-brand);
  border-color: transparent;
  color: white;
  transform: scale(1.08);
}
.partcar__arrow:active { transform: scale(0.96); }
.partcar__dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  margin-top: var(--space-2);
}
.partcar__dot {
  width: 9px; height: 9px;
  padding: 0;
  border-radius: 50%;
  border: 0;
  background: var(--line);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease-out-cubic),
              transform var(--dur-fast) var(--ease-out-cubic);
}
.partcar__dot:hover { background: var(--ink-3); }
.partcar__dot.is-active {
  background: var(--violet);
  transform: scale(1.35);
}
.partcar__counter {
  flex-shrink: 0;
  font-size: var(--text-small);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: var(--ink);
}

/* Inline become-a-partner CTA */
.partcar__cta {
  text-align: center;
  margin-top: clamp(40px, 5vw, 56px);
  padding-top: var(--space-8);
  border-top: 1px solid var(--line);
  font-size: var(--text-body);
  color: var(--ink-2);
}
.partcar__cta a {
  font-weight: 600;
  color: var(--violet);
  white-space: nowrap;
}
.partcar__cta a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Fallback / editor content (no ACF data) */
.partners-list__editor-content {
  max-width: 720px;
  margin-inline: auto;
  font-size: var(--text-body);
  color: var(--ink-2);
  line-height: 1.75;
}
.partners-list__editor-content p + p { margin-top: 1em; }
.partners-list__editor-content h2 {
  font-family: var(--font-serif);
  font-size: clamp(20px, 2vw, 26px);
  color: var(--ink);
  margin-top: var(--space-8);
  margin-bottom: var(--space-3);
}
/* ===== END PARTNERSHIPS PAGE ============================================== */

/* =============================================================
   CONTACT MODAL — native form  (contact-modal.php)
   ============================================================= */

/* ---- Form fields ---- */
.cf-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}
@media (max-width: 560px) {
  .cf-row { grid-template-columns: 1fr; }
}

.cf-field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}
.cf-field:last-child { margin-bottom: 0; }

.cf-field label {
  font-size: var(--text-small);
  font-weight: 500;
  color: var(--ink);
}
.cf-field label span { color: var(--violet); }

.cf-field input,
.cf-field textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: white;
  font-size: var(--text-small);
  color: var(--ink);
  transition: border-color var(--dur-fast) var(--ease-out-cubic),
              box-shadow   var(--dur-fast) var(--ease-out-cubic);
  outline: none;
}
.cf-field input:focus,
.cf-field textarea:focus {
  border-color: var(--violet);
  box-shadow: 0 0 0 3px rgba(99,87,253,0.15);
}
.cf-field input::placeholder,
.cf-field textarea::placeholder {
  color: var(--ink-3);
}
.cf-field textarea {
  resize: vertical;
  min-height: 110px;
}

/* Custom select */
.cf-select-wrap {
  position: relative;
}
.cf-select-wrap select {
  width: 100%;
  padding: 10px 36px 10px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: white;
  font-size: var(--text-small);
  color: var(--ink);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  outline: none;
  transition: border-color var(--dur-fast) var(--ease-out-cubic),
              box-shadow   var(--dur-fast) var(--ease-out-cubic);
}
.cf-select-wrap select:focus {
  border-color: var(--violet);
  box-shadow: 0 0 0 3px rgba(99,87,253,0.15);
}
.cf-select-wrap select option[value=""] { color: var(--ink-3); }
.cf-select-wrap .ti {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: var(--ink-3);
  pointer-events: none;
}

/* Submit row */
.cf-actions { margin-top: var(--space-5); }
.cf-submit {
  width: 100%;
  justify-content: center;
}
.cf-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Status / error message */
.cf-status {
  margin-top: var(--space-3);
  font-size: var(--text-small);
  min-height: 20px;
}
.cf-status--error {
  color: #c0392b;
}

/* Success state */
.cf-thanks[hidden] { display: none; }
.cf-thanks {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--space-12) var(--space-8);
  gap: var(--space-3);
}
.cf-thanks .ti {
  font-size: 48px;
  color: var(--seafoam);
  line-height: 1;
}
.cf-thanks h3 {
  font-family: var(--font-serif);
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 500;
  color: var(--ink);
}
.cf-thanks p {
  font-size: var(--text-small);
  color: var(--ink-3);
  max-width: 32ch;
  line-height: 1.6;
}
/* Gravity Forms inside the contact modal — restyle to the theme */
.cf-gf .gform_wrapper { margin: 0; }
.cf-gf .gform_title {
  font-family: var(--font-serif);
  font-size: 19px;
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 var(--space-3);
}
.cf-gf .gform_wrapper input[type="text"],
.cf-gf .gform_wrapper input[type="email"],
.cf-gf .gform_wrapper input[type="tel"],
.cf-gf .gform_wrapper select,
.cf-gf .gform_wrapper textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  font-size: 15px;
  font-family: var(--font-sans);
  color: var(--ink);
  background: white;
  box-sizing: border-box;
}
.cf-gf .gform_wrapper input:focus,
.cf-gf .gform_wrapper select:focus,
.cf-gf .gform_wrapper textarea:focus {
  outline: none;
  border-color: var(--violet);
  box-shadow: 0 0 0 3px rgba(99, 87, 253, 0.15);
}
.cf-gf .gform_wrapper .gfield_label {
  font-size: var(--text-small);
  font-weight: 500;
  color: var(--ink);
}
.cf-gf .gform_wrapper .gform_button {
  padding: 13px 28px;
  background: var(--gradient-brand);
  color: white;
  border: 0;
  border-radius: var(--radius-pill);
  font-size: 14px;
  font-weight: 500;
  font-family: var(--font-sans);
  line-height: 1;
  cursor: pointer;
  transition: transform var(--dur-fast) var(--ease-out-cubic),
              box-shadow var(--dur-fast) var(--ease-out-cubic);
}
.cf-gf .gform_wrapper .gform_button:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-cta-hover);
}
/* ===== END CONTACT MODAL ================================================== */

/* =============================================================
   WEBINAR CAROUSEL  (archive-webinar.php)
   ============================================================= */
.webcar {
  background: var(--navy-deep);
  padding-block: clamp(48px, 6vw, 80px);
  position: relative;
  overflow: hidden;
}
.webcar::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(circle at 85% 8%,  rgba(200,77,255,0.14), transparent 42%),
    radial-gradient(circle at 8%  92%, rgba(0,197,193,0.10),  transparent 46%);
}

/* Stage: player + meta bar */
.webcar__stage {
  position: relative;
  max-width: 880px;
  margin-inline: auto;
}
.webcar__topbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  position: relative;
  z-index: 1;
}
.webcar__glow {
  position: absolute;
  inset: -24px -24px auto -24px;
  aspect-ratio: 16 / 8.4;
  background: var(--gradient-spectrum);
  filter: blur(70px);
  opacity: 0.22;
  border-radius: 50%;
  pointer-events: none;
}
.webcar__player {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-2xl);
  overflow: hidden;
  background: black;
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 40px 100px -28px rgba(0,0,0,0.7);
}
.webcar__player.is-switching {
  animation: webcar-swap 600ms var(--ease-out-quart);
}
.webcar__meta.is-switching .webcar__meta-text {
  animation: webcar-meta-in 500ms var(--ease-out-quart);
}
@keyframes webcar-swap {
  0%   { opacity: 0.35; transform: scale(0.985); }
  100% { opacity: 1;    transform: scale(1); }
}
@keyframes webcar-meta-in {
  0%   { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: translateY(0); }
}
.webcar__player iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.webcar__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
  margin-top: var(--space-5);
  flex-wrap: wrap;
}
.webcar__meta-text { min-width: 0; flex: 1; }
.webcar__title {
  font-family: var(--font-serif);
  font-size: clamp(21px, 2.3vw, 30px);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: white;
  margin: 0;
}
.webcar__counter {
  font-size: var(--text-small);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: rgba(255,255,255,0.55);
  margin-right: var(--space-2);
  white-space: nowrap;
}
.webcar__date {
  margin-top: var(--space-2);
  font-size: var(--text-small);
  color: rgba(255,255,255,0.60);
  display: flex;
  align-items: center;
  gap: 6px;
}
.webcar__nav {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-shrink: 0;
}
.webcar__permalink {
  font-size: var(--text-small);
  font-weight: 500;
  color: var(--seafoam);
  margin-right: var(--space-2);
  white-space: nowrap;
}
.webcar__permalink:hover { text-decoration: underline; text-underline-offset: 3px; }
.webcar__arrow {
  width: 46px; height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  color: white;
  font-size: 19px;
  transition: background var(--dur-fast) var(--ease-out-cubic),
              border-color var(--dur-fast) var(--ease-out-cubic),
              transform var(--dur-fast) var(--ease-out-cubic);
}
.webcar__arrow:hover {
  background: var(--gradient-brand);
  border-color: transparent;
  transform: scale(1.08);
}
.webcar__arrow:active { transform: scale(0.96); }

/* Thumbnail rail */
.webcar__rail {
  display: flex;
  gap: var(--space-4);
  margin-top: clamp(28px, 3.5vw, 44px);
  overflow-x: auto;
  padding-bottom: 10px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.25) transparent;
  -webkit-overflow-scrolling: touch;
}
.webcar__thumb {
  position: relative;
  flex: 0 0 260px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 2px solid transparent;
  background: rgba(255,255,255,0.05);
  cursor: pointer;
  text-align: left;
  opacity: 0;
  animation: webcar-thumb-in 600ms var(--ease-out-quart) forwards;
  transition: border-color var(--dur-fast) var(--ease-out-cubic),
              transform var(--dur-base) var(--ease-out-cubic),
              box-shadow var(--dur-base) var(--ease-out-cubic);
}
@keyframes webcar-thumb-in {
  0%   { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0); }
}
.webcar__thumb:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px -14px rgba(0,0,0,0.6);
}
.webcar__thumb.is-active {
  border-color: var(--seafoam);
  box-shadow: 0 0 0 1px var(--seafoam), 0 16px 36px -14px rgba(0,197,193,0.35);
}
.webcar__thumb img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  opacity: 0.8;
  transform: scale(1);
  transition: opacity var(--dur-base) var(--ease-out-cubic),
              transform var(--dur-slow) var(--ease-out-quart);
}
.webcar__thumb:hover img { transform: scale(1.05); }
.webcar__thumb:hover img,
.webcar__thumb.is-active img { opacity: 1; }
.webcar__thumb-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding: 10px 12px 12px;
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.35;
  color: rgba(255,255,255,0.85);
}
.webcar__thumb.is-active .webcar__thumb-title { color: white; }
.webcar__thumb-play {
  position: absolute;
  top: calc((260px - 4px) * 9 / 16 / 2);
  left: 50%;
  transform: translate(-50%, -50%) scale(0.85);
  width: 42px; height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(3,8,47,0.78);
  border: 1px solid rgba(255,255,255,0.25);
  color: white;
  font-size: 15px;
  opacity: 0;
  transition: opacity var(--dur-fast) var(--ease-out-cubic),
              transform var(--dur-fast) var(--ease-out-cubic);
  pointer-events: none;
}
.webcar__thumb:hover .webcar__thumb-play {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .webcar__thumb { animation: none; opacity: 1; }
  .webcar__player.is-switching,
  .webcar__meta.is-switching .webcar__meta-text { animation: none; }
}
/* Playlist progress bar under the player */
.webcar__progress {
  height: 3px;
  margin-top: var(--space-4);
  border-radius: 999px;
  background: rgba(255,255,255,0.12);
  overflow: hidden;
}
.webcar__progress i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: var(--gradient-spectrum);
  transition: width 500ms var(--ease-out-quart);
}

/* Animated glow — slow breathing behind the player */
.webcar__glow { animation: webcar-glow 7s ease-in-out infinite; }
@keyframes webcar-glow {
  0%, 100% { opacity: 0.18; transform: scale(1); }
  50%      { opacity: 0.30; transform: scale(1.04); }
}

/* Rail: scroll-snap so thumbs settle cleanly */
.webcar__rail { scroll-snap-type: x proximity; }
.webcar__thumb { scroll-snap-align: center; }

/* Thumb number chip */
.webcar__thumb-num {
  position: absolute;
  top: 8px; left: 8px;
  z-index: 2;
  min-width: 22px; height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(3,8,47,0.8);
  border: 1px solid rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.85);
  font-size: 11px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.webcar__thumb.is-active .webcar__thumb-num {
  background: var(--gradient-brand);
  border-color: transparent;
  color: white;
}

/* "Up next" badge on the following thumb */
.webcar__thumb-next {
  position: absolute;
  top: 8px; right: 8px;
  z-index: 2;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--seafoam);
  color: var(--navy-deep);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity var(--dur-fast) var(--ease-out-cubic),
              transform var(--dur-fast) var(--ease-out-cubic);
  pointer-events: none;
}
.webcar__thumb.is-next .webcar__thumb-next {
  opacity: 1;
  transform: translateY(0);
}

/* YouTube CTA band — replaces the old card grid */
.webcar-yt {
  background: var(--cream);
  padding-block: clamp(48px, 6vw, 72px);
}
.webcar-yt__inner {
  display: flex;
  align-items: center;
  gap: clamp(20px, 3vw, 40px);
  background: var(--navy-deep);
  border-radius: var(--radius-2xl);
  padding: clamp(28px, 4vw, 48px);
  position: relative;
  overflow: hidden;
}
.webcar-yt__inner::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 90% 15%, rgba(255,0,0,0.16), transparent 45%),
    radial-gradient(circle at 8% 90%, rgba(99,87,253,0.22), transparent 50%);
  pointer-events: none;
}
.webcar-yt__inner > * { position: relative; z-index: 1; }
.webcar-yt__icon {
  flex-shrink: 0;
  width: 64px; height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: rgba(255,0,0,0.15);
  border: 1px solid rgba(255,255,255,0.12);
  color: #FF4444;
  font-size: 34px;
}
.webcar-yt__copy { flex: 1; min-width: 0; }
.webcar-yt__copy h2 {
  font-family: var(--font-serif);
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 500;
  letter-spacing: -0.02em;
  color: white;
  margin: 0 0 6px;
}
.webcar-yt__copy p {
  color: rgba(255,255,255,0.7);
  font-size: var(--text-body);
  line-height: 1.6;
  margin: 0;
  max-width: 560px;
}
.webcar-yt__btn { flex-shrink: 0; white-space: nowrap; }
.webcar-yt__btn .ti { font-size: 18px; }
@media (max-width: 760px) {
  .webcar-yt__inner { flex-direction: column; text-align: center; align-items: center; }
}

/* ===== END WEBINAR CAROUSEL =============================================== */


/* =============================================================
   ASK THE EXPERTS — live Q&A  (page-ask-the-experts.php)
   ============================================================= */
.qa-page {
  background: var(--cream);
  padding-block: clamp(48px, 6vw, 80px);
}
.qa-page__inner { max-width: 860px; margin-inline: auto; }

/* Submit box */
.qa-ask {
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius-2xl);
  padding: clamp(24px, 3.5vw, 40px);
  box-shadow: 0 24px 60px -36px rgba(15, 14, 42, 0.18);
  margin-bottom: clamp(40px, 5vw, 64px);
}
.qa-ask__title {
  font-family: var(--font-serif);
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 var(--space-2);
}
.qa-ask__sub {
  font-size: var(--text-small);
  color: var(--ink-2);
  line-height: 1.6;
  margin: 0 0 var(--space-5);
}
.qa-ask textarea,
.qa-ask input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  font-size: 15px;
  font-family: var(--font-sans);
  color: var(--ink);
  background: var(--cream-2);
  box-sizing: border-box;
}
.qa-ask textarea:focus,
.qa-ask input:focus {
  outline: none;
  background: white;
  border-color: var(--violet);
  box-shadow: 0 0 0 3px rgba(99, 87, 253, 0.15);
}
.qa-ask__row {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: var(--space-3);
  margin-top: var(--space-3);
}
@media (max-width: 640px) { .qa-ask__row { grid-template-columns: 1fr; } }
.qa-ask__actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-4);
  flex-wrap: wrap;
}
.qa-ask__status { font-size: var(--text-small); }
.qa-ask__status.is-ok  { color: var(--seafoam-dark); }
.qa-ask__status.is-err { color: #b32d2e; }

/* Feed */
.qa-feed__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  flex-wrap: wrap;
  margin-bottom: var(--space-6);
}
.qa-feed__head h2 {
  font-family: var(--font-serif);
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 500;
  color: var(--ink);
  margin: 0;
}
.qa-feed__search {
  padding: 9px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-pill);
  font-size: 14px;
  font-family: var(--font-sans);
  min-width: 220px;
  background: white;
}
.qa-feed__search:focus {
  outline: none;
  border-color: var(--violet);
  box-shadow: 0 0 0 3px rgba(99, 87, 253, 0.15);
}
.qa-list { display: flex; flex-direction: column; gap: var(--space-5); }

.qa-item {
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  overflow: hidden;
}
.qa-item__q {
  display: flex;
  gap: var(--space-4);
  padding: 22px 24px;
  background: var(--cream-2);
  border-bottom: 1px solid var(--line);
}
.qa-item__badge,
.qa-item__avatar {
  flex-shrink: 0;
  width: 34px; height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 700;
}
.qa-item__badge {
  background: var(--navy);
  color: white;
}
.qa-item__question {
  font-family: var(--font-serif);
  font-size: clamp(17px, 1.7vw, 21px);
  font-weight: 500;
  line-height: 1.4;
  color: var(--ink);
  margin: 4px 0 6px;
}
.qa-item__date { font-size: var(--text-meta); color: var(--ink-3); }
.qa-item__a {
  display: flex;
  gap: var(--space-4);
  padding: 22px 24px;
}
.qa-item__avatar {
  background: var(--gradient-brand);
  color: white;
  margin-top: 2px;
}
.qa-item__answer {
  font-size: var(--text-body);
  color: var(--ink-2);
  line-height: 1.7;
}
.qa-item__answer p { margin: 0 0 0.8em; }
.qa-item__answer p:last-child { margin-bottom: 0; }
.qa-item__expert {
  margin-top: var(--space-3);
  font-size: var(--text-small);
  color: var(--ink-3);
}
.qa-item__expert strong { color: var(--ink); font-weight: 600; }
.qa-empty {
  text-align: center;
  color: var(--ink-3);
  padding-block: var(--space-12);
}
/* Card grid — questions only; answers open in the reading modal */
.qa-ask--narrow { max-width: 860px; margin-inline: auto; }
.qa-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-5);
  align-items: start;
}
@media (max-width: 820px) { .qa-grid { grid-template-columns: 1fr; } }
.qa-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  text-align: left;
  padding: 22px 24px;
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  cursor: pointer;
  font-family: var(--font-sans);
  transition: transform var(--dur-base) var(--ease-out-cubic),
              box-shadow var(--dur-base) var(--ease-out-cubic),
              border-color var(--dur-base) var(--ease-out-cubic);
}
.qa-card:hover {
  transform: translateY(-3px);
  border-color: rgba(99, 87, 253, 0.45);
  box-shadow: 0 18px 44px -26px rgba(15, 14, 42, 0.28);
}
.qa-card__q-row {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
}
.qa-card__question {
  font-family: var(--font-serif);
  font-size: clamp(16px, 1.5vw, 18px);
  font-weight: 500;
  line-height: 1.45;
  color: var(--ink);
  /* keep cards tidy — long questions clamp to 3 lines */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.qa-card__preview {
  font-size: var(--text-small);
  color: var(--ink-3);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.qa-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  margin-top: auto;
  padding-top: var(--space-2);
}
.qa-card__date { font-size: var(--text-meta); color: var(--ink-3); }
.qa-card__read {
  font-size: 13px;
  font-weight: 600;
  color: var(--violet);
  transition: transform var(--dur-fast) var(--ease-out-cubic);
}
.qa-card:hover .qa-card__read { transform: translateX(3px); }

/* Reading modal */
.ahdam-modal__panel--reader {
  max-width: 720px;
  max-height: 86vh;
  display: flex;
  flex-direction: column;
}
.qa-modal__body {
  overflow-y: auto;
  padding: clamp(28px, 4vw, 48px) clamp(24px, 4.5vw, 56px) clamp(28px, 4vw, 44px);
}
.qa-modal__meta {
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin-bottom: var(--space-3);
}
.qa-modal__question {
  font-family: var(--font-serif);
  font-size: clamp(21px, 2.2vw, 28px);
  font-weight: 500;
  line-height: 1.3;
  color: var(--ink);
  margin: 0 0 var(--space-5);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--line);
}
.qa-modal__answer {
  font-size: var(--text-body);
  color: var(--ink-2);
  line-height: 1.75;
}
.qa-modal__answer p { margin: 0 0 1em; }
.qa-modal__answer ul, .qa-modal__answer ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.qa-modal__answer li::marker { color: var(--violet); }
.qa-modal__expert {
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 1px solid var(--line);
  font-size: var(--text-small);
  color: var(--ink-3);
}
.qa-modal__expert strong { color: var(--ink); }

/* ===== END ASK THE EXPERTS ================================================ */

/* =============================================================
   BECOME CERTIFIED  (page-become-certified.php)
   ============================================================= */
.cert-hero { padding-bottom: clamp(32px, 4vw, 48px); }

/* Launch announcement bar — auto-hides on/after Aug 1, 2026 (PHP gate) */
.cert-announce {
  background: var(--gradient-brand);
  color: white;
  padding-block: 11px;
  font-size: 14px;
}
.cert-announce__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  text-align: center;
}
.cert-announce__dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--seafoam);
  box-shadow: 0 0 0 3px rgba(0, 197, 193, 0.3);
}
.cert-announce__sep { opacity: 0.6; }

/* Tight section rhythm — no dead air between numbered sections */
.cert-section { background: white; padding-block: clamp(28px, 3.5vw, 48px); }
.cert-section--cream { background: var(--cream); }
.cert-section .bold-sec-head { margin-bottom: var(--space-6); }
.cert-section__sub {
  margin-top: var(--space-3);
  font-size: var(--text-lead);
  color: var(--ink-2);
  max-width: 640px;
}

/* Pillars — 3-up */
.cert-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}
@media (max-width: 820px) { .cert-pillars { grid-template-columns: 1fr; } }
.cert-pillar {
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  padding: 32px 28px;
  transition: transform var(--dur-base) var(--ease-out-cubic),
              box-shadow var(--dur-base) var(--ease-out-cubic);
}
.cert-pillar:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-card-hover);
}
.cert-pillar__icon {
  width: 48px; height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(99, 87, 253, 0.1);
  color: var(--violet);
  font-size: 24px;
  margin-bottom: var(--space-4);
}
.cert-pillar h3 {
  font-family: var(--font-serif);
  font-size: 21px;
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 var(--space-2);
}
.cert-pillar p {
  font-size: var(--text-small);
  color: var(--ink-2);
  line-height: 1.65;
  margin: 0;
}

/* Core foundation banner — mandatory, bundled with every credential */
.cert-core {
  display: flex;
  align-items: center;
  gap: clamp(20px, 3vw, 40px);
  padding: clamp(24px, 3vw, 36px) clamp(24px, 3.5vw, 44px);
  margin-bottom: var(--space-6);
  background:
    linear-gradient(white, white) padding-box,
    var(--gradient-seafoam-violet) border-box;
  border: 2px solid transparent;
  border-radius: var(--radius-xl);
}
.cert-core__badge {
  flex-shrink: 0;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(0, 197, 193, 0.12);
  border: 1px solid rgba(0, 142, 139, 0.3);
  color: var(--seafoam-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.cert-core__body h3 {
  font-family: var(--font-serif);
  font-size: clamp(19px, 1.8vw, 24px);
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 4px;
}
.cert-core__body p {
  font-size: var(--text-small);
  color: var(--ink-2);
  line-height: 1.6;
  margin: 0;
  max-width: 640px;
}
.cert-core__icon {
  margin-left: auto;
  font-size: 40px;
  color: var(--seafoam-dark);
  opacity: 0.5;
  flex-shrink: 0;
}
@media (max-width: 760px) {
  .cert-core { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
  .cert-core__icon { display: none; }
}

/* Credentials — 3-up specialty cards */
.cert-creds {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}
@media (max-width: 900px) { .cert-creds { grid-template-columns: 1fr; } }
.cert-cred {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: 28px 24px;
  background: var(--navy);
  border-radius: var(--radius-xl);
  color: white;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: transform var(--dur-base) var(--ease-out-cubic),
              box-shadow var(--dur-base) var(--ease-out-cubic);
}
.cert-cred::before {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(circle at 85% 12%, rgba(200,77,255,0.25), transparent 55%);
  pointer-events: none;
}
.cert-cred > * { position: relative; z-index: 1; }
.cert-cred:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px -20px rgba(5, 13, 87, 0.5);
}
.cert-cred__code {
  align-self: flex-start;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--seafoam);
}
.cert-cred__name {
  font-family: var(--font-serif);
  font-size: clamp(18px, 1.6vw, 21px);
  font-weight: 500;
  line-height: 1.25;
  color: white;
  margin: 0;
}
.cert-cred__desc {
  font-size: var(--text-small);
  color: rgba(255,255,255,0.72);
  line-height: 1.6;
  margin: 0;
}
.cert-cred__more {
  margin-top: auto;
  padding-top: var(--space-2);
  font-size: 13px;
  font-weight: 600;
  color: var(--pink);
  transition: transform var(--dur-fast) var(--ease-out-cubic);
}
.cert-cred:hover .cert-cred__more { transform: translateX(3px); }

/* Pricing tiers */
.cert-tiers {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
  align-items: stretch;
}
@media (max-width: 900px) { .cert-tiers { grid-template-columns: 1fr; } }
.cert-tier {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 32px 28px;
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  transition: transform var(--dur-base) var(--ease-out-cubic),
              box-shadow var(--dur-base) var(--ease-out-cubic);
}
.cert-tier:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-card-hover);
}
.cert-tier--best {
  border: 2px solid transparent;
  background:
    linear-gradient(white, white) padding-box,
    var(--gradient-brand) border-box;
  box-shadow: 0 24px 56px -28px rgba(99, 87, 253, 0.4);
}
.cert-tier__badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 14px;
  border-radius: 999px;
  background: var(--gradient-brand);
  color: white;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.cert-tier__name {
  font-size: var(--text-small);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--ink-3);
  margin: 0 0 var(--space-2);
}
.cert-tier__price {
  font-family: var(--font-serif);
  font-size: clamp(38px, 4vw, 52px);
  font-weight: 500;
  letter-spacing: -0.03em;
  color: var(--ink);
  margin-bottom: var(--space-5);
}
.cert-tier__perks {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.cert-tier__perks li {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-small);
  color: var(--ink-2);
}
.cert-tier__perks .ti { color: var(--seafoam-dark); flex-shrink: 0; }
.cert-tier__btn { margin-top: auto; justify-content: center; }
/* ===== END BECOME CERTIFIED =============================================== */

/* =============================================================
   WEBINAR SINGLE — centered event page  (single-webinar.php)
   ============================================================= */
.webinar-hero__date {
  margin-top: var(--space-3);
  font-size: 16px;
  color: rgba(255,255,255,0.8);
}
.webinar-hero__hosts {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: var(--space-6);
}
.webinar-hero__host {
  display: inline-block;
  width: 48px; height: 48px;
  border-radius: 50%;
  border: 2px solid var(--navy);
  overflow: hidden;
}
.webinar-hero__hosts-label {
  color: rgba(255,255,255,0.65);
  font-size: var(--text-small);
  margin-left: var(--space-3);
}

/* Embedded recording at the top of the paper card */
.webinar-paper__player {
  aspect-ratio: 16 / 9;
  background: black;
}
.webinar-paper__player iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* Content links (e.g. REGISTER HERE) read as proper actions */
.doc-paper__content a:not(.wp-block-button__link) {
  color: var(--violet);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.doc-paper__content a:not(.wp-block-button__link):hover { color: var(--pink); }

/* Play badge on past-webinar homepage tiles */
.card__title-banner-play {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 38px; height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.25);
  color: white;
  font-size: 15px;
  transition: background var(--dur-fast) var(--ease-out-cubic),
              transform var(--dur-fast) var(--ease-out-cubic);
}
.card--webinar-title:hover .card__title-banner-play {
  background: var(--gradient-brand);
  transform: scale(1.08);
}
/* ===== END WEBINAR SINGLE ================================================= */
