    /* ============================================
       FEMCODERS CLUB — Brand tokens exactos
       --font-heading: Asap Condensed
       --font-primary: Roboto
       --color-primary: #ea4f33
       --color-secondary: #4737bb
       --color-accent: #6c63ff
       --color-text-dark: #2a2170
       ============================================ */
    :root {
      /* Marca FemCoders Club */
      --color-primary: #ea4f33;
      --color-secondary: #4737bb;
      --color-accent: #6c63ff;
      --color-text-dark: #2a2170;
      --color-white: #fdfdfd;
      --font-primary: "Roboto", sans-serif;
      --font-heading: "Asap Condensed", sans-serif;

      /* Superficies */
      --bg: #FDFCFB;
      --surface: #FFFFFF;
      --text-primary: #2a2170;
      --text-secondary: #3a3580;
      --text-muted: #6b6ba0;
      --text-dim: #aaa9c8;
      --border: rgba(71, 55, 187, .12);
      --border-hover: rgba(234, 79, 51, .45);
      --nav-bg: rgba(253, 252, 251, .92);
      --pill-bg: rgba(71, 55, 187, .05);
      --pill-border: rgba(71, 55, 187, .15);
      --surface-hover: #f5f4ff;
      --tag-bg: rgba(108, 99, 255, .08);
      --tag-border: rgba(108, 99, 255, .22);
      --sched-bg: rgba(71, 55, 187, .06);
      --sched-border: rgba(71, 55, 187, .2);
      --pillar-bg: #FFFFFF;
      --pillar-border: rgba(71, 55, 187, .1);
      --divider: rgba(71, 55, 187, .12);
      --blob-opacity: .13;
      --footer-color: #6b6ba0;
      --shadow-soft: 0 10px 30px rgba(71, 55, 187, .15);
      --shadow-card: 0 4px 12px rgba(71, 55, 187, .1);
    }

    [data-theme="dark"] {
      --bg: #0e0c1e;
      --surface: rgba(255, 255, 255, .04);
      --text-primary: #edeaff;
      --text-secondary: #c5c0f0;
      --text-muted: #8884bb;
      --text-dim: #4a4780;
      --border: rgba(108, 99, 255, .15);
      --border-hover: rgba(234, 79, 51, .5);
      --nav-bg: rgba(14, 12, 30, .88);
      --pill-bg: rgba(108, 99, 255, .08);
      --pill-border: rgba(108, 99, 255, .18);
      --surface-hover: rgba(71, 55, 187, .14);
      --tag-bg: rgba(108, 99, 255, .14);
      --tag-border: rgba(108, 99, 255, .3);
      --sched-bg: rgba(71, 55, 187, .14);
      --sched-border: rgba(108, 99, 255, .25);
      --pillar-bg: rgba(255, 255, 255, .03);
      --pillar-border: rgba(108, 99, 255, .14);
      --divider: rgba(108, 99, 255, .15);
      --blob-opacity: .2;
      --footer-color: #8884bb;
    }

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

    html {
      scroll-behavior: smooth;
      font-size: 16px;
    }

    body {
      font-family: var(--font-primary);
      background: var(--bg);
      color: var(--text-primary);
      overflow-x: hidden;
      transition: background .4s, color .4s;
      line-height: 1.6;
    }

    /* ---- NAV ---- */
    nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 200;
      padding: .9rem 2.5rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      background: var(--nav-bg);
      backdrop-filter: blur(24px);
      -webkit-backdrop-filter: blur(24px);
      border-bottom: 1px solid var(--border);
      transition: background .4s, border-color .4s, box-shadow .3s;
    }

    .nav-brand {
      display: flex;
      align-items: center;
      gap: .6rem;
      font-family: var(--font-heading);
      font-weight: 700;
      font-size: 1.1rem;
      color: var(--color-text-dark);
      text-decoration: none;
      flex-shrink: 0;
      letter-spacing: .02em;
    }

    .nav-brand .x {
      color: var(--color-primary);
      margin: 0 .3rem;
    }

    .nav-center {
      display: flex;
      gap: 1.5rem;
      align-items: center;
    }

    .nav-center a {
      color: var(--text-muted);
      text-decoration: none;
      font-size: .9rem;
      font-weight: 500;
      letter-spacing: .03em;
      transition: color .2s;
    }

    .nav-center a:hover {
      color: var(--color-secondary);
    }

    .nav-cta-link {
      color: var(--color-primary) !important;
      font-weight: 600;
    }

    .nav-right {
      display: flex;
      align-items: center;
      gap: .5rem;
      flex-shrink: 0;
    }

    .theme-toggle {
      width: 2.2rem;
      height: 2.2rem;
      border-radius: 50%;
      background: var(--pill-bg);
      border: 1px solid var(--pill-border);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1rem;
      transition: background .2s, transform .3s;
    }

    .theme-toggle:hover {
      background: var(--surface-hover);
      transform: rotate(22deg);
    }

    .lang-switcher {
      display: flex;
      gap: 2px;
      background: var(--pill-bg);
      border: 1px solid var(--pill-border);
      border-radius: 999px;
      padding: 3px;
    }

    .lang-btn {
      background: none;
      border: none;
      cursor: pointer;
      font-family: var(--font-heading);
      font-weight: 700;
      font-size: .72rem;
      letter-spacing: .1em;
      color: var(--text-muted);
      padding: .3rem .6rem;
      border-radius: 999px;
      transition: background .2s, color .2s;
    }

    .lang-btn.active {
      background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
      color: #fff;
    }

    .lang-btn:hover:not(.active) {
      color: var(--color-secondary);
    }

    @media(max-width:700px) {
      .nav-center {
        display: none;
      }

      nav {
        padding: .8rem 1.2rem;
      }
    }

    /* ---- HERO ---- */
    .hero {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      text-align: center;
      position: relative;
      padding: 7rem 2rem 5rem;
      overflow: hidden;
    }

    .blob {
      position: absolute;
      border-radius: 50%;
      filter: blur(90px);
      opacity: var(--blob-opacity);
      pointer-events: none;
      will-change: transform;
    }

    .blob-1 {
      width: 520px;
      height: 520px;
      background: var(--color-secondary);
      top: -140px;
      left: -160px;
      animation: drift 14s ease-in-out infinite alternate;
    }

    .blob-2 {
      width: 420px;
      height: 420px;
      background: var(--color-primary);
      top: 80px;
      right: -120px;
      animation: drift 14s ease-in-out 5s infinite alternate;
    }

    .blob-3 {
      width: 360px;
      height: 360px;
      background: var(--color-accent);
      bottom: -100px;
      left: 28%;
      animation: drift 14s ease-in-out 9s infinite alternate;
    }

    @keyframes drift {
      from {
        transform: translate(0, 0) scale(1);
      }

      to {
        transform: translate(28px, 18px) scale(1.07);
      }
    }

    .hero-logos {
      display: flex;
      gap: 1.5rem;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      margin-bottom: 2rem;
      position: relative;
      z-index: 1;
      animation: fadeUp .8s ease both;
    }

    .hero-banner-img {
      max-width: 380px;
      width: 45%;
      border-radius: 1rem;
      overflow: hidden;
      box-shadow: 0 20px 60px rgba(71, 55, 187, .2);
    }

    .hero-banner-img img {
      width: 100%;
      height: auto;
      display: block;
    }

    @media(max-width:680px) {
      .hero-logos {
        flex-direction: column;
      }

      .hero-banner-img {
        width: 90%;
        max-width: 100%;
      }
    }

    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      background: var(--pill-bg);
      border: 1px solid var(--pill-border);
      border-radius: 999px;
      padding: .4rem 1.2rem;
      font-size: .8rem;
      font-family: var(--font-heading);
      letter-spacing: .15em;
      text-transform: uppercase;
      color: var(--color-secondary);
      margin-bottom: 1.5rem;
      backdrop-filter: blur(10px);
      animation: fadeUp .85s ease .05s both;
      position: relative;
      z-index: 1;
    }

    .hero-badge .dot {
      display: inline-block;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--color-primary);
      animation: blink 1.6s ease infinite;
    }

    @keyframes blink {

      0%,
      100% {
        opacity: 1;
        transform: scale(1);
      }

      50% {
        opacity: .35;
        transform: scale(1.7);
      }
    }

    .hero-tag {
      font-family: var(--font-heading);
      font-size: clamp(2.5rem, 6vw, 6rem);
      font-weight: 700;
      line-height: 1;
      letter-spacing: .01em;
      position: relative;
      z-index: 1;
      animation: fadeUp .9s ease .1s both;
      color: var(--color-text-dark);
      will-change: transform;
      text-transform: uppercase;
    }

    .hero-tag2 {
      font-family: var(--font-heading);
      font-size: clamp(1.5rem, 3vw, 3rem);
      font-weight: 700;
      line-height: 1;
      letter-spacing: .01em;
      position: relative;
      z-index: 1;
      animation: fadeUp .9s ease .1s both;
      color: var(--color-text-dark);
      will-change: transform;
      text-transform: uppercase;
    }

    .line-gradient {
      background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .hero-subtitle {
      font-size: clamp(1rem, 2vw, 1.2rem);
      font-weight: 300;
      color: var(--text-secondary);
      margin-top: 1.2rem;
      max-width: 560px;
      line-height: 1.7;
      animation: fadeUp .9s ease .2s both;
      z-index: 1;
      position: relative;
    }

    .hero-meta {
      display: flex;
      gap: 1.2rem;
      margin-top: 2.5rem;
      flex-wrap: wrap;
      justify-content: center;
      animation: fadeUp .9s ease .3s both;
      z-index: 1;
      position: relative;
    }

    .meta-pill {
      display: flex;
      align-items: center;
      gap: .8rem;
      background: var(--pill-bg);
      border: 1px solid var(--pill-border);
      border-radius: .8rem;
      padding: .8rem 1.4rem;
      backdrop-filter: blur(12px);
      transition: border-color .3s, background .3s;
    }

    .meta-pill:hover {
      border-color: var(--border-hover);
      background: var(--surface-hover);
    }

    .meta-icon {
      width: 2.1rem;
      height: 2.1rem;
      border-radius: .5rem;
      flex-shrink: 0;
      background: var(--tag-bg);
      border: 1px solid var(--tag-border);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .meta-icon svg {
      stroke: var(--color-accent);
    }

    .meta-text {
      display: flex;
      flex-direction: column;
      gap: .2rem;
    }

    .meta-label {
      font-size: .75rem;
      color: var(--text-muted);
      font-weight: 500;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .meta-value {
      font-family: var(--font-heading);
      font-weight: 700;
      font-size: 1.2rem;
      color: var(--text-primary);
    }

    .cta-btn {
      margin-top: 2.5rem;
      display: inline-block;
      background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-primary) 100%);
      color: #fff !important;
      font-family: var(--font-heading);
      font-weight: 700;
      font-size: 1.1rem;
      letter-spacing: .06em;
      text-transform: uppercase;
      text-decoration: none;
      padding: 1rem 3rem;
      border-radius: .5rem;
      position: relative;
      z-index: 1;
      transition: transform .3s, box-shadow .3s;
      box-shadow: 0 6px 30px rgba(71, 55, 187, .3);
      animation: fadeUp .9s ease .4s both;
    }

    .cta-btn:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 40px rgba(234, 79, 51, .45);
    }

    @keyframes fadeUp {
      from {
        opacity: 0;
        transform: translateY(24px);
      }

      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    /* ---- SECTIONS ---- */
    .section-divider {
      height: 1px;
      background: linear-gradient(90deg, transparent, var(--divider), transparent);
      margin: 0 2rem;
    }

    section {
      padding: 6rem 2rem;
    }

    .container {
      max-width: 1100px;
      margin: 0 auto;
    }

    .section-label {
      font-family: var(--font-heading);
      font-size: .8rem;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--color-primary);
      font-weight: 700;
      margin-bottom: .8rem;
    }

    .section-title {
      font-family: var(--font-heading);
      font-size: clamp(2rem, 4vw, 3.2rem);
      font-weight: 700;
      line-height: 1.05;
      margin-bottom: 1rem;
      color: var(--color-text-dark);
      text-transform: uppercase;
      letter-spacing: .02em;
    }

    .section-title em {
      font-style: normal;
      background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .section-desc {
      color: var(--text-secondary);
      font-size: 1rem;
      line-height: 1.7;
      max-width: 540px;
      font-weight: 300;
    }

    /* ---- SPEAKERS ---- */
    .speakers-grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 1.5rem;
      margin-top: 4rem;
    }

    .speakers-grid .speaker-card:nth-child(1) { grid-column: 1 / 3; }
    .speakers-grid .speaker-card:nth-child(2) { grid-column: 3 / 5; }
    .speakers-grid .speaker-card:nth-child(3) { grid-column: 5 / 7; }
    .speakers-grid .speaker-card:nth-child(4) { grid-column: 2 / 4; }
    .speakers-grid .speaker-card:nth-child(5) { grid-column: 4 / 6; }

 

    .speaker-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 1rem;
      padding: 2rem;
      display: grid;
      grid-template-columns: 1fr;
      gap: 1.2rem;
      align-items: start;
      transition: border-color .3s, transform .3s, box-shadow .3s;
      position: relative;
      overflow: hidden;
    }

    .speaker-card::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--color-secondary), var(--color-primary));
      opacity: 0;
      transition: opacity .3s;
    }

    .speaker-card:hover {
      border-color: var(--border-hover);
      transform: translateY(-4px);
      box-shadow: var(--shadow-soft);
    }

    .speaker-card:hover::before {
      opacity: 1;
    }

    .speaker-card.placeholder {
      border-style: dashed;
    }

    .speaker-img-wrap {
      width: 7.5rem;
      height: 7.5rem;
      border-radius: 50%;
      overflow: hidden;
      border: 3px solid var(--tag-border);
      flex-shrink: 0;
      background: linear-gradient(135deg, rgba(71, 55, 187, .2), rgba(234, 79, 51, .2));
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .speaker-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top;
      display: block;
    }

    .speaker-img-wrap .initials {
      font-family: var(--font-heading);
      font-size: 2rem;
      font-weight: 700;
      color: var(--color-secondary);
    }

    .speaker-company {
      font-size: .7rem;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--color-primary);
      font-weight: 600;
      margin-bottom: .4rem;
    }

    .speaker-name {
      font-family: var(--font-heading);
      font-size: 1.4rem;
      font-weight: 700;
      color: var(--color-text-dark);
      line-height: 1.15;
      margin-bottom: .3rem;
      text-transform: uppercase;
    }

    .speaker-role {
      font-size: .9rem;
      color: var(--color-accent);
      font-weight: 500;
      margin-bottom: .8rem;
    }

    .speaker-bio {
      font-size: 1rem;
      color: var(--text-secondary);
      line-height: 1.7;
      font-weight: 400;
    }

    .speaker-tag {
      display: inline-block;
      margin-top: .8rem;
      background: var(--tag-bg);
      border: 1px solid var(--tag-border);
      border-radius: .3rem;
      padding: .25rem .8rem;
      font-size: .75rem;
      color: var(--color-accent);
      letter-spacing: .06em;
      font-family: var(--font-heading);
    }

    /* ---- ABOUT ---- */
    .about-section {
      background: var(--surface);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }

    .about-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: center;
    }

    @media(max-width:700px) {
      .about-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
      }
    }

    .pillar-list {
      display: flex;
      flex-direction: column;
      gap: 1rem;
      margin-top: 2rem;
    }

    .pillar {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      padding: 1.2rem 1.4rem;
      background: var(--pillar-bg);
      border: 1px solid var(--pillar-border);
      border-left: 3px solid var(--color-secondary);
      border-radius: .5rem;
      transition: border-color .3s, transform .3s, box-shadow .3s;
    }

    .pillar:hover {
      border-color: var(--color-primary);
      transform: translateX(4px);
      box-shadow: var(--shadow-card);
    }

    .pillar h4 {
      font-family: var(--font-heading);
      font-size: 1rem;
      font-weight: 700;
      margin-bottom: .3rem;
      color: var(--color-text-dark);
      text-transform: uppercase;
      letter-spacing: .03em;
    }

    .pillar p {
      font-size: .9rem;
      color: var(--text-secondary);
      line-height: 1.55;
    }

    .about-visual {
      position: relative;
      height: 360px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .av-circle {
      border-radius: 50%;
      position: absolute;
      border: 1px solid var(--tag-border);
    }

    .av-c1 {
      width: 300px;
      height: 300px;
      animation: spin 30s linear infinite;
    }

    .av-c2 {
      width: 220px;
      height: 220px;
      animation: spin 20s linear infinite reverse;
      border-color: rgba(234, 79, 51, .25);
    }

    .av-c3 {
      width: 140px;
      height: 140px;
      background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
      opacity: .35;
      filter: blur(20px);
    }

    .av-circle::before {
      content: "";
      position: absolute;
      top: -3px;
      left: 50%;
      transform: translateX(-50%);
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--color-primary);
    }

    .av-center {
      position: absolute;
      font-family: var(--font-heading);
      font-size: 1rem;
      font-weight: 700;
      text-align: center;
      color: var(--color-text-dark);
      line-height: 1.3;
      z-index: 2;
      text-transform: uppercase;
      letter-spacing: .05em;
    }

    .av-center span {
      display: block;
      font-size: 3rem;
      background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    @keyframes spin {
      to {
        transform: rotate(360deg);
      }
    }

   /* ---- SCHEDULE ---- */
.schedule-timeline {
  position: relative;
  margin-top: 3.5rem;
}

.schedule-timeline::before {
  content: "";
  position: absolute;
  left: 2rem;
  top: 0;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--color-secondary), var(--color-primary), transparent);
  transform: translateX(-50%);
  z-index: 0;
}

.sched-item {
  display: grid;
  grid-template-columns: 4rem 1fr;
  gap: 1.5rem;
  margin-bottom: 1.8rem;
  align-items: center;
  position: relative;
  z-index: 1;
}

.sched-time {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: var(--bg);
  border: 2px solid var(--color-secondary);
  font-family: var(--font-heading);
  font-size: .8rem;
  font-weight: 700;
  color: var(--color-secondary);
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
}

    /* ---- ORGS ---- */
    .orgs-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: start;
  justify-items: center;
  gap: 2rem;
  margin-top: 3rem;
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
}


    .org-card {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 1.2rem;
    }

    .org-link {
      display: block;
      text-decoration: none;
    }

    .org-name-link {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .org-name-text {
      font-family: var(--font-heading);
      font-weight: 700;
      font-size: 2rem;
      line-height: 1.1;
      text-align: center;
      background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      transition: opacity .2s;
      text-transform: uppercase;
      letter-spacing: .04em;
    }

    .org-name-text1 {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.1;
  text-align: center;
  color: #1A45D4;
  transition: opacity .2s;
  letter-spacing: .04em;
}
    .org-name-link:hover .org-name-text {
      opacity: .7;
    }

    .org-sep {
      font-family: var(--font-heading);
      font-weight: 700;
      font-size: 2.5rem;
      color: var(--text-dim);
      align-self: center;
    }

    .org-desc {
      font-size: .85rem;
      color: var(--text-muted);
      line-height: 1.6;
      max-width: 260px;
    }

    @media(max-width:860px) {
      .orgs-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
      }

      .org-sep {
        display: none;
      }
    }

    @media(max-width:600px) {
      .orgs-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
      }

      .org-sep {
        display: none;
      }
    }

    /* ---- REGISTER ---- */
    .register-section {
      text-align: center;
      position: relative;
      overflow: hidden;
      padding: 6rem 2rem;
    }

    .blob-bottom {
      position: absolute;
      width: 600px;
      height: 600px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
      filter: blur(120px);
      opacity: var(--blob-opacity);
      bottom: -200px;
      left: 50%;
      transform: translateX(-50%);
      pointer-events: none;
    }

    .reg-btn-wrap {
      display: flex;
      justify-content: center;
      margin: 2rem auto 0;
    }

    .reg-btn {
      background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-primary) 100%);
      color: #fff;
      font-family: var(--font-heading);
      font-weight: 700;
      font-size: 1.1rem;
      text-transform: uppercase;
      letter-spacing: .08em;
      border: none;
      cursor: pointer;
      padding: 1.1rem 3rem;
      border-radius: .5rem;
      transition: transform .3s, box-shadow .3s;
      box-shadow: 0 6px 30px rgba(71, 55, 187, .3);
      text-decoration: none;
      display: inline-block;
    }

    .reg-btn:hover {
      transform: translateY(-3px);
      box-shadow: 0 10px 40px rgba(234, 79, 51, .45);
    }

    .reg-note {
      margin-top: 1.5rem;
      font-size: .85rem;
      color: var(--text-muted);
      text-align: center;
    }

    /* ---- FOOTER ---- */
    footer {
      border-top: 1px solid var(--border);
      padding: 2rem 3rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 1rem;
      font-size: .8rem;
      color: var(--footer-color);
      font-weight: 300;
    }

    .footer-left {
      line-height: 1.6;
    }

    .footer-left strong {
      color: var(--color-text-dark);
      font-weight: 500;
    }

    .footer-right {
      display: flex;
      align-items: center;
      gap: .8rem;
      flex-wrap: wrap;
    }

    .footer-org-link {
      font-family: var(--font-heading);
      font-weight: 700;
      font-size: .9rem;
      color: var(--text-muted);
      text-decoration: none;
      transition: color .2s;
      text-transform: uppercase;
      letter-spacing: .05em;
    }

    .footer-org-link:hover {
      color: var(--color-primary);
    }

    .footer-sep {
      color: var(--text-dim);
    }

    /* ---- REVEAL ---- */
    .reveal {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .65s ease, transform .65s ease;
    }

    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    .reveal-stagger>* {
      opacity: 0;
      transform: translateY(20px);
      transition: opacity .5s ease, transform .5s ease;
    }

    .reveal-stagger.visible>*:nth-child(1) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: 0s;
    }

    .reveal-stagger.visible>*:nth-child(2) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: .1s;
    }

    .reveal-stagger.visible>*:nth-child(3) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: .2s;
    }

    .reveal-stagger.visible>*:nth-child(4) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: .3s;
    }

    .reveal-stagger.visible>*:nth-child(5) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: .4s;
    }

    .reveal-stagger.visible>*:nth-child(6) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: .5s;
    }

    .reveal-stagger.visible>*:nth-child(7) {
      opacity: 1;
      transform: translateY(0);
      transition-delay: .6s;
    }

    /* ---- A11Y WIDGET ---- */
    #a11y-widget {
      position: fixed;
      bottom: 1.5rem;
      right: 1.5rem;
      z-index: 999;
      font-family: var(--font-primary);
    }

    #a11y-toggle {
      width: 3rem;
      height: 3rem;
      border-radius: .5rem;
      background: linear-gradient(135deg, var(--color-secondary), var(--color-primary));
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      box-shadow: 0 4px 20px rgba(71, 55, 187, .35);
      transition: transform .3s, box-shadow .3s;
    }

    #a11y-toggle:hover {
      transform: scale(1.08);
      box-shadow: 0 6px 28px rgba(234, 79, 51, .5);
    }

    #a11y-panel {
      position: absolute;
      bottom: 3.8rem;
      right: 0;
      width: 260px;
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: .8rem;
      padding: 1.2rem;
      box-shadow: var(--shadow-soft);
      animation: fadeUp .25s ease both;
    }

    #a11y-panel[hidden] {
      display: none;
    }

    #a11y-panel h3 {
      font-family: var(--font-heading);
      font-size: 1rem;
      font-weight: 700;
      color: var(--color-text-dark);
      text-transform: uppercase;
      letter-spacing: .05em;
      margin-bottom: 1rem;
      padding-bottom: .6rem;
      border-bottom: 1px solid var(--border);
    }

    .a11y-group {
      margin-bottom: 1rem;
    }

    .a11y-group-label {
      font-size: .7rem;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--text-muted);
      font-weight: 500;
      margin-bottom: .5rem;
    }

    .a11y-row {
      display: flex;
      gap: .4rem;
    }

    .a11y-btn {
      flex: 1;
      padding: .4rem .2rem;
      border: 1px solid var(--border);
      border-radius: .4rem;
      background: var(--pill-bg);
      color: var(--text-secondary);
      font-family: var(--font-heading);
      font-size: .8rem;
      font-weight: 700;
      cursor: pointer;
      transition: background .2s, border-color .2s, color .2s;
    }

    .a11y-btn:hover,
    .a11y-btn--active {
      background: var(--tag-bg);
      border-color: var(--color-accent);
      color: var(--color-accent);
    }

    .a11y-wide {
      flex: unset;
      padding: .4rem .8rem;
    }

    .a11y-toggles {
      display: flex;
      flex-direction: column;
      gap: .6rem;
    }

    .a11y-switch {
      display: flex;
      align-items: center;
      gap: .7rem;
      font-size: .85rem;
      color: var(--text-secondary);
      cursor: pointer;
    }

    .a11y-switch input {
      display: none;
    }

    .a11y-slider {
      width: 2.2rem;
      height: 1.2rem;
      border-radius: 999px;
      background: var(--pill-border);
      flex-shrink: 0;
      position: relative;
      transition: background .25s;
    }

    .a11y-slider::after {
      content: "";
      position: absolute;
      top: 2px;
      left: 2px;
      width: calc(1.2rem - 4px);
      height: calc(1.2rem - 4px);
      border-radius: 50%;
      background: #fff;
      transition: transform .25s;
      box-shadow: 0 1px 4px rgba(0, 0, 0, .2);
    }

    .a11y-switch input:checked+.a11y-slider {
      background: var(--color-secondary);
    }

    .a11y-switch input:checked+.a11y-slider::after {
      transform: translateX(1rem);
    }

    .a11y-reset {
      width: 100%;
      margin-top: .8rem;
      padding: .5rem;
      border: 1px solid var(--border);
      border-radius: .4rem;
      background: none;
      color: var(--text-muted);
      font-size: .75rem;
      cursor: pointer;
      transition: color .2s, border-color .2s;
    }

    .a11y-reset:hover {
      color: var(--color-primary);
      border-color: var(--color-primary);
    }

    body.a11y-font-sm {
      font-size: 14px;
    }

    body.a11y-font-lg {
      font-size: 18px;
    }

    body.a11y-font-xl {
      font-size: 21px;
    }

    body.a11y-high-contrast {
      --text-primary: #000;
      --text-secondary: #111;
      --text-muted: #333;
      --bg: #fff;
      --surface: #fff;
      --border: rgba(0, 0, 0, .4);
    }

    body.a11y-dyslexia {
      font-family: Arial, sans-serif;
      letter-spacing: .05em;
      word-spacing: .15em;
      line-height: 1.9;
    }

    body.a11y-no-motion * {
      animation: none !important;
      transition: none !important;
    }

    body.a11y-links a {
      text-decoration: underline !important;
      text-underline-offset: 3px;
    }

    body.a11y-cursor,
    body.a11y-cursor * {
      cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='8' cy='8' r='7' fill='%234737bb' stroke='white' stroke-width='2'/%3E%3C/svg%3E") 8 8, auto !important;
    }

    /* ---- UTILITIES ---- */
    .section-label--center {
      display: block;
      text-align: center;
    }

    .section-title--center {
      text-align: center;
      margin: 0 auto;
    }

    .section-desc--center {
      text-align: center;
      margin: 1rem auto 2.5rem;
    }

    .container--relative {
      position: relative;
      z-index: 1;
    }

    .speaker-bio--placeholder {
      opacity: .45;
      font-style: italic;
    }

    .speaker-tag--placeholder {
      opacity: .4;
    }

    @media(max-width:860px) {
      .speakers-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .speakers-grid .speaker-card:nth-child(1),
      .speakers-grid .speaker-card:nth-child(2),
      .speakers-grid .speaker-card:nth-child(3),
      .speakers-grid .speaker-card:nth-child(4),
      .speakers-grid .speaker-card:nth-child(5) {
        grid-column: auto;
      }

      .speaker-card {
        grid-template-columns: 7.5rem 1fr;
        gap: 1.5rem;
      }
    }

    @media(max-width:680px) {
      .speakers-grid {
        grid-template-columns: 1fr;
      }

      .speaker-card {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
      }

      footer {
        flex-direction: column;
        align-items: flex-start;
        padding: 1.5rem 1.2rem;
      }

      
    }