/* ===== ROOT VARIABLES ===== */
:root {
  /* Font aliases — resolve to theme.json font-family presets */
  --font-display: var(--wp--preset--font-family--cinzel-decorative);
  --font-body: var(--wp--preset--font-family--cormorant-garamond);

  /* Semantic aliases for plugin/extension authors */
  --theme-bg: var(--wp--preset--color--c-void);
  --theme-bg-alt: var(--wp--preset--color--c-stone);
  --theme-text: var(--wp--preset--color--c-bone);
  --theme-text-muted: var(--wp--preset--color--c-ash);
  --theme-accent: var(--wp--preset--color--c-gold);
  --theme-interactive: var(--wp--preset--color--c-purple);
  --theme-border: var(--wp--preset--color--c-purple-deep);
}

/* ===== RESET ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
  /* margin: 0;
  padding: 0; */
}

html {
  scroll-behavior: smooth;
}

body {
  /* font-family: var(--font-body); */
  /* font-size: var(--wp--preset--font-size--base); */
  color: var(--wp--preset--color--c-bone);
  background-color: var(--wp--preset--color--c-void);
  /* line-height now set in theme.json (1.6) */
  -webkit-font-smoothing: antialiased;
}

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

a {
  color: inherit;
}

/* ===== SCROLL ANIMATIONS ===== */
.animate-on-scroll {
  opacity: 1;
  transform: translateY(0);
}
.js .animate-on-scroll:not(.is-visible) {
      opacity: 0;
      transform: translateY(30px);
    }

.js .animate-on-scroll {
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.js .animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.js .animate-on-scroll:nth-child(2) { transition-delay: 0.12s; }
.js .animate-on-scroll:nth-child(3) { transition-delay: 0.24s; }
.js .animate-on-scroll:nth-child(4) { transition-delay: 0.36s; }
.js .animate-on-scroll:nth-child(5) { transition-delay: 0.48s; }

/* ===== SHARED COMPONENTS ===== */

/* Gradient text accent — gold-to-magenta for section title highlights */
.title-accent {
  color: transparent;
  background: linear-gradient(135deg, var(--wp--preset--color--c-gold) 40%, var(--wp--preset--color--c-magenta) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  font-weight: 900;
}

.section-tag {
  display: inline-block;
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-lavender);
      letter-spacing: 0.3em;
  text-transform: uppercase;
  margin-bottom: var(--wp--preset--spacing--30);
}

/* :::SECTION:Hero::: */
.hero {
  display: grid;
  grid-template-rows: auto minmax(4rem, 1fr) auto;
  /* gap: var(--wp--preset--spacing--40); */
  min-height: 75vh;
  padding: var(--wp--preset--spacing--40) 0;
  background-color: var(--wp--preset--color--c-void);
  font-family: var(--font-body);
  color: var(--wp--preset--color--c-bone);
  overflow: clip;
  position: relative;
}

/* Gradient overlay */
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 40%, rgba(123,47,190,0.12) 0%, transparent 70%),
    radial-gradient(ellipse 40% 35% at 50% 45%, rgba(255,105,212,0.06) 0%, transparent 60%),
    linear-gradient(to bottom, rgba(7,4,14,0.55) 0%, rgba(7,4,14,0.25) 30%, rgba(7,4,14,0.30) 55%, rgba(7,4,14,0.92) 85%, var(--wp--preset--color--c-void) 100%);
  z-index: 1;
  pointer-events: none;
}

/* Noise texture overlay */
/* .hero .hero-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
  pointer-events: none;
  z-index: 1;
} */

/* Ambient veil shimmer */
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 50% 40% at 50% 35%, rgba(123,47,190,0.08) 0%, transparent 70%);
  animation: veilBreathe 8s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

@keyframes veilBreathe {
  0%, 100% { opacity: 0.5; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.05); }
}

.hero-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 var(--wp--preset--spacing--40) 0;
  z-index: 2;
  animation: heroFadeDown 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both;
  position: relative;
}

.hero-logo {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 2.5vw, 1.6rem);
  font-weight: 700;
  color: var(--wp--preset--color--c-gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  text-shadow:
    0 0 30px rgba(201,168,76,0.4),
    0 0 60px rgba(123,47,190,0.2);
  filter: drop-shadow(0 0 30px rgba(123,47,190,0.4)) drop-shadow(0 0 60px rgba(255,105,212,0.15));
}

.hero-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  z-index: 2;
  gap: var(--wp--preset--spacing--20);
}

.hero-ornament-top {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--30);
  animation: heroFadeUp 2s cubic-bezier(0.22, 1, 0.36, 1) 0.6s both;
  width: clamp(200px, 40vw, 400px);
  margin-bottom: var(--wp--preset--spacing--30);
}

.hero-ornament-top::before,
.hero-ornament-top::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--wp--preset--color--c-gold-dim), transparent);
}

.hero-ornament-diamond {
  width: 8px;
  height: 8px;
  background: var(--wp--preset--color--c-gold);
  transform: rotate(45deg);
  flex-shrink: 0;
  box-shadow: 0 0 12px rgba(201,168,76,0.5);
}

.hero-headline {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--display);
  font-weight: 700;
  color: var(--wp--preset--color--c-gold);
  line-height: 1.1;
  letter-spacing: 0.04em;
  margin: 0;
  text-shadow:
    0 0 40px rgba(201,168,76,0.3),
    0 0 80px rgba(123,47,190,0.2),
    0 2px 4px rgba(0,0,0,0.3);
  animation: heroReveal 2.4s cubic-bezier(0.22, 1, 0.36, 1) 0.8s both;
  max-width: 14ch;
}

.hero-headline-line2 {
  display: block;
  color: transparent;
  background: linear-gradient(160deg, var(--wp--preset--color--c-gold) 30%, var(--wp--preset--color--c-magenta) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  font-weight: 900;
}

.hero-narrative {
  font-size: var(--wp--preset--font-size--xl);
  font-weight: 300;
  font-style: italic;
  line-height: 1.7;
  color: var(--wp--preset--color--c-ash);
  margin: 0;
  animation: heroFadeUp 2s cubic-bezier(0.22, 1, 0.36, 1) 1.3s both;
  text-shadow: 0 1px 6px rgba(0,0,0,0.9);
}

.hero-cta-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--30);
  animation: heroFadeUp 2s cubic-bezier(0.22, 1, 0.36, 1) 1.7s both;
}

.hero-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--lg);
  font-weight: 700;
  color: #ffffff;
  background: linear-gradient(135deg, rgba(123, 47, 190, 0.15) 0%, rgba(180, 100, 230, 0.08) 100%);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
  text-decoration: none;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  clip-path: polygon(12px 0%, calc(100% - 12px) 0%, 100% 50%, calc(100% - 12px) 100%, 12px 100%, 0% 50%);
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  text-shadow: none;
  box-shadow: none;
}

.hero-cta:hover {
  background: rgba(123, 47, 190, 0.8);
  color: white;
  box-shadow: 0 0 30px rgba(123, 47, 190, 0.2);
}

.hero-cta::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background-color: var(--wp--preset--color--c-void);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='5 3 19 12 5 21 5 3'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  flex-shrink: 0;
}

.hero-cta-glow {
  position: absolute;
  inset: -3px;
  clip-path: polygon(13px -3px, calc(100% - 13px) -3px, calc(100% + 3px) 50%, calc(100% - 13px) calc(100% + 3px), 13px calc(100% + 3px), -3px 50%);
  background: linear-gradient(135deg, var(--wp--preset--color--c-purple), var(--wp--preset--color--c-magenta), var(--wp--preset--color--c-purple));
  opacity: 0.35;
  z-index: -1;
  animation: none;
  pointer-events: none;
}

.hero-access {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-ash);
  letter-spacing: 0.08em;
  opacity: 0.7;
  margin: 0;
}

.hero-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
  z-index: 2;
  animation: heroFadeUp 2s cubic-bezier(0.22, 1, 0.36, 1) 2.2s both;
  gap: var(--wp--preset--spacing--50);
}

.no-animation {
    animation: none !important;
}

.hero-footer-link {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  color: white;
  text-decoration: none;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.5;
  transition: all 0.3s ease;
}

.hero-footer-link:hover {
  color: var(--wp--preset--color--c-gold);
  opacity: 1;
  text-shadow: 0 0 20px rgba(201,168,76,0.4);
}

@keyframes ctaPulse {
  0%, 100% { opacity: 0.4; filter: blur(6px); }
  50% { opacity: 0.75; filter: blur(10px); }
}

@keyframes heroFadeDown {
  from { opacity: 0; transform: translateY(-30px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes heroReveal {
  from { opacity: 0; transform: translateY(20px) scale(0.96); filter: blur(4px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

/* Hero Responsive */
@media (max-width: 1024px) {
  .hero-headline {
    max-width: 16ch;
  }
}

@media (max-width: 768px) {
  .hero {
    grid-template-rows: auto minmax(4rem, 1fr) auto;
  }

  .hero-header {
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30) 0;
  }

  .hero-body {
    padding: var(--wp--preset--spacing--30);
    gap: var(--wp--preset--spacing--30);
  }

  .hero-headline {
    letter-spacing: 0.02em;
    max-width: 100%;
  }

  .hero-narrative {
    font-size: var(--wp--preset--font-size--base);
  }

  .hero-cta {
    font-size: var(--wp--preset--font-size--base);
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
    clip-path: polygon(10px 0%, calc(100% - 10px) 0%, 100% 50%, calc(100% - 10px) 100%, 10px 100%, 0% 50%);
  }

  .hero-footer {
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--30);
    padding: var(--wp--preset--spacing--30);
  }
}

@media (max-width: 480px) {
  .hero-ornament-top {
    width: 60vw;
  }

  .hero-narrative {
    font-size: var(--wp--preset--font-size--small);
  }

  .hero-cta {
    font-size: var(--wp--preset--font-size--small);
    letter-spacing: 0.1em;
  }

  .hero-footer {
    flex-direction: column;
    align-items: center;
    gap: var(--wp--preset--spacing--20);
  }
}

/* ===== SECTION BACKGROUND PATTERN =====
 * Sections alternate backgrounds for visual rhythm:
 *   Hero     → c-void
 *   World    → c-stone
 *   Classes  → c-void
 *   Features → c-stone
 *   CTA      → c-void (full-bleed background image overrides)
 *   Footer   → c-void
 *
 * Border opacity tiers:
 *   0.15  — subtle (pillar borders)
 *   0.2   — standard (card borders, class cards)
 *   solid c-purple-deep — strong (post card borders, separators)
 *   gold rgba(201,168,76,0.15) — header bottom border only
 * ===== */

/* :::SECTION:The World::: */
.world {
  position: relative;
  background-color: var(--wp--preset--color--c-stone);
  padding: var(--wp--preset--spacing--65) var(--wp--preset--spacing--40);
}

.world::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, var(--wp--preset--color--c-void) 0%, rgba(7,4,14,0.7) 25%, rgba(14,10,24,0.85) 60%, var(--wp--preset--color--c-void) 100%),
    radial-gradient(ellipse 70% 50% at 30% 40%, rgba(123,47,190,0.06) 0%, transparent 70%);
  z-index: 1;
  pointer-events: none;
}
.world-inner {
      position: relative;
      z-index: 2;
      max-width: 1280px;
  margin: 0 auto;
}

.world-header {
  text-align: center;
  margin-bottom: var(--wp--preset--spacing--60);
}

.world-title {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--huge);
  font-weight: 700;
  color: var(--wp--preset--color--c-gold);
  letter-spacing: 0.05em;
  line-height: 1.15;
  text-shadow: 0 0 40px rgba(201,168,76,0.2), 0 2px 4px rgba(0,0,0,0.6);
}

/* .world-title-accent — consolidated into .title-accent */

.world-intro {
  font-size: var(--wp--preset--font-size--xl);
  font-weight: 300;
  font-style: italic;
  color: var(--wp--preset--color--c-ash);
  margin: var(--wp--preset--spacing--30) auto 0;
  line-height: 1.7;
}

.world-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--wp--preset--spacing--40);
}

.world-pillar {
  background: linear-gradient(165deg, #0e0a18 0%, #07040f 100%);
  border: 1px solid rgba(123,47,190,0.15);
  border-top: 2px solid var(--wp--preset--color--c-purple-deep);
  padding: 0;
  overflow: hidden;
  position: relative;
  transition: border-color 0.4s ease, box-shadow 0.4s ease;
  margin-top: 0;
}

.world-pillar:hover {
  border-top-color: var(--wp--preset--color--c-purple);
  box-shadow:
    0 0 40px rgba(123,47,190,0.1),
    inset 0 1px 0 rgba(123,47,190,0.1);
}

.pillar-icon {
  display: block;
  width: 40px;
  height: 40px;
  margin-bottom: var(--wp--preset--spacing--30);
  background-color: var(--wp--preset--color--c-purple);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  opacity: 0.7;
}

.pillar-icon--veil {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Cpath d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2z'/%3E%3Cpath d='M2 12h20'/%3E%3Cpath d='M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E");
}

.pillar-icon--dominions {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Cpath d='M2 20h20'/%3E%3Cpath d='M5 20V8l7-5 7 5v12'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3Cpath d='M9 12h6'/%3E%3C/svg%3E");
}

.pillar-icon--tide {
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9z'/%3E%3C/svg%3E");
}

.pillar-image.wp-block-image {
      margin-bottom: 0;
      overflow: hidden;
      border-radius: 0;
      border: none;
      position: relative;
      aspect-ratio: 16 / 10;
    }

    .pillar-image.wp-block-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      filter: brightness(0.7) saturate(0.85);
      transition: filter 0.5s ease, transform 0.5s ease;
    }

    .world-pillar:hover .pillar-image img {
      filter: brightness(0.9) saturate(1);
      /* transform: scale(1.05); */
    }

    .pillar-image.wp-block-image::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, transparent 20%, rgba(14,10,24,0.3) 45%, rgba(14,10,24,0.8) 70%, #0e0a18 95%);
      pointer-events: none;
      z-index: 1;
      border-radius: 0;
    }

    .world-pillar:hover .pillar-image.wp-block-image {
      border-color: rgba(123,47,190,0.4);
      box-shadow: 0 0 20px rgba(123,47,190,0.15);
    }

.pillar-title {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--2xl);
  font-weight: 700;
  color: var(--wp--preset--color--c-gold);
  margin-bottom: var(--wp--preset--spacing--20);
  letter-spacing: 0.04em;
  text-shadow: 0 0 20px rgba(201,168,76,0.3);
  padding: 0 var(--wp--preset--spacing--40);
}

.pillar-text {
  font-size: var(--wp--preset--font-size--base);
  font-weight: 300;
  color: var(--wp--preset--color--c-ash);
  line-height: 1.7;
  padding: 0 var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
}

@media (max-width: 1024px) {
  .world-pillars {
    gap: var(--wp--preset--spacing--30);
  }
  .world-pillar {
        padding: 0;
      }
}

@media (max-width: 768px) {
  .world {
    padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30);
  }
  .world-pillars {
    grid-template-columns: 1fr;
    gap: var(--wp--preset--spacing--30);
  }
  .world-pillar {
        padding: 0;
      }
  .world-intro {
    font-size: var(--wp--preset--font-size--base);
  }
}

/* :::SECTION:Classes::: */
.classes {
  position: relative;
  background-color: var(--wp--preset--color--c-void);
  padding: var(--wp--preset--spacing--65) var(--wp--preset--spacing--40);
}

.classes::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 50% 40% at 70% 30%, rgba(123,47,190,0.05) 0%, transparent 70%),
    radial-gradient(ellipse 40% 50% at 20% 70%, rgba(255,105,212,0.03) 0%, transparent 70%);
  pointer-events: none;
}
.classes-inner {
      position: relative;
      z-index: 2;
      max-width: 1280px;
  margin: 0 auto;
}

.classes-header {
  text-align: center;
  margin-bottom: var(--wp--preset--spacing--60);
}

.classes-title {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--huge);
  font-weight: 700;
  color: var(--wp--preset--color--c-gold);
  letter-spacing: 0.05em;
  text-shadow: 0 0 40px rgba(201,168,76,0.2), 0 2px 4px rgba(0,0,0,0.6);
}

/* .classes-title-accent — consolidated into .title-accent */

.classes-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: var(--wp--preset--spacing--30);
}

.class-card {
  position: relative;
  border: 1px solid rgba(123,47,190,0.2);
  overflow: hidden;
  transition: border-color 0.5s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  margin-top: 0;
}

.class-card:hover {
  border-color: var(--wp--preset--color--c-purple);
  transform: translateY(-4px);
}

.class-card--featured {
  grid-row: 1 / 3;
}

.class-card-image {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 320px;
  display: flex;
  align-items: flex-end;
}

.class-card--featured .class-card-image {
  min-height: 500px;
}

.class-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(7,4,14,0.97) 0%, rgba(7,4,14,0.6) 40%, rgba(7,4,14,0.15) 100%);
  transition: background 0.5s ease;
}

.class-card:hover .class-card-overlay {
  background: linear-gradient(to top, rgba(7,4,14,0.95) 0%, rgba(7,4,14,0.4) 40%, rgba(7,4,14,0.05) 100%);
}

.class-card-content {
  position: relative;
  z-index: 2;
  padding: var(--wp--preset--spacing--40);
}

.class-card-role {
  display: inline-block;
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-lavender);
      letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: var(--wp--preset--spacing--20);
}

.class-card-name {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--2xl);
  font-weight: 700;
  color: var(--wp--preset--color--c-gold);
  letter-spacing: 0.04em;
  margin-bottom: var(--wp--preset--spacing--20);
  text-shadow: 0 0 20px rgba(201,168,76,0.3);
}

.class-card-desc {
  font-size: var(--wp--preset--font-size--base);
  font-weight: 300;
  color: var(--wp--preset--color--c-ash);
  line-height: 1.7;
}

.classes-note {
  text-align: center;
  font-size: var(--wp--preset--font-size--base);
  font-style: italic;
  color: var(--wp--preset--color--c-ash);
  margin-top: var(--wp--preset--spacing--50);
  opacity: 0.7;
}

@media (min-width: 1025px) {
  .class-card--featured .class-card-desc {
    font-size: var(--wp--preset--font-size--base) !important;
  }
}

@media (max-width: 1024px) {
  .classes-grid {
    grid-template-columns: 1fr 1fr;
  }
  .class-card--featured {
    grid-column: auto;
    grid-row: auto;
  }
  .class-card--featured .class-card-image {
    min-height: 400px;
  }
}

@media (max-width: 768px) {
  .classes {
    padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30);
  }
  .classes-grid {
    grid-template-columns: 1fr;
    gap: var(--wp--preset--spacing--30);
  }
  .class-card-image {
    min-height: 280px;
  }
  .class-card--featured .class-card-image {
    min-height: 350px;
  }
}

/* :::SECTION:Features::: */
.features {
  position: relative;
  background-color: var(--wp--preset--color--c-stone);
  padding: var(--wp--preset--spacing--65) var(--wp--preset--spacing--40);
}

.features::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 50%, rgba(123,47,190,0.06) 0%, transparent 70%),
    linear-gradient(to bottom, var(--wp--preset--color--c-void) 0%, transparent 8%, transparent 92%, var(--wp--preset--color--c-void) 100%);
  pointer-events: none;
}

/* Narrower than wideSize (1280px) — intentional for readability of list-style content */
.features-inner {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 auto;
}

.features-header {
  text-align: center;
  margin-bottom: var(--wp--preset--spacing--60);
}

.features-title {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--huge);
  font-weight: 700;
  color: var(--wp--preset--color--c-gold);
  letter-spacing: 0.05em;
  text-shadow: 0 0 40px rgba(201,168,76,0.2), 0 2px 4px rgba(0,0,0,0.6);
}

/* .features-title-accent — consolidated into .title-accent */

.features-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.feature-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--wp--preset--spacing--40);
  padding: var(--wp--preset--spacing--50) 0;
  position: relative;
  align-items: start;
}

.feature-line {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--wp--preset--color--c-purple-deep), rgba(201,168,76,0.15), var(--wp--preset--color--c-purple-deep), transparent);
}

.feature-item:last-child .feature-line {
  display: none;
}

.feature-number {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--3xl);
  font-weight: 900;
  color: var(--wp--preset--color--c-purple-mid);
  line-height: 1;
  min-width: 60px;
  text-align: center;
  padding-top: 0.15em;
  transition: color 0.4s ease;
}

.feature-item:hover .feature-number {
  text-shadow: 0 0 30px rgba(123,47,190,0.4);
}

.feature-content {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--20);
  margin-top: 4px;
}

.feature-name {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--2xl);
  font-weight: 700;
  color: var(--wp--preset--color--c-gold);
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.feature-desc {
  font-size: var(--wp--preset--font-size--lg);
  font-weight: 300;
  color: var(--wp--preset--color--c-ash);
  line-height: 1.8;
}

@media (max-width: 768px) {
  .features {
    padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30);
  }
  .feature-item {
    grid-template-columns: 1fr;
    gap: var(--wp--preset--spacing--30);
    padding: var(--wp--preset--spacing--40) 0;
  }
  .feature-number {
    text-align: left;
    min-width: auto;
  }
  .feature-desc {
    font-size: var(--wp--preset--font-size--base);
  }
}

/* :::SECTION:Final CTA::: */
.cta-section {
  position: relative;
  background-color: var(--wp--preset--color--c-void);
  padding: var(--wp--preset--spacing--65) var(--wp--preset--spacing--40);
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cta-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 50% 50%, rgba(123,47,190,0.15) 0%, transparent 60%),
    radial-gradient(ellipse 40% 40% at 50% 50%, rgba(255,105,212,0.06) 0%, transparent 50%),
    linear-gradient(to bottom, var(--wp--preset--color--c-void) 0%, rgba(7,4,14,0.4) 30%, rgba(7,4,14,0.4) 70%, var(--wp--preset--color--c-void) 100%);
  z-index: 1;
  pointer-events: none;
}

.cta-inner {
  position: relative;
  z-index: 2;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--40);
  max-width: 700px;
}

.cta-ornament {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--30);
  width: clamp(160px, 30vw, 300px);
}

.cta-ornament::before,
.cta-ornament::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--wp--preset--color--c-gold-dim), transparent);
}

.cta-ornament-diamond {
  width: 8px;
  height: 8px;
  background: var(--wp--preset--color--c-gold);
  transform: rotate(45deg);
  flex-shrink: 0;
  box-shadow: 0 0 12px rgba(201,168,76,0.5);
}

.cta-headline {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 900;
  color: var(--wp--preset--color--c-gold);
  letter-spacing: 0.04em;
  line-height: 1.1;
  text-shadow:
    0 0 40px rgba(201,168,76,0.3),
    0 0 80px rgba(123,47,190,0.2),
    0 2px 4px rgba(0,0,0,0.8);
}

.cta-text {
  font-size: var(--wp--preset--font-size--xl);
  font-weight: 300;
  font-style: italic;
  color: var(--wp--preset--color--c-ash);
  line-height: 1.8;
}

.cta-actions {
  margin-top: var(--wp--preset--spacing--30);
}
.cta-final-btn {
          /* base styles moved to .wp-block-button.cta-final-btn */
        }
.cta-final-btn:hover {
          /* hover styles moved to .wp-block-button.cta-final-btn */
        }

.cta-subtext {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-ash);
  letter-spacing: 0.08em;
  opacity: 0.6;
}

@media (max-width: 768px) {
  .cta-section {
    padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30);
    min-height: 50vh;
  }
  .cta-text {
    font-size: var(--wp--preset--font-size--base);
  }
  .cta-final-btn {
    font-size: var(--wp--preset--font-size--base);
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  }
}

/* :::SECTION:Footer::: */
.site-footer {
  background-color: var(--wp--preset--color--c-void);
  border-top: 1px solid rgba(123,47,190,0.1);
  padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
}

.site-footer-inner {
      max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--40);
  text-align: center;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
}

.footer-logo {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--2xl);
  font-weight: 700;
  color: var(--wp--preset--color--c-gold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-shadow: 0 0 20px rgba(201,168,76,0.2);
}

.footer-tagline {
  font-size: var(--wp--preset--font-size--base);
  font-style: italic;
  font-weight: 300;
  color: var(--wp--preset--color--c-ash);
  letter-spacing: 0.08em;
}

.footer-nav {
  display: flex;
  gap: var(--wp--preset--spacing--40);
  flex-wrap: wrap;
  justify-content: center;
}

.footer-link {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-gold-dim);
  text-decoration: none;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  opacity: 0.6;
  transition: all 0.3s ease;
}

.footer-link:hover {
  color: var(--wp--preset--color--c-gold);
  opacity: 1;
  text-shadow: 0 0 20px rgba(201,168,76,0.4);
}

.footer-copy {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-ash);
  opacity: 0.7;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .site-footer {
    padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
  }
  .footer-nav {
    gap: var(--wp--preset--spacing--30);
  }
}

/* Hero CTA button — Step A: Reset wrapper */
.wp-block-button.hero-cta {
  padding: 0 !important;
  background: none !important;
  border: none !important;
  margin: 0;
  box-shadow: none !important;
  clip-path: none;
  display: inline-flex;
}

/* Hero CTA button — Step B: Style inner link */
.wp-block-button.hero-cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--lg);
  font-weight: 700;
  color: #ffffff;
  background: linear-gradient(135deg, rgba(123, 47, 190, 0.15) 0%, rgba(180, 100, 230, 0.08) 100%);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
  text-decoration: none;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  clip-path: polygon(12px 0%, calc(100% - 12px) 0%, 100% 50%, calc(100% - 12px) 100%, 12px 100%, 0% 50%);
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  position: relative;
  text-shadow: none;
  box-shadow: none;
  line-height: normal;
  border: none;
  border-radius: 0;
}

.wp-block-button.hero-cta .wp-block-button__link:hover {
  background: rgba(123, 47, 190, 0.8);
  color: white;
  box-shadow: 0 0 30px rgba(123, 47, 190, 0.2);
}

/* Hero CTA button — Step C: Re-target ::before to inner link */
.wp-block-button.hero-cta::before {
  content: none;
}

.wp-block-button.hero-cta .wp-block-button__link::before {
  content: none;
  display: inline-block;
  width: 18px;
  height: 18px;
  background-color: var(--wp--preset--color--c-void);
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='5 3 19 12 5 21 5 3'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  flex-shrink: 0;
}

/* Hero CTA glow — positioned inside the link */
:root :where(.hero-cta-glow) {
  position: absolute;
  inset: -3px;
  clip-path: polygon(13px -3px, calc(100% - 13px) -3px, calc(100% + 3px) 50%, calc(100% - 13px) calc(100% + 3px), 13px calc(100% + 3px), -3px 50%);
  background: linear-gradient(135deg, var(--wp--preset--color--c-purple), var(--wp--preset--color--c-magenta), var(--wp--preset--color--c-purple));
  opacity: 0.35;
  z-index: -1;
  animation: none;
  pointer-events: none;
}

/* Hero Login button — secondary ghost variant */
    .wp-block-button.hero-cta.hero-cta-login .wp-block-button__link {
      background: linear-gradient(135deg, rgba(201, 168, 76, 0.1) 0%, rgba(123, 47, 190, 0.06) 100%);
      color: var(--wp--preset--color--c-gold);
      box-shadow: none;
    }
    .wp-block-button.hero-cta.hero-cta-login .wp-block-button__link:hover {
          /* background: linear-gradient(135deg, rgba(201, 168, 76, 0.22) 0%, rgba(123, 47, 190, 0.12) 100%); */
          /* background: var(--wp--preset--color--c-gold); */
          background: rgba(201, 168, 76, 0.8);
          color: white;
          box-shadow: 0 0 30px rgba(201, 168, 76, 0.2);
          animation: none;
    }

    .wp-block-button.hero-cta.hero-cta-login .wp-block-button__link::before {
      content: none;
    }

    .wp-block-button.hero-cta.hero-cta-login .hero-cta-glow {
      background: linear-gradient(135deg, var(--wp--preset--color--c-gold-dim), var(--wp--preset--color--c-gold), var(--wp--preset--color--c-gold-dim));
      opacity: 0.2;
      animation: none;
    }

    /* CTA Final Button — Redesigned */
.wp-block-button.cta-final-btn {
  padding: 0 !important;
  background: none !important;
  border: none !important;
  margin: 0;
  box-shadow: none !important;
  clip-path: none;
}

.wp-block-button.cta-final-btn .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: clamp(1rem, 2.5vw, 1.35rem);
  font-weight: 600;
  color: #C9A84C;
  background: linear-gradient(180deg, rgba(15, 8, 28, 0.85) 0%, rgba(8, 4, 18, 0.92) 100%);
  padding: 20px 56px;
  text-decoration: none;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  border: 1px solid rgba(201, 168, 76, 0.45);
  border-radius: 2px;
  position: relative;
  transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: inset 0 1px 0 rgba(201, 168, 76, 0.1), 0 0 20px rgba(201, 168, 76, 0.06);
  text-shadow: 0 0 24px rgba(201, 168, 76, 0.25);
  clip-path: none;
  line-height: 1.2;
}

.wp-block-button.cta-final-btn .wp-block-button__link:hover {
color: #ffffff;
      background: rgba(120, 80, 0, 0.6);
  border-color: rgba(218, 185, 100, 0.7);
  box-shadow: inset 0 0 30px rgba(201, 168, 76, 0.1), 0 0 25px rgba(201, 168, 76, 0.12), 0 0 60px rgba(201, 168, 76, 0.06);
  text-shadow: 0 0 20px rgba(201, 168, 76, 0.3);
}

/* CTA final button — inner decorative frame */
.wp-block-button.cta-final-btn .wp-block-button__link::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(201, 168, 76, 0.12);
  border-radius: 1px;
  pointer-events: none;
  transition: border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.wp-block-button.cta-final-btn .wp-block-button__link:hover::before {
  border-color: rgba(218, 185, 100, 0.25);
}

/* Button alignment — center wp-block-buttons in centered contexts */
:root :where(.hero-cta-area .wp-block-buttons) {
  justify-content: center;
}

:root :where(.cta-actions .wp-block-buttons) {
  justify-content: center;
}

/* Hero logo link styling */
:root :where(.hero-logo a) {
  text-decoration: none;
  color: inherit;
}

/* Hero footer link wrappers — paragraphs wrapping links */
:root :where(.hero-footer-link-wrapper) {
  margin: 0;
}

/* Margin parity — world-header */
:root :where(.world-header) {
  margin-bottom: var(--wp--preset--spacing--60);
}

.editor-styles-wrapper .world-header {
  margin-bottom: var(--wp--preset--spacing--60) !important;
}

/* Margin parity — classes-header */
:root :where(.classes-header) {
  margin-bottom: var(--wp--preset--spacing--60);
}

.editor-styles-wrapper .classes-header {
  margin-bottom: var(--wp--preset--spacing--60) !important;
}

/* Margin parity — features-header */
:root :where(.features-header) {
  margin-bottom: var(--wp--preset--spacing--60);
}

.editor-styles-wrapper .features-header {
  margin-bottom: var(--wp--preset--spacing--60) !important;
}

/* Margin parity — pillar-icon */
:root :where(.pillar-icon) {
  margin-bottom: var(--wp--preset--spacing--30);
}
.editor-styles-wrapper .pillar-icon {
      margin-bottom: var(--wp--preset--spacing--30) !important;
    }
    .editor-styles-wrapper .pillar-image.wp-block-image {
          margin-bottom: 0 !important;
          border-radius: 0 !important;
          border: none !important;
        }

    .editor-styles-wrapper .world-pillar {
      padding: 0 !important;
      overflow: hidden !important;
    }

    .editor-styles-wrapper .pillar-title {
      padding: 0 var(--wp--preset--spacing--40) !important;
    }

    .editor-styles-wrapper .pillar-text {
      padding: 0 var(--wp--preset--spacing--40) var(--wp--preset--spacing--40) !important;
    }

/* Margin parity — pillar-title */
:root :where(.pillar-title) {
  margin-bottom: var(--wp--preset--spacing--20);
}

.editor-styles-wrapper .pillar-title {
  margin-bottom: var(--wp--preset--spacing--20) !important;
}

/* Margin parity — section-tag */
:root :where(.section-tag) {
  margin-bottom: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .section-tag {
  margin-bottom: var(--wp--preset--spacing--30) !important;
}

/* Margin parity — world-intro */
:root :where(.world-intro) {
  margin-top: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .world-intro {
  margin-top: var(--wp--preset--spacing--30) !important;
}

/* Margin parity — class-card-role */
:root :where(.class-card-role) {
  margin-bottom: var(--wp--preset--spacing--20);
}

.editor-styles-wrapper .class-card-role {
  margin-bottom: var(--wp--preset--spacing--20) !important;
}

/* Margin parity — class-card-name */
:root :where(.class-card-name) {
  margin-bottom: var(--wp--preset--spacing--20);
}

.editor-styles-wrapper .class-card-name {
  margin-bottom: var(--wp--preset--spacing--20) !important;
}

/* Margin parity — classes-note */
:root :where(.classes-note) {
  margin-top: var(--wp--preset--spacing--50);
}

.editor-styles-wrapper .classes-note {
  margin-top: var(--wp--preset--spacing--50) !important;
}

/* Margin parity — cta-actions */
:root :where(.cta-actions) {
  margin-top: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .cta-actions {
  margin-top: var(--wp--preset--spacing--30) !important;
}

/* Editor: world-pillars grid */
.editor-styles-wrapper .world-pillars {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--wp--preset--spacing--40) !important;
}

.editor-styles-wrapper .world-pillars > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Editor: classes-grid */
.editor-styles-wrapper .classes-grid {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr !important;
  gap: var(--wp--preset--spacing--30) !important;
}

.editor-styles-wrapper .classes-grid > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Editor: class-card--featured grid span */
.editor-styles-wrapper .classes-grid > .block-editor-block-list__block:has(.class-card--featured) {
  grid-row: 1 / 3;
}

/* class-card-image flex alignment */
:root :where(.class-card-image) {
  display: flex;
  align-items: flex-end;
}

/* Editor: class-card-image */
.editor-styles-wrapper .class-card-image {
  display: flex !important;
  align-items: flex-end !important;
}

/* class-card-overlay absolute positioning */
.editor-styles-wrapper .class-card-overlay {
  position: absolute !important;
  inset: 0 !important;
}

/* Editor: features-list flex */
.editor-styles-wrapper .features-list {
  display: flex !important;
  flex-direction: column !important;
}

/* Editor: feature-item grid */
.editor-styles-wrapper .feature-item {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: var(--wp--preset--spacing--40) !important;
  align-items: start !important;
}

.editor-styles-wrapper .feature-item > .block-editor-block-list__block {
  margin: 0 !important;
}

/* feature-line absolute positioning */
.editor-styles-wrapper .feature-line {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
}

/* Editor: feature-content flex */
.editor-styles-wrapper .feature-content {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--wp--preset--spacing--20) !important;
}

.editor-styles-wrapper .feature-content > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Feature-item: take feature-line out of grid flow in editor */
.editor-styles-wrapper .feature-item > .block-editor-block-list__block:has(.feature-line) {
  display: contents !important;
}

/* Editor: cta-inner flex */
.editor-styles-wrapper .cta-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--wp--preset--spacing--40) !important;
}

.editor-styles-wrapper .cta-inner > .block-editor-block-list__block {
  margin: 0 !important;
}

/* CTA section flex centering */
:root :where(.cta-section) {
  display: flex;
  align-items: center;
  justify-content: center;
}

.editor-styles-wrapper .cta-section {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Footer logo link styling */
:root :where(.footer-logo a) {
  text-decoration: none;
  color: inherit;
}

/* Footer link wrapper paragraph reset */
:root :where(.footer-link-wrapper) {
  margin: 0;
}

/* Editor: site-footer-inner flex */
.editor-styles-wrapper .site-footer-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--wp--preset--spacing--40) !important;
}

.editor-styles-wrapper .site-footer-inner > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Editor: footer-brand flex */
.editor-styles-wrapper .footer-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--wp--preset--spacing--20) !important;
}

.editor-styles-wrapper .footer-brand > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Editor: footer-nav flex */
.editor-styles-wrapper .footer-nav {
  display: flex !important;
  gap: var(--wp--preset--spacing--40) !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}

.editor-styles-wrapper .footer-nav > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Hero grid layout */
.editor-styles-wrapper .hero {
  display: grid !important;
  grid-template-rows: auto minmax(4rem, 1fr) auto !important;
  gap: var(--wp--preset--spacing--40) !important;
}

.editor-styles-wrapper .hero > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Hero header flex */
.editor-styles-wrapper .hero-header {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Hero body flex */
.editor-styles-wrapper .hero-body {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--wp--preset--spacing--40) !important;
}

.editor-styles-wrapper .hero-body > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Hero ornament-top flex */
.editor-styles-wrapper .hero-ornament-top {
  display: flex !important;
  align-items: center !important;
  gap: var(--wp--preset--spacing--30) !important;
}

.editor-styles-wrapper .hero-ornament-top > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Hero CTA area flex */
.editor-styles-wrapper .hero-cta-area {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--wp--preset--spacing--30) !important;
}

.editor-styles-wrapper .hero-cta-area > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Hero footer flex */
.editor-styles-wrapper .hero-footer {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: var(--wp--preset--spacing--50) !important;
}

.editor-styles-wrapper .hero-footer > .block-editor-block-list__block {
  margin: 0 !important;
}

/* CTA ornament flex */
.editor-styles-wrapper .cta-ornament {
  display: flex !important;
  align-items: center !important;
  gap: var(--wp--preset--spacing--30) !important;
}

.editor-styles-wrapper .cta-ornament > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Mobile responsive adjustments for hero CTA button */
@media (max-width: 768px) {
  .wp-block-button.hero-cta .wp-block-button__link {
    font-size: var(--wp--preset--font-size--base);
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
    clip-path: polygon(10px 0%, calc(100% - 10px) 0%, 100% 50%, calc(100% - 10px) 100%, 10px 100%, 0% 50%);
    min-height: 44px;
  }

  .wp-block-button.cta-final-btn .wp-block-button__link {
    font-size: var(--wp--preset--font-size--base);
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  }

  /* Editor: world-pillars responsive */
  .editor-styles-wrapper .world-pillars {
    grid-template-columns: 1fr !important;
  }

  /* Editor: classes-grid responsive */
  .editor-styles-wrapper .classes-grid {
    grid-template-columns: 1fr !important;
  }

  /* Editor: feature-item responsive */
  .editor-styles-wrapper .feature-item {
    grid-template-columns: 1fr !important;
  }

  /* Hero footer links touch targets */
  :root :where(.hero-footer-link) {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    font-size: var(--wp--preset--font-size--small);
  }

  /* Footer links touch targets */
  :root :where(.footer-link) {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    font-size: var(--wp--preset--font-size--small);
  }
}

@media (max-width: 480px) {
  .wp-block-button.hero-cta .wp-block-button__link {
    font-size: var(--wp--preset--font-size--small);
    letter-spacing: 0.1em;
    min-height: 44px;
  }
}

@media (max-width: 1024px) {
  .editor-styles-wrapper .classes-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .editor-styles-wrapper .classes-grid > .block-editor-block-list__block:has(.class-card--featured) {
    grid-column: auto;
    grid-row: auto;
  }
}

:root :where(.wp-block-post-title) {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--huge);
  color: var(--wp--preset--color--c-gold);
  line-height: 1.15;
  letter-spacing: 0.04em;
  /* Derived from --c-gold (#C9A84C) */
  text-shadow: 0 0 40px rgba(201, 168, 76, 0.2), 0 2px 4px rgba(0, 0, 0, 0.6);
}

:root :where(.wp-block-post-title a) {
  text-decoration: none;
  color: inherit;
  transition: color 0.3s ease;
}

:root :where(.wp-block-post-title a:hover) {
  color: var(--wp--preset--color--c-magenta);
}

:root :where(.wp-block-post-date),
:root :where(.wp-block-post-author) {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-ash);
  letter-spacing: 0.15em;
}

:root :where(.wp-block-post-excerpt) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--c-ash);
  line-height: 1.8;
  font-weight: 300;
}

:root :where(.wp-block-post-featured-image) {
  overflow: hidden;
  border: 1px solid rgba(123, 47, 190, 0.2);
}

:root :where(.wp-block-post-featured-image img) {
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

/* :root :where(.wp-block-post-featured-image:hover img) {
  transform: scale(1.03);
} */

/* Pagination */
:root :where(.wp-block-query-pagination) {
  font-family: var(--font-display);
  gap: var(--wp--preset--spacing--30);
  justify-content: center;
  margin-top: var(--wp--preset--spacing--60);
}

:root :where(.wp-block-query-pagination-numbers) {
  display: flex;
  gap: var(--wp--preset--spacing--20);
}

:root :where(.wp-block-query-pagination-numbers .page-numbers) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: var(--wp--preset--spacing--20);
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-gold-dim);
  border: 1px solid var(--wp--preset--color--c-purple-deep);
  text-decoration: none;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
}

:root :where(.wp-block-query-pagination-numbers .page-numbers:hover),
:root :where(.wp-block-query-pagination-numbers .page-numbers.current) {
  color: var(--wp--preset--color--c-gold);
  border-color: var(--wp--preset--color--c-purple);
  /* Derived from --c-purple (#7B2FBE) */
  box-shadow: 0 0 20px rgba(123, 47, 190, 0.2);
}

:root :where(.wp-block-query-pagination-next),
:root :where(.wp-block-query-pagination-previous) {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-gold-dim);
  text-decoration: none;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

:root :where(.wp-block-query-pagination-next:hover),
:root :where(.wp-block-query-pagination-previous:hover) {
  color: var(--wp--preset--color--c-gold);
  /* Derived from --c-gold (#C9A84C) */
  text-shadow: 0 0 20px rgba(201, 168, 76, 0.4);
}

/* Search */
:root :where(.wp-block-search) {
  max-width: 500px;
}

:root :where(.wp-block-search__input) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-bone);
  background: rgba(14, 10, 24, 0.8);
  border: 1px solid var(--wp--preset--color--c-purple-deep);
  padding: var(--wp--preset--spacing--30);
  transition: border-color 0.3s ease;
  min-height: 44px;
}

:root :where(.wp-block-search__input:focus) {
  border-color: var(--wp--preset--color--c-purple);
  outline: none;
  /* Derived from --c-purple (#7B2FBE) */
  box-shadow: 0 0 20px rgba(123, 47, 190, 0.2);
}

:root :where(.wp-block-search__input::placeholder) {
  color: var(--wp--preset--color--c-ash);
  opacity: 0.6;
}

:root :where(.wp-block-search__button) {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-void);
  background: var(--wp--preset--color--c-gold);
  border: none;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
  min-height: 44px;
}

:root :where(.wp-block-search__button:hover) {
  background: #e0c564;
  /* Derived from --c-gold (#C9A84C) */
  box-shadow: 0 0 30px rgba(201, 168, 76, 0.4);
}

/* Comments */
:root :where(.wp-block-comment-template) {
  list-style: none;
  padding: 0;
}

:root :where(.wp-block-comment-author-name) {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-gold);
  letter-spacing: 0.05em;
}

:root :where(.wp-block-comment-author-name a) {
  text-decoration: none;
  color: inherit;
}

:root :where(.wp-block-comment-content) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-bone);
  line-height: 1.7;
}

:root :where(.wp-block-comments-pagination) {
  display: flex;
  justify-content: center;
  gap: var(--wp--preset--spacing--30);
  margin-top: var(--wp--preset--spacing--40);
}

:root :where(.wp-block-comments-pagination-numbers) {
  display: flex;
  gap: var(--wp--preset--spacing--20);
}

:root :where(.wp-block-comments-pagination-numbers .page-numbers) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-gold-dim);
  border: 1px solid var(--wp--preset--color--c-purple-deep);
  text-decoration: none;
  transition: all 0.3s ease;
}

:root :where(.wp-block-comments-pagination-numbers .page-numbers:hover),
:root :where(.wp-block-comments-pagination-numbers .page-numbers.current) {
  color: var(--wp--preset--color--c-gold);
  border-color: var(--wp--preset--color--c-purple);
}

:root :where(.wp-block-comments-pagination-previous),
:root :where(.wp-block-comments-pagination-next) {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-gold-dim);
  text-decoration: none;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

:root :where(.wp-block-comments-pagination-previous:hover),
:root :where(.wp-block-comments-pagination-next:hover) {
  color: var(--wp--preset--color--c-gold);
}

/* Blockquote */
:root :where(.wp-block-quote) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--xl);
  font-style: italic;
  font-weight: 300;
  color: var(--wp--preset--color--c-bone);
  border-left: 3px solid var(--wp--preset--color--c-purple);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  margin: var(--wp--preset--spacing--40) 0;
  line-height: 1.7;
}

:root :where(.wp-block-quote cite) {
  display: block;
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-gold-dim);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: var(--wp--preset--spacing--30);
  font-style: normal;
}

/* Code block */
:root :where(.wp-block-code) {
  font-family: 'Courier New', Courier, monospace;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-bone);
  background: rgba(14, 10, 24, 0.9);
  border: 1px solid var(--wp--preset--color--c-purple-deep);
  padding: var(--wp--preset--spacing--40);
  overflow-x: auto;
  line-height: 1.6;
}

:root :where(.wp-block-code code) {
  font-family: inherit;
  color: inherit;
  background: none;
  padding: 0;
}

/* WordPress Admin Bar Offset */
.admin-bar .nav,
.admin-bar [class*="nav"][style*="position: fixed"],
.admin-bar [class*="header"][style*="position: fixed"] {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar .nav,
  .admin-bar [class*="nav"][style*="position: fixed"],
  .admin-bar [class*="header"][style*="position: fixed"] {
    top: 46px;
  }
}

/* Reset paragraph wrapper styles for inline content converted to wp:paragraph */
/* :where(.wp-block-paragraph) {
  margin: 0;
} */

/* Reset WordPress button line-height to match original CSS */
.wp-block-button__link {
  line-height: normal;
}

/* CRITICAL: Reset WordPress button wrappers to prevent double styling. */
.wp-block-button {
  padding: 0 !important;
  background: none !important;
  border: none !important;
  margin: 0;
  box-shadow: none !important;
}

/* Navigation link styling - remove default underlines in nav contexts */
:where([class*="nav"] a),
:where([class*="nav"] .wp-block-paragraph a),
:where([class*="-link-wrapper"] a) {
  text-decoration: none;
}

/* Reset paragraph margins inside navigation */
:where([class*="nav"] .wp-block-paragraph) {
  margin: 0;
}

/* Editor-specific: override WordPress editor link styles */
.editor-styles-wrapper [class*="nav"] a,
.editor-styles-wrapper [class*="-link-wrapper"] a {
  text-decoration: none;
}

body.logged-in .wp-block-navigation.nav-logged-out {
    display: none;
}

body:not(.logged-in) .wp-block-navigation.nav-logged-in {
    display: none;
}

/* wp:navigation block resets */
:where(.wp-block-navigation),
:where(.wp-block-navigation-item__content) {
  font-family: inherit;
  text-decoration: none;
  color: inherit;
}

:where(.wp-block-navigation__container) {
  padding: 0;
}

/* Spacer inside navigation */
:where(.wp-block-navigation .wp-block-spacer) {
  flex-grow: 1;
  height: 0 !important;
  min-height: 0 !important;
}

/* Reset responsive container */
.wp-block-navigation .wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open) {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Desktop navigation layout */
.wp-block-navigation__responsive-container-content {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  overflow: visible;
}

/* Gap between nav items */
:where(.wp-block-navigation .wp-block-navigation__container) {
  gap: var(--nav-gap, 1.5rem);
}

/* Nav containers must shrink to fit */
.wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
  flex-shrink: 1;
  min-width: 0;
}

:where(.wp-block-navigation__responsive-container-content > .wp-block-navigation__container) {
  display: flex;
  align-items: center;
}

/* CRITICAL: Reset inner UL elements */
.wp-block-navigation__container {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  z-index: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

.wp-block-navigation__responsive-container-content > * {
  flex-shrink: 0;
}

:where(.wp-block-navigation .wp-block-search) {
  flex-shrink: 0;
}

.wp-block-navigation .wp-block-site-title {
  margin: 0;
}

.wp-block-navigation .wp-block-site-title a {
  text-decoration: none;
  color: inherit;
}

.wp-block-navigation .wp-block-navigation-item__content {
  display: inline;
  white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════════
   MOBILE MENU OVERLAY — Dark Fantasy Portal
   Veils of Fate: Tales of Eldermoor
   ═══════════════════════════════════════════════════════════════ */

/* Hamburger / open button */
.wp-block-navigation__responsive-container-open {
  background: transparent;
  border: none;
  color: #C9A84C;
  cursor: pointer;
  transition: color 0.3s ease, filter 0.3s ease;
}
.wp-block-navigation__responsive-container-open:hover,
.wp-block-navigation__responsive-container-open:focus {
  color: #ffe87c;
  filter: drop-shadow(0 0 6px rgba(201,168,76,0.4));
}

/* ── Overlay backdrop — the portal ── */
.wp-block-navigation__responsive-container.is-menu-open {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 99999 !important;
  background-color: #0a0612 !important;
  background-image:
    radial-gradient(ellipse 80% 50% at 50% 20%, rgba(123,47,190,0.18) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 20% 80%, rgba(123,47,190,0.08) 0%, transparent 50%),
    radial-gradient(ellipse 35% 50% at 85% 60%, rgba(201,168,76,0.06) 0%, transparent 50%) !important;
  color: #ffffff;
  padding: 0 !important;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: hidden;
  animation: mobileMenuFadeIn 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  --navigation-layout-justification-setting: center;
  --navigation-layout-justify: center;
}

/* Noise texture overlay */
.wp-block-navigation__responsive-container.is-menu-open::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 200px 200px;
  pointer-events: none;
  z-index: 0;
  opacity: 0.5;
}

/* Vignette effect */
.wp-block-navigation__responsive-container.is-menu-open::after {
  content: '';
  position: fixed;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 40%, rgba(10,6,18,0.6) 100%);
  pointer-events: none;
  z-index: 0;
}

@keyframes mobileMenuFadeIn {
  from { opacity: 0; transform: scale(1.02); }
  to   { opacity: 1; transform: scale(1); }
}

/* ── Dialog wrapper ── */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
  padding: 0;
  height: 100%;
  max-height: 100vh;
  max-height: 100dvh;
}

/* ── Content container — centers everything ── */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  gap: 0;
  padding: 5rem 2rem 3rem;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

/* ── Nav items container ── */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  flex-direction: column !important;
  align-items: center;
  gap: 1.25rem !important;
  justify-content: center;
}

/* ── Nav links — dramatic golden italic ── */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  font-family: var(--font-display), 'Cormorant Garamond', serif !important;
  font-size: clamp(1.5rem, 4vw, 2.25rem) !important;
  font-style: italic;
  font-weight: 500;
  color: #C9A84C !important;
  text-decoration: none !important;
  letter-spacing: 0.04em;
  transition: color 0.3s ease, text-shadow 0.3s ease, transform 0.3s ease;
  display: block;
  padding: 0.75em 1.5em;
  line-height: 1.3;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus {
  color: #ffe87c !important;
  text-shadow: 0 0 20px rgba(255,232,124,0.4), 0 0 40px rgba(201,168,76,0.2);
  transform: scale(1.03);
}

/* ── Decorative gold separators between items ── */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  text-align: center;
  position: relative;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item + .wp-block-navigation-item::before {
  content: '';
  display: block;
  width: 80px;
  height: 1px;
  margin: 0.4em auto;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,0.25), transparent);
}

/* ── Close button — hidden by default, visible only in open overlay ── */
.wp-block-navigation__responsive-container-close {
  display: none !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
  color: #C9A84C !important;
  background: rgba(201,168,76,0.08) !important;
  border: 1px solid rgba(201,168,76,0.3) !important;
  border-radius: 50% !important;
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  top: 1.5rem !important;
  right: 1.5rem !important;
  z-index: 100000 !important;
  transition: all 0.3s ease;
  cursor: pointer;
  padding: 0 !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:focus {
  color: #ffe87c !important;
  border-color: rgba(255,232,124,0.5) !important;
  box-shadow: 0 0 20px rgba(255,232,124,0.2), inset 0 0 10px rgba(255,232,124,0.05);
  background: rgba(201,168,76,0.12) !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
}

/* ── Site title inside overlay ── */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-site-title {
  font-family: var(--font-display), 'Cormorant Garamond', serif;
  font-size: clamp(0.85rem, 2.5vw, 1.1rem);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: rgba(201,168,76,0.45);
  margin-bottom: 2.5rem;
  position: relative;
  padding-top: 2rem;
  order: -1;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-site-title::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,0.4), transparent);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-site-title::after {
  content: '◆';
  position: absolute;
  top: -0.3rem;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(201,168,76,0.4);
  font-size: 0.45rem;
  background: #0a0612;
  padding: 0 0.6rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-site-title a {
  color: inherit !important;
  text-decoration: none !important;
}

/* ── Footer links in overlay ── */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-paragraph {
  font-family: var(--font-body), 'Lato', sans-serif;
  font-size: 0.7rem;
  color: rgba(196,160,240,0.4);
  text-align: center;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: auto;
  padding-top: 3rem;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-paragraph a {
  color: rgba(196,160,240,0.5) !important;
  text-decoration: none !important;
  transition: color 0.3s ease;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-paragraph a:hover {
  color: #c4a0f0 !important;
}

/* Z-index fix — elevate header when overlay is open */
.wp-block-template-part:has(.wp-block-navigation .is-menu-open),
header:has(.wp-block-navigation .is-menu-open) {
  z-index: 100001;
  position: relative;
}

/* Editor-specific fixes */
.editor-styles-wrapper .wp-block-navigation .wp-block-navigation-item {
  margin: 0;
}

/* Editor navigation structure fix - ensure flex display is applied */
/* Gap values should come from theme-specific CSS adjustments, not here */
.editor-styles-wrapper .wp-block-navigation__container {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

.editor-styles-wrapper .wp-block-navigation__responsive-container-content {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

/* Overlay header — transparent nav overlaying the hero section.
 * Uses CSS Grid overlap so header and hero share the same grid row.
 * No height assumptions needed.
 *
 * Frontend only — in the editor the header stacks normally above the hero,
 * which is fine for editing. The overlay is a visual presentation concern. */

/* Frontend: header in page content (homepage) */
body:not(.wp-admin) .wp-block-post-content:has(> .overlay-header) {
  display: grid !important;
  grid-template-columns: 1fr;
}
body:not(.wp-admin) .wp-block-post-content > .overlay-header {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
}
body:not(.wp-admin) .wp-block-post-content > .overlay-header + * {
  grid-column: 1;
  grid-row: 1;
}

/* Frontend: header in template (sub-pages) */
body:not(.wp-admin):has(> .wp-site-blocks > .overlay-header) .wp-site-blocks {
  display: grid !important;
  grid-template-columns: 1fr;
}
body:not(.wp-admin) .wp-site-blocks > .overlay-header {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
}
body:not(.wp-admin) .wp-site-blocks > .overlay-header + * {
  grid-column: 1;
  grid-row: 1;
}

/* Overlay header shared styles */
.overlay-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background-color: transparent !important;
  transition: background-color 0.3s ease;
}
/* Scroll state: JS adds is-scrolled class when user scrolls past hero */
.overlay-header.is-scrolled {
  background-color: rgba(0, 0, 0, 0.92) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* Admin bar offset for sticky overlay header */
.admin-bar .overlay-header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  .admin-bar .overlay-header {
    top: 46px;
  }
}

/* Sticky header support for non-overlay headers.
 * Many HTML sites use position:sticky on nav elements. In WordPress the header
 * template-part wrapper (<header>) needs the sticky positioning, not inner elements. */
header.wp-block-template-part:has([class*="nav"][style*="position: sticky"]),
header.wp-block-template-part:has([class*="nav"][style*="position:sticky"]),
header.wp-block-template-part:has([class*="header"][style*="position: sticky"]),
header.wp-block-template-part:has([class*="header"][style*="position:sticky"]) {
  position: sticky;
  top: 0;
  z-index: 100;
}

/* Admin bar offset for sticky template-part headers */
.admin-bar header.wp-block-template-part[style*="sticky"],
.admin-bar header.wp-block-template-part:has([style*="sticky"]) {
  top: 32px;
}
@media screen and (max-width: 782px) {
  .admin-bar header.wp-block-template-part[style*="sticky"],
  .admin-bar header.wp-block-template-part:has([style*="sticky"]) {
    top: 46px;
  }
}

/* Header slot placeholder must remain in normal flow to preserve CSS Grid
 * row structure inside the hero section. The slot occupies the first grid row
 * (where the nav originally was) so the spacer and content rows stay correct. */
:root :where(.miles-header-slot) {
  display: block !important;
  pointer-events: none;
}

/* ===========================================
   RESPONSIVE UTILITY CLASSES (Miles Utilities)
   Reusable helpers for common responsive patterns
   =========================================== */

/* Flex row that stacks vertically on mobile */
.miles-row-stack {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--40, 1.5rem);
}

@media (max-width: 781px) {
  .miles-row-stack {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Reverse order on mobile (image above text, etc.) */
@media (max-width: 781px) {
  .miles-swap-order {
    flex-direction: column-reverse;
  }
}

/* Sticky positioning with admin bar offset */
.miles-sticky-top {
  position: sticky;
  top: 0;
  z-index: 100;
}

.admin-bar .miles-sticky-top {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .admin-bar .miles-sticky-top {
    top: 46px;
  }
}

/* Prevent flex item from shrinking */
.miles-no-shrink {
  flex-shrink: 0;
}

/* Flex utilities for alignment */
.miles-flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.miles-flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Hide visually but keep accessible */
.miles-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;
}

/* Editor button group gap fix: WordPress editor adds margins to button wrappers
   which breaks custom gap values. Reset wrapper margins so CSS gap works.
   Only target horizontal (default) layout — respect vertical if user changes it. */
.editor-styles-wrapper .wp-block-buttons:not(.is-vertical):not(.is-layout-flow) {
  display: flex !important;
  flex-wrap: wrap !important;
}

.editor-styles-wrapper .wp-block-buttons > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Auto-generated editor margin resets for flex/grid containers */
.editor-styles-wrapper .features-list > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .miles-row-stack > .block-editor-block-list__block {
  margin: 0 !important;
}
/* :::SECTION:Single Post::: */
    
    /* Disable overlay-header grid on single post pages */
    body:not(.wp-admin) .wp-site-blocks:has(> .single-post-header) {
      display: block !important;
    }
    
    /* Gold decorative divider after post header */
/* .single-post-header::after {
  content: '◆  ◆  ◆';
  display: block;
  text-align: center;
  color: var(--wp--preset--color--c-gold);
  font-size: var(--wp--preset--font-size--small);
  letter-spacing: 0.3em;
  margin-top: var(--wp--preset--spacing--50);
  opacity: 0.5;
  text-shadow: 0 0 20px rgba(201, 168, 76, 0.3);
} */

/* Post terms (categories) in single post header */
.single-post-header .wp-block-post-terms {
  text-transform: uppercase;
  letter-spacing: 0.25em;
  margin-bottom: var(--wp--preset--spacing--30);
}

.single-post-header .wp-block-post-terms a {
  color: var(--wp--preset--color--c-purple);
  text-decoration: none;
  transition: all 0.3s ease;
}

.single-post-header .wp-block-post-terms a:hover {
  color: var(--wp--preset--color--c-magenta);
  text-shadow: 0 0 20px rgba(123, 47, 190, 0.4);
}

/* Post title spacing in single header */
.single-post-header .wp-block-post-title {
  margin-bottom: var(--wp--preset--spacing--30);
}

/* Post date uppercase treatment */
.single-post-header .wp-block-post-date {
  text-transform: uppercase;
}

/* Featured image atmospheric treatment */
.single-post-header .wp-block-post-featured-image {
  box-shadow: 0 4px 40px rgba(0, 0, 0, 0.5), 0 0 80px rgba(123, 47, 190, 0.06);
  margin-top: var(--wp--preset--spacing--40);
}

/* Single post content inner typography */
.single-post-content h2,
.single-post-content .wp-block-heading:where(h2) {
  font-family: var(--font-heading);
  color: var(--wp--preset--color--c-gold);
  margin-top: var(--wp--preset--spacing--40);
  text-shadow: 0 0 30px rgba(201, 168, 76, 0.15);
}

.single-post-content h3,
.single-post-content .wp-block-heading:where(h3) {
  font-family: var(--font-heading);
  color: var(--wp--preset--color--c-gold);
  margin-top: var(--wp--preset--spacing--50);
}

.single-post-content h4,
.single-post-content h5,
.single-post-content h6 {
  font-family: var(--font-heading);
  color: var(--wp--preset--color--c-bone);
  margin-top: var(--wp--preset--spacing--40);
}

/* Post content paragraph line height */
.single-post-content p {
  line-height: 1.8;
}

/* Post content links */
.single-post-content a:not(.wp-block-button__link) {
  color: var(--wp--preset--color--c-gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(201, 168, 76, 0.3);
  transition: all 0.3s ease;
}

.single-post-content a:not(.wp-block-button__link):hover {
  color: var(--wp--preset--color--c-magenta);
  border-bottom-color: var(--wp--preset--color--c-magenta);
  text-shadow: 0 0 10px rgba(255, 105, 212, 0.2);
}

/* Lists in post content */
.single-post-content ul,
.single-post-content ol {
  line-height: 1.8;
  padding-left: var(--wp--preset--spacing--40);
}

.single-post-content li {
  margin-bottom: var(--wp--preset--spacing--20);
}

/* Separator in post content */
.single-post-content .wp-block-separator {
  border-color: rgba(123, 47, 190, 0.2);
  margin-top: var(--wp--preset--spacing--50);
  margin-bottom: var(--wp--preset--spacing--50);
}

/* Images in post content */
.single-post-content .wp-block-image {
  margin-top: var(--wp--preset--spacing--50);
  margin-bottom: var(--wp--preset--spacing--50);
}

.single-post-content .wp-block-image img {
  border: 1px solid rgba(123, 47, 190, 0.15);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.4);
}

/* Blockquote enhancement in single post */
.single-post-content .wp-block-quote {
  border-left-color: var(--wp--preset--color--c-purple);
  background: rgba(123, 47, 190, 0.04);
  padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}

@media (max-width: 768px) {
  .single-post-header .wp-block-post-title {
    font-size: var(--wp--preset--font-size--3xl);
  }
}

/* ─── Single Post Enhancement ─── */

/* Atmospheric radial gradient overlay */
.single-post-header {
  position: relative;
  overflow: clip;
}

.single-post-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 50% at 50% 30%, rgba(123,47,190,0.10) 0%, transparent 70%),
    radial-gradient(ellipse 40% 35% at 50% 50%, rgba(255,105,212,0.04) 0%, transparent 60%),
    radial-gradient(ellipse 80% 40% at 50% 100%, rgba(7,4,14,0.6) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

.single-post-header > * {
  position: relative;
  z-index: 1;
}

/* Refined single diamond ornament */
/* .single-post-header::after {
  content: '◆';
  font-size: 0.5rem;
  letter-spacing: 0.5em;
  text-shadow: 0 0 15px rgba(201, 168, 76, 0.5);
  position: relative;
  z-index: 1;
} */

/* Category tag — Cinzel Decorative display font */
.single-post-header .wp-block-post-terms {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  letter-spacing: 0.3em;
}

.single-post-header .wp-block-post-terms a {
  color: var(--wp--preset--color--c-lavender);
}

/* Title — dramatic gold glow treatment */
.single-post-header .wp-block-post-title {
  line-height: 1.15;
  text-shadow:
    0 0 40px rgba(201,168,76,0.3),
    0 0 80px rgba(123,47,190,0.15),
    0 2px 4px rgba(0,0,0,0.4);
}

/* Date — refined with display font */
.single-post-header .wp-block-post-date {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  letter-spacing: 0.2em;
  color: var(--wp--preset--color--c-ash);
}

/* Featured image — enhanced atmosphere */
.single-post-header .wp-block-post-featured-image {
  margin-top: var(--wp--preset--spacing--50);
  overflow: hidden;
  border-radius: 2px;
}

.single-post-header .wp-block-post-featured-image img {
  border: 1px solid rgba(123, 47, 190, 0.12);
  box-shadow:
    0 4px 40px rgba(0, 0, 0, 0.5),
    0 0 80px rgba(123, 47, 190, 0.08);
}

/* Content — closing ornament */
/* .single-post-content::after {
  content: '◆';
  display: block;
  text-align: center;
  color: var(--wp--preset--color--c-gold);
  font-size: 0.5rem;
  letter-spacing: 1em;
  margin-top: var(--wp--preset--spacing--60);
  padding-top: var(--wp--preset--spacing--50);
  opacity: 0.35;
  text-shadow: 0 0 15px rgba(201, 168, 76, 0.4);
  background: linear-gradient(90deg, transparent, rgba(154, 126, 56, 0.15), transparent) top center / clamp(200px, 40vw, 300px) 1px no-repeat;
} */

/* Content headings — Cormorant Garamond */
.single-post-content h2,
.single-post-content .wp-block-heading:where(h2) {
  font-family: var(--font-body);
}

.single-post-content h3,
.single-post-content .wp-block-heading:where(h3) {
  font-family: var(--font-body);
}

.single-post-content h4,
.single-post-content h5,
.single-post-content h6 {
  font-family: var(--font-body);
}

/* Paragraph — generous reading line height */
.single-post-content p {
  line-height: 1.85;
}

/* Lists — enhanced markers and spacing */
.single-post-content ul,
.single-post-content ol {
  line-height: 1.85;
}

.single-post-content ul li::marker {
  color: var(--wp--preset--color--c-gold-dim);
}

.single-post-content ol li::marker {
  color: var(--wp--preset--color--c-gold-dim);
  font-family: var(--font-display);
}

/* Blockquote — gradient background and refined typography */
.single-post-content .wp-block-quote {
  border-left: 2px solid var(--wp--preset--color--c-purple);
  background: linear-gradient(135deg, rgba(123, 47, 190, 0.06) 0%, rgba(74, 26, 117, 0.03) 100%);
  font-style: italic;
}

.single-post-content .wp-block-quote p {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--xl);
  line-height: 1.7;
  color: var(--wp--preset--color--c-ash);
}

.single-post-content .wp-block-quote cite {
  display: block;
  margin-top: var(--wp--preset--spacing--30);
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-gold-dim);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-style: normal;
}

/* ─── Post Navigation ─── */
.single-post-nav-wrapper {
  border-top: 1px solid rgba(123, 47, 190, 0.12);
}

.single-post-nav-wrapper .wp-block-post-navigation-link {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.single-post-nav-wrapper .wp-block-post-navigation-link a {
  color: var(--wp--preset--color--c-gold-dim);
  text-decoration: none;
  transition: all 0.3s ease;
}

.single-post-nav-wrapper .wp-block-post-navigation-link a:hover {
  color: var(--wp--preset--color--c-gold);
  text-shadow: 0 0 20px rgba(201, 168, 76, 0.3);
}

.single-post-nav-wrapper .wp-block-post-navigation-link .wp-block-post-navigation-link__title {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--lg);
  text-transform: none;
  letter-spacing: 0;
  display: block;
  margin-top: 0.3em;
  color: var(--wp--preset--color--c-bone);
}

/* WordPress Block Adjustments */
/* Founders hero grid + centering */
:root :where(.founders-hero) {
  display: grid;
  grid-template-rows: 1fr;
  align-items: center;
  justify-items: center;
  padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
  background-image: radial-gradient(ellipse 60% 50% at 50% 40%, rgba(123,47,190,0.10) 0%, transparent 70%);
  font-family: var(--font-body);
  overflow: clip;
  position: relative;
  text-align: center;
}

/* Ambient veil shimmer */
:root :where(.founders-hero)::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 50% 40% at 50% 35%, rgba(123,47,190,0.06) 0%, transparent 70%);
  animation: foundersVeilBreathe 8s ease-in-out infinite;
  pointer-events: none;
  z-index: 1;
}

@keyframes foundersVeilBreathe {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.06); }
}

:root :where(.founders-hero-content) {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--30);
  max-width: 800px;
}

/* Section tag */
:root :where(.founders-hero-tag) {
  text-transform: uppercase;
  margin: 0;
  animation: foundersHeroFadeDown 2s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}

/* Display heading */
:root :where(.founders-hero-title) {
  font-family: var(--font-display);
  font-size: clamp(3rem, 8vw, 5.5rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.04em;
  margin: 0;
  text-shadow:
    0 0 40px rgba(201,168,76,0.3),
    0 0 80px rgba(123,47,190,0.2),
    0 2px 4px rgba(0,0,0,0.3);
  animation: foundersHeroReveal 2.4s cubic-bezier(0.22, 1, 0.36, 1) 0.6s both;
}

/* Subtitle */
:root :where(.founders-hero-subtitle) {
  font-family: var(--font-body);
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  font-weight: 300;
  font-style: italic;
  line-height: 1.7;
  margin: 0;
  max-width: 600px;
  text-shadow: 0 1px 6px rgba(0,0,0,0.9);
  animation: foundersHeroFadeUp 2s cubic-bezier(0.22, 1, 0.36, 1) 1s both;
}

/* Ornamental divider */
:root :where(.founders-hero-divider) {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--30);
  width: clamp(200px, 40vw, 300px);
  margin-top: var(--wp--preset--spacing--30);
  animation: foundersHeroFadeUp 2s cubic-bezier(0.22, 1, 0.36, 1) 1.4s both;
}

:root :where(.founders-hero-divider)::before,
:root :where(.founders-hero-divider)::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--wp--preset--color--c-gold-dim), transparent);
}

:root :where(.founders-hero-diamond) {
  width: 8px;
  height: 8px;
  background: var(--wp--preset--color--c-gold);
  transform: rotate(45deg);
  flex-shrink: 0;
  /* Derived from --c-gold (#C9A84C) */
  box-shadow: 0 0 12px rgba(201,168,76,0.5);
}

/* Keyframes */
@keyframes foundersHeroFadeDown {
  from { opacity: 0; transform: translateY(-25px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes foundersHeroFadeUp {
  from { opacity: 0; transform: translateY(25px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes foundersHeroReveal {
  from { opacity: 0; transform: translateY(20px) scale(0.96); filter: blur(4px); }
  to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

@media (max-width: 1024px) {
  :root :where(.founders-hero-title) {
    letter-spacing: 0.03em;
  }
}

@media (max-width: 768px) {
  :root :where(.founders-hero) {
    padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30);
  }

  :root :where(.founders-hero-content) {
    gap: var(--wp--preset--spacing--30);
  }

  :root :where(.founders-hero-tag) {
    font-size: clamp(0.6rem, 2.5vw, 0.75rem);
    letter-spacing: 0.15em;
  }

  :root :where(.founders-hero-title) {
    letter-spacing: 0.02em;
  }

  :root :where(.founders-hero-subtitle) {
    font-size: var(--wp--preset--font-size--base);
  }
}

@media (max-width: 480px) {
  :root :where(.founders-hero) {
    padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--20);
  }

  :root :where(.founders-hero-divider) {
    width: 60vw;
  }

  :root :where(.founders-hero-subtitle) {
    font-size: var(--wp--preset--font-size--small);
  }
}

/* Grid container: .founders-hero */
.editor-styles-wrapper .founders-hero {
  display: grid !important;
  grid-template-rows: 1fr !important;
  align-items: center !important;
  justify-items: center !important;
  min-height: 80vh !important;
}

/* Flex container: .founders-hero-content */
.editor-styles-wrapper .founders-hero-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--wp--preset--spacing--30) !important;
}

.editor-styles-wrapper .founders-hero-content > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Flex container: .founders-hero-divider */
.editor-styles-wrapper .founders-hero-divider {
  display: flex !important;
  align-items: center !important;
  gap: var(--wp--preset--spacing--30) !important;
}

.editor-styles-wrapper .founders-hero-divider > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Margin parity: .founders-hero-divider margin-top */
:root :where(.founders-hero-divider) {
  margin-block-start: var(--wp--preset--spacing--30);
}

.editor-styles-wrapper .founders-hero-divider {
  margin-block-start: var(--wp--preset--spacing--30) !important;
}

:root :where(.wp-block-post-title) {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--display);
  color: var(--wp--preset--color--c-gold);
  line-height: 1.1;
  letter-spacing: 0.04em;
}

:root :where(.wp-block-post-title a) {
  text-decoration: none;
  color: inherit;
}

:root :where(.wp-block-post-title a:hover) {
  color: var(--wp--preset--color--c-lavender);
}

:root :where(.wp-block-post-date),
:root :where(.wp-block-post-author) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-ash);
  text-transform: uppercase;
  letter-spacing: 0.15em;
}

:root :where(.wp-block-post-excerpt) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--c-bone);
  line-height: 1.7;
  font-style: italic;
}

:root :where(.wp-block-post-featured-image) {
  border-radius: 4px;
  overflow: hidden;
}

:root :where(.wp-block-post-featured-image img) {
  width: 100%;
  height: auto;
  display: block;
}

/* Pagination */
:root :where(.wp-block-query-pagination) {
  font-family: var(--font-body);
  gap: var(--wp--preset--spacing--30);
  margin-top: var(--wp--preset--spacing--50);
}

:root :where(.wp-block-query-pagination-numbers) .page-numbers,
:root :where(.wp-block-query-pagination-next),
:root :where(.wp-block-query-pagination-previous) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-bone);
  text-decoration: none;
  padding: 0.5rem 1rem;
  border: 1px solid var(--wp--preset--color--c-purple-deep);
  border-radius: 2px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

:root :where(.wp-block-query-pagination-numbers) .page-numbers:hover,
:root :where(.wp-block-query-pagination-next):hover,
:root :where(.wp-block-query-pagination-previous):hover {
  background-color: var(--wp--preset--color--c-purple-deep);
  color: var(--wp--preset--color--c-white);
}

:root :where(.wp-block-query-pagination-numbers) .page-numbers.current {
  background-color: var(--wp--preset--color--c-purple);
  color: var(--wp--preset--color--c-white);
  border-color: var(--wp--preset--color--c-purple);
}

/* Comments pagination */
:root :where(.wp-block-comments-pagination) {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--wp--preset--spacing--30);
  margin-top: var(--wp--preset--spacing--40);
  font-family: var(--font-body);
}

:root :where(.wp-block-comments-pagination-numbers) .page-numbers,
:root :where(.wp-block-comments-pagination-next),
:root :where(.wp-block-comments-pagination-previous) {
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-bone);
  text-decoration: none;
  padding: 0.5rem 1rem;
  border: 1px solid var(--wp--preset--color--c-purple-deep);
  border-radius: 2px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

:root :where(.wp-block-comments-pagination-numbers) .page-numbers:hover,
:root :where(.wp-block-comments-pagination-next):hover,
:root :where(.wp-block-comments-pagination-previous):hover {
  background-color: var(--wp--preset--color--c-purple-deep);
  color: var(--wp--preset--color--c-white);
}

/* Search */
:root :where(.wp-block-search) {
  font-family: var(--font-body);
}

:root :where(.wp-block-search__input) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--base);
  padding: 0.75rem 1rem;
  background: var(--wp--preset--color--c-stone);
  border: 1px solid var(--wp--preset--color--c-purple-deep);
  color: var(--wp--preset--color--c-bone);
  border-radius: 2px;
}

:root :where(.wp-block-search__input):focus {
  outline: none;
  border-color: var(--wp--preset--color--c-purple-mid);
  /* Derived from --c-purple (#7B2FBE) */
  box-shadow: 0 0 0 2px rgba(123,47,190,0.3);
}

:root :where(.wp-block-search__button) {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--small);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  padding: 0.75rem 1.5rem;
  background: var(--wp--preset--color--c-purple);
  color: var(--wp--preset--color--c-white);
  border: 1px solid var(--wp--preset--color--c-purple);
  border-radius: 2px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

:root :where(.wp-block-search__button):hover {
  background: var(--wp--preset--color--c-purple-deep);
}

/* Comments */
:root :where(.wp-block-comment-template) {
  font-family: var(--font-body);
  list-style: none;
  padding: 0;
}

:root :where(.wp-block-comment-author-name) {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--c-gold);
}

:root :where(.wp-block-comment-author-name a) {
  color: inherit;
  text-decoration: none;
}

:root :where(.wp-block-comment-content) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-bone);
  line-height: 1.7;
}

/* Blockquote */
:root :where(.wp-block-quote) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--xl);
  font-style: italic;
  color: var(--wp--preset--color--c-bone);
  border-left: 3px solid var(--wp--preset--color--c-purple-mid);
  padding-left: var(--wp--preset--spacing--40);
  margin: var(--wp--preset--spacing--40) 0;
}

:root :where(.wp-block-quote cite) {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-ash);
  font-style: normal;
  display: block;
  margin-top: var(--wp--preset--spacing--20);
}

/* Code block */
:root :where(.wp-block-code) {
  font-family: 'Courier New', Courier, monospace;
  font-size: var(--wp--preset--font-size--small);
  background: var(--wp--preset--color--c-stone);
  color: var(--wp--preset--color--c-lavender);
  padding: var(--wp--preset--spacing--40);
  border: 1px solid var(--wp--preset--color--c-purple-dark);
  border-radius: 4px;
  overflow-x: auto;
}

/* ========================================
   Section: About Section
   ======================================== */
/* ===== SECTION BASE ===== */
    .founders-narrative {
      background-color: var(--wp--preset--color--c-stone);
      padding: clamp(4rem, 10vw, 8rem) clamp(1.5rem, 4vw, 2.5rem);
      position: relative;
      overflow: clip;
    }

    /* Atmospheric gradient overlay */
    .founders-narrative::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 60% 40% at 30% 20%, rgba(123,47,190,0.05) 0%, transparent 70%),
        radial-gradient(ellipse 50% 35% at 70% 80%, rgba(255,105,212,0.03) 0%, transparent 60%);
      pointer-events: none;
      z-index: 0;
    }

    .founders-narrative-inner {
      position: relative;
      z-index: 1;
      max-width: 1280px;
      margin: 0 auto;
    }

    /* ===== TWO-COLUMN LORE TEXT ===== */
    .founders-lore-columns {
      display: flex;
      gap: clamp(2rem, 4vw, 4rem);
    }

    .founders-lore-col {
      flex: 1;
    }

    .founders-lore-title {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(2.2rem, 5vw, 3.5rem);
      font-weight: 700;
      color: var(--wp--preset--color--c-gold);
      margin: 0 0 var(--wp--preset--spacing--30) 0;
      line-height: 1.1;
      text-shadow: 0 0 30px rgba(201,168,76,0.4), 0 2px 4px rgba(0,0,0,0.6);
    }

    .founders-lore-text {
      color: var(--wp--preset--color--c-bone);
      font-family: var(--wp--preset--font-family--lato);
      font-weight: 300;
      font-size: clamp(0.95rem, 1.2vw, 1.1rem);
      line-height: 1.8;
      margin: 0;
    }

    /* ===== GOLD ORNAMENTAL SEPARATOR ===== */
    .founders-ornament {
      display: flex;
      align-items: center;
      gap: var(--wp--preset--spacing--30);
      width: 200px;
      margin: clamp(3rem, 6vw, 5rem) auto;
    }

    .founders-ornament::before,
    .founders-ornament::after {
      content: '';
      flex: 1;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--wp--preset--color--c-gold-dim), transparent);
    }

    .founders-ornament-diamond {
      width: 8px;
      height: 8px;
      background: var(--wp--preset--color--c-gold);
      transform: rotate(45deg);
      flex-shrink: 0;
      box-shadow: 0 0 12px rgba(201,168,76,0.5);
    }

    /* ===== PULL QUOTE ===== */
    .founders-pullquote {
      text-align: center;
      max-width: 800px;
      margin: clamp(3rem, 6vw, 5rem) auto 0;
      padding: 0;
      border: none;
    }

    .founders-pullquote-text {
      font-family: var(--font-body);
      font-size: clamp(1.5rem, 3vw, 2.2rem);
      font-weight: 400;
      font-style: italic;
      color: var(--wp--preset--color--c-gold);
      line-height: 1.5;
      margin: 0;
      text-shadow: 0 0 30px rgba(201,168,76,0.3);
    }

    /* ===== SCROLL ANIMATIONS ===== */
    .founders-narrative .animate-on-scroll {
      opacity: 1;
      transform: translateY(0);
    }

    .js .founders-narrative .animate-on-scroll:not(.is-visible) {
      opacity: 0;
      transform: translateY(30px);
    }

    .js .founders-narrative .animate-on-scroll {
      transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .js .founders-narrative .animate-on-scroll.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .js .founders-narrative .animate-on-scroll:nth-child(2) { transition-delay: 0.12s; }
    .js .founders-narrative .animate-on-scroll:nth-child(3) { transition-delay: 0.24s; }
    .js .founders-narrative .animate-on-scroll:nth-child(4) { transition-delay: 0.36s; }
    .js .founders-narrative .animate-on-scroll:nth-child(5) { transition-delay: 0.48s; }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 768px) {
      .founders-lore-columns {
        flex-direction: column;
        gap: var(--wp--preset--spacing--40);
      }

      .founders-ornament {
        width: 160px;
        margin: clamp(2.5rem, 5vw, 4rem) auto;
      }

      .founders-pullquote {
        margin-top: clamp(2.5rem, 5vw, 4rem);
      }
    }

    @media (max-width: 480px) {
      .founders-narrative {
        padding: clamp(3rem, 8vw, 5rem) clamp(1rem, 3vw, 1.5rem);
      }

      .founders-ornament {
        width: 140px;
      }

      .founders-lore-text {
        font-size: clamp(0.875rem, 3.5vw, 1rem);
      }
    }

    /* ===== WORDPRESS EDITOR SUPPORT ===== */
    .editor-styles-wrapper .founders-lore-columns {
      display: flex !important;
      gap: clamp(2rem, 4vw, 4rem) !important;
    }

    .editor-styles-wrapper .founders-lore-columns > .block-editor-block-list__block {
      margin: 0 !important;
      flex: 1 !important;
    }

    .editor-styles-wrapper .founders-ornament {
      display: flex !important;
      align-items: center !important;
      gap: var(--wp--preset--spacing--30) !important;
    }

    .editor-styles-wrapper .founders-ornament > .block-editor-block-list__block {
      margin: 0 !important;
    }

    :root :where(.founders-ornament) {
      margin-block-start: clamp(3rem, 6vw, 5rem);
      margin-block-end: clamp(3rem, 6vw, 5rem);
    }

    .editor-styles-wrapper .founders-ornament {
      margin-block-start: clamp(3rem, 6vw, 5rem) !important;
      margin-block-end: clamp(3rem, 6vw, 5rem) !important;
    }

    :root :where(.founders-pullquote) {
      margin-block-start: clamp(3rem, 6vw, 5rem);
    }

    .editor-styles-wrapper .founders-pullquote {
      margin-block-start: clamp(3rem, 6vw, 5rem) !important;
    }

    @media (max-width: 768px) {
      .editor-styles-wrapper .founders-lore-columns {
        flex-direction: column !important;
      }
    }

/* WordPress Block Adjustments */
/* Pullquote (wp:quote) — remove default WordPress blockquote border and padding */
:root :where(.founders-pullquote) {
  border: none;
  padding: 0;
  margin-top: clamp(3rem, 6vw, 5rem);
  margin-bottom: 0;
  text-align: center;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Ornament separator — flex layout for pseudo-element lines */
:root :where(.founders-ornament) {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--30);
  width: 200px;
  margin-left: auto;
  margin-right: auto;
}

/* Lore columns — flex layout */
:root :where(.founders-lore-columns) {
  display: flex;
  gap: clamp(2rem, 4vw, 4rem);
}

:root :where(.founders-lore-col) {
  flex: 1;
}

/* ===== EDITOR SUPPORT ===== */

/* Lore columns editor fix */
.editor-styles-wrapper .founders-lore-columns {
  display: flex !important;
  gap: clamp(2rem, 4vw, 4rem) !important;
}

.editor-styles-wrapper .founders-lore-columns > .block-editor-block-list__block {
  margin: 0 !important;
  flex: 1 !important;
}

/* Ornament editor fix */
.editor-styles-wrapper .founders-ornament {
  display: flex !important;
  align-items: center !important;
  gap: var(--wp--preset--spacing--30) !important;
  width: 200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.editor-styles-wrapper .founders-ornament > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Pullquote editor fix */
.editor-styles-wrapper .founders-pullquote {
  border: none !important;
  padding: 0 !important;
  text-align: center !important;
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-block-start: clamp(3rem, 6vw, 5rem) !important;
}

/* Ornament margin parity */
:root :where(.founders-ornament) {
  margin-block-start: clamp(3rem, 6vw, 5rem);
  margin-block-end: clamp(3rem, 6vw, 5rem);
}

.editor-styles-wrapper .founders-ornament {
  margin-block-start: clamp(3rem, 6vw, 5rem) !important;
  margin-block-end: clamp(3rem, 6vw, 5rem) !important;
}

/* Pullquote margin parity */
:root :where(.founders-pullquote) {
  margin-block-start: clamp(3rem, 6vw, 5rem);
}

.editor-styles-wrapper .founders-pullquote {
  margin-block-start: clamp(3rem, 6vw, 5rem) !important;
}

/* Responsive */
@media (max-width: 768px) {
  .editor-styles-wrapper .founders-lore-columns {
    flex-direction: column !important;
  }

  :root :where(.founders-ornament) {
    width: 160px;
    margin-block-start: clamp(2.5rem, 5vw, 4rem);
    margin-block-end: clamp(2.5rem, 5vw, 4rem);
  }

  .editor-styles-wrapper .founders-ornament {
    width: 160px !important;
    margin-block-start: clamp(2.5rem, 5vw, 4rem) !important;
    margin-block-end: clamp(2.5rem, 5vw, 4rem) !important;
  }

  :root :where(.founders-pullquote) {
    margin-block-start: clamp(2.5rem, 5vw, 4rem);
  }

  .editor-styles-wrapper .founders-pullquote {
    margin-block-start: clamp(2.5rem, 5vw, 4rem) !important;
  }
}

@media (max-width: 480px) {
  :root :where(.founders-ornament) {
    width: 140px;
  }

  .editor-styles-wrapper .founders-ornament {
    width: 140px !important;
  }
}

:root :where(.wp-block-post-title) {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--huge);
  color: var(--wp--preset--color--c-bone);
  line-height: 1.2;
  margin-bottom: var(--wp--preset--spacing--30);
}

:root :where(.wp-block-post-title a) {
  text-decoration: none;
  color: inherit;
}

:root :where(.wp-block-post-title a:hover) {
  color: var(--wp--preset--color--c-gold);
}

:root :where(.wp-block-post-date),
:root :where(.wp-block-post-author) {
  font-family: var(--wp--preset--font-family--lato);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-ash);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

:root :where(.wp-block-post-excerpt) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--c-bone);
  line-height: 1.7;
}

:root :where(.wp-block-post-featured-image) {
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: var(--wp--preset--spacing--40);
}

:root :where(.wp-block-post-featured-image img) {
  width: 100%;
  height: auto;
  display: block;
}

/* Pagination */
:root :where(.wp-block-query-pagination) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--30);
  margin-top: var(--wp--preset--spacing--50);
  font-family: var(--wp--preset--font-family--lato);
}

:root :where(.wp-block-query-pagination-numbers) {
  display: flex;
  gap: 0.5rem;
}

:root :where(.wp-block-query-pagination-numbers .page-numbers) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 0.25rem 0.75rem;
  border: 1px solid var(--wp--preset--color--c-purple-deep);
  border-radius: 4px;
  color: var(--wp--preset--color--c-bone);
  text-decoration: none;
  font-size: var(--wp--preset--font-size--small);
  transition: background-color 0.2s ease, color 0.2s ease;
}

:root :where(.wp-block-query-pagination-numbers .page-numbers:hover) {
  background: var(--wp--preset--color--c-purple-deep);
  color: var(--wp--preset--color--c-white);
}

:root :where(.wp-block-query-pagination-numbers .page-numbers.current) {
  background: var(--wp--preset--color--c-purple);
  color: var(--wp--preset--color--c-white);
  border-color: var(--wp--preset--color--c-purple);
}

:root :where(.wp-block-query-pagination-next),
:root :where(.wp-block-query-pagination-previous) {
  color: var(--wp--preset--color--c-gold);
  text-decoration: none;
  font-size: var(--wp--preset--font-size--base);
  transition: color 0.2s ease;
}

:root :where(.wp-block-query-pagination-next:hover),
:root :where(.wp-block-query-pagination-previous:hover) {
  color: var(--wp--preset--color--c-gold-dim);
}

/* Search */
:root :where(.wp-block-search) {
  font-family: var(--wp--preset--font-family--lato);
}

:root :where(.wp-block-search__input) {
  background: var(--wp--preset--color--c-void);
  border: 1px solid var(--wp--preset--color--c-purple-deep);
  color: var(--wp--preset--color--c-bone);
  padding: 0.75rem 1rem;
  font-family: var(--wp--preset--font-family--lato);
  font-size: var(--wp--preset--font-size--base);
  border-radius: 4px;
  transition: border-color 0.2s ease;
}

:root :where(.wp-block-search__input:focus) {
  border-color: var(--wp--preset--color--c-purple-mid);
  outline: none;
}

:root :where(.wp-block-search__input::placeholder) {
  color: var(--wp--preset--color--c-ash);
}

.wp-block-search__button {
  background: var(--wp--preset--color--c-purple);
  color: var(--wp--preset--color--c-white);
  border: none;
  padding: 0.75rem 1.5rem;
  font-family: var(--wp--preset--font-family--lato);
  font-size: var(--wp--preset--font-size--base);
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.wp-block-search__button:hover {
  background: var(--wp--preset--color--c-purple-mid);
}

/* Comments */
:root :where(.wp-block-comment-template) {
  font-family: var(--wp--preset--font-family--lato);
  list-style: none;
  padding: 0;
}

:root :where(.wp-block-comment-author-name) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--c-lavender);
  font-weight: 600;
}

:root :where(.wp-block-comment-author-name a) {
  color: inherit;
  text-decoration: none;
}

:root :where(.wp-block-comment-content) {
  font-family: var(--wp--preset--font-family--lato);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-bone);
  line-height: 1.7;
}

:root :where(.wp-block-comments-pagination) {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--30);
  margin-top: var(--wp--preset--spacing--40);
  font-family: var(--wp--preset--font-family--lato);
}

:root :where(.wp-block-comments-pagination-numbers) {
  display: flex;
  gap: 0.5rem;
}

:root :where(.wp-block-comments-pagination-numbers .page-numbers) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 0.25rem 0.75rem;
  border: 1px solid var(--wp--preset--color--c-purple-deep);
  border-radius: 4px;
  color: var(--wp--preset--color--c-bone);
  text-decoration: none;
  font-size: var(--wp--preset--font-size--small);
  transition: background-color 0.2s ease, color 0.2s ease;
}

:root :where(.wp-block-comments-pagination-numbers .page-numbers:hover) {
  background: var(--wp--preset--color--c-purple-deep);
  color: var(--wp--preset--color--c-white);
}

:root :where(.wp-block-comments-pagination-previous),
:root :where(.wp-block-comments-pagination-next) {
  color: var(--wp--preset--color--c-gold);
  text-decoration: none;
  font-size: var(--wp--preset--font-size--base);
  transition: color 0.2s ease;
}

:root :where(.wp-block-comments-pagination-previous:hover),
:root :where(.wp-block-comments-pagination-next:hover) {
  color: var(--wp--preset--color--c-gold-dim);
}

/* Blockquote */
:root :where(.wp-block-quote) {
  border-left: 3px solid var(--wp--preset--color--c-purple-mid);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  margin: var(--wp--preset--spacing--40) 0;
  font-family: var(--font-body);
  font-style: italic;
  color: var(--wp--preset--color--c-bone);
  font-size: var(--wp--preset--font-size--lg);
  line-height: 1.6;
}

/* Code block */
:root :where(.wp-block-code) {
  background: var(--wp--preset--color--c-void);
  border: 1px solid var(--wp--preset--color--c-purple-deep);
  border-radius: 4px;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  font-family: 'Courier New', Courier, monospace;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-lavender);
  overflow-x: auto;
  line-height: 1.6;
}

/* ========================================
   Section: Team Section
   ======================================== */
*, *::before, *::after { box-sizing: border-box; }
    body {
      margin: 0;
      background-color: var(--wp--preset--color--c-void);
      color: #d4c9b8;
      -webkit-font-smoothing: antialiased;
    }
    img { max-width: 100%; height: auto; display: block; }

    /* ===== FOUNDERS BIOS ===== */
    .founders-bios {
        margin-top: -1.2rem;

      --font-display: 'Cinzel Decorative', Georgia, serif;
      --font-heading: 'Cormorant Garamond', Georgia, serif;
      --font-body: 'Lato', sans-serif;

      --c-void: var(--wp--preset--color--c-void);
      --c-stone: #0e0a18;
      --c-purple: #7B2FBE;
      --c-purple-deep: #4a1a75;
      --c-purple-mid: #A060D6;
      --c-purple-dark: #330756;
      --c-gold: #C9A84C;
      --c-gold-dim: #9a7e38;
      --c-magenta: #FF69D4;
      --c-bone: #d4c9b8;
      --c-ash: #8a7f72;
      --c-lavender: #c4a0f0;
      --c-white: #ffffff;

      --font-size-small: clamp(0.75rem, 1vw, 0.8rem);
      --font-size-base: clamp(0.875rem, 1.2vw, 1rem);
      --font-size-lg: clamp(1rem, 1.3vw, 1.15rem);
      --font-size-xl: clamp(1.125rem, 1.5vw, 1.35rem);
      --font-size-2xl: clamp(1.325rem, 1.8vw, 1.6rem);
      --font-size-3xl: clamp(1.8rem, 3vw, 2.2rem);
      --font-size-huge: clamp(1.8rem, 4vw, 3rem);
      --font-size-display: clamp(2.4rem, 8vw, 5.5rem);

      --space-xs: min(0.5rem, 2vw);
      --space-sm: min(1rem, 3vw);
      --space-md: min(2rem, 5vw);
      --space-lg: min(4rem, 10vw);
      --space-xl: min(6rem, 12vw);
      --space-2xl: min(8rem, 16vw);

      font-family: var(--font-body);
    }

    /* ===== FOUNDER SECTION BASE ===== */
    .founder-section {
      padding: clamp(5rem, 10vw, 8rem) clamp(1.5rem, 4vw, 2.5rem);
      position: relative;
      overflow: clip;
      margin-bottom: -1.2rem !important;
    }

    .founder-section--void {
      background-color: #0a0612;
      border-top: 1px solid rgba(201,168,76,0.08);
    }

    .founder-section--stone {
      background-color: #0e0a18;
      border-top: 1px solid rgba(201,168,76,0.08);
    }

    .founder-section--varek {
      background-color: var(--wp--preset--color--c-void);
      background-image: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(123,47,190,0.08) 0%, transparent 70%);
      border-top: 1px solid rgba(123,47,190,0.1);
    }

    /* ===== TWO-COLUMN LAYOUT ===== */
    .founder-inner {
      display: grid;
      grid-template-columns: 1fr;
      gap: clamp(2rem, 5vw, 4rem);
      max-width: 1100px;
      margin: 0 auto;
      align-items: center;
    }

    .founder-inner--img-right {
      grid-template-columns: 55fr 45fr;
    }

    .founder-inner--img-left {
      grid-template-columns: 45fr 55fr;
    }

    /* ===== TEXT COLUMN ===== */
    .founder-text {
      display: flex;
      flex-direction: column;
      gap: var(--wp--preset--spacing--30);
    }

    .founder-tag {
      font-family: var(--font-heading);
      font-size: 0.8rem;
      color: var(--wp--preset--color--c-lavender);
      text-transform: uppercase;
      letter-spacing: 0.2em;
      margin: 0;
      line-height: 1.4;
    }

    .founder-name {
      font-family: var(--font-heading);
      font-size: clamp(2.2rem, 5vw, 3.5rem);
      font-weight: 700;
      color: var(--wp--preset--color--c-gold);
      margin: 0;
      line-height: 1.1;
      text-shadow: 0 0 30px rgba(201,168,76,0.4), 0 2px 4px rgba(0,0,0,0.6);
    }

    .founder-name--purple {
      color: var(--wp--preset--color--c-purple);
      text-shadow: 0 0 30px rgba(123,47,190,0.5), 0 2px 4px rgba(0,0,0,0.6);
    }

    .founder-lore {
      color: var(--wp--preset--color--c-bone);
      font-family: var(--font-body);
      font-weight: 300;
      font-size: clamp(0.95rem, 1.2vw, 1.05rem);
      line-height: 1.85;
      margin: 0;
      margin-top: var(--wp--preset--spacing--20);
    }

    /* ===== IMAGE COLUMN ===== */
    .founder-portrait-wrap {
      position: relative;
    }

    .founder-portrait {
      width: 100%;
      max-width: 420px;
      border-radius: 4px;
      border: 1px solid rgba(201,168,76,0.15);
      box-shadow: inset 0 0 30px rgba(7,4,14,0.8);
      display: block;
    }

    .founder-portrait--purple {
      border: 1px solid rgba(123,47,190,0.25);
      box-shadow: inset 0 0 30px rgba(7,4,14,0.8);
    }

    /* Image placement for right-aligned images */
    .founder-inner--img-right .founder-portrait-wrap {
      justify-self: end;
    }

    /* Image placement for left-aligned images */
    .founder-inner--img-left .founder-portrait-wrap {
      justify-self: start;
    }

    /* Reorder: img-left means image column comes first visually */
    .founder-inner--img-left .founder-portrait-wrap {
      order: -1;
    }

    /* ===== AMBIENT GLOW PER SECTION ===== */
    .founder-seraphine::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 40% 50% at 70% 40%, rgba(123,47,190,0.04) 0%, transparent 70%);
      pointer-events: none;
      z-index: 0;
    }

    .founder-aldric::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 50% 40% at 25% 50%, rgba(201,168,76,0.03) 0%, transparent 70%);
      pointer-events: none;
      z-index: 0;
    }

    .founder-thornwen::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 35% 45% at 65% 55%, rgba(123,47,190,0.04) 0%, transparent 70%);
      pointer-events: none;
      z-index: 0;
    }

    .founder-varek::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 45% 45% at 30% 50%, rgba(123,47,190,0.06) 0%, transparent 60%);
      pointer-events: none;
      z-index: 0;
    }

    .founder-section .founder-inner {
      position: relative;
      z-index: 1;
    }

    /* ===== SCROLL ANIMATIONS ===== */
    .founders-bios .animate-on-scroll {
      opacity: 1;
      transform: translateY(0);
    }

    .js .founders-bios .animate-on-scroll:not(.is-visible) {
      opacity: 0;
      transform: translateY(30px);
    }

    .js .founders-bios .animate-on-scroll {
      transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .js .founders-bios .animate-on-scroll.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .js .founders-bios .animate-from-left:not(.is-visible) {
      opacity: 0;
      transform: translateX(-40px);
    }

    .js .founders-bios .animate-from-left {
      transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .js .founders-bios .animate-from-left.is-visible {
      opacity: 1;
      transform: translateX(0);
    }

    .js .founders-bios .animate-from-right:not(.is-visible) {
      opacity: 0;
      transform: translateX(40px);
    }

    .js .founders-bios .animate-from-right {
      transition: opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .js .founders-bios .animate-from-right.is-visible {
      opacity: 1;
      transform: translateX(0);
    }

    /* Staggered children */
    .js .founders-bios .founder-text .animate-on-scroll:nth-child(1) { transition-delay: 0s; }
    .js .founders-bios .founder-text .animate-on-scroll:nth-child(2) { transition-delay: 0.1s; }
    .js .founders-bios .founder-text .animate-on-scroll:nth-child(3) { transition-delay: 0.22s; }

    /* ===== DECORATIVE ORNAMENT BETWEEN SECTIONS ===== */
    .founder-divider {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      padding: 0;
      background: transparent;
      border: none;
    }

    .founder-divider-line {
      width: 60px;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(201,168,76,0.25), transparent);
    }

    .founder-divider-diamond {
      width: 6px;
      height: 6px;
      background: var(--wp--preset--color--c-gold-dim);
      transform: rotate(45deg);
      flex-shrink: 0;
      opacity: 0.5;
    }

    .founder-divider--purple .founder-divider-line {
      background: linear-gradient(90deg, transparent, rgba(123,47,190,0.3), transparent);
    }

    .founder-divider--purple .founder-divider-diamond {
      background: var(--wp--preset--color--c-purple-mid);
    }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 1024px) {
      .founder-inner--img-right,
      .founder-inner--img-left {
        grid-template-columns: 55fr 45fr;
        gap: clamp(1.5rem, 4vw, 3rem);
      }

      .founder-portrait {
        max-width: 360px;
      }
    }

    @media (max-width: 768px) {
      .founder-section {
        padding: clamp(3.5rem, 8vw, 5rem) clamp(1.25rem, 3vw, 2rem);
      }

      .founder-inner--img-right,
      .founder-inner--img-left {
        grid-template-columns: 1fr;
        gap: var(--wp--preset--spacing--40);
        max-width: 560px;
      }

      /* On mobile, image always on top */
      .founder-inner--img-right .founder-portrait-wrap,
      .founder-inner--img-left .founder-portrait-wrap {
        order: -1;
        justify-self: center;
      }

      .founder-portrait {
        max-width: 100%;
        width: 100%;
      }

      .founder-name {
        font-size: clamp(1.8rem, 7vw, 2.6rem);
      }

      .founder-lore {
        font-size: clamp(0.9rem, 3.5vw, 1rem);
        line-height: 1.75;
      }
    }

    @media (max-width: 480px) {
      .founder-section {
        padding: clamp(2.5rem, 6vw, 3.5rem) clamp(1rem, 3vw, 1.5rem);
      }

      .founder-tag {
        font-size: 0.7rem;
        letter-spacing: 0.15em;
      }
    }

/* WordPress Block Adjustments */
/* WordPress wp-block-image wraps img in <figure>, need to pass through portrait styles */
:root :where(.founder-portrait) {
  max-width: 420px;
  border-radius: 4px;
  border: 1px solid rgba(201,168,76,0.15);
  box-shadow: inset 0 0 30px rgba(7,4,14,0.8);
}

:root :where(.founder-portrait img) {
  border-radius: 4px;
}

:root :where(.founder-portrait--purple) {
  border: 1px solid rgba(123,47,190,0.25);
  box-shadow: inset 0 0 30px rgba(7,4,14,0.8);
}

/* founder-text is a wp-block-group; ensure flex column layout */
:root :where(.founder-text) {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30);
}

/* founder-inner grid layout — WordPress uses layout:default so original CSS controls display */
:root :where(.founder-inner) {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  max-width: 1100px;
  margin: 0 auto;
  align-items: center;
}

:root :where(.founder-inner--img-right) {
  grid-template-columns: 55fr 45fr;
}

:root :where(.founder-inner--img-left) {
  grid-template-columns: 45fr 55fr;
}

/* Ensure z-index stacking for inner content above pseudo-elements */
:root :where(.founder-section .founder-inner) {
  position: relative;
  z-index: 1;
}

/* Ambient glow pseudo-elements */
:root :where(.founder-seraphine)::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 40% 50% at 70% 40%, rgba(123,47,190,0.04) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

:root :where(.founder-aldric)::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 50% 40% at 25% 50%, rgba(201,168,76,0.03) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

:root :where(.founder-thornwen)::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 35% 45% at 65% 55%, rgba(123,47,190,0.04) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}

:root :where(.founder-varek)::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 45% 45% at 30% 50%, rgba(123,47,190,0.06) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}

/* founder-section needs position relative for pseudo-elements */
:root :where(.founder-section) {
  position: relative;
  overflow: clip;
}

/* Border-top on section variants — WordPress has-background may override */
:root :where(.founder-section--void) {
  border-top: 1px solid rgba(201,168,76,0.08);
}

:root :where(.founder-section--stone) {
  border-top: 1px solid rgba(201,168,76,0.08);
}

:root :where(.founder-section--varek) {
  background-image: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(123,47,190,0.08) 0%, transparent 70%);
  border-top: 1px solid rgba(123,47,190,0.1);
}

/* Image placement */
:root :where(.founder-inner--img-right .founder-portrait-wrap) {
  justify-self: end;
}

:root :where(.founder-inner--img-left .founder-portrait-wrap) {
  justify-self: start;
  order: -1;
}

/* founder-lore margin-top */
:root :where(.founder-lore) {
  margin-top: var(--wp--preset--spacing--20);
}

/* Responsive */
@media (max-width: 1024px) {
  :root :where(.founder-inner--img-right),
  :root :where(.founder-inner--img-left) {
    grid-template-columns: 55fr 45fr;
    gap: clamp(1.5rem, 4vw, 3rem);
  }

  :root :where(.founder-portrait) {
    max-width: 360px;
  }
}

@media (max-width: 768px) {
  :root :where(.founder-inner--img-right),
  :root :where(.founder-inner--img-left) {
    grid-template-columns: 1fr;
    gap: var(--wp--preset--spacing--40);
    max-width: 560px;
  }

  :root :where(.founder-inner--img-right .founder-portrait-wrap),
  :root :where(.founder-inner--img-left .founder-portrait-wrap) {
    order: -1;
    justify-self: center;
  }

  :root :where(.founder-portrait) {
    max-width: 100%;
    width: 100%;
  }
}

/* Grid containers: founder-inner */
.editor-styles-wrapper .founder-inner {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(2rem, 5vw, 4rem) !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  align-items: center !important;
}

.editor-styles-wrapper .founder-inner > .block-editor-block-list__block {
  margin: 0 !important;
}

.editor-styles-wrapper .founder-inner--img-right {
  grid-template-columns: 55fr 45fr !important;
}

.editor-styles-wrapper .founder-inner--img-left {
  grid-template-columns: 45fr 55fr !important;
}

/* Flex container: founder-text */
.editor-styles-wrapper .founder-text {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--wp--preset--spacing--30) !important;
}

.editor-styles-wrapper .founder-text > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Image placement in editor */
.editor-styles-wrapper .founder-inner--img-right .founder-portrait-wrap {
  justify-self: end !important;
}

.editor-styles-wrapper .founder-inner--img-left .founder-portrait-wrap {
  justify-self: start !important;
}

/* Reorder for img-left in editor */
.editor-styles-wrapper .founder-inner--img-left > .block-editor-block-list__block:has(.founder-portrait-wrap) {
  order: -1 !important;
}

/* Founder section position relative for pseudo-elements */
.editor-styles-wrapper .founder-section {
  position: relative !important;
  overflow: clip !important;
}

/* Ensure z-index stacking in editor */
.editor-styles-wrapper .founder-section .founder-inner {
  position: relative !important;
  z-index: 1 !important;
}

/* Editor margin parity: founder-lore margin-top */
.editor-styles-wrapper .founder-lore {
  margin-top: var(--wp--preset--spacing--20) !important;
}

/* Editor responsive grid */
@media (max-width: 1024px) {
  .editor-styles-wrapper .founder-inner--img-right,
  .editor-styles-wrapper .founder-inner--img-left {
    grid-template-columns: 55fr 45fr !important;
    gap: clamp(1.5rem, 4vw, 3rem) !important;
  }
}

@media (max-width: 768px) {
  .editor-styles-wrapper .founder-inner--img-right,
  .editor-styles-wrapper .founder-inner--img-left {
    grid-template-columns: 1fr !important;
    gap: var(--wp--preset--spacing--40) !important;
    max-width: 560px !important;
  }

  .editor-styles-wrapper .founder-inner--img-right > .block-editor-block-list__block:has(.founder-portrait-wrap),
  .editor-styles-wrapper .founder-inner--img-left > .block-editor-block-list__block:has(.founder-portrait-wrap) {
    order: -1 !important;
  }
}

:root :where(.wp-block-post-title) {
  font-family: var(--font-heading);
  font-size: var(--wp--preset--font-size--huge);
  color: var(--wp--preset--color--c-gold);
  line-height: 1.1;
  text-shadow: 0 0 30px rgba(201,168,76,0.4), 0 2px 4px rgba(0,0,0,0.6);
}

:root :where(.wp-block-post-title a) {
  text-decoration: none;
  color: inherit;
}

:root :where(.wp-block-post-title a:hover) {
  color: var(--wp--preset--color--c-lavender);
}

:root :where(.wp-block-post-date),
:root :where(.wp-block-post-author) {
  font-family: var(--font-heading);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-ash);
  text-transform: uppercase;
  letter-spacing: 0.15em;
}

:root :where(.wp-block-post-excerpt) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-bone);
  line-height: 1.85;
  font-weight: 300;
}

:root :where(.wp-block-post-featured-image) {
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(201,168,76,0.15);
}

:root :where(.wp-block-post-featured-image img) {
  border-radius: 4px;
}

/* Query Pagination */
:root :where(.wp-block-query-pagination) {
  font-family: var(--font-heading);
  font-size: var(--wp--preset--font-size--base);
  gap: var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--c-bone);
}

:root :where(.wp-block-query-pagination-numbers) .page-numbers,
:root :where(.wp-block-query-pagination-next),
:root :where(.wp-block-query-pagination-previous) {
  color: var(--wp--preset--color--c-bone);
  text-decoration: none;
  padding: 0.5rem 1rem;
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 4px;
  transition: all 0.3s ease;
}

:root :where(.wp-block-query-pagination-numbers) .page-numbers:hover,
:root :where(.wp-block-query-pagination-next):hover,
:root :where(.wp-block-query-pagination-previous):hover {
  border-color: var(--wp--preset--color--c-gold);
  color: var(--wp--preset--color--c-gold);
}

:root :where(.wp-block-query-pagination-numbers) .page-numbers.current {
  background: var(--wp--preset--color--c-gold);
  color: var(--wp--preset--color--c-void);
  border-color: var(--wp--preset--color--c-gold);
}

/* Comments */
:root :where(.wp-block-comment-template) {
  font-family: var(--font-body);
  color: var(--wp--preset--color--c-bone);
  list-style: none;
  padding: 0;
}

:root :where(.wp-block-comment-author-name) {
  font-family: var(--font-heading);
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--c-gold);
}

:root :where(.wp-block-comment-author-name a) {
  color: inherit;
  text-decoration: none;
}

:root :where(.wp-block-comment-content) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-bone);
  line-height: 1.85;
  font-weight: 300;
}

:root :where(.wp-block-comments-pagination) {
  display: flex;
  justify-content: center;
  gap: var(--wp--preset--spacing--30);
  font-family: var(--font-heading);
}

:root :where(.wp-block-comments-pagination-numbers) .page-numbers,
:root :where(.wp-block-comments-pagination-next),
:root :where(.wp-block-comments-pagination-previous) {
  color: var(--wp--preset--color--c-bone);
  text-decoration: none;
  padding: 0.5rem 1rem;
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 4px;
  transition: all 0.3s ease;
}

:root :where(.wp-block-comments-pagination-numbers) .page-numbers:hover,
:root :where(.wp-block-comments-pagination-next):hover,
:root :where(.wp-block-comments-pagination-previous):hover {
  border-color: var(--wp--preset--color--c-gold);
  color: var(--wp--preset--color--c-gold);
}

/* Search */
:root :where(.wp-block-search) {
  font-family: var(--font-body);
}

:root :where(.wp-block-search__input) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--base);
  padding: 0.75rem 1rem;
  background: rgba(10, 6, 18, 0.8);
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 4px;
  color: var(--wp--preset--color--c-bone);
  transition: border-color 0.3s ease;
}

:root :where(.wp-block-search__input):focus {
  border-color: var(--wp--preset--color--c-gold);
  outline: none;
}

:root :where(.wp-block-search__button) {
  font-family: var(--font-heading);
  font-size: var(--wp--preset--font-size--base);
  padding: 0.75rem 1.5rem;
  background: var(--wp--preset--color--c-gold);
  color: var(--wp--preset--color--c-void);
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: background 0.3s ease;
}

:root :where(.wp-block-search__button):hover {
  background: var(--wp--preset--color--c-gold-dim);
}

/* Blockquote */
:root :where(.wp-block-quote) {
  font-family: var(--font-heading);
  font-size: var(--wp--preset--font-size--xl);
  font-style: italic;
  color: var(--wp--preset--color--c-bone);
  border-left: 3px solid var(--wp--preset--color--c-gold);
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
  margin: var(--wp--preset--spacing--40) 0;
  background: rgba(10, 6, 18, 0.5);
  border-radius: 0 4px 4px 0;
}

:root :where(.wp-block-quote) cite {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-ash);
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* Code block */
:root :where(.wp-block-code) {
  font-family: 'Courier New', Courier, monospace;
  font-size: var(--wp--preset--font-size--small);
  background: rgba(10, 6, 18, 0.8);
  border: 1px solid rgba(201,168,76,0.1);
  border-radius: 4px;
  padding: var(--wp--preset--spacing--30);
  color: var(--wp--preset--color--c-lavender);
  overflow-x: auto;
}

/* ========================================
   Section: Cta Section
   ======================================== */
/* ===== FOUNDERS CLOSING CTA ===== */
    .founders-closing, .site-footer:not(.no-ambient-bg) {
      background-color: #0a0612;
      background-image: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(123,47,190,0.12) 0%, transparent 60%);
      min-height: 50vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: clamp(5rem, 12vw, 10rem) clamp(1.5rem, 4vw, 2.5rem) 0;
      border-top: 1px solid rgba(201,168,76,0.08);
      position: relative;
      overflow: clip;
      font-family: var(--font-body);
      color: var(--wp--preset--color--c-bone);
    }

    /* Ambient shimmer */
    .founders-closing::after, .site-footer:not(.no-ambient-bg)::after {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 45% 40% at 50% 50%, rgba(123,47,190,0.06) 0%, transparent 65%);
      animation: foundersClosingBreathe 10s ease-in-out infinite;
      pointer-events: none;
      z-index: 0;
    }

    @keyframes foundersClosingBreathe {
      0%, 100% { opacity: 0.3; transform: scale(1); }
      50% { opacity: 1; transform: scale(1.08); }
    }

    .founders-closing-inner {
      position: relative;
      z-index: 1;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: var(--wp--preset--spacing--40);
      max-width: 700px;
    }

    /* ===== ORNAMENTAL DIVIDER ===== */
    .founders-closing-ornament {
      display: flex;
      align-items: center;
      gap: var(--wp--preset--spacing--30);
      width: 250px;
    }

    .founders-closing-ornament::before,
    .founders-closing-ornament::after {
      content: '';
      flex: 1;
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--wp--preset--color--c-gold-dim), transparent);
    }

    .founders-closing-diamond {
      width: 8px;
      height: 8px;
      background: var(--wp--preset--color--c-gold);
      transform: rotate(45deg);
      flex-shrink: 0;
      box-shadow: 0 0 12px rgba(201,168,76,0.5);
    }

    /* ===== ATMOSPHERIC TEXT ===== */
    .founders-closing-text {
      color: var(--wp--preset--color--c-ash);
      font-family: var(--font-body);
      font-style: italic;
      font-weight: 300;
      font-size: clamp(1.05rem, 1.5vw, 1.2rem);
      line-height: 1.8;
      text-align: center;
      max-width: 600px;
      margin: 0;
    }

    /* ===== CTA BUTTON ===== */
    .founders-closing-cta-wrap {
      display: flex;
      justify-content: center;
      margin-top: var(--wp--preset--spacing--20);
    }

    .wp-block-button.founders-cta-btn {
      padding: 0 !important;
      background: none !important;
      border: none !important;
      margin: 0;
      box-shadow: none !important;
      clip-path: none;
    }

    .wp-block-button.founders-cta-btn .wp-block-button__link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-body);
      font-size: clamp(1rem, 2.5vw, 1.35rem);
      font-weight: 600;
      color: var(--wp--preset--color--c-gold);
      background: linear-gradient(180deg, rgba(15, 8, 28, 0.85) 0%, rgba(8, 4, 18, 0.92) 100%);
      padding: 20px 56px;
      text-decoration: none;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      border: 1px solid rgba(201, 168, 76, 0.45);
      border-radius: 2px;
      position: relative;
      transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
      box-shadow: inset 0 1px 0 rgba(201, 168, 76, 0.1), 0 0 20px rgba(201, 168, 76, 0.06);
      text-shadow: 0 0 24px rgba(201, 168, 76, 0.25);
      clip-path: none;
      line-height: 1.2;
    }

    .wp-block-button.founders-cta-btn .wp-block-button__link:hover {
      color: var(--wp--preset--color--c-white);
      background: rgba(120, 80, 0, 0.6);
      border-color: rgba(218, 185, 100, 0.7);
      box-shadow: inset 0 0 30px rgba(201, 168, 76, 0.1), 0 0 25px rgba(201, 168, 76, 0.12), 0 0 60px rgba(201, 168, 76, 0.06);
      text-shadow: 0 0 20px rgba(201, 168, 76, 0.3);
    }

    /* Inner decorative frame */
    .wp-block-button.founders-cta-btn .wp-block-button__link::before {
      content: '';
      position: absolute;
      inset: 4px;
      border: 1px solid rgba(201, 168, 76, 0.12);
      border-radius: 1px;
      pointer-events: none;
      transition: border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .wp-block-button.founders-cta-btn .wp-block-button__link:hover::before {
      border-color: rgba(218, 185, 100, 0.25);
    }

    /* ===== SUBTEXT ===== */
    .founders-closing-subtext {
      color: var(--wp--preset--color--c-ash);
      font-family: var(--font-body);
      font-size: 0.85rem;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      margin: 0;
      margin-top: var(--wp--preset--spacing--30);
    }

    /* ===== SCROLL ANIMATIONS ===== */
    .founders-closing .animate-on-scroll {
      opacity: 1;
      transform: translateY(0);
    }

    .js .founders-closing .animate-on-scroll:not(.is-visible) {
      opacity: 0;
      transform: translateY(30px);
    }

    .js .founders-closing .animate-on-scroll {
      transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    }

    .js .founders-closing .animate-on-scroll.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .js .founders-closing .animate-on-scroll:nth-child(2) { transition-delay: 0.12s; }
    .js .founders-closing .animate-on-scroll:nth-child(3) { transition-delay: 0.24s; }
    .js .founders-closing .animate-on-scroll:nth-child(4) { transition-delay: 0.36s; }
    .js .founders-closing .animate-on-scroll:nth-child(5) { transition-delay: 0.48s; }

    /* ===== RESPONSIVE ===== */
    @media (max-width: 768px) {
      .founders-closing {
        padding: clamp(4rem, 10vw, 7rem) clamp(1.25rem, 3vw, 2rem) 0;
        min-height: 40vh;
      }

      .founders-closing-inner {
        gap: var(--wp--preset--spacing--30);
      }

      .founders-closing-ornament {
        width: 200px;
      }

      .founders-closing-text {
        font-size: clamp(0.95rem, 3.5vw, 1.1rem);
      }

      .wp-block-button.founders-cta-btn .wp-block-button__link {
        font-size: clamp(0.9rem, 3vw, 1.1rem);
        padding: 16px 40px;
        letter-spacing: 0.18em;
      }

      .founders-closing-subtext {
        font-size: 0.75rem;
        letter-spacing: 0.12em;
      }
    }

    @media (max-width: 480px) {
      .founders-closing {
        padding: clamp(3rem, 8vw, 5rem) clamp(1rem, 3vw, 1.5rem);
      }

      .founders-closing-ornament {
        width: 160px;
      }

      .wp-block-button.founders-cta-btn .wp-block-button__link {
        padding: 14px 32px;
        letter-spacing: 0.15em;
      }
    }

    /* ===== WORDPRESS EDITOR SUPPORT ===== */
    .editor-styles-wrapper .founders-closing {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-height: 50vh !important;
    }

    .editor-styles-wrapper .founders-closing-inner {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      gap: var(--wp--preset--spacing--40) !important;
    }

    .editor-styles-wrapper .founders-closing-inner > .block-editor-block-list__block {
      margin: 0 !important;
    }

    .editor-styles-wrapper .founders-closing-ornament {
      display: flex !important;
      align-items: center !important;
      gap: var(--wp--preset--spacing--30) !important;
    }

    .editor-styles-wrapper .founders-closing-ornament > .block-editor-block-list__block {
      margin: 0 !important;
    }

    .editor-styles-wrapper .founders-closing-cta-wrap {
      display: flex !important;
      justify-content: center !important;
    }

    :root :where(.founders-closing-cta-wrap .wp-block-buttons) {
      justify-content: center;
    }

    :root :where(.founders-closing-subtext) {
      margin-block-start: var(--wp--preset--spacing--30);
    }

    .editor-styles-wrapper .founders-closing-subtext {
      margin-block-start: var(--wp--preset--spacing--30) !important;
    }

/* WordPress Block Adjustments */
/* Founders closing section - flex centering */
:root :where(.founders-closing) {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50vh;
  padding: clamp(5rem, 12vw, 10rem) clamp(1.5rem, 4vw, 2.5rem) 0;
  border-top: 1px solid rgba(201,168,76,0.08);
  position: relative;
  overflow: clip;
  font-family: var(--font-body);
  background-image: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(123,47,190,0.12) 0%, transparent 60%);
}

/* Ambient shimmer pseudo-element */
:root :where(.founders-closing)::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 45% 40% at 50% 50%, rgba(123,47,190,0.06) 0%, transparent 65%);
  animation: foundersClosingBreathe 10s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

@keyframes foundersClosingBreathe {
  0%, 100% { opacity: 0.3; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.08); }
}

/* Inner container */
:root :where(.founders-closing-inner) {
  position: relative;
  z-index: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--40);
  max-width: 700px;
}

/* Ornamental divider */
:root :where(.founders-closing-ornament) {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--30);
  width: 250px;
}

:root :where(.founders-closing-ornament)::before,
:root :where(.founders-closing-ornament)::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--wp--preset--color--c-gold-dim), transparent);
}

/* Diamond decorative element */
:root :where(.founders-closing-diamond) {
  width: 8px;
  height: 8px;
  background: var(--wp--preset--color--c-gold);
  transform: rotate(45deg);
  flex-shrink: 0;
  /* Derived from --c-gold (#C9A84C) */
  box-shadow: 0 0 12px rgba(201,168,76,0.5);
}

/* Atmospheric text */
:root :where(.founders-closing-text) {
  font-style: italic;
  font-weight: 300;
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  line-height: 1.8;
  max-width: 600px;
}

/* CTA wrap */
:root :where(.founders-closing-cta-wrap) {
  display: flex;
  justify-content: center;
  margin-top: var(--wp--preset--spacing--20);
  margin-bottom: var(--wp--preset--spacing--40) !important;
}

/* CTA buttons container centering */
:root :where(.founders-closing-cta-wrap .wp-block-buttons) {
  justify-content: center;
}

/* Button wrapper reset */
.wp-block-button.founders-cta-btn {
  padding: 0 !important;
  background: none !important;
  border: none !important;
  margin: 0;
  box-shadow: none !important;
  clip-path: none;
}

/* Button link styles - plain selector to override .wp-element-button */
.wp-block-button.founders-cta-btn .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-size: clamp(1rem, 2.5vw, 1.35rem);
  font-weight: 600;
  color: var(--wp--preset--color--c-gold);
  background: linear-gradient(180deg, rgba(15, 8, 28, 0.85) 0%, rgba(8, 4, 18, 0.92) 100%);
  padding: 20px 56px;
  text-decoration: none;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  /* Derived from --c-gold (#C9A84C) */
  border: 1px solid rgba(201, 168, 76, 0.45);
  border-radius: 2px;
  position: relative;
  transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  /* Derived from --c-gold (#C9A84C) */
  box-shadow: inset 0 1px 0 rgba(201, 168, 76, 0.1), 0 0 20px rgba(201, 168, 76, 0.06);
  /* Derived from --c-gold (#C9A84C) */
  text-shadow: 0 0 24px rgba(201, 168, 76, 0.25);
  clip-path: none;
  line-height: 1.2;
}

.wp-block-button.founders-cta-btn .wp-block-button__link:hover {
  color: var(--wp--preset--color--c-white);
  background: rgba(120, 80, 0, 0.6);
  border-color: rgba(218, 185, 100, 0.7);
  box-shadow: inset 0 0 30px rgba(201, 168, 76, 0.1), 0 0 25px rgba(201, 168, 76, 0.12), 0 0 60px rgba(201, 168, 76, 0.06);
  text-shadow: 0 0 20px rgba(201, 168, 76, 0.3);
}

/* Inner decorative frame */
.wp-block-button.founders-cta-btn .wp-block-button__link::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(201, 168, 76, 0.12);
  border-radius: 1px;
  pointer-events: none;
  transition: border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.wp-block-button.founders-cta-btn .wp-block-button__link:hover::before {
  border-color: rgba(218, 185, 100, 0.25);
}

/* Subtext */
:root :where(.founders-closing-subtext) {
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-block-start: var(--wp--preset--spacing--30);
}

/* Responsive */
@media (max-width: 768px) {
  :root :where(.founders-closing) {
    padding: clamp(4rem, 10vw, 7rem) clamp(1.25rem, 3vw, 2rem);
    min-height: 40vh;
  }

  :root :where(.founders-closing-inner) {
    gap: var(--wp--preset--spacing--30);
  }

  :root :where(.founders-closing-ornament) {
    width: 200px;
  }

  :root :where(.founders-closing-text) {
    font-size: clamp(0.95rem, 3.5vw, 1.1rem);
  }

  .wp-block-button.founders-cta-btn .wp-block-button__link {
    font-size: clamp(0.9rem, 3vw, 1.1rem);
    padding: 16px 40px;
    letter-spacing: 0.18em;
    min-height: 44px;
  }

  :root :where(.founders-closing-subtext) {
    font-size: 0.75rem;
    letter-spacing: 0.12em;
  }
}

@media (max-width: 480px) {
  :root :where(.founders-closing) {
    padding: clamp(3rem, 8vw, 5rem) clamp(1rem, 3vw, 1.5rem);
  }

  :root :where(.founders-closing-ornament) {
    width: 160px;
  }

  .wp-block-button.founders-cta-btn .wp-block-button__link {
    padding: 14px 32px;
    letter-spacing: 0.15em;
    min-height: 44px;
  }
}



/* Editor: flex centering on closing section */
.editor-styles-wrapper .founders-closing {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 50vh !important;
}

/* Editor: inner flex column */
.editor-styles-wrapper .founders-closing-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--wp--preset--spacing--40) !important;
}

.editor-styles-wrapper .founders-closing-inner > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Editor: ornament flex */
.editor-styles-wrapper .founders-closing-ornament {
  display: flex !important;
  align-items: center !important;
  gap: var(--wp--preset--spacing--30) !important;
}

.editor-styles-wrapper .founders-closing-ornament > .block-editor-block-list__block {
  margin: 0 !important;
}

/* Editor: CTA wrap flex */
.editor-styles-wrapper .founders-closing-cta-wrap {
  display: flex !important;
  justify-content: center !important;
}

/* Editor: subtext margin */
.editor-styles-wrapper .founders-closing-subtext {
  margin-block-start: var(--wp--preset--spacing--30) !important;
}



:root :where(.wp-block-post-title) {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--3xl);
  color: var(--wp--preset--color--c-bone);
  line-height: 1.2;
  letter-spacing: 0.02em;
}

:root :where(.wp-block-post-title a) {
  text-decoration: none;
  color: inherit;
  transition: color 0.3s ease;
}

:root :where(.wp-block-post-title a:hover) {
  color: var(--wp--preset--color--c-gold);
}

:root :where(.wp-block-post-date),
:root :where(.wp-block-post-author) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-ash);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

:root :where(.wp-block-post-excerpt) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-ash);
  line-height: 1.7;
}

:root :where(.wp-block-post-featured-image) {
  border-radius: 2px;
  overflow: hidden;
}

:root :where(.wp-block-post-featured-image img) {
  width: 100%;
  height: auto;
  display: block;
}

/* Pagination */
:root :where(.wp-block-query-pagination) {
  font-family: var(--font-body);
  gap: var(--wp--preset--spacing--30);
  justify-content: center;
  margin-top: var(--wp--preset--spacing--50);
}

:root :where(.wp-block-query-pagination-numbers) .page-numbers,
:root :where(.wp-block-query-pagination-next),
:root :where(.wp-block-query-pagination-previous) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-bone);
  text-decoration: none;
  padding: 8px 16px;
  /* Derived from --c-gold (#C9A84C) */
  border: 1px solid rgba(201, 168, 76, 0.25);
  border-radius: 2px;
  transition: all 0.3s ease;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

:root :where(.wp-block-query-pagination-numbers) .page-numbers:hover,
:root :where(.wp-block-query-pagination-next):hover,
:root :where(.wp-block-query-pagination-previous):hover {
  color: var(--wp--preset--color--c-gold);
  /* Derived from --c-gold (#C9A84C) */
  border-color: rgba(201, 168, 76, 0.5);
}

:root :where(.wp-block-query-pagination-numbers) .page-numbers.current {
  background: rgba(201, 168, 76, 0.15);
  color: var(--wp--preset--color--c-gold);
  border-color: var(--wp--preset--color--c-gold-dim);
}

/* Search */
:root :where(.wp-block-search) {
  font-family: var(--font-body);
}

:root :where(.wp-block-search__input) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-bone);
  background: rgba(14, 10, 24, 0.8);
  /* Derived from --c-gold (#C9A84C) */
  border: 1px solid rgba(201, 168, 76, 0.2);
  border-radius: 2px;
  padding: 12px 16px;
  transition: border-color 0.3s ease;
}

:root :where(.wp-block-search__input):focus {
  outline: none;
  /* Derived from --c-gold (#C9A84C) */
  border-color: rgba(201, 168, 76, 0.5);
}

:root :where(.wp-block-search__button) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-gold);
  background: linear-gradient(180deg, rgba(15, 8, 28, 0.85) 0%, rgba(8, 4, 18, 0.92) 100%);
  /* Derived from --c-gold (#C9A84C) */
  border: 1px solid rgba(201, 168, 76, 0.45);
  border-radius: 2px;
  padding: 12px 24px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
}

:root :where(.wp-block-search__button):hover {
  color: var(--wp--preset--color--c-white);
  background: rgba(120, 80, 0, 0.6);
  border-color: rgba(218, 185, 100, 0.7);
}

/* Comments */
:root :where(.wp-block-comment-template) {
  font-family: var(--font-body);
  list-style: none;
  padding: 0;
}

:root :where(.wp-block-comment-author-name) {
  font-family: var(--font-display);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-bone);
}

:root :where(.wp-block-comment-author-name a) {
  color: inherit;
  text-decoration: none;
}

:root :where(.wp-block-comment-content) {
  font-family: var(--font-body);
  font-size: var(--wp--preset--font-size--base);
  color: var(--wp--preset--color--c-ash);
  line-height: 1.7;
}

:root :where(.wp-block-comments-pagination) {
  display: flex;
  justify-content: center;
  gap: var(--wp--preset--spacing--30);
  margin-top: var(--wp--preset--spacing--40);
  font-family: var(--font-body);
}

:root :where(.wp-block-comments-pagination-numbers) .page-numbers,
:root :where(.wp-block-comments-pagination-next),
:root :where(.wp-block-comments-pagination-previous) {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-bone);
  text-decoration: none;
  padding: 8px 16px;
  border: 1px solid rgba(201, 168, 76, 0.25);
  border-radius: 2px;
  transition: all 0.3s ease;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

:root :where(.wp-block-comments-pagination-numbers) .page-numbers:hover,
:root :where(.wp-block-comments-pagination-next):hover,
:root :where(.wp-block-comments-pagination-previous):hover {
  color: var(--wp--preset--color--c-gold);
  border-color: rgba(201, 168, 76, 0.5);
}

/* Blockquote */
:root :where(.wp-block-quote) {
  font-family: var(--font-body);
  font-style: italic;
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--c-bone);
  /* Derived from --c-purple (#7B2FBE) */
  border-left: 3px solid rgba(123, 47, 190, 0.5);
  padding-left: var(--wp--preset--spacing--40);
  margin: var(--wp--preset--spacing--40) 0;
  line-height: 1.7;
}

:root :where(.wp-block-quote) cite {
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-ash);
  font-style: normal;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  display: block;
  margin-top: var(--wp--preset--spacing--20);
}

/* Code block */
:root :where(.wp-block-code) {
  font-family: 'Courier New', Courier, monospace;
  font-size: var(--wp--preset--font-size--small);
  color: var(--wp--preset--color--c-lavender);
  background: rgba(14, 10, 24, 0.8);
  /* Derived from --c-purple (#7B2FBE) */
  border: 1px solid rgba(123, 47, 190, 0.2);
  border-radius: 2px;
  padding: var(--wp--preset--spacing--40);
  overflow-x: auto;
}

/* ── Site Header Custom ── */
.site-header-custom {
  background-image: linear-gradient(180deg, rgba(20,12,38,0.5) 0%, transparent 50%, rgba(20,12,38,0.3) 100%);
}

.site-header-custom .header-brand {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  white-space: nowrap;
  position: relative;
}

.site-header-custom > .wp-block-group {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100%;
}

.site-header-custom .header-brand > .wp-block-group {
  order: 2;
}

.site-header-custom .header-brand::after {
  content: '';
  display: block;
  width: 1px;
  align-self: stretch;
  min-height: 36px;
  background: linear-gradient(180deg, transparent 0%, rgba(201,168,76,0.6) 30%, rgba(201,168,76,0.6) 70%, transparent 100%);
  flex-shrink: 0;
  order: 1;
}

.site-header-custom .header-nav-custom .wp-block-navigation-item a {
  position: relative;
  padding-bottom: 4px;
  transition: color 0.3s ease;
  text-decoration: none;
}

.site-header-custom .header-nav-custom .wp-block-navigation-item a::after,
.site-header-custom .header-nav-custom .current-menu-item a::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 1px;
  background: var(--wp--preset--color--c-gold, #C9A84C);
  transition: width 0.3s ease, left 0.3s ease;
}

.site-header-custom .header-nav-custom .wp-block-navigation-item a:hover::after,
.site-header-custom .header-nav-custom .current-menu-item a::after {
  width: 100%;
  left: 0;
}

@media (max-width: 768px) {
  .site-header-custom .header-brand {
    flex-direction: column;
    align-items: flex-start;
      }
      .site-header-custom .header-brand::after {
    display: block;
  }
}

/* Gravityforms */

.gform-theme--framework .gfield--type-choice .gchoice, .gform-theme--framework .gfield--type-choice .ginput_container_consent {
    align-items: center;
}

.gform-theme--foundation .gform_footer, .gform-theme--foundation .gform_page_footer {
    margin-block-start: var(--wp--preset--spacing--50);
}

.gfield--type-html h2 {
    margin-bottom: 0;
}

.gform-theme--framework .gform-field-label > .gfield_required:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
    color: var(--wp--preset--color--c-gold);
}